~lefteris-nikoltsios/+junk/samba-lp1016895

« back to all changes in this revision

Viewing changes to source3/librpc/gen_ndr/py_keysvc.c

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-12-21 13:18:04 UTC
  • mfrom: (0.39.21 sid)
  • Revision ID: package-import@ubuntu.com-20111221131804-xtlr39wx6njehxxr
Tags: 2:3.6.1-3ubuntu1
* Merge from Debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/patches/error-trans.fix-276472:
    - Add the translation of Unix Error code -ENOTSUP to NT Error Code
    - NT_STATUS_NOT_SUPPORTED to prevent the Permission denied error.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are 
      allowed to create public shares in addition to authenticated
      ones.
    - add map to guest = Bad user, maps bad username to guest access.
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/control:
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
  + Add apport hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + Switch to upstart:
    - Add debian/samba.{nmbd,smbd}.upstart.
  + debian/samba.logrotate, debian/samba-common.dhcp, debian/samba.if-up:
    - Make them upstart compatible
  + debian/samba.postinst: 
    - Avoid scary pdbedit warnings on first import.
  + debian/samba-common.postinst: Add more informative error message for
    the case where smb.conf was manually deleted
  + debian/patches/fix-debuglevel-name-conflict.patch: don't use 'debug_level'
    as a global variable name in an NSS module 
  + Dropped:
    - debian/patches/error-trans.fix-276472
    - debian/patches/fix-debuglevel-name-conflict.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/* Python wrapper functions auto-generated by pidl */
 
3
#include <Python.h>
 
4
#include "includes.h"
 
5
#include <pytalloc.h>
 
6
#include "librpc/rpc/pyrpc.h"
 
7
#include "librpc/rpc/pyrpc_util.h"
 
8
#include "librpc/gen_ndr/ndr_keysvc.h"
 
9
#include "librpc/gen_ndr/ndr_keysvc_c.h"
 
10
 
 
11
staticforward PyTypeObject keysvc_InterfaceType;
 
12
 
 
13
void initkeysvc(void);static PyTypeObject *ClientConnection_Type;
 
14
 
 
15
static bool pack_py_keysvc_Unknown0_args_in(PyObject *args, PyObject *kwargs, struct keysvc_Unknown0 *r)
 
16
{
 
17
        const char *kwnames[] = {
 
18
                NULL
 
19
        };
 
20
 
 
21
        if (!PyArg_ParseTupleAndKeywords(args, kwargs, ":keysvc_Unknown0", discard_const_p(char *, kwnames))) {
 
22
                return false;
 
23
        }
 
24
 
 
25
        return true;
 
26
}
 
27
 
 
28
static PyObject *unpack_py_keysvc_Unknown0_args_out(struct keysvc_Unknown0 *r)
 
29
{
 
30
        PyObject *result;
 
31
        result = Py_None;
 
32
        Py_INCREF(result);
 
33
        if (!W_ERROR_IS_OK(r->out.result)) {
 
34
                PyErr_SetWERROR(r->out.result);
 
35
                return NULL;
 
36
        }
 
37
 
 
38
        return result;
 
39
}
 
40
 
 
41
const struct PyNdrRpcMethodDef py_ndr_keysvc_methods[] = {
 
42
        { "Unknown0", "S.Unknown0() -> None", (py_dcerpc_call_fn)dcerpc_keysvc_Unknown0_r, (py_data_pack_fn)pack_py_keysvc_Unknown0_args_in, (py_data_unpack_fn)unpack_py_keysvc_Unknown0_args_out, 0, &ndr_table_keysvc },
 
43
        { NULL }
 
44
};
 
45
 
 
46
static PyObject *interface_keysvc_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
 
47
{
 
48
        return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_keysvc);
 
49
}
 
50
 
 
51
#define PY_DOC_KEYSVC "Cryptographic Key Services"
 
52
static PyTypeObject keysvc_InterfaceType = {
 
53
        PyObject_HEAD_INIT(NULL) 0,
 
54
        .tp_name = "keysvc.keysvc",
 
55
        .tp_basicsize = sizeof(dcerpc_InterfaceObject),
 
56
        .tp_doc = "keysvc(binding, lp_ctx=None, credentials=None) -> connection\n"
 
57
"\n"
 
58
"binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
 
59
"lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
 
60
"credentials should be a credentials.Credentials object.\n\n"PY_DOC_KEYSVC,
 
61
        .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
 
62
        .tp_new = interface_keysvc_new,
 
63
};
 
64
 
 
65
static PyMethodDef keysvc_methods[] = {
 
66
        { NULL, NULL, 0, NULL }
 
67
};
 
68
 
 
69
void initkeysvc(void)
 
70
{
 
71
        PyObject *m;
 
72
        PyObject *dep_samba_dcerpc_base;
 
73
 
 
74
        dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
 
75
        if (dep_samba_dcerpc_base == NULL)
 
76
                return;
 
77
 
 
78
        ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
 
79
        if (ClientConnection_Type == NULL)
 
80
                return;
 
81
 
 
82
        keysvc_InterfaceType.tp_base = ClientConnection_Type;
 
83
 
 
84
        if (PyType_Ready(&keysvc_InterfaceType) < 0)
 
85
                return;
 
86
        if (!PyInterface_AddNdrRpcMethods(&keysvc_InterfaceType, py_ndr_keysvc_methods))
 
87
                return;
 
88
 
 
89
#ifdef PY_KEYSVC_PATCH
 
90
        PY_KEYSVC_PATCH(&keysvc_InterfaceType);
 
91
#endif
 
92
 
 
93
        m = Py_InitModule3("keysvc", keysvc_methods, "keysvc DCE/RPC");
 
94
        if (m == NULL)
 
95
                return;
 
96
 
 
97
        Py_INCREF((PyObject *)(void *)&keysvc_InterfaceType);
 
98
        PyModule_AddObject(m, "keysvc", (PyObject *)(void *)&keysvc_InterfaceType);
 
99
#ifdef PY_MOD_KEYSVC_PATCH
 
100
        PY_MOD_KEYSVC_PATCH(m);
 
101
#endif
 
102
 
 
103
}