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:
parent
77c825f08b
commit
c2d16f46a3
@ -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
68
source4/libnet/net.i
Normal 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
102
source4/libnet/net.py
Normal 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
4600
source4/libnet/net_wrap.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user