svn commit: samba r18199 - in branches/SAMBA_3_0/source: libsmb
nsswitch
jra at samba.org
jra at samba.org
Thu Sep 7 03:44:05 GMT 2006
Author: jra
Date: 2006-09-07 03:44:05 +0000 (Thu, 07 Sep 2006)
New Revision: 18199
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18199
Log:
Allow winbindd to delete a saf_ entry if it knows
it can't talk to it.
Jeremy.
Modified:
branches/SAMBA_3_0/source/libsmb/namequery.c
branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/namequery.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/namequery.c 2006-09-07 03:24:08 UTC (rev 18198)
+++ branches/SAMBA_3_0/source/libsmb/namequery.c 2006-09-07 03:44:05 UTC (rev 18199)
@@ -77,6 +77,30 @@
return ret;
}
+BOOL saf_delete( const char *domain, const char *servername )
+{
+ char *key;
+ BOOL ret = False;
+
+ if ( !domain || !servername ) {
+ DEBUG(2,("saf_delete: Refusing to store empty domain or servername!\n"));
+ return False;
+ }
+
+ if ( !gencache_init() )
+ return False;
+
+ key = saf_key(domain);
+ ret = gencache_del(key);
+
+ if (ret) {
+ DEBUG(10,("saf_delete: domain = [%s], server = [%s]\n",
+ domain, servername));
+ }
+ SAFE_FREE( key );
+ return ret;
+}
+
/****************************************************************************
****************************************************************************/
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c 2006-09-07 03:24:08 UTC (rev 18198)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c 2006-09-07 03:44:05 UTC (rev 18199)
@@ -167,8 +167,12 @@
NTSTATUS result)
{
add_failed_connection_entry(domain->name, server, result);
+ /* If this was the saf name for the last thing we talked to,
+ remove it. */
+ saf_delete(domain->name, server);
if (*domain->alt_name) {
add_failed_connection_entry(domain->alt_name, server, result);
+ saf_delete(domain->alt_name, server);
}
}
More information about the samba-cvs
mailing list