Author: gd Date: 2007-08-28 16:39:03 +0000 (Tue, 28 Aug 2007) New Revision: 24752
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24752 Log: Make sure to return properly when the locator is called from within winbindd. Guenther Modified: branches/SAMBA_3_2/source/libads/smb_krb5_locator.c branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c Changeset: Modified: branches/SAMBA_3_2/source/libads/smb_krb5_locator.c =================================================================== --- branches/SAMBA_3_2/source/libads/smb_krb5_locator.c 2007-08-28 16:24:18 UTC (rev 24751) +++ branches/SAMBA_3_2/source/libads/smb_krb5_locator.c 2007-08-28 16:39:03 UTC (rev 24752) @@ -340,16 +340,12 @@ "failed to query winbindd\n", (unsigned int)getpid()); #endif - -#ifdef KRB5_PLUGIN_NO_HANDLE - return KRB5_PLUGIN_NO_HANDLE; -#else - return KRB5_KDC_UNREACH; /* Heimdal */ -#endif + goto failed; } } else { /* FIXME: here comes code for locator being called from within * winbind */ + goto failed; } #ifdef DEBUG_KRB5 fprintf(stderr, "[%5u]: smb_krb5_locator_lookup: " @@ -367,6 +363,13 @@ SAFE_FREE(kdc_name); return ret; + + failed: +#ifdef KRB5_PLUGIN_NO_HANDLE + return KRB5_PLUGIN_NO_HANDLE; +#else + return KRB5_KDC_UNREACH; /* Heimdal */ +#endif } #ifdef HEIMDAL_KRB5_LOCATE_PLUGIN_H Modified: branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c =================================================================== --- branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c 2007-08-28 16:24:18 UTC (rev 24751) +++ branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c 2007-08-28 16:39:03 UTC (rev 24752) @@ -340,16 +340,12 @@ "failed to query winbindd\n", (unsigned int)getpid()); #endif - -#ifdef KRB5_PLUGIN_NO_HANDLE - return KRB5_PLUGIN_NO_HANDLE; -#else - return KRB5_KDC_UNREACH; /* Heimdal */ -#endif + goto failed; } } else { /* FIXME: here comes code for locator being called from within * winbind */ + goto failed; } #ifdef DEBUG_KRB5 fprintf(stderr, "[%5u]: smb_krb5_locator_lookup: " @@ -367,6 +363,13 @@ SAFE_FREE(kdc_name); return ret; + + failed: +#ifdef KRB5_PLUGIN_NO_HANDLE + return KRB5_PLUGIN_NO_HANDLE; +#else + return KRB5_KDC_UNREACH; /* Heimdal */ +#endif } #ifdef HEIMDAL_KRB5_LOCATE_PLUGIN_H
