summaryrefslogtreecommitdiffstats
path: root/source3/nsswitch/winbindd.c
Commit message (Collapse)AuthorAgeFilesLines
* Some winbindd cleanups I made trying to fix cr1020:Tim Potter2002-11-021-38/+22
| | | | | | | | | | | | | - move winbindd client handling into accessor functions in winbindd_util.c - move some winbindd socket routines into accessor functions in winbindd_utils.c (The deadlock situation mentioned in the appliance branch is probably not applicable since we don't clear the connection cache on SIGHUP. Perhaps we should?) (This used to be commit 846b5494942c73e68616e7eae0d2fd5ae4b2bc05)
* - we need to rescan the trusted domain list regularly to cope withAndrew Tridgell2002-10-151-0/+4
| | | | | | | transitive trusts, and trusts that are added while winbindd is running - removed an unnecessary call to time() (This used to be commit 14489ff30bb9eca2c55d36a69c0b45a2db339061)
* Change to use sys_read/sys_write.Jeremy Allison2002-10-151-10/+4
| | | | | Jeremy. (This used to be commit 042890056d5d4128eaaca346e7898ccda860dbe2)
* Reverted my earlier change. It was incorrect. We must be protected byJeremy Allison2002-09-171-5/+4
| | | | | | pidfile before doing secrets_init(). Jeremy. (This used to be commit f8a0e6ad8b25d405ff2bcb492974d2f0bef81036)
* Only create the pidfile once we're ready to receive requests.Jeremy Allison2002-09-171-3/+5
| | | | | | This allows external programs to correctly synchronise with us. Jeremy. (This used to be commit ffb7632d05191342ecfc5f78fbfd7beacfe257ad)
* Put pid number in invalid request size debug.Tim Potter2002-09-111-2/+2
| | | | (This used to be commit e63afabf98350353fac79ffc2ae2ddf88d61260f)
* Fix typo in debug.Tim Potter2002-08-271-1/+1
| | | | (This used to be commit 86433a3492a3b70a051257940ae28ada8788a650)
* Merge of netbios namecache code from APPLIANCE_HEAD.Tim Potter2002-08-161-0/+2
| | | | | | | | Tridge suggested a generic caching mechanism for Samba to avoid the proliferation of little cache files hanging around limpet like in the locks directory. Someone should probably implement this at some stage. (This used to be commit dad31483b3bd1790356ef1e40ac62624a403bce8)
* Winbind updates!Andrew Bartlett2002-07-311-0/+3
| | | | | | | | | | | | | | | | | This updates the 'winbind' authentication module and winbind's 'PAM' (actually netlogon) code to allow smbd to cache connections to the DC. This is particulary relevent when we need mutex locks already - there is no parallelism to be gained anyway. The winbind code authenticates the user, and if successful, passes back the 'info3' struct describing the user. smbd then interprets that in exactly the same way as an 'ntdomain' logon. Also, add parinoia to winbind about null termination. Andrew Bartlett (This used to be commit 167f122b670d4ef67d78e6f79a2bae3f6e8d67df)
* Another smattering of static and constAndrew Bartlett2002-07-211-1/+1
| | | | (This used to be commit 897cc4a610932e596f8a9807213166e380ef0203)
* this is a trick to work around the fact that posix does not supplyAndrew Tridgell2002-07-141-0/+1
| | | | | | | | | | | a getgr*() function that lists groups without numerating all the group members. Instead of definiing a new nss method (which might cause problems) I added an environment variable WINBIND_GETGRLST that tells winbind not to fill in the group members in a gergrent() request. This can speed up group listing by a factor of 20 or more (on my test system with 50000 groups it reduces the time from an hour to 2 minutes) (This used to be commit e3f73256d31ab9914daae49f41e984a534996870)
* Merge pidfile fix.Jeremy Allison2002-06-071-3/+3
| | | | | Jeremy. (This used to be commit 2c1e78702423ba17993975eb7f158058cc7f229f)
* Merge of secrets_init() paranoia fix from 2.2Tim Potter2002-05-131-1/+6
| | | | (This used to be commit 1c3c0d7cb64caa6be7ee6d786fe400a1d6944a72)
* main() needs to be indented to make sure it doesn't generate aAndrew Tridgell2002-04-241-1/+1
| | | | | prototype (This used to be commit fdfde9b84cf825d84316344fea5af43a9b8ebcc9)
* a new "dual daemon" operating mode for winbinddAndrew Tridgell2002-04-241-47/+88
| | | | | | | | | | this mode improves the response time of winbindd by having a background process update the cache while the forground process responds to queries from cache. You can enable this mode using the -B command line option. It is quite experimental, which is why it is not the default. (This used to be commit c0feff97eefdf5a70e5973e247b395dbdf5d2ef2)
* Tidy up winbindd debug. Added Bill Moran's hide unreadable fix.Jeremy Allison2002-04-131-4/+3
| | | | | Jeremy. (This used to be commit a9895fcb30cdcb572cd254b0d370d79f95c7214d)
* Fix up conversion code from old winbindd versions (some testing needed).Jeremy Allison2002-04-041-0/+4
| | | | | | | Added time based cache size check (#ifdef'ed out by default, just didn't want to lose the code). Jeremy. (This used to be commit b2350ed36c42827c417ea4a3dd0668a4a631a090)
* merge winbindd WINS changes from 2.2Herb Lewis2002-03-291-0/+5
| | | | (This used to be commit 205399dc17e464360b0152538329b9e111b0e7f4)
* Unblock sigusr1 on startup.Tim Potter2002-03-261-0/+1
| | | | (This used to be commit f1cb5ff6c41cabc02da84d56c1a6d95fa434d484)
* Added code for smb messaging. winbindd now responds to the smbcontrolTim Potter2002-03-261-2/+15
| | | | | ping, debug and pool-usage messages. (This used to be commit 144f0481c8b05956bdc96461a82d530fa85e3c72)
* added a -h usage option to winbinddAndrew Tridgell2002-03-151-1/+16
| | | | (This used to be commit d6a4a10f58accd6ad158ba60eb1508f00c9a4dd3)
* Now we have reliable signals take SIGTERM inband.Jeremy Allison2002-03-141-5/+4
| | | | | Jeremy. (This used to be commit cad82926a8baf7605cef81f0e0d4daa8e527e6ee)
* fixed a memory leak thanks to dleducq@arkoon.netAndrew Tridgell2002-02-181-0/+1
| | | | (This used to be commit e84c7400175c86c4c79922182115ea1f0948186c)
* Fix from Michael Steffens <michael_steffens@hp.com> to make signalJeremy Allison2002-01-311-1/+4
| | | | | | | processing work correctly in winbindd. This is a really good patch that gives full select semantics to the Samba modified select. Jeremy. (This used to be commit 3af16ade173cac24c1ac5eff4a36b439f16ac036)
* added 'wbinfo --sequence' to show sequence numbers of all domainsAndrew Tridgell2002-01-311-0/+1
| | | | (This used to be commit bcd234a3dad2cd3d1c57780f4a7a3833ea611764)
* Removed version number from file header.Tim Potter2002-01-301-2/+1
| | | | | Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
* Change the winbind interface to use seperate 'domain' and 'username' feilds forAndrew Bartlett2002-01-261-0/+1
| | | | | | | | | | the sid->uid and uid->sid conversions. Remove some duplicate arguments from these funcitons, and update the request/response structures for this and the 'winbind domain name' feature. As such 'winbindd_lookup_name' now takes both a domain and username. (This used to be commit ce1b4d4c309e4a60bec5a53224585bd504264672)
* Call pidfile_create() as part of init sequence.Tim Potter2002-01-221-0/+3
| | | | (This used to be commit fa05a7de6d2311293242825dc98596d8e42c6249)
* Fix to close winbindd_idmap on exit. Pointed out by Alexander Bokovoy.Jeremy Allison2002-01-191-0/+2
| | | | | Jeremy. (This used to be commit 1bd96b3094b530c3426b22b6f891c7fc055e7033)
* I'm doing some things towards the NamedPipes game with lckl and he has asked meAndrew Bartlett2002-01-131-86/+2
| | | | | | | | | | | to move this from being a static to matching its mate in lib/util_sock.c. In any case, this should discorage anybody from using the 'wrong' version of this function. (ie the one from TNG, which needs a bit more error checking depending on use). Andrew Bartlett (This used to be commit e6a3a01f795a85d908180ff19469ce09a2803512)
* Many thanks to Alexander Bokovoy <a.bokovoy@sam-solutions.net>.Andrew Bartlett2002-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This work was sponsored by Optifacio Software Services, Inc. Andrew Bartlett (various e-mails announcements merged into some form of commit message below:) This patch which adds basics of universal groups support into Samba 3. Currently, only Winbind with RPC calls supports this, ADS support requires additional (possibly huge) work on KRB5 PAC. However, basic infrastructure is here. This patch adds: 1. Storing of universal groups for particular user logged into Samba software (smbd/ two winbind-pam methods) into netlogon_unigrp.tdb as array of uint32 supplemental group rids keyed as DOMAIN_SID/USER_RID in tdb. 2. Fetching of unversal groups for given user rid and domain sid from netlogon_unigrp.tdb. Since this is used in both smbd and winbindd, main code is in source/lib/netlogon_uingrp.c. Dependencies are added to AUTH_OBJ as UNIGRP_OBJ and WINBINDD_OBJ as UNIGRP_OBJ. This patch has had a few versions, the final version in particular: Many thanks to Andrew Bartlett for critics and comments, and partly rewritten code. New: - updated fetching code to changed byte order macros - moved functions to proper namespace - optimized memory usage by reusing caller's memory context - enhanced code to more follow Samba coding rules Todo: - proper universal group expiration after timeout (This used to be commit 80c2aefbe7c1aa363dd286a47d50c5d8b4595f43)
* Always query the PDC for the list of trusted domains rather than interatingTim Potter2002-01-111-3/+3
| | | | | | | | | | | | | | | | | | the list received at startup or we get an out of date list. I thought there might be some sequence number that is incremented when a trusted domain is added or removed - perhaps there is but I just haven't found it yet. - Renamed get_domain_info() to init_domain_list() - Made an accessor function to return the list of trusted domains rather than using a global so we don't have to remember to put a magic init function - The getent state can not keep a pointer to a winbind_domain structure as it may be freed if init_domain_list() is called again so we keep the domain name instead (This used to be commit 37216c649a394b449eaaaa6644709eafb3bf37ff)
* Since AB has been changing the winbind interface it's time to add the "mockTim Potter2002-01-101-16/+11
| | | | | | | | | | | | swedish" test to client calls. This is putting a length field at the start of a request so we can disconnect clients talking with an out of date libnss_winbind.so rather than deadlock them. Misc cleanups: - made some int values uint32 - moved WINBIND_INTERFACE_VERSION to start of cmd list (This used to be commit a4af65b9b93671f13f277d49279a85042a8fd1d5)
* Return the winbind separator over the socket, so programs don't have to parseAndrew Bartlett2002-01-101-0/+2
| | | | | | | | | | | | | | | | | smb.conf to get it right. While wb_client needs its lp_load() for samba dependency reasons, it now uses the new method both to example and test the new code. Also add an interface version function, and return the winbind's samba version string. In preperation for default domains, its now up to winbindd to reject plaintext auths that don't have a seperator, but NTLM (CRAP) auths now have two feilds, hence need parsing. Andrew Bartlett (This used to be commit 2bd2a092ee3d49a74d896385688d7c7256aa297e)
* This changes the winbind protcol a bit:Andrew Bartlett2002-01-101-0/+1
| | | | | | | | | | | | | | | It adds a 'ping' request, just to check winbind is in fact alive It also changes winbindd_pam_auth_crap to take usernames and domain seperatly. (backward incompatible change, needs merge to 2.2, but this is not yet released code, so no workarounds) Finally, it adds some debugs and fixes a few memory leaks (uses talloc to do it). Andrew Bartlett (This used to be commit 6df29bfe335144a968f5367f624ef2b4cf9e69b0)
* A big tidyup while thinking about getting trusted domains being re-readTim Potter2002-01-101-13/+14
| | | | | | | | | | | | | | | | | | | when they are added or removed on the PDC. - renamed GETPWNAM_FROM_{UID,USER} constants and functions to GETPW{NAM,UID} - renamed GETGRNAM_FROM_{GID,GROUP} constants and functions to GETGR{NAM,GID} - use SIGUSR2 in winbindd for debugging/logging instead of SIGUSR1 in preparation for moving to smbcontrol type messages (not sure whether to ditch this altogether or not) - tidy debugging messages in top level winbind user and group routines - convert talloc_init() to talloc_init_named() - make enumerations of the domain list use the same local variable names (This used to be commit eeb8af9c1a66bfcd80823d7b406acbab79857a16)
* When running interactive we want to set our own process group forJeremy Allison2001-12-301-0/+9
| | | | | | signal management. Jeremy. (This used to be commit fffae94dd5699f44c0b1c8081587deafd89b3fc0)
* Append to log.winbindd instead of overwriting it so we are consistent withTim Potter2001-12-211-0/+7
| | | | | smbd/nmbd behaviour. (This used to be commit 54d276561524213302e7bb2d759d7d4082fd6e8a)
* Removed global debugf. Replaced with lp_set_logfile(name).Jeremy Allison2001-12-201-5/+13
| | | | | | Fixed winbindd to finally stop leaving log. file droppings :-). Jeremy. (This used to be commit 0bea6cf79a44f79fa3a4f2c8381e898e79c66509)
* Setup global_myworkgroup. Needed for secrets fetch code.Jeremy Allison2001-12-201-8/+11
| | | | | Jeremy. (This used to be commit 057e91c1c3833516d03b492f3ebe489d8216a0ba)
* completely new winbindd cache infrastructureAndrew Tridgell2001-12-091-11/+10
| | | | | | | | | | | | | | | | | | | | this one looks like just another winbind backend, and has the following properties: - does -ve and +ve cacheing of all queries - can be disabled with -n switch to winbindd - stores all records packed, so even huge domains are not a problem for a complete cache - handles the server being down - uses sequence numbers for all entries This fixes a lot of problems with winbindd. Serving from cache is now *very* fast. (This used to be commit fddb4f4c04473a60a97212c0c8e143d6a4d68380)
* Fixed delete on close bug. Added core dump code to winbindd.Jeremy Allison2001-11-231-1/+58
| | | | | Jeremy. (This used to be commit a58d0f91f9ee7354c01a9c20cfe178d5dc02142d)
* Removed TimeInit() call from every client program (except for one placeTim Potter2001-11-231-2/+0
| | | | | | in smbd/process.c where the timezone is reinitialised. Was replaced with check for a static is_initialised boolean. (This used to be commit 8fc772c9e5770cd3a8857670214dcff033ebae32)
* W2K doesn't seem to respond to *#0 names in node status. Ensure nameJeremy Allison2001-11-211-2/+4
| | | | | | lookup uses password server parameter when looking for PDCs. Jeremy. (This used to be commit 54c968913d6553c6d834b068234ab176917075eb)
* Store some path names in global variables initialized to configureMartin Pool2001-11-191-7/+5
| | | | | default, rather than in preprocessor macros. (This used to be commit 79ec88f0da40faebe1e587f1b3e87b5f2b184f58)
* Tidyup formatting a bit (spaces->tabs) whilst reading new code to understandJeremy Allison2001-11-151-6/+4
| | | | | | connection caching. Getting ready for back-merge to 2.2.3. Jeremy. (This used to be commit 5e8df83ba9924adf9df6827c06ed1a2adbe36edf)
* Jeremy, I'm not sure what you were trying to do with the process activityTim Potter2001-11-151-3/+1
| | | | | loop in winbindd but it didn't work. (This used to be commit 3ac32af83849e93c83cd1bb48dc7d23e47ccac59)
* Bit of a cleanup of signal handling code.Tim Potter2001-11-151-8/+14
| | | | | | | Ignore the SIGUSR1 signal before we install a handler for it as glibc (?) seems to just print out "User defined signal 1" and exit if no handler is installed. (This used to be commit 1212591095dfe65b5e708bee32be5d57b9f33bc8)
* Make signal handling safer (handle EINTR on read/write/accept), don'tJeremy Allison2001-11-141-38/+52
| | | | | | call slprintf within a signal handler. Jeremy. (This used to be commit a9f7974cb8e266ce87d2979fa107bf7ebbb98b70)
* Got ready to implement Martin's idea, but request doesn't have a lengthJeremy Allison2001-11-141-5/+19
| | | | | | field.... well, now at least the code is there when it does :-). Jeremy. (This used to be commit 22e323ca47325482b6ae527070509ed9c6cbccee)