summaryrefslogtreecommitdiff
path: root/source4/torture/torture.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2004-08-12 22:25:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:57:57 -0500
commit9dc1e17c353d61a82a5500d1fad787dda8c766c3 (patch)
tree9939bb41d5c92ee77c6da55c06feebe2060f0b4f /source4/torture/torture.c
parent16c52f7a0786a2583c32fb44ee12ff4f1863f355 (diff)
downloadsamba-9dc1e17c353d61a82a5500d1fad787dda8c766c3.tar.gz
samba-9dc1e17c353d61a82a5500d1fad787dda8c766c3.tar.bz2
samba-9dc1e17c353d61a82a5500d1fad787dda8c766c3.zip
r1793: try to bind multiple times as anonimous and user
added -D parameter to torture to be able to specify: - user dn - base dn - user secret (This used to be commit 0eaec28f5c511a28764a1d350c2eaaf37272eb62)
Diffstat (limited to 'source4/torture/torture.c')
-rw-r--r--source4/torture/torture.c45
1 files changed, 44 insertions, 1 deletions
diff --git a/source4/torture/torture.c b/source4/torture/torture.c
index 6048d7c76d..c36ebde3cc 100644
--- a/source4/torture/torture.c
+++ b/source4/torture/torture.c
@@ -4300,6 +4300,46 @@ static void parse_user(const char *user)
}
}
+static void parse_dns(const char *dns)
+{
+ char *userdn, *basedn, *secret;
+ char *p, *d;
+
+ /* retrievieng the userdn */
+ p = strchr_m(dns, '#');
+ if (!p) {
+ lp_set_cmdline("torture:ldap_userdn", "");
+ lp_set_cmdline("torture:ldap_basedn", "");
+ lp_set_cmdline("torture:ldap_secret", "");
+ return;
+ }
+ userdn = strndup(dns, p - dns);
+ lp_set_cmdline("torture:ldap_userdn", userdn);
+
+ /* retrieve the basedn */
+ d = p + 1;
+ p = strchr_m(d, '#');
+ if (!p) {
+ lp_set_cmdline("torture:ldap_basedn", "");
+ lp_set_cmdline("torture:ldap_secret", "");
+ return;
+ }
+ basedn = strndup(d, p - d);
+ lp_set_cmdline("torture:ldap_basedn", basedn);
+
+ /* retrieve the secret */
+ p = p + 1;
+ if (!p) {
+ lp_set_cmdline("torture:ldap_secret", "");
+ return;
+ }
+ secret = strdup(p);
+ lp_set_cmdline("torture:ldap_secret", secret);
+
+ printf ("%s - %s - %s\n", userdn, basedn, secret);
+
+}
+
static void usage(void)
{
int i;
@@ -4393,7 +4433,7 @@ static void usage(void)
srandom(time(NULL));
- while ((opt = getopt(argc, argv, "p:hW:U:n:N:O:o:e:m:Ld:Ac:ks:f:s:t:C:X")) != EOF) {
+ while ((opt = getopt(argc, argv, "p:hW:D:U:n:N:O:o:e:m:Ld:Ac:ks:f:s:t:C:X")) != EOF) {
switch (opt) {
case 'p':
lp_set_cmdline("smb ports", optarg);
@@ -4452,6 +4492,9 @@ static void usage(void)
case 'U':
parse_user(optarg);
break;
+ case 'D':
+ parse_dns(optarg);
+ break;
case 'f':
torture_failures = atoi(optarg);
break;