LCOV - code coverage report
Current view: top level - examples/pdb - test.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 2 35 5.7 %
Date: 2024-04-21 15:09:00 Functions: 1 7 14.3 %

          Line data    Source code
       1             : /*
       2             :  * Test password backend for samba
       3             :  * Copyright (C) Jelmer Vernooij 2002
       4             :  * 
       5             :  * This program is free software; you can redistribute it and/or modify it under
       6             :  * the terms of the GNU General Public License as published by the Free
       7             :  * Software Foundation; either version 3 of the License, or (at your option)
       8             :  * any later version.
       9             :  * 
      10             :  * This program is distributed in the hope that it will be useful, but WITHOUT
      11             :  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      12             :  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
      13             :  * more details.
      14             :  * 
      15             :  * You should have received a copy of the GNU General Public License along with
      16             :  * this program; if not, see <http://www.gnu.org/licenses/>.
      17             :  */
      18             : 
      19             : 
      20             : #include "includes.h"
      21             : #include "passdb.h"
      22             : 
      23             : static int testsam_debug_level = DBGC_ALL;
      24             : 
      25             : #undef DBGC_CLASS
      26             : #define DBGC_CLASS testsam_debug_level
      27             : 
      28             : /******************************************************************
      29             :  Lookup a name in the SAM database
      30             : ******************************************************************/
      31             : 
      32           0 : static NTSTATUS testsam_getsampwnam (struct pdb_methods *methods, struct samu *user, const char *sname)
      33             : {
      34           0 :         DEBUG(10, ("testsam_getsampwnam called\n"));
      35           0 :         return NT_STATUS_NOT_IMPLEMENTED;
      36             : }
      37             : 
      38             : /***************************************************************************
      39             :  Search by sid
      40             :  **************************************************************************/
      41             : 
      42           0 : static NTSTATUS testsam_getsampwsid (struct pdb_methods *methods, struct samu *user, const struct dom_sid *sid)
      43             : {
      44           0 :         DEBUG(10, ("testsam_getsampwsid called\n"));
      45           0 :         return NT_STATUS_NOT_IMPLEMENTED;
      46             : }
      47             : 
      48             : /***************************************************************************
      49             :  Delete a struct samu
      50             : ****************************************************************************/
      51             : 
      52           0 : static NTSTATUS testsam_delete_sam_account(struct pdb_methods *methods, struct samu *sam_pass)
      53             : {
      54           0 :         DEBUG(10, ("testsam_delete_sam_account called\n"));
      55           0 :         return NT_STATUS_NOT_IMPLEMENTED;
      56             : }
      57             : 
      58             : /***************************************************************************
      59             :  Modifies an existing struct samu
      60             : ****************************************************************************/
      61             : 
      62           0 : static NTSTATUS testsam_update_sam_account (struct pdb_methods *methods, struct samu *newpwd)
      63             : {
      64           0 :         DEBUG(10, ("testsam_update_sam_account called\n"));
      65           0 :         return NT_STATUS_NOT_IMPLEMENTED;
      66             : }
      67             : 
      68             : /***************************************************************************
      69             :  Adds an existing struct samu
      70             : ****************************************************************************/
      71             : 
      72           0 : static NTSTATUS testsam_add_sam_account (struct pdb_methods *methods, struct samu *newpwd)
      73             : {
      74           0 :         DEBUG(10, ("testsam_add_sam_account called\n"));
      75           0 :         return NT_STATUS_NOT_IMPLEMENTED;
      76             : }
      77             : 
      78           0 : static NTSTATUS testsam_init(struct pdb_methods **pdb_method, const char *location)
      79             : {
      80             :         NTSTATUS nt_status;
      81             : 
      82           0 :         if (!NT_STATUS_IS_OK(nt_status = make_pdb_method( pdb_method ))) {
      83           0 :                 return nt_status;
      84             :         }
      85             : 
      86           0 :         (*pdb_method)->name = "testsam";
      87             : 
      88             :         /* Functions your pdb module doesn't provide should not be
      89             :            set, make_pdb_methods() already provide suitable defaults for missing functions */
      90             : 
      91           0 :         (*pdb_method)->getsampwnam = testsam_getsampwnam;
      92           0 :         (*pdb_method)->getsampwsid = testsam_getsampwsid;
      93           0 :         (*pdb_method)->add_sam_account = testsam_add_sam_account;
      94           0 :         (*pdb_method)->update_sam_account = testsam_update_sam_account;
      95           0 :         (*pdb_method)->delete_sam_account = testsam_delete_sam_account;
      96             : 
      97           0 :         testsam_debug_level = debug_add_class("testsam");
      98           0 :         if (testsam_debug_level == -1) {
      99           0 :                 testsam_debug_level = DBGC_ALL;
     100           0 :                 DEBUG(0, ("testsam: Couldn't register custom debugging class!\n"));
     101           0 :         } else DEBUG(0, ("testsam: Debug class number of 'testsam': %d\n", testsam_debug_level));
     102             :     
     103           0 :         DEBUG(0, ("Initializing testsam\n"));
     104           0 :         if (location)
     105           0 :                 DEBUG(10, ("Location: %s\n", location));
     106             : 
     107           0 :         return NT_STATUS_OK;
     108             : }
     109             : 
     110             : static_decl_pdb;
     111          19 : NTSTATUS pdb_test_init(TALLOC_CTX *ctx)
     112             : {
     113          19 :         return smb_register_passdb(PASSDB_INTERFACE_VERSION, "testsam",
     114             :                                    testsam_init);
     115             : }

Generated by: LCOV version 1.14