From 2720db90c110908c3d077028b82c4a6a5f8c2c51 Mon Sep 17 00:00:00 2001 From: Deryck Hodge Date: Thu, 27 Apr 2006 20:52:04 +0000 Subject: r15299: Fix import of Python modules. Fixes Bug #3567. The REGVAL_CTR part is taken from Daniel Jarboe's patch he filed with the bug report. deryck (This used to be commit 7ca24b996628707b7e8a05041d173f046f428413) --- source3/python/py_common.c | 6 +++++- source3/python/py_spoolss_printerdata.c | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/python/py_common.c b/source3/python/py_common.c index 70d478b979..14c3b83e54 100644 --- a/source3/python/py_common.c +++ b/source3/python/py_common.c @@ -45,6 +45,8 @@ void py_samba_init(void) if (initialised) return; + load_case_tables(); + /* Load configuration file */ if (!lp_load(dyn_CONFIGFILE, True, False, False, True)) @@ -212,6 +214,7 @@ struct cli_state *open_pipe_creds(char *server, PyObject *creds, { char *username, *password, *domain; struct cli_state *cli; + struct rpc_pipe_client *pipe_hnd; NTSTATUS result; /* Extract credentials from the python dictionary */ @@ -230,7 +233,8 @@ struct cli_state *open_pipe_creds(char *server, PyObject *creds, return NULL; } - if (!cli_nt_session_open(cli, pipe_idx)) { + pipe_hnd = cli_rpc_pipe_open_noauth(cli, pipe_idx, &result); + if (!pipe_hnd) { cli_shutdown(cli); asprintf(errstr, "error opening pipe index %d", pipe_idx); return NULL; diff --git a/source3/python/py_spoolss_printerdata.c b/source3/python/py_spoolss_printerdata.c index 195f01f62d..e89f985fef 100644 --- a/source3/python/py_spoolss_printerdata.c +++ b/source3/python/py_spoolss_printerdata.c @@ -315,11 +315,16 @@ PyObject *spoolss_hnd_enumprinterdataex(PyObject *self, PyObject *args, PyObject char *key; WERROR werror; PyObject *result; - REGVAL_CTR ctr; + REGVAL_CTR *ctr; if (!PyArg_ParseTupleAndKeywords(args, kw, "s", kwlist, &key)) return NULL; + if (!(ctr = TALLOC_ZERO_P(hnd->mem_ctx, REGVAL_CTR))) { + PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); + return NULL; + } + /* Get max buffer sizes for value and data */ werror = rpccli_spoolss_enumprinterdataex( -- cgit