diff options
author | Giampaolo Lauria <lauria2@yahoo.com> | 2011-09-07 11:11:38 -0400 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-09-09 15:24:04 +1000 |
commit | 69a2e4b3605863971c26e78adcc78cab2f6c4b06 (patch) | |
tree | 49715be4724d3fb62180a0b5db6d4fe883e02e74 | |
parent | f4f77bb95422c8dbc5df9d4156b660eb41034883 (diff) | |
download | samba-69a2e4b3605863971c26e78adcc78cab2f6c4b06.tar.gz samba-69a2e4b3605863971c26e78adcc78cab2f6c4b06.tar.bz2 samba-69a2e4b3605863971c26e78adcc78cab2f6c4b06.zip |
samba-tool: Moved _get_user_realm_domain fcn to common
_get_user_realm_domain is used by both delegation and spn commands
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r-- | source4/scripting/python/samba/netcmd/common.py | 27 | ||||
-rw-r--r-- | source4/scripting/python/samba/netcmd/delegation.py | 23 | ||||
-rw-r--r-- | source4/scripting/python/samba/netcmd/spn.py | 26 |
3 files changed, 29 insertions, 47 deletions
diff --git a/source4/scripting/python/samba/netcmd/common.py b/source4/scripting/python/samba/netcmd/common.py index 71629ef08d..a4ebdd4329 100644 --- a/source4/scripting/python/samba/netcmd/common.py +++ b/source4/scripting/python/samba/netcmd/common.py @@ -3,6 +3,7 @@ # common functions for samba-tool python commands # # Copyright Andrew Tridgell 2010 +# Copyright Giampaolo Lauria 2011 <lauria2@yahoo.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,16 +19,42 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # +import re from samba.dcerpc import nbt from samba.net import Net + +def _get_user_realm_domain(user): + """ get the realm or the domain and the base user + from user like: + * username + * DOMAIN\username + * username@REALM + """ + baseuser = user + realm = "" + domain = "" + m = re.match(r"(\w+)\\(\w+$)", user) + if m: + domain = m.group(1) + baseuser = m.group(2) + return (baseuser.lower(), domain.upper(), realm) + m = re.match(r"(\w+)@(\w+)", user) + if m: + baseuser = m.group(1) + realm = m.group(2) + return (baseuser.lower(), domain, realm.upper()) + + + def netcmd_dnsname(lp): '''return the full DNS name of our own host. Used as a default for hostname when running status queries''' return lp.get('netbios name').lower() + "." + lp.get('realm').lower() + def netcmd_finddc(lp, creds): '''return domain-name of a writable/ldap-capable DC for the domain.''' net = Net(creds=creds, lp=lp) diff --git a/source4/scripting/python/samba/netcmd/delegation.py b/source4/scripting/python/samba/netcmd/delegation.py index 19a64d5f1e..cf04d9d577 100644 --- a/source4/scripting/python/samba/netcmd/delegation.py +++ b/source4/scripting/python/samba/netcmd/delegation.py @@ -23,11 +23,11 @@ import samba.getopt as options import ldb -import re from samba import provision from samba import dsdb from samba.samdb import SamDB from samba.auth import system_session +from samba.netcmd.common import _get_user_realm_domain from samba.netcmd import ( Command, CommandError, @@ -35,27 +35,6 @@ from samba.netcmd import ( Option ) -def _get_user_realm_domain(user): - """ get the realm or the domain and the base user - from user like: - * username - * DOMAIN\username - * username@REALM - """ - baseuser = user - realm = "" - domain = "" - m = re.match(r"(\w+)\\(\w+$)", user) - if m: - domain = m.group(1) - baseuser = m.group(2) - return (baseuser.lower(), domain.upper(), realm) - m = re.match(r"(\w+)@(\w+)", user) - if m: - baseuser = m.group(1) - realm = m.group(2) - return (baseuser.lower(), domain, realm.upper()) - class cmd_delegation_show(Command): diff --git a/source4/scripting/python/samba/netcmd/spn.py b/source4/scripting/python/samba/netcmd/spn.py index 6e9d2dece8..6c36f6ca4c 100644 --- a/source4/scripting/python/samba/netcmd/spn.py +++ b/source4/scripting/python/samba/netcmd/spn.py @@ -21,10 +21,10 @@ import samba.getopt as options import ldb -import re from samba import provision from samba.samdb import SamDB from samba.auth import system_session +from samba.netcmd.common import _get_user_realm_domain from samba.netcmd import ( Command, CommandError, @@ -34,30 +34,6 @@ from samba.netcmd import ( -def _get_user_realm_domain(user): - """ get the realm or the domain and the base user - from user like: - * username - * DOMAIN\username - * username@REALM - """ - - baseuser = user - realm = "" - domain = "" - m = re.match(r"(\w+)\\(\w+$)", user) - if m: - domain = m.group(1) - baseuser = m.group(2) - return (baseuser.lower(), domain.upper(), realm) - m = re.match(r"(\w+)@(\w+)", user) - if m: - baseuser = m.group(1) - realm = m.group(2) - return (baseuser.lower(), domain, realm.upper()) - - - class cmd_spn_list(Command): """List spns of a given user.""" |