diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-09 23:59:42 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-09 23:59:42 +0000 |
commit | 31842f5d017f01922cec306f7bfa2fa0fe748ca2 (patch) | |
tree | 3a17ecc634f1079f60fcb81d05d3672d65b84aa0 /source3/nsswitch/winbindd.h | |
parent | e3d171ff55c7afec6687616a3808637f2d4cf456 (diff) | |
download | samba-31842f5d017f01922cec306f7bfa2fa0fe748ca2.tar.gz samba-31842f5d017f01922cec306f7bfa2fa0fe748ca2.tar.bz2 samba-31842f5d017f01922cec306f7bfa2fa0fe748ca2.zip |
completely new winbindd cache infrastructure
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)
Diffstat (limited to 'source3/nsswitch/winbindd.h')
-rw-r--r-- | source3/nsswitch/winbindd.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd.h b/source3/nsswitch/winbindd.h index 21dca93af5..a4c0dd970d 100644 --- a/source3/nsswitch/winbindd.h +++ b/source3/nsswitch/winbindd.h @@ -136,7 +136,7 @@ struct winbindd_methods { uint32 **name_types); /* return the current global sequence number */ - uint32 (*sequence_number)(struct winbindd_domain *domain); + NTSTATUS (*sequence_number)(struct winbindd_domain *domain, uint32 *seq); }; /* Structures to hold per domain information */ @@ -147,6 +147,8 @@ struct winbindd_domain { this domain (LDAP or RPC) */ void *private; /* private data for the backends (used for connection cache) */ + time_t last_seq_check; + uint32 sequence_number; struct winbindd_domain *prev, *next; /* Linked list info */ }; |