Author: jerry Date: 2007-03-01 03:12:16 +0000 (Thu, 01 Mar 2007) New Revision: 21613
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21613 Log: perform variable subsitution on home directories and shells provided by the nss_info backend Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_user.c Changeset: Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_user.c =================================================================== --- branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2007-03-01 03:10:29 UTC (rev 21612) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2007-03-01 03:12:16 UTC (rev 21613) @@ -41,20 +41,21 @@ if (out == NULL) return False; + /* The substitution of %U and %D in the 'template + homedir' is done by talloc_sub_specified() below. + If we have an in string (which means the value has already + been set in the nss_info backend), then use that. + Otherwise use the template value passed in. */ + if ( in && !strequal(in,"") && lp_security() == SEC_ADS ) { - safe_strcpy(out, in, sizeof(fstring) - 1); - return True; + templ = talloc_sub_specified(NULL, in, + username, domname, + uid, gid); + } else { + templ = talloc_sub_specified(NULL, lp_template, + username, domname, + uid, gid); } - - /* Home directory and shell - use template config parameters. The - defaults are /tmp for the home directory and /bin/false for - shell. */ - - /* The substitution of %U and %D in the 'template homedir' is done - by talloc_sub_specified() below. */ - - templ = talloc_sub_specified(NULL, lp_template, username, domname, - uid, gid); if (!templ) return False;
