Packaging files for SuSE 8.1
[ira/wip.git] / packaging / SuSE / samba-3.0.0-net_ads.diff
diff --git a/packaging/SuSE/samba-3.0.0-net_ads.diff b/packaging/SuSE/samba-3.0.0-net_ads.diff
new file mode 100644 (file)
index 0000000..b1224c0
--- /dev/null
@@ -0,0 +1,140 @@
+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);