[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