summaryrefslogtreecommitdiff
path: root/source4/scripting/python/samba
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/python/samba')
-rw-r--r--source4/scripting/python/samba/__init__.py363
-rw-r--r--source4/scripting/python/samba/common.py99
-rw-r--r--source4/scripting/python/samba/dbchecker.py947
-rw-r--r--source4/scripting/python/samba/drs_utils.py255
-rw-r--r--source4/scripting/python/samba/getopt.py251
-rw-r--r--source4/scripting/python/samba/hostconfig.py81
-rw-r--r--source4/scripting/python/samba/idmap.py98
-rw-r--r--source4/scripting/python/samba/join.py1149
-rw-r--r--source4/scripting/python/samba/kcc_utils.py2182
-rw-r--r--source4/scripting/python/samba/ms_display_specifiers.py187
-rw-r--r--source4/scripting/python/samba/ms_schema.py290
-rw-r--r--source4/scripting/python/samba/ndr.py50
-rw-r--r--source4/scripting/python/samba/netcmd/__init__.py231
-rw-r--r--source4/scripting/python/samba/netcmd/common.py71
-rw-r--r--source4/scripting/python/samba/netcmd/dbcheck.py143
-rw-r--r--source4/scripting/python/samba/netcmd/delegation.py263
-rw-r--r--source4/scripting/python/samba/netcmd/dns.py1186
-rw-r--r--source4/scripting/python/samba/netcmd/domain.py1344
-rw-r--r--source4/scripting/python/samba/netcmd/drs.py510
-rw-r--r--source4/scripting/python/samba/netcmd/dsacl.py182
-rw-r--r--source4/scripting/python/samba/netcmd/fsmo.py277
-rw-r--r--source4/scripting/python/samba/netcmd/gpo.py1177
-rw-r--r--source4/scripting/python/samba/netcmd/group.py376
-rw-r--r--source4/scripting/python/samba/netcmd/ldapcmp.py998
-rw-r--r--source4/scripting/python/samba/netcmd/main.py70
-rw-r--r--source4/scripting/python/samba/netcmd/ntacl.py260
-rw-r--r--source4/scripting/python/samba/netcmd/processes.py78
-rw-r--r--source4/scripting/python/samba/netcmd/rodc.py108
-rw-r--r--source4/scripting/python/samba/netcmd/sites.py105
-rw-r--r--source4/scripting/python/samba/netcmd/spn.py205
-rw-r--r--source4/scripting/python/samba/netcmd/testparm.py209
-rw-r--r--source4/scripting/python/samba/netcmd/time.py59
-rw-r--r--source4/scripting/python/samba/netcmd/user.py605
-rw-r--r--source4/scripting/python/samba/netcmd/vampire.py55
-rw-r--r--source4/scripting/python/samba/ntacls.py240
-rw-r--r--source4/scripting/python/samba/provision/__init__.py2279
-rw-r--r--source4/scripting/python/samba/provision/backend.py840
-rw-r--r--source4/scripting/python/samba/provision/common.py82
-rw-r--r--source4/scripting/python/samba/provision/descriptor.py359
-rw-r--r--source4/scripting/python/samba/provision/sambadns.py1135
-rw-r--r--source4/scripting/python/samba/samba3/__init__.py408
-rw-r--r--source4/scripting/python/samba/samdb.py886
-rw-r--r--source4/scripting/python/samba/schema.py204
-rw-r--r--source4/scripting/python/samba/sd_utils.py80
-rw-r--r--source4/scripting/python/samba/sites.py125
-rw-r--r--source4/scripting/python/samba/tdb_util.py41
-rw-r--r--source4/scripting/python/samba/tests/__init__.py237
-rw-r--r--source4/scripting/python/samba/tests/auth.py31
-rw-r--r--source4/scripting/python/samba/tests/blackbox/__init__.py17
-rw-r--r--source4/scripting/python/samba/tests/blackbox/ndrdump.py49
-rw-r--r--source4/scripting/python/samba/tests/blackbox/samba_tool_drs.py97
-rw-r--r--source4/scripting/python/samba/tests/common.py40
-rw-r--r--source4/scripting/python/samba/tests/core.py63
-rw-r--r--source4/scripting/python/samba/tests/credentials.py98
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/__init__.py20
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/bare.py51
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/dnsserver.py241
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/misc.py62
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/registry.py51
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/rpc_talloc.py84
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/rpcecho.py71
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/sam.py50
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/srvsvc.py68
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/testrpc.py141
-rw-r--r--source4/scripting/python/samba/tests/dcerpc/unix.py49
-rw-r--r--source4/scripting/python/samba/tests/dns.py622
-rw-r--r--source4/scripting/python/samba/tests/docs.py127
-rw-r--r--source4/scripting/python/samba/tests/dsdb.py130
-rw-r--r--source4/scripting/python/samba/tests/gensec.py146
-rw-r--r--source4/scripting/python/samba/tests/getopt.py55
-rw-r--r--source4/scripting/python/samba/tests/hostconfig.py74
-rw-r--r--source4/scripting/python/samba/tests/libsmb_samba_internal.py78
-rw-r--r--source4/scripting/python/samba/tests/messaging.py67
-rw-r--r--source4/scripting/python/samba/tests/netcmd.py90
-rw-r--r--source4/scripting/python/samba/tests/ntacls.py83
-rw-r--r--source4/scripting/python/samba/tests/param.py57
-rw-r--r--source4/scripting/python/samba/tests/policy.py34
-rw-r--r--source4/scripting/python/samba/tests/posixacl.py732
-rw-r--r--source4/scripting/python/samba/tests/provision.py203
-rw-r--r--source4/scripting/python/samba/tests/registry.py60
-rw-r--r--source4/scripting/python/samba/tests/samba3.py219
-rw-r--r--source4/scripting/python/samba/tests/samba3sam.py1125
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/__init__.py15
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/base.py114
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/gpo.py79
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/group.py169
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/ntacl.py135
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/processes.py35
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/timecmd.py43
-rw-r--r--source4/scripting/python/samba/tests/samba_tool/user.py362
-rw-r--r--source4/scripting/python/samba/tests/samdb.py96
-rw-r--r--source4/scripting/python/samba/tests/security.py143
-rw-r--r--source4/scripting/python/samba/tests/source.py264
-rw-r--r--source4/scripting/python/samba/tests/strings.py103
-rw-r--r--source4/scripting/python/samba/tests/unicodenames.py29
-rw-r--r--source4/scripting/python/samba/tests/upgrade.py40
-rw-r--r--source4/scripting/python/samba/tests/upgradeprovision.py135
-rw-r--r--source4/scripting/python/samba/tests/upgradeprovisionneeddc.py179
-rw-r--r--source4/scripting/python/samba/tests/xattr.py126
-rw-r--r--source4/scripting/python/samba/upgrade.py938
-rw-r--r--source4/scripting/python/samba/upgradehelpers.py913
-rw-r--r--source4/scripting/python/samba/web_server/__init__.py79
-rw-r--r--source4/scripting/python/samba/xattr.py61
103 files changed, 0 insertions, 30623 deletions
diff --git a/source4/scripting/python/samba/__init__.py b/source4/scripting/python/samba/__init__.py
deleted file mode 100644
index cd2a309fc0a..00000000000
--- a/source4/scripting/python/samba/__init__.py
+++ /dev/null
@@ -1,363 +0,0 @@
-# Unix SMB/CIFS implementation.
-# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008
-#
-# Based on the original in EJS:
-# Copyright (C) Andrew Tridgell <tridge@samba.org> 2005
-#
-# 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
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-"""Samba 4."""
-
-__docformat__ = "restructuredText"
-
-import os
-import sys
-import samba.param
-
-
-def source_tree_topdir():
- """Return the top level source directory."""
- paths = ["../../..", "../../../.."]
- for p in paths:
- topdir = os.path.normpath(os.path.join(os.path.dirname(__file__), p))
- if os.path.exists(os.path.join(topdir, 'source4')):
- return topdir
- raise RuntimeError("unable to find top level source directory")
-
-
-def in_source_tree():
- """Return True if we are running from within the samba source tree"""
- try:
- topdir = source_tree_topdir()
- except RuntimeError:
- return False
- return True
-
-
-import ldb
-from samba._ldb import Ldb as _Ldb
-
-
-class Ldb(_Ldb):
- """Simple Samba-specific LDB subclass that takes care
- of setting up the modules dir, credentials pointers, etc.
-
- Please note that this is intended to be for all Samba LDB files,
- not necessarily the Sam database. For Sam-specific helper
- functions see samdb.py.
- """
-
- def __init__(self, url=None, lp=None, modules_dir=None, session_info=None,
- credentials=None, flags=0, options=None):
- """Opens a Samba Ldb file.
-
- :param url: Optional LDB URL to open
- :param lp: Optional loadparm object
- :param modules_dir: Optional modules directory
- :param session_info: Optional session information
- :param credentials: Optional credentials, defaults to anonymous.
- :param flags: Optional LDB flags
- :param options: Additional options (optional)
-
- This is different from a regular Ldb file in that the Samba-specific
- modules-dir is used by default and that credentials and session_info
- can be passed through (required by some modules).
- """
-
- if modules_dir is not None:
- self.set_modules_dir(modules_dir)
- else:
- self.set_modules_dir(os.path.join(samba.param.modules_dir(), "ldb"))
-
- if session_info is not None:
- self.set_session_info(session_info)
-
- if credentials is not None:
- self.set_credentials(credentials)
-
- if lp is not None:
- self.set_loadparm(lp)
-
- # This must be done before we load the schema, as these handlers for
- # objectSid and objectGUID etc must take precedence over the 'binary
- # attribute' declaration in the schema
- self.register_samba_handlers()
-
- # TODO set debug
- def msg(l, text):
- print text
- #self.set_debug(msg)
-
- self.set_utf8_casefold()
-
- # Allow admins to force non-sync ldb for all databases
- if lp is not None:
- nosync_p = lp.get("nosync", "ldb")
- if nosync_p is not None and nosync_p:
- flags |= ldb.FLG_NOSYNC
-
- self.set_create_perms(0600)
-
- if url is not None:
- self.connect(url, flags, options)
-
- def searchone(self, attribute, basedn=None, expression=None,
- scope=ldb.SCOPE_BASE):
- """Search for one attribute as a string.
-
- :param basedn: BaseDN for the search.
- :param attribute: Name of the attribute
- :param expression: Optional search expression.
- :param scope: Search scope (defaults to base).
- :return: Value of attribute as a string or None if it wasn't found.
- """
- res = self.search(basedn, scope, expression, [attribute])
- if len(res) != 1 or res[0][attribute] is None:
- return None
- values = set(res[0][attribute])
- assert len(values) == 1
- return self.schema_format_value(attribute, values.pop())
-
- def erase_users_computers(self, dn):
- """Erases user and computer objects from our AD.
-
- This is needed since the 'samldb' module denies the deletion of primary
- groups. Therefore all groups shouldn't be primary somewhere anymore.
- """
-
- try:
- res = self.search(base=dn, scope=ldb.SCOPE_SUBTREE, attrs=[],
- expression="(|(objectclass=user)(objectclass=computer))")
- except ldb.LdbError, (errno, _):
- if errno == ldb.ERR_NO_SUCH_OBJECT:
- # Ignore no such object errors
- return
- else:
- raise
-
- try:
- for msg in res:
- self.delete(msg.dn, ["relax:0"])
- except ldb.LdbError, (errno, _):
- if errno != ldb.ERR_NO_SUCH_OBJECT:
- # Ignore no such object errors
- raise
-
- def erase_except_schema_controlled(self):
- """Erase this ldb.
-
- :note: Removes all records, except those that are controlled by
- Samba4's schema.
- """
-
- basedn = ""
-
- # Try to delete user/computer accounts to allow deletion of groups
- self.erase_users_computers(basedn)
-
- # Delete the 'visible' records, and the invisble 'deleted' records (if
- # this DB supports it)
- for msg in self.search(basedn, ldb.SCOPE_S