const char **auth_methods = NULL;
switch (lp_server_role(global_loadparm)) {
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;
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;
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;
}
return auth_context_create_methods(mem_ctx, auth_methods, ev, msg, auth_ctx);
struct auth_session_info **_session_info)
{
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);
}
_PUBLIC_ const char *gensec_get_target_hostname(struct gensec_security *gensec_security)
{
/* 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) {
return target_hostname;
}
*/
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));
return NT_STATUS_OK;
}
gensec_gssapi_state->gss_exchange_count = 0;
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_state = STAGE_GSS_NEG;
gensec_gssapi_state->input_chan_bindings = GSS_C_NO_CHANNEL_BINDINGS;
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;
}
- 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;
}
- 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;
}
- 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;
}
}
/* 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) {
DEBUG(1,("gensec_krb5_start: gsskrb5_set_dns_canonicalize failed\n"));
talloc_free(gensec_gssapi_state);
talloc_free(mem_ctx);
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",
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,
KRB5_AUTHDATA_WIN2K_PAC,
&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",
principal_string,
smb_get_krb5_error_message(context,
status = NT_STATUS_INVALID_PARAMETER;
switch (hi->proto) {
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);
}
break;
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);
}
break;
/* Set options in kerberos */
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;
}
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)
- && (lp_parm_bool(NULL, "ntlmssp_client", "allow_lm_key", false)
- || lp_parm_bool(NULL, "ntlmssp_client", "lm_key", false)));
+ && (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "allow_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);
NTLMSSP_NEGOTIATE_NTLM |
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;
}
- 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;
}
- 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;
}
- 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;
}
- 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;
}
- 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;
} else {
/* apparently we can't do ntlmv2 if we don't do ntlm2 */
gensec_ntlmssp_state->expected_state = NTLMSSP_NEGOTIATE;
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->nt_resp = 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;
}
- 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;
}
- 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;
}
- 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;
}
- 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;
}
TALLOC_CTX *mem_ctx, const char *dbname,
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;
struct tdb_wrap *w;
if (dir == NULL) {
struct cluster_state *state;
int ret;
- if (!lp_parm_bool(NULL, "ctdb", "enable", false)) {
+ if (!lp_parm_bool(global_loadparm, NULL, "ctdb", "enable", false)) {
return;
}
odb->ntvfs_ctx = ntvfs_ctx;
/* 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;
}
- periodic_startup_interval = lp_parm_int(NULL, "dreplsrv", "periodic_startup_interval", 15); /* in seconds */
- service->periodic.interval = lp_parm_int(NULL, "dreplsrv", "periodic_interval", 300); /* in seconds */
+ periodic_startup_interval = lp_parm_int(global_loadparm, NULL, "dreplsrv", "periodic_startup_interval", 15); /* 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);
if (!W_ERROR_IS_OK(status)) {
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:
*
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)) {
entry_ex->entry.flags.server = 0;
}
}
#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;
}
if (!from) {
}
/* 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;
}
*/
struct db_context *db_tmp_open(TALLOC_CTX *mem_ctx, const char *name, int tdb_flags)
{
- if (lp_parm_bool(NULL, "ctdb", "enable", false) &&
- lp_parm_bool(NULL, "ctdb", name, true)) {
+ if (lp_parm_bool(global_loadparm, NULL, "ctdb", "enable", false) &&
+ lp_parm_bool(global_loadparm, NULL, "ctdb", name, true)) {
return db_tmp_open_ctdb(mem_ctx, name, tdb_flags);
}
#if _SAMBA_BUILD_
if (name == NULL) {
- name = lp_parm_string(NULL, "event", "backend");
+ name = lp_parm_string(global_loadparm, NULL, "event", "backend");
}
#endif
if (name == NULL) {
}
}
- 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) {
target = TARGET_OPENLDAP;
if (!(flags & SOCKET_FLAG_BLOCK) &&
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;
}
req->received_wack = True;
/* although there can be a timeout in the packet, w2k3 screws it up,
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,
timeval_current_ofs(req->timeout, 0),
nbt_name_socket_timeout, req);
state->io_queries[i].in.broadcast = broadcast;
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->queries[i] = nbt_name_query_send(state->nbtsock, &state->io_queries[i]);
drsuapi->s = s;
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);
if (composite_nomem(binding_str, c)) return;
} else {
r2.out.error_string = NULL;
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.delta_fn = libnet_samdump_fn;
r2.in.fn_ctx = samdump_state;
static void nbtd_start_refresh_timer(struct nbtd_iface_name *iname)
{
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);
iname->name.scope = NULL;
}
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->wins_server = 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) {
owner = iface_n_ip(0);
if (!owner) {
static void nbtd_wins_start_refresh_timer(struct nbtd_iface_name *iname)
{
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);
if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) {
/* none of the WINS servers responded - try again
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,
iname,
timeval_current_ofs(wins_retry_time, 0),
talloc_free(h->ldb);
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;
}
h = talloc(mem_ctx, struct winsdb_handle);
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;
}
h->caller = caller;
- owner = lp_parm_string(NULL, "winsdb", "local_owner");
+ owner = lp_parm_string(global_loadparm, NULL, "winsdb", "local_owner");
if (!owner) {
owner = iface_n_ip(0);
}
ldb_qsort(addresses, num_addrs , sizeof(addresses[0]),
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) {
mask = "255.255.255.0";
}
* Value: 0 = deactivated, 1 = activated
*/
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;
name_1b = *name;
* Value: 0 = deactivated, 1 = activated
*/
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);
}
nbtsrv->winssrv->config.max_renew_interval = lp_max_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;
- 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->wins_db = winsdb_connect(nbtsrv->winssrv, WINSDB_HANDLE_CALLER_NBTD);
struct ntvfs_context *ntvfs_ctx)
{
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();
} else {
odb_tdb_init_ops();
odb->ntvfs_ctx = ntvfs_ctx;
/* 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;
}
}
/* 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);
if (ctx->prefix_cache == NULL) {
memset(ctx->prefix_cache, 0, sizeof(char *) * 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) {
ctx->mangle_prefix = DEFAULT_MANGLE_PREFIX;
}
{
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;
}
/* This is a helper function for parametrical options support. */
/* It returns a pointer to parametrical option value if it exists or NULL otherwise */
/* 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)
{
char *vfskey;
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);
strlower(vfskey);
if (service != NULL) {
/* Try to fetch the same option but from 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) {
if (strcmp(data->key, vfskey) == 0) {
free(vfskey);
/* Parametric option has following syntax: 'Type: option = value' */
/* 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 *value = lp_get_parametric(service, type, option);
+ const char *value = lp_get_parametric(lp_ctx, service, type, option);
if (value)
return lp_string(value);
/* Parametric option has following syntax: 'Type: option = value' */
/* 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 *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)
return str_list_make(talloc_autofree_context(), value,
/* Return parametric option from a given service. Type is a part of option before ':' */
/* 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 *value = lp_get_parametric(service, type, option);
+ const char *value = lp_get_parametric(lp_ctx, service, type, option);
if (value)
return lp_int(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)
{
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 (bval <= INT_MAX) {
/* Return parametric option from a given service. Type is a part of option before ':' */
/* 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 *value = lp_get_parametric(service, type, option);
+ const char *value = lp_get_parametric(lp_ctx, service, type, option);
if (value)
return lp_ulong(value);
}
-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 *value = lp_get_parametric(service, type, option);
+ const char *value = lp_get_parametric(lp_ctx, service, type, option);
if (value)
return lp_double(value);
/* Return parametric option from a given service. Type is a part of option before ':' */
/* 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 *value = lp_get_parametric(service, type, option);
+ const char *value = lp_get_parametric(lp_ctx, service, type, option);
if (value)
return lp_bool(value);
/***************************************************************************
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 *pszParmValue, int flags)
{
strlower(name);
if (service == NULL) {
- data = loadparm.Globals.param_opt;
+ data = lp_ctx->Globals.param_opt;
mem_ctx = talloc_autofree_context();
} else {
data = service->param_opt;
paramo->value = talloc_strdup(paramo, pszParmValue);
paramo->flags = flags;
if (service == NULL) {
- DLIST_ADD(loadparm.Globals.param_opt, paramo);
+ DLIST_ADD(lp_ctx->Globals.param_opt, paramo);
} else {
DLIST_ADD(service->param_opt, paramo);
}
if (parmnum < 0) {
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));
return true;
if (parmnum < 0) {
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));
return true;
if (parmnum < 0 && strchr(pszParmName, ':')) {
/* 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) {
*val = '\0';
val++;
- ret = lp_parm_string(s, parm, val);
+ ret = lp_parm_string(global_loadparm, s, parm, val);
if (!ret) {
ret = defval;
}
*val = '\0';
val++;
- ret = lp_parm_int(s, parm, val, defval);
+ ret = lp_parm_int(global_loadparm, s, parm, val, defval);
if (!ret) {
ret = defval;
}
*val = '\0';
val++;
- ret = lp_parm_bool(s, parm, val, defval);
+ ret = lp_parm_bool(global_loadparm, s, parm, val, defval);
talloc_free(parm);
return ret;
}
*val = '\0';
val++;
- ret = lp_parm_string_list(s, parm, val, ",;");
+ ret = lp_parm_string_list(global_loadparm, s, parm, val, ",;");
talloc_free(parm);
return ret;
}
{
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;
}
/* 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)
{
- 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! */
_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! */
_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! */
NTSTATUS status;
const struct ndr_interface_table *table;
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;
struct cli_credentials *credentials;
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);
if (!private) {
return NT_STATUS_INVALID_PARAMETER;
}
- user = lp_parm_string(NULL, "dcerpc_remote", "user");
- pass = lp_parm_string(NULL, "dcerpc_remote", "password");
- domain = lp_parm_string(NULL, "dceprc_remote", "domain");
+ user = lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "user");
+ pass = lp_parm_string(global_loadparm, NULL, "dcerpc_remote", "password");
+ domain = lp_parm_string(global_loadparm, NULL, "dceprc_remote", "domain");
table = ndr_table_by_uuid(&iface->syntax_id.uuid); /* FIXME: What about if_version ? */
if (!table) {
static NTSTATUS remote_op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
{
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) {
DEBUG(3,("remote_op_init_server: no interfaces configured\n"));
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
- value = lp_get_parametric(service, type, option);
+ value = lp_get_parametric(global_loadparm, service, type, option);
if (value == NULL) {
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
- value = lp_get_parametric(NULL, type, option);
+ value = lp_get_parametric(global_loadparm, NULL, type, option);
if (value == NULL) {
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
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++) {
struct ldb_ldif ldif;
fprintf(stdout, "#\n");
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++) {
struct ldb_ldif ldif;
fprintf(stdout, "#\n");
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));
NDR_PRINT_DEBUG(drsuapi_DsReplicaLinkedAttribute, &linked_attributes[i]);
dump_data(0,
s = talloc_zero(torture, struct test_become_dc_state);
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]) {
s->netbios_name = "smbtorturedc";
}
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);
return ret;
}
{
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");
cd = iconv_open("UTF-16LE", "UCS-4LE");
char **unc_list = NULL;
int num_unc_names;
const char *p;
- p = lp_parm_string(NULL, "torture", "unclist");
+ p = lp_parm_string(global_loadparm, NULL, "torture", "unclist");
if (p) {
char *h, *s;
unc_list = file_lines_load(p, &num_unc_names, NULL);
printf("waiting for completion\n");
while (*count != num_ops) {
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);
fflush(stdout);
}
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.called_name = lp_parm_string(NULL, "torture", "host");
- io2.in.service = lp_parm_string(NULL, "torture", "share");
+ io2.in.called_name = lp_parm_string(global_loadparm, NULL, "torture", "host");
+ io2.in.service = lp_parm_string(global_loadparm, NULL, "torture", "share");
io2.in.service_type = "A:";
io2.in.credentials = cmdline_credentials;
while (*count != torture_numops) {
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);
fflush(stdout);
}
printf("waiting for completion\n");
while (*count != num_ops) {
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);
fflush(stdout);
}
int *count = talloc_zero(mem_ctx, int);
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.called_name = lp_parm_string(NULL, "torture", "host");
- io1.in.service = lp_parm_string(NULL, "torture", "share");
+ io1.in.called_name = lp_parm_string(global_loadparm, NULL, "torture", "host");
+ io1.in.service = lp_parm_string(global_loadparm, NULL, "torture", "share");
io1.in.service_type = "A:";
io1.in.credentials = cmdline_credentials;
io1.in.workgroup = lp_workgroup(global_loadparm);
while (*count < torture_numops) {
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);
fflush(stdout);
}
return False;
}
- share = lp_parm_string(NULL, "torture", "share");
- host = lp_parm_string(NULL, "torture", "host");
+ share = lp_parm_string(global_loadparm, NULL, "torture", "share");
+ host = lp_parm_string(global_loadparm, NULL, "torture", "host");
printf("create a second tree context on the same session\n");
tree = smbcli_tree_init(cli->session, mem_ctx, False);
return False;
}
- share = lp_parm_string(NULL, "torture", "share");
- host = lp_parm_string(NULL, "torture", "host");
+ share = lp_parm_string(global_loadparm, NULL, "torture", "share");
+ host = lp_parm_string(global_loadparm, NULL, "torture", "host");
printf("create the first new sessions\n");
session1 = smbcli_session_init(cli->transport, mem_ctx, False);
return False;
}
- share = lp_parm_string(NULL, "torture", "share");
- host = lp_parm_string(NULL, "torture", "host");
+ share = lp_parm_string(global_loadparm, NULL, "torture", "share");
+ host = lp_parm_string(global_loadparm, NULL, "torture", "host");
printf("create a second tree context on the same session\n");
tree = smbcli_tree_init(cli->session, mem_ctx, False);
printf("TESTING SETFILEINFO MAX. EA_SET\n");
- maxeasize = lp_parm_int(NULL, "torture", "maxeasize", 65536);
- maxeanames = lp_parm_int(NULL, "torture", "maxeanames", 101);
- maxeastart = lp_parm_int(NULL, "torture", "maxeastart", 1);
- maxeadebug = lp_parm_int(NULL, "torture", "maxeadebug", 0);
+ maxeasize = lp_parm_int(global_loadparm, NULL, "torture", "maxeasize", 65536);
+ maxeanames = lp_parm_int(global_loadparm, NULL, "torture", "maxeanames", 101);
+ maxeastart = lp_parm_int(global_loadparm, NULL, "torture", "maxeastart", 1);
+ maxeadebug = lp_parm_int(global_loadparm, NULL, "torture", "maxeadebug", 0);
/* Do some sanity check on possibly passed parms */
if (maxeasize <= 0) {
session->vuid = setup.out.vuid;
printf("create new tree context\n");
- share = lp_parm_string(NULL, "torture", "share");
- host = lp_parm_string(NULL, "torture", "host");
+ share = lp_parm_string(global_loadparm, NULL, "torture", "share");
+ host = lp_parm_string(global_loadparm, NULL, "torture", "host");
tree = smbcli_tree_init(session, tctx, False);
tcon.generic.level = RAW_TCON_TCONX;
tcon.tconx.in.flags = 0;
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);
md.t2mkdir.in.eas[2].value = data_blob_talloc(mem_ctx, "xx1", 3);
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)) {
d_printf("EAS not supported -- not treating as fatal\n");
}
NOTIFY_ACTION_MODIFIED,
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 "
"everywhere\n");
}
io.openx.in.file_attrs = FILE_ATTRIBUTE_SYSTEM;
status = smb_raw_open(cli->tree, mem_ctx, &io);
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,
attrib & ~(FILE_ATTRIBUTE_NONINDEXED|
FILE_ATTRIBUTE_SPARSE));
status = smb_raw_open(cli->tree, mem_ctx, &io);
if ((io.t2open.in.num_eas != 0)
&& 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 "
"in Samba3 test\n", __location__);
io.t2open.in.num_eas = 0;
struct smbcli_state **clients;
struct smbcli_request **requests;
union smb_open *ios;
- const char *host = lp_parm_string(NULL, "torture", "host");
- const char *share = lp_parm_string(NULL, "torture", "share");
+ const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
+ const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
int i, num_files = 3;
struct event_context *ev;
int num_ok = 0;
uint8_t *val;
int count, loops;
- fn = lp_parm_string(NULL, "torture", "filename");
+ fn = lp_parm_string(global_loadparm, NULL, "torture", "filename");
if (fn == NULL) {
DEBUG(0,("You must specify the filename using --option=torture:filename=...\n"));
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) {
DEBUG(0,("You must specify num_locks using --option=torture:num_locks=...\n"));
return false;
}
- do_reads = lp_parm_bool(NULL, "torture", "read", false);
- do_writes = lp_parm_bool(NULL, "torture", "write", false);
- lock_timeout = lp_parm_int(NULL, "torture", "lock_timeout", 100000);
+ do_reads = lp_parm_bool(global_loadparm, NULL, "torture", "read", false);
+ do_writes = lp_parm_bool(global_loadparm, NULL, "torture", "write", false);
+ lock_timeout = lp_parm_int(global_loadparm, NULL, "torture", "lock_timeout", 100000);
if (!torture_open_connection(&cli, 0)) {
DEBUG(0,("Could not open connection\n"));
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(io.readx.out.remaining, 0xFFFF);
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");
CHECK_VALUE(io.readx.out.nread, 80000);
} else {
io.readx.in.maxcnt = 0x10000;
status = smb_raw_read(cli->tree, &io);
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");
CHECK_VALUE(io.readx.out.nread, 0x10000);
} else {
io.readx.in.maxcnt = 0x10001;
status = smb_raw_read(cli->tree, &io);
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");
CHECK_VALUE(io.readx.out.nread, 0x10001);
} else {
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
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
* wildcard unlink correct. Trying gentest showed that this is
io.unlink.in.pattern = BASEDIR "\\t*";
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
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);
}
else {
io.unlink.in.pattern = BASEDIR "\\*.dat";
io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
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);
}
else {
io.unlink.in.pattern = BASEDIR "\\*.tx?";
io.unlink.in.attrib = 0;
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);
}
else {
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.
{
struct timeval tv = timeval_current();
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;
printf("Running for %d seconds\n", timelimit);
talloc_free(tmp_ctx);
count++;
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",
count / timeval_elapsed(&tv));
}
if (!mem_ctx) {
return False;
}
- iface_name = lp_parm_string(NULL, "countcalls", "interface");
+ iface_name = lp_parm_string(global_loadparm, NULL, "countcalls", "interface");
if (iface_name != NULL) {
iface = ndr_table_by_name(iface_name);
if (!iface) {
}
};
- 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");
return True;
}
}
};
- 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");
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");
return True;
}
}
};
- 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");
return True;
}
}
};
- 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");
return True;
}
r.in.req.req5.highwatermark.highest_usn = 0;
r.in.req.req5.uptodateness_vector = NULL;
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.max_object_count = 0;
r.in.req.req8.highwatermark.highest_usn = 0;
r.in.req.req8.uptodateness_vector = NULL;
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;
}
- 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_SYNC_ON_STARTUP
.comment = "display name for Microsoft Support Account",
.status = DRSUAPI_DS_NAME_STATUS_OK,
.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,
struct DsSyncTest *ctx;
struct drsuapi_DsBindInfo28 *our_bind_info28;
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);
if (!ctx) return NULL;
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_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->site_guid = GUID_zero();
static uint32_t object_id;
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;
}
- 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) {
const char *dn;
ZERO_STRUCT(null_guid);
ZERO_STRUCT(null_sid);
- partition = lp_parm_string(NULL, "dssync", "partition");
+ partition = lp_parm_string(global_loadparm, NULL, "dssync", "partition");
if (partition == NULL) {
partition = 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;
nthash = cli_credentials_get_nt_hash(ctx->new_dc.credentials, ctx);
if (nthash) {
r.in.req.req5.highwatermark.highest_usn = highest_usn;
r.in.req.req5.uptodateness_vector = NULL;
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;
}
- 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_SYNC_ON_STARTUP
r.in.req.req8.highwatermark.highest_usn = highest_usn;
r.in.req.req8.uptodateness_vector = NULL;
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;
}
- 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_SYNC_ON_STARTUP
r.in.bind_handle = &ctx->new_dc.drsuapi.bind_handle;
r.in.level = 1;
- r.in.req.req1.unknown1 = lp_parm_int(NULL, "dssync", "nt4-1", 3);
- r.in.req.req1.unknown2 = lp_parm_int(NULL, "dssync", "nt4-2", 0x00004000);
+ r.in.req.req1.unknown1 = lp_parm_int(global_loadparm, NULL, "dssync", "nt4-1", 3);
+ r.in.req.req1.unknown2 = lp_parm_int(global_loadparm, NULL, "dssync", "nt4-2", 0x00004000);
while (1) {
r.in.req.req1.length = cookie.length;
NTSTATUS status;
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");
return True;
}
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");
return True;
}
NTSTATUS status;
int i;
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");
return True;
}
BOOL ret = True;
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");
return True;
}
}
break;
default:
- if (lp_parm_bool(NULL, "torture", "samba4", false)) {
+ if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
/* Other levels not implemented yet */
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
printf("QueryInfoPolicy failed - %s\n", nt_errstr(status));
}
break;
default:
- if (lp_parm_bool(NULL, "torture", "samba4", false)) {
+ if (lp_parm_bool(global_loadparm, NULL, "torture", "samba4", false)) {
/* Other levels not implemented yet */
if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
printf("QueryInfoPolicy2 failed - %s\n", nt_errstr(status));
struct cli_credentials *wks_creds;
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);
if (!NT_STATUS_IS_OK(status)) {
d_printf("smbcli_full_connection failed: %s\n",
NTSTATUS status;
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");
return True;
}
struct lsa_String string;
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");
return True;
}
s.in.sec_info = 7;
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");
return True;
}
TEST_USERINFO_INT(21, logon_hours.bits[3], 21, logon_hours.bits[3], 4,
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");
return ret;
}
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");
return ret;
}
#define ASYNC_COUNT 100
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");
return True;
}
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");
} else {
/* this one is quite strange. I am using random inputs in the
ret &= test_QueryDisplayInfo3(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");
} else {
ret &= test_GetDisplayEnumerationIndex(p, mem_ctx, &domain_handle);
{
struct test_join *join_ctx;
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_pipe *p = NULL;
struct dcerpc_pipe *p_netlogon = NULL;
int policy_min_pw_len = 0;
struct test_join *join;
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);
if (join == NULL) {
tj->libnet_r = libnet_r;
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) {
- 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.netbios_name = machine_name;
DATA_BLOB data;
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);
- } 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);
} else {
data = data_blob_talloc(tree, NULL, 120000);
file_levels[i].dinfo.query_secdesc.in.secinfo_flags = 0x7;
}
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;
}
file_levels[i].finfo.all_eas.in.continue_flags =
BOOL torture_smb2_connection(TALLOC_CTX *mem_ctx, struct smb2_tree **tree)
{
NTSTATUS status;
- const char *host = lp_parm_string(NULL, "torture", "host");
- const char *share = lp_parm_string(NULL, "torture", "share");
+ const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
+ const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
struct cli_credentials *credentials = cmdline_credentials;
status = smb2_connect(mem_ctx, host, share, credentials, tree,
return false;
}
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:binding", argv_new[1]);
} else {
int torture_setting_int(struct torture_context *test, const char *name,
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 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 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 *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)
return default_value;
NTSTATUS status;
struct smbcli_state *cli;
- const char *host = lp_parm_string(NULL, "torture", "host");
- const char *share = lp_parm_string(NULL, "torture", "share");
+ const char *host = lp_parm_string(global_loadparm, NULL, "torture", "host");
+ const char *share = lp_parm_string(global_loadparm, NULL, "torture", "share");
status = smbcli_full_connection(mem_ctx, &cli,
host, share, NULL,
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);
- (*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);
return True;
int num_unc_names = 0;
const char *p;
- (*host) = talloc_strdup(mem_ctx, lp_parm_string(NULL, "torture", "host"));
- (*share) = talloc_strdup(mem_ctx, lp_parm_string(NULL, "torture", "share"));
+ (*host) = talloc_strdup(mem_ctx, lp_parm_string(global_loadparm, NULL, "torture", "host"));
+ (*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) {
return True;
}
s->data = NULL;
s->te = NULL;
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);
talloc_set_destructor(s, session_destructor);
if (!generated_key) {
}
/* 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 */
- 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 */
- 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 */
- 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 */
- 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' */
- 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);
/* 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;
}