Coverage Report

Created: 2025-07-23 07:04

/src/samba/source3/param/loadparm_ctx.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
   Unix SMB/CIFS implementation.
3
   Parameter loading functions
4
   Copyright (C) Andrew Bartlett 2011
5
6
   This program is free software; you can redistribute it and/or modify
7
   it under the terms of the GNU General Public License as published by
8
   the Free Software Foundation; either version 3 of the License, or
9
   (at your option) any later version.
10
11
   This program is distributed in the hope that it will be useful,
12
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
   GNU General Public License for more details.
15
16
   You should have received a copy of the GNU General Public License
17
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include "includes.h"
21
#include "lib/param/s3_param.h"
22
23
static struct loadparm_service *lp_service_for_s4_ctx(const char *servicename)
24
0
{
25
0
  TALLOC_CTX *mem_ctx;
26
0
  struct loadparm_service *service;
27
28
0
  mem_ctx = talloc_stackframe();
29
0
  service = lp_service(servicename);
30
0
  talloc_free(mem_ctx);
31
32
0
  return service;
33
0
}
34
35
static struct loadparm_service *lp_servicebynum_for_s4_ctx(int servicenum)
36
0
{
37
0
  TALLOC_CTX *mem_ctx;
38
0
  struct loadparm_service *service;
39
40
0
  mem_ctx = talloc_stackframe();
41
0
  service = lp_servicebynum(servicenum);
42
0
  talloc_free(mem_ctx);
43
44
0
  return service;
45
0
}
46
47
static bool lp_load_for_s4_ctx(const char *filename)
48
0
{
49
0
  TALLOC_CTX *mem_ctx;
50
0
  bool status;
51
52
0
  mem_ctx = talloc_stackframe();
53
0
  status =  lp_load_no_reinit(filename);
54
0
  talloc_free(mem_ctx);
55
56
0
  return status;
57
0
}
58
59
static struct loadparm_s3_helpers s3_fns =
60
{
61
  .get_parm_ptr = lp_parm_ptr,
62
  .get_service = lp_service_for_s4_ctx,
63
  .get_servicebynum = lp_servicebynum_for_s4_ctx,
64
  .getservicebyname = getservicebyname,
65
  .get_numservices = lp_numservices,
66
  .load = lp_load_for_s4_ctx,
67
  .store_cmdline = store_lp_set_cmdline,
68
  .dump = lp_dump,
69
  .lp_include = lp_include,
70
  .init_ldap_debugging = init_ldap_debugging,
71
  .do_section = lp_do_section,
72
  .init_globals = loadparm_s3_init_globals,
73
};
74
75
const struct loadparm_s3_helpers *loadparm_s3_helpers(void)
76
0
{
77
0
  struct loadparm_s3_helpers *helpers;
78
0
  helpers = &s3_fns;
79
0
  helpers->globals = get_globals();
80
0
  helpers->flags = get_flags();
81
0
  return helpers;
82
0
}