svn commit: samba r22724 - in branches: SAMBA_3_0/source/nsswitch
SAMBA_3_0_26/source/nsswitch
jerry at samba.org
jerry at samba.org
Sun May 6 21:31:20 GMT 2007
Author: jerry
Date: 2007-05-06 21:31:19 +0000 (Sun, 06 May 2007)
New Revision: 22724
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22724
Log:
Call an nss_info backend's init() function if the
previous call was unsuccessful. needed for offline
logons.
Modified:
branches/SAMBA_3_0/source/nsswitch/nss_info.c
branches/SAMBA_3_0_26/source/nsswitch/nss_info.c
Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/nss_info.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/nss_info.c 2007-05-06 21:28:03 UTC (rev 22723)
+++ branches/SAMBA_3_0/source/nsswitch/nss_info.c 2007-05-06 21:31:19 UTC (rev 22724)
@@ -190,10 +190,11 @@
nss_domain->backend = nss_backend;
nss_domain->domain = talloc_strdup( nss_domain, domain );
- status = nss_domain->backend->methods->init( nss_domain );
- if ( NT_STATUS_IS_OK( status ) ) {
+ /* Try to init and ave the result */
+
+ nss_domain->init_status = nss_domain->backend->methods->init( nss_domain );
DLIST_ADD( nss_domain_list, nss_domain );
- } else {
+ if ( !NT_STATUS_IS_OK(nss_domain->init_status) ) {
DEBUG(0,("nss_init: Failed to init backend for %s domain!\n",
nss_domain->domain));
}
@@ -248,6 +249,10 @@
p = nss_domain_list;
}
+ if ( !NT_STATUS_IS_OK( p->init_status ) ) {
+ p->init_status = p->backend->methods->init( p );
+ }
+
return p;
}
Modified: branches/SAMBA_3_0_26/source/nsswitch/nss_info.c
===================================================================
--- branches/SAMBA_3_0_26/source/nsswitch/nss_info.c 2007-05-06 21:28:03 UTC (rev 22723)
+++ branches/SAMBA_3_0_26/source/nsswitch/nss_info.c 2007-05-06 21:31:19 UTC (rev 22724)
@@ -190,10 +190,11 @@
nss_domain->backend = nss_backend;
nss_domain->domain = talloc_strdup( nss_domain, domain );
- status = nss_domain->backend->methods->init( nss_domain );
- if ( NT_STATUS_IS_OK( status ) ) {
+ /* Try to init and ave the result */
+
+ nss_domain->init_status = nss_domain->backend->methods->init( nss_domain );
DLIST_ADD( nss_domain_list, nss_domain );
- } else {
+ if ( !NT_STATUS_IS_OK(nss_domain->init_status) ) {
DEBUG(0,("nss_init: Failed to init backend for %s domain!\n",
nss_domain->domain));
}
@@ -248,6 +249,10 @@
p = nss_domain_list;
}
+ if ( !NT_STATUS_IS_OK( p->init_status ) ) {
+ p->init_status = p->backend->methods->init( p );
+ }
+
return p;
}
More information about the samba-cvs
mailing list