svn commit: samba r26030 - in branches/4.0-python: .
source/auth/credentials source/auth/credentials/tests
source/lib/ldb/swig source/lib/registry source/setup
jelmer at samba.org
jelmer at samba.org
Mon Nov 19 18:20:17 GMT 2007
Author: jelmer
Date: 2007-11-19 18:20:16 +0000 (Mon, 19 Nov 2007)
New Revision: 26030
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26030
Log:
Add initial python bindings for the credentials code.
Added:
branches/4.0-python/source/auth/credentials/credentials.i
branches/4.0-python/source/auth/credentials/tests/bindings.py
branches/4.0-python/source/lib/registry/registry.i
Modified:
branches/4.0-python/
branches/4.0-python/source/auth/credentials/config.mk
branches/4.0-python/source/lib/ldb/swig/ldb.i
branches/4.0-python/source/lib/registry/config.mk
branches/4.0-python/source/lib/registry/hive.h
branches/4.0-python/source/setup/provision
Changeset:
Property changes on: branches/4.0-python
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...
Modified: branches/4.0-python/source/auth/credentials/config.mk
===================================================================
--- branches/4.0-python/source/auth/credentials/config.mk 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/auth/credentials/config.mk 2007-11-19 18:20:16 UTC (rev 26030)
@@ -11,4 +11,7 @@
KERBEROS_CORE \
LIBCLI_AUTH \
LIBEVENTS
-#KERBEROS
+
+[PYTHON::swig_credentials]
+PUBLIC_DEPENDENCIES = CREDENTIALS LIBPYTHON
+SWIG_FILE = credentials.i
Added: branches/4.0-python/source/auth/credentials/credentials.i
===================================================================
--- branches/4.0-python/source/auth/credentials/credentials.i 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/auth/credentials/credentials.i 2007-11-19 18:20:16 UTC (rev 26030)
@@ -0,0 +1,53 @@
+/*
+ Unix SMB/CIFS implementation.
+ Copyright (C) Jelmer Vernooij <jelmer at 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 credentials
+
+%{
+
+/* Include headers */
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "includes.h"
+#include "credentials.h"
+typedef struct cli_credentials cli_credentials;
+%}
+
+%include "carrays.i"
+%include "typemaps.i"
+
+%rename(Credentials) cli_credentials;
+typedef struct cli_credentials {
+ %extend {
+ cli_credentials() {
+ return cli_credentials_init(NULL);
+ }
+ ~cli_credentials() {
+ talloc_free($self);
+ }
+ bool set_username(const char *value,
+ enum credentials_obtained=CRED_SPECIFIED);
+ bool set_password(const char *val,
+ enum credentials_obtained=CRED_SPECIFIED);
+ bool set_domain(const char *val,
+ enum credentials_obtained=CRED_SPECIFIED);
+ bool set_realm(const char *val,
+ enum credentials_obtained=CRED_SPECIFIED);
+ }
+} cli_credentials;
Added: branches/4.0-python/source/auth/credentials/tests/bindings.py
===================================================================
--- branches/4.0-python/source/auth/credentials/tests/bindings.py 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/auth/credentials/tests/bindings.py 2007-11-19 18:20:16 UTC (rev 26030)
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+
+# Unix SMB/CIFS implementation.
+# Copyright (C) Jelmer Vernooij <jelmer at 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/>.
+#
+
+import unittest
+import credentials
+
+class CredentialsTests(unittest.TestCase):
+ def setUp(self):
+ self.creds = credentials.Credentials()
+
+ def test_set_username(self):
+ self.creds.set_username("somebody")
+
+ def test_set_password(self):
+ self.creds.set_password("S3CreT")
+
+ def test_set_domain(self):
+ self.creds.set_domain("ABMAS")
+
+ def test_set_realm(self):
+ self.creds.set_realm("myrealm")
Modified: branches/4.0-python/source/lib/ldb/swig/ldb.i
===================================================================
--- branches/4.0-python/source/lib/ldb/swig/ldb.i 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/lib/ldb/swig/ldb.i 2007-11-19 18:20:16 UTC (rev 26030)
@@ -29,14 +29,9 @@
%{
-/* Some typedefs to help swig along */
-
-typedef unsigned char uint8_t;
-typedef unsigned long long uint64_t;
-typedef long long int64_t;
-
/* Include headers */
+#include <stdint.h>
#include <stdbool.h>
#include "talloc.h"
#include "ldb.h"
Modified: branches/4.0-python/source/lib/registry/config.mk
===================================================================
--- branches/4.0-python/source/lib/registry/config.mk 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/lib/registry/config.mk 2007-11-19 18:20:16 UTC (rev 26030)
@@ -100,3 +100,8 @@
tests/hive.o \
tests/diff.o \
tests/registry.o
+
+[PYTHON::swig_registry]
+PUBLIC_DEPENDENCIES = registry LIBPYTHON
+SWIG_FILE = registry.i
+
Modified: branches/4.0-python/source/lib/registry/hive.h
===================================================================
--- branches/4.0-python/source/lib/registry/hive.h 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/lib/registry/hive.h 2007-11-19 18:20:16 UTC (rev 26030)
@@ -22,6 +22,7 @@
#define __REGISTRY_HIVE_H__
#include <talloc.h>
+#include "libcli/util/werror.h"
#include "librpc/gen_ndr/security.h"
#include "libcli/util/ntstatus.h"
Added: branches/4.0-python/source/lib/registry/registry.i
===================================================================
--- branches/4.0-python/source/lib/registry/registry.i 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/lib/registry/registry.i 2007-11-19 18:20:16 UTC (rev 26030)
@@ -0,0 +1,39 @@
+/*
+ Unix SMB/CIFS implementation.
+ Copyright (C) Jelmer Vernooij <jelmer at 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 registry
+
+%{
+
+/* Include headers */
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "includes.h"
+#include "registry.h"
+%}
+
+WERROR reg_open_local(TALLOC_CTX *mem_ctx,
+ struct registry_context **ctx,
+ struct auth_session_info *session_info,
+ struct cli_credentials *credentials);
+
+WERROR reg_open_samba(TALLOC_CTX *mem_ctx,
+ struct registry_context **ctx,
+ struct auth_session_info *session_info,
+ struct cli_credentials *credentials);
Modified: branches/4.0-python/source/setup/provision
===================================================================
--- branches/4.0-python/source/setup/provision 2007-11-19 15:01:03 UTC (rev 26029)
+++ branches/4.0-python/source/setup/provision 2007-11-19 18:20:16 UTC (rev 26030)
@@ -27,7 +27,7 @@
sys.path.append("scripting/python")
sys.path.append("lib/ldb/swig")
-from credentials import system_session
+from samba.credentials import system_session
import samba.getopt as options
import param
from samba.provision import (provision, provision_guess,
More information about the samba-cvs
mailing list