]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
unix socket: add 'uptime' command
authorEric Leblond <eric@regit.org>
Fri, 30 Nov 2012 17:43:51 +0000 (18:43 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 26 Feb 2013 11:32:47 +0000 (12:32 +0100)
This command displays the nuber of second since the start of
Suricata.

src/unix-manager.c

index d086f9b56ead85c7743bf3d9f4787a111a9033d3..4a0c8392a279f84403b8eaf491845242a8127713 100644 (file)
@@ -599,6 +599,18 @@ TmEcode UnixManagerVersionCommand(json_t *cmd,
     SCReturnInt(TM_ECODE_OK);
 }
 
+TmEcode UnixManagerUptimeCommand(json_t *cmd,
+                                   json_t *server_msg, void *data)
+{
+    SCEnter();
+    int uptime;
+    UnixCommand *ucmd = (UnixCommand *)data;
+
+    uptime = time(NULL) - ucmd->start_timestamp;
+    json_object_set_new(server_msg, "message", json_integer(uptime));
+    SCReturnInt(TM_ECODE_OK);
+}
+
 TmEcode UnixManagerListCommand(json_t *cmd,
                                json_t *answer, void *data)
 {
@@ -788,6 +800,7 @@ void *UnixManagerThread(void *td)
     UnixManagerRegisterCommand("shutdown", UnixManagerShutdownCommand, NULL, 0);
     UnixManagerRegisterCommand("command-list", UnixManagerListCommand, &command, 0);
     UnixManagerRegisterCommand("version", UnixManagerVersionCommand, &command, 0);
+    UnixManagerRegisterCommand("uptime", UnixManagerUptimeCommand, &command, 0);
 #if 0
     UnixManagerRegisterCommand("reload-rules", UnixManagerReloadRules, NULL, 0);
 #endif