mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
auth: move gensec_start.c to the top level
This does not change who uses gensec for now, but makes it possible to write new gensec modules outside source4/ Andrew Bartlett
This commit is contained in:
parent
561d834123
commit
fe02752ed6
@ -825,39 +825,6 @@ _PUBLIC_ NTSTATUS gensec_set_credentials(struct gensec_security *gensec_security
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
NTSTATUS gensec_generate_session_info(TALLOC_CTX *mem_ctx,
|
||||
struct gensec_security *gensec_security,
|
||||
struct auth_user_info_dc *user_info_dc,
|
||||
struct auth_session_info **session_info)
|
||||
{
|
||||
NTSTATUS nt_status;
|
||||
uint32_t session_info_flags = 0;
|
||||
|
||||
if (gensec_security->want_features & GENSEC_FEATURE_UNIX_TOKEN) {
|
||||
session_info_flags |= AUTH_SESSION_INFO_UNIX_TOKEN;
|
||||
}
|
||||
|
||||
session_info_flags |= AUTH_SESSION_INFO_DEFAULT_GROUPS;
|
||||
if (user_info_dc->info->authenticated) {
|
||||
session_info_flags |= AUTH_SESSION_INFO_AUTHENTICATED;
|
||||
}
|
||||
|
||||
if (gensec_security->auth_context) {
|
||||
nt_status = gensec_security->auth_context->generate_session_info(mem_ctx, gensec_security->auth_context,
|
||||
user_info_dc,
|
||||
session_info_flags,
|
||||
session_info);
|
||||
} else {
|
||||
session_info_flags |= AUTH_SESSION_INFO_SIMPLE_PRIVILEGES;
|
||||
nt_status = auth_generate_session_info(mem_ctx,
|
||||
NULL,
|
||||
NULL,
|
||||
user_info_dc, session_info_flags,
|
||||
session_info);
|
||||
}
|
||||
return nt_status;
|
||||
}
|
||||
|
||||
/*
|
||||
register a GENSEC backend.
|
||||
|
@ -1,7 +1,11 @@
|
||||
#!/usr/bin/env python
|
||||
bld.SAMBA_LIBRARY('gensec',
|
||||
source='gensec.c gensec_start.c',
|
||||
pc_files='gensec.pc',
|
||||
autoproto='gensec_toplevel_proto.h',
|
||||
public_deps='tevent-util samba-util errors LIBPACKET auth_system_session samba-modules gensec_util',
|
||||
public_headers='gensec.h',
|
||||
deps='com_err',
|
||||
vnum='0.0.1'
|
||||
)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('gensec_runtime',
|
||||
source='gensec.c',
|
||||
deps='tevent-util tevent samba-util LIBTSOCKET',
|
||||
public_headers='gensec.h',
|
||||
autoproto='gensec_toplevel_proto.h')
|
||||
|
@ -805,7 +805,7 @@ bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
|
||||
|
||||
bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
|
||||
source=LIBNTLMSSP_SRC,
|
||||
deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec_runtime',
|
||||
deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec',
|
||||
vars=locals())
|
||||
|
||||
bld.SAMBA3_LIBRARY('libsmb',
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "auth/credentials/credentials.h"
|
||||
#include "auth/gensec/gensec.h"
|
||||
#include "auth/gensec/gensec_proto.h"
|
||||
#include "auth/gensec/gensec_toplevel_proto.h"
|
||||
#include <sasl/sasl.h>
|
||||
|
||||
NTSTATUS gensec_sasl_init(void);
|
||||
|
59
source4/auth/gensec/gensec_util.c
Normal file
59
source4/auth/gensec/gensec_util.c
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
Generic Authentication Interface
|
||||
|
||||
Copyright (C) Andrew Tridgell 2003
|
||||
Copyright (C) Andrew Bartlett <abartlet@samba.org> 2004-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/>.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
#include "auth/gensec/gensec.h"
|
||||
#include "auth/auth.h"
|
||||
#include "auth/system_session_proto.h"
|
||||
|
||||
NTSTATUS gensec_generate_session_info(TALLOC_CTX *mem_ctx,
|
||||
struct gensec_security *gensec_security,
|
||||
struct auth_user_info_dc *user_info_dc,
|
||||
struct auth_session_info **session_info)
|
||||
{
|
||||
NTSTATUS nt_status;
|
||||
uint32_t session_info_flags = 0;
|
||||
|
||||
if (gensec_security->want_features & GENSEC_FEATURE_UNIX_TOKEN) {
|
||||
session_info_flags |= AUTH_SESSION_INFO_UNIX_TOKEN;
|
||||
}
|
||||
|
||||
session_info_flags |= AUTH_SESSION_INFO_DEFAULT_GROUPS;
|
||||
if (user_info_dc->info->authenticated) {
|
||||
session_info_flags |= AUTH_SESSION_INFO_AUTHENTICATED;
|
||||
}
|
||||
|
||||
if (gensec_security->auth_context) {
|
||||
nt_status = gensec_security->auth_context->generate_session_info(mem_ctx, gensec_security->auth_context,
|
||||
user_info_dc,
|
||||
session_info_flags,
|
||||
session_info);
|
||||
} else {
|
||||
session_info_flags |= AUTH_SESSION_INFO_SIMPLE_PRIVILEGES;
|
||||
nt_status = auth_generate_session_info(mem_ctx,
|
||||
NULL,
|
||||
NULL,
|
||||
user_info_dc, session_info_flags,
|
||||
session_info);
|
||||
}
|
||||
return nt_status;
|
||||
}
|
@ -30,6 +30,7 @@
|
||||
#include "librpc/rpc/dcerpc.h"
|
||||
#include "param/param.h"
|
||||
#include "auth/gensec/schannel.h"
|
||||
#include "auth/gensec/gensec_toplevel_proto.h"
|
||||
|
||||
_PUBLIC_ NTSTATUS gensec_schannel_init(void);
|
||||
|
||||
|
@ -1,14 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
bld.SAMBA_LIBRARY('gensec',
|
||||
source='gensec_start.c socket.c gensec_tstream.c',
|
||||
pc_files='gensec.pc',
|
||||
autoproto='gensec_proto.h',
|
||||
public_deps='tevent-util samba-util errors LIBPACKET auth_system_session gensec_runtime samba-modules',
|
||||
public_headers='',
|
||||
deps='com_err',
|
||||
vnum='0.0.1'
|
||||
)
|
||||
bld.SAMBA_SUBSYSTEM('gensec_util',
|
||||
source='socket.c gensec_tstream.c gensec_util.c',
|
||||
deps='tevent-util tevent samba-util LIBTSOCKET',
|
||||
autoproto='gensec_proto.h')
|
||||
|
||||
bld.SAMBA_MODULE('gensec_krb5',
|
||||
source='gensec_krb5.c',
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "librpc/gen_ndr/ndr_dcerpc.h"
|
||||
#include "auth/gensec/gensec.h"
|
||||
#include "auth/gensec/gensec_proto.h"
|
||||
#include "auth/gensec/gensec_toplevel_proto.h"
|
||||
|
||||
/**
|
||||
* Callbacks for NTLMSSP - for both client and server operating modes
|
||||
|
Loading…
x
Reference in New Issue
Block a user