1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-07 20:23:50 +03:00

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.
This commit is contained in:
Andreas Schneider
2012-01-30 10:53:18 +01:00
committed by Andreas Schneider
parent 8c66c8c756
commit 8080dbad78
9 changed files with 76 additions and 53 deletions

View File

@@ -0,0 +1,67 @@
/*
* Unix SMB/CIFS implementation.
*
* Copyright (c) 2012 Andreas Schneider <asn@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 */

View File

@@ -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 */

View File

@@ -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);

View File

@@ -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"

View File

@@ -22,7 +22,7 @@
*/
#include "includes.h"
#include "popt_common.h"
#include "auth_info.h"
#include "secrets.h"
/**************************************************************************n

View File

@@ -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"

View File

@@ -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"

View File

@@ -27,6 +27,7 @@
#define _LIBSMB_PROTO_H_
#include "ads.h"
#include "auth_info.h"
struct smb_trans_enc_state;

View File

@@ -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',
@@ -1422,7 +1422,7 @@ bld.SAMBA3_BINARY('smbget',
source=SMBGET_SRC,
deps='''
talloc
popt
popt_samba3
smbclient''',
vars=locals())