2002-02-22 05:57:49 +03: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 23:25:36 +04:00
* Software Foundation ; either version 3 of the License , or ( at your option )
2002-02-22 05:57:49 +03: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 09:23:25 +04:00
* this program ; if not , see < http : //www.gnu.org/licenses/>.
2002-02-22 05:57:49 +03:00
*/
2002-07-15 14:35:28 +04:00
2002-02-22 05:57:49 +03:00
# include "includes.h"
2002-07-15 14:35:28 +04:00
static int testsam_debug_level = DBGC_ALL ;
# undef DBGC_CLASS
# define DBGC_CLASS testsam_debug_level
/***************************************************************
Start enumeration of the passwd list .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-02-27 13:32:45 +03:00
static NTSTATUS testsam_setsampwent ( struct pdb_methods * methods , BOOL update , uint32 acb_mask )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_setsampwent called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/***************************************************************
End enumeration of the passwd list .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-07-15 14:35:28 +04:00
static void testsam_endsampwent ( struct pdb_methods * methods )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_endsampwent called \n " ) ) ;
2002-02-22 05:57:49 +03:00
}
/*****************************************************************
2006-07-13 01:05:11 +04:00
Get one struct samu from the list ( next in line )
2002-02-22 05:57:49 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_getsampwent ( struct pdb_methods * methods , struct samu * user )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_getsampwent called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/******************************************************************
Lookup a name in the SAM database
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_getsampwnam ( struct pdb_methods * methods , struct samu * user , const char * sname )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_getsampwnam called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/***************************************************************************
2002-07-15 14:35:28 +04:00
Search by sid
2002-02-22 05:57:49 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_getsampwsid ( struct pdb_methods * methods , struct samu * user , const DOM_SID * sid )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_getsampwsid called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/***************************************************************************
2006-07-13 01:05:11 +04:00
Delete a struct samu
2002-02-22 05:57:49 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_delete_sam_account ( struct pdb_methods * methods , struct samu * sam_pass )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_delete_sam_account called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/***************************************************************************
2006-07-13 01:05:11 +04:00
Modifies an existing struct samu
2002-02-22 05:57:49 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_update_sam_account ( struct pdb_methods * methods , struct samu * newpwd )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_update_sam_account called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
/***************************************************************************
2006-07-13 01:05:11 +04:00
Adds an existing struct samu
2002-02-22 05:57:49 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-07-13 01:05:11 +04:00
static NTSTATUS testsam_add_sam_account ( struct pdb_methods * methods , struct samu * newpwd )
2002-02-22 05:57:49 +03:00
{
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " testsam_add_sam_account called \n " ) ) ;
2002-09-26 22:37:55 +04:00
return NT_STATUS_NOT_IMPLEMENTED ;
2002-02-22 05:57:49 +03:00
}
2006-07-13 01:05:11 +04:00
NTSTATUS testsam_init ( struct pdb_methods * * pdb_method , const char * location )
2002-02-22 05:57:49 +03:00
{
NTSTATUS nt_status ;
2006-07-13 01:05:11 +04:00
if ( ! NT_STATUS_IS_OK ( nt_status = make_pdb_method ( pdb_method ) ) ) {
2002-02-22 05:57:49 +03:00
return nt_status ;
}
( * pdb_method ) - > name = " testsam " ;
2004-09-03 17:42:02 +04: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 14:35:28 +04:00
2002-02-22 05:57:49 +03:00
( * pdb_method ) - > setsampwent = testsam_setsampwent ;
( * pdb_method ) - > endsampwent = testsam_endsampwent ;
( * pdb_method ) - > getsampwent = testsam_getsampwent ;
( * pdb_method ) - > getsampwnam = testsam_getsampwnam ;
2002-07-15 14:35:28 +04:00
( * pdb_method ) - > getsampwsid = testsam_getsampwsid ;
2002-02-22 05:57:49 +03: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 14:35:28 +04: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 05:57:49 +03:00
DEBUG ( 0 , ( " Initializing testsam \n " ) ) ;
if ( location )
2002-07-15 14:35:28 +04:00
DEBUG ( 10 , ( " Location: %s \n " , location ) ) ;
2002-02-22 05:57:49 +03:00
return NT_STATUS_OK ;
}
2003-04-28 05:24:26 +04:00
2003-12-31 00:12:36 +03:00
NTSTATUS init_module ( void ) {
return smb_register_passdb ( PASSDB_INTERFACE_VERSION , " testsam " ,
testsam_init ) ;
2003-04-28 05:24:26 +04:00
}