583
602
parameters from the rest of the program are defined
606
* the creation of separate lpcfg_*() and lp_*() functions is to allow
607
* for code compatibility between existing Samba4 and Samba3 code.
610
/* this global context supports the lp_*() function varients */
611
static struct loadparm_context *global_loadparm_context;
613
#define lpcfg_default_service global_loadparm_context->sDefault
614
#define lpcfg_global_service(i) global_loadparm_context->services[i]
586
616
#define FN_GLOBAL_STRING(fn_name,var_name) \
587
const char *fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name ? lp_string(lp_ctx->globals->var_name) : "";}
617
_PUBLIC_ const char *lpcfg_ ## fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name ? lp_string(lp_ctx->globals->var_name) : "";}
588
619
#define FN_GLOBAL_CONST_STRING(fn_name,var_name) \
589
const char *fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name ? lp_ctx->globals->var_name : "";}
620
_PUBLIC_ const char *lpcfg_ ## fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name ? lp_ctx->globals->var_name : "";}
590
622
#define FN_GLOBAL_LIST(fn_name,var_name) \
591
const char **fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name;}
623
_PUBLIC_ const char **lpcfg_ ## fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return NULL; return lp_ctx->globals->var_name;}
592
625
#define FN_GLOBAL_BOOL(fn_name,var_name) \
593
bool fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return false; return lp_ctx->globals->var_name;}
595
#define FN_GLOBAL_CHAR(fn_name,ptr) \
596
char fn_name(void) {return(*(char *)(ptr));}
626
_PUBLIC_ bool lpcfg_ ## fn_name(struct loadparm_context *lp_ctx) {if (lp_ctx == NULL) return false; return lp_ctx->globals->var_name;}
598
628
#define FN_GLOBAL_INTEGER(fn_name,var_name) \
599
int fn_name(struct loadparm_context *lp_ctx) {return lp_ctx->globals->var_name;}
629
_PUBLIC_ int lpcfg_ ## fn_name(struct loadparm_context *lp_ctx) {return lp_ctx->globals->var_name;}
601
631
#define FN_LOCAL_STRING(fn_name,val) \
602
const char *fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return(lp_string((const char *)((service != NULL && service->val != NULL) ? service->val : sDefault->val)));}
632
_PUBLIC_ const char *lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return(lp_string((const char *)((service != NULL && service->val != NULL) ? service->val : sDefault->val)));}
603
634
#define FN_LOCAL_LIST(fn_name,val) \
604
const char **fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return(const char **)(service != NULL && service->val != NULL? service->val : sDefault->val);}
635
_PUBLIC_ const char **lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return(const char **)(service != NULL && service->val != NULL? service->val : sDefault->val);}
605
637
#define FN_LOCAL_BOOL(fn_name,val) \
606
bool fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return((service != NULL)? service->val : sDefault->val);}
638
_PUBLIC_ bool lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return((service != NULL)? service->val : sDefault->val);}
607
640
#define FN_LOCAL_INTEGER(fn_name,val) \
608
int fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return((service != NULL)? service->val : sDefault->val);}
610
_PUBLIC_ FN_GLOBAL_INTEGER(lp_server_role, server_role)
611
_PUBLIC_ FN_GLOBAL_LIST(lp_smb_ports, smb_ports)
612
_PUBLIC_ FN_GLOBAL_INTEGER(lp_nbt_port, nbt_port)
613
_PUBLIC_ FN_GLOBAL_INTEGER(lp_dgram_port, dgram_port)
614
_PUBLIC_ FN_GLOBAL_INTEGER(lp_cldap_port, cldap_port)
615
_PUBLIC_ FN_GLOBAL_INTEGER(lp_krb5_port, krb5_port)
616
_PUBLIC_ FN_GLOBAL_INTEGER(lp_kpasswd_port, kpasswd_port)
617
_PUBLIC_ FN_GLOBAL_INTEGER(lp_web_port, web_port)
618
_PUBLIC_ FN_GLOBAL_STRING(lp_swat_directory, swat_directory)
619
_PUBLIC_ FN_GLOBAL_BOOL(lp_tls_enabled, tls_enabled)
620
_PUBLIC_ FN_GLOBAL_STRING(lp_share_backend, szShareBackend)
621
_PUBLIC_ FN_GLOBAL_STRING(lp_sam_url, szSAM_URL)
622
_PUBLIC_ FN_GLOBAL_STRING(lp_idmap_url, szIDMAP_URL)
623
_PUBLIC_ FN_GLOBAL_STRING(lp_secrets_url, szSECRETS_URL)
624
_PUBLIC_ FN_GLOBAL_STRING(lp_spoolss_url, szSPOOLSS_URL)
625
_PUBLIC_ FN_GLOBAL_STRING(lp_wins_config_url, szWINS_CONFIG_URL)
626
_PUBLIC_ FN_GLOBAL_STRING(lp_wins_url, szWINS_URL)
627
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_winbind_separator, szWinbindSeparator)
628
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_winbindd_socket_directory, szWinbinddSocketDirectory)
629
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_winbindd_privileged_socket_directory, szWinbinddPrivilegedSocketDirectory)
630
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_template_shell, szTemplateShell)
631
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_template_homedir, szTemplateHomedir)
632
_PUBLIC_ FN_GLOBAL_BOOL(lp_winbind_sealed_pipes, bWinbindSealedPipes)
633
_PUBLIC_ FN_GLOBAL_BOOL(lp_idmap_trusted_only, bIdmapTrustedOnly)
634
_PUBLIC_ FN_GLOBAL_STRING(lp_private_dir, szPrivateDir)
635
_PUBLIC_ FN_GLOBAL_STRING(lp_serverstring, szServerString)
636
_PUBLIC_ FN_GLOBAL_STRING(lp_lockdir, szLockDir)
637
_PUBLIC_ FN_GLOBAL_STRING(lp_modulesdir, szModulesDir)
638
_PUBLIC_ FN_GLOBAL_STRING(lp_setupdir, szSetupDir)
639
_PUBLIC_ FN_GLOBAL_STRING(lp_ncalrpc_dir, ncalrpc_dir)
640
_PUBLIC_ FN_GLOBAL_STRING(lp_dos_charset, dos_charset)
641
_PUBLIC_ FN_GLOBAL_STRING(lp_unix_charset, unix_charset)
642
_PUBLIC_ FN_GLOBAL_STRING(lp_display_charset, display_charset)
643
_PUBLIC_ FN_GLOBAL_STRING(lp_piddir, szPidDir)
644
_PUBLIC_ FN_GLOBAL_LIST(lp_dcerpc_endpoint_servers, dcerpc_ep_servers)
645
_PUBLIC_ FN_GLOBAL_LIST(lp_server_services, server_services)
646
_PUBLIC_ FN_GLOBAL_STRING(lp_ntptr_providor, ntptr_providor)
647
_PUBLIC_ FN_GLOBAL_STRING(lp_auto_services, szAutoServices)
648
_PUBLIC_ FN_GLOBAL_STRING(lp_passwd_chat, szPasswdChat)
649
_PUBLIC_ FN_GLOBAL_LIST(lp_passwordserver, szPasswordServers)
650
_PUBLIC_ FN_GLOBAL_LIST(lp_name_resolve_order, szNameResolveOrder)
651
_PUBLIC_ FN_GLOBAL_STRING(lp_realm, szRealm)
652
_PUBLIC_ FN_GLOBAL_STRING(lp_socket_options, socket_options)
653
_PUBLIC_ FN_GLOBAL_STRING(lp_workgroup, szWorkgroup)
654
_PUBLIC_ FN_GLOBAL_STRING(lp_netbios_name, szNetbiosName)
655
_PUBLIC_ FN_GLOBAL_STRING(lp_netbios_scope, szNetbiosScope)
656
_PUBLIC_ FN_GLOBAL_LIST(lp_wins_server_list, szWINSservers)
657
_PUBLIC_ FN_GLOBAL_LIST(lp_interfaces, szInterfaces)
658
_PUBLIC_ FN_GLOBAL_STRING(lp_socket_address, szSocketAddress)
659
_PUBLIC_ FN_GLOBAL_LIST(lp_netbios_aliases, szNetbiosAliases)
661
_PUBLIC_ FN_GLOBAL_BOOL(lp_disable_netbios, bDisableNetbios)
662
_PUBLIC_ FN_GLOBAL_BOOL(lp_wins_support, bWINSsupport)
663
_PUBLIC_ FN_GLOBAL_BOOL(lp_wins_dns_proxy, bWINSdnsProxy)
664
_PUBLIC_ FN_GLOBAL_STRING(lp_wins_hook, szWINSHook)
665
_PUBLIC_ FN_GLOBAL_BOOL(lp_local_master, bLocalMaster)
666
_PUBLIC_ FN_GLOBAL_BOOL(lp_readraw, bReadRaw)
667
_PUBLIC_ FN_GLOBAL_BOOL(lp_large_readwrite, bLargeReadwrite)
668
_PUBLIC_ FN_GLOBAL_BOOL(lp_writeraw, bWriteRaw)
669
_PUBLIC_ FN_GLOBAL_BOOL(lp_null_passwords, bNullPasswords)
670
_PUBLIC_ FN_GLOBAL_BOOL(lp_obey_pam_restrictions, bObeyPamRestrictions)
671
_PUBLIC_ FN_GLOBAL_BOOL(lp_encrypted_passwords, bEncryptPasswords)
672
_PUBLIC_ FN_GLOBAL_BOOL(lp_time_server, bTimeServer)
673
_PUBLIC_ FN_GLOBAL_BOOL(lp_bind_interfaces_only, bBindInterfacesOnly)
674
_PUBLIC_ FN_GLOBAL_BOOL(lp_unicode, bUnicode)
675
_PUBLIC_ FN_GLOBAL_BOOL(lp_nt_status_support, bNTStatusSupport)
676
_PUBLIC_ FN_GLOBAL_BOOL(lp_lanman_auth, bLanmanAuth)
677
_PUBLIC_ FN_GLOBAL_BOOL(lp_ntlm_auth, bNTLMAuth)
678
_PUBLIC_ FN_GLOBAL_BOOL(lp_client_plaintext_auth, bClientPlaintextAuth)
679
_PUBLIC_ FN_GLOBAL_BOOL(lp_client_lanman_auth, bClientLanManAuth)
680
_PUBLIC_ FN_GLOBAL_BOOL(lp_client_ntlmv2_auth, bClientNTLMv2Auth)
681
_PUBLIC_ FN_GLOBAL_BOOL(lp_client_use_spnego_principal, client_use_spnego_principal)
682
_PUBLIC_ FN_GLOBAL_BOOL(lp_host_msdfs, bHostMSDfs)
683
_PUBLIC_ FN_GLOBAL_BOOL(lp_unix_extensions, bUnixExtensions)
684
_PUBLIC_ FN_GLOBAL_BOOL(lp_use_spnego, bUseSpnego)
685
_PUBLIC_ FN_GLOBAL_BOOL(lp_rpc_big_endian, bRpcBigEndian)
686
_PUBLIC_ FN_GLOBAL_INTEGER(lp_max_wins_ttl, max_wins_ttl)
687
_PUBLIC_ FN_GLOBAL_INTEGER(lp_min_wins_ttl, min_wins_ttl)
688
_PUBLIC_ FN_GLOBAL_INTEGER(lp_maxmux, max_mux)
689
_PUBLIC_ FN_GLOBAL_INTEGER(lp_max_xmit, max_xmit)
690
_PUBLIC_ FN_GLOBAL_INTEGER(lp_passwordlevel, pwordlevel)
691
_PUBLIC_ FN_GLOBAL_INTEGER(lp_srv_maxprotocol, srv_maxprotocol)
692
_PUBLIC_ FN_GLOBAL_INTEGER(lp_srv_minprotocol, srv_minprotocol)
693
_PUBLIC_ FN_GLOBAL_INTEGER(lp_cli_maxprotocol, cli_maxprotocol)
694
_PUBLIC_ FN_GLOBAL_INTEGER(lp_cli_minprotocol, cli_minprotocol)
695
_PUBLIC_ FN_GLOBAL_INTEGER(lp_security, security)
696
_PUBLIC_ FN_GLOBAL_BOOL(lp_paranoid_server_security, paranoid_server_security)
697
_PUBLIC_ FN_GLOBAL_INTEGER(lp_announce_as, announce_as)
698
const char *lp_servicename(const struct loadparm_service *service)
700
return lp_string((const char *)service->szService);
703
_PUBLIC_ FN_LOCAL_STRING(lp_pathname, szPath)
704
static FN_LOCAL_STRING(_lp_printername, szPrintername)
705
_PUBLIC_ FN_LOCAL_LIST(lp_hostsallow, szHostsallow)
706
_PUBLIC_ FN_LOCAL_LIST(lp_hostsdeny, szHostsdeny)
707
_PUBLIC_ FN_LOCAL_STRING(lp_comment, comment)
708
_PUBLIC_ FN_LOCAL_STRING(lp_fstype, fstype)
709
static FN_LOCAL_STRING(lp_volume, volume)
710
_PUBLIC_ FN_LOCAL_LIST(lp_ntvfs_handler, ntvfs_handler)
711
_PUBLIC_ FN_LOCAL_BOOL(lp_msdfs_root, bMSDfsRoot)
712
_PUBLIC_ FN_LOCAL_BOOL(lp_browseable, bBrowseable)
713
_PUBLIC_ FN_LOCAL_BOOL(lp_readonly, bRead_only)
714
_PUBLIC_ FN_LOCAL_BOOL(lp_print_ok, bPrint_ok)
715
_PUBLIC_ FN_LOCAL_BOOL(lp_map_hidden, bMap_hidden)
716
_PUBLIC_ FN_LOCAL_BOOL(lp_map_archive, bMap_archive)
717
_PUBLIC_ FN_LOCAL_BOOL(lp_strict_locking, bStrictLocking)
718
_PUBLIC_ FN_LOCAL_BOOL(lp_oplocks, bOplocks)
719
_PUBLIC_ FN_LOCAL_BOOL(lp_strict_sync, bStrictSync)
720
_PUBLIC_ FN_LOCAL_BOOL(lp_ci_filesystem, bCIFileSystem)
721
_PUBLIC_ FN_LOCAL_BOOL(lp_map_system, bMap_system)
722
_PUBLIC_ FN_LOCAL_INTEGER(lp_max_connections, iMaxConnections)
723
_PUBLIC_ FN_LOCAL_INTEGER(lp_csc_policy, iCSCPolicy)
724
_PUBLIC_ FN_LOCAL_INTEGER(lp_create_mask, iCreate_mask)
725
_PUBLIC_ FN_LOCAL_INTEGER(lp_force_create_mode, iCreate_force_mode)
726
_PUBLIC_ FN_LOCAL_INTEGER(lp_dir_mask, iDir_mask)
727
_PUBLIC_ FN_LOCAL_INTEGER(lp_force_dir_mode, iDir_force_mode)
728
_PUBLIC_ FN_GLOBAL_INTEGER(lp_server_signing, server_signing)
729
_PUBLIC_ FN_GLOBAL_INTEGER(lp_client_signing, client_signing)
731
_PUBLIC_ FN_GLOBAL_CONST_STRING(lp_ntp_signd_socket_directory, szNTPSignDSocketDirectory)
641
_PUBLIC_ int lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault) {return((service != NULL)? service->val : sDefault->val);}
643
FN_GLOBAL_INTEGER(server_role, server_role)
644
FN_GLOBAL_INTEGER(sid_generator, sid_generator)
645
FN_GLOBAL_LIST(smb_ports, smb_ports)
646
FN_GLOBAL_INTEGER(nbt_port, nbt_port)
647
FN_GLOBAL_INTEGER(dgram_port, dgram_port)
648
FN_GLOBAL_INTEGER(cldap_port, cldap_port)
649
FN_GLOBAL_INTEGER(krb5_port, krb5_port)
650
FN_GLOBAL_INTEGER(kpasswd_port, kpasswd_port)
651
FN_GLOBAL_INTEGER(web_port, web_port)
652
FN_GLOBAL_BOOL(tls_enabled, tls_enabled)
653
FN_GLOBAL_STRING(share_backend, szShareBackend)
654
FN_GLOBAL_STRING(sam_url, szSAM_URL)
655
FN_GLOBAL_STRING(idmap_url, szIDMAP_URL)
656
FN_GLOBAL_STRING(secrets_url, szSECRETS_URL)
657
FN_GLOBAL_STRING(spoolss_url, szSPOOLSS_URL)
658
FN_GLOBAL_STRING(wins_config_url, szWINS_CONFIG_URL)
659
FN_GLOBAL_STRING(wins_url, szWINS_URL)
660
FN_GLOBAL_CONST_STRING(winbind_separator, szWinbindSeparator)
661
FN_GLOBAL_CONST_STRING(winbindd_socket_directory, szWinbinddSocketDirectory)
662
FN_GLOBAL_CONST_STRING(winbindd_privileged_socket_directory, szWinbinddPrivilegedSocketDirectory)
663
FN_GLOBAL_CONST_STRING(template_shell, szTemplateShell)
664
FN_GLOBAL_CONST_STRING(template_homedir, szTemplateHomedir)
665
FN_GLOBAL_BOOL(winbind_sealed_pipes, bWinbindSealedPipes)
666
FN_GLOBAL_BOOL(idmap_trusted_only, bIdmapTrustedOnly)
667
FN_GLOBAL_STRING(private_dir, szPrivateDir)
668
FN_GLOBAL_STRING(serverstring, szServerString)
669
FN_GLOBAL_STRING(lockdir, szLockDir)
670
FN_GLOBAL_STRING(modulesdir, szModulesDir)
671
FN_GLOBAL_STRING(ncalrpc_dir, ncalrpc_dir)
672
FN_GLOBAL_STRING(dos_charset, dos_charset)
673
FN_GLOBAL_STRING(unix_charset, unix_charset)
674
FN_GLOBAL_STRING(display_charset, display_charset)
675
FN_GLOBAL_STRING(piddir, szPidDir)
676
FN_GLOBAL_LIST(rndc_command, szRNDCCommand)
677
FN_GLOBAL_LIST(dns_update_command, szDNSUpdateCommand)
678
FN_GLOBAL_LIST(spn_update_command, szSPNUpdateCommand)
679
FN_GLOBAL_LIST(nsupdate_command, szNSUpdateCommand)
680
FN_GLOBAL_LIST(dcerpc_endpoint_servers, dcerpc_ep_servers)
681
FN_GLOBAL_LIST(server_services, server_services)
682
FN_GLOBAL_STRING(ntptr_providor, ntptr_providor)
683
FN_GLOBAL_STRING(auto_services, szAutoServices)
684
FN_GLOBAL_STRING(passwd_chat, szPasswdChat)
685
FN_GLOBAL_LIST(passwordserver, szPasswordServers)
686
FN_GLOBAL_LIST(name_resolve_order, szNameResolveOrder)
687
FN_GLOBAL_STRING(realm, szRealm_upper)
688
FN_GLOBAL_STRING(dnsdomain, szRealm_lower)
689
FN_GLOBAL_STRING(socket_options, socket_options)
690
FN_GLOBAL_STRING(workgroup, szWorkgroup)
691
FN_GLOBAL_STRING(netbios_name, szNetbiosName)
692
FN_GLOBAL_STRING(netbios_scope, szNetbiosScope)
693
FN_GLOBAL_LIST(wins_server_list, szWINSservers)
694
FN_GLOBAL_LIST(interfaces, szInterfaces)
695
FN_GLOBAL_STRING(socket_address, szSocketAddress)
696
FN_GLOBAL_LIST(netbios_aliases, szNetbiosAliases)
697
FN_GLOBAL_BOOL(disable_netbios, bDisableNetbios)
698
FN_GLOBAL_BOOL(wins_support, bWINSsupport)
699
FN_GLOBAL_BOOL(wins_dns_proxy, bWINSdnsProxy)
700
FN_GLOBAL_STRING(wins_hook, szWINSHook)
701
FN_GLOBAL_BOOL(local_master, bLocalMaster)
702
FN_GLOBAL_BOOL(readraw, bReadRaw)
703
FN_GLOBAL_BOOL(large_readwrite, bLargeReadwrite)
704
FN_GLOBAL_BOOL(writeraw, bWriteRaw)
705
FN_GLOBAL_BOOL(null_passwords, bNullPasswords)
706
FN_GLOBAL_BOOL(obey_pam_restrictions, bObeyPamRestrictions)
707
FN_GLOBAL_BOOL(encrypted_passwords, bEncryptPasswords)
708
FN_GLOBAL_BOOL(time_server, bTimeServer)
709
FN_GLOBAL_BOOL(bind_interfaces_only, bBindInterfacesOnly)
710
FN_GLOBAL_BOOL(unicode, bUnicode)
711
FN_GLOBAL_BOOL(nt_status_support, bNTStatusSupport)
712
FN_GLOBAL_BOOL(lanman_auth, bLanmanAuth)
713
FN_GLOBAL_BOOL(ntlm_auth, bNTLMAuth)
714
FN_GLOBAL_BOOL(client_plaintext_auth, bClientPlaintextAuth)
715
FN_GLOBAL_BOOL(client_lanman_auth, bClientLanManAuth)
716
FN_GLOBAL_BOOL(client_ntlmv2_auth, bClientNTLMv2Auth)
717
FN_GLOBAL_BOOL(client_use_spnego_principal, client_use_spnego_principal)
718
FN_GLOBAL_BOOL(host_msdfs, bHostMSDfs)
719
FN_GLOBAL_BOOL(unix_extensions, bUnixExtensions)
720
FN_GLOBAL_BOOL(use_spnego, bUseSpnego)
721
FN_GLOBAL_BOOL(rpc_big_endian, bRpcBigEndian)
722
FN_GLOBAL_INTEGER(max_wins_ttl, max_wins_ttl)
723
FN_GLOBAL_INTEGER(min_wins_ttl, min_wins_ttl)
724
FN_GLOBAL_INTEGER(maxmux, max_mux)
725
FN_GLOBAL_INTEGER(max_xmit, max_xmit)
726
FN_GLOBAL_INTEGER(passwordlevel, pwordlevel)
727
FN_GLOBAL_INTEGER(srv_maxprotocol, srv_maxprotocol)
728
FN_GLOBAL_INTEGER(srv_minprotocol, srv_minprotocol)
729
FN_GLOBAL_INTEGER(cli_maxprotocol, cli_maxprotocol)
730
FN_GLOBAL_INTEGER(cli_minprotocol, cli_minprotocol)
731
FN_GLOBAL_INTEGER(security, security)
732
FN_GLOBAL_BOOL(paranoid_server_security, paranoid_server_security)
733
FN_GLOBAL_INTEGER(announce_as, announce_as)
735
FN_LOCAL_STRING(pathname, szPath)
736
FN_LOCAL_LIST(hostsallow, szHostsallow)
737
FN_LOCAL_LIST(hostsdeny, szHostsdeny)
738
FN_LOCAL_STRING(comment, comment)
739
FN_LOCAL_STRING(fstype, fstype)
740
FN_LOCAL_LIST(ntvfs_handler, ntvfs_handler)
741
FN_LOCAL_BOOL(msdfs_root, bMSDfsRoot)
742
FN_LOCAL_BOOL(browseable, bBrowseable)
743
FN_LOCAL_BOOL(readonly, bRead_only)
744
FN_LOCAL_BOOL(print_ok, bPrint_ok)
745
FN_LOCAL_BOOL(map_hidden, bMap_hidden)
746
FN_LOCAL_BOOL(map_archive, bMap_archive)
747
FN_LOCAL_BOOL(strict_locking, bStrictLocking)
748
FN_LOCAL_BOOL(oplocks, bOplocks)
749
FN_LOCAL_BOOL(strict_sync, bStrictSync)
750
FN_LOCAL_BOOL(ci_filesystem, bCIFileSystem)
751
FN_LOCAL_BOOL(map_system, bMap_system)
752
FN_LOCAL_INTEGER(max_connections, iMaxConnections)
753
FN_LOCAL_INTEGER(csc_policy, iCSCPolicy)
754
FN_LOCAL_INTEGER(create_mask, iCreate_mask)
755
FN_LOCAL_INTEGER(force_create_mode, iCreate_force_mode)
756
FN_LOCAL_INTEGER(dir_mask, iDir_mask)
757
FN_LOCAL_INTEGER(force_dir_mode, iDir_force_mode)
758
FN_GLOBAL_INTEGER(server_signing, server_signing)
759
FN_GLOBAL_INTEGER(client_signing, client_signing)
761
FN_GLOBAL_CONST_STRING(ntp_signd_socket_directory, szNTPSignDSocketDirectory)
733
763
/* local prototypes */
734
764
static int map_parameter(const char *pszParmName);
735
static struct loadparm_service *getservicebyname(struct loadparm_context *lp_ctx,
765
static struct loadparm_service *getservicebyname(struct loadparm_context *lp_ctx,
736
766
const char *pszServiceName);
737
767
static void copy_service(struct loadparm_service *pserviceDest,
738
768
struct loadparm_service *pserviceSource,
2282
lp_do_global_parameter(lp_ctx, "share backend", "classic");
2284
lp_do_global_parameter(lp_ctx, "server role", "standalone");
2369
lpcfg_do_global_parameter(lp_ctx, "log level", "0");
2371
lpcfg_do_global_parameter(lp_ctx, "share backend", "classic");
2373
lpcfg_do_global_parameter(lp_ctx, "share backend", "classic");
2375
lpcfg_do_global_parameter(lp_ctx, "server role", "standalone");
2286
2377
/* options that can be set on the command line must be initialised via
2287
the slower lp_do_global_parameter() to ensure that FLAG_CMDLINE is obeyed */
2378
the slower lpcfg_do_global_parameter() to ensure that FLAG_CMDLINE is obeyed */
2288
2379
#ifdef TCP_NODELAY
2289
lp_do_global_parameter(lp_ctx, "socket options", "TCP_NODELAY");
2380
lpcfg_do_global_parameter(lp_ctx, "socket options", "TCP_NODELAY");
2291
lp_do_global_parameter(lp_ctx, "workgroup", DEFAULT_WORKGROUP);
2382
lpcfg_do_global_parameter(lp_ctx, "workgroup", DEFAULT_WORKGROUP);
2292
2383
myname = get_myname(lp_ctx);
2293
lp_do_global_parameter(lp_ctx, "netbios name", myname);
2384
lpcfg_do_global_parameter(lp_ctx, "netbios name", myname);
2294
2385
talloc_free(myname);
2295
lp_do_global_parameter(lp_ctx, "name resolve order", "wins host bcast");
2297
lp_do_global_parameter(lp_ctx, "fstype", "NTFS");
2299
lp_do_global_parameter(lp_ctx, "ntvfs handler", "unixuid default");
2300
lp_do_global_parameter(lp_ctx, "max connections", "-1");
2302
lp_do_global_parameter(lp_ctx, "dcerpc endpoint servers", "epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup unixinfo browser");
2303
lp_do_global_parameter(lp_ctx, "server services", "smb rpc nbt wrepl ldap cldap kdc drepl winbind ntp_signd kcc");
2304
lp_do_global_parameter(lp_ctx, "ntptr providor", "simple_ldb");
2305
lp_do_global_parameter(lp_ctx, "auth methods:domain controller", "anonymous sam_ignoredomain");
2306
lp_do_global_parameter(lp_ctx, "auth methods:member server", "anonymous sam winbind");
2307
lp_do_global_parameter(lp_ctx, "auth methods:standalone", "anonymous sam_ignoredomain");
2308
lp_do_global_parameter(lp_ctx, "private dir", dyn_PRIVATE_DIR);
2309
lp_do_global_parameter(lp_ctx, "sam database", "sam.ldb");
2310
lp_do_global_parameter(lp_ctx, "idmap database", "idmap.ldb");
2311
lp_do_global_parameter(lp_ctx, "secrets database", "secrets.ldb");
2312
lp_do_global_parameter(lp_ctx, "spoolss database", "spoolss.ldb");
2313
lp_do_global_parameter(lp_ctx, "wins config database", "wins_config.ldb");
2314
lp_do_global_parameter(lp_ctx, "wins database", "wins.ldb");
2315
lp_do_global_parameter(lp_ctx, "registry:HKEY_LOCAL_MACHINE", "hklm.ldb");
2386
lpcfg_do_global_parameter(lp_ctx, "name resolve order", "wins host bcast");
2388
lpcfg_do_global_parameter(lp_ctx, "fstype", "NTFS");
2390
lpcfg_do_global_parameter(lp_ctx, "ntvfs handler", "unixuid default");
2391
lpcfg_do_global_parameter(lp_ctx, "max connections", "-1");
2393
lpcfg_do_global_parameter(lp_ctx, "dcerpc endpoint servers", "epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup unixinfo browser eventlog6 backupkey");
2394
lpcfg_do_global_parameter(lp_ctx, "server services", "smb rpc nbt wrepl ldap cldap kdc drepl winbind ntp_signd kcc dnsupdate web");
2395
lpcfg_do_global_parameter(lp_ctx, "ntptr providor", "simple_ldb");
2396
/* the winbind method for domain controllers is for both RODC
2397
auth forwarding and for trusted domains */
2398
lpcfg_do_global_parameter(lp_ctx, "auth methods:domain controller", "anonymous sam_ignoredomain winbind");
2399
lpcfg_do_global_parameter(lp_ctx, "auth methods:member server", "anonymous sam winbind");
2400
lpcfg_do_global_parameter(lp_ctx, "auth methods:standalone", "anonymous sam_ignoredomain");
2401
lpcfg_do_global_parameter(lp_ctx, "private dir", dyn_PRIVATE_DIR);
2402
lpcfg_do_global_parameter(lp_ctx, "sam database", "sam.ldb");
2403
lpcfg_do_global_parameter(lp_ctx, "idmap database", "idmap.ldb");
2404
lpcfg_do_global_parameter(lp_ctx, "secrets database", "secrets.ldb");
2405
lpcfg_do_global_parameter(lp_ctx, "spoolss database", "spoolss.ldb");
2406
lpcfg_do_global_parameter(lp_ctx, "wins config database", "wins_config.ldb");
2407
lpcfg_do_global_parameter(lp_ctx, "wins database", "wins.ldb");
2408
lpcfg_do_global_parameter(lp_ctx, "registry:HKEY_LOCAL_MACHINE", "hklm.ldb");
2317
2410
/* This hive should be dynamically generated by Samba using
2318
2411
data from the sam, but for the moment leave it in a tdb to
2319
2412
keep regedt32 from popping up an annoying dialog. */
2320
lp_do_global_parameter(lp_ctx, "registry:HKEY_USERS", "hku.ldb");
2413
lpcfg_do_global_parameter(lp_ctx, "registry:HKEY_USERS", "hku.ldb");
2322
2415
/* using UTF8 by default allows us to support all chars */
2323
lp_do_global_parameter(lp_ctx, "unix charset", "UTF8");
2416
lpcfg_do_global_parameter(lp_ctx, "unix charset", "UTF8");
2325
2418
/* Use codepage 850 as a default for the dos character set */
2326
lp_do_global_parameter(lp_ctx, "dos charset", "CP850");
2419
lpcfg_do_global_parameter(lp_ctx, "dos charset", "CP850");
2329
2422
* Allow the default PASSWD_CHAT to be overridden in local.h.
2331
lp_do_global_parameter(lp_ctx, "passwd chat", DEFAULT_PASSWD_CHAT);
2333
lp_do_global_parameter(lp_ctx, "pid directory", dyn_PIDDIR);
2334
lp_do_global_parameter(lp_ctx, "lock dir", dyn_LOCKDIR);
2335
lp_do_global_parameter(lp_ctx, "modules dir", dyn_MODULESDIR);
2336
lp_do_global_parameter(lp_ctx, "ncalrpc dir", dyn_NCALRPCDIR);
2338
lp_do_global_parameter(lp_ctx, "socket address", "0.0.0.0");
2339
lp_do_global_parameter_var(lp_ctx, "server string",
2424
lpcfg_do_global_parameter(lp_ctx, "passwd chat", DEFAULT_PASSWD_CHAT);
2426
lpcfg_do_global_parameter(lp_ctx, "pid directory", dyn_PIDDIR);
2427
lpcfg_do_global_parameter(lp_ctx, "lock dir", dyn_LOCKDIR);
2428
lpcfg_do_global_parameter(lp_ctx, "modules dir", dyn_MODULESDIR);
2429
lpcfg_do_global_parameter(lp_ctx, "ncalrpc dir", dyn_NCALRPCDIR);
2431
lpcfg_do_global_parameter(lp_ctx, "socket address", "0.0.0.0");
2432
lpcfg_do_global_parameter_var(lp_ctx, "server string",
2340
2433
"Samba %s", SAMBA_VERSION_STRING);
2342
lp_do_global_parameter_var(lp_ctx, "announce version", "%d.%d",
2435
lpcfg_do_global_parameter_var(lp_ctx, "announce version", "%d.%d",
2343
2436
DEFAULT_MAJOR_VERSION,
2344
2437
DEFAULT_MINOR_VERSION);
2346
lp_do_global_parameter(lp_ctx, "password server", "*");
2348
lp_do_global_parameter(lp_ctx, "max mux", "50");
2349
lp_do_global_parameter(lp_ctx, "max xmit", "12288");
2350
lp_do_global_parameter(lp_ctx, "password level", "0");
2351
lp_do_global_parameter(lp_ctx, "LargeReadwrite", "True");
2352
lp_do_global_parameter(lp_ctx, "server min protocol", "CORE");
2353
lp_do_global_parameter(lp_ctx, "server max protocol", "NT1");
2354
lp_do_global_parameter(lp_ctx, "client min protocol", "CORE");
2355
lp_do_global_parameter(lp_ctx, "client max protocol", "NT1");
2356
lp_do_global_parameter(lp_ctx, "security", "USER");
2357
lp_do_global_parameter(lp_ctx, "paranoid server security", "True");
2358
lp_do_global_parameter(lp_ctx, "EncryptPasswords", "True");
2359
lp_do_global_parameter(lp_ctx, "ReadRaw", "True");
2360
lp_do_global_parameter(lp_ctx, "WriteRaw", "True");
2361
lp_do_global_parameter(lp_ctx, "NullPasswords", "False");
2362
lp_do_global_parameter(lp_ctx, "ObeyPamRestrictions", "False");
2363
lp_do_global_parameter(lp_ctx, "announce as", "NT SERVER");
2365
lp_do_global_parameter(lp_ctx, "TimeServer", "False");
2366
lp_do_global_parameter(lp_ctx, "BindInterfacesOnly", "False");
2367
lp_do_global_parameter(lp_ctx, "Unicode", "True");
2368
lp_do_global_parameter(lp_ctx, "ClientLanManAuth", "False");
2369
lp_do_global_parameter(lp_ctx, "LanmanAuth", "False");
2370
lp_do_global_parameter(lp_ctx, "NTLMAuth", "True");
2371
lp_do_global_parameter(lp_ctx, "client use spnego principal", "False");
2373
lp_do_global_parameter(lp_ctx, "UnixExtensions", "False");
2375
lp_do_global_parameter(lp_ctx, "PreferredMaster", "Auto");
2376
lp_do_global_parameter(lp_ctx, "LocalMaster", "True");
2378
lp_do_global_parameter(lp_ctx, "wins support", "False");
2379
lp_do_global_parameter(lp_ctx, "dns proxy", "True");
2381
lp_do_global_parameter(lp_ctx, "winbind separator", "\\");
2382
lp_do_global_parameter(lp_ctx, "winbind sealed pipes", "True");
2383
lp_do_global_parameter(lp_ctx, "winbindd socket directory", dyn_WINBINDD_SOCKET_DIR);
2384
lp_do_global_parameter(lp_ctx, "winbindd privileged socket directory", dyn_WINBINDD_PRIVILEGED_SOCKET_DIR);
2385
lp_do_global_parameter(lp_ctx, "template shell", "/bin/false");
2386
lp_do_global_parameter(lp_ctx, "template homedir", "/home/%WORKGROUP%/%ACCOUNTNAME%");
2387
lp_do_global_parameter(lp_ctx, "idmap trusted only", "False");
2389
lp_do_global_parameter(lp_ctx, "client signing", "Yes");
2390
lp_do_global_parameter(lp_ctx, "server signing", "auto");
2392
lp_do_global_parameter(lp_ctx, "use spnego", "True");
2394
lp_do_global_parameter(lp_ctx, "smb ports", "445 139");
2395
lp_do_global_parameter(lp_ctx, "nbt port", "137");
2396
lp_do_global_parameter(lp_ctx, "dgram port", "138");
2397
lp_do_global_parameter(lp_ctx, "cldap port", "389");
2398
lp_do_global_parameter(lp_ctx, "krb5 port", "88");
2399
lp_do_global_parameter(lp_ctx, "kpasswd port", "464");
2400
lp_do_global_parameter(lp_ctx, "web port", "901");
2401
lp_do_global_parameter(lp_ctx, "swat directory", dyn_SWATDIR);
2403
lp_do_global_parameter(lp_ctx, "nt status support", "True");
2405
lp_do_global_parameter(lp_ctx, "max wins ttl", "518400"); /* 6 days */
2406
lp_do_global_parameter(lp_ctx, "min wins ttl", "10");
2408
lp_do_global_parameter(lp_ctx, "tls enabled", "True");
2409
lp_do_global_parameter(lp_ctx, "tls keyfile", "tls/key.pem");
2410
lp_do_global_parameter(lp_ctx, "tls certfile", "tls/cert.pem");
2411
lp_do_global_parameter(lp_ctx, "tls cafile", "tls/ca.pem");
2412
lp_do_global_parameter_var(lp_ctx, "setup directory", "%s",
2415
lp_do_global_parameter(lp_ctx, "prefork children:smb", "4");
2417
lp_do_global_parameter(lp_ctx, "ntp signd socket directory", dyn_NTP_SIGND_SOCKET_DIR);
2439
lpcfg_do_global_parameter(lp_ctx, "password server", "*");
2441
lpcfg_do_global_parameter(lp_ctx, "max mux", "50");
2442
lpcfg_do_global_parameter(lp_ctx, "max xmit", "12288");
2443
lpcfg_do_global_parameter(lp_ctx, "password level", "0");
2444
lpcfg_do_global_parameter(lp_ctx, "LargeReadwrite", "True");
2445
lpcfg_do_global_parameter(lp_ctx, "server min protocol", "CORE");
2446
lpcfg_do_global_parameter(lp_ctx, "server max protocol", "NT1");
2447
lpcfg_do_global_parameter(lp_ctx, "client min protocol", "CORE");
2448
lpcfg_do_global_parameter(lp_ctx, "client max protocol", "NT1");
2449
lpcfg_do_global_parameter(lp_ctx, "security", "USER");
2450
lpcfg_do_global_parameter(lp_ctx, "paranoid server security", "True");
2451
lpcfg_do_global_parameter(lp_ctx, "EncryptPasswords", "True");
2452
lpcfg_do_global_parameter(lp_ctx, "ReadRaw", "True");
2453
lpcfg_do_global_parameter(lp_ctx, "WriteRaw", "True");
2454
lpcfg_do_global_parameter(lp_ctx, "NullPasswords", "False");
2455
lpcfg_do_global_parameter(lp_ctx, "ObeyPamRestrictions", "False");
2456
lpcfg_do_global_parameter(lp_ctx, "announce as", "NT SERVER");
2458
lpcfg_do_global_parameter(lp_ctx, "TimeServer", "False");
2459
lpcfg_do_global_parameter(lp_ctx, "BindInterfacesOnly", "False");
2460
lpcfg_do_global_parameter(lp_ctx, "Unicode", "True");
2461
lpcfg_do_global_parameter(lp_ctx, "ClientLanManAuth", "False");
2462
lpcfg_do_global_parameter(lp_ctx, "ClientNTLMv2Auth", "True");
2463
lpcfg_do_global_parameter(lp_ctx, "LanmanAuth", "False");
2464
lpcfg_do_global_parameter(lp_ctx, "NTLMAuth", "True");
2465
lpcfg_do_global_parameter(lp_ctx, "client use spnego principal", "False");
2467
lpcfg_do_global_parameter(lp_ctx, "UnixExtensions", "False");
2469
lpcfg_do_global_parameter(lp_ctx, "PreferredMaster", "Auto");
2470
lpcfg_do_global_parameter(lp_ctx, "LocalMaster", "True");
2472
lpcfg_do_global_parameter(lp_ctx, "wins support", "False");
2473
lpcfg_do_global_parameter(lp_ctx, "dns proxy", "True");
2475
lpcfg_do_global_parameter(lp_ctx, "winbind separator", "\\");
2476
lpcfg_do_global_parameter(lp_ctx, "winbind sealed pipes", "True");
2477
lpcfg_do_global_parameter(lp_ctx, "winbindd socket directory", dyn_WINBINDD_SOCKET_DIR);
2478
lpcfg_do_global_parameter(lp_ctx, "winbindd privileged socket directory", dyn_WINBINDD_PRIVILEGED_SOCKET_DIR);
2479
lpcfg_do_global_parameter(lp_ctx, "template shell", "/bin/false");
2480
lpcfg_do_global_parameter(lp_ctx, "template homedir", "/home/%WORKGROUP%/%ACCOUNTNAME%");
2481
lpcfg_do_global_parameter(lp_ctx, "idmap trusted only", "False");
2483
lpcfg_do_global_parameter(lp_ctx, "client signing", "Yes");
2484
lpcfg_do_global_parameter(lp_ctx, "server signing", "auto");
2486
lpcfg_do_global_parameter(lp_ctx, "use spnego", "True");
2488
lpcfg_do_global_parameter(lp_ctx, "smb ports", "445 139");
2489
lpcfg_do_global_parameter(lp_ctx, "nbt port", "137");
2490
lpcfg_do_global_parameter(lp_ctx, "dgram port", "138");
2491
lpcfg_do_global_parameter(lp_ctx, "cldap port", "389");
2492
lpcfg_do_global_parameter(lp_ctx, "krb5 port", "88");
2493
lpcfg_do_global_parameter(lp_ctx, "kpasswd port", "464");
2494
lpcfg_do_global_parameter(lp_ctx, "web port", "901");
2496
lpcfg_do_global_parameter(lp_ctx, "nt status support", "True");
2498
lpcfg_do_global_parameter(lp_ctx, "max wins ttl", "518400"); /* 6 days */
2499
lpcfg_do_global_parameter(lp_ctx, "min wins ttl", "10");
2501
lpcfg_do_global_parameter(lp_ctx, "tls enabled", "True");
2502
lpcfg_do_global_parameter(lp_ctx, "tls keyfile", "tls/key.pem");
2503
lpcfg_do_global_parameter(lp_ctx, "tls certfile", "tls/cert.pem");
2504
lpcfg_do_global_parameter(lp_ctx, "tls cafile", "tls/ca.pem");
2505
lpcfg_do_global_parameter(lp_ctx, "prefork children:smb", "4");
2507
lpcfg_do_global_parameter(lp_ctx, "ntp signd socket directory", dyn_NTP_SIGND_SOCKET_DIR);
2508
lpcfg_do_global_parameter(lp_ctx, "rndc command", "/usr/sbin/rndc");
2509
lpcfg_do_global_parameter_var(lp_ctx, "dns update command", "%s/samba_dnsupdate", dyn_SCRIPTSBINDIR);
2510
lpcfg_do_global_parameter_var(lp_ctx, "spn update command", "%s/samba_spnupdate", dyn_SCRIPTSBINDIR);
2511
lpcfg_do_global_parameter(lp_ctx, "nsupdate command", "/usr/bin/nsupdate -g");
2419
2513
for (i = 0; parm_table[i].label; i++) {
2420
2514
if (!(lp_ctx->flags[i] & FLAG_CMDLINE)) {
2636
2779
return maxjobs;
2639
struct smb_iconv_convenience *lp_iconv_convenience(struct loadparm_context *lp_ctx)
2782
struct smb_iconv_convenience *lpcfg_iconv_convenience(struct loadparm_context *lp_ctx)
2641
2784
if (lp_ctx == NULL) {
2642
static struct smb_iconv_convenience *fallback_ic = NULL;
2643
if (fallback_ic == NULL)
2644
fallback_ic = smb_iconv_convenience_init(talloc_autofree_context(),
2645
"CP850", "UTF8", true);
2785
return get_iconv_convenience();
2648
2787
return lp_ctx->iconv_convenience;
2651
2790
_PUBLIC_ void reload_charcnv(struct loadparm_context *lp_ctx)
2653
talloc_unlink(lp_ctx, lp_ctx->iconv_convenience);
2654
global_iconv_convenience = lp_ctx->iconv_convenience = smb_iconv_convenience_init_lp(lp_ctx, lp_ctx);
2792
struct smb_iconv_convenience *old_ic = lp_ctx->iconv_convenience;
2793
if (old_ic == NULL) {
2794
old_ic = global_iconv_convenience;
2796
lp_ctx->iconv_convenience = smb_iconv_convenience_reinit_lp(lp_ctx, lp_ctx, old_ic);
2797
global_iconv_convenience = lp_ctx->iconv_convenience;
2657
void lp_smbcli_options(struct loadparm_context *lp_ctx,
2800
void lpcfg_smbcli_options(struct loadparm_context *lp_ctx,
2658
2801
struct smbcli_options *options)
2660
options->max_xmit = lp_max_xmit(lp_ctx);
2661
options->max_mux = lp_maxmux(lp_ctx);
2662
options->use_spnego = lp_nt_status_support(lp_ctx) && lp_use_spnego(lp_ctx);
2663
options->signing = lp_client_signing(lp_ctx);
2803
options->max_xmit = lpcfg_max_xmit(lp_ctx);
2804
options->max_mux = lpcfg_maxmux(lp_ctx);
2805
options->use_spnego = lpcfg_nt_status_support(lp_ctx) && lpcfg_use_spnego(lp_ctx);
2806
options->signing = lpcfg_client_signing(lp_ctx);
2664
2807
options->request_timeout = SMB_REQUEST_TIMEOUT;
2665
options->ntstatus_support = lp_nt_status_support(lp_ctx);
2666
options->max_protocol = lp_cli_maxprotocol(lp_ctx);
2667
options->unicode = lp_unicode(lp_ctx);
2808
options->ntstatus_support = lpcfg_nt_status_support(lp_ctx);
2809
options->max_protocol = lpcfg_cli_maxprotocol(lp_ctx);
2810
options->unicode = lpcfg_unicode(lp_ctx);
2668
2811
options->use_oplocks = true;
2669
2812
options->use_level2_oplocks = true;
2672
void lp_smbcli_session_options(struct loadparm_context *lp_ctx,
2815
void lpcfg_smbcli_session_options(struct loadparm_context *lp_ctx,
2673
2816
struct smbcli_session_options *options)
2675
options->lanman_auth = lp_client_lanman_auth(lp_ctx);
2676
options->ntlmv2_auth = lp_client_ntlmv2_auth(lp_ctx);
2677
options->plaintext_auth = lp_client_plaintext_auth(lp_ctx);
2818
options->lanman_auth = lpcfg_client_lanman_auth(lp_ctx);
2819
options->ntlmv2_auth = lpcfg_client_ntlmv2_auth(lp_ctx);
2820
options->plaintext_auth = lpcfg_client_plaintext_auth(lp_ctx);
2680
_PUBLIC_ char *lp_tls_keyfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2823
_PUBLIC_ char *lpcfg_tls_keyfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2682
2825
return private_path(mem_ctx, lp_ctx, lp_ctx->globals->tls_keyfile);
2685
_PUBLIC_ char *lp_tls_certfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2828
_PUBLIC_ char *lpcfg_tls_certfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2687
2830
return private_path(mem_ctx, lp_ctx, lp_ctx->globals->tls_certfile);
2690
_PUBLIC_ char *lp_tls_cafile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2833
_PUBLIC_ char *lpcfg_tls_cafile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2692
2835
return private_path(mem_ctx, lp_ctx, lp_ctx->globals->tls_cafile);
2695
_PUBLIC_ char *lp_tls_crlfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2838
_PUBLIC_ char *lpcfg_tls_crlfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2697
2840
return private_path(mem_ctx, lp_ctx, lp_ctx->globals->tls_crlfile);
2700
_PUBLIC_ char *lp_tls_dhpfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2843
_PUBLIC_ char *lpcfg_tls_dhpfile(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2702
2845
return private_path(mem_ctx, lp_ctx, lp_ctx->globals->tls_dhpfile);
2705
_PUBLIC_ struct dcerpc_server_info *lp_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2848
_PUBLIC_ struct dcerpc_server_info *lpcfg_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2707
2850
struct dcerpc_server_info *ret = talloc_zero(mem_ctx, struct dcerpc_server_info);
2709
ret->domain_name = talloc_reference(mem_ctx, lp_workgroup(lp_ctx));
2710
ret->version_major = lp_parm_int(lp_ctx, NULL, "server_info", "version_major", 5);
2711
ret->version_minor = lp_parm_int(lp_ctx, NULL, "server_info", "version_minor", 2);
2712
ret->version_build = lp_parm_int(lp_ctx, NULL, "server_info", "version_build", 3790);
2852
ret->domain_name = talloc_reference(mem_ctx, lpcfg_workgroup(lp_ctx));
2853
ret->version_major = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_major", 5);
2854
ret->version_minor = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_minor", 2);
2855
ret->version_build = lpcfg_parm_int(lp_ctx, NULL, "server_info", "version_build", 3790);
2717
struct gensec_settings *lp_gensec_settings(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2860
struct gensec_settings *lpcfg_gensec_settings(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
2719
2862
struct gensec_settings *settings = talloc(mem_ctx, struct gensec_settings);
2720
2863
if (settings == NULL)
2722
2865
SMB_ASSERT(lp_ctx != NULL);
2723
2866
settings->lp_ctx = talloc_reference(settings, lp_ctx);
2724
settings->iconv_convenience = lp_iconv_convenience(lp_ctx);
2725
settings->target_hostname = lp_parm_string(lp_ctx, NULL, "gensec", "target_hostname");
2867
settings->target_hostname = lpcfg_parm_string(lp_ctx, NULL, "gensec", "target_hostname");
2726
2868
return settings;