diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-01-12 23:57:10 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-01-12 23:57:10 +0000 |
commit | 80c2aefbe7c1aa363dd286a47d50c5d8b4595f43 (patch) | |
tree | cc17f774213266d9e6f04ba050afde3e24e2ca3c /source/smbd | |
parent | 398b4ff0d40d89b3e96d481807f85f15b7a7966a (diff) | |
download | samba-80c2aefbe7c1aa363dd286a47d50c5d8b4595f43.tar.gz samba-80c2aefbe7c1aa363dd286a47d50c5d8b4595f43.tar.xz samba-80c2aefbe7c1aa363dd286a47d50c5d8b4595f43.zip |
Many thanks to Alexander Bokovoy <a.bokovoy@sam-solutions.net>.
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
Diffstat (limited to 'source/smbd')
-rw-r--r-- | source/smbd/server.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/smbd/server.c b/source/smbd/server.c index 2f831cdd97a..b8e9c2beae1 100644 --- a/source/smbd/server.c +++ b/source/smbd/server.c @@ -884,6 +884,7 @@ static void usage(char *pname) smbd_process(); + uni_group_cache_shutdown(); exit_server("normal exit"); return(0); } |