1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

auth3: Remove auth_skel.c

Authentication is a very complex topic, and someone who is able to
write a custom auth module turning a struct auth_usersupplied_info
into a struct auth_serversupplied_info should be able to live without
this skeleton module.

This module also gave an example to load a secondary authentication
module via a module parameter (the call to load_module()). We have
abandoned this practice, and since the "auth methods" parameter has
gone we don't use this anymore internally.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke 2021-04-14 12:31:27 +02:00 committed by Jeremy Allison
parent 1a696c9ae2
commit 8b6c6fd17c
6 changed files with 1 additions and 130 deletions

View File

@ -1,31 +0,0 @@
# Makefile for samba-pdb examples
# Variables
CC = gcc
LIBTOOL = libtool
SAMBA_SRC = ../../source
SAMBA_INCL = ../../source/include
UBIQX_SRC = ../../source/ubiqx
SMBWR_SRC = ../../source/smbwrapper
CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g
AUTH_OBJS = auth_skel.la
# Default target
default: $(AUTH_OBJS)
# Pattern rules
%.la: %.lo
$(LIBTOOL) --mode=link $(CC) -module -o $@ $< $(LDFLAGS)
%.lo: %.c
$(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
# Misc targets
clean:
rm -rf .libs
rm -f core *~ *% *.bak \
$(AUTH_OBJS) $(AUTH_OBJS:.la=.o) $(AUTH_OBJS:.la=.lo)

View File

@ -1,77 +0,0 @@
/*
Unix SMB/CIFS implementation.
Password and authentication handling
Copyright (C) Andrew Bartlett 2001
Copyright (C) Jelmer Vernooij 2003
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.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_AUTH
static NTSTATUS check_skel_security(const struct auth_context *auth_context,
void *my_private_data,
TALLOC_CTX *mem_ctx,
const struct auth_usersupplied_info *user_info,
struct auth_serversupplied_info **server_info)
{
if (!user_info || !auth_context) {
return NT_STATUS_LOGON_FAILURE;
}
/* Insert your authentication checking code here,
* and return NT_STATUS_OK if authentication succeeds */
/* For now, just refuse all connections */
return NT_STATUS_LOGON_FAILURE;
}
/* module initialisation */
static NTSTATUS auth_init_skel(
struct auth_context *auth_context,
const char *param,
struct auth_methods **auth_method)
{
struct auth_methods *result;
result = talloc_zero(auth_context, struct auth_methods);
if (result == NULL) {
return NT_STATUS_NO_MEMORY;
}
result->name = "skel";
result->auth = check_skel_security;
if (param && *param) {
/* we load the 'fallback' module - if skel isn't here, call this
module */
struct auth_methods *priv;
if (!load_auth_module(auth_context, param, &priv)) {
return NT_STATUS_UNSUCCESSFUL;
}
result->private_data = (void *)priv;
}
*auth_method = result;
return NT_STATUS_OK;
}
NTSTATUS auth_skel_init(TALLOC_CTX *ctx);
NTSTATUS auth_skel_init(TALLOC_CTX *ctx)
{
return smb_register_auth(AUTH_INTERFACE_VERSION, "skel", auth_init_skel);
}

View File

@ -1,10 +0,0 @@
#!/usr/bin/env python
bld.SAMBA3_MODULE('auth_skel',
subsystem='auth',
source='auth_skel.c',
deps='samba-util',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('auth_skel'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('auth_skel'),
install=False)

View File

@ -1912,7 +1912,7 @@ main() {
default_static_modules.extend(['charset_weird'])
default_shared_modules.extend(['perfcount_test',
'vfs_skel_opaque', 'vfs_skel_transparent', 'vfs_shadow_copy_test',
'auth_skel', 'pdb_test',
'pdb_test',
'vfs_fake_dfq',
'gpext_security', 'gpext_registry', 'gpext_scripts'])

View File

@ -1410,7 +1410,6 @@ bld.RECURSE('passdb')
bld.RECURSE('rpc_server')
bld.RECURSE('script')
bld.RECURSE('winbindd')
bld.RECURSE('../examples/auth')
bld.RECURSE('../examples/libsmbclient')
bld.RECURSE('../examples/pdb')
bld.RECURSE('../examples/VFS')

View File

@ -22,14 +22,6 @@ static int teardown(void **state)
return 0;
}
static void test_samba_module_probe(void **state)
{
NTSTATUS status;
status = smb_probe_module("auth", "skel");
assert_true(NT_STATUS_IS_OK(status));
}
static void test_samba_module_probe_dummy(void **state)
{
const char *module_env;
@ -63,8 +55,6 @@ static void test_samba_module_probe_slash(void **state)
int main(void) {
const struct CMUnitTest tests[] = {
cmocka_unit_test_teardown(test_samba_module_probe,
teardown),
cmocka_unit_test_teardown(test_samba_module_probe_dummy,
teardown),
cmocka_unit_test_teardown(test_samba_module_probe_slash,