1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-11 16:58:40 +03:00

s3:net rpc conf: setparm: introduce variables service_name, param_name, valstr for clarity

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Michael Adam 2013-09-22 09:11:55 +02:00
parent 3e53097689
commit a00f97a392

View File

@ -1739,6 +1739,7 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
struct winreg_String key, keyclass;
enum winreg_CreateAction action = 0;
const char *service_name, *param_name, *valstr;
const char *canon_valname;
const char *canon_valstr;
@ -1770,7 +1771,11 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
goto error;
}
key.name = argv[0];
service_name = argv[0];
param_name = argv[1];
valstr = argv[2];
key.name = service_name;
keyclass.name = "";
status = dcerpc_winreg_CreateKey(b, frame, &key_hnd, key, keyclass,
@ -1779,13 +1784,13 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
if (!(NT_STATUS_IS_OK(status))) {
d_fprintf(stderr, _("ERROR: Could not create share key '%s'\n%s\n"),
argv[0], nt_errstr(status));
service_name, nt_errstr(status));
goto error;
}
if (!W_ERROR_IS_OK(werr)) {
d_fprintf(stderr, _("ERROR: Could not create share key '%s'\n%s\n"),
argv[0], win_errstr(werr));
service_name, win_errstr(werr));
goto error;
}
@ -1793,22 +1798,23 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
case REG_ACTION_NONE:
werr = WERR_CREATE_FAILED;
d_fprintf(stderr, _("ERROR: Could not create share key '%s'\n%s\n"),
argv[0], win_errstr(werr));
service_name, win_errstr(werr));
goto error;
case REG_CREATED_NEW_KEY:
DEBUG(5, ("net rpc conf setparm:"
"createkey created %s\n", argv[0]));
"createkey created %s\n", service_name));
break;
case REG_OPENED_EXISTING_KEY:
DEBUG(5, ("net rpc conf setparm:"
"createkey opened existing %s\n", argv[0]));
"createkey opened existing %s\n",
service_name));
/* delete posibly existing value */
status = rpc_conf_del_value(frame,
b,
&key_hnd,
argv[0],
argv[1],
service_name,
param_name,
&werr);
if (!(NT_STATUS_IS_OK(status))) {
@ -1826,28 +1832,31 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
* check if parameter is valid for writing
*/
if (!lp_parameter_is_valid(argv[1])) {
d_fprintf(stderr, "Invalid parameter '%s' given.\n", argv[1]);
if (!lp_parameter_is_valid(param_name)) {
d_fprintf(stderr, "Invalid parameter '%s' given.\n",
param_name);
werr = WERR_INVALID_PARAM;
goto error;
}
if (!smbconf_reg_parameter_is_valid(argv[1])) {
if (!smbconf_reg_parameter_is_valid(param_name)) {
d_fprintf(stderr, "Parameter '%s' not allowed in registry.\n",
argv[1]);
param_name);
werr = WERR_INVALID_PARAM;
goto error;
}
if (!strequal(argv[0], "global") && lp_parameter_is_global(argv[1])) {
if (!strequal(service_name, "global") &&
lp_parameter_is_global(param_name))
{
d_fprintf(stderr, "Global parameter '%s' not allowed in "
"service definition ('%s').\n", argv[1],
argv[0]);
"service definition ('%s').\n", param_name,
service_name);
werr = WERR_INVALID_PARAM;
goto error;
}
if (!lp_canonicalize_parameter_with_value(argv[1], argv[2],
if (!lp_canonicalize_parameter_with_value(param_name, valstr,
&canon_valname,
&canon_valstr))
{
@ -1856,26 +1865,26 @@ static NTSTATUS rpc_conf_setparm_internal(struct net_context *c,
* So the value must be invalid.
*/
d_fprintf(stderr, "invalid value '%s' given for "
"parameter '%s'\n", argv[1], argv[2]);
"parameter '%s'\n", param_name, valstr);
werr = WERR_INVALID_PARAM;
goto error;
}
/* set the parameter */
status = dcerpc_winreg_set_sz(frame, b, &share_hnd,
argv[1], argv[2], &werr);
param_name, valstr, &werr);
if (!(NT_STATUS_IS_OK(status))) {
d_fprintf(stderr, "ERROR: Could not set parameter '%s'"
" with value %s\n %s\n",
argv[1], argv[2], nt_errstr(status));
param_name, valstr, nt_errstr(status));
goto error;
}
if (!(W_ERROR_IS_OK(werr))) {
d_fprintf(stderr, "ERROR: Could not set parameter '%s'"
" with value %s\n %s\n",
argv[1], argv[2], win_errstr(werr));
param_name, valstr, win_errstr(werr));
goto error;
}