/* This file is part of the IPFire Firewall. * * This program is distributed under the terms of the GNU General Public * Licence. See the file COPYING for details. * */ #include #include #include "setuid.h" int main(int argc, char** argv) { // Become root if (!initsetuid()) exit(1); // Check if we have enough arguments if (argc < 2) { fprintf(stderr, "\nNot enough arguments.\n\n"); exit(1); } if (strcmp(argv[1], "start") == 0) { return run("/etc/rc.d/init.d/wireguard", argv + 1); } else if (strcmp(argv[1], "stop") == 0) { return run("/etc/rc.d/init.d/wireguard", argv + 1); } else if (strcmp(argv[1], "dump") == 0) { char* args[] = { "show", (argc > 2) ? argv[2] : "wg0", "dump", NULL, }; return run("/usr/bin/wg", args); } fprintf(stderr, "Invalid command\n"); exit(1); }