cmdmsg["command"] = cmd
cmdmsg["arguments"] = {}
cmdmsg["arguments"]["iface"] = iface
+ elif "conf-get" in command:
+ try:
+ [cmd, variable] = command.split(' ', 1)
+ except:
+ print "Error: unable to split command '%s'" % (command)
+ continue
+ if cmd != "conf-get":
+ print "Error: invalid command '%s'" % (command)
+ continue
+ else:
+ cmdmsg["command"] = cmd
+ cmdmsg["arguments"] = {}
+ cmdmsg["arguments"]["variable"] = variable
+
else:
cmdmsg["command"] = command
socket.send(json.dumps(cmdmsg))
SCReturnInt(TM_ECODE_OK);
}
+TmEcode UnixManagerConfGetCommand(json_t *cmd,
+ json_t *server_msg, void *data)
+{
+ SCEnter();
+
+ char *confval = NULL;
+ char *variable = NULL;
+
+ json_t *jarg = json_object_get(cmd, "variable");
+ if(!json_is_string(jarg)) {
+ SCLogInfo("error: variable is not a string");
+ json_object_set_new(server_msg, "message", json_string("variable is not a string"));
+ SCReturnInt(TM_ECODE_FAILED);
+ }
+
+ variable = (char *)json_string_value(jarg);
+ if (ConfGet(variable, &confval) != 1) {
+ json_object_set_new(server_msg, "message", json_string("Unable to get value"));
+ SCReturnInt(TM_ECODE_FAILED);
+ }
+
+ if (confval) {
+ json_object_set_new(server_msg, "message", json_string(confval));
+ SCReturnInt(TM_ECODE_OK);
+ }
+
+ json_object_set_new(server_msg, "message", json_string("No string value"));
+ SCReturnInt(TM_ECODE_FAILED);
+}
+
TmEcode UnixManagerListCommand(json_t *cmd,
json_t *answer, void *data)
{
UnixManagerRegisterCommand("uptime", UnixManagerUptimeCommand, &command, 0);
UnixManagerRegisterCommand("running-mode", UnixManagerRunningModeCommand, &command, 0);
UnixManagerRegisterCommand("capture-mode", UnixManagerCaptureModeCommand, &command, 0);
+ UnixManagerRegisterCommand("conf-get", UnixManagerConfGetCommand, &command, UNIX_CMD_TAKE_ARGS);
#if 0
UnixManagerRegisterCommand("reload-rules", UnixManagerReloadRules, NULL, 0);
#endif