mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
141 lines
4.9 KiB
Diff
141 lines
4.9 KiB
Diff
diff -Nur source/utils/net.c source/utils/net.c
|
|
--- source/utils/net.c Fri Sep 27 09:42:34 2002
|
|
+++ source/utils/net.c Tue Oct 1 12:22:00 2002
|
|
@@ -68,6 +68,7 @@
|
|
int opt_port = 0;
|
|
int opt_maxusers = -1;
|
|
char *opt_comment = "";
|
|
+char *opt_container = "cn=Users";
|
|
int opt_flags = -1;
|
|
int opt_jobid = 0;
|
|
int opt_timeout = 0;
|
|
@@ -459,6 +460,7 @@
|
|
{"myname", 'n', POPT_ARG_STRING, &opt_requester_name},
|
|
{"conf", 's', POPT_ARG_STRING, &servicesf},
|
|
{"server", 'S', POPT_ARG_STRING, &opt_host},
|
|
+ {"container", 'c', POPT_ARG_STRING, &opt_container},
|
|
{"comment", 'C', POPT_ARG_STRING, &opt_comment},
|
|
{"maxusers", 'M', POPT_ARG_INT, &opt_maxusers},
|
|
{"flags", 'F', POPT_ARG_INT, &opt_flags},
|
|
diff -Nur source/utils/net.h source/utils/net.h
|
|
--- source/utils/net.h Tue Jun 25 04:29:09 2002
|
|
+++ source/utils/net.h Tue Oct 1 12:19:51 2002
|
|
@@ -38,10 +38,8 @@
|
|
|
|
extern int opt_maxusers;
|
|
extern char *opt_comment;
|
|
+extern char *opt_container;
|
|
extern int opt_flags;
|
|
-
|
|
-extern char *opt_comment;
|
|
-
|
|
extern char *opt_target_workgroup;
|
|
extern int opt_long_list_entries;
|
|
extern int opt_reboot;
|
|
diff -Nur source/utils/net_ads.c source/utils/net_ads.c
|
|
--- source/utils/net_ads.c Tue Sep 17 14:15:52 2002
|
|
+++ source/utils/net_ads.c Tue Oct 1 12:33:44 2002
|
|
@@ -255,7 +255,7 @@
|
|
goto done;
|
|
}
|
|
|
|
- status = ads_add_user_acct(ads, argv[0], opt_comment);
|
|
+ status = ads_add_user_acct(ads, argv[0], opt_container, opt_comment);
|
|
|
|
if (!ADS_ERR_OK(status)) {
|
|
d_printf("Could not add user %s: %s\n", argv[0],
|
|
@@ -431,7 +431,7 @@
|
|
goto done;
|
|
}
|
|
|
|
- status = ads_add_group_acct(ads, argv[0], opt_comment);
|
|
+ status = ads_add_group_acct(ads, argv[0], opt_container, opt_comment);
|
|
|
|
if (ADS_ERR_OK(status)) {
|
|
d_printf("Group %s added\n", argv[0]);
|
|
diff -Nur source/utils/net_help.c source/utils/net_help.c
|
|
--- source/utils/net_help.c Tue Sep 24 20:10:30 2002
|
|
+++ source/utils/net_help.c Tue Oct 1 13:01:50 2002
|
|
@@ -69,14 +69,14 @@
|
|
"\n\tDelete specified user\n");
|
|
d_printf("\nnet [<method>] user INFO <name> [misc. options] [targets]"\
|
|
"\n\tList the domain groups of the specified user\n");
|
|
- d_printf("\nnet [<method>] user ADD <name> [password] "\
|
|
+ d_printf("\nnet [<method>] user ADD <name> [password] [-c container] "\
|
|
"[-F user flags] [misc. options]"\
|
|
" [targets]\n\tAdd specified user\n");
|
|
|
|
net_common_methods_usage(argc, argv);
|
|
net_common_flags_usage(argc, argv);
|
|
- d_printf(
|
|
- "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
|
|
+ d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
|
|
+ d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
|
|
return -1;
|
|
}
|
|
|
|
@@ -85,12 +85,12 @@
|
|
"\n\tList user groups\n\n");
|
|
d_printf("net [<method>] group DELETE <name> [misc. options] [targets]"\
|
|
"\n\tDelete specified group\n");
|
|
- d_printf("\nnet [<method>] group ADD <name> [-C comment]"\
|
|
+ d_printf("\nnet [<method>] group ADD <name> [-C comment] [-c container]"\
|
|
" [misc. options] [targets]\n\tCreate specified group\n");
|
|
net_common_methods_usage(argc, argv);
|
|
net_common_flags_usage(argc, argv);
|
|
- d_printf(
|
|
- "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
|
|
+ d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
|
|
+ d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
|
|
return -1;
|
|
}
|
|
|
|
diff -Nur source/libads/ldap_user.c source/libads/ldap_user.c
|
|
--- source/libads/ldap_user.c Wed Aug 7 12:33:22 2002
|
|
+++ source/libads/ldap_user.c Tue Oct 1 12:46:08 2002
|
|
@@ -38,7 +38,7 @@
|
|
}
|
|
|
|
ADS_STATUS ads_add_user_acct(ADS_STRUCT *ads, const char *user,
|
|
- const char *fullname)
|
|
+ const char *container, const char *fullname)
|
|
{
|
|
TALLOC_CTX *ctx;
|
|
ADS_MODLIST mods;
|
|
@@ -57,7 +60,7 @@
|
|
|
|
if (!(upn = talloc_asprintf(ctx, "%s@%s", user, ads->config.realm)))
|
|
goto done;
|
|
- if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", name,
|
|
+ if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", name, container,
|
|
ads->config.bind_path)))
|
|
goto done;
|
|
if (!(controlstr = talloc_asprintf(ctx, "%u", UF_NORMAL_ACCOUNT)))
|
|
@@ -80,7 +83,7 @@
|
|
}
|
|
|
|
ADS_STATUS ads_add_group_acct(ADS_STRUCT *ads, const char *group,
|
|
- const char *comment)
|
|
+ const char *container, const char *comment)
|
|
{
|
|
TALLOC_CTX *ctx;
|
|
ADS_MODLIST mods;
|
|
@@ -93,7 +96,7 @@
|
|
|
|
status = ADS_ERROR(LDAP_NO_MEMORY);
|
|
|
|
- if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", group,
|
|
+ if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", group, container,
|
|
ads->config.bind_path)))
|
|
goto done;
|
|
if (!(mods = ads_init_mods(ctx)))
|
|
@@ -102,7 +105,7 @@
|
|
ads_mod_str(ctx, &mods, "cn", group);
|
|
ads_mod_strlist(ctx, &mods, "objectClass",objectClass);
|
|
ads_mod_str(ctx, &mods, "name", group);
|
|
- if (comment)
|
|
+ if (comment && *comment)
|
|
ads_mod_str(ctx, &mods, "description", comment);
|
|
ads_mod_str(ctx, &mods, "sAMAccountName", group);
|
|
status = ads_gen_add(ads, new_dn, mods);
|