The branch, v3-2-test has been updated
       via  d73bde99e8518607bb78b5625ce5fb1991d8e402 (commit)
       via  dd3fbd93b6e5fe8b5e3a3727a64a38d5ae46fcbf (commit)
       via  48f09ca376f9fc7923309f3466e5d72f7c21a56f (commit)
       via  bf9ce2a928e3136d3bfe368f75d5b99273c5b04f (commit)
       via  bc025a3860483e8cdbd0f61579689c9edadd3af0 (commit)
      from  6f673b7f10c145d88e6a6d3072b5f8cd98837304 (commit)

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


- Log -----------------------------------------------------------------
commit d73bde99e8518607bb78b5625ce5fb1991d8e402
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Mon Jan 7 12:44:25 2008 +0100

    Fix two memleaks in libnetapi.
    
    Guenther

commit dd3fbd93b6e5fe8b5e3a3727a64a38d5ae46fcbf
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Mon Jan 7 12:42:16 2008 +0100

    Add secrets_shutdown().
    
    Guenther

commit 48f09ca376f9fc7923309f3466e5d72f7c21a56f
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Mon Jan 7 12:41:18 2008 +0100

    In gfree_debugsyms() free the format_bufr as well.
    
    Guenther

commit bf9ce2a928e3136d3bfe368f75d5b99273c5b04f
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Mon Jan 7 12:19:56 2008 +0100

    Failure while unjoining a domain is non-critical.
    Just continue joining to the workgroup in that case.
    
    Guenther

commit bc025a3860483e8cdbd0f61579689c9edadd3af0
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Fri Jan 4 23:11:53 2008 +0100

    Only create machine account in libnetjoin when requested to.
    
    Guenther

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

Summary of changes:
 source/lib/debug.c                                 |    2 +
 .../examples/netdomjoin-gui/netdomjoin-gui.c       |   10 +-------
 source/lib/netapi/netapi.c                         |    5 +++-
 source/libnet/libnet_join.c                        |   22 +++++++++++--------
 source/passdb/secrets.c                            |   13 +++++++++++
 5 files changed, 34 insertions(+), 18 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/debug.c b/source/lib/debug.c
index 9ea2dc1..6c1bfea 100644
--- a/source/lib/debug.c
+++ b/source/lib/debug.c
@@ -199,6 +199,8 @@ void gfree_debugsyms(void)
 
        if ( DEBUGLEVEL_CLASS_ISSET != &debug_all_class_isset_hack )
                SAFE_FREE( DEBUGLEVEL_CLASS_ISSET );
+
+       SAFE_FREE(format_bufr);
 }
 
 /****************************************************************************
diff --git a/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c 
b/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
index d12e66b..1e1681b 100644
--- a/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
+++ b/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
@@ -449,14 +449,8 @@ static void callback_do_join(GtkWidget *widget,
                                                        initial_workgroup_type,
                                                        
state->name_buffer_initial,
                                                        err_str);
-
-                       g_signal_connect_swapped(dialog, "response",
-                                                G_CALLBACK(gtk_widget_destroy),
-                                                dialog);
-
-                       gtk_widget_show(dialog);
-
-                       return;
+                       gtk_dialog_run(GTK_DIALOG(dialog));
+                       gtk_widget_destroy(dialog);
                }
 
        }
diff --git a/source/lib/netapi/netapi.c b/source/lib/netapi/netapi.c
index 032798d..9c418f2 100644
--- a/source/lib/netapi/netapi.c
+++ b/source/lib/netapi/netapi.c
@@ -1,7 +1,7 @@
 /*
  *  Unix SMB/CIFS implementation.
  *  NetApi Support
- *  Copyright (C) Guenther Deschner 2007
+ *  Copyright (C) Guenther Deschner 2007-2008
  *
  *  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
@@ -90,6 +90,9 @@ NET_API_STATUS libnetapi_free(struct libnetapi_ctx *ctx)
        gfree_charcnv();
        gfree_interfaces();
 
+       gencache_shutdown();
+       secrets_shutdown();
+
        TALLOC_FREE(ctx);
        TALLOC_FREE(frame);
 
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index 95b643f..36d5c0a 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -138,17 +138,21 @@ static NTSTATUS libnet_join_joindomain_rpc(TALLOC_CTX 
*mem_ctx,
        strlower_m(acct_name);
        const_acct_name = acct_name;
 
-       status = rpccli_samr_create_dom_user(pipe_hnd, mem_ctx, &domain_pol,
-                                            acct_name, ACB_WSTRUST,
-                                            0xe005000b, &user_pol, &user_rid);
-       if (NT_STATUS_EQUAL(status, NT_STATUS_USER_EXISTS)) {
-               if (!(r->in.join_flags & 
WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED)) {
-                       goto done;
+       if (r->in.join_flags & WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE) {
+               status = rpccli_samr_create_dom_user(pipe_hnd, mem_ctx,
+                                                    &domain_pol,
+                                                    acct_name, ACB_WSTRUST,
+                                                    0xe005000b, &user_pol,
+                                                    &user_rid);
+               if (NT_STATUS_EQUAL(status, NT_STATUS_USER_EXISTS)) {
+                       if (!(r->in.join_flags & 
WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED)) {
+                               goto done;
+                       }
                }
-       }
 
-       if (NT_STATUS_IS_OK(status)) {
-               rpccli_samr_close(pipe_hnd, mem_ctx, &user_pol);
+               if (NT_STATUS_IS_OK(status)) {
+                       rpccli_samr_close(pipe_hnd, mem_ctx, &user_pol);
+               }
        }
 
        status = rpccli_samr_lookup_names(pipe_hnd, mem_ctx,
diff --git a/source/passdb/secrets.c b/source/passdb/secrets.c
index 8e0afe7..330ffbc 100644
--- a/source/passdb/secrets.c
+++ b/source/passdb/secrets.c
@@ -94,6 +94,19 @@ bool secrets_init(void)
        return True;
 }
 
+/*
+ * close secrets.tdb
+ */
+void secrets_shutdown(void)
+{
+       if (!tdb) {
+               return;
+       }
+
+       tdb_close(tdb);
+       tdb = NULL;
+}
+
 /* read a entry from the secrets database - the caller must free the result
    if size is non-null then the size of the entry is put in there
  */


-- 
Samba Shared Repository

Reply via email to