]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Add a new paramater: add machine script
authorAndrew Bartlett <abartlet@samba.org>
Sat, 7 Jul 2001 08:45:39 +0000 (08:45 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 7 Jul 2001 08:45:39 +0000 (08:45 +0000)
This allows the administrator to define different scripts for adding unix users
and automaticly adding machines.  If it is not defined, it falls back to the
value of 'add user script'.

Andrew Bartlett

source/param/loadparm.c
source/rpc_server/srv_samr_nt.c

index da25d526a18adce3e62e4583193f6cb64f7f4bfd..7df701e1d3064558bdb93d71ddb0ac5fcb543dc6 100644 (file)
@@ -146,6 +146,7 @@ typedef struct
        char *szDelGroupScript;
        char *szAddUserToGroupScript;
        char *szDelUserToGroupScript;
+       char *szAddMachineScript;
        char *szWINSHook;
 #ifdef WITH_UTMP
        char *szUtmpDir;
@@ -876,6 +877,7 @@ static struct parm_struct parm_table[] = {
        {"delete group script", P_STRING, P_GLOBAL, &Globals.szDelGroupScript, NULL, NULL, 0},
        {"add user to group script", P_STRING, P_GLOBAL, &Globals.szAddUserToGroupScript, NULL, NULL, 0},
        {"delete user from group script", P_STRING, P_GLOBAL, &Globals.szDelUserToGroupScript, NULL, NULL, 0},
+       {"add machine script", P_STRING, P_GLOBAL, &Globals.szAddMachineScript, NULL, NULL, 0},
 
        {"logon script", P_STRING, P_GLOBAL, &Globals.szLogonScript, NULL, NULL, 0},
        {"logon path", P_STRING, P_GLOBAL, &Globals.szLogonPath, NULL, NULL, 0},
@@ -1451,6 +1453,8 @@ FN_GLOBAL_STRING(lp_delgroup_script, &Globals.szDelGroupScript)
 FN_GLOBAL_STRING(lp_addusertogroup_script, &Globals.szAddUserToGroupScript)
 FN_GLOBAL_STRING(lp_deluserfromgroup_script, &Globals.szDelUserToGroupScript)
 
+FN_GLOBAL_STRING(lp_addmachine_script, &Globals.szAddMachineScript)
+
 FN_GLOBAL_STRING(lp_wins_hook, &Globals.szWINSHook)
 FN_GLOBAL_STRING(lp_domain_admin_group, &Globals.szDomainAdminGroup)
 FN_GLOBAL_STRING(lp_domain_guest_group, &Globals.szDomainGuestGroup)
index fb2dcf03cc1d448518d8218d22fa6c27365e5833..829218008ddc02bac1024c116265d403c4605552 100644 (file)
@@ -1860,10 +1860,18 @@ uint32 _api_samr_create_user(pipes_struct *p, SAMR_Q_CREATE_USER *q_u, SAMR_R_CR
         * JFM (2/3/2001), to clear any possible bad understanding (-:
         */
 
-       pstrcpy(add_script, lp_adduser_script());
+       pstrcpy(add_script, lp_addmachine_script());
 
-       if(*add_script)
-               smb_create_user(mach_acct, NULL);
+       if (!*add_script) {
+               pstrcpy(add_script, lp_adduser_script());
+       }
+
+       if(*add_script) {
+               int add_ret;
+               all_string_sub(add_script, "%u", mach_acct, sizeof(mach_acct));
+               add_ret = smbrun(add_script,NULL);
+               DEBUG(3,("_api_samr_create_user: Running the command `%s' gave %d\n",add_script,add_ret));
+       }
 
        /* add the user in the smbpasswd file or the Samba authority database */
        if (!local_password_change(mach_acct, local_flags, NULL, err_str,