[PYTHON::python_dcerpc]
LIBRARY_REALNAME = samba/dcerpc/base.$(SHLIBEXT)
-PUBLIC_DEPENDENCIES = LIBCLI_SMB LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG dcerpc_samr RPC_NDR_LSA DYNCONFIG pycredentials param
+PUBLIC_DEPENDENCIES = LIBCLI_SMB LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG dcerpc_samr RPC_NDR_LSA DYNCONFIG pycredentials pyparam_util
python_dcerpc_OBJ_FILES = $(dcerpcsrcdir)/pyrpc.o
[PYTHON::python_echo]
LIBRARY_REALNAME = samba/dcerpc/echo.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_ECHO PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_ECHO PYTALLOC pyparam_util pycredentials python_dcerpc
python_echo_OBJ_FILES = ../librpc/gen_ndr/py_echo.o
[PYTHON::python_winreg]
LIBRARY_REALNAME = samba/dcerpc/winreg.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_WINREG PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_WINREG PYTALLOC pyparam_util pycredentials python_dcerpc
python_winreg_OBJ_FILES = ../librpc/gen_ndr/py_winreg.o
[PYTHON::python_dcerpc_misc]
LIBRARY_REALNAME = samba/dcerpc/misc.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc
+PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc NDR_MISC NDR_KRB5PAC
python_dcerpc_misc_OBJ_FILES = ../librpc/gen_ndr/py_misc.o
[PYTHON::python_initshutdown]
LIBRARY_REALNAME = samba/dcerpc/initshutdown.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN PYTALLOC pyparam_util pycredentials python_dcerpc
python_initshutdown_OBJ_FILES = ../librpc/gen_ndr/py_initshutdown.o
[PYTHON::python_epmapper]
LIBRARY_REALNAME = samba/dcerpc/epmapper.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = dcerpc PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = dcerpc PYTALLOC pyparam_util pycredentials python_dcerpc
python_epmapper_OBJ_FILES = ../librpc/gen_ndr/py_epmapper.o
[PYTHON::python_atsvc]
LIBRARY_REALNAME = samba/dcerpc/atsvc.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = dcerpc_atsvc PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = dcerpc_atsvc PYTALLOC pyparam_util pycredentials python_dcerpc
python_atsvc_OBJ_FILES = ../librpc/gen_ndr/py_atsvc.o
[PYTHON::python_dcerpc_nbt]
LIBRARY_REALNAME = samba/dcerpc/nbt.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = NDR_NBT PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = NDR_NBT PYTALLOC pyparam_util pycredentials python_dcerpc
python_dcerpc_nbt_OBJ_FILES = ../librpc/gen_ndr/py_nbt.o
[PYTHON::python_samr]
LIBRARY_REALNAME = samba/dcerpc/samr.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = dcerpc_samr PYTALLOC pycredentials param python_dcerpc
+PRIVATE_DEPENDENCIES = dcerpc_samr PYTALLOC pycredentials pyparam_util python_dcerpc
python_samr_OBJ_FILES = ../librpc/gen_ndr/py_samr.o
[PYTHON::python_svcctl]
LIBRARY_REALNAME = samba/dcerpc/svcctl.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_SVCCTL PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_SVCCTL PYTALLOC pyparam_util pycredentials python_dcerpc
python_svcctl_OBJ_FILES = ../librpc/gen_ndr/py_svcctl.o
[PYTHON::python_lsa]
LIBRARY_REALNAME = samba/dcerpc/lsa.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_LSA PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_LSA PYTALLOC pyparam_util pycredentials python_dcerpc
python_lsa_OBJ_FILES = ../librpc/gen_ndr/py_lsa.o
[PYTHON::python_wkssvc]
LIBRARY_REALNAME = samba/dcerpc/wkssvc.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_WKSSVC PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_WKSSVC PYTALLOC pyparam_util pycredentials python_dcerpc
python_wkssvc_OBJ_FILES = ../librpc/gen_ndr/py_wkssvc.o
[PYTHON::python_dfs]
LIBRARY_REALNAME = samba/dcerpc/dfs.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_DFS PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_DFS PYTALLOC pyparam_util pycredentials python_dcerpc
python_dfs_OBJ_FILES = ../librpc/gen_ndr/py_dfs.o
[PYTHON::python_unixinfo]
LIBRARY_REALNAME = samba/dcerpc/unixinfo.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_UNIXINFO PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_UNIXINFO PYTALLOC pyparam_util pycredentials python_dcerpc
python_unixinfo_OBJ_FILES = ../librpc/gen_ndr/py_unixinfo.o
[PYTHON::python_irpc]
LIBRARY_REALNAME = samba/dcerpc/irpc.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_IRPC PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_IRPC PYTALLOC pyparam_util pycredentials python_dcerpc
python_irpc_OBJ_FILES = $(gen_ndrsrcdir)/py_irpc.o
[PYTHON::python_drsuapi]
LIBRARY_REALNAME = samba/dcerpc/drsuapi.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = RPC_NDR_DRSUAPI PYTALLOC param pycredentials python_dcerpc
+PRIVATE_DEPENDENCIES = RPC_NDR_DRSUAPI PYTALLOC pyparam_util pycredentials python_dcerpc
python_drsuapi_OBJ_FILES = ../librpc/gen_ndr/py_drsuapi.o
[PYTHON::python_dcerpc_security]
LIBRARY_REALNAME = samba/dcerpc/security.$(SHLIBEXT)
-PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc_misc python_dcerpc
+PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc_misc python_dcerpc NDR_SECURITY
python_dcerpc_security_OBJ_FILES = ../librpc/gen_ndr/py_security.o
.tp_flags = Py_TPFLAGS_DEFAULT,
};
-_PUBLIC_ struct loadparm_context *lp_from_py_object(PyObject *py_obj)
-{
- struct loadparm_context *lp_ctx;
- if (PyString_Check(py_obj)) {
- lp_ctx = loadparm_init(NULL);
- if (!lp_load(lp_ctx, PyString_AsString(py_obj))) {
- talloc_free(lp_ctx);
- PyErr_Format(PyExc_RuntimeError,
- "Unable to load %s", PyString_AsString(py_obj));
- return NULL;
- }
- return lp_ctx;
- }
-
- if (py_obj == Py_None) {
- lp_ctx = loadparm_init(NULL);
- /* We're not checking that loading the file succeeded *on purpose */
- lp_load_default(lp_ctx);
- return lp_ctx;
- }
-
- return PyLoadparmContext_AsLoadparmContext(py_obj);
-}
-
struct loadparm_context *py_default_loadparm_context(TALLOC_CTX *mem_ctx)
{
struct loadparm_context *ret;
--- /dev/null
+/*
+ Unix SMB/CIFS implementation.
+ Samba utility functions
+ Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008
+
+ 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/>.
+*/
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "includes.h"
+#include "param/param.h"
+#include "param/loadparm.h"
+#include <Python.h>
+#include "pytalloc.h"
+
+#define PyLoadparmContext_AsLoadparmContext(obj) py_talloc_get_type(obj, struct loadparm_context)
+
+_PUBLIC_ struct loadparm_context *lp_from_py_object(PyObject *py_obj)
+{
+ struct loadparm_context *lp_ctx;
+
+ if (PyString_Check(py_obj)) {
+ lp_ctx = loadparm_init(NULL);
+ if (!lp_load(lp_ctx, PyString_AsString(py_obj))) {
+ talloc_free(lp_ctx);
+ PyErr_Format(PyExc_RuntimeError, "Unable to load %s",
+ PyString_AsString(py_obj));
+ return NULL;
+ }
+ return lp_ctx;
+ }
+
+ if (py_obj == Py_None) {
+ lp_ctx = loadparm_init(NULL);
+ /* We're not checking that loading the file succeeded *on purpose */
+ lp_load_default(lp_ctx);
+ return lp_ctx;
+ }
+
+ return PyLoadparmContext_AsLoadparmContext(py_obj);
+}