[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha5-225-g8e201ec
Jelmer Vernooij
jelmer at samba.org
Fri Aug 1 19:37:45 GMT 2008
The branch, v4-0-test has been updated
via 8e201ecf3e86c3c8865c7276fad8dad07106efaf (commit)
via be75b2a36ee49f66ada3ec3ababa82d74085d559 (commit)
via 2a39aae0cef310a79427feb1b85f6794ea36849a (commit)
from 66b76b018d6048cec63a75b24ec4c099f6a2eb8c (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit 8e201ecf3e86c3c8865c7276fad8dad07106efaf
Merge: be75b2a36ee49f66ada3ec3ababa82d74085d559 66b76b018d6048cec63a75b24ec4c099f6a2eb8c
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Fri Aug 1 21:36:49 2008 +0200
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into manpage
commit be75b2a36ee49f66ada3ec3ababa82d74085d559
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Fri Aug 1 21:12:37 2008 +0200
Add helper object Hostconfig to make it easier to get to e.g. the
SAM database.
commit 2a39aae0cef310a79427feb1b85f6794ea36849a
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Fri Aug 1 21:00:09 2008 +0200
Use new style python classes.
-----------------------------------------------------------------------
Summary of changes:
source/scripting/python/samba/getopt.py | 4 ++++
.../{examples/netbios.py => samba/hostconfig.py} | 19 ++++++++++++-------
source/scripting/python/samba/provision.py | 8 +++++---
source/scripting/python/samba/samba3.py | 14 ++++++++------
source/scripting/python/samba/samr.py | 8 +++++++-
source/scripting/python/samba/tests/dcerpc/bare.py | 1 +
.../python/samba/tests/dcerpc/registry.py | 1 +
.../scripting/python/samba/tests/dcerpc/rpcecho.py | 2 ++
source/scripting/python/samba/tests/provision.py | 2 +-
source/scripting/python/samba/tests/samba3.py | 1 +
source/scripting/python/subunit/__init__.py | 2 +-
source/setup/newuser | 5 ++---
12 files changed, 45 insertions(+), 22 deletions(-)
copy source/scripting/python/{examples/netbios.py => samba/hostconfig.py} (64%)
Changeset truncated at 500 lines:
diff --git a/source/scripting/python/samba/getopt.py b/source/scripting/python/samba/getopt.py
index 9ecb66e..c12245f 100644
--- a/source/scripting/python/samba/getopt.py
+++ b/source/scripting/python/samba/getopt.py
@@ -21,6 +21,7 @@
import optparse
from credentials import Credentials, AUTO_USE_KERBEROS, DONT_USE_KERBEROS, MUST_USE_KERBEROS
+from hostconfig import Hostconfig
__docformat__ = "restructuredText"
@@ -52,6 +53,9 @@ class SambaOptions(optparse.OptionGroup):
lp.load_default()
return lp
+ def get_hostconfig(self):
+ return Hostconfig(self.get_loadparm())
+
class VersionOptions(optparse.OptionGroup):
"""Command line option for printing Samba version."""
diff --git a/source/scripting/python/examples/netbios.py b/source/scripting/python/samba/hostconfig.py
similarity index 64%
copy from source/scripting/python/examples/netbios.py
copy to source/scripting/python/samba/hostconfig.py
index 3671076..313e342 100644
--- a/source/scripting/python/examples/netbios.py
+++ b/source/scripting/python/samba/hostconfig.py
@@ -17,12 +17,17 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-from samba.netbios import Node
+from samdb import SamDB
-n = Node()
-(reply_from, names, addresses) = n.query_name("GANIEDA", "192.168.4.0",
- timeout=4)
+class Hostconfig(object):
+ """Aggregate object that contains all information about the configuration
+ of a Samba host."""
+
+ def __init__(self, lp):
+ self.lp = lp
+
+ def get_samdb(self, session_info, credentials):
+ return SamDB(url=self.lp.get("sam database"),
+ session_info=session_info, credentials=credentials,
+ lp=self.lp)
-print "Received reply from %s:" % (reply_from, )
-print "Names: %r" % (names, )
-print "Addresses: %r" % (addresses, )
diff --git a/source/scripting/python/samba/provision.py b/source/scripting/python/samba/provision.py
index 6dd9f3b..4f7fbfc 100644
--- a/source/scripting/python/samba/provision.py
+++ b/source/scripting/python/samba/provision.py
@@ -53,7 +53,7 @@ class InvalidNetbiosName(Exception):
super(InvalidNetbiosName, self).__init__("The name '%r' is not a valid NetBIOS name" % name)
-class ProvisionPaths:
+class ProvisionPaths(object):
def __init__(self):
self.shareconf = None
self.hklm = None
@@ -77,7 +77,8 @@ class ProvisionPaths:
self.fedoradsinf = None
self.fedoradspartitions = None
-class ProvisionNames:
+
+class ProvisionNames(object):
def __init__(self):
self.rootdn = None
self.domaindn = None
@@ -92,7 +93,8 @@ class ProvisionNames:
self.sitename = None
self.smbconf = None
-class ProvisionResult:
+
+class ProvisionResult(object):
def __init__(self):
self.paths = None
self.domaindn = None
diff --git a/source/scripting/python/samba/samba3.py b/source/scripting/python/samba/samba3.py
index c1340b7..0e0c29d 100644
--- a/source/scripting/python/samba/samba3.py
+++ b/source/scripting/python/samba/samba3.py
@@ -308,7 +308,7 @@ class ShareInfoDatabase(TdbDatabase):
return secdesc
-class Shares:
+class Shares(object):
"""Container for share objects."""
def __init__(self, lp, shareinfo):
self.lp = lp
@@ -371,7 +371,7 @@ def decode_acb(text):
return ret
-class SAMUser:
+class SAMUser(object):
"""Samba 3 SAM User.
:note: Unknown or unset fields are set to None.
@@ -421,7 +421,8 @@ class SAMUser:
return False
return self.__dict__ == other.__dict__
-class SmbpasswdFile:
+
+class SmbpasswdFile(object):
"""Samba 3 smbpasswd file reader."""
def __init__(self, file):
self.users = {}
@@ -482,7 +483,7 @@ TDBSAM_FORMAT_STRING_V2 = "dddddddBBBBBBBBBBBBddBBBwwdBwwd"
TDBSAM_USER_PREFIX = "USER_"
-class LdapSam:
+class LdapSam(object):
"""Samba 3 LDAP passdb backend reader."""
def __init__(self, url):
self.ldap_url = ldap_url
@@ -605,7 +606,7 @@ def shellsplit(text):
return ret
-class WinsDatabase:
+class WinsDatabase(object):
"""Samba 3 WINS database reader."""
def __init__(self, file):
self.entries = {}
@@ -643,7 +644,8 @@ class WinsDatabase:
def close(self): # for consistency
pass
-class Samba3:
+
+class Samba3(object):
"""Samba 3 configuration and state data reader."""
def __init__(self, libdir, smbconfpath):
"""Open the configuration and data for a Samba 3 installation.
diff --git a/source/scripting/python/samba/samr.py b/source/scripting/python/samba/samr.py
index 314f78b..62a7c6e 100644
--- a/source/scripting/python/samba/samr.py
+++ b/source/scripting/python/samba/samr.py
@@ -97,7 +97,8 @@ def call_fn(fn, pipe, args):
return result;
-class SamrHandle:
+
+class SamrHandle(object):
def __init__(self, pipe, handle):
@@ -137,6 +138,7 @@ class SamrHandle:
call_fn(dcerpc.dcerpc_samr_SetSecurity, self.pipe, r)
+
class ConnectHandle(SamrHandle):
def EnumDomains(self):
@@ -212,6 +214,7 @@ class ConnectHandle(SamrHandle):
call_fn(dcerpc.dcerpc_samr_SetBootKeyInformation, self.pipe, r)
+
class DomainHandle(SamrHandle):
def QueryDomainInfo(self, level = 2):
@@ -517,6 +520,7 @@ class DomainHandle(SamrHandle):
call_fn(dcerpc.dcerpc_samr_TestPrivateFunctionsDomain, self.pipe, r)
+
class UserHandle(SamrHandle):
def DeleteUser(self):
@@ -576,6 +580,7 @@ class UserHandle(SamrHandle):
call_fn(dcerpc.dcerpc_samr_TestPrivateFunctionsUser, self.pipe, r)
+
class GroupHandle(SamrHandle):
def QueryGroupInfo(self, level):
@@ -608,6 +613,7 @@ class GroupHandle(SamrHandle):
dcerpc.uint32_array_getitem(r.data_out.rids.unknown, x))
for x in range(r.data_out.rids.count)]
+
class AliasHandle(SamrHandle):
def DeleteDomAlias(self):
diff --git a/source/scripting/python/samba/tests/dcerpc/bare.py b/source/scripting/python/samba/tests/dcerpc/bare.py
index fae699a..cd939b8 100644
--- a/source/scripting/python/samba/tests/dcerpc/bare.py
+++ b/source/scripting/python/samba/tests/dcerpc/bare.py
@@ -22,6 +22,7 @@ from samba.dcerpc import ClientConnection
from unittest import TestCase
from samba.tests import cmdline_loadparm
+
class BareTestCase(TestCase):
def test_bare(self):
# Connect to the echo pipe
diff --git a/source/scripting/python/samba/tests/dcerpc/registry.py b/source/scripting/python/samba/tests/dcerpc/registry.py
index 81133ff..526b234 100644
--- a/source/scripting/python/samba/tests/dcerpc/registry.py
+++ b/source/scripting/python/samba/tests/dcerpc/registry.py
@@ -21,6 +21,7 @@ from samba.dcerpc import winreg
import unittest
from samba.tests import RpcInterfaceTestCase
+
class WinregTests(RpcInterfaceTestCase):
def setUp(self):
self.conn = winreg.winreg("ncalrpc:", self.get_loadparm(),
diff --git a/source/scripting/python/samba/tests/dcerpc/rpcecho.py b/source/scripting/python/samba/tests/dcerpc/rpcecho.py
index 96bb392..12638e2 100644
--- a/source/scripting/python/samba/tests/dcerpc/rpcecho.py
+++ b/source/scripting/python/samba/tests/dcerpc/rpcecho.py
@@ -22,6 +22,7 @@ from samba.ndr import ndr_pack, ndr_unpack
import unittest
from samba.tests import RpcInterfaceTestCase
+
class RpcEchoTests(RpcInterfaceTestCase):
def setUp(self):
self.conn = echo.rpcecho("ncalrpc:", self.get_loadparm())
@@ -56,6 +57,7 @@ class RpcEchoTests(RpcInterfaceTestCase):
def test_server_name(self):
self.assertEquals(None, self.conn.server_name)
+
class NdrEchoTests(unittest.TestCase):
def test_info1_push(self):
x = echo.info1()
diff --git a/source/scripting/python/samba/tests/provision.py b/source/scripting/python/samba/tests/provision.py
index 76c1014..352357f 100644
--- a/source/scripting/python/samba/tests/provision.py
+++ b/source/scripting/python/samba/tests/provision.py
@@ -87,7 +87,7 @@ class FindNssTests(unittest.TestCase):
self.assertEquals("ha", findnss(x, ["bloe", "bla"]))
-class Disabled:
+class Disabled(object):
def test_setup_templatesdb(self):
raise NotImplementedError(self.test_setup_templatesdb)
diff --git a/source/scripting/python/samba/tests/samba3.py b/source/scripting/python/samba/tests/samba3.py
index 175aa90..1755cbd 100644
--- a/source/scripting/python/samba/tests/samba3.py
+++ b/source/scripting/python/samba/tests/samba3.py
@@ -153,6 +153,7 @@ class WinsDatabaseTestCase(unittest.TestCase):
def tearDown(self):
self.winsdb.close()
+
class SmbpasswdTestCase(unittest.TestCase):
def setUp(self):
self.samdb = SmbpasswdFile(os.path.join(DATADIR, "smbpasswd"))
diff --git a/source/scripting/python/subunit/__init__.py b/source/scripting/python/subunit/__init__.py
index ac3d0c3..406cd87 100644
--- a/source/scripting/python/subunit/__init__.py
+++ b/source/scripting/python/subunit/__init__.py
@@ -376,7 +376,7 @@ def run_isolated(klass, self, result):
return result
-class SubunitTestRunner:
+class SubunitTestRunner(object):
def __init__(self, stream=sys.stdout):
self.stream = stream
diff --git a/source/setup/newuser b/source/setup/newuser
index e6ab4ed..5b677af 100755
--- a/source/setup/newuser
+++ b/source/setup/newuser
@@ -15,7 +15,6 @@ import samba.getopt as options
import optparse
from getpass import getpass
from samba.auth import system_session
-from samba.samdb import SamDB
parser = optparse.OptionParser("newuser [options] <username> [<password>]")
sambaopts = options.SambaOptions(parser)
@@ -44,6 +43,6 @@ if opts.unixname is None:
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
-samdb = SamDB(url=lp.get("sam database"), session_info=system_session(),
- credentials=creds, lp=lp)
+samdb = sambaopts.get_hostconfig().get_samdb(session_info=system_session(),
+ credentials=creds)
samdb.newuser(username, opts.unixname, password)
--
Samba Shared Repository
More information about the samba-cvs
mailing list