summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadezhda Ivanova <nivanova@symas.com>2013-09-22 11:24:57 -0700
committerNadezhda Ivanova <nivanova@symas.com>2013-09-23 18:40:25 -0700
commit5805b7abc88d9f16bc927ae5d51c2807e4a939ee (patch)
treeed8bd0454b73ee4558fe0475c7ead7a1710cc2d0
parentaea5b5ce338e0d84d93231171c172ec259151a33 (diff)
downloadsamba-5805b7abc88d9f16bc927ae5d51c2807e4a939ee.tar.gz
samba-5805b7abc88d9f16bc927ae5d51c2807e4a939ee.tar.bz2
samba-5805b7abc88d9f16bc927ae5d51c2807e4a939ee.zip
s4-openldap: Added an -H option to delegation script
Also calling delegation locally without credentials, as this is not really necessary and causes selftest errors against the openldap backend. Signed-off-by: Nadezhda Ivanova <nivanova@symas.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--python/samba/netcmd/delegation.py74
-rw-r--r--selftest/target/Samba4.pm5
2 files changed, 66 insertions, 13 deletions
diff --git a/python/samba/netcmd/delegation.py b/python/samba/netcmd/delegation.py
index 47dffb07d5..39397bbcc7 100644
--- a/python/samba/netcmd/delegation.py
+++ b/python/samba/netcmd/delegation.py
@@ -44,13 +44,24 @@ class cmd_delegation_show(Command):
"versionopts": options.VersionOptions,
}
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
takes_args = ["accountname"]
- def run(self, accountname, credopts=None, sambaopts=None, versionopts=None):
+ def run(self, accountname, H=None, credopts=None, sambaopts=None, versionopts=None):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
paths = provision.provision_paths_from_lp(lp, lp.get("realm"))
- sam = SamDB(paths.samdb, session_info=system_session(),
+
+ if H == None:
+ path = paths.samdb
+ else:
+ path = H
+
+ sam = SamDB(path, session_info=system_session(),
credentials=creds, lp=lp)
# TODO once I understand how, use the domain info to naildown
# to the correct domain
@@ -89,9 +100,14 @@ class cmd_delegation_for_any_service(Command):
"versionopts": options.VersionOptions,
}
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
takes_args = ["accountname", "onoff"]
- def run(self, accountname, onoff, credopts=None, sambaopts=None,
+ def run(self, accountname, onoff, H=None, credopts=None, sambaopts=None,
versionopts=None):
on = False
@@ -105,7 +121,12 @@ class cmd_delegation_for_any_service(Command):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
paths = provision.provision_paths_from_lp(lp, lp.get("realm"))
- sam = SamDB(paths.samdb, session_info=system_session(),
+ if H == None:
+ path = paths.samdb
+ else:
+ path = H
+
+ sam = SamDB(path, session_info=system_session(),
credentials=creds, lp=lp)
# TODO once I understand how, use the domain info to naildown
# to the correct domain
@@ -132,9 +153,15 @@ class cmd_delegation_for_any_protocol(Command):
"versionopts": options.VersionOptions,
}
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
+
takes_args = ["accountname", "onoff"]
- def run(self, accountname, onoff, credopts=None, sambaopts=None,
+ def run(self, accountname, onoff, H=None, credopts=None, sambaopts=None,
versionopts=None):
on = False
@@ -146,9 +173,14 @@ class cmd_delegation_for_any_protocol(Command):
raise CommandError("invalid argument: '%s' (choose from 'on', 'off')" % onoff)
lp = sambaopts.get_loadparm()
- creds = credopts.get_credentials(lp)
+ creds = credopts.get_credentials(lp, fallback_machine=True)
paths = provision.provision_paths_from_lp(lp, lp.get("realm"))
- sam = SamDB(paths.samdb, session_info=system_session(),
+ if H == None:
+ path = paths.samdb
+ else:
+ path = H
+
+ sam = SamDB(path, session_info=system_session(),
credentials=creds, lp=lp)
# TODO once I understand how, use the domain info to naildown
# to the correct domain
@@ -175,15 +207,25 @@ class cmd_delegation_add_service(Command):
"versionopts": options.VersionOptions,
}
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
takes_args = ["accountname", "principal"]
- def run(self, accountname, principal, credopts=None, sambaopts=None,
+ def run(self, accountname, principal, H=None, credopts=None, sambaopts=None,
versionopts=None):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
paths = provision.provision_paths_from_lp(lp, lp.get("realm"))
- sam = SamDB(paths.samdb, session_info=system_session(),
+ if H == None:
+ path = paths.samdb
+ else:
+ path = H
+
+ sam = SamDB(path, session_info=system_session(),
credentials=creds, lp=lp)
# TODO once I understand how, use the domain info to naildown
# to the correct domain
@@ -219,15 +261,25 @@ class cmd_delegation_del_service(Command):
"versionopts": options.VersionOptions,
}
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
takes_args = ["accountname", "principal"]
- def run(self, accountname, principal, credopts=None, sambaopts=None,
+ def run(self, accountname, principal, H=None, credopts=None, sambaopts=None,
versionopts=None):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
paths = provision.provision_paths_from_lp(lp, lp.get("realm"))
- sam = SamDB(paths.samdb, session_info=system_session(),
+ if H == None:
+ path = paths.samdb
+ else:
+ path = H
+
+ sam = SamDB(path, session_info=system_session(),
credentials=creds, lp=lp)
# TODO once I understand how, use the domain info to naildown
# to the correct domain
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 6b34ba6615..d7aa9c5bc1 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -993,7 +993,8 @@ sub provision_rpc_proxy($$$)
$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$dcvars->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
$cmd .= "KRB5_CONFIG=\"$dcvars->{KRB5_CONFIG}\" ";
$cmd .= "$samba_tool delegation for-any-protocol '$ret->{NETBIOSNAME}\$' on";
- $cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} $dcvars->{CONFIGURATION}";
+ $cmd .= " $dcvars->{CONFIGURATION}";
+ print $cmd;
unless (system($cmd) == 0) {
warn("Delegation failed\n$cmd");
@@ -1005,7 +1006,7 @@ sub provision_rpc_proxy($$$)
$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$dcvars->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
$cmd .= "KRB5_CONFIG=\"$dcvars->{KRB5_CONFIG}\" ";
$cmd .= "$samba_tool delegation add-service '$ret->{NETBIOSNAME}\$' cifs/$dcvars->{SERVER}";
- $cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} $dcvars->{CONFIGURATION}";
+ $cmd .= " $dcvars->{CONFIGURATION}";
unless (system($cmd) == 0) {
warn("Delegation failed\n$cmd");