From: Michael Tremer Date: Thu, 6 Nov 2025 16:46:52 +0000 (+0000) Subject: misc-progs: Add lldpdctrl X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66a4be0ef3a2467f052adcdc90590a07ee441ee9;p=ipfire-2.x.git misc-progs: Add lldpdctrl Signed-off-by: Michael Tremer --- diff --git a/config/rootfiles/common/misc-progs b/config/rootfiles/common/misc-progs index b92a1e32a..2c846878a 100644 --- a/config/rootfiles/common/misc-progs +++ b/config/rootfiles/common/misc-progs @@ -13,6 +13,7 @@ usr/local/bin/getipstat #usr/local/bin/iowrap usr/local/bin/ipfirereboot usr/local/bin/ipsecctrl +usr/local/bin/lldpdctrl usr/local/bin/logwatch #usr/local/bin/mpfirectrl usr/local/bin/openvpnctrl diff --git a/src/misc-progs/Makefile b/src/misc-progs/Makefile index 9d380c158..4c994638a 100644 --- a/src/misc-progs/Makefile +++ b/src/misc-progs/Makefile @@ -32,7 +32,7 @@ SUID_PROGS = squidctrl sshctrl ipfirereboot \ smartctrl clamavctrl addonctrl pakfire wlanapctrl \ setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes \ getconntracktable wirelessclient torctrl ddnsctrl unboundctrl \ - captivectrl wireguardctrl + captivectrl wireguardctrl lldpdctrl OBJS = $(patsubst %,%.o,$(PROGS) $(SUID_PROGS)) diff --git a/src/misc-progs/lldpdctrl.c b/src/misc-progs/lldpdctrl.c new file mode 100644 index 000000000..8ae0d9d97 --- /dev/null +++ b/src/misc-progs/lldpdctrl.c @@ -0,0 +1,35 @@ +/* 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/lldpd", argv + 1); + + else if (strcmp(argv[1], "stop") == 0) + return run("/etc/rc.d/init.d/lldpd", argv + 1); + + else if (strcmp(argv[1], "restart") == 0) + return run("/etc/rc.d/init.d/lldpd", argv + 1); + + fprintf(stderr, "Invalid command\n"); + exit(1); +}