]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/misc-progs/smartctrl.c
IDS: Rename sourcefire VRT rulesets to Talos VRT rulesets
[ipfire-2.x.git] / src / misc-progs / smartctrl.c
index b5a4427850da5e65ed1868c110c9dfa311a082a8..c6451acba3a031baaa1f2ce2856a668395a88a92 100644 (file)
 #include <fcntl.h>
 #include "setuid.h"
 
-#define BUFFER_SIZE 1024
-
-char command[BUFFER_SIZE]; 
-
 int main(int argc, char *argv[]) {
-
-       if (!(initsetuid()))
+        if (!(initsetuid()))
                exit(1);
 
        if (argc < 2) {
                fprintf(stderr, "\nNo argument given.\n\nsmartctrl <device>\n\n");
                exit(1);
        }
-       sprintf(command, "smartctl -iHA /dev/%s", argv[1]);
+
+       char command[STRING_SIZE];
+       snprintf(command, STRING_SIZE, "/var/run/hddshutdown-%s", argv[1]);
+
+        FILE *fp = fopen(command, "r");
+       if (fp != NULL) {
+               fclose(fp);
+
+               printf("\nDisk %s is in Standby. Do nothing because we won't wakeup\n",argv[1]);
+               exit(1);
+       }
+
+       snprintf(command, STRING_SIZE, "smartctl -iHA /dev/%s", argv[1]);
        safe_system(command);
 
-       return 0;
+        return 0;
 }