mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
r25430: Add the loadparm context to all parametric options.
(This used to be commit fd697d77c9
)
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
98038f71a7
commit
60a1046c5c
@ -419,13 +419,13 @@ NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx,
|
|||||||
const char **auth_methods = NULL;
|
const char **auth_methods = NULL;
|
||||||
switch (lp_server_role(global_loadparm)) {
|
switch (lp_server_role(global_loadparm)) {
|
||||||
case ROLE_STANDALONE:
|
case ROLE_STANDALONE:
|
||||||
auth_methods = lp_parm_string_list(NULL, "auth methods", "standalone", NULL);
|
auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "standalone", NULL);
|
||||||
break;
|
break;
|
||||||
case ROLE_DOMAIN_MEMBER:
|
case ROLE_DOMAIN_MEMBER:
|
||||||
auth_methods = lp_parm_string_list(NULL, "auth methods", "member server", NULL);
|
auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "member server", NULL);
|
||||||
break;
|
break;
|
||||||
case ROLE_DOMAIN_CONTROLLER:
|
case ROLE_DOMAIN_CONTROLLER:
|
||||||
auth_methods = lp_parm_string_list(NULL, "auth methods", "domain controller", NULL);
|
auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "domain controller", NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return auth_context_create_methods(mem_ctx, auth_methods, ev, msg, auth_ctx);
|
return auth_context_create_methods(mem_ctx, auth_methods, ev, msg, auth_ctx);
|
||||||
|
@ -624,7 +624,7 @@ _PUBLIC_ NTSTATUS auth_system_session_info(TALLOC_CTX *parent_ctx,
|
|||||||
struct auth_session_info **_session_info)
|
struct auth_session_info **_session_info)
|
||||||
{
|
{
|
||||||
return _auth_system_session_info(parent_ctx,
|
return _auth_system_session_info(parent_ctx,
|
||||||
lp_parm_bool(NULL, "system", "anonymous", false),
|
lp_parm_bool(global_loadparm, NULL, "system", "anonymous", false),
|
||||||
_session_info);
|
_session_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1108,7 +1108,7 @@ _PUBLIC_ NTSTATUS gensec_set_target_hostname(struct gensec_security *gensec_secu
|
|||||||
_PUBLIC_ const char *gensec_get_target_hostname(struct gensec_security *gensec_security)
|
_PUBLIC_ const char *gensec_get_target_hostname(struct gensec_security *gensec_security)
|
||||||
{
|
{
|
||||||
/* We allow the target hostname to be overriden for testing purposes */
|
/* We allow the target hostname to be overriden for testing purposes */
|
||||||
const char *target_hostname = lp_parm_string(NULL, "gensec", "target_hostname");
|
const char *target_hostname = lp_parm_string(global_loadparm, NULL, "gensec", "target_hostname");
|
||||||
if (target_hostname) {
|
if (target_hostname) {
|
||||||
return target_hostname;
|
return target_hostname;
|
||||||
}
|
}
|
||||||
@ -1206,7 +1206,7 @@ const char *gensec_get_target_principal(struct gensec_security *gensec_security)
|
|||||||
*/
|
*/
|
||||||
NTSTATUS gensec_register(const struct gensec_security_ops *ops)
|
NTSTATUS gensec_register(const struct gensec_security_ops *ops)
|
||||||
{
|
{
|
||||||
if (!lp_parm_bool(NULL, "gensec", ops->name, ops->enabled)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "gensec", ops->name, ops->enabled)) {
|
||||||
DEBUG(2,("gensec subsystem %s is disabled\n", ops->name));
|
DEBUG(2,("gensec subsystem %s is disabled\n", ops->name));
|
||||||
return NT_STATUS_OK;
|
return NT_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ static NTSTATUS gensec_gssapi_start(struct gensec_security *gensec_security)
|
|||||||
|
|
||||||
gensec_gssapi_state->gss_exchange_count = 0;
|
gensec_gssapi_state->gss_exchange_count = 0;
|
||||||
gensec_gssapi_state->max_wrap_buf_size
|
gensec_gssapi_state->max_wrap_buf_size
|
||||||
= lp_parm_int(NULL, "gensec_gssapi", "max wrap buf size", 65536);
|
= lp_parm_int(global_loadparm, NULL, "gensec_gssapi", "max wrap buf size", 65536);
|
||||||
|
|
||||||
gensec_gssapi_state->sasl = False;
|
gensec_gssapi_state->sasl = False;
|
||||||
gensec_gssapi_state->sasl_state = STAGE_GSS_NEG;
|
gensec_gssapi_state->sasl_state = STAGE_GSS_NEG;
|
||||||
@ -170,16 +170,16 @@ static NTSTATUS gensec_gssapi_start(struct gensec_security *gensec_security)
|
|||||||
gensec_gssapi_state->input_chan_bindings = GSS_C_NO_CHANNEL_BINDINGS;
|
gensec_gssapi_state->input_chan_bindings = GSS_C_NO_CHANNEL_BINDINGS;
|
||||||
|
|
||||||
gensec_gssapi_state->want_flags = 0;
|
gensec_gssapi_state->want_flags = 0;
|
||||||
if (lp_parm_bool(NULL, "gensec_gssapi", "mutual", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "gensec_gssapi", "mutual", true)) {
|
||||||
gensec_gssapi_state->want_flags |= GSS_C_MUTUAL_FLAG;
|
gensec_gssapi_state->want_flags |= GSS_C_MUTUAL_FLAG;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL, "gensec_gssapi", "delegation", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "gensec_gssapi", "delegation", true)) {
|
||||||
gensec_gssapi_state->want_flags |= GSS_C_DELEG_FLAG;
|
gensec_gssapi_state->want_flags |= GSS_C_DELEG_FLAG;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL, "gensec_gssapi", "replay", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "gensec_gssapi", "replay", true)) {
|
||||||
gensec_gssapi_state->want_flags |= GSS_C_REPLAY_FLAG;
|
gensec_gssapi_state->want_flags |= GSS_C_REPLAY_FLAG;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL, "gensec_gssapi", "sequence", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "gensec_gssapi", "sequence", true)) {
|
||||||
gensec_gssapi_state->want_flags |= GSS_C_SEQUENCE_FLAG;
|
gensec_gssapi_state->want_flags |= GSS_C_SEQUENCE_FLAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,7 +230,7 @@ static NTSTATUS gensec_gssapi_start(struct gensec_security *gensec_security)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* don't do DNS lookups of any kind, it might/will fail for a netbios name */
|
/* don't do DNS lookups of any kind, it might/will fail for a netbios name */
|
||||||
ret = gsskrb5_set_dns_canonicalize(lp_parm_bool(NULL, "krb5", "set_dns_canonicalize", false));
|
ret = gsskrb5_set_dns_canonicalize(lp_parm_bool(global_loadparm, NULL, "krb5", "set_dns_canonicalize", false));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
DEBUG(1,("gensec_krb5_start: gsskrb5_set_dns_canonicalize failed\n"));
|
DEBUG(1,("gensec_krb5_start: gsskrb5_set_dns_canonicalize failed\n"));
|
||||||
talloc_free(gensec_gssapi_state);
|
talloc_free(gensec_gssapi_state);
|
||||||
@ -1317,7 +1317,7 @@ static NTSTATUS gensec_gssapi_session_info(struct gensec_security *gensec_securi
|
|||||||
talloc_free(mem_ctx);
|
talloc_free(mem_ctx);
|
||||||
return nt_status;
|
return nt_status;
|
||||||
}
|
}
|
||||||
} else if (!lp_parm_bool(NULL, "gensec", "require_pac", false)) {
|
} else if (!lp_parm_bool(global_loadparm, NULL, "gensec", "require_pac", false)) {
|
||||||
DEBUG(1, ("Unable to find PAC, resorting to local user lookup: %s\n",
|
DEBUG(1, ("Unable to find PAC, resorting to local user lookup: %s\n",
|
||||||
gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
|
gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
|
||||||
nt_status = sam_get_server_info_principal(mem_ctx, principal_string,
|
nt_status = sam_get_server_info_principal(mem_ctx, principal_string,
|
||||||
|
@ -582,7 +582,7 @@ static NTSTATUS gensec_krb5_session_info(struct gensec_security *gensec_security
|
|||||||
KRB5_AUTHDATA_WIN2K_PAC,
|
KRB5_AUTHDATA_WIN2K_PAC,
|
||||||
&pac_data);
|
&pac_data);
|
||||||
|
|
||||||
if (ret && lp_parm_bool(NULL, "gensec", "require_pac", false)) {
|
if (ret && lp_parm_bool(global_loadparm, NULL, "gensec", "require_pac", false)) {
|
||||||
DEBUG(1, ("Unable to find PAC in ticket from %s, failing to allow access: %s \n",
|
DEBUG(1, ("Unable to find PAC in ticket from %s, failing to allow access: %s \n",
|
||||||
principal_string,
|
principal_string,
|
||||||
smb_get_krb5_error_message(context,
|
smb_get_krb5_error_message(context,
|
||||||
|
@ -250,12 +250,12 @@ krb5_error_code smb_krb5_send_and_recv_func(krb5_context context,
|
|||||||
status = NT_STATUS_INVALID_PARAMETER;
|
status = NT_STATUS_INVALID_PARAMETER;
|
||||||
switch (hi->proto) {
|
switch (hi->proto) {
|
||||||
case KRB5_KRBHST_UDP:
|
case KRB5_KRBHST_UDP:
|
||||||
if (lp_parm_bool(NULL, "krb5", "udp", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "krb5", "udp", true)) {
|
||||||
status = socket_create(name, SOCKET_TYPE_DGRAM, &smb_krb5->sock, 0);
|
status = socket_create(name, SOCKET_TYPE_DGRAM, &smb_krb5->sock, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KRB5_KRBHST_TCP:
|
case KRB5_KRBHST_TCP:
|
||||||
if (lp_parm_bool(NULL, "krb5", "tcp", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "krb5", "tcp", true)) {
|
||||||
status = socket_create(name, SOCKET_TYPE_STREAM, &smb_krb5->sock, 0);
|
status = socket_create(name, SOCKET_TYPE_STREAM, &smb_krb5->sock, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -473,7 +473,7 @@ krb5_error_code smb_krb5_init_context(void *parent_ctx,
|
|||||||
/* Set options in kerberos */
|
/* Set options in kerberos */
|
||||||
|
|
||||||
krb5_set_dns_canonicalize_hostname((*smb_krb5_context)->krb5_context,
|
krb5_set_dns_canonicalize_hostname((*smb_krb5_context)->krb5_context,
|
||||||
lp_parm_bool(NULL, "krb5", "set_dns_canonicalize", false));
|
lp_parm_bool(global_loadparm, NULL, "krb5", "set_dns_canonicalize", false));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -299,13 +299,13 @@ NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
|
|||||||
|
|
||||||
gensec_ntlmssp_state->domain = lp_workgroup(global_loadparm);
|
gensec_ntlmssp_state->domain = lp_workgroup(global_loadparm);
|
||||||
|
|
||||||
gensec_ntlmssp_state->unicode = lp_parm_bool(NULL, "ntlmssp_client", "unicode", true);
|
gensec_ntlmssp_state->unicode = lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "unicode", true);
|
||||||
|
|
||||||
gensec_ntlmssp_state->use_nt_response = lp_parm_bool(NULL, "ntlmssp_client", "send_nt_reponse", true);
|
gensec_ntlmssp_state->use_nt_response = lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "send_nt_reponse", true);
|
||||||
|
|
||||||
gensec_ntlmssp_state->allow_lm_key = (lp_client_lanman_auth(global_loadparm)
|
gensec_ntlmssp_state->allow_lm_key = (lp_client_lanman_auth(global_loadparm)
|
||||||
&& (lp_parm_bool(NULL, "ntlmssp_client", "allow_lm_key", false)
|
&& (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "allow_lm_key", false)
|
||||||
|| lp_parm_bool(NULL, "ntlmssp_client", "lm_key", false)));
|
|| lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "lm_key", false)));
|
||||||
|
|
||||||
gensec_ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth(global_loadparm);
|
gensec_ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth(global_loadparm);
|
||||||
|
|
||||||
@ -315,27 +315,27 @@ NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
|
|||||||
NTLMSSP_NEGOTIATE_NTLM |
|
NTLMSSP_NEGOTIATE_NTLM |
|
||||||
NTLMSSP_REQUEST_TARGET;
|
NTLMSSP_REQUEST_TARGET;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "128bit", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "128bit", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "56bit", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "56bit", false)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "lm_key", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "lm_key", false)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_LM_KEY;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_LM_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "keyexchange", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "keyexchange", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "alwayssign", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "alwayssign", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_client", "ntlm2", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "ntlm2", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
|
||||||
} else {
|
} else {
|
||||||
/* apparently we can't do ntlmv2 if we don't do ntlm2 */
|
/* apparently we can't do ntlmv2 if we don't do ntlm2 */
|
||||||
|
@ -751,7 +751,7 @@ NTSTATUS gensec_ntlmssp_server_start(struct gensec_security *gensec_security)
|
|||||||
gensec_ntlmssp_state->expected_state = NTLMSSP_NEGOTIATE;
|
gensec_ntlmssp_state->expected_state = NTLMSSP_NEGOTIATE;
|
||||||
|
|
||||||
gensec_ntlmssp_state->allow_lm_key = (lp_lanman_auth(global_loadparm)
|
gensec_ntlmssp_state->allow_lm_key = (lp_lanman_auth(global_loadparm)
|
||||||
&& lp_parm_bool(NULL, "ntlmssp_server", "allow_lm_key", false));
|
&& lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "allow_lm_key", false));
|
||||||
|
|
||||||
gensec_ntlmssp_state->server_multiple_authentications = False;
|
gensec_ntlmssp_state->server_multiple_authentications = False;
|
||||||
|
|
||||||
@ -762,23 +762,23 @@ NTSTATUS gensec_ntlmssp_server_start(struct gensec_security *gensec_security)
|
|||||||
gensec_ntlmssp_state->nt_resp = data_blob(NULL, 0);
|
gensec_ntlmssp_state->nt_resp = data_blob(NULL, 0);
|
||||||
gensec_ntlmssp_state->encrypted_session_key = data_blob(NULL, 0);
|
gensec_ntlmssp_state->encrypted_session_key = data_blob(NULL, 0);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_server", "128bit", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "128bit", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_server", "56bit", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "56bit", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_server", "keyexchange", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "keyexchange", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_server", "alwayssign", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "alwayssign", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "ntlmssp_server", "ntlm2", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_server", "ntlm2", true)) {
|
||||||
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
|
gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ static struct tdb_wrap *ctdb_tdb_tmp_open(struct cluster_ops *ops,
|
|||||||
TALLOC_CTX *mem_ctx, const char *dbname,
|
TALLOC_CTX *mem_ctx, const char *dbname,
|
||||||
int flags)
|
int flags)
|
||||||
{
|
{
|
||||||
const char *dir = lp_parm_string(NULL, "ctdb", "shared data");
|
const char *dir = lp_parm_string(global_loadparm, NULL, "ctdb", "shared data");
|
||||||
char *path;
|
char *path;
|
||||||
struct tdb_wrap *w;
|
struct tdb_wrap *w;
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
@ -202,7 +202,7 @@ void cluster_ctdb_init(struct event_context *ev, const char *model)
|
|||||||
struct cluster_state *state;
|
struct cluster_state *state;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "ctdb", "enable", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "ctdb", "enable", false)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ static struct odb_context *odb_ctdb_init(TALLOC_CTX *mem_ctx,
|
|||||||
odb->ntvfs_ctx = ntvfs_ctx;
|
odb->ntvfs_ctx = ntvfs_ctx;
|
||||||
|
|
||||||
/* leave oplocks disabled by default until the code is working */
|
/* leave oplocks disabled by default until the code is working */
|
||||||
odb->oplocks = lp_parm_bool(NULL, "opendb", "oplocks", false);
|
odb->oplocks = lp_parm_bool(global_loadparm, NULL, "opendb", "oplocks", false);
|
||||||
|
|
||||||
return odb;
|
return odb;
|
||||||
}
|
}
|
||||||
|
@ -165,8 +165,8 @@ static void dreplsrv_task_init(struct task_server *task)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
periodic_startup_interval = lp_parm_int(NULL, "dreplsrv", "periodic_startup_interval", 15); /* in seconds */
|
periodic_startup_interval = lp_parm_int(global_loadparm, NULL, "dreplsrv", "periodic_startup_interval", 15); /* in seconds */
|
||||||
service->periodic.interval = lp_parm_int(NULL, "dreplsrv", "periodic_interval", 300); /* in seconds */
|
service->periodic.interval = lp_parm_int(global_loadparm, NULL, "dreplsrv", "periodic_interval", 300); /* in seconds */
|
||||||
|
|
||||||
status = dreplsrv_periodic_schedule(service, periodic_startup_interval);
|
status = dreplsrv_periodic_schedule(service, periodic_startup_interval);
|
||||||
if (!W_ERROR_IS_OK(status)) {
|
if (!W_ERROR_IS_OK(status)) {
|
||||||
|
@ -341,7 +341,7 @@ static int setup_primary_kerberos(struct setup_password_fields_io *io,
|
|||||||
return LDB_ERR_OPERATIONS_ERROR;
|
return LDB_ERR_OPERATIONS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "password_hash", "create_aes_key", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "password_hash", "create_aes_key", false)) {
|
||||||
/*
|
/*
|
||||||
* TODO:
|
* TODO:
|
||||||
*
|
*
|
||||||
|
@ -481,7 +481,7 @@ static krb5_error_code LDB_message2entry(krb5_context context, HDB *db,
|
|||||||
entry_ex->entry.flags.ok_as_delegate = 1;
|
entry_ex->entry.flags.ok_as_delegate = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "kdc", "require spn for service", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "kdc", "require spn for service", true)) {
|
||||||
if (!is_computer && !ldb_msg_find_attr_as_string(msg, "servicePrincipalName", NULL)) {
|
if (!is_computer && !ldb_msg_find_attr_as_string(msg, "servicePrincipalName", NULL)) {
|
||||||
entry_ex->entry.flags.server = 0;
|
entry_ex->entry.flags.server = 0;
|
||||||
}
|
}
|
||||||
|
@ -199,7 +199,7 @@ smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_NATIVE_ICONV
|
#ifdef HAVE_NATIVE_ICONV
|
||||||
if ((!from || !to) && !lp_parm_bool(NULL, "iconv", "native", true)) {
|
if ((!from || !to) && !lp_parm_bool(global_loadparm, NULL, "iconv", "native", true)) {
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
if (!from) {
|
if (!from) {
|
||||||
|
@ -164,7 +164,7 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* allow admins to force non-sync ldb for all databases */
|
/* allow admins to force non-sync ldb for all databases */
|
||||||
if (lp_parm_bool(NULL, "ldb", "nosync", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ldb", "nosync", false)) {
|
||||||
flags |= LDB_FLG_NOSYNC;
|
flags |= LDB_FLG_NOSYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@
|
|||||||
*/
|
*/
|
||||||
struct db_context *db_tmp_open(TALLOC_CTX *mem_ctx, const char *name, int tdb_flags)
|
struct db_context *db_tmp_open(TALLOC_CTX *mem_ctx, const char *name, int tdb_flags)
|
||||||
{
|
{
|
||||||
if (lp_parm_bool(NULL, "ctdb", "enable", false) &&
|
if (lp_parm_bool(global_loadparm, NULL, "ctdb", "enable", false) &&
|
||||||
lp_parm_bool(NULL, "ctdb", name, true)) {
|
lp_parm_bool(global_loadparm, NULL, "ctdb", name, true)) {
|
||||||
return db_tmp_open_ctdb(mem_ctx, name, tdb_flags);
|
return db_tmp_open_ctdb(mem_ctx, name, tdb_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ struct event_context *event_context_init_byname(TALLOC_CTX *mem_ctx, const char
|
|||||||
|
|
||||||
#if _SAMBA_BUILD_
|
#if _SAMBA_BUILD_
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
name = lp_parm_string(NULL, "event", "backend");
|
name = lp_parm_string(global_loadparm, NULL, "event", "backend");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
|
@ -677,7 +677,7 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum convert_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
target_str = lp_parm_string(NULL, "convert", "target");
|
target_str = lp_parm_string(global_loadparm, NULL, "convert", "target");
|
||||||
|
|
||||||
if (!target_str || strcasecmp(target_str, "openldap") == 0) {
|
if (!target_str || strcasecmp(target_str, "openldap") == 0) {
|
||||||
target = TARGET_OPENLDAP;
|
target = TARGET_OPENLDAP;
|
||||||
|
@ -70,7 +70,7 @@ _PUBLIC_ NTSTATUS socket_create_with_ops(TALLOC_CTX *mem_ctx, const struct socke
|
|||||||
|
|
||||||
if (!(flags & SOCKET_FLAG_BLOCK) &&
|
if (!(flags & SOCKET_FLAG_BLOCK) &&
|
||||||
type == SOCKET_TYPE_STREAM &&
|
type == SOCKET_TYPE_STREAM &&
|
||||||
lp_parm_bool(NULL, "socket", "testnonblock", false)) {
|
lp_parm_bool(global_loadparm, NULL, "socket", "testnonblock", false)) {
|
||||||
(*new_sock)->flags |= SOCKET_FLAG_TESTNONBLOCK;
|
(*new_sock)->flags |= SOCKET_FLAG_TESTNONBLOCK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -244,7 +244,7 @@ static void nbt_name_socket_recv(struct nbt_name_socket *nbtsock)
|
|||||||
req->received_wack = True;
|
req->received_wack = True;
|
||||||
/* although there can be a timeout in the packet, w2k3 screws it up,
|
/* although there can be a timeout in the packet, w2k3 screws it up,
|
||||||
so better to set it ourselves */
|
so better to set it ourselves */
|
||||||
req->timeout = lp_parm_int(NULL, "nbt", "wack_timeout", 30);
|
req->timeout = lp_parm_int(global_loadparm, NULL, "nbt", "wack_timeout", 30);
|
||||||
req->te = event_add_timed(req->nbtsock->event_ctx, req,
|
req->te = event_add_timed(req->nbtsock->event_ctx, req,
|
||||||
timeval_current_ofs(req->timeout, 0),
|
timeval_current_ofs(req->timeout, 0),
|
||||||
nbt_name_socket_timeout, req);
|
nbt_name_socket_timeout, req);
|
||||||
|
@ -155,7 +155,7 @@ struct composite_context *resolve_name_nbtlist_send(TALLOC_CTX *mem_ctx,
|
|||||||
|
|
||||||
state->io_queries[i].in.broadcast = broadcast;
|
state->io_queries[i].in.broadcast = broadcast;
|
||||||
state->io_queries[i].in.wins_lookup = wins_lookup;
|
state->io_queries[i].in.wins_lookup = wins_lookup;
|
||||||
state->io_queries[i].in.timeout = lp_parm_int(NULL, "nbt", "timeout", 1);
|
state->io_queries[i].in.timeout = lp_parm_int(global_loadparm, NULL, "nbt", "timeout", 1);
|
||||||
state->io_queries[i].in.retries = 2;
|
state->io_queries[i].in.retries = 2;
|
||||||
|
|
||||||
state->queries[i] = nbt_name_query_send(state->nbtsock, &state->io_queries[i]);
|
state->queries[i] = nbt_name_query_send(state->nbtsock, &state->io_queries[i]);
|
||||||
|
@ -1511,7 +1511,7 @@ static void becomeDC_drsuapi_connect_send(struct libnet_BecomeDC_state *s,
|
|||||||
drsuapi->s = s;
|
drsuapi->s = s;
|
||||||
|
|
||||||
if (!drsuapi->binding) {
|
if (!drsuapi->binding) {
|
||||||
if (lp_parm_bool(NULL, "become_dc", "print", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "become_dc", "print", false)) {
|
||||||
binding_str = talloc_asprintf(s, "ncacn_ip_tcp:%s[krb5,print,seal]", s->source_dsa.dns_name);
|
binding_str = talloc_asprintf(s, "ncacn_ip_tcp:%s[krb5,print,seal]", s->source_dsa.dns_name);
|
||||||
if (composite_nomem(binding_str, c)) return;
|
if (composite_nomem(binding_str, c)) return;
|
||||||
} else {
|
} else {
|
||||||
|
@ -163,7 +163,7 @@ NTSTATUS libnet_SamDump(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
|
|||||||
|
|
||||||
r2.out.error_string = NULL;
|
r2.out.error_string = NULL;
|
||||||
r2.in.binding_string = r->in.binding_string;
|
r2.in.binding_string = r->in.binding_string;
|
||||||
r2.in.rid_crypt = lp_parm_bool(NULL, "vampire", "rid decrypt", true);
|
r2.in.rid_crypt = lp_parm_bool(global_loadparm, NULL, "vampire", "rid decrypt", true);
|
||||||
r2.in.init_fn = NULL;
|
r2.in.init_fn = NULL;
|
||||||
r2.in.delta_fn = libnet_samdump_fn;
|
r2.in.delta_fn = libnet_samdump_fn;
|
||||||
r2.in.fn_ctx = samdump_state;
|
r2.in.fn_ctx = samdump_state;
|
||||||
|
@ -117,7 +117,7 @@ static void name_refresh_handler(struct event_context *ev, struct timed_event *t
|
|||||||
static void nbtd_start_refresh_timer(struct nbtd_iface_name *iname)
|
static void nbtd_start_refresh_timer(struct nbtd_iface_name *iname)
|
||||||
{
|
{
|
||||||
uint32_t refresh_time;
|
uint32_t refresh_time;
|
||||||
uint32_t max_refresh_time = lp_parm_int(NULL, "nbtd", "max_refresh_time", 7200);
|
uint32_t max_refresh_time = lp_parm_int(global_loadparm, NULL, "nbtd", "max_refresh_time", 7200);
|
||||||
|
|
||||||
refresh_time = MIN(max_refresh_time, iname->ttl/2);
|
refresh_time = MIN(max_refresh_time, iname->ttl/2);
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ static void nbtd_register_name_iface(struct nbtd_interface *iface,
|
|||||||
iname->name.scope = NULL;
|
iname->name.scope = NULL;
|
||||||
}
|
}
|
||||||
iname->nb_flags = nb_flags;
|
iname->nb_flags = nb_flags;
|
||||||
iname->ttl = lp_parm_int(NULL, "nbtd", "bcast_ttl", 300000);
|
iname->ttl = lp_parm_int(global_loadparm, NULL, "nbtd", "bcast_ttl", 300000);
|
||||||
iname->registration_time = timeval_zero();
|
iname->registration_time = timeval_zero();
|
||||||
iname->wins_server = NULL;
|
iname->wins_server = NULL;
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ static int wins_ldb_init(struct ldb_module *ctx)
|
|||||||
|
|
||||||
ctx->private_data = NULL;
|
ctx->private_data = NULL;
|
||||||
|
|
||||||
owner = lp_parm_string(NULL, "winsdb", "local_owner");
|
owner = lp_parm_string(global_loadparm, NULL, "winsdb", "local_owner");
|
||||||
if (!owner) {
|
if (!owner) {
|
||||||
owner = iface_n_ip(0);
|
owner = iface_n_ip(0);
|
||||||
if (!owner) {
|
if (!owner) {
|
||||||
|
@ -58,7 +58,7 @@ static void nbtd_wins_register_retry(struct event_context *ev, struct timed_even
|
|||||||
static void nbtd_wins_start_refresh_timer(struct nbtd_iface_name *iname)
|
static void nbtd_wins_start_refresh_timer(struct nbtd_iface_name *iname)
|
||||||
{
|
{
|
||||||
uint32_t refresh_time;
|
uint32_t refresh_time;
|
||||||
uint32_t max_refresh_time = lp_parm_int(NULL, "nbtd", "max_refresh_time", 7200);
|
uint32_t max_refresh_time = lp_parm_int(global_loadparm, NULL, "nbtd", "max_refresh_time", 7200);
|
||||||
|
|
||||||
refresh_time = MIN(max_refresh_time, iname->ttl/2);
|
refresh_time = MIN(max_refresh_time, iname->ttl/2);
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ static void nbtd_wins_register_handler(struct composite_context *c)
|
|||||||
if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) {
|
if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) {
|
||||||
/* none of the WINS servers responded - try again
|
/* none of the WINS servers responded - try again
|
||||||
periodically */
|
periodically */
|
||||||
int wins_retry_time = lp_parm_int(NULL, "nbtd", "wins_retry", 300);
|
int wins_retry_time = lp_parm_int(global_loadparm, NULL, "nbtd", "wins_retry", 300);
|
||||||
event_add_timed(iname->iface->nbtsrv->task->event_ctx,
|
event_add_timed(iname->iface->nbtsrv->task->event_ctx,
|
||||||
iname,
|
iname,
|
||||||
timeval_current_ofs(wins_retry_time, 0),
|
timeval_current_ofs(wins_retry_time, 0),
|
||||||
|
@ -988,7 +988,7 @@ static BOOL winsdb_check_or_add_module_list(struct winsdb_handle *h)
|
|||||||
talloc_free(h->ldb);
|
talloc_free(h->ldb);
|
||||||
h->ldb = NULL;
|
h->ldb = NULL;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL,"winsdb", "nosync", false)) {
|
if (lp_parm_bool(global_loadparm, NULL,"winsdb", "nosync", false)) {
|
||||||
flags |= LDB_FLG_NOSYNC;
|
flags |= LDB_FLG_NOSYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1021,7 +1021,7 @@ struct winsdb_handle *winsdb_connect(TALLOC_CTX *mem_ctx, enum winsdb_handle_cal
|
|||||||
h = talloc(mem_ctx, struct winsdb_handle);
|
h = talloc(mem_ctx, struct winsdb_handle);
|
||||||
if (!h) return NULL;
|
if (!h) return NULL;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL,"winsdb", "nosync", false)) {
|
if (lp_parm_bool(global_loadparm, NULL,"winsdb", "nosync", false)) {
|
||||||
flags |= LDB_FLG_NOSYNC;
|
flags |= LDB_FLG_NOSYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1031,7 +1031,7 @@ struct winsdb_handle *winsdb_connect(TALLOC_CTX *mem_ctx, enum winsdb_handle_cal
|
|||||||
|
|
||||||
h->caller = caller;
|
h->caller = caller;
|
||||||
|
|
||||||
owner = lp_parm_string(NULL, "winsdb", "local_owner");
|
owner = lp_parm_string(global_loadparm, NULL, "winsdb", "local_owner");
|
||||||
if (!owner) {
|
if (!owner) {
|
||||||
owner = iface_n_ip(0);
|
owner = iface_n_ip(0);
|
||||||
}
|
}
|
||||||
|
@ -615,7 +615,7 @@ static void nbtd_wins_randomize1Clist(const char **addresses, struct socket_addr
|
|||||||
ldb_qsort(addresses, num_addrs , sizeof(addresses[0]),
|
ldb_qsort(addresses, num_addrs , sizeof(addresses[0]),
|
||||||
src, (ldb_qsort_cmp_fn_t)nbtd_wins_randomize1Clist_sort);
|
src, (ldb_qsort_cmp_fn_t)nbtd_wins_randomize1Clist_sort);
|
||||||
|
|
||||||
mask = lp_parm_string(NULL, "nbtd", "wins_randomize1Clist_mask");
|
mask = lp_parm_string(global_loadparm, NULL, "nbtd", "wins_randomize1Clist_mask");
|
||||||
if (!mask) {
|
if (!mask) {
|
||||||
mask = "255.255.255.0";
|
mask = "255.255.255.0";
|
||||||
}
|
}
|
||||||
@ -692,7 +692,7 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
|
|||||||
* Value: 0 = deactivated, 1 = activated
|
* Value: 0 = deactivated, 1 = activated
|
||||||
*/
|
*/
|
||||||
if (name->type == NBT_NAME_LOGON &&
|
if (name->type == NBT_NAME_LOGON &&
|
||||||
lp_parm_bool(NULL, "nbtd", "wins_prepend1Bto1Cqueries", true)) {
|
lp_parm_bool(global_loadparm, NULL, "nbtd", "wins_prepend1Bto1Cqueries", true)) {
|
||||||
struct nbt_name name_1b;
|
struct nbt_name name_1b;
|
||||||
|
|
||||||
name_1b = *name;
|
name_1b = *name;
|
||||||
@ -788,7 +788,7 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
|
|||||||
* Value: 0 = deactivated, 1 = activated
|
* Value: 0 = deactivated, 1 = activated
|
||||||
*/
|
*/
|
||||||
if (name->type == NBT_NAME_LOGON &&
|
if (name->type == NBT_NAME_LOGON &&
|
||||||
lp_parm_bool(NULL, "nbtd", "wins_randomize1Clist", false)) {
|
lp_parm_bool(global_loadparm, NULL, "nbtd", "wins_randomize1Clist", false)) {
|
||||||
nbtd_wins_randomize1Clist(addresses, src);
|
nbtd_wins_randomize1Clist(addresses, src);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -967,9 +967,9 @@ NTSTATUS nbtd_winsserver_init(struct nbtd_server *nbtsrv)
|
|||||||
|
|
||||||
nbtsrv->winssrv->config.max_renew_interval = lp_max_wins_ttl(global_loadparm);
|
nbtsrv->winssrv->config.max_renew_interval = lp_max_wins_ttl(global_loadparm);
|
||||||
nbtsrv->winssrv->config.min_renew_interval = lp_min_wins_ttl(global_loadparm);
|
nbtsrv->winssrv->config.min_renew_interval = lp_min_wins_ttl(global_loadparm);
|
||||||
tmp = lp_parm_int(NULL, "wreplsrv", "tombstone_interval", 6*24*60*60);
|
tmp = lp_parm_int(global_loadparm, NULL, "wreplsrv", "tombstone_interval", 6*24*60*60);
|
||||||
nbtsrv->winssrv->config.tombstone_interval = tmp;
|
nbtsrv->winssrv->config.tombstone_interval = tmp;
|
||||||
tmp = lp_parm_int(NULL, "wreplsrv"," tombstone_timeout", 1*24*60*60);
|
tmp = lp_parm_int(global_loadparm, NULL, "wreplsrv"," tombstone_timeout", 1*24*60*60);
|
||||||
nbtsrv->winssrv->config.tombstone_timeout = tmp;
|
nbtsrv->winssrv->config.tombstone_timeout = tmp;
|
||||||
|
|
||||||
nbtsrv->winssrv->wins_db = winsdb_connect(nbtsrv->winssrv, WINSDB_HANDLE_CALLER_NBTD);
|
nbtsrv->winssrv->wins_db = winsdb_connect(nbtsrv->winssrv, WINSDB_HANDLE_CALLER_NBTD);
|
||||||
|
@ -62,7 +62,7 @@ _PUBLIC_ struct odb_context *odb_init(TALLOC_CTX *mem_ctx,
|
|||||||
struct ntvfs_context *ntvfs_ctx)
|
struct ntvfs_context *ntvfs_ctx)
|
||||||
{
|
{
|
||||||
if (ops == NULL) {
|
if (ops == NULL) {
|
||||||
if (lp_parm_bool(NULL, "ctdb", "opendb", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "ctdb", "opendb", false)) {
|
||||||
odb_ctdb_init_ops();
|
odb_ctdb_init_ops();
|
||||||
} else {
|
} else {
|
||||||
odb_tdb_init_ops();
|
odb_tdb_init_ops();
|
||||||
|
@ -88,7 +88,7 @@ static struct odb_context *odb_tdb_init(TALLOC_CTX *mem_ctx,
|
|||||||
odb->ntvfs_ctx = ntvfs_ctx;
|
odb->ntvfs_ctx = ntvfs_ctx;
|
||||||
|
|
||||||
/* leave oplocks disabled by default until the code is working */
|
/* leave oplocks disabled by default until the code is working */
|
||||||
odb->oplocks = lp_parm_bool(NULL, "opendb", "oplocks", false);
|
odb->oplocks = lp_parm_bool(global_loadparm, NULL, "opendb", "oplocks", false);
|
||||||
|
|
||||||
return odb;
|
return odb;
|
||||||
}
|
}
|
||||||
|
@ -614,7 +614,7 @@ NTSTATUS pvfs_mangle_init(struct pvfs_state *pvfs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* by default have a max of 512 entries in the cache. */
|
/* by default have a max of 512 entries in the cache. */
|
||||||
ctx->cache_size = lp_parm_int(NULL, "mangle", "cachesize", 512);
|
ctx->cache_size = lp_parm_int(global_loadparm, NULL, "mangle", "cachesize", 512);
|
||||||
|
|
||||||
ctx->prefix_cache = talloc_array(ctx, char *, ctx->cache_size);
|
ctx->prefix_cache = talloc_array(ctx, char *, ctx->cache_size);
|
||||||
if (ctx->prefix_cache == NULL) {
|
if (ctx->prefix_cache == NULL) {
|
||||||
@ -628,7 +628,7 @@ NTSTATUS pvfs_mangle_init(struct pvfs_state *pvfs)
|
|||||||
memset(ctx->prefix_cache, 0, sizeof(char *) * ctx->cache_size);
|
memset(ctx->prefix_cache, 0, sizeof(char *) * ctx->cache_size);
|
||||||
memset(ctx->prefix_cache_hashes, 0, sizeof(uint32_t) * ctx->cache_size);
|
memset(ctx->prefix_cache_hashes, 0, sizeof(uint32_t) * ctx->cache_size);
|
||||||
|
|
||||||
ctx->mangle_prefix = lp_parm_int(NULL, "mangle", "prefix", -1);
|
ctx->mangle_prefix = lp_parm_int(global_loadparm, NULL, "mangle", "prefix", -1);
|
||||||
if (ctx->mangle_prefix < 0 || ctx->mangle_prefix > 6) {
|
if (ctx->mangle_prefix < 0 || ctx->mangle_prefix > 6) {
|
||||||
ctx->mangle_prefix = DEFAULT_MANGLE_PREFIX;
|
ctx->mangle_prefix = DEFAULT_MANGLE_PREFIX;
|
||||||
}
|
}
|
||||||
|
@ -245,7 +245,7 @@ static NTSTATUS inotify_setup(struct sys_notify_context *ctx)
|
|||||||
{
|
{
|
||||||
struct inotify_private *in;
|
struct inotify_private *in;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "notify", "inotify", true)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "notify", "inotify", true)) {
|
||||||
return NT_STATUS_INVALID_SYSTEM_SERVICE;
|
return NT_STATUS_INVALID_SYSTEM_SERVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -798,13 +798,14 @@ static void init_copymap(struct loadparm_service *pservice);
|
|||||||
/* This is a helper function for parametrical options support. */
|
/* This is a helper function for parametrical options support. */
|
||||||
/* It returns a pointer to parametrical option value if it exists or NULL otherwise */
|
/* It returns a pointer to parametrical option value if it exists or NULL otherwise */
|
||||||
/* Actual parametrical functions are quite simple */
|
/* Actual parametrical functions are quite simple */
|
||||||
const char *lp_get_parametric(struct loadparm_service *service,
|
const char *lp_get_parametric(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service,
|
||||||
const char *type, const char *option)
|
const char *type, const char *option)
|
||||||
{
|
{
|
||||||
char *vfskey;
|
char *vfskey;
|
||||||
struct param_opt *data;
|
struct param_opt *data;
|
||||||
|
|
||||||
data = (service == NULL ? loadparm.Globals.param_opt : service->param_opt);
|
data = (service == NULL ? lp_ctx->Globals.param_opt : service->param_opt);
|
||||||
|
|
||||||
asprintf(&vfskey, "%s:%s", type, option);
|
asprintf(&vfskey, "%s:%s", type, option);
|
||||||
strlower(vfskey);
|
strlower(vfskey);
|
||||||
@ -820,7 +821,7 @@ const char *lp_get_parametric(struct loadparm_service *service,
|
|||||||
if (service != NULL) {
|
if (service != NULL) {
|
||||||
/* Try to fetch the same option but from globals */
|
/* Try to fetch the same option but from globals */
|
||||||
/* but only if we are not already working with Globals */
|
/* but only if we are not already working with Globals */
|
||||||
for (data = loadparm.Globals.param_opt; data;
|
for (data = lp_ctx->Globals.param_opt; data;
|
||||||
data = data->next) {
|
data = data->next) {
|
||||||
if (strcmp(data->key, vfskey) == 0) {
|
if (strcmp(data->key, vfskey) == 0) {
|
||||||
free(vfskey);
|
free(vfskey);
|
||||||
@ -902,10 +903,11 @@ static bool lp_bool(const char *s)
|
|||||||
/* Parametric option has following syntax: 'Type: option = value' */
|
/* Parametric option has following syntax: 'Type: option = value' */
|
||||||
/* Returned value is allocated in 'lp_talloc' context */
|
/* Returned value is allocated in 'lp_talloc' context */
|
||||||
|
|
||||||
const char *lp_parm_string(struct loadparm_service *service, const char *type,
|
const char *lp_parm_string(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option)
|
const char *option)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return lp_string(value);
|
return lp_string(value);
|
||||||
@ -917,11 +919,12 @@ const char *lp_parm_string(struct loadparm_service *service, const char *type,
|
|||||||
/* Parametric option has following syntax: 'Type: option = value' */
|
/* Parametric option has following syntax: 'Type: option = value' */
|
||||||
/* Returned value is allocated in 'lp_talloc' context */
|
/* Returned value is allocated in 'lp_talloc' context */
|
||||||
|
|
||||||
const char **lp_parm_string_list(struct loadparm_service *service,
|
const char **lp_parm_string_list(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service,
|
||||||
const char *type,
|
const char *type,
|
||||||
const char *option, const char *separator)
|
const char *option, const char *separator)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return str_list_make(talloc_autofree_context(), value,
|
return str_list_make(talloc_autofree_context(), value,
|
||||||
@ -933,10 +936,11 @@ const char **lp_parm_string_list(struct loadparm_service *service,
|
|||||||
/* Return parametric option from a given service. Type is a part of option before ':' */
|
/* Return parametric option from a given service. Type is a part of option before ':' */
|
||||||
/* Parametric option has following syntax: 'Type: option = value' */
|
/* Parametric option has following syntax: 'Type: option = value' */
|
||||||
|
|
||||||
int lp_parm_int(struct loadparm_service *service, const char *type,
|
int lp_parm_int(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option, int default_v)
|
const char *option, int default_v)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return lp_int(value);
|
return lp_int(value);
|
||||||
@ -949,12 +953,13 @@ int lp_parm_int(struct loadparm_service *service, const char *type,
|
|||||||
* Parametric option has following syntax: 'Type: option = value'.
|
* Parametric option has following syntax: 'Type: option = value'.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int lp_parm_bytes(struct loadparm_service *service, const char *type,
|
int lp_parm_bytes(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option, int default_v)
|
const char *option, int default_v)
|
||||||
{
|
{
|
||||||
uint64_t bval;
|
uint64_t bval;
|
||||||
|
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value && conv_str_size(value, &bval)) {
|
if (value && conv_str_size(value, &bval)) {
|
||||||
if (bval <= INT_MAX) {
|
if (bval <= INT_MAX) {
|
||||||
@ -968,10 +973,11 @@ int lp_parm_bytes(struct loadparm_service *service, const char *type,
|
|||||||
/* Return parametric option from a given service. Type is a part of option before ':' */
|
/* Return parametric option from a given service. Type is a part of option before ':' */
|
||||||
/* Parametric option has following syntax: 'Type: option = value' */
|
/* Parametric option has following syntax: 'Type: option = value' */
|
||||||
|
|
||||||
unsigned long lp_parm_ulong(struct loadparm_service *service, const char *type,
|
unsigned long lp_parm_ulong(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option, unsigned long default_v)
|
const char *option, unsigned long default_v)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return lp_ulong(value);
|
return lp_ulong(value);
|
||||||
@ -980,10 +986,11 @@ unsigned long lp_parm_ulong(struct loadparm_service *service, const char *type,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
double lp_parm_double(struct loadparm_service *service, const char *type,
|
double lp_parm_double(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option, double default_v)
|
const char *option, double default_v)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return lp_double(value);
|
return lp_double(value);
|
||||||
@ -994,10 +1001,11 @@ double lp_parm_double(struct loadparm_service *service, const char *type,
|
|||||||
/* Return parametric option from a given service. Type is a part of option before ':' */
|
/* Return parametric option from a given service. Type is a part of option before ':' */
|
||||||
/* Parametric option has following syntax: 'Type: option = value' */
|
/* Parametric option has following syntax: 'Type: option = value' */
|
||||||
|
|
||||||
bool lp_parm_bool(struct loadparm_service *service, const char *type,
|
bool lp_parm_bool(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service, const char *type,
|
||||||
const char *option, bool default_v)
|
const char *option, bool default_v)
|
||||||
{
|
{
|
||||||
const char *value = lp_get_parametric(service, type, option);
|
const char *value = lp_get_parametric(lp_ctx, service, type, option);
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
return lp_bool(value);
|
return lp_bool(value);
|
||||||
@ -1569,7 +1577,8 @@ static void init_copymap(struct loadparm_service *pservice)
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
Process a parametric option
|
Process a parametric option
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
static bool lp_do_parameter_parametric(struct loadparm_service *service,
|
static bool lp_do_parameter_parametric(struct loadparm_context *lp_ctx,
|
||||||
|
struct loadparm_service *service,
|
||||||
const char *pszParmName,
|
const char *pszParmName,
|
||||||
const char *pszParmValue, int flags)
|
const char *pszParmValue, int flags)
|
||||||
{
|
{
|
||||||
@ -1587,7 +1596,7 @@ static bool lp_do_parameter_parametric(struct loadparm_service *service,
|
|||||||
strlower(name);
|
strlower(name);
|
||||||
|
|
||||||
if (service == NULL) {
|
if (service == NULL) {
|
||||||
data = loadparm.Globals.param_opt;
|
data = lp_ctx->Globals.param_opt;
|
||||||
mem_ctx = talloc_autofree_context();
|
mem_ctx = talloc_autofree_context();
|
||||||
} else {
|
} else {
|
||||||
data = service->param_opt;
|
data = service->param_opt;
|
||||||
@ -1619,7 +1628,7 @@ static bool lp_do_parameter_parametric(struct loadparm_service *service,
|
|||||||
paramo->value = talloc_strdup(paramo, pszParmValue);
|
paramo->value = talloc_strdup(paramo, pszParmValue);
|
||||||
paramo->flags = flags;
|
paramo->flags = flags;
|
||||||
if (service == NULL) {
|
if (service == NULL) {
|
||||||
DLIST_ADD(loadparm.Globals.param_opt, paramo);
|
DLIST_ADD(lp_ctx->Globals.param_opt, paramo);
|
||||||
} else {
|
} else {
|
||||||
DLIST_ADD(service->param_opt, paramo);
|
DLIST_ADD(service->param_opt, paramo);
|
||||||
}
|
}
|
||||||
@ -1734,7 +1743,7 @@ bool lp_do_global_parameter(struct loadparm_context *lp_ctx,
|
|||||||
|
|
||||||
if (parmnum < 0) {
|
if (parmnum < 0) {
|
||||||
if (strchr(pszParmName, ':')) {
|
if (strchr(pszParmName, ':')) {
|
||||||
return lp_do_parameter_parametric(NULL, pszParmName, pszParmValue, 0);
|
return lp_do_parameter_parametric(lp_ctx, NULL, pszParmName, pszParmValue, 0);
|
||||||
}
|
}
|
||||||
DEBUG(0, ("Ignoring unknown parameter \"%s\"\n", pszParmName));
|
DEBUG(0, ("Ignoring unknown parameter \"%s\"\n", pszParmName));
|
||||||
return true;
|
return true;
|
||||||
@ -1768,7 +1777,7 @@ bool lp_do_service_parameter(struct loadparm_context *lp_ctx,
|
|||||||
|
|
||||||
if (parmnum < 0) {
|
if (parmnum < 0) {
|
||||||
if (strchr(pszParmName, ':')) {
|
if (strchr(pszParmName, ':')) {
|
||||||
return lp_do_parameter_parametric(service, pszParmName, pszParmValue, 0);
|
return lp_do_parameter_parametric(lp_ctx, service, pszParmName, pszParmValue, 0);
|
||||||
}
|
}
|
||||||
DEBUG(0, ("Ignoring unknown parameter \"%s\"\n", pszParmName));
|
DEBUG(0, ("Ignoring unknown parameter \"%s\"\n", pszParmName));
|
||||||
return true;
|
return true;
|
||||||
@ -1861,7 +1870,8 @@ bool lp_set_cmdline(struct loadparm_context *lp_ctx, const char *pszParmName,
|
|||||||
|
|
||||||
if (parmnum < 0 && strchr(pszParmName, ':')) {
|
if (parmnum < 0 && strchr(pszParmName, ':')) {
|
||||||
/* set a parametric option */
|
/* set a parametric option */
|
||||||
return lp_do_parameter_parametric(NULL, pszParmName, pszParmValue, FLAG_CMDLINE);
|
return lp_do_parameter_parametric(lp_ctx, NULL, pszParmName,
|
||||||
|
pszParmValue, FLAG_CMDLINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parmnum < 0) {
|
if (parmnum < 0) {
|
||||||
|
@ -53,7 +53,7 @@ static const char *sclassic_string_option(struct share_config *scfg, const char
|
|||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
|
|
||||||
ret = lp_parm_string(s, parm, val);
|
ret = lp_parm_string(global_loadparm, s, parm, val);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
ret = defval;
|
ret = defval;
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ static int sclassic_int_option(struct share_config *scfg, const char *opt_name,
|
|||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
|
|
||||||
ret = lp_parm_int(s, parm, val, defval);
|
ret = lp_parm_int(global_loadparm, s, parm, val, defval);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
ret = defval;
|
ret = defval;
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ static bool sclassic_bool_option(struct share_config *scfg, const char *opt_name
|
|||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
|
|
||||||
ret = lp_parm_bool(s, parm, val, defval);
|
ret = lp_parm_bool(global_loadparm, s, parm, val, defval);
|
||||||
talloc_free(parm);
|
talloc_free(parm);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ static const char **sclassic_string_list_option(TALLOC_CTX *mem_ctx, struct shar
|
|||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
|
|
||||||
ret = lp_parm_string_list(s, parm, val, ",;");
|
ret = lp_parm_string_list(global_loadparm, s, parm, val, ",;");
|
||||||
talloc_free(parm);
|
talloc_free(parm);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ _PUBLIC_ enum srvsvc_PlatformId dcesrv_common_get_platform_id(TALLOC_CTX *mem_ct
|
|||||||
{
|
{
|
||||||
enum srvsvc_PlatformId id;
|
enum srvsvc_PlatformId id;
|
||||||
|
|
||||||
id = lp_parm_int(NULL, "server_info", "platform_id", PLATFORM_ID_NT);
|
id = lp_parm_int(global_loadparm, NULL, "server_info", "platform_id", PLATFORM_ID_NT);
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@ -66,19 +66,19 @@ const char *dcesrv_common_get_domain_name(TALLOC_CTX *mem_ctx, struct dcesrv_con
|
|||||||
/* This hardcoded value should go into a ldb database! */
|
/* This hardcoded value should go into a ldb database! */
|
||||||
_PUBLIC_ uint32_t dcesrv_common_get_version_major(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
_PUBLIC_ uint32_t dcesrv_common_get_version_major(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||||
{
|
{
|
||||||
return lp_parm_int(NULL, "server_info", "version_major", 5);
|
return lp_parm_int(global_loadparm, NULL, "server_info", "version_major", 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This hardcoded value should go into a ldb database! */
|
/* This hardcoded value should go into a ldb database! */
|
||||||
_PUBLIC_ uint32_t dcesrv_common_get_version_minor(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
_PUBLIC_ uint32_t dcesrv_common_get_version_minor(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||||
{
|
{
|
||||||
return lp_parm_int(NULL, "server_info", "version_minor", 2);
|
return lp_parm_int(global_loadparm, NULL, "server_info", "version_minor", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This hardcoded value should go into a ldb database! */
|
/* This hardcoded value should go into a ldb database! */
|
||||||
_PUBLIC_ uint32_t dcesrv_common_get_version_build(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
_PUBLIC_ uint32_t dcesrv_common_get_version_build(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||||
{
|
{
|
||||||
return lp_parm_int(NULL, "server_info", "version_build", 3790);
|
return lp_parm_int(global_loadparm, NULL, "server_info", "version_build", 3790);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This hardcoded value should go into a ldb database! */
|
/* This hardcoded value should go into a ldb database! */
|
||||||
|
@ -40,12 +40,12 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct
|
|||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
const struct ndr_interface_table *table;
|
const struct ndr_interface_table *table;
|
||||||
struct dcesrv_remote_private *private;
|
struct dcesrv_remote_private *private;
|
||||||
const char *binding = lp_parm_string(NULL, "dcerpc_remote", "binding");
|
const char *binding = lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "binding");
|
||||||
const char *user, *pass, *domain;
|
const char *user, *pass, *domain;
|
||||||
struct cli_credentials *credentials;
|
struct cli_credentials *credentials;
|
||||||
BOOL machine_account;
|
BOOL machine_account;
|
||||||
|
|
||||||
machine_account = lp_parm_bool(NULL, "dcerpc_remote", "use_machine_account", false);
|
machine_account = lp_parm_bool(global_loadparm, NULL, "dcerpc_remote", "use_machine_account", false);
|
||||||
|
|
||||||
private = talloc(dce_call->conn, struct dcesrv_remote_private);
|
private = talloc(dce_call->conn, struct dcesrv_remote_private);
|
||||||
if (!private) {
|
if (!private) {
|
||||||
@ -60,9 +60,9 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct
|
|||||||
return NT_STATUS_INVALID_PARAMETER;
|
return NT_STATUS_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
user = lp_parm_string(NULL, "dcerpc_remote", "user");
|
user = lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "user");
|
||||||
pass = lp_parm_string(NULL, "dcerpc_remote", "password");
|
pass = lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "password");
|
||||||
domain = lp_parm_string(NULL, "dceprc_remote", "domain");
|
domain = lp_parm_string(global_loadparm, NULL, "dceprc_remote", "domain");
|
||||||
|
|
||||||
table = ndr_table_by_uuid(&iface->syntax_id.uuid); /* FIXME: What about if_version ? */
|
table = ndr_table_by_uuid(&iface->syntax_id.uuid); /* FIXME: What about if_version ? */
|
||||||
if (!table) {
|
if (!table) {
|
||||||
@ -224,7 +224,7 @@ static NTSTATUS remote_register_one_iface(struct dcesrv_context *dce_ctx, const
|
|||||||
static NTSTATUS remote_op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
|
static NTSTATUS remote_op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
const char **ifaces = str_list_make(dce_ctx, lp_parm_string(NULL,"dcerpc_remote","interfaces"),NULL);
|
const char **ifaces = str_list_make(dce_ctx, lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "interfaces"),NULL);
|
||||||
|
|
||||||
if (!ifaces) {
|
if (!ifaces) {
|
||||||
DEBUG(3,("remote_op_init_server: no interfaces configured\n"));
|
DEBUG(3,("remote_op_init_server: no interfaces configured\n"));
|
||||||
|
@ -105,7 +105,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
|
|||||||
mpr_Return(eid, mprCreateUndefinedVar());
|
mpr_Return(eid, mprCreateUndefinedVar());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
value = lp_get_parametric(service, type, option);
|
value = lp_get_parametric(global_loadparm, service, type, option);
|
||||||
if (value == NULL) {
|
if (value == NULL) {
|
||||||
mpr_Return(eid, mprCreateUndefinedVar());
|
mpr_Return(eid, mprCreateUndefinedVar());
|
||||||
return 0;
|
return 0;
|
||||||
@ -130,7 +130,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
|
|||||||
mpr_Return(eid, mprCreateUndefinedVar());
|
mpr_Return(eid, mprCreateUndefinedVar());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
value = lp_get_parametric(NULL, type, option);
|
value = lp_get_parametric(global_loadparm, NULL, type, option);
|
||||||
if (value == NULL) {
|
if (value == NULL) {
|
||||||
mpr_Return(eid, mprCreateUndefinedVar());
|
mpr_Return(eid, mprCreateUndefinedVar());
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -442,7 +442,7 @@ static NTSTATUS test_apply_schema(struct test_become_dc_state *s,
|
|||||||
return werror_to_ntstatus(status);
|
return werror_to_ntstatus(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "become dc", "dump objects", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "become dc", "dump objects", false)) {
|
||||||
for (i=0; i < objs->num_objects; i++) {
|
for (i=0; i < objs->num_objects; i++) {
|
||||||
struct ldb_ldif ldif;
|
struct ldb_ldif ldif;
|
||||||
fprintf(stdout, "#\n");
|
fprintf(stdout, "#\n");
|
||||||
@ -670,7 +670,7 @@ static NTSTATUS test_become_dc_store_chunk(void *private_data,
|
|||||||
return werror_to_ntstatus(status);
|
return werror_to_ntstatus(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "become dc", "dump objects", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "become dc", "dump objects", false)) {
|
||||||
for (i=0; i < objs->num_objects; i++) {
|
for (i=0; i < objs->num_objects; i++) {
|
||||||
struct ldb_ldif ldif;
|
struct ldb_ldif ldif;
|
||||||
fprintf(stdout, "#\n");
|
fprintf(stdout, "#\n");
|
||||||
@ -700,7 +700,7 @@ static NTSTATUS test_become_dc_store_chunk(void *private_data,
|
|||||||
return NT_STATUS_FOOBAR;
|
return NT_STATUS_FOOBAR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "become dc", "dump objects", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "become dc", "dump objects", false)) {
|
||||||
DEBUG(0,("# %s\n", sa->lDAPDisplayName));
|
DEBUG(0,("# %s\n", sa->lDAPDisplayName));
|
||||||
NDR_PRINT_DEBUG(drsuapi_DsReplicaLinkedAttribute, &linked_attributes[i]);
|
NDR_PRINT_DEBUG(drsuapi_DsReplicaLinkedAttribute, &linked_attributes[i]);
|
||||||
dump_data(0,
|
dump_data(0,
|
||||||
@ -726,7 +726,7 @@ BOOL torture_net_become_dc(struct torture_context *torture)
|
|||||||
s = talloc_zero(torture, struct test_become_dc_state);
|
s = talloc_zero(torture, struct test_become_dc_state);
|
||||||
if (!s) return False;
|
if (!s) return False;
|
||||||
|
|
||||||
s->netbios_name = lp_parm_string(NULL, "become dc", "smbtorture dc");
|
s->netbios_name = lp_parm_string(global_loadparm, NULL, "become dc", "smbtorture dc");
|
||||||
if (!s->netbios_name || !s->netbios_name[0]) {
|
if (!s->netbios_name || !s->netbios_name[0]) {
|
||||||
s->netbios_name = "smbtorturedc";
|
s->netbios_name = "smbtorturedc";
|
||||||
}
|
}
|
||||||
@ -834,7 +834,7 @@ BOOL torture_net_become_dc(struct torture_context *torture)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "become dc", "do not unjoin", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "become dc", "do not unjoin", false)) {
|
||||||
talloc_free(s);
|
talloc_free(s);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ static bool iconv_untestable(struct torture_context *tctx)
|
|||||||
{
|
{
|
||||||
iconv_t cd;
|
iconv_t cd;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "iconv", "native", true))
|
if (!lp_parm_bool(global_loadparm, NULL, "iconv", "native", true))
|
||||||
torture_skip(tctx, "system iconv disabled - skipping test");
|
torture_skip(tctx, "system iconv disabled - skipping test");
|
||||||
|
|
||||||
cd = iconv_open("UTF-16LE", "UCS-4LE");
|
cd = iconv_open("UTF-16LE", "UCS-4LE");
|
||||||
|
@ -124,7 +124,7 @@ static struct smbcli_state *connect_one(char *share, int snum, int conn)
|
|||||||
char **unc_list = NULL;
|
char **unc_list = NULL;
|
||||||
int num_unc_names;
|
int num_unc_names;
|
||||||
const char *p;
|
const char *p;
|
||||||
p = lp_parm_string(NULL, "torture", "unclist");
|
p = lp_parm_string(global_loadparm, NULL, "torture", "unclist");
|
||||||
if (p) {
|
if (p) {
|
||||||
char *h, *s;
|
char *h, *s;
|
||||||
unc_list = file_lines_load(p, &num_unc_names, NULL);
|
unc_list = file_lines_load(p, &num_unc_names, NULL);
|
||||||
|
@ -87,7 +87,7 @@ static BOOL test_loadfile(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
printf("waiting for completion\n");
|
printf("waiting for completion\n");
|
||||||
while (*count != num_ops) {
|
while (*count != num_ops) {
|
||||||
event_loop_once(cli->transport->socket->event.ctx);
|
event_loop_once(cli->transport->socket->event.ctx);
|
||||||
if (lp_parm_bool(NULL, "torture", "progress", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "progress", true)) {
|
||||||
printf("(%s) count=%d\r", __location__, *count);
|
printf("(%s) count=%d\r", __location__, *count);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
@ -152,10 +152,10 @@ static BOOL test_fetchfile(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
io2.in.dest_host = lp_parm_string(NULL, "torture", "host");
|
io2.in.dest_host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
io2.in.port = 0;
|
io2.in.port = 0;
|
||||||
io2.in.called_name = lp_parm_string(NULL, "torture", "host");
|
io2.in.called_name = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
io2.in.service = lp_parm_string(NULL, "torture", "share");
|
io2.in.service = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
io2.in.service_type = "A:";
|
io2.in.service_type = "A:";
|
||||||
|
|
||||||
io2.in.credentials = cmdline_credentials;
|
io2.in.credentials = cmdline_credentials;
|
||||||
@ -177,7 +177,7 @@ static BOOL test_fetchfile(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
|
|
||||||
while (*count != torture_numops) {
|
while (*count != torture_numops) {
|
||||||
event_loop_once(event_ctx);
|
event_loop_once(event_ctx);
|
||||||
if (lp_parm_bool(NULL, "torture", "progress", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "progress", true)) {
|
||||||
printf("(%s) count=%d\r", __location__, *count);
|
printf("(%s) count=%d\r", __location__, *count);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
@ -297,7 +297,7 @@ static BOOL test_appendacl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
printf("waiting for completion\n");
|
printf("waiting for completion\n");
|
||||||
while (*count != num_ops) {
|
while (*count != num_ops) {
|
||||||
event_loop_once(event_ctx);
|
event_loop_once(event_ctx);
|
||||||
if (lp_parm_bool(NULL, "torture", "progress", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "progress", true)) {
|
||||||
printf("(%s) count=%d\r", __location__, *count);
|
printf("(%s) count=%d\r", __location__, *count);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
@ -340,10 +340,10 @@ static BOOL test_fsinfo(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
int *count = talloc_zero(mem_ctx, int);
|
int *count = talloc_zero(mem_ctx, int);
|
||||||
BOOL ret = True;
|
BOOL ret = True;
|
||||||
|
|
||||||
io1.in.dest_host = lp_parm_string(NULL, "torture", "host");
|
io1.in.dest_host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
io1.in.port = 0;
|
io1.in.port = 0;
|
||||||
io1.in.called_name = lp_parm_string(NULL, "torture", "host");
|
io1.in.called_name = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
io1.in.service = lp_parm_string(NULL, "torture", "share");
|
io1.in.service = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
io1.in.service_type = "A:";
|
io1.in.service_type = "A:";
|
||||||
io1.in.credentials = cmdline_credentials;
|
io1.in.credentials = cmdline_credentials;
|
||||||
io1.in.workgroup = lp_workgroup(global_loadparm);
|
io1.in.workgroup = lp_workgroup(global_loadparm);
|
||||||
@ -364,7 +364,7 @@ static BOOL test_fsinfo(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
|
|
||||||
while (*count < torture_numops) {
|
while (*count < torture_numops) {
|
||||||
event_loop_once(event_ctx);
|
event_loop_once(event_ctx);
|
||||||
if (lp_parm_bool(NULL, "torture", "progress", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "progress", true)) {
|
||||||
printf("(%s) count=%d\r", __location__, *count);
|
printf("(%s) count=%d\r", __location__, *count);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
@ -277,8 +277,8 @@ static BOOL test_tree(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
share = lp_parm_string(NULL, "torture", "share");
|
share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
host = lp_parm_string(NULL, "torture", "host");
|
host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
|
|
||||||
printf("create a second tree context on the same session\n");
|
printf("create a second tree context on the same session\n");
|
||||||
tree = smbcli_tree_init(cli->session, mem_ctx, False);
|
tree = smbcli_tree_init(cli->session, mem_ctx, False);
|
||||||
@ -385,8 +385,8 @@ static BOOL test_tree_ulogoff(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
share = lp_parm_string(NULL, "torture", "share");
|
share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
host = lp_parm_string(NULL, "torture", "host");
|
host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
|
|
||||||
printf("create the first new sessions\n");
|
printf("create the first new sessions\n");
|
||||||
session1 = smbcli_session_init(cli->transport, mem_ctx, False);
|
session1 = smbcli_session_init(cli->transport, mem_ctx, False);
|
||||||
@ -746,8 +746,8 @@ static BOOL test_pid_2tcon(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
share = lp_parm_string(NULL, "torture", "share");
|
share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
host = lp_parm_string(NULL, "torture", "host");
|
host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
|
|
||||||
printf("create a second tree context on the same session\n");
|
printf("create a second tree context on the same session\n");
|
||||||
tree = smbcli_tree_init(cli->session, mem_ctx, False);
|
tree = smbcli_tree_init(cli->session, mem_ctx, False);
|
||||||
|
@ -247,10 +247,10 @@ static BOOL test_max_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
|
|
||||||
printf("TESTING SETFILEINFO MAX. EA_SET\n");
|
printf("TESTING SETFILEINFO MAX. EA_SET\n");
|
||||||
|
|
||||||
maxeasize = lp_parm_int(NULL, "torture", "maxeasize", 65536);
|
maxeasize = lp_parm_int(global_loadparm, NULL, "torture", "maxeasize", 65536);
|
||||||
maxeanames = lp_parm_int(NULL, "torture", "maxeanames", 101);
|
maxeanames = lp_parm_int(global_loadparm, NULL, "torture", "maxeanames", 101);
|
||||||
maxeastart = lp_parm_int(NULL, "torture", "maxeastart", 1);
|
maxeastart = lp_parm_int(global_loadparm, NULL, "torture", "maxeastart", 1);
|
||||||
maxeadebug = lp_parm_int(NULL, "torture", "maxeadebug", 0);
|
maxeadebug = lp_parm_int(global_loadparm, NULL, "torture", "maxeadebug", 0);
|
||||||
|
|
||||||
/* Do some sanity check on possibly passed parms */
|
/* Do some sanity check on possibly passed parms */
|
||||||
if (maxeasize <= 0) {
|
if (maxeasize <= 0) {
|
||||||
|
@ -599,8 +599,8 @@ static bool test_async(struct torture_context *tctx,
|
|||||||
session->vuid = setup.out.vuid;
|
session->vuid = setup.out.vuid;
|
||||||
|
|
||||||
printf("create new tree context\n");
|
printf("create new tree context\n");
|
||||||
share = lp_parm_string(NULL, "torture", "share");
|
share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
host = lp_parm_string(NULL, "torture", "host");
|
host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
tree = smbcli_tree_init(session, tctx, False);
|
tree = smbcli_tree_init(session, tctx, False);
|
||||||
tcon.generic.level = RAW_TCON_TCONX;
|
tcon.generic.level = RAW_TCON_TCONX;
|
||||||
tcon.tconx.in.flags = 0;
|
tcon.tconx.in.flags = 0;
|
||||||
|
@ -318,7 +318,7 @@ BOOL torture_bench_lock(struct torture_context *torture)
|
|||||||
|
|
||||||
progress = torture_setting_bool(torture, "progress", true);
|
progress = torture_setting_bool(torture, "progress", true);
|
||||||
|
|
||||||
nprocs = lp_parm_int(NULL, "torture", "nprocs", 4);
|
nprocs = lp_parm_int(global_loadparm, NULL, "torture", "nprocs", 4);
|
||||||
|
|
||||||
state = talloc_zero_array(mem_ctx, struct benchlock_state, nprocs);
|
state = talloc_zero_array(mem_ctx, struct benchlock_state, nprocs);
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ static BOOL test_mkdir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
md.t2mkdir.in.eas[2].value = data_blob_talloc(mem_ctx, "xx1", 3);
|
md.t2mkdir.in.eas[2].value = data_blob_talloc(mem_ctx, "xx1", 3);
|
||||||
status = smb_raw_mkdir(cli->tree, &md);
|
status = smb_raw_mkdir(cli->tree, &md);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)
|
||||||
&& NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)) {
|
&& NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)) {
|
||||||
d_printf("EAS not supported -- not treating as fatal\n");
|
d_printf("EAS not supported -- not treating as fatal\n");
|
||||||
}
|
}
|
||||||
|
@ -711,7 +711,7 @@ static BOOL test_notify_mask(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
NOTIFY_ACTION_MODIFIED,
|
NOTIFY_ACTION_MODIFIED,
|
||||||
FILE_NOTIFY_CHANGE_ATTRIBUTES, 1);
|
FILE_NOTIFY_CHANGE_ATTRIBUTES, 1);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
printf("Samba3 does not yet support create times "
|
printf("Samba3 does not yet support create times "
|
||||||
"everywhere\n");
|
"everywhere\n");
|
||||||
}
|
}
|
||||||
|
@ -398,7 +398,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
io.openx.in.file_attrs = FILE_ATTRIBUTE_SYSTEM;
|
io.openx.in.file_attrs = FILE_ATTRIBUTE_SYSTEM;
|
||||||
status = smb_raw_open(cli->tree, mem_ctx, &io);
|
status = smb_raw_open(cli->tree, mem_ctx, &io);
|
||||||
CHECK_STATUS(status, NT_STATUS_OK);
|
CHECK_STATUS(status, NT_STATUS_OK);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
CHECK_ALL_INFO(FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE,
|
CHECK_ALL_INFO(FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE,
|
||||||
attrib & ~(FILE_ATTRIBUTE_NONINDEXED|
|
attrib & ~(FILE_ATTRIBUTE_NONINDEXED|
|
||||||
FILE_ATTRIBUTE_SPARSE));
|
FILE_ATTRIBUTE_SPARSE));
|
||||||
@ -569,7 +569,7 @@ static BOOL test_t2open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
|
|||||||
status = smb_raw_open(cli->tree, mem_ctx, &io);
|
status = smb_raw_open(cli->tree, mem_ctx, &io);
|
||||||
if ((io.t2open.in.num_eas != 0)
|
if ((io.t2open.in.num_eas != 0)
|
||||||
&& NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)
|
&& NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)
|
||||||
&& lp_parm_bool(NULL, "torture", "samba3", false)) {
|
&& lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
printf("(%s) EAs not supported, not treating as fatal "
|
printf("(%s) EAs not supported, not treating as fatal "
|
||||||
"in Samba3 test\n", __location__);
|
"in Samba3 test\n", __location__);
|
||||||
io.t2open.in.num_eas = 0;
|
io.t2open.in.num_eas = 0;
|
||||||
@ -1346,8 +1346,8 @@ static BOOL test_raw_open_multi(void)
|
|||||||
struct smbcli_state **clients;
|
struct smbcli_state **clients;
|
||||||
struct smbcli_request **requests;
|
struct smbcli_request **requests;
|
||||||
union smb_open *ios;
|
union smb_open *ios;
|
||||||
const char *host = lp_parm_string(NULL, "torture", "host");
|
const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
const char *share = lp_parm_string(NULL, "torture", "share");
|
const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
int i, num_files = 3;
|
int i, num_files = 3;
|
||||||
struct event_context *ev;
|
struct event_context *ev;
|
||||||
int num_ok = 0;
|
int num_ok = 0;
|
||||||
|
@ -191,21 +191,21 @@ bool torture_ping_pong(struct torture_context *torture)
|
|||||||
uint8_t *val;
|
uint8_t *val;
|
||||||
int count, loops;
|
int count, loops;
|
||||||
|
|
||||||
fn = lp_parm_string(NULL, "torture", "filename");
|
fn = lp_parm_string(global_loadparm, NULL, "torture", "filename");
|
||||||
if (fn == NULL) {
|
if (fn == NULL) {
|
||||||
DEBUG(0,("You must specify the filename using --option=torture:filename=...\n"));
|
DEBUG(0,("You must specify the filename using --option=torture:filename=...\n"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
num_locks = lp_parm_int(NULL, "torture", "num_locks", -1);
|
num_locks = lp_parm_int(global_loadparm, NULL, "torture", "num_locks", -1);
|
||||||
if (num_locks == -1) {
|
if (num_locks == -1) {
|
||||||
DEBUG(0,("You must specify num_locks using --option=torture:num_locks=...\n"));
|
DEBUG(0,("You must specify num_locks using --option=torture:num_locks=...\n"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
do_reads = lp_parm_bool(NULL, "torture", "read", false);
|
do_reads = lp_parm_bool(global_loadparm, NULL, "torture", "read", false);
|
||||||
do_writes = lp_parm_bool(NULL, "torture", "write", false);
|
do_writes = lp_parm_bool(global_loadparm, NULL, "torture", "write", false);
|
||||||
lock_timeout = lp_parm_int(NULL, "torture", "lock_timeout", 100000);
|
lock_timeout = lp_parm_int(global_loadparm, NULL, "torture", "lock_timeout", 100000);
|
||||||
|
|
||||||
if (!torture_open_connection(&cli, 0)) {
|
if (!torture_open_connection(&cli, 0)) {
|
||||||
DEBUG(0,("Could not open connection\n"));
|
DEBUG(0,("Could not open connection\n"));
|
||||||
|
@ -482,7 +482,7 @@ static bool test_readx(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
CHECK_STATUS(status, NT_STATUS_OK);
|
CHECK_STATUS(status, NT_STATUS_OK);
|
||||||
CHECK_VALUE(io.readx.out.remaining, 0xFFFF);
|
CHECK_VALUE(io.readx.out.remaining, 0xFFFF);
|
||||||
CHECK_VALUE(io.readx.out.compaction_mode, 0);
|
CHECK_VALUE(io.readx.out.compaction_mode, 0);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
printf("SAMBA3: large read extension\n");
|
printf("SAMBA3: large read extension\n");
|
||||||
CHECK_VALUE(io.readx.out.nread, 80000);
|
CHECK_VALUE(io.readx.out.nread, 80000);
|
||||||
} else {
|
} else {
|
||||||
@ -526,7 +526,7 @@ static bool test_readx(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.readx.in.maxcnt = 0x10000;
|
io.readx.in.maxcnt = 0x10000;
|
||||||
status = smb_raw_read(cli->tree, &io);
|
status = smb_raw_read(cli->tree, &io);
|
||||||
CHECK_STATUS(status, NT_STATUS_OK);
|
CHECK_STATUS(status, NT_STATUS_OK);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
printf("SAMBA3: large read extension\n");
|
printf("SAMBA3: large read extension\n");
|
||||||
CHECK_VALUE(io.readx.out.nread, 0x10000);
|
CHECK_VALUE(io.readx.out.nread, 0x10000);
|
||||||
} else {
|
} else {
|
||||||
@ -536,7 +536,7 @@ static bool test_readx(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.readx.in.maxcnt = 0x10001;
|
io.readx.in.maxcnt = 0x10001;
|
||||||
status = smb_raw_read(cli->tree, &io);
|
status = smb_raw_read(cli->tree, &io);
|
||||||
CHECK_STATUS(status, NT_STATUS_OK);
|
CHECK_STATUS(status, NT_STATUS_OK);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
printf("SAMBA3: large read extension\n");
|
printf("SAMBA3: large read extension\n");
|
||||||
CHECK_VALUE(io.readx.out.nread, 0x10001);
|
CHECK_VALUE(io.readx.out.nread, 0x10001);
|
||||||
} else {
|
} else {
|
||||||
|
@ -129,7 +129,7 @@ static bool test_unlink(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
||||||
status = smb_raw_unlink(cli->tree, &io);
|
status = smb_raw_unlink(cli->tree, &io);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
/*
|
/*
|
||||||
* In Samba3 we gave up upon getting the error codes in
|
* In Samba3 we gave up upon getting the error codes in
|
||||||
* wildcard unlink correct. Trying gentest showed that this is
|
* wildcard unlink correct. Trying gentest showed that this is
|
||||||
@ -157,7 +157,7 @@ static bool test_unlink(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.unlink.in.pattern = BASEDIR "\\t*";
|
io.unlink.in.pattern = BASEDIR "\\t*";
|
||||||
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
||||||
status = smb_raw_unlink(cli->tree, &io);
|
status = smb_raw_unlink(cli->tree, &io);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
|
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -169,7 +169,7 @@ static bool test_unlink(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.unlink.in.pattern = BASEDIR "\\*.dat";
|
io.unlink.in.pattern = BASEDIR "\\*.dat";
|
||||||
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
|
||||||
status = smb_raw_unlink(cli->tree, &io);
|
status = smb_raw_unlink(cli->tree, &io);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
|
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -179,7 +179,7 @@ static bool test_unlink(struct torture_context *tctx, struct smbcli_state *cli)
|
|||||||
io.unlink.in.pattern = BASEDIR "\\*.tx?";
|
io.unlink.in.pattern = BASEDIR "\\*.tx?";
|
||||||
io.unlink.in.attrib = 0;
|
io.unlink.in.attrib = 0;
|
||||||
status = smb_raw_unlink(cli->tree, &io);
|
status = smb_raw_unlink(cli->tree, &io);
|
||||||
if (lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
|
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -282,7 +282,7 @@ static bool test_delete_on_close(struct torture_context *tctx,
|
|||||||
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
|
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
|
||||||
|
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "torture", "samba3", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "torture", "samba3", false)) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Known deficiency, also skipped in base-delete.
|
* Known deficiency, also skipped in base-delete.
|
||||||
|
@ -72,7 +72,7 @@ static BOOL bench_NetShareEnumAll(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
|||||||
{
|
{
|
||||||
struct timeval tv = timeval_current();
|
struct timeval tv = timeval_current();
|
||||||
BOOL ret = True;
|
BOOL ret = True;
|
||||||
int timelimit = lp_parm_int(NULL, "torture", "timelimit", 10);
|
int timelimit = lp_parm_int(global_loadparm, NULL, "torture", "timelimit", 10);
|
||||||
int count=0;
|
int count=0;
|
||||||
|
|
||||||
printf("Running for %d seconds\n", timelimit);
|
printf("Running for %d seconds\n", timelimit);
|
||||||
@ -82,7 +82,7 @@ static BOOL bench_NetShareEnumAll(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
|||||||
talloc_free(tmp_ctx);
|
talloc_free(tmp_ctx);
|
||||||
count++;
|
count++;
|
||||||
if (count % 50 == 0) {
|
if (count % 50 == 0) {
|
||||||
if (lp_parm_bool(NULL, "torture", "progress", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "progress", true)) {
|
||||||
printf("%.1f queries per second \r",
|
printf("%.1f queries per second \r",
|
||||||
count / timeval_elapsed(&tv));
|
count / timeval_elapsed(&tv));
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ BOOL torture_rpc_countcalls(struct torture_context *torture)
|
|||||||
if (!mem_ctx) {
|
if (!mem_ctx) {
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
iface_name = lp_parm_string(NULL, "countcalls", "interface");
|
iface_name = lp_parm_string(global_loadparm, NULL, "countcalls", "interface");
|
||||||
if (iface_name != NULL) {
|
if (iface_name != NULL) {
|
||||||
iface = ndr_table_by_name(iface_name);
|
iface = ndr_table_by_name(iface_name);
|
||||||
if (!iface) {
|
if (!iface) {
|
||||||
|
@ -307,7 +307,7 @@ static BOOL test_DsReplicaGetInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", False)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", False)) {
|
||||||
printf("skipping DsReplicaGetInfo test against Samba4\n");
|
printf("skipping DsReplicaGetInfo test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -380,12 +380,12 @@ static BOOL test_DsReplicaSync(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "torture", "dangerous", False)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "torture", "dangerous", False)) {
|
||||||
printf("DsReplicaSync disabled - enable dangerous tests to use\n");
|
printf("DsReplicaSync disabled - enable dangerous tests to use\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", False)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", False)) {
|
||||||
printf("skipping DsReplicaSync test against Samba4\n");
|
printf("skipping DsReplicaSync test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -448,7 +448,7 @@ static BOOL test_DsReplicaUpdateRefs(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", False)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", False)) {
|
||||||
printf("skipping DsReplicaUpdateRefs test against Samba4\n");
|
printf("skipping DsReplicaUpdateRefs test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -515,7 +515,7 @@ static BOOL test_DsGetNCChanges(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", False)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", False)) {
|
||||||
printf("skipping DsGetNCChanges test against Samba4\n");
|
printf("skipping DsGetNCChanges test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -544,7 +544,7 @@ static BOOL test_DsGetNCChanges(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
r.in.req.req5.highwatermark.highest_usn = 0;
|
r.in.req.req5.highwatermark.highest_usn = 0;
|
||||||
r.in.req.req5.uptodateness_vector = NULL;
|
r.in.req.req5.uptodateness_vector = NULL;
|
||||||
r.in.req.req5.replica_flags = 0;
|
r.in.req.req5.replica_flags = 0;
|
||||||
if (lp_parm_bool(NULL, "drsuapi","compression", False)) {
|
if (lp_parm_bool(global_loadparm, NULL, "drsuapi","compression", False)) {
|
||||||
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
||||||
}
|
}
|
||||||
r.in.req.req5.max_object_count = 0;
|
r.in.req.req5.max_object_count = 0;
|
||||||
@ -566,10 +566,10 @@ static BOOL test_DsGetNCChanges(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
r.in.req.req8.highwatermark.highest_usn = 0;
|
r.in.req.req8.highwatermark.highest_usn = 0;
|
||||||
r.in.req.req8.uptodateness_vector = NULL;
|
r.in.req.req8.uptodateness_vector = NULL;
|
||||||
r.in.req.req8.replica_flags = 0;
|
r.in.req.req8.replica_flags = 0;
|
||||||
if (lp_parm_bool(NULL,"drsuapi","compression",False)) {
|
if (lp_parm_bool(global_loadparm, NULL,"drsuapi","compression",False)) {
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL,"drsuapi","neighbour_writeable",True)) {
|
if (lp_parm_bool(global_loadparm, NULL,"drsuapi","neighbour_writeable",True)) {
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
||||||
}
|
}
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
||||||
|
@ -589,7 +589,7 @@ BOOL test_DsCrackNames(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
.comment = "display name for Microsoft Support Account",
|
.comment = "display name for Microsoft Support Account",
|
||||||
.status = DRSUAPI_DS_NAME_STATUS_OK,
|
.status = DRSUAPI_DS_NAME_STATUS_OK,
|
||||||
.alternate_status = DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE,
|
.alternate_status = DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE,
|
||||||
.skip = lp_parm_bool(NULL, "torture", "samba4", False)
|
.skip = lp_parm_bool(global_loadparm, NULL, "torture", "samba4", False)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.format_offered = DRSUAPI_DS_NAME_FORMAT_GUID,
|
.format_offered = DRSUAPI_DS_NAME_FORMAT_GUID,
|
||||||
|
@ -84,7 +84,7 @@ static struct DsSyncTest *test_create_context(TALLOC_CTX *mem_ctx)
|
|||||||
struct DsSyncTest *ctx;
|
struct DsSyncTest *ctx;
|
||||||
struct drsuapi_DsBindInfo28 *our_bind_info28;
|
struct drsuapi_DsBindInfo28 *our_bind_info28;
|
||||||
struct drsuapi_DsBindInfoCtr *our_bind_info_ctr;
|
struct drsuapi_DsBindInfoCtr *our_bind_info_ctr;
|
||||||
const char *binding = lp_parm_string(NULL, "torture", "binding");
|
const char *binding = lp_parm_string(global_loadparm, NULL, "torture", "binding");
|
||||||
ctx = talloc_zero(mem_ctx, struct DsSyncTest);
|
ctx = talloc_zero(mem_ctx, struct DsSyncTest);
|
||||||
if (!ctx) return NULL;
|
if (!ctx) return NULL;
|
||||||
|
|
||||||
@ -149,7 +149,7 @@ static struct DsSyncTest *test_create_context(TALLOC_CTX *mem_ctx)
|
|||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3;
|
||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7;
|
||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT;
|
||||||
if (lp_parm_bool(NULL, "dssync", "xpress", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "xpress", false)) {
|
||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
||||||
}
|
}
|
||||||
our_bind_info28->site_guid = GUID_zero();
|
our_bind_info28->site_guid = GUID_zero();
|
||||||
@ -420,11 +420,11 @@ static void test_analyse_objects(struct DsSyncTest *ctx,
|
|||||||
static uint32_t object_id;
|
static uint32_t object_id;
|
||||||
const char *save_values_dir;
|
const char *save_values_dir;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL,"dssync","print_pwd_blobs", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL,"dssync","print_pwd_blobs", false)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
save_values_dir = lp_parm_string(NULL, "dssync", "save_pwd_blobs_dir");
|
save_values_dir = lp_parm_string(global_loadparm, NULL, "dssync", "save_pwd_blobs_dir");
|
||||||
|
|
||||||
for (; cur; cur = cur->next_object) {
|
for (; cur; cur = cur->next_object) {
|
||||||
const char *dn;
|
const char *dn;
|
||||||
@ -560,17 +560,17 @@ static BOOL test_FetchData(struct DsSyncTest *ctx)
|
|||||||
ZERO_STRUCT(null_guid);
|
ZERO_STRUCT(null_guid);
|
||||||
ZERO_STRUCT(null_sid);
|
ZERO_STRUCT(null_sid);
|
||||||
|
|
||||||
partition = lp_parm_string(NULL, "dssync", "partition");
|
partition = lp_parm_string(global_loadparm, NULL, "dssync", "partition");
|
||||||
if (partition == NULL) {
|
if (partition == NULL) {
|
||||||
partition = ctx->domain_dn;
|
partition = ctx->domain_dn;
|
||||||
printf("dssync:partition not specified, defaulting to %s.\n", ctx->domain_dn);
|
printf("dssync:partition not specified, defaulting to %s.\n", ctx->domain_dn);
|
||||||
}
|
}
|
||||||
|
|
||||||
highest_usn = lp_parm_int(NULL, "dssync", "highest_usn", 0);
|
highest_usn = lp_parm_int(global_loadparm, NULL, "dssync", "highest_usn", 0);
|
||||||
|
|
||||||
array[0].level = lp_parm_int(NULL, "dssync", "get_nc_changes_level", array[0].level);
|
array[0].level = lp_parm_int(global_loadparm, NULL, "dssync", "get_nc_changes_level", array[0].level);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "dssync", "print_pwd_blobs", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "print_pwd_blobs", false)) {
|
||||||
const struct samr_Password *nthash;
|
const struct samr_Password *nthash;
|
||||||
nthash = cli_credentials_get_nt_hash(ctx->new_dc.credentials, ctx);
|
nthash = cli_credentials_get_nt_hash(ctx->new_dc.credentials, ctx);
|
||||||
if (nthash) {
|
if (nthash) {
|
||||||
@ -606,10 +606,10 @@ static BOOL test_FetchData(struct DsSyncTest *ctx)
|
|||||||
r.in.req.req5.highwatermark.highest_usn = highest_usn;
|
r.in.req.req5.highwatermark.highest_usn = highest_usn;
|
||||||
r.in.req.req5.uptodateness_vector = NULL;
|
r.in.req.req5.uptodateness_vector = NULL;
|
||||||
r.in.req.req5.replica_flags = 0;
|
r.in.req.req5.replica_flags = 0;
|
||||||
if (lp_parm_bool(NULL, "dssync", "compression", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "compression", false)) {
|
||||||
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL, "dssync", "neighbour_writeable", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "neighbour_writeable", true)) {
|
||||||
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
||||||
}
|
}
|
||||||
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
r.in.req.req5.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
||||||
@ -637,10 +637,10 @@ static BOOL test_FetchData(struct DsSyncTest *ctx)
|
|||||||
r.in.req.req8.highwatermark.highest_usn = highest_usn;
|
r.in.req.req8.highwatermark.highest_usn = highest_usn;
|
||||||
r.in.req.req8.uptodateness_vector = NULL;
|
r.in.req.req8.uptodateness_vector = NULL;
|
||||||
r.in.req.req8.replica_flags = 0;
|
r.in.req.req8.replica_flags = 0;
|
||||||
if (lp_parm_bool(NULL, "dssync", "compression", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "compression", false)) {
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES;
|
||||||
}
|
}
|
||||||
if (lp_parm_bool(NULL, "dssync", "neighbour_writeable", true)) {
|
if (lp_parm_bool(global_loadparm, NULL, "dssync", "neighbour_writeable", true)) {
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE;
|
||||||
}
|
}
|
||||||
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
r.in.req.req8.replica_flags |= DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP
|
||||||
@ -760,8 +760,8 @@ static BOOL test_FetchNT4Data(struct DsSyncTest *ctx)
|
|||||||
r.in.bind_handle = &ctx->new_dc.drsuapi.bind_handle;
|
r.in.bind_handle = &ctx->new_dc.drsuapi.bind_handle;
|
||||||
r.in.level = 1;
|
r.in.level = 1;
|
||||||
|
|
||||||
r.in.req.req1.unknown1 = lp_parm_int(NULL, "dssync", "nt4-1", 3);
|
r.in.req.req1.unknown1 = lp_parm_int(global_loadparm, NULL, "dssync", "nt4-1", 3);
|
||||||
r.in.req.req1.unknown2 = lp_parm_int(NULL, "dssync", "nt4-2", 0x00004000);
|
r.in.req.req1.unknown2 = lp_parm_int(global_loadparm, NULL, "dssync", "nt4-2", 0x00004000);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
r.in.req.req1.length = cookie.length;
|
r.in.req.req1.length = cookie.length;
|
||||||
|
@ -1312,7 +1312,7 @@ static BOOL test_QuerySecurity(struct dcerpc_pipe *p,
|
|||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
struct lsa_QuerySecurity r;
|
struct lsa_QuerySecurity r;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping QuerySecurity test against Samba4\n");
|
printf("skipping QuerySecurity test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -1551,7 +1551,7 @@ static BOOL test_QueryForestTrustInformation(struct dcerpc_pipe *p,
|
|||||||
|
|
||||||
printf("\nTesting lsaRQueryForestTrustInformation\n");
|
printf("\nTesting lsaRQueryForestTrustInformation\n");
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping QueryForestTrustInformation against Samba4\n");
|
printf("skipping QueryForestTrustInformation against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -1918,7 +1918,7 @@ static BOOL test_QueryDomainInfoPolicy(struct dcerpc_pipe *p,
|
|||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
int i;
|
int i;
|
||||||
BOOL ret = True;
|
BOOL ret = True;
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping QueryDomainInformationPolicy test against Samba4\n");
|
printf("skipping QueryDomainInformationPolicy test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -1954,7 +1954,7 @@ static BOOL test_QueryInfoPolicy(struct dcerpc_pipe *p,
|
|||||||
BOOL ret = True;
|
BOOL ret = True;
|
||||||
printf("\nTesting QueryInfoPolicy\n");
|
printf("\nTesting QueryInfoPolicy\n");
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping QueryInfoPolicy against Samba4\n");
|
printf("skipping QueryInfoPolicy against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -1985,7 +1985,7 @@ static BOOL test_QueryInfoPolicy(struct dcerpc_pipe *p,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
/* Other levels not implemented yet */
|
/* Other levels not implemented yet */
|
||||||
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
|
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
|
||||||
printf("QueryInfoPolicy failed - %s\n", nt_errstr(status));
|
printf("QueryInfoPolicy failed - %s\n", nt_errstr(status));
|
||||||
@ -2056,7 +2056,7 @@ static BOOL test_QueryInfoPolicy2(struct dcerpc_pipe *p,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
/* Other levels not implemented yet */
|
/* Other levels not implemented yet */
|
||||||
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
|
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
|
||||||
printf("QueryInfoPolicy2 failed - %s\n", nt_errstr(status));
|
printf("QueryInfoPolicy2 failed - %s\n", nt_errstr(status));
|
||||||
|
@ -1230,7 +1230,7 @@ static BOOL test_join3(TALLOC_CTX *mem_ctx,
|
|||||||
struct cli_credentials *wks_creds;
|
struct cli_credentials *wks_creds;
|
||||||
|
|
||||||
status = smbcli_full_connection(mem_ctx, &cli,
|
status = smbcli_full_connection(mem_ctx, &cli,
|
||||||
lp_parm_string(NULL, "torture", "host"),
|
lp_parm_string(global_loadparm, NULL, "torture", "host"),
|
||||||
"IPC$", NULL, smb_creds, NULL);
|
"IPC$", NULL, smb_creds, NULL);
|
||||||
if (!NT_STATUS_IS_OK(status)) {
|
if (!NT_STATUS_IS_OK(status)) {
|
||||||
d_printf("smbcli_full_connection failed: %s\n",
|
d_printf("smbcli_full_connection failed: %s\n",
|
||||||
|
@ -84,7 +84,7 @@ static BOOL test_Shutdown(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
struct samr_Shutdown r;
|
struct samr_Shutdown r;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "torture", "dangerous", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "torture", "dangerous", false)) {
|
||||||
printf("samr_Shutdown disabled - enable dangerous tests to use\n");
|
printf("samr_Shutdown disabled - enable dangerous tests to use\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ static BOOL test_SetDsrmPassword(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
struct lsa_String string;
|
struct lsa_String string;
|
||||||
struct samr_Password hash;
|
struct samr_Password hash;
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "torture", "dangerous", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "torture", "dangerous", false)) {
|
||||||
printf("samr_SetDsrmPassword disabled - enable dangerous tests to use\n");
|
printf("samr_SetDsrmPassword disabled - enable dangerous tests to use\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -159,7 +159,7 @@ static BOOL test_QuerySecurity(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
s.in.sec_info = 7;
|
s.in.sec_info = 7;
|
||||||
s.in.sdbuf = r.out.sdbuf;
|
s.in.sdbuf = r.out.sdbuf;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping SetSecurity test against Samba4\n");
|
printf("skipping SetSecurity test against Samba4\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -415,7 +415,7 @@ static BOOL test_SetUserInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
TEST_USERINFO_INT(21, logon_hours.bits[3], 21, logon_hours.bits[3], 4,
|
TEST_USERINFO_INT(21, logon_hours.bits[3], 21, logon_hours.bits[3], 4,
|
||||||
SAMR_FIELD_LOGON_HOURS);
|
SAMR_FIELD_LOGON_HOURS);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping Set Account Flag tests against Samba4\n");
|
printf("skipping Set Account Flag tests against Samba4\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -2121,7 +2121,7 @@ static BOOL test_alias_ops(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
ret = False;
|
ret = False;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping MultipleMembers Alias tests against Samba4\n");
|
printf("skipping MultipleMembers Alias tests against Samba4\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -3180,7 +3180,7 @@ static BOOL test_EnumDomainUsers_async(struct dcerpc_pipe *p, TALLOC_CTX *mem_ct
|
|||||||
#define ASYNC_COUNT 100
|
#define ASYNC_COUNT 100
|
||||||
struct rpc_request *req[ASYNC_COUNT];
|
struct rpc_request *req[ASYNC_COUNT];
|
||||||
|
|
||||||
if (!lp_parm_bool(NULL, "torture", "dangerous", false)) {
|
if (!lp_parm_bool(global_loadparm, NULL, "torture", "dangerous", false)) {
|
||||||
printf("samr async test disabled - enable dangerous tests to use\n");
|
printf("samr async test disabled - enable dangerous tests to use\n");
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
@ -4067,7 +4067,7 @@ static BOOL test_AddGroupMember(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping SetMemberAttributesOfGroup test against Samba4\n");
|
printf("skipping SetMemberAttributesOfGroup test against Samba4\n");
|
||||||
} else {
|
} else {
|
||||||
/* this one is quite strange. I am using random inputs in the
|
/* this one is quite strange. I am using random inputs in the
|
||||||
@ -4256,7 +4256,7 @@ static BOOL test_OpenDomain(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
|||||||
ret &= test_QueryDisplayInfo3(p, mem_ctx, &domain_handle);
|
ret &= test_QueryDisplayInfo3(p, mem_ctx, &domain_handle);
|
||||||
ret &= test_QueryDisplayInfo_continue(p, mem_ctx, &domain_handle);
|
ret &= test_QueryDisplayInfo_continue(p, mem_ctx, &domain_handle);
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
printf("skipping GetDisplayEnumerationIndex test against Samba4\n");
|
printf("skipping GetDisplayEnumerationIndex test against Samba4\n");
|
||||||
} else {
|
} else {
|
||||||
ret &= test_GetDisplayEnumerationIndex(p, mem_ctx, &domain_handle);
|
ret &= test_GetDisplayEnumerationIndex(p, mem_ctx, &domain_handle);
|
||||||
|
@ -233,7 +233,7 @@ static bool test_schannel(struct torture_context *tctx,
|
|||||||
{
|
{
|
||||||
struct test_join *join_ctx;
|
struct test_join *join_ctx;
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
const char *binding = lp_parm_string(NULL, "torture", "binding");
|
const char *binding = lp_parm_string(global_loadparm, NULL, "torture", "binding");
|
||||||
struct dcerpc_binding *b;
|
struct dcerpc_binding *b;
|
||||||
struct dcerpc_pipe *p = NULL;
|
struct dcerpc_pipe *p = NULL;
|
||||||
struct dcerpc_pipe *p_netlogon = NULL;
|
struct dcerpc_pipe *p_netlogon = NULL;
|
||||||
|
@ -126,7 +126,7 @@ struct test_join *torture_create_testuser(struct torture_context *torture,
|
|||||||
int policy_min_pw_len = 0;
|
int policy_min_pw_len = 0;
|
||||||
struct test_join *join;
|
struct test_join *join;
|
||||||
char *random_pw;
|
char *random_pw;
|
||||||
const char *dc_binding = lp_parm_string(NULL, "torture", "dc_binding");
|
const char *dc_binding = lp_parm_string(global_loadparm, NULL, "torture", "dc_binding");
|
||||||
|
|
||||||
join = talloc(NULL, struct test_join);
|
join = talloc(NULL, struct test_join);
|
||||||
if (join == NULL) {
|
if (join == NULL) {
|
||||||
@ -328,9 +328,9 @@ _PUBLIC_ struct test_join *torture_join_domain(const char *machine_name,
|
|||||||
tj->libnet_r = libnet_r;
|
tj->libnet_r = libnet_r;
|
||||||
|
|
||||||
libnet_ctx->cred = cmdline_credentials;
|
libnet_ctx->cred = cmdline_credentials;
|
||||||
libnet_r->in.binding = lp_parm_string(NULL, "torture", "binding");
|
libnet_r->in.binding = lp_parm_string(global_loadparm, NULL, "torture", "binding");
|
||||||
if (!libnet_r->in.binding) {
|
if (!libnet_r->in.binding) {
|
||||||
libnet_r->in.binding = talloc_asprintf(libnet_r, "ncacn_np:%s", lp_parm_string(NULL, "torture", "host"));
|
libnet_r->in.binding = talloc_asprintf(libnet_r, "ncacn_np:%s", lp_parm_string(global_loadparm, NULL, "torture", "host"));
|
||||||
}
|
}
|
||||||
libnet_r->in.level = LIBNET_JOINDOMAIN_SPECIFIED;
|
libnet_r->in.level = LIBNET_JOINDOMAIN_SPECIFIED;
|
||||||
libnet_r->in.netbios_name = machine_name;
|
libnet_r->in.netbios_name = machine_name;
|
||||||
|
@ -74,9 +74,9 @@ static NTSTATUS torture_smb2_write(struct smb2_tree *tree, struct smb2_handle ha
|
|||||||
DATA_BLOB data;
|
DATA_BLOB data;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (lp_parm_bool(NULL, "torture", "dangerous", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "dangerous", false)) {
|
||||||
data = data_blob_talloc(tree, NULL, 160000);
|
data = data_blob_talloc(tree, NULL, 160000);
|
||||||
} else if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
} else if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
data = data_blob_talloc(tree, NULL, UINT16_MAX);
|
data = data_blob_talloc(tree, NULL, UINT16_MAX);
|
||||||
} else {
|
} else {
|
||||||
data = data_blob_talloc(tree, NULL, 120000);
|
data = data_blob_talloc(tree, NULL, 120000);
|
||||||
|
@ -105,7 +105,7 @@ static BOOL torture_smb2_fileinfo(struct smb2_tree *tree)
|
|||||||
file_levels[i].dinfo.query_secdesc.in.secinfo_flags = 0x7;
|
file_levels[i].dinfo.query_secdesc.in.secinfo_flags = 0x7;
|
||||||
}
|
}
|
||||||
if (file_levels[i].level == RAW_FILEINFO_SMB2_ALL_EAS) {
|
if (file_levels[i].level == RAW_FILEINFO_SMB2_ALL_EAS) {
|
||||||
if (lp_parm_bool(NULL, "torture", "samba4", false)) {
|
if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
file_levels[i].finfo.all_eas.in.continue_flags =
|
file_levels[i].finfo.all_eas.in.continue_flags =
|
||||||
|
@ -305,8 +305,8 @@ void torture_smb2_all_info(struct smb2_tree *tree, struct smb2_handle handle)
|
|||||||
BOOL torture_smb2_connection(TALLOC_CTX *mem_ctx, struct smb2_tree **tree)
|
BOOL torture_smb2_connection(TALLOC_CTX *mem_ctx, struct smb2_tree **tree)
|
||||||
{
|
{
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
const char *host = lp_parm_string(NULL, "torture", "host");
|
const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
const char *share = lp_parm_string(NULL, "torture", "share");
|
const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
struct cli_credentials *credentials = cmdline_credentials;
|
struct cli_credentials *credentials = cmdline_credentials;
|
||||||
|
|
||||||
status = smb2_connect(mem_ctx, host, share, credentials, tree,
|
status = smb2_connect(mem_ctx, host, share, credentials, tree,
|
||||||
|
@ -633,7 +633,7 @@ int main(int argc,char *argv[])
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
lp_set_cmdline(global_loadparm, "torture:host", binding_struct->host);
|
lp_set_cmdline(global_loadparm, "torture:host", binding_struct->host);
|
||||||
if (lp_parm_string(NULL, "torture", "share") == NULL)
|
if (lp_parm_string(global_loadparm, NULL, "torture", "share") == NULL)
|
||||||
lp_set_cmdline(global_loadparm, "torture:share", "IPC$");
|
lp_set_cmdline(global_loadparm, "torture:share", "IPC$");
|
||||||
lp_set_cmdline(global_loadparm, "torture:binding", argv_new[1]);
|
lp_set_cmdline(global_loadparm, "torture:binding", argv_new[1]);
|
||||||
} else {
|
} else {
|
||||||
|
@ -363,25 +363,25 @@ BOOL torture_run_test(struct torture_context *context,
|
|||||||
int torture_setting_int(struct torture_context *test, const char *name,
|
int torture_setting_int(struct torture_context *test, const char *name,
|
||||||
int default_value)
|
int default_value)
|
||||||
{
|
{
|
||||||
return lp_parm_int(NULL, "torture", name, default_value);
|
return lp_parm_int(global_loadparm, NULL, "torture", name, default_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
double torture_setting_double(struct torture_context *test, const char *name,
|
double torture_setting_double(struct torture_context *test, const char *name,
|
||||||
double default_value)
|
double default_value)
|
||||||
{
|
{
|
||||||
return lp_parm_double(NULL, "torture", name, default_value);
|
return lp_parm_double(global_loadparm, NULL, "torture", name, default_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool torture_setting_bool(struct torture_context *test, const char *name,
|
bool torture_setting_bool(struct torture_context *test, const char *name,
|
||||||
bool default_value)
|
bool default_value)
|
||||||
{
|
{
|
||||||
return lp_parm_bool(NULL, "torture", name, default_value);
|
return lp_parm_bool(global_loadparm, NULL, "torture", name, default_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *torture_setting_string(struct torture_context *test, const char *name,
|
const char *torture_setting_string(struct torture_context *test, const char *name,
|
||||||
const char *default_value)
|
const char *default_value)
|
||||||
{
|
{
|
||||||
const char *ret = lp_parm_string(NULL, "torture", name);
|
const char *ret = lp_parm_string(global_loadparm, NULL, "torture", name);
|
||||||
|
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
return default_value;
|
return default_value;
|
||||||
|
@ -72,8 +72,8 @@ static struct smbcli_state *connect_to_server(void *mem_ctx,
|
|||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
struct smbcli_state *cli;
|
struct smbcli_state *cli;
|
||||||
|
|
||||||
const char *host = lp_parm_string(NULL, "torture", "host");
|
const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
|
||||||
const char *share = lp_parm_string(NULL, "torture", "share");
|
const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
|
||||||
|
|
||||||
status = smbcli_full_connection(mem_ctx, &cli,
|
status = smbcli_full_connection(mem_ctx, &cli,
|
||||||
host, share, NULL,
|
host, share, NULL,
|
||||||
|
@ -479,9 +479,9 @@ _PUBLIC_ bool torture_open_connection_share(TALLOC_CTX *mem_ctx,
|
|||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*c)->transport->options.use_oplocks = lp_parm_bool(NULL, "torture",
|
(*c)->transport->options.use_oplocks = lp_parm_bool(global_loadparm, NULL, "torture",
|
||||||
"use_oplocks", false);
|
"use_oplocks", false);
|
||||||
(*c)->transport->options.use_level2_oplocks = lp_parm_bool(NULL, "torture",
|
(*c)->transport->options.use_level2_oplocks = lp_parm_bool(global_loadparm, NULL, "torture",
|
||||||
"use_level2_oplocks", false);
|
"use_level2_oplocks", false);
|
||||||
|
|
||||||
return True;
|
return True;
|
||||||
@ -495,10 +495,10 @@ _PUBLIC_ bool torture_get_conn_index(int conn_index,
|
|||||||
int num_unc_names = 0;
|
int num_unc_names = 0;
|
||||||
const char *p;
|
const char *p;
|
||||||
|
|
||||||
(*host) = talloc_strdup(mem_ctx, lp_parm_string(NULL, "torture", "host"));
|
(*host) = talloc_strdup(mem_ctx, lp_parm_string(global_loadparm, NULL, "torture", "host"));
|
||||||
(*share) = talloc_strdup(mem_ctx, lp_parm_string(NULL, "torture", "share"));
|
(*share) = talloc_strdup(mem_ctx, lp_parm_string(global_loadparm, NULL, "torture", "share"));
|
||||||
|
|
||||||
p = lp_parm_string(NULL, "torture", "unclist");
|
p = lp_parm_string(global_loadparm, NULL, "torture", "unclist");
|
||||||
if (!p) {
|
if (!p) {
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
@ -734,7 +734,7 @@ static void http_setup_session(struct esp_state *esp)
|
|||||||
s->data = NULL;
|
s->data = NULL;
|
||||||
s->te = NULL;
|
s->te = NULL;
|
||||||
s->edata = edata;
|
s->edata = edata;
|
||||||
s->lifetime = lp_parm_int(NULL, "web", "sessiontimeout", 900);
|
s->lifetime = lp_parm_int(global_loadparm, NULL, "web", "sessiontimeout", 900);
|
||||||
DLIST_ADD(edata->sessions, s);
|
DLIST_ADD(edata->sessions, s);
|
||||||
talloc_set_destructor(s, session_destructor);
|
talloc_set_destructor(s, session_destructor);
|
||||||
if (!generated_key) {
|
if (!generated_key) {
|
||||||
|
@ -83,26 +83,26 @@ static NTSTATUS wreplsrv_open_winsdb(struct wreplsrv_service *service)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* the default renew interval is 6 days */
|
/* the default renew interval is 6 days */
|
||||||
service->config.renew_interval = lp_parm_int(NULL,"wreplsrv","renew_interval", 6*24*60*60);
|
service->config.renew_interval = lp_parm_int(global_loadparm, NULL,"wreplsrv","renew_interval", 6*24*60*60);
|
||||||
|
|
||||||
/* the default tombstone (extinction) interval is 6 days */
|
/* the default tombstone (extinction) interval is 6 days */
|
||||||
service->config.tombstone_interval= lp_parm_int(NULL,"wreplsrv","tombstone_interval", 6*24*60*60);
|
service->config.tombstone_interval= lp_parm_int(global_loadparm, NULL,"wreplsrv","tombstone_interval", 6*24*60*60);
|
||||||
|
|
||||||
/* the default tombstone (extinction) timeout is 1 day */
|
/* the default tombstone (extinction) timeout is 1 day */
|
||||||
service->config.tombstone_timeout = lp_parm_int(NULL,"wreplsrv","tombstone_timeout", 1*24*60*60);
|
service->config.tombstone_timeout = lp_parm_int(global_loadparm, NULL,"wreplsrv","tombstone_timeout", 1*24*60*60);
|
||||||
|
|
||||||
/* the default tombstone extra timeout is 3 days */
|
/* the default tombstone extra timeout is 3 days */
|
||||||
service->config.tombstone_extra_timeout = lp_parm_int(NULL,"wreplsrv","tombstone_extra_timeout", 3*24*60*60);
|
service->config.tombstone_extra_timeout = lp_parm_int(global_loadparm, NULL,"wreplsrv","tombstone_extra_timeout", 3*24*60*60);
|
||||||
|
|
||||||
/* the default verify interval is 24 days */
|
/* the default verify interval is 24 days */
|
||||||
service->config.verify_interval = lp_parm_int(NULL,"wreplsrv","verify_interval", 24*24*60*60);
|
service->config.verify_interval = lp_parm_int(global_loadparm, NULL,"wreplsrv","verify_interval", 24*24*60*60);
|
||||||
|
|
||||||
/* the default scavenging interval is 'renew_interval/2' */
|
/* the default scavenging interval is 'renew_interval/2' */
|
||||||
service->config.scavenging_interval=lp_parm_int(NULL,"wreplsrv","scavenging_interval",
|
service->config.scavenging_interval=lp_parm_int(global_loadparm, NULL,"wreplsrv","scavenging_interval",
|
||||||
service->config.renew_interval/2);
|
service->config.renew_interval/2);
|
||||||
|
|
||||||
/* the maximun interval to the next periodic processing event */
|
/* the maximun interval to the next periodic processing event */
|
||||||
service->config.periodic_interval = lp_parm_int(NULL,"wreplsrv","periodic_interval", 15);
|
service->config.periodic_interval = lp_parm_int(global_loadparm, NULL,"wreplsrv","periodic_interval", 15);
|
||||||
|
|
||||||
return NT_STATUS_OK;
|
return NT_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user