2002-02-22 02:57:49 +00:00
/*
* Test password backend for samba
* Copyright ( C ) Jelmer Vernooij 2002
*
* 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
2007-07-09 19:25:36 +00:00
* Software Foundation ; either version 3 of the License , or ( at your option )
2002-02-22 02:57:49 +00:00
* 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
2007-07-10 05:23:25 +00:00
* this program ; if not , see < http : //www.gnu.org/licenses/>.
2002-02-22 02:57:49 +00:00
*/
2002-07-15 10:35:28 +00:00
2002-02-22 02:57:49 +00:00
# include "includes.h"
2011-10-17 16:08:04 +02:00
# include "passdb.h"
2002-02-22 02:57:49 +00:00
2002-07-15 10:35:28 +00:00
static int testsam_debug_level = DBGC_ALL ;
# undef DBGC_CLASS
# define DBGC_CLASS testsam_debug_level
2002-02-22 02:57:49 +00:00
/******************************************************************
Lookup a name in the SAM database
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-12 21:05:11 +00:00
static NTSTATUS testsam_getsampwnam ( struct pdb_methods * methods , struct samu * user , const char * sname )
2002-02-22 02:57:49 +00:00
{
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " testsam_getsampwnam called \n " ) ) ;
2002-09-26 18:37:55 +00:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 02:57:49 +00:00
}
/***************************************************************************
2002-07-15 10:35:28 +00:00
Search by sid
2002-02-22 02:57:49 +00:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2010-05-21 11:25:01 +10:00
static NTSTATUS testsam_getsampwsid ( struct pdb_methods * methods , struct samu * user , const struct dom_sid * sid )
2002-02-22 02:57:49 +00:00
{
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " testsam_getsampwsid called \n " ) ) ;
2002-09-26 18:37:55 +00:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 02:57:49 +00:00
}
/***************************************************************************
2006-07-12 21:05:11 +00:00
Delete a struct samu
2002-02-22 02:57:49 +00:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-12 21:05:11 +00:00
static NTSTATUS testsam_delete_sam_account ( struct pdb_methods * methods , struct samu * sam_pass )
2002-02-22 02:57:49 +00:00
{
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " testsam_delete_sam_account called \n " ) ) ;
2002-09-26 18:37:55 +00:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 02:57:49 +00:00
}
/***************************************************************************
2006-07-12 21:05:11 +00:00
Modifies an existing struct samu
2002-02-22 02:57:49 +00:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-12 21:05:11 +00:00
static NTSTATUS testsam_update_sam_account ( struct pdb_methods * methods , struct samu * newpwd )
2002-02-22 02:57:49 +00:00
{
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " testsam_update_sam_account called \n " ) ) ;
2002-09-26 18:37:55 +00:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 02:57:49 +00:00
}
/***************************************************************************
2006-07-12 21:05:11 +00:00
Adds an existing struct samu
2002-02-22 02:57:49 +00:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-12 21:05:11 +00:00
static NTSTATUS testsam_add_sam_account ( struct pdb_methods * methods , struct samu * newpwd )
2002-02-22 02:57:49 +00:00
{
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " testsam_add_sam_account called \n " ) ) ;
2002-09-26 18:37:55 +00:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 02:57:49 +00:00
}
2011-11-14 16:29:57 +01:00
static NTSTATUS testsam_init ( struct pdb_methods * * pdb_method , const char * location )
2002-02-22 02:57:49 +00:00
{
NTSTATUS nt_status ;
2006-07-12 21:05:11 +00:00
if ( ! NT_STATUS_IS_OK ( nt_status = make_pdb_method ( pdb_method ) ) ) {
2002-02-22 02:57:49 +00:00
return nt_status ;
}
( * pdb_method ) - > name = " testsam " ;
2004-09-03 13:42:02 +00:00
/* Functions your pdb module doesn't provide should not be
set , make_pdb_methods ( ) already provide suitable defaults for missing functions */
2002-07-15 10:35:28 +00:00
2002-02-22 02:57:49 +00:00
( * pdb_method ) - > getsampwnam = testsam_getsampwnam ;
2002-07-15 10:35:28 +00:00
( * pdb_method ) - > getsampwsid = testsam_getsampwsid ;
2002-02-22 02:57:49 +00:00
( * pdb_method ) - > add_sam_account = testsam_add_sam_account ;
( * pdb_method ) - > update_sam_account = testsam_update_sam_account ;
( * pdb_method ) - > delete_sam_account = testsam_delete_sam_account ;
2002-07-15 10:35:28 +00:00
testsam_debug_level = debug_add_class ( " testsam " ) ;
if ( testsam_debug_level = = - 1 ) {
testsam_debug_level = DBGC_ALL ;
DEBUG ( 0 , ( " testsam: Couldn't register custom debugging class! \n " ) ) ;
} else DEBUG ( 0 , ( " testsam: Debug class number of 'testsam': %d \n " , testsam_debug_level ) ) ;
2002-02-22 02:57:49 +00:00
DEBUG ( 0 , ( " Initializing testsam \n " ) ) ;
if ( location )
2002-07-15 10:35:28 +00:00
DEBUG ( 10 , ( " Location: %s \n " , location ) ) ;
2002-02-22 02:57:49 +00:00
return NT_STATUS_OK ;
}
2003-04-28 01:24:26 +00:00
2015-08-13 18:16:20 +02:00
static_decl_pdb ;
2017-04-20 12:24:43 -07:00
NTSTATUS pdb_test_init ( TALLOC_CTX * ctx )
2011-11-14 16:29:57 +01:00
{
2003-12-30 21:12:36 +00:00
return smb_register_passdb ( PASSDB_INTERFACE_VERSION , " testsam " ,
testsam_init ) ;
2003-04-28 01:24:26 +00:00
}