diff options
author | Nadezhda Ivanova <nivanova@symas.com> | 2013-09-22 11:24:57 -0700 |
---|---|---|
committer | Nadezhda Ivanova <nivanova@symas.com> | 2013-09-23 18:40:25 -0700 |
commit | 5805b7abc88d9f16bc927ae5d51c2807e4a939ee (patch) | |
tree | ed8bd0454b73ee4558fe0475c7ead7a1710cc2d0 | |
parent | aea5b5ce338e0d84d93231171c172ec259151a33 (diff) | |
download | samba-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.py | 74 | ||||
-rw-r--r-- | selftest/target/Samba4.pm | 5 |
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"); |