[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Feb 1 15:30:03 MST 2012


The branch, master has been updated
       via  3101d9b s3-libsmb: Remove dead gssapi code.
       via  8080dba s3-lib: Fix util_cmdline which doesn't use popt.
      from  8c66c8c s3: Test for bug 8733

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


- Log -----------------------------------------------------------------
commit 3101d9bc2d741f57f04d48d5613d8f1c9697ef8e
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Feb 1 21:50:31 2012 +0100

    s3-libsmb: Remove dead gssapi code.
    
    Autobuild-User: Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date: Wed Feb  1 23:29:44 CET 2012 on sn-devel-104

commit 8080dbad78edbc26c8ece8ae7f1abc27f0d7afd4
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Jan 30 10:53:18 2012 +0100

    s3-lib: Fix util_cmdline which doesn't use popt.
    
    This creates its own header file for util_cmdline so it doesn't need to
    link against popt.
    This should fix linking on FreeBSD.

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

Summary of changes:
 source3/include/auth_info.h   |   67 ++++++++++++++++++++++++
 source3/include/popt_common.h |   14 +-----
 source3/include/proto.h       |   33 ------------
 source3/lib/netapi/cm.c       |    2 +-
 source3/lib/util_cmdline.c    |    2 +-
 source3/libsmb/cliconnect.c   |    2 +-
 source3/libsmb/errormap.c     |  112 -----------------------------------------
 source3/libsmb/libsmb_dir.c   |    2 +-
 source3/libsmb/proto.h        |    1 +
 source3/wscript_build         |    8 ++--
 10 files changed, 77 insertions(+), 166 deletions(-)
 create mode 100644 source3/include/auth_info.h


Changeset truncated at 500 lines:

diff --git a/source3/include/auth_info.h b/source3/include/auth_info.h
new file mode 100644
index 0000000..6b5105d
--- /dev/null
+++ b/source3/include/auth_info.h
@@ -0,0 +1,67 @@
+/*
+ * Unix SMB/CIFS implementation.
+ *
+ * Copyright (c) 2012      Andreas Schneider <asn at samba.org>
+ *
+ * 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/>.
+ */
+
+#ifndef _AUTH_INFO_H
+#define _AUTH_INFO_H
+
+struct user_auth_info {
+	char *username;
+	char *domain;
+	char *password;
+	bool got_pass;
+	bool use_kerberos;
+	int signing_state;
+	bool smb_encrypt;
+	bool use_machine_account;
+	bool fallback_after_kerberos;
+	bool use_ccache;
+};
+
+struct user_auth_info *user_auth_info_init(TALLOC_CTX *mem_ctx);
+const char *get_cmdline_auth_info_username(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_username(struct user_auth_info *auth_info,
+				    const char *username);
+const char *get_cmdline_auth_info_domain(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_domain(struct user_auth_info *auth_info,
+				  const char *domain);
+void set_cmdline_auth_info_password(struct user_auth_info *auth_info,
+				    const char *password);
+const char *get_cmdline_auth_info_password(const struct user_auth_info *auth_info);
+bool set_cmdline_auth_info_signing_state(struct user_auth_info *auth_info,
+					 const char *arg);
+int get_cmdline_auth_info_signing_state(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_use_ccache(struct user_auth_info *auth_info,
+				      bool b);
+bool get_cmdline_auth_info_use_ccache(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_use_kerberos(struct user_auth_info *auth_info,
+					bool b);
+bool get_cmdline_auth_info_use_kerberos(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_fallback_after_kerberos(struct user_auth_info *auth_info,
+					bool b);
+bool get_cmdline_auth_info_fallback_after_kerberos(const struct user_auth_info *auth_info);
+void set_cmdline_auth_info_use_krb5_ticket(struct user_auth_info *auth_info);
+void set_cmdline_auth_info_smb_encrypt(struct user_auth_info *auth_info);
+void set_cmdline_auth_info_use_machine_account(struct user_auth_info *auth_info);
+bool get_cmdline_auth_info_got_pass(const struct user_auth_info *auth_info);
+bool get_cmdline_auth_info_smb_encrypt(const struct user_auth_info *auth_info);
+bool get_cmdline_auth_info_use_machine_account(const struct user_auth_info *auth_info);
+bool set_cmdline_auth_info_machine_account_creds(struct user_auth_info *auth_info);
+void set_cmdline_auth_info_getpass(struct user_auth_info *auth_info);
+
+#endif /* _AUTH_INFO_H */
diff --git a/source3/include/popt_common.h b/source3/include/popt_common.h
index 10dd2f4..2125ed6 100644
--- a/source3/include/popt_common.h
+++ b/source3/include/popt_common.h
@@ -21,6 +21,7 @@
 #define _POPT_COMMON_H
 
 #include <popt.h>
+#include "auth_info.h"
 
 /* Common popt structures */
 extern struct poptOption popt_common_samba[];
@@ -47,19 +48,6 @@ extern const struct poptOption popt_common_dynconfig[];
 #define POPT_COMMON_DEBUGLEVEL { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debuglevel, 0, "Common samba debugging:", NULL },
 #define POPT_COMMON_OPTION { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_option, 0, "Common samba commandline config:", NULL },
 
-struct user_auth_info {
-	char *username;
-	char *domain;
-	char *password;
-	bool got_pass;
-	bool use_kerberos;
-	int signing_state;
-	bool smb_encrypt;
-	bool use_machine_account;
-	bool fallback_after_kerberos;
-	bool use_ccache;
-};
-
 void popt_common_set_auth_info(struct user_auth_info *auth_info);
 
 #endif /* _POPT_COMMON_H */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2bccaa6..4efa3b6 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -597,39 +597,6 @@ bool map_open_params_to_ntcreate(const char *smb_base_fname,
 				 uint32_t *pprivate_flags);
 void init_modules(void);
 
-/* The following definitions come from lib/util_cmdline.c  */
-
-struct user_auth_info *user_auth_info_init(TALLOC_CTX *mem_ctx);
-const char *get_cmdline_auth_info_username(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_username(struct user_auth_info *auth_info,
-				    const char *username);
-const char *get_cmdline_auth_info_domain(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_domain(struct user_auth_info *auth_info,
-				  const char *domain);
-void set_cmdline_auth_info_password(struct user_auth_info *auth_info,
-				    const char *password);
-const char *get_cmdline_auth_info_password(const struct user_auth_info *auth_info);
-bool set_cmdline_auth_info_signing_state(struct user_auth_info *auth_info,
-					 const char *arg);
-int get_cmdline_auth_info_signing_state(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_use_ccache(struct user_auth_info *auth_info,
-				      bool b);
-bool get_cmdline_auth_info_use_ccache(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_use_kerberos(struct user_auth_info *auth_info,
-					bool b);
-bool get_cmdline_auth_info_use_kerberos(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_fallback_after_kerberos(struct user_auth_info *auth_info,
-					bool b);
-bool get_cmdline_auth_info_fallback_after_kerberos(const struct user_auth_info *auth_info);
-void set_cmdline_auth_info_use_krb5_ticket(struct user_auth_info *auth_info);
-void set_cmdline_auth_info_smb_encrypt(struct user_auth_info *auth_info);
-void set_cmdline_auth_info_use_machine_account(struct user_auth_info *auth_info);
-bool get_cmdline_auth_info_got_pass(const struct user_auth_info *auth_info);
-bool get_cmdline_auth_info_smb_encrypt(const struct user_auth_info *auth_info);
-bool get_cmdline_auth_info_use_machine_account(const struct user_auth_info *auth_info);
-bool set_cmdline_auth_info_machine_account_creds(struct user_auth_info *auth_info);
-void set_cmdline_auth_info_getpass(struct user_auth_info *auth_info);
-
 /* The following definitions come from lib/util_builtin.c  */
 
 bool lookup_builtin_rid(TALLOC_CTX *mem_ctx, uint32 rid, const char **name);
diff --git a/source3/lib/netapi/cm.c b/source3/lib/netapi/cm.c
index e1e7a41..4dfa6b5 100644
--- a/source3/lib/netapi/cm.c
+++ b/source3/lib/netapi/cm.c
@@ -18,7 +18,7 @@
  */
 
 #include "includes.h"
-#include "popt_common.h"
+#include "auth_info.h"
 
 #include "lib/netapi/netapi.h"
 #include "lib/netapi/netapi_private.h"
diff --git a/source3/lib/util_cmdline.c b/source3/lib/util_cmdline.c
index 9fbdf77..1d2c725 100644
--- a/source3/lib/util_cmdline.c
+++ b/source3/lib/util_cmdline.c
@@ -22,7 +22,7 @@
 */
 
 #include "includes.h"
-#include "popt_common.h"
+#include "auth_info.h"
 #include "secrets.h"
 
 /**************************************************************************n
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 76e3256..146fc3d 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -22,7 +22,7 @@
 
 #include "includes.h"
 #include "libsmb/libsmb.h"
-#include "popt_common.h"
+#include "auth_info.h"
 #include "../libcli/auth/libcli_auth.h"
 #include "../libcli/auth/spnego.h"
 #include "smb_krb5.h"
diff --git a/source3/libsmb/errormap.c b/source3/libsmb/errormap.c
index b80065d..22daee4 100644
--- a/source3/libsmb/errormap.c
+++ b/source3/libsmb/errormap.c
@@ -21,14 +21,6 @@
 
 #include "includes.h"
 
-#if HAVE_GSSAPI_GSSAPI_H
-#include <gssapi/gssapi.h>
-#elif HAVE_GSSAPI_GSSAPI_GENERIC_H
-#include <gssapi/gssapi_generic.h>
-#elif HAVE_GSSAPI_H
-#include <gssapi.h>
-#endif
-
 /* dos -> nt status error map */
 static const struct {
 	uint8 dos_class;
@@ -302,107 +294,3 @@ NTSTATUS dos_to_ntstatus(uint8 eclass, uint32 ecode)
 	return NT_STATUS_UNSUCCESSFUL;
 }
 
-#if defined(HAVE_GSSAPI)
-/*******************************************************************************
- Map between gssapi errors and NT status. I made these up :-(. JRA.
-*******************************************************************************/
-
-static const struct {
-		unsigned long gss_err;
-		NTSTATUS ntstatus;
-} gss_to_ntstatus_errormap[] = {
-#if defined(GSS_S_CALL_INACCESSIBLE_READ)
-		{GSS_S_CALL_INACCESSIBLE_READ, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_CALL_INACCESSIBLE_WRITE)
-		{GSS_S_CALL_INACCESSIBLE_WRITE, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_CALL_BAD_STRUCTURE)
-		{GSS_S_CALL_BAD_STRUCTURE, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_BAD_MECH)
-		{GSS_S_BAD_MECH, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_BAD_NAME)
-		{GSS_S_BAD_NAME, NT_STATUS_INVALID_ACCOUNT_NAME},
-#endif
-#if defined(GSS_S_BAD_NAMETYPE)
-		{GSS_S_BAD_NAMETYPE, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_BAD_BINDINGS)
-		{GSS_S_BAD_BINDINGS, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_BAD_STATUS)
-		{GSS_S_BAD_STATUS, NT_STATUS_UNSUCCESSFUL},
-#endif
-#if defined(GSS_S_BAD_SIG)
-		{GSS_S_BAD_SIG, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_NO_CRED)
-		{GSS_S_NO_CRED, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_NO_CONTEXT)
-		{GSS_S_NO_CONTEXT, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_DEFECTIVE_TOKEN)
-		{GSS_S_DEFECTIVE_TOKEN, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_DEFECTIVE_CREDENTIAL)
-		{GSS_S_DEFECTIVE_CREDENTIAL, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_CREDENTIALS_EXPIRED)
-		{GSS_S_CREDENTIALS_EXPIRED, NT_STATUS_PASSWORD_EXPIRED},
-#endif
-#if defined(GSS_S_CONTEXT_EXPIRED)
-		{GSS_S_CONTEXT_EXPIRED, NT_STATUS_PASSWORD_EXPIRED},
-#endif
-#if defined(GSS_S_BAD_QOP)
-		{GSS_S_BAD_QOP, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_UNAUTHORIZED)
-		{GSS_S_UNAUTHORIZED, NT_STATUS_ACCESS_DENIED},
-#endif
-#if defined(GSS_S_UNAVAILABLE)
-		{GSS_S_UNAVAILABLE, NT_STATUS_UNSUCCESSFUL},
-#endif
-#if defined(GSS_S_DUPLICATE_ELEMENT)
-		{GSS_S_DUPLICATE_ELEMENT, NT_STATUS_INVALID_PARAMETER},
-#endif
-#if defined(GSS_S_NAME_NOT_MN)
-		{GSS_S_NAME_NOT_MN, NT_STATUS_INVALID_PARAMETER},
-#endif
-		{ 0, NT_STATUS_OK }
-};
-
-/*********************************************************************
- Map an NT error code from a gssapi error code.
-*********************************************************************/
-
-NTSTATUS map_nt_error_from_gss(uint32 gss_maj, uint32 minor)
-{
-	int i = 0;
-
-	if (gss_maj == GSS_S_COMPLETE) {
-		return NT_STATUS_OK;
-	}
-
-	if (gss_maj == GSS_S_CONTINUE_NEEDED) {
-		return NT_STATUS_MORE_PROCESSING_REQUIRED;
-	}
-
-	if (gss_maj == GSS_S_FAILURE) {
-		return map_nt_error_from_unix((int)minor);
-	}
-
-	/* Look through list */
-	while(gss_to_ntstatus_errormap[i].gss_err != 0) {
-		if (gss_to_ntstatus_errormap[i].gss_err == gss_maj) {
-			return gss_to_ntstatus_errormap[i].ntstatus;
-		}
-		i++;
-	}
-
-	/* Default return */
-	return NT_STATUS_ACCESS_DENIED;
-}
-#endif
diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index 8d3d12d..ef93dd0 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -24,7 +24,7 @@
 
 #include "includes.h"
 #include "libsmb/libsmb.h"
-#include "popt_common.h"
+#include "auth_info.h"
 #include "libsmbclient.h"
 #include "libsmb_internal.h"
 #include "rpc_client/cli_pipe.h"
diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h
index 8dac823..9e03ec4 100644
--- a/source3/libsmb/proto.h
+++ b/source3/libsmb/proto.h
@@ -27,6 +27,7 @@
 #define _LIBSMB_PROTO_H_
 
 #include "ads.h"
+#include "auth_info.h"
 
 struct smb_trans_enc_state;
 
diff --git a/source3/wscript_build b/source3/wscript_build
index 417e096..b6ceb18 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -643,7 +643,7 @@ bld.SAMBA3_LIBRARY('netapi',
                     source=LIBNETAPI_SRC,
                     public_deps='''
                     talloc
-                    popt
+                    util_cmdline
                     msrpc3
                     ads
                     NDR_LIBNETAPI
@@ -800,7 +800,7 @@ bld.SAMBA3_LIBRARY('popt_samba3',
 
 bld.SAMBA3_LIBRARY('util_cmdline',
                    source='lib/util_cmdline.c',
-                   deps='secrets3 popt',
+                   deps='secrets3',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
@@ -1134,7 +1134,7 @@ bld.SAMBA3_LIBRARY('CHARSET3',
 
 bld.SAMBA3_SUBSYSTEM('errors3',
                      source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
-                     deps='errors gssapi')
+                     deps='errors')
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
                     source=LIBCLI_SAMR_SRC,
@@ -1422,7 +1422,7 @@ bld.SAMBA3_BINARY('smbget',
                  source=SMBGET_SRC,
                  deps='''
                  talloc
-                 popt
+                 popt_samba3
                  smbclient''',
                  vars=locals())
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list