summaryrefslogtreecommitdiffstats
path: root/server
Commit message (Expand)AuthorAgeFilesLines
...
* Fix initialization problemsJakub Hrozek2009-03-084-11/+12
* sss_groupdel, delete by DN in sss_userdelJakub Hrozek2009-03-074-74/+181
* Fix race condition with initial sysdb creationStephen Gallagher2009-03-071-0/+14
* sss_groupaddJakub Hrozek2009-03-063-1/+176
* Implement DeleteGroup in InfoPipeStephen Gallagher2009-03-062-2/+149
* Implement CreateGroup in InfoPipeStephen Gallagher2009-03-062-4/+193
* Specfile changes related to package review, package initscript Call ldconfigJakub Hrozek2009-03-064-0/+126
* sss_userdelJakub Hrozek2009-03-063-2/+235
* Implement DeleteUser in the InfoPipeStephen Gallagher2009-03-061-2/+166
* Add sbus_reply_internal_error() feature to sbus_message_handler()Stephen Gallagher2009-03-061-2/+14
* Add infp_req_init() function to simplify method setupStephen Gallagher2009-03-063-64/+43
* Implement CreateUser in InfoPipeStephen Gallagher2009-03-065-9/+223
* Remove obsolete commentSimo Sorce2009-03-061-3/+0
* Add userspace tools to manipulate accounts.Simo Sorce2009-03-066-1/+654
* added PAM default configuration to confdb_init_dbSumit Bose2009-03-062-7/+36
* Fix reporting non-default users.Simo Sorce2009-03-063-301/+318
* minor fixes for the build processSumit Bose2009-03-063-1/+10
* Remove _PW_ and _GR_ from SYSDB_ definesSimo Sorce2009-03-058-82/+78
* Implement GetCachedUsers in the InfoPipeStephen Gallagher2009-03-054-10/+205
* Add functions to add regular users and groupsSimo Sorce2009-03-053-27/+445
* Adding support for SetUserUID to the InfoPipeStephen Gallagher2009-03-054-7/+159
* added password reset by rootSumit Bose2009-03-051-0/+5
* added a privileged pipeSumit Bose2009-03-056-8/+137
* Add internal min/max/next id management fucntionsSimo Sorce2009-03-045-15/+336
* Add enumeration backout period.Simo Sorce2009-03-043-2/+39
* Implement SetUserAttributes in the InfoPipeStephen Gallagher2009-03-047-17/+573
* Simplify some aspects of pam_LOCAL_domainSimo Sorce2009-03-043-138/+87
* Improve sysdbSimo Sorce2009-03-044-33/+87
* Fixing memory leak in GetUserAttributesStephen Gallagher2009-03-041-1/+2
* replaced pure ldb calls with sysdb callsSumit Bose2009-03-033-120/+309
* Provide sysdb_set_user_attr() functions.Simo Sorce2009-03-035-4/+157
* Unify pwd_search and user_searchSimo Sorce2009-03-021-35/+11
* Do not steal memory in btreemaps.Simo Sorce2009-03-022-43/+24
* Support byte arrays in InfoPipe GetUserAttributesStephen Gallagher2009-03-021-27/+80
* Make tests configurableJakub Hrozek2009-03-023-3/+25
* Implement GetUserAttributes in the InfoPipeStephen Gallagher2009-03-0213-58/+911
* Create and own /var/lib/sss, memberof.so packagingJakub Hrozek2009-03-021-5/+14
* first version of LOCAL pam backendSumit Bose2009-03-0211-6/+789
* Adapt test to changes to the interface.Simo Sorce2009-02-281-169/+326
* Expose some more functions needed by the testsSimo Sorce2009-02-283-1/+114
* Convert sync calls in sysdb to async, transaction dependent, calls.Simo Sorce2009-02-289-1313/+1652
* Fix confdb issues.Simo Sorce2009-02-285-110/+67
* Refactor creation of domain_map into confdbStephen Gallagher2009-02-279-200/+211
* Serialize access to sysdb and also exposes ldb transactions.Simo Sorce2009-02-269-780/+1063
* Stop building replace.o until we decide if we use it again.Simo Sorce2009-02-261-1/+1
* Rebase the code to use talloc, tdb, tevent, ldb as externalSimo Sorce2009-02-2645-323/+213
* Adding InfoPipe entry to config.ldif exampleStephen Gallagher2009-02-252-1/+7
* added more ldap backend options and an example configurationSumit Bose2009-02-252-68/+107
* Simplify the code to retrieve the introspection file.Simo Sorce2009-02-251-31/+50
* Store the InfoPipe introspection XML for subsequent requests.Stephen Gallagher2009-02-252-13/+18
l opt">::module_blobif, "InlineTile", "InlineTile(" << id <<")"); objecttype = OId::INLINETILEOID; } InlineTile::InlineTile(const OId& id, char*& thecells) : BLOBTile(r_Array) { RMDBGENTER(5, RMDebug::module_blobif, "InlineTile", "InlineTile(" << id << ", cells " << (r_Ptr)thecells << ")"); objecttype = OId::INLINETILEOID; myIndexOId = id; //restore the size of the blob memcpy(&size, thecells, sizeof(r_Bytes)); thecells = thecells + sizeof(r_Bytes); //restore the dataformat memcpy(&dataFormat, thecells, sizeof(r_Data_Format)); thecells = thecells + sizeof(r_Data_Format); //restore my own oid memcpy(&myOId, thecells, sizeof(OId)); thecells = thecells + sizeof(OId); //restore the cells cells = (char*)mymalloc(size * sizeof(char)); memcpy(cells, thecells, size); thecells = thecells + size; RMDBGMIDDLE(5, RMDebug::module_blobif, "InlineTile", "OId " << myOId << " size " << size << " DataFormat " << dataFormat); DBObject::readFromDb(); _isInDatabase = false; ObjectBroker::registerDBObject(this); RMDBGEXIT(5, RMDebug::module_blobif, "InlineTile", "InlineTile(" << id << ", cells " << (r_Ptr)thecells << ") " << myOId); } void InlineTile::printStatus(unsigned int level, std::ostream& stream) const { char* indent = new char[level*2 +1]; for (unsigned int j = 0; j < level*2 ; j++) indent[j] = ' '; indent[level*2] = '\0'; stream << indent << "InlineTile "; if (isInlined()) stream << "is Inlined at " << myIndexOId << endl; else stream << "is not Inlined " << endl; BLOBTile::printStatus(level + 1, stream); delete[] indent; } void InlineTile::destroy() { if (isCached()) return; else DBObject::destroy(); } bool InlineTile::isCached() const { char retval = true; //not previously cached if (!_isCached) if (!isInlined()) {//outlined if (getSize() > StorageLayout::DefaultMinimalTileSize)//size is ok retval = false; } else {//inlined if (getSize() < StorageLayout::DefaultPCTMax)//size is ok retval = false; } return retval; } void InlineTile::setModified() throw(r_Error) { RMDBGENTER(4, RMDebug::module_blobif, "InlineTile", "setModified() " << myOId); DBObject::setModified(); if (isInlined()) { RMDBGMIDDLE(4, RMDebug::module_blobif, "InlineTile", " index will be modified"); DBTCIndexId t(myIndexOId); t->setInlineTileHasChanged(); } else { RMDBGMIDDLE(4, RMDebug::module_blobif, "InlineTile", "index will not be modified"); } RMDBGEXIT(4, RMDebug::module_blobif, "InlineTile", "setModified() " << myOId); } const OId& InlineTile::getIndexOId() const { return myIndexOId; } void InlineTile::setIndexOId(const OId& oid) { myIndexOId = oid; } r_Bytes InlineTile::getStorageSize() const { return size + sizeof(r_Bytes) + sizeof(r_Data_Format) + sizeof(OId); } void InlineTile::outlineTile() { DBTCIndexId t(myIndexOId); t->removeInlineTile(this); setIndexOId(OId(0, OId::INVALID)); _isInDatabase = false; _isModified = true; } void InlineTile::inlineTile(const OId& ixId) { setIndexOId(ixId); DBTCIndexId t(myIndexOId); t->addInlineTile(this); if (_isInDatabase) { bool pers = _isPersistent; bool modi = _isModified; BLOBTile::deleteFromDb(); _isPersistent = pers; _isModified = modi; } } bool InlineTile::isInlined() const { return (myIndexOId.getType() == OId::DBTCINDEXOID); } char* InlineTile::insertInMemBlock(char* thecontents) { RMDBGENTER(5, RMDebug::module_blobif, "InlineTile", "insertInMemBlock(" << (void*)thecontents << ")"); //store size of blob memcpy(thecontents, &size, sizeof(r_Bytes)); thecontents = thecontents + sizeof(r_Bytes); //store the dataformat memcpy(thecontents, &dataFormat, sizeof(r_Data_Format)); thecontents = thecontents + sizeof(r_Data_Format); //store my own oid memcpy(thecontents, &myOId, sizeof(OId)); thecontents = thecontents + sizeof(OId); //store the blob memcpy(thecontents, cells, size * sizeof(char)); thecontents = thecontents + size * sizeof(char); RMDBGMIDDLE(5, RMDebug::module_blobif, "InlineTile", "OId " << myOId << " size " << size << " DataFormat " << dataFormat); RMDBGIF(20, RMDebug::module_blobif, "InlineTile", for (int i = 0; i < size; i++) RMInit::dbgOut << (unsigned int)(cells[i]) << " "; RMInit::dbgOut << endl;) DBObject::updateInDb(); RMDBGEXIT(5, RMDebug::module_blobif, "InlineTile", "insertInMemBlock(" << (void*)thecontents << ")"); return thecontents; } InlineTile::~InlineTile() { }