The branch, master has been updated
       via  e1a87d8 libldap: Fix CID 1308982 Unchecked return value from library
       via  2749e08 ntlmssp: add NTLMSSP_WINDOWS_MINOR_VERSION_3 as seen from 
Windows 8.1 clients.
       via  c638ce8 s3-smbd: reset protocol in smbXsrv_connection_init_tables 
failure paths.
      from  6fc65aa lib: Fix rundown of open_socket_out()

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


- Log -----------------------------------------------------------------
commit e1a87d86764d0c677b69c7d7a99c5388d4e85570
Author: Volker Lendecke <[email protected]>
Date:   Tue Jun 30 14:10:50 2015 +0200

    libldap: Fix CID 1308982 Unchecked return value from library
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Wed Jul  1 00:11:41 CEST 2015 on sn-devel-104

commit 2749e08437ad27fabaabf354e6dedac1e47f1c33
Author: Günther Deschner <[email protected]>
Date:   Thu May 28 20:32:00 2015 +0200

    ntlmssp: add NTLMSSP_WINDOWS_MINOR_VERSION_3 as seen from Windows 8.1 
clients.
    
    Guenther
    
    Signed-off-by: Günther Deschner <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit c638ce839bb7ac754c1cbb61afcc700bac8788fc
Author: Günther Deschner <[email protected]>
Date:   Wed Jun 10 17:07:15 2015 +0200

    s3-smbd: reset protocol in smbXsrv_connection_init_tables failure paths.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11373
    
    Guenther
    
    Pair-Programmed-With: Stefan Metzmacher <[email protected]>
    Pair-Programmed-With: Michael Adam <[email protected]>
    
    Signed-off-by: Guenther Deschner <[email protected]>
    Signed-off-by: Stefan Metzmacher <[email protected]>
    Signed-off-by: Michael Adam <[email protected]>
    Reviewed-by: Andreas Schneider <[email protected]>

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

Summary of changes:
 librpc/idl/ntlmssp.idl            | 3 ++-
 source3/smbd/process.c            | 7 ++++++-
 source4/libcli/ldap/ldap_client.c | 8 +++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/ntlmssp.idl b/librpc/idl/ntlmssp.idl
index 7c3b8fe..4a9e7c2 100644
--- a/librpc/idl/ntlmssp.idl
+++ b/librpc/idl/ntlmssp.idl
@@ -71,7 +71,8 @@ interface ntlmssp
        typedef [enum8bit] enum {
                NTLMSSP_WINDOWS_MINOR_VERSION_0 = 0x00,
                NTLMSSP_WINDOWS_MINOR_VERSION_1 = 0x01,
-               NTLMSSP_WINDOWS_MINOR_VERSION_2 = 0x02
+               NTLMSSP_WINDOWS_MINOR_VERSION_2 = 0x02,
+               NTLMSSP_WINDOWS_MINOR_VERSION_3 = 0x03
        } ntlmssp_WindowsMinorVersion;
 
        /*
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 958c82b..c83f3bc 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -3464,36 +3464,41 @@ NTSTATUS smbXsrv_connection_init_tables(struct 
smbXsrv_connection *conn,
 {
        NTSTATUS status;
 
-       set_Protocol(protocol);
        conn->protocol = protocol;
 
        if (protocol >= PROTOCOL_SMB2_02) {
                status = smb2srv_session_table_init(conn);
                if (!NT_STATUS_IS_OK(status)) {
+                       conn->protocol = PROTOCOL_NONE;
                        return status;
                }
 
                status = smb2srv_open_table_init(conn);
                if (!NT_STATUS_IS_OK(status)) {
+                       conn->protocol = PROTOCOL_NONE;
                        return status;
                }
        } else {
                status = smb1srv_session_table_init(conn);
                if (!NT_STATUS_IS_OK(status)) {
+                       conn->protocol = PROTOCOL_NONE;
                        return status;
                }
 
                status = smb1srv_tcon_table_init(conn);
                if (!NT_STATUS_IS_OK(status)) {
+                       conn->protocol = PROTOCOL_NONE;
                        return status;
                }
 
                status = smb1srv_open_table_init(conn);
                if (!NT_STATUS_IS_OK(status)) {
+                       conn->protocol = PROTOCOL_NONE;
                        return status;
                }
        }
 
+       set_Protocol(protocol);
        return NT_STATUS_OK;
 }
 
diff --git a/source4/libcli/ldap/ldap_client.c 
b/source4/libcli/ldap/ldap_client.c
index e49df9e..68ebfcf 100644
--- a/source4/libcli/ldap/ldap_client.c
+++ b/source4/libcli/ldap/ldap_client.c
@@ -514,7 +514,13 @@ static void ldap_connect_got_sock(struct composite_context 
*ctx,
        TALLOC_FREE(state->sock);
 
        smb_set_close_on_exec(fd);
-       set_blocking(fd, false);
+
+       ret = set_blocking(fd, false);
+       if (ret == -1) {
+               NTSTATUS status = map_nt_error_from_unix_common(errno);
+               composite_error(state->ctx, status);
+               return;
+       }
 
        ret = tstream_bsd_existing_socket(state, fd, &state->raw);
        if (ret == -1) {


-- 
Samba Shared Repository

Reply via email to