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
* Software Foundation ; either version 2 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 , write to the Free Software Foundation , Inc . , 675
* Mass Ave , Cambridge , MA 0213 9 , USA .
*/
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 .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_setsampwent ( struct pdb_methods * methods , BOOL update )
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
}
/*****************************************************************
Get one SAM_ACCOUNT from the list ( next in line )
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_getsampwent ( struct pdb_methods * methods , SAM_ACCOUNT * 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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_getsampwnam ( struct pdb_methods * methods , SAM_ACCOUNT * 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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_getsampwsid ( struct pdb_methods * methods , SAM_ACCOUNT * 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
}
/***************************************************************************
Delete a SAM_ACCOUNT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_delete_sam_account ( struct pdb_methods * methods , SAM_ACCOUNT * 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
}
/***************************************************************************
Modifies an existing SAM_ACCOUNT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_update_sam_account ( struct pdb_methods * methods , SAM_ACCOUNT * 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
}
/***************************************************************************
Adds an existing SAM_ACCOUNT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002-09-26 22:37:55 +04:00
static NTSTATUS testsam_add_sam_account ( struct pdb_methods * methods , SAM_ACCOUNT * 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
}
2003-04-28 05:24:26 +04:00
NTSTATUS testsam_init ( PDB_CONTEXT * pdb_context , PDB_METHODS * * pdb_method , const char * location )
2002-02-22 05:57:49 +03:00
{
NTSTATUS nt_status ;
if ( ! NT_STATUS_IS_OK ( nt_status = make_pdb_methods ( pdb_context - > mem_ctx , pdb_method ) ) ) {
return nt_status ;
}
( * pdb_method ) - > name = " testsam " ;
2002-07-15 14:35:28 +04:00
/* Functions your pdb module doesn't provide should be set
* to NULL */
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
int init_module ( void ) ;
int init_module ( ) {
if ( smb_register_passdb ( " testsam " , testsam_init , PASSDB_INTERFACE_VERSION ) )
return 0 ;
return 1 ;
}