[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-1392-g764b787

Andrew Bartlett abartlet at samba.org
Fri Mar 28 11:05:37 GMT 2008


The branch, v4-0-test has been updated
       via  764b7879d23bfa413a6747226f377ce2eaeaea26 (commit)
       via  727ef40c2b56910028ef3c1092b8eab1bfa6ce63 (commit)
       via  ebe5e8399422eb7e2ff4deb546338823e2718907 (commit)
      from  326ae6ce9c8a6f5800d5ecb4a2bfdfc32336797d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 764b7879d23bfa413a6747226f377ce2eaeaea26
Merge: 727ef40c2b56910028ef3c1092b8eab1bfa6ce63 326ae6ce9c8a6f5800d5ecb4a2bfdfc32336797d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Mar 28 22:04:52 2008 +1100

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local

commit 727ef40c2b56910028ef3c1092b8eab1bfa6ce63
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Mar 28 21:57:15 2008 +1100

    Fix and test python scripts and kerberos
    
    This fixes up the python credentials interface in a number of areas,
    with the aim of supporting '-k yes' as a command line option.  (This
    enables the use of kerberos).
    
    As such, I've had to change the get_credentials call to take a
    loadparm context, so that the credentials can be initialised
    correctly.
    
    The test_kinit script has been modified to prove that this continues
    to work, as well as to provide greater code coverage of the kerberos
    paths.
    
    Andrew Bartlett

commit ebe5e8399422eb7e2ff4deb546338823e2718907
Author: Andrew Kroeger <andrew at sprocks.gotdns.com>
Date:   Fri Mar 28 01:08:49 2008 -0500

    Convert some more files to GPLv3.

-----------------------------------------------------------------------

Summary of changes:
 source/auth/credentials/credentials.i         |   13 +++-
 source/auth/credentials/credentials.py        |    5 +
 source/auth/credentials/credentials_wrap.c    |  106 ++++++++++++++++++++++---
 source/auth/credentials/tests/bindings.py     |    2 +
 source/build/pasn1/asn1.yp                    |    2 +-
 source/dsdb/samdb/ldb_modules/partition.c     |    2 +-
 source/dsdb/samdb/ldb_modules/samldb.c        |    2 +-
 source/dsdb/samdb/ldb_modules/schema.c        |    2 -
 source/dsdb/samdb/ldb_modules/schema_syntax.c |    2 -
 source/dsdb/samdb/ldb_modules/schema_syntax.h |    2 -
 source/lib/ldb/tests/python/ldap.py           |    2 +-
 source/lib/policy/adm.h                       |    2 +-
 source/lib/policy/dumpadm.c                   |    2 +-
 source/lib/policy/lex.c                       |    2 +-
 source/lib/policy/lex.l                       |    2 +-
 source/lib/policy/parse_adm.y                 |    2 +-
 source/lib/registry/hive.c                    |    2 +-
 source/lib/registry/hive.h                    |    2 +-
 source/lib/registry/local.c                   |    2 +-
 source/lib/registry/patchfile.h               |    2 +-
 source/lib/registry/patchfile_dotreg.c        |    2 +-
 source/lib/registry/patchfile_preg.c          |    2 +-
 source/lib/registry/tests/hive.c              |    2 +-
 source/lib/registry/tests/registry.c          |    2 +-
 source/libnet/libnet_group.h                  |    2 +-
 source/pidl/idl.yp                            |    2 +-
 source/scripting/bin/smbstatus                |    2 +-
 source/scripting/bin/winreg                   |    2 +-
 source/scripting/libjs/auth.js                |    2 +-
 source/scripting/libjs/base.js                |    2 +-
 source/scripting/libjs/encoder.js             |    2 +-
 source/scripting/libjs/management.js          |    2 +-
 source/scripting/libjs/provision.js           |    2 +-
 source/scripting/libjs/samr.js                |    2 +-
 source/scripting/libjs/server_call.js         |    2 +-
 source/scripting/libjs/winreg.js              |    2 +-
 source/scripting/python/samba/getopt.py       |   15 +++-
 source/scripting/python/samba/tests/samdb.py  |    1 +
 source/scripting/python/subunit/__init__.py   |    2 +-
 source/selftest/samba4_tests.sh               |    2 +-
 source/selftest/test_win.sh                   |    2 +-
 source/selftest/win/VMHost.pm                 |    2 +-
 source/selftest/win/common.exp                |    2 +-
 source/selftest/win/vm_get_ip.pl              |    2 +-
 source/selftest/win/vm_load_snapshot.pl       |    2 +-
 source/selftest/win/wintest_client.exp        |    2 +-
 source/selftest/win/wintest_remove.exp        |    2 +-
 source/selftest/win/wintest_setup.exp         |    2 +-
 source/setup/enableaccount                    |    7 +-
 source/setup/newuser                          |    2 +-
 source/setup/provision                        |    5 +-
 source/setup/provision-backend.js             |    2 +-
 source/setup/setpassword                      |    2 +-
 source/setup/upgrade.py                       |    6 +-
 source/torture/rpc/dfs.c                      |    2 +-
 source/torture/rpc/frsapi.c                   |    2 +-
 source/torture/rpc/spoolss_notify.c           |    2 +-
 swat/scripting/client/call.js                 |    2 +-
 swat/scripting/client/desktop.js              |    2 +-
 swat/scripting/client/encoder.js              |    2 +-
 swat/scripting/client/js_scripts.js           |    2 +-
 swat/scripting/client/regedit.js              |    2 +-
 swat/scripting/client/status.js               |    2 +-
 testprogs/blackbox/test_kinit.sh              |   28 ++++---
 64 files changed, 204 insertions(+), 92 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/auth/credentials/credentials.i b/source/auth/credentials/credentials.i
index 41ec675..0a604cf 100644
--- a/source/auth/credentials/credentials.i
+++ b/source/auth/credentials/credentials.i
@@ -39,6 +39,10 @@ typedef struct cli_credentials cli_credentials;
     $1 = NULL;
 }
 
+%constant int AUTO_USE_KERBEROS = CRED_AUTO_USE_KERBEROS;
+%constant int DONT_USE_KERBEROS = CRED_DONT_USE_KERBEROS;
+%constant int MUST_USE_KERBEROS = CRED_MUST_USE_KERBEROS;
+
 %{
 #include "librpc/gen_ndr/samr.h" /* for struct samr_Password */
 %}
@@ -52,7 +56,7 @@ typedef struct cli_credentials cli_credentials;
 typedef struct cli_credentials {
     %extend {
         cli_credentials(void) {
-            return cli_credentials_init_anon(NULL);
+            return cli_credentials_init(NULL);
         }
         /* username */
         const char *get_username(void);
@@ -74,13 +78,18 @@ typedef struct cli_credentials {
         bool set_realm(const char *val, 
                        enum credentials_obtained=CRED_SPECIFIED);
 
+	/* Kerberos */
+        void set_kerberos_state(enum credentials_use_kerberos use_kerberos);
+
         void parse_string(const char *text,
-                       enum credentials_obtained=CRED_SPECIFIED);
+ 	                  enum credentials_obtained=CRED_SPECIFIED);
 
         /* bind dn */
         const char *get_bind_dn(void);
         bool set_bind_dn(const char *bind_dn);
 
+   	void set_anonymous();
+
         /* workstation name */
         const char *get_workstation(void);
         bool set_workstation(const char *workstation, 
diff --git a/source/auth/credentials/credentials.py b/source/auth/credentials/credentials.py
index 14526af..2b40fbe 100644
--- a/source/auth/credentials/credentials.py
+++ b/source/auth/credentials/credentials.py
@@ -58,6 +58,9 @@ def _swig_setattr_nondynamic_method(set):
 
 
 import param
+AUTO_USE_KERBEROS = _credentials.AUTO_USE_KERBEROS
+DONT_USE_KERBEROS = _credentials.DONT_USE_KERBEROS
+MUST_USE_KERBEROS = _credentials.MUST_USE_KERBEROS
 class Credentials(object):
     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -72,9 +75,11 @@ Credentials.get_domain = new_instancemethod(_credentials.Credentials_get_domain,
 Credentials.set_domain = new_instancemethod(_credentials.Credentials_set_domain,None,Credentials)
 Credentials.get_realm = new_instancemethod(_credentials.Credentials_get_realm,None,Credentials)
 Credentials.set_realm = new_instancemethod(_credentials.Credentials_set_realm,None,Credentials)
+Credentials.set_kerberos_state = new_instancemethod(_credentials.Credentials_set_kerberos_state,None,Credentials)
 Credentials.parse_string = new_instancemethod(_credentials.Credentials_parse_string,None,Credentials)
 Credentials.get_bind_dn = new_instancemethod(_credentials.Credentials_get_bind_dn,None,Credentials)
 Credentials.set_bind_dn = new_instancemethod(_credentials.Credentials_set_bind_dn,None,Credentials)
+Credentials.set_anonymous = new_instancemethod(_credentials.Credentials_set_anonymous,None,Credentials)
 Credentials.get_workstation = new_instancemethod(_credentials.Credentials_get_workstation,None,Credentials)
 Credentials.set_workstation = new_instancemethod(_credentials.Credentials_set_workstation,None,Credentials)
 Credentials.guess = new_instancemethod(_credentials.Credentials_guess,None,Credentials)
diff --git a/source/auth/credentials/credentials_wrap.c b/source/auth/credentials/credentials_wrap.c
index b1b904c..909233a 100644
--- a/source/auth/credentials/credentials_wrap.c
+++ b/source/auth/credentials/credentials_wrap.c
@@ -2462,7 +2462,7 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_int swig_types[3]
 #define SWIGTYPE_p_loadparm_context swig_types[4]
 #define SWIGTYPE_p_loadparm_service swig_types[5]
-#define SWIGTYPE_p_long_long swig_types[6]
+#define SWIGTYPE_p_long swig_types[6]
 #define SWIGTYPE_p_param_context swig_types[7]
 #define SWIGTYPE_p_param_opt swig_types[8]
 #define SWIGTYPE_p_param_section swig_types[9]
@@ -2470,7 +2470,7 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_signed_char swig_types[11]
 #define SWIGTYPE_p_unsigned_char swig_types[12]
 #define SWIGTYPE_p_unsigned_int swig_types[13]
-#define SWIGTYPE_p_unsigned_long_long swig_types[14]
+#define SWIGTYPE_p_unsigned_long swig_types[14]
 #define SWIGTYPE_p_unsigned_short swig_types[15]
 static swig_type_info *swig_types[17];
 static swig_module_info swig_module = {swig_types, 16, 0, 0, 0, 0};
@@ -2525,10 +2525,20 @@ static swig_module_info swig_module = {swig_types, 16, 0, 0, 0, 0};
 typedef struct cli_credentials cli_credentials;
 
 
+  #define SWIG_From_long   PyInt_FromLong 
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_From_int  (int value)
+{    
+  return SWIG_From_long  (value);
+}
+
+
 #include "librpc/gen_ndr/samr.h" /* for struct samr_Password */
 
 SWIGINTERN cli_credentials *new_cli_credentials(){
-            return cli_credentials_init_anon(NULL);
+            return cli_credentials_init(NULL);
         }
 
 SWIGINTERN swig_type_info*
@@ -3131,6 +3141,44 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_Credentials_set_kerberos_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  cli_credentials *arg1 = (cli_credentials *) 0 ;
+  enum credentials_use_kerberos arg2 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  int val2 ;
+  int ecode2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self",(char *) "use_kerberos", NULL 
+  };
+  
+  arg1 = NULL;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:Credentials_set_kerberos_state",kwnames,&obj0,&obj1)) SWIG_fail;
+  if (obj0) {
+    res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_cli_credentials, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Credentials_set_kerberos_state" "', argument " "1"" of type '" "cli_credentials *""'"); 
+    }
+    arg1 = (cli_credentials *)(argp1);
+  }
+  if (obj1) {
+    ecode2 = SWIG_AsVal_int(obj1, &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Credentials_set_kerberos_state" "', argument " "2"" of type '" "enum credentials_use_kerberos""'");
+    } 
+    arg2 = (enum credentials_use_kerberos)(val2);
+  }
+  cli_credentials_set_kerberos_state(arg1,arg2);
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_Credentials_parse_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   cli_credentials *arg1 = (cli_credentials *) 0 ;
@@ -3253,6 +3301,33 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_Credentials_set_anonymous(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+  PyObject *resultobj = 0;
+  cli_credentials *arg1 = (cli_credentials *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  char *  kwnames[] = {
+    (char *) "self", NULL 
+  };
+  
+  arg1 = NULL;
+  if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:Credentials_set_anonymous",kwnames,&obj0)) SWIG_fail;
+  if (obj0) {
+    res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_cli_credentials, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Credentials_set_anonymous" "', argument " "1"" of type '" "cli_credentials *""'"); 
+    }
+    arg1 = (cli_credentials *)(argp1);
+  }
+  cli_credentials_set_anonymous(arg1);
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_Credentials_get_workstation(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
   PyObject *resultobj = 0;
   cli_credentials *arg1 = (cli_credentials *) 0 ;
@@ -3564,9 +3639,11 @@ static PyMethodDef SwigMethods[] = {
 	 { (char *)"Credentials_set_domain", (PyCFunction) _wrap_Credentials_set_domain, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_get_realm", (PyCFunction) _wrap_Credentials_get_realm, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_set_realm", (PyCFunction) _wrap_Credentials_set_realm, METH_VARARGS | METH_KEYWORDS, NULL},
+	 { (char *)"Credentials_set_kerberos_state", (PyCFunction) _wrap_Credentials_set_kerberos_state, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_parse_string", (PyCFunction) _wrap_Credentials_parse_string, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_get_bind_dn", (PyCFunction) _wrap_Credentials_get_bind_dn, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_set_bind_dn", (PyCFunction) _wrap_Credentials_set_bind_dn, METH_VARARGS | METH_KEYWORDS, NULL},
+	 { (char *)"Credentials_set_anonymous", (PyCFunction) _wrap_Credentials_set_anonymous, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_get_workstation", (PyCFunction) _wrap_Credentials_get_workstation, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_set_workstation", (PyCFunction) _wrap_Credentials_set_workstation, METH_VARARGS | METH_KEYWORDS, NULL},
 	 { (char *)"Credentials_guess", (PyCFunction) _wrap_Credentials_guess, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -3587,18 +3664,18 @@ static PyMethodDef SwigMethods[] = {
 static swig_type_info _swigt__p_TALLOC_CTX = {"_p_TALLOC_CTX", "TALLOC_CTX *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_cli_credentials = {"_p_cli_credentials", "struct cli_credentials *|cli_credentials *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "int *|int_least32_t *|int32_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_loadparm_context = {"_p_loadparm_context", "struct loadparm_context *|loadparm_context *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_loadparm_service = {"_p_loadparm_service", "struct loadparm_service *|loadparm_service *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_long_long = {"_p_long_long", "int_least64_t *|int_fast64_t *|int64_t *|long long *|intmax_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_long = {"_p_long", "intptr_t *|int_least64_t *|int_fast32_t *|int_fast64_t *|int64_t *|long *|int_fast16_t *|intmax_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_param_context = {"_p_param_context", "struct param_context *|param *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_param_opt = {"_p_param_opt", "struct param_opt *|param_opt *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_param_section = {"_p_param_section", "struct param_section *|param_section *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *|int16_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|int_least8_t *|int_fast8_t *|int8_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uint_least8_t *|uint_fast8_t *|uint8_t *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "uintptr_t *|uint_least32_t *|uint_fast32_t *|uint32_t *|unsigned int *|uint_fast16_t *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "uint_least64_t *|uint_fast64_t *|uint64_t *|unsigned long long *|uintmax_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "uint_least32_t *|uint32_t *|unsigned int *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "uintptr_t *|uint_least64_t *|uint_fast32_t *|uint_fast64_t *|uint64_t *|unsigned long *|uint_fast16_t *|uintmax_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|uint_least16_t *|uint16_t *", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {
@@ -3608,7 +3685,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_int,
   &_swigt__p_loadparm_context,
   &_swigt__p_loadparm_service,
-  &_swigt__p_long_long,
+  &_swigt__p_long,
   &_swigt__p_param_context,
   &_swigt__p_param_opt,
   &_swigt__p_param_section,
@@ -3616,7 +3693,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_signed_char,
   &_swigt__p_unsigned_char,
   &_swigt__p_unsigned_int,
-  &_swigt__p_unsigned_long_long,
+  &_swigt__p_unsigned_long,
   &_swigt__p_unsigned_short,
 };
 
@@ -3626,7 +3703,7 @@ static swig_cast_info _swigc__p_cli_credentials[] = {  {&_swigt__p_cli_credentia
 static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_loadparm_context[] = {  {&_swigt__p_loadparm_context, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_loadparm_service[] = {  {&_swigt__p_loadparm_service, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_long_long[] = {  {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long[] = {  {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_param_context[] = {  {&_swigt__p_param_context, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_param_opt[] = {  {&_swigt__p_param_opt, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_param_section[] = {  {&_swigt__p_param_section, 0, 0, 0},{0, 0, 0, 0}};
@@ -3634,7 +3711,7 @@ static swig_cast_info _swigc__p_short[] = {  {&_swigt__p_short, 0, 0, 0},{0, 0,
 static swig_cast_info _swigc__p_signed_char[] = {  {&_swigt__p_signed_char, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_char[] = {  {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_unsigned_long_long[] = {  {&_swigt__p_unsigned_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_short[] = {  {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
 
 static swig_cast_info *swig_cast_initial[] = {
@@ -3644,7 +3721,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_int,
   _swigc__p_loadparm_context,
   _swigc__p_loadparm_service,
-  _swigc__p_long_long,
+  _swigc__p_long,
   _swigc__p_param_context,
   _swigc__p_param_opt,
   _swigc__p_param_section,
@@ -3652,7 +3729,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_signed_char,
   _swigc__p_unsigned_char,
   _swigc__p_unsigned_int,
-  _swigc__p_unsigned_long_long,
+  _swigc__p_unsigned_long,
   _swigc__p_unsigned_short,
 };
 
@@ -4174,5 +4251,8 @@ SWIGEXPORT void SWIG_init(void) {
   SWIG_InstallConstants(d,swig_const_table);
   
   
+  SWIG_Python_SetConstant(d, "AUTO_USE_KERBEROS",SWIG_From_int((int)(CRED_AUTO_USE_KERBEROS)));
+  SWIG_Python_SetConstant(d, "DONT_USE_KERBEROS",SWIG_From_int((int)(CRED_DONT_USE_KERBEROS)));
+  SWIG_Python_SetConstant(d, "MUST_USE_KERBEROS",SWIG_From_int((int)(CRED_MUST_USE_KERBEROS)));
 }
 
diff --git a/source/auth/credentials/tests/bindings.py b/source/auth/credentials/tests/bindings.py
index d2ca68d..d0a9950 100644
--- a/source/auth/credentials/tests/bindings.py
+++ b/source/auth/credentials/tests/bindings.py
@@ -67,6 +67,8 @@ class CredentialsTests(unittest.TestCase):
         self.assertTrue(self.creds.is_anonymous())
         self.creds.set_username("somebody")
         self.assertFalse(self.creds.is_anonymous())
+        self.creds.set_anonymous()
+        self.assertTrue(self.creds.is_anonymous())
 
     def test_workstation(self):
         # FIXME: This is uninitialised, it should be None
diff --git a/source/build/pasn1/asn1.yp b/source/build/pasn1/asn1.yp
index 9a77bbc..7fc834f 100644
--- a/source/build/pasn1/asn1.yp
+++ b/source/build/pasn1/asn1.yp
@@ -1,7 +1,7 @@
 ########################
 # ASN.1 Parse::Yapp parser
 # Copyright (C) Stefan (metze) Metzmacher <metze at samba.org>
-# released under the GNU GPL version 2 or later
+# released under the GNU GPL version 3 or later
 
 
 
diff --git a/source/dsdb/samdb/ldb_modules/partition.c b/source/dsdb/samdb/ldb_modules/partition.c
index 78b5a09..56b0569 100644
--- a/source/dsdb/samdb/ldb_modules/partition.c
+++ b/source/dsdb/samdb/ldb_modules/partition.c
@@ -6,7 +6,7 @@
    Copyright (C) Stefan Metzmacher <metze at samba.org> 2007
 
    * NOTICE: this module is NOT released under the GNU LGPL license as
-   * other ldb code. This module is release under the GNU GPL v2 or
+   * other ldb code. This module is release under the GNU GPL v3 or
    * later license.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/source/dsdb/samdb/ldb_modules/samldb.c b/source/dsdb/samdb/ldb_modules/samldb.c
index 5407db9..3b67ca1 100644
--- a/source/dsdb/samdb/ldb_modules/samldb.c
+++ b/source/dsdb/samdb/ldb_modules/samldb.c
@@ -5,7 +5,7 @@
    Copyright (C) Andrew Bartlett <abartlet at samba.org> 2005
 
    * NOTICE: this module is NOT released under the GNU LGPL license as
-   * other ldb code. This module is release under the GNU GPL v2 or
+   * other ldb code. This module is release under the GNU GPL v3 or
    * later license.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/source/dsdb/samdb/ldb_modules/schema.c b/source/dsdb/samdb/ldb_modules/schema.c
index ff9530c..f2c4d38 100644
--- a/source/dsdb/samdb/ldb_modules/schema.c
+++ b/source/dsdb/samdb/ldb_modules/schema.c
@@ -25,8 +25,6 @@
  *  Description: add schema check functionality
  *
  *  Author: Simo Sorce
- *
- *  License: GNU GPL v2 or Later
  */
 
 #include "includes.h"
diff --git a/source/dsdb/samdb/ldb_modules/schema_syntax.c b/source/dsdb/samdb/ldb_modules/schema_syntax.c
index f737cc6..d800e4b 100644
--- a/source/dsdb/samdb/ldb_modules/schema_syntax.c
+++ b/source/dsdb/samdb/ldb_modules/schema_syntax.c
@@ -25,8 +25,6 @@
  *  Description: add schema syntax functionality
  *
  *  Author: Simo Sorce
- *
- *  License: GNU GPL v2 or Later
  */
 
 #include "includes.h"
diff --git a/source/dsdb/samdb/ldb_modules/schema_syntax.h b/source/dsdb/samdb/ldb_modules/schema_syntax.h
index fa3fdbe..37f7584 100644
--- a/source/dsdb/samdb/ldb_modules/schema_syntax.h
+++ b/source/dsdb/samdb/ldb_modules/schema_syntax.h
@@ -25,8 +25,6 @@
  *  Description: add schema syntax functionality
  *
  *  Author: Simo Sorce
- *
- *  License: GNU GPL v2 or Later
  */
 
 
diff --git a/source/lib/ldb/tests/python/ldap.py b/source/lib/ldb/tests/python/ldap.py
index f75bb81..ead5796 100755
--- a/source/lib/ldb/tests/python/ldap.py
+++ b/source/lib/ldb/tests/python/ldap.py
@@ -25,7 +25,6 @@ parser.add_option_group(options.VersionOptions(parser))
 # use command line creds if available
 credopts = options.CredentialsOptions(parser)
 parser.add_option_group(credopts)
-creds = credopts.get_credentials()
 opts, args = parser.parse_args()
 
 if len(args) < 1:
@@ -35,6 +34,7 @@ if len(args) < 1:
 host = args[0]
 
 lp = sambaopts.get_loadparm()
+creds = credopts.get_credentials(lp)
 
 class BasicTests(unittest.TestCase):
     def delete_force(self, ldb, dn):
diff --git a/source/lib/policy/adm.h b/source/lib/policy/adm.h
index 90889fe..c541ced 100644
--- a/source/lib/policy/adm.h
+++ b/source/lib/policy/adm.h
@@ -5,7 +5,7 @@
    
    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 2 of the License, or
+   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,
diff --git a/source/lib/policy/dumpadm.c b/source/lib/policy/dumpadm.c
index 1553ce6..2ed5abf 100644
--- a/source/lib/policy/dumpadm.c
+++ b/source/lib/policy/dumpadm.c
@@ -5,7 +5,7 @@
    
    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 2 of the License, or
+   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,
diff --git a/source/lib/policy/lex.c b/source/lib/policy/lex.c
index c2899aa..6d52444 100644
--- a/source/lib/policy/lex.c
+++ b/source/lib/policy/lex.c
@@ -572,7 +572,7 @@ char *yytext;
    
    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 2 of the License, or
+   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,
diff --git a/source/lib/policy/lex.l b/source/lib/policy/lex.l
index 199cd22..dc1f0aa 100644
--- a/source/lib/policy/lex.l
+++ b/source/lib/policy/lex.l
@@ -5,7 +5,7 @@
    
    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 2 of the License, or
+   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,
diff --git a/source/lib/policy/parse_adm.y b/source/lib/policy/parse_adm.y
index 1dc21cf..23c5e77 100644
--- a/source/lib/policy/parse_adm.y
+++ b/source/lib/policy/parse_adm.y
@@ -5,7 +5,7 @@
    
    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 2 of the License, or
+   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,
diff --git a/source/lib/registry/hive.c b/source/lib/registry/hive.c
index ad6a642..fc2d0fe 100644
--- a/source/lib/registry/hive.c
+++ b/source/lib/registry/hive.c
@@ -6,7 +6,7 @@
 
    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 2 of the License, or
+   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,
diff --git a/source/lib/registry/hive.h b/source/lib/registry/hive.h
index 87f3356..2410885 100644
--- a/source/lib/registry/hive.h
+++ b/source/lib/registry/hive.h
@@ -5,7 +5,7 @@
 
    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 2 of the License, or
+   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,
diff --git a/source/lib/registry/local.c b/source/lib/registry/local.c
index 3e46310..5bf2d86 100644
--- a/source/lib/registry/local.c
+++ b/source/lib/registry/local.c
@@ -5,7 +5,7 @@
 
    This program is free software; you can redistribute it and/or modify


-- 
Samba Shared Repository


More information about the samba-cvs mailing list