summaryrefslogtreecommitdiffstats
path: root/source3/utils/net_conf.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2013-09-22 10:00:55 +0200
committerMichael Adam <obnox@samba.org>2013-09-24 07:44:29 +0200
commit1d9f2815433f8fe0885f672fa8bc490638809c00 (patch)
tree2ee8e8d85867562a982010981927189661ee9214 /source3/utils/net_conf.c
parentd16c2aabd7c46f3d294e2401ad1ee4685486cd4b (diff)
downloadsamba-1d9f2815433f8fe0885f672fa8bc490638809c00.tar.gz
samba-1d9f2815433f8fe0885f672fa8bc490638809c00.tar.xz
samba-1d9f2815433f8fe0885f672fa8bc490638809c00.zip
s3:net conf: add the same parameter checks to "setparm" as in "net rpc conf".
In "net rpc conf" these checks are necessary, since the that command uses the plain rpc-registry interface at this moment, and so unfortunately it has to duplicate the checks from the smbconf library. Since "net conf" uses the registry, these checks are not necessary in this command. I add them nonetheless to make the output more similar to "net rpc conf". It is also a little more user friendy than just printing "INVALID_PARAMETER" as handed back from libsmbconf. Implement these checks by calling the new net_conf_param_valid() function. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/utils/net_conf.c')
-rw-r--r--source3/utils/net_conf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/utils/net_conf.c b/source3/utils/net_conf.c
index e43cd121644..e8481b4d5f9 100644
--- a/source3/utils/net_conf.c
+++ b/source3/utils/net_conf.c
@@ -30,6 +30,7 @@
#include "includes.h"
#include "system/filesys.h"
#include "utils/net.h"
+#include "utils/net_conf_util.h"
#include "lib/smbconf/smbconf.h"
#include "lib/smbconf/smbconf_init.h"
#include "lib/smbconf/smbconf_reg.h"
@@ -788,6 +789,10 @@ static int net_conf_setparm(struct net_context *c, struct smbconf_ctx *conf_ctx,
}
value_str = argv[2];
+ if (!net_conf_param_valid(service,param, value_str)) {
+ goto done;
+ }
+
err = smbconf_transaction_start(conf_ctx);
if (!SBC_ERROR_IS_OK(err)) {
d_printf(_("error starting transaction: %s\n"),