LCOV - code coverage report
Current view: top level - source3/winbindd - idmap_passdb.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 0 18 0.0 %
Date: 2024-04-21 15:09:00 Functions: 0 4 0.0 %

          Line data    Source code
       1             : /*
       2             :    Unix SMB/CIFS implementation.
       3             : 
       4             :    idmap PASSDB backend
       5             : 
       6             :    Copyright (C) Simo Sorce 2006
       7             : 
       8             :    This program is free software; you can redistribute it and/or modify
       9             :    it under the terms of the GNU General Public License as published by
      10             :    the Free Software Foundation; either version 3 of the License, or
      11             :    (at your option) any later version.
      12             : 
      13             :    This program is distributed in the hope that it will be useful,
      14             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      15             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      16             :    GNU General Public License for more details.
      17             : 
      18             :    You should have received a copy of the GNU General Public License
      19             :    along with this program.  If not, see <http://www.gnu.org/licenses/>.
      20             : */
      21             : 
      22             : #include "includes.h"
      23             : #include "idmap.h"
      24             : #include "passdb.h"
      25             : 
      26             : #undef DBGC_CLASS
      27             : #define DBGC_CLASS DBGC_IDMAP
      28             : 
      29             : /*****************************
      30             :  Initialise idmap database.
      31             : *****************************/
      32             : 
      33           0 : static NTSTATUS idmap_pdb_init(struct idmap_domain *dom)
      34             : {
      35           0 :         return NT_STATUS_OK;
      36             : }
      37             : 
      38             : /**********************************
      39             :  lookup a set of unix ids.
      40             : **********************************/
      41             : 
      42           0 : static NTSTATUS idmap_pdb_unixids_to_sids(struct idmap_domain *dom, struct id_map **ids)
      43             : {
      44           0 :         int i;
      45             : 
      46           0 :         for (i = 0; ids[i]; i++) {
      47             :                 /* unmapped by default */
      48           0 :                 ids[i]->status = ID_UNMAPPED;
      49             : 
      50           0 :                 if (pdb_id_to_sid(&ids[i]->xid, ids[i]->sid)) {
      51           0 :                         ids[i]->status = ID_MAPPED;
      52             :                 }
      53             :         }
      54             : 
      55           0 :         return NT_STATUS_OK;
      56             : }
      57             : 
      58             : /**********************************
      59             :  lookup a set of sids.
      60             : **********************************/
      61             : 
      62           0 : static NTSTATUS idmap_pdb_sids_to_unixids(struct idmap_domain *dom, struct id_map **ids)
      63             : {
      64           0 :         int i;
      65             : 
      66           0 :         for (i = 0; ids[i]; i++) {
      67           0 :                 if (pdb_sid_to_id(ids[i]->sid, &ids[i]->xid)) {
      68           0 :                         ids[i]->status = ID_MAPPED;
      69             :                 } else {
      70             :                         /* Query Failed */
      71           0 :                         ids[i]->status = ID_UNMAPPED;
      72             :                 }
      73             :         }
      74             : 
      75           0 :         return NT_STATUS_OK;
      76             : }
      77             : 
      78             : static const struct idmap_methods passdb_methods = {
      79             :         .init = idmap_pdb_init,
      80             :         .unixids_to_sids = idmap_pdb_unixids_to_sids,
      81             :         .sids_to_unixids = idmap_pdb_sids_to_unixids,
      82             : };
      83             : 
      84           0 : NTSTATUS idmap_passdb_init(TALLOC_CTX *mem_ctx)
      85             : {
      86           0 :         return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION, "passdb", &passdb_methods);
      87             : }

Generated by: LCOV version 1.14