1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

r26619: Add Python bindings for libnet. No tests yet and no way to set the parameters...

(This used to be commit 9de0a153e99764583b33fc5d58118296db820653)
This commit is contained in:
Jelmer Vernooij 2007-12-28 15:37:03 -06:00 committed by Stefan Metzmacher
parent 77c825f08b
commit c2d16f46a3
4 changed files with 4774 additions and 0 deletions

View File

@ -31,3 +31,7 @@ OBJ_FILES = \
groupman.o \
prereq_domain.o
PUBLIC_DEPENDENCIES = CREDENTIALS dcerpc dcerpc_samr RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI LIBCLI_COMPOSITE LIBCLI_RESOLVE LIBCLI_FINDDCS LIBSAMBA3 LIBCLI_CLDAP LIBCLI_FINDDCS gensec_schannel LIBCLI_AUTH LIBNDR
[PYTHON::swig_net]
PRIVATE_DEPENDENCIES = LIBSAMBA-NET
SWIG_FILE = net.i

68
source4/libnet/net.i Normal file
View File

@ -0,0 +1,68 @@
/*
Unix SMB/CIFS implementation.
Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
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/>.
*/
%module(package="samba.net") net
%{
#include "includes.h"
#include "libnet/libnet.h"
#include "lib/events/events.h"
typedef struct libnet_context libnet;
%}
%import "../libcli/util/errors.i"
%import "../lib/events/events.i"
%import "../lib/talloc/talloc.i"
struct libnet_context *libnet_context_init(struct event_context *ev,
struct loadparm_context *lp_ctx);
typedef struct libnet_context {
%extend {
NTSTATUS samsync_ldb(TALLOC_CTX *mem_ctx, struct libnet_samsync_ldb *r);
NTSTATUS DomainList(TALLOC_CTX *mem_ctx, struct libnet_DomainList *io);
NTSTATUS DomainClose(TALLOC_CTX *mem_ctx, struct libnet_DomainClose *io);
NTSTATUS DomainOpen(TALLOC_CTX *mem_ctx, struct libnet_DomainOpen *io);
NTSTATUS LookupName(TALLOC_CTX *mem_ctx, struct libnet_LookupName *io);
NTSTATUS LookupDCs(TALLOC_CTX *mem_ctx, struct libnet_LookupDCs *io);
NTSTATUS LookupHost(TALLOC_CTX *mem_ctx, struct libnet_Lookup *io);
NTSTATUS Lookup(TALLOC_CTX *mem_ctx, struct libnet_Lookup *io);
NTSTATUS ListShares(TALLOC_CTX *mem_ctx, struct libnet_ListShares *r);
NTSTATUS AddShare(TALLOC_CTX *mem_ctx, struct libnet_AddShare *r);
NTSTATUS DelShare(TALLOC_CTX *mem_ctx, struct libnet_DelShare *r);
NTSTATUS GroupList(TALLOC_CTX *mem_ctx, struct libnet_GroupList *io);
NTSTATUS GroupInfo(TALLOC_CTX *mem_ctx, struct libnet_GroupInfo *io);
NTSTATUS UserList(TALLOC_CTX *mem_ctx, struct libnet_UserList *r);
NTSTATUS UserInfo(TALLOC_CTX *mem_ctx, struct libnet_UserInfo *r);
NTSTATUS ModifyUser(TALLOC_CTX *mem_ctx, struct libnet_ModifyUser *r);
NTSTATUS DeleteUser(TALLOC_CTX *mem_ctx, struct libnet_DeleteUser *r);
NTSTATUS CreateUser(TALLOC_CTX *mem_ctx, struct libnet_CreateUser *r);
NTSTATUS SamDump_keytab(TALLOC_CTX *mem_ctx, struct libnet_SamDump_keytab *r);
NTSTATUS SamDump(TALLOC_CTX *mem_ctx, struct libnet_SamDump *r);
NTSTATUS SamSync_netlogon(TALLOC_CTX *mem_ctx, struct libnet_SamSync *r);
NTSTATUS UnbecomeDC(TALLOC_CTX *mem_ctx, struct libnet_UnbecomeDC *r);
NTSTATUS BecomeDC(TALLOC_CTX *mem_ctx, struct libnet_BecomeDC *r);
NTSTATUS JoinSite(struct ldb_context *remote_ldb, struct libnet_JoinDomain *libnet_r);
NTSTATUS JoinDomain(TALLOC_CTX *mem_ctx, struct libnet_JoinDomain *r);
NTSTATUS Join(TALLOC_CTX *mem_ctx, struct libnet_Join *r);
NTSTATUS RpcConnect(TALLOC_CTX *mem_ctx, struct libnet_RpcConnect *r);
NTSTATUS RemoteTOD(TALLOC_CTX *mem_ctx, union libnet_RemoteTOD *r);
NTSTATUS ChangePassword(TALLOC_CTX *mem_ctx, union libnet_ChangePassword *r);
NTSTATUS SetPassword(TALLOC_CTX *mem_ctx, union libnet_SetPassword *r);
}
} libnet;

102
source4/libnet/net.py Normal file
View File

@ -0,0 +1,102 @@
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.33
#
# Don't modify this file, modify the SWIG interface instead.
import _net
import new
new_instancemethod = new.instancemethod
try:
_swig_property = property
except NameError:
pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'PySwigObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
if method: return method(self,value)
if (not static) or hasattr(self,name):
self.__dict__[name] = value
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self,class_type,name,value):
return _swig_setattr_nondynamic(self,class_type,name,value,0)
def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError,name
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
import types
try:
_object = types.ObjectType
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
del types
def _swig_setattr_nondynamic_method(set):
def set_attr(self,name,value):
if (name == "thisown"): return self.this.own(value)
if hasattr(self,name) or (name == "this"):
set(self,name,value)
else:
raise AttributeError("You cannot add attributes to %s" % self)
return set_attr
import events
libnet_context_init = _net.libnet_context_init
class libnet(object):
thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
__repr__ = _swig_repr
def __init__(self, *args, **kwargs):
_net.libnet_swiginit(self,_net.new_libnet(*args, **kwargs))
__swig_destroy__ = _net.delete_libnet
libnet.samsync_ldb = new_instancemethod(_net.libnet_samsync_ldb,None,libnet)
libnet.DomainList = new_instancemethod(_net.libnet_DomainList,None,libnet)
libnet.DomainClose = new_instancemethod(_net.libnet_DomainClose,None,libnet)
libnet.DomainOpen = new_instancemethod(_net.libnet_DomainOpen,None,libnet)
libnet.LookupName = new_instancemethod(_net.libnet_LookupName,None,libnet)
libnet.LookupDCs = new_instancemethod(_net.libnet_LookupDCs,None,libnet)
libnet.LookupHost = new_instancemethod(_net.libnet_LookupHost,None,libnet)
libnet.Lookup = new_instancemethod(_net.libnet_Lookup,None,libnet)
libnet.ListShares = new_instancemethod(_net.libnet_ListShares,None,libnet)
libnet.AddShare = new_instancemethod(_net.libnet_AddShare,None,libnet)
libnet.DelShare = new_instancemethod(_net.libnet_DelShare,None,libnet)
libnet.GroupList = new_instancemethod(_net.libnet_GroupList,None,libnet)
libnet.GroupInfo = new_instancemethod(_net.libnet_GroupInfo,None,libnet)
libnet.UserList = new_instancemethod(_net.libnet_UserList,None,libnet)
libnet.UserInfo = new_instancemethod(_net.libnet_UserInfo,None,libnet)
libnet.ModifyUser = new_instancemethod(_net.libnet_ModifyUser,None,libnet)
libnet.DeleteUser = new_instancemethod(_net.libnet_DeleteUser,None,libnet)
libnet.CreateUser = new_instancemethod(_net.libnet_CreateUser,None,libnet)
libnet.SamDump_keytab = new_instancemethod(_net.libnet_SamDump_keytab,None,libnet)
libnet.SamDump = new_instancemethod(_net.libnet_SamDump,None,libnet)
libnet.SamSync_netlogon = new_instancemethod(_net.libnet_SamSync_netlogon,None,libnet)
libnet.UnbecomeDC = new_instancemethod(_net.libnet_UnbecomeDC,None,libnet)
libnet.BecomeDC = new_instancemethod(_net.libnet_BecomeDC,None,libnet)
libnet.JoinSite = new_instancemethod(_net.libnet_JoinSite,None,libnet)
libnet.JoinDomain = new_instancemethod(_net.libnet_JoinDomain,None,libnet)
libnet.Join = new_instancemethod(_net.libnet_Join,None,libnet)
libnet.RpcConnect = new_instancemethod(_net.libnet_RpcConnect,None,libnet)
libnet.RemoteTOD = new_instancemethod(_net.libnet_RemoteTOD,None,libnet)
libnet.ChangePassword = new_instancemethod(_net.libnet_ChangePassword,None,libnet)
libnet.SetPassword = new_instancemethod(_net.libnet_SetPassword,None,libnet)
libnet_swigregister = _net.libnet_swigregister
libnet_swigregister(libnet)

4600
source4/libnet/net_wrap.c Normal file

File diff suppressed because it is too large Load Diff