diff options
author | Jeremy Allison <jra@samba.org> | 2002-01-19 20:21:29 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-01-19 20:21:29 +0000 |
commit | 1bd96b3094b530c3426b22b6f891c7fc055e7033 (patch) | |
tree | 95cc123861d52c717bd20e40e0b0340fb3b44338 /source/nsswitch | |
parent | 6b123adda901ff05b0271eeda060297448f64eec (diff) | |
download | samba-1bd96b3094b530c3426b22b6f891c7fc055e7033.tar.gz samba-1bd96b3094b530c3426b22b6f891c7fc055e7033.tar.xz samba-1bd96b3094b530c3426b22b6f891c7fc055e7033.zip |
Fix to close winbindd_idmap on exit. Pointed out by Alexander Bokovoy.
Jeremy.
Diffstat (limited to 'source/nsswitch')
-rw-r--r-- | source/nsswitch/winbindd.c | 2 | ||||
-rw-r--r-- | source/nsswitch/winbindd_idmap.c | 7 | ||||
-rw-r--r-- | source/nsswitch/winbindd_proto.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c index 25b69cee6d8..ee373c7101f 100644 --- a/source/nsswitch/winbindd.c +++ b/source/nsswitch/winbindd.c @@ -154,6 +154,8 @@ static void flush_caches(void) static void terminate(void) { pstring path; + + winbindd_idmap_close(); /* Remove socket file */ snprintf(path, sizeof(path), "%s/%s", diff --git a/source/nsswitch/winbindd_idmap.c b/source/nsswitch/winbindd_idmap.c index a96111a6084..06d442c5655 100644 --- a/source/nsswitch/winbindd_idmap.c +++ b/source/nsswitch/winbindd_idmap.c @@ -240,6 +240,13 @@ BOOL winbindd_idmap_init(void) return True; } +BOOL winbindd_idmap_close(void) +{ + if (idmap_tdb) + return (tdb_close(idmap_tdb) == 0); + return True; +} + /* Dump status information to log file. Display different stuff based on the debug level: diff --git a/source/nsswitch/winbindd_proto.h b/source/nsswitch/winbindd_proto.h index 565c08f549c..cc936642edc 100644 --- a/source/nsswitch/winbindd_proto.h +++ b/source/nsswitch/winbindd_proto.h @@ -61,6 +61,7 @@ BOOL winbindd_idmap_get_rid_from_uid(uid_t uid, uint32 *user_rid, BOOL winbindd_idmap_get_rid_from_gid(gid_t gid, uint32 *group_rid, struct winbindd_domain **domain); BOOL winbindd_idmap_init(void); +BOOL winbindd_idmap_close(void); void winbindd_idmap_status(void); /* The following definitions come from nsswitch/winbindd_misc.c */ |