The branch, master has been updated
       via  c5a1aa5224395e2439e0468d653acfbd3faa25fc (commit)
       via  4aa335be113eb89d46fd560745136ed444691f6e (commit)
       via  077898b15819b28320bd049ad0fdfff34733a04f (commit)
       via  994506ae2eb7e8e7eb0463fb87b261eaecb04010 (commit)
       via  2d9b51c2a871ede1677dcf8cbf255429de431346 (commit)
       via  1e21adaaf6409ab3e2d33a5e48da282e1926a720 (commit)
       via  bc7b608625d427e9e6cb38312326eec59d571653 (commit)
       via  b08beed0dbc1228b599884ff14eb66ea5f8f732d (commit)
      from  8414048557305c62682c7d6c7a42a1f466e48a0a (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c5a1aa5224395e2439e0468d653acfbd3faa25fc
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Sat Jun 27 14:16:19 2009 +0200

    Correct some typos in the LDB partition module

commit 4aa335be113eb89d46fd560745136ed444691f6e
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Sat Jun 27 13:38:38 2009 +0200

    SAMDB: Don't check for "sAMAccountName" twice

commit 077898b15819b28320bd049ad0fdfff34733a04f
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Tue Jun 23 18:27:26 2009 +0200

    Enhancement of "simple ldap map" with "systemFlags" attribute
    
    Enhance the simple ldap map to support also the "systemFlags" attribute in 
the
    correct way.

commit 994506ae2eb7e8e7eb0463fb87b261eaecb04010
Author: Andrew Kroeger <and...@id10ts.net>
Date:   Tue Jun 23 07:26:17 2009 -0500

    ldb: Properly handle NULL when copying attr lists.
    
    When copying an attribute list, ensure the list itself is not NULL before
    attempting to access elements of the list.

commit 2d9b51c2a871ede1677dcf8cbf255429de431346
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Mon Jun 22 20:51:43 2009 +0200

    Correct the headers of some SAMBA 4 setup python scripts

commit 1e21adaaf6409ab3e2d33a5e48da282e1926a720
Author: Nathaniel McCallum <nathan...@natemccallum.com>
Date:   Mon Jun 22 15:26:33 2009 +0200

    Two patches which fix issues on cross compiling/building

commit bc7b608625d427e9e6cb38312326eec59d571653
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Sun Jun 21 19:07:02 2009 +0200

    Fixes for SAMBA3RPC torture test
    
    On calls where both NT_STATUS and WERROR results are returned and consulted
    we have to make sure to form function results considering both.
    This errors have been found through a run against SAMBA 4.

commit b08beed0dbc1228b599884ff14eb66ea5f8f732d
Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de>
Date:   Sat Jun 20 23:36:10 2009 +0200

    Small patch for SPOOLSS pipe
    
    Prevents a crash of the SAMBA 4 daemon on the torture SPOOLSS test due to 
not
    initialised structures.

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

Summary of changes:
 lib/util/time.m4                                 |    2 +-
 source4/build/m4/check_cc.m4                     |    4 +++-
 source4/dsdb/samdb/ldb_modules/partition.c       |   10 +++++-----
 source4/dsdb/samdb/ldb_modules/simple_ldap_map.c |   22 ++++++++++++++++++++++
 source4/dsdb/samdb/samdb.c                       |    1 -
 source4/lib/ldb/common/ldb_msg.c                 |    8 ++++----
 source4/rpc_server/spoolss/dcesrv_spoolss.c      |   10 +++++-----
 source4/setup/enableaccount                      |    2 +-
 source4/setup/setexpiry                          |    2 +-
 source4/setup/setpassword                        |    2 +-
 source4/torture/rpc/samba3rpc.c                  |   15 +++++++++++----
 11 files changed, 54 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/time.m4 b/lib/util/time.m4
index f61ae4c..675e201 100644
--- a/lib/util/time.m4
+++ b/lib/util/time.m4
@@ -3,7 +3,7 @@ AC_TRY_RUN([
 #include <sys/time.h>
 #include <unistd.h>
 main() { struct timeval tv; exit(gettimeofday(&tv, NULL));}],
-           
samba_cv_HAVE_GETTIMEOFDAY_TZ=yes,samba_cv_HAVE_GETTIMEOFDAY_TZ=no,samba_cv_HAVE_GETTIMEOFDAY_TZ=cross)])
+           
samba_cv_HAVE_GETTIMEOFDAY_TZ=yes,samba_cv_HAVE_GETTIMEOFDAY_TZ=no,samba_cv_HAVE_GETTIMEOFDAY_TZ=yes)])
 if test x"$samba_cv_HAVE_GETTIMEOFDAY_TZ" = x"yes"; then
     AC_DEFINE(HAVE_GETTIMEOFDAY_TZ,1,[Whether gettimeofday() is available])
 fi
diff --git a/source4/build/m4/check_cc.m4 b/source4/build/m4/check_cc.m4
index 5580285..32e4b50 100644
--- a/source4/build/m4/check_cc.m4
+++ b/source4/build/m4/check_cc.m4
@@ -45,7 +45,9 @@ AC_CACHE_CHECK([that the C compiler understands negative enum 
values],samba_cv_C
                return 0;
        }
 ],
-       
samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv_CC_NEGATIVE_ENUM_VALUES=no)])
+       samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,
+       samba_cv_CC_NEGATIVE_ENUM_VALUES=no,
+       samba_cv_CC_NEGATIVE_ENUM_VALUES=yes)])
 if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
        AC_DEFINE(USE_UINT_ENUMS, 1, [Whether the compiler has uint enum 
support])
 fi
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c 
b/source4/dsdb/samdb/ldb_modules/partition.c
index 965b4c5..d4269b6 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -143,7 +143,7 @@ static struct dsdb_control_current_partition 
*find_partition(struct partition_pr
 
        /* Look at base DN */
        /* Figure out which partition it is under */
-       /* Skip the lot if 'data' isn't here yet (initialistion) */
+       /* Skip the lot if 'data' isn't here yet (initialisation) */
        for (i=0; data && data->partitions && data->partitions[i]; i++) {
                if (ldb_dn_compare_base(data->partitions[i]->dn, dn) == 0) {
                        return data->partitions[i];
@@ -594,7 +594,7 @@ static int partition_rename(struct ldb_module *module, 
struct ldb_request *req)
        struct partition_private_data *data = 
talloc_get_type(module->private_data, 
                                                              struct 
partition_private_data);
 
-       /* Skip the lot if 'data' isn't here yet (initialization) */
+       /* Skip the lot if 'data' isn't here yet (initialisation) */
        if (!data) {
                return LDB_ERR_OPERATIONS_ERROR;
        }
@@ -702,7 +702,7 @@ static int partition_end_trans(struct ldb_module *module)
 
        /* Look at base DN */
        /* Figure out which partition it is under */
-       /* Skip the lot if 'data' isn't here yet (initialistion) */
+       /* Skip the lot if 'data' isn't here yet (initialisation) */
        final_ret = LDB_SUCCESS;
 
        for (i=0; data && data->partitions && data->partitions[i]; i++) {
@@ -805,7 +805,7 @@ static int partition_sequence_number(struct ldb_module 
*module, struct ldb_reque
                }
                talloc_free(res);
 
-               /* Skip the lot if 'data' isn't here yet (initialistion) */
+               /* Skip the lot if 'data' isn't here yet (initialisation) */
                for (i=0; data && data->partitions && data->partitions[i]; i++) 
{
 
                        res = talloc_zero(req, struct ldb_result);
@@ -903,7 +903,7 @@ static int partition_sequence_number(struct ldb_module 
*module, struct ldb_reque
 
                talloc_free(res);
 
-               /* Skip the lot if 'data' isn't here yet (initialistion) */
+               /* Skip the lot if 'data' isn't here yet (initialisation) */
                for (i=0; data && data->partitions && data->partitions[i]; i++) 
{
 
                        res = talloc_zero(req, struct ldb_result);
diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c 
b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
index 0a6c350..fe1de1c 100644
--- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
+++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
@@ -372,6 +372,17 @@ static const struct ldb_map_attribute 
entryuuid_attributes[] =
                }
        },
        {
+               .local_name = "systemFlags",
+               .type = MAP_CONVERT,
+               .u = {
+                       .convert = {
+                                .remote_name = "systemFlags",
+                                .convert_local = normalise_to_signed32,
+                                .convert_remote = val_copy,
+                        },
+               }
+       },
+       {
                .local_name = "usnChanged",
                .type = MAP_CONVERT,
                .u = {
@@ -524,6 +535,17 @@ static const struct ldb_map_attribute 
nsuniqueid_attributes[] =
                }
        },
        {
+               .local_name = "systemFlags",
+               .type = MAP_CONVERT,
+               .u = {
+                       .convert = {
+                                .remote_name = "systemFlags",
+                                .convert_local = normalise_to_signed32,
+                                .convert_remote = val_copy,
+                        },
+               }
+       },
+       {
                .local_name = "usnChanged",
                .type = MAP_CONVERT,
                .u = {
diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c
index 98ca6d0..8511873 100644
--- a/source4/dsdb/samdb/samdb.c
+++ b/source4/dsdb/samdb/samdb.c
@@ -197,7 +197,6 @@ int samdb_copy_template(struct ldb_context *ldb,
                    ldb_attr_cmp(el->name, "name") == 0 ||
                    ldb_attr_cmp(el->name, "objectClass") == 0 ||
                    ldb_attr_cmp(el->name, "sAMAccountName") == 0 ||
-                   ldb_attr_cmp(el->name, "sAMAccountName") == 0 ||
                    ldb_attr_cmp(el->name, "distinguishedName") == 0 ||
                    ldb_attr_cmp(el->name, "objectGUID") == 0) {
                        continue;
diff --git a/source4/lib/ldb/common/ldb_msg.c b/source4/lib/ldb/common/ldb_msg.c
index ad53a3d..8d0fa31 100644
--- a/source4/lib/ldb/common/ldb_msg.c
+++ b/source4/lib/ldb/common/ldb_msg.c
@@ -643,12 +643,12 @@ const char **ldb_attr_list_copy(TALLOC_CTX *mem_ctx, 
const char * const *attrs)
 {
        const char **ret;
        int i;
-       for (i=0;attrs[i];i++) /* noop */ ;
+       for (i=0;attrs && attrs[i];i++) /* noop */ ;
        ret = talloc_array(mem_ctx, const char *, i+1);
        if (ret == NULL) {
                return NULL;
        }
-       for (i=0;attrs[i];i++) {
+       for (i=0;attrs && attrs[i];i++) {
                ret[i] = attrs[i];
        }
        ret[i] = attrs[i];
@@ -665,7 +665,7 @@ const char **ldb_attr_list_copy_add(TALLOC_CTX *mem_ctx, 
const char * const *att
        const char **ret;
        int i;
        bool found = false;
-       for (i=0;attrs[i];i++) {
+       for (i=0;attrs && attrs[i];i++) {
                if (ldb_attr_cmp(attrs[i], new_attr) == 0) {
                        found = true;
                }
@@ -677,7 +677,7 @@ const char **ldb_attr_list_copy_add(TALLOC_CTX *mem_ctx, 
const char * const *att
        if (ret == NULL) {
                return NULL;
        }
-       for (i=0;attrs[i];i++) {
+       for (i=0;attrs && attrs[i];i++) {
                ret[i] = attrs[i];
        }
        ret[i] = new_attr;
diff --git a/source4/rpc_server/spoolss/dcesrv_spoolss.c 
b/source4/rpc_server/spoolss/dcesrv_spoolss.c
index 7d14c0e..4e85448 100644
--- a/source4/rpc_server/spoolss/dcesrv_spoolss.c
+++ b/source4/rpc_server/spoolss/dcesrv_spoolss.c
@@ -575,11 +575,6 @@ static WERROR dcesrv_spoolss_GetPrinterData(struct 
dcesrv_call_state *dce_call,
        WERROR status;
        struct smb_iconv_convenience *ic = 
lp_iconv_convenience(dce_call->conn->dce_ctx->lp_ctx);
 
-       DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
-       handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
-       if (!handle)
-               return WERR_BADFID;
-
        r->out.type = talloc_zero(mem_ctx, enum winreg_Type);
        W_ERROR_HAVE_NO_MEMORY(r->out.type);
 
@@ -589,6 +584,11 @@ static WERROR dcesrv_spoolss_GetPrinterData(struct 
dcesrv_call_state *dce_call,
        r->out.data = talloc_zero(mem_ctx, union spoolss_PrinterData);
        W_ERROR_HAVE_NO_MEMORY(r->out.data);
 
+       DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
+       handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
+
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
                        status = ntptr_GetPrintServerData(handle, mem_ctx, r);
diff --git a/source4/setup/enableaccount b/source4/setup/enableaccount
index 061997b..b270da0 100755
--- a/source4/setup/enableaccount
+++ b/source4/setup/enableaccount
@@ -1,6 +1,6 @@
 #!/usr/bin/python
 #
-#      add a new user to a Samba4 server
+#      Enables a disabled user account on a Samba4 server
 #      Copyright Andrew Tridgell 2005
 #      Copyright Jelmer Vernooij 2008
 #      Released under the GNU GPL version 3 or later
diff --git a/source4/setup/setexpiry b/source4/setup/setexpiry
index e473305..db7cdd4 100755
--- a/source4/setup/setexpiry
+++ b/source4/setup/setexpiry
@@ -1,6 +1,6 @@
 #!/usr/bin/python
 #
-#      set the password expiry for a user
+#      Sets the password expiry for a user on a Samba4 server
 #      Copyright Andrew Tridgell 2005
 #      Copyright Jelmer Vernooij 2008
 #      Released under the GNU GPL version 3 or later
diff --git a/source4/setup/setpassword b/source4/setup/setpassword
index 77d97d8..3505adf 100755
--- a/source4/setup/setpassword
+++ b/source4/setup/setpassword
@@ -1,6 +1,6 @@
 #!/usr/bin/python
 #
-# Add a new user to a Samba4 server
+# Sets a user password on a Samba4 server
 # Copyright Jelmer Vernooij 2008
 #
 # Based on the original in EJS:
diff --git a/source4/torture/rpc/samba3rpc.c b/source4/torture/rpc/samba3rpc.c
index e31135c..65d2510 100644
--- a/source4/torture/rpc/samba3rpc.c
+++ b/source4/torture/rpc/samba3rpc.c
@@ -3252,13 +3252,14 @@ static NTSTATUS get_shareinfo(TALLOC_CTX *mem_ctx,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(r.out.result)) {
                d_printf("(%s) srvsvc_NetShareGetInfo failed: %s, %s\n", 
__location__,
                         nt_errstr(status), win_errstr(r.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(r.out.result) : status;
                goto fail;
        }
 
        *info502 = talloc_move(mem_ctx, &info.info502);
        return NT_STATUS_OK;
 
- fail:
+fail:
        talloc_free(p);
        return status;
 }
@@ -3319,6 +3320,7 @@ static NTSTATUS get_hklm_handle(TALLOC_CTX *mem_ctx,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(r.out.result)) {
                d_printf("(%s) OpenHKLM failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(r.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(r.out.result) : status;
                goto fail;
        }
 
@@ -3373,6 +3375,7 @@ static NTSTATUS torture_samba3_createshare(struct 
smbcli_state *cli,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(c.out.result)) {
                d_printf("(%s) OpenKey failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(c.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(c.out.result) : status;
                goto fail;
        }
 
@@ -3382,11 +3385,12 @@ static NTSTATUS torture_samba3_createshare(struct 
smbcli_state *cli,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(cl.out.result)) {
                d_printf("(%s) OpenKey failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(cl.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(cl.out.result) : status;
                goto fail;
        }
 
 
- fail:
+fail:
        talloc_free(mem_ctx);
        return status;
 }
@@ -3423,10 +3427,11 @@ static NTSTATUS torture_samba3_deleteshare(struct 
torture_context *torture,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(d.out.result)) {
                d_printf("(%s) OpenKey failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(d.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(d.out.result) : status;
                goto fail;
        }
 
- fail:
+fail:
        talloc_free(mem_ctx);
        return status;
 }
@@ -3467,6 +3472,7 @@ static NTSTATUS torture_samba3_setconfig(struct 
smbcli_state *cli,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(o.out.result)) {
                d_printf("(%s) OpenKey failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(o.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(o.out.result) : status;
                goto done;
        }
 
@@ -3486,10 +3492,11 @@ static NTSTATUS torture_samba3_setconfig(struct 
smbcli_state *cli,
        if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(s.out.result)) {
                d_printf("(%s) SetValue failed: %s, %s\n", __location__,
                         nt_errstr(status), win_errstr(s.out.result));
+               status = NT_STATUS_IS_OK(status) ? 
werror_to_ntstatus(s.out.result) : status;
                goto done;
        }
 
- done:
+done:
        talloc_free(hklm);
        return status;
 }


-- 
Samba Shared Repository

Reply via email to