s3:net conf: add the same parameter checks to "setparm" as in "net rpc conf".
authorMichael Adam <obnox@samba.org>
Sun, 22 Sep 2013 08:00:55 +0000 (10:00 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 24 Sep 2013 05:44:29 +0000 (07:44 +0200)
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>
source3/utils/net_conf.c

index e43cd1216446024c6827779e3290a2d40f5d0a0b..e8481b4d5f975e8332c0b6cd366a4d2eb6c0bbd8 100644 (file)
@@ -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"),