The branch, master has been updated
       via  5d51618... Fix bug 6880 - cannot list workgroup servers reported by 
Alban Browaeys <[email protected]> with fix. Revert 
2e989bab0764c298a2530a2d4c8690258eba210c with extra comments - this broke 
workgroup enumeration. Jeremy.
      from  d7ce873... s3-netlogon: enable RPC-NETLOGON-ADMIN test against s3.

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


- Log -----------------------------------------------------------------
commit 5d516181617419b9b078b4f375753afc3b785ced
Author: Jeremy Allison <[email protected]>
Date:   Mon Nov 9 12:44:47 2009 -0800

    Fix bug 6880 - cannot list workgroup servers
    reported by Alban Browaeys <[email protected]> with fix.
    Revert 2e989bab0764c298a2530a2d4c8690258eba210c
    with extra comments - this broke workgroup enumeration.
    Jeremy.

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

Summary of changes:
 source3/libsmb/libsmb_dir.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index 436b3e8..6a4613c 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -617,7 +617,11 @@ SMBC_opendir_ctx(SMBCCTX *context,
                             !is_ipaddress(server) &&
                            (resolve_name(server, &rem_ss, 0x1d, false) ||   /* 
LMB */
                              resolve_name(server, &rem_ss, 0x1b, false) )) { 
/* DMB */
-
+                               /*
+                                * "server" is actually a workgroup name,
+                                * not a server. Make this clear.
+                                */
+                               char *wgroup = server;
                                fstring buserver;
 
                                dir->dir_type = SMBC_SERVER;
@@ -625,12 +629,17 @@ SMBC_opendir_ctx(SMBCCTX *context,
                                /*
                                 * Get the backup list ...
                                 */
-                               if (!name_status_find(server, 0x20, 0x20,
+                               if (!name_status_find(wgroup, 0, 0,
                                                       &rem_ss, buserver)) {
+                                       char addr[INET6_ADDRSTRLEN];
 
+                                       print_sockaddr(addr, sizeof(addr), 
&rem_ss);
                                         DEBUG(0,("Could not get name of "
-                                                 "local/domain master browser "
-                                                 "for server %s\n", server));
+                                                "local/domain master browser "
+                                                "for workgroup %s from "
+                                               "address %s\n",
+                                               wgroup,
+                                               addr));
                                        if (dir) {
                                                SAFE_FREE(dir->fname);
                                                SAFE_FREE(dir);
@@ -663,7 +672,7 @@ SMBC_opendir_ctx(SMBCCTX *context,
                                dir->srv = srv;
 
                                /* Now, list the servers ... */
-                               if (!cli_NetServerEnum(srv->cli, server,
+                               if (!cli_NetServerEnum(srv->cli, wgroup,
                                                        0x0000FFFE, list_fn,
                                                       (void *)dir)) {
 


-- 
Samba Shared Repository

Reply via email to