r26385: Integrate gensec-socket into gensec.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 10 Dec 2007 17:42:07 +0000 (18:42 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:49:19 +0000 (05:49 +0100)
(This used to be commit 78bb444b4b73df9a84f8702814f9b30b32ffd885)

source4/auth/credentials/credentials.c
source4/auth/gensec/config.mk
source4/auth/gensec/gensec.h
source4/auth/gensec/socket.h [deleted file]
source4/auth/gensec/spnego.c
source4/ldap_server/config.mk
source4/ldap_server/ldap_bind.c
source4/libcli/ldap/ldap_bind.c
source4/libcli/nbt/namerefresh.c

index 089af8f0f52225b031cbcb3af8062ed88b1cab79..e7f2280bc98b81e97bad78899e669cc551c6ea70 100644 (file)
@@ -720,6 +720,7 @@ void cli_credentials_set_anonymous(struct cli_credentials *cred)
        cli_credentials_set_domain(cred, "", CRED_SPECIFIED);
        cli_credentials_set_password(cred, NULL, CRED_SPECIFIED);
        cli_credentials_set_realm(cred, NULL, CRED_SPECIFIED);
+       cli_credentials_set_workstation(cred, "", CRED_UNINITIALISED);
 }
 
 /**
index 8ee942c63ab926b40ee3b693081c0a5b5c91efce..ab20f4bb9b3ca68e8be91d033bf4afa536a7085e 100644 (file)
@@ -6,9 +6,9 @@ SO_VERSION = 0
 DESCRIPTION = Generic Security Library
 PUBLIC_HEADERS = gensec.h spnego.h
 PUBLIC_PROTO_HEADER = gensec_proto.h
-OBJ_FILES = gensec.o
+OBJ_FILES = gensec.o socket.o
 PUBLIC_DEPENDENCIES = \
-               CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL 
+               CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba-socket LIBPACKET
 # End SUBSYSTEM gensec
 #################################
 
@@ -48,7 +48,7 @@ PRIVATE_DEPENDENCIES = CREDENTIALS SASL
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_spnego_init
 PRIVATE_PROTO_HEADER = spnego_proto.h
-PRIVATE_DEPENDENCIES = ASN1_UTIL GENSEC_SOCKET CREDENTIALS
+PRIVATE_DEPENDENCIES = ASN1_UTIL CREDENTIALS
 OBJ_FILES = spnego.o spnego_parse.o
 # End MODULE gensec_spnego
 ################################################
@@ -61,7 +61,7 @@ PRIVATE_PROTO_HEADER = schannel_proto.h
 INIT_FUNCTION = gensec_schannel_init
 OBJ_FILES = schannel.o \
                        schannel_sign.o
-PRIVATE_DEPENDENCIES = SCHANNELDB NDR_SCHANNEL CREDENTIALS
+PRIVATE_DEPENDENCIES = SCHANNELDB NDR_SCHANNEL CREDENTIALS LIBNDR
 OUTPUT_TYPE = INTEGRATED
 # End MODULE gensec_schannel
 ################################################
@@ -72,19 +72,8 @@ OUTPUT_TYPE = INTEGRATED
 PRIVATE_PROTO_HEADER = schannel_state.h
 OBJ_FILES = \
                schannel_state.o
-PRIVATE_DEPENDENCIES = LDB_WRAP
+PRIVATE_DEPENDENCIES = LDB_WRAP SAMDB
 #
 # End SUBSYSTEM SCHANNELDB
 ################################################
 
-################################################
-# Start SUBSYSTEM GENSEC_SOCKET
-[SUBSYSTEM::GENSEC_SOCKET]
-OBJ_FILES = \
-               socket.o
-PUBLIC_DEPENDENCIES = samba-socket LIBPACKET
-#PUBLIC_DEPENDENCIES =  gensec
-#
-# End SUBSYSTEM GENSEC_SOCKET
-################################################
-
index dbedcf091a6013377f2876f4877b44fd18a57cb7..3413e5c8ce27c1329ca26c7c12636c54948d0e0e 100644 (file)
@@ -166,6 +166,37 @@ struct gensec_critical_sizes {
        int sizeof_gensec_security;
 };
 
+/* Socket wrapper */
+
+struct gensec_security;
+struct socket_context;
+
+NTSTATUS gensec_socket_init(struct gensec_security *gensec_security,
+                           struct socket_context *current_socket,
+                           struct event_context *ev,
+                           void (*recv_handler)(void *, uint16_t),
+                           void *recv_private,
+                           struct socket_context **new_socket);
+/* These functions are for use here only (public because SPNEGO must
+ * use them for recursion) */
+NTSTATUS gensec_wrap_packets(struct gensec_security *gensec_security, 
+                            TALLOC_CTX *mem_ctx, 
+                            const DATA_BLOB *in, 
+                            DATA_BLOB *out,
+                            size_t *len_processed);
+/* These functions are for use here only (public because SPNEGO must
+ * use them for recursion) */
+NTSTATUS gensec_unwrap_packets(struct gensec_security *gensec_security, 
+                              TALLOC_CTX *mem_ctx, 
+                              const DATA_BLOB *in, 
+                              DATA_BLOB *out,
+                              size_t *len_processed);
+
+/* These functions are for use here only (public because SPNEGO must
+ * use them for recursion) */
+NTSTATUS gensec_packet_full_request(struct gensec_security *gensec_security,
+                                   DATA_BLOB blob, size_t *size);
+
 struct loadparm_context;
 
 #include "auth/gensec/gensec_proto.h"
diff --git a/source4/auth/gensec/socket.h b/source4/auth/gensec/socket.h
deleted file mode 100644 (file)
index 83100c6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Generic Authentication Interface (socket wrapper)
-
-   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2006
-   
-   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 3 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-struct gensec_security;
-struct socket_context;
-
-NTSTATUS gensec_socket_init(struct gensec_security *gensec_security,
-                           struct socket_context *current_socket,
-                           struct event_context *ev,
-                           void (*recv_handler)(void *, uint16_t),
-                           void *recv_private,
-                           struct socket_context **new_socket);
-/* These functions are for use here only (public because SPNEGO must
- * use them for recursion) */
-NTSTATUS gensec_wrap_packets(struct gensec_security *gensec_security, 
-                            TALLOC_CTX *mem_ctx, 
-                            const DATA_BLOB *in, 
-                            DATA_BLOB *out,
-                            size_t *len_processed);
-/* These functions are for use here only (public because SPNEGO must
- * use them for recursion) */
-NTSTATUS gensec_unwrap_packets(struct gensec_security *gensec_security, 
-                              TALLOC_CTX *mem_ctx, 
-                              const DATA_BLOB *in, 
-                              DATA_BLOB *out,
-                              size_t *len_processed);
-
-/* These functions are for use here only (public because SPNEGO must
- * use them for recursion) */
-NTSTATUS gensec_packet_full_request(struct gensec_security *gensec_security,
-                                   DATA_BLOB blob, size_t *size);
-
index 15dabb8033129d20f3bc275601254b8b6acb6e70..782aa44c758d4f3cd1d7f5ff0f86e5ce5d5102c6 100644 (file)
@@ -26,7 +26,6 @@
 #include "librpc/gen_ndr/ndr_dcerpc.h"
 #include "auth/credentials/credentials.h"
 #include "auth/gensec/gensec.h"
-#include "auth/gensec/socket.h"
 
 enum spnego_state_position {
        SPNEGO_SERVER_START,
index 51650a116fedac9649563532e5a377ddf6963e80..989237682156563b8e00a8b5015346e8acfbd762 100644 (file)
@@ -14,6 +14,7 @@ OBJ_FILES = \
 PRIVATE_DEPENDENCIES = CREDENTIALS \
                LIBCLI_LDAP SAMDB \
                process_model \
-               GENSEC_SOCKET
+               gensec \
+               LIBSAMBA-CONFIG
 # End SUBSYSTEM SMB
 #######################
index 53cef5b349ad18c4b4f8fda52f5d34474d306582..f2c974ae3f76eab52f89f82a409e772e8dabc88e 100644 (file)
@@ -26,7 +26,6 @@
 #include "lib/ldb/include/ldb_errors.h"
 #include "dsdb/samdb/samdb.h"
 #include "auth/gensec/gensec.h"
-#include "auth/gensec/socket.h"
 #include "param/param.h"
 
 static NTSTATUS ldapsrv_BindSimple(struct ldapsrv_call *call)
index bd548be38e416f182cb985abd7a8a54ac678833f..fd15ff2fc74a308734a088f6ff8aada5dd95c266 100644 (file)
@@ -26,7 +26,6 @@
 #include "libcli/ldap/ldap_client.h"
 #include "lib/tls/tls.h"
 #include "auth/gensec/gensec.h"
-#include "auth/gensec/socket.h"
 #include "auth/credentials/credentials.h"
 #include "lib/stream/packet.h"
 #include "param/param.h"
@@ -221,6 +220,8 @@ NTSTATUS ldap_bind_sasl(struct ldap_connection *conn,
                NULL 
        };
 
+       gensec_init(lp_ctx);
+
        status = gensec_client_start(conn, &conn->gensec, NULL, lp_ctx);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("Failed to start GENSEC engine (%s)\n", nt_errstr(status)));
index 3e99854215ca4adc40f4b5ec45a1038ba5eb56eb..8408b4e3c341b846456024e7d6c6c87e65af850d 100644 (file)
@@ -137,7 +137,7 @@ NTSTATUS nbt_name_refresh(struct nbt_name_socket *nbtsock,
 
 
 
-/*
+/**
   a wins name refresh with multiple WINS servers and multiple
   addresses to refresh. Try each WINS server in turn, until we get a
   reply for each address
@@ -152,7 +152,7 @@ struct refresh_wins_state {
 };
 
 
-/*
+/**
   state handler for WINS multi-homed multi-server name refresh
 */
 static void name_refresh_wins_handler(struct nbt_name_request *req)