arpon: deleted unmaintained port
This commit is contained in:
parent
d6418a3ccd
commit
e7dfa0c99a
@ -1,16 +0,0 @@
|
||||
drwxr-xr-x root/root etc/
|
||||
drwxr-xr-x root/root etc/rc.d/
|
||||
-rwxr-xr-x root/root etc/rc.d/arpon
|
||||
drwxr-xr-x root/root usr/
|
||||
drwxr-xr-x root/root usr/etc/
|
||||
-rw-r--r-- root/root usr/etc/arpon.conf
|
||||
drwxr-xr-x root/root usr/log/
|
||||
-rw-r----- root/root usr/log/arpon.log (EMPTY)
|
||||
drwxr-xr-x root/root usr/run/
|
||||
-rw-r--r-- root/root usr/run/arpon.pid (EMPTY)
|
||||
drwxr-xr-x root/root usr/sbin/
|
||||
-rwxr-xr-x root/root usr/sbin/arpon
|
||||
drwxr-xr-x root/root usr/share/
|
||||
drwxr-xr-x root/root usr/share/man/
|
||||
drwxr-xr-x root/root usr/share/man/man8/
|
||||
-r--r--r-- root/root usr/share/man/man8/arpon.8.gz
|
@ -1,8 +0,0 @@
|
||||
untrusted comment: verify with /etc/ports/contrib.pub
|
||||
RWSagIOpLGJF36KW7qj3OzL/b4DrntVaI0217SO9CP196LTLMGuL9ErMFVWn7s+j3Li+HUNi+wW8UykCkqSycYCKYf9bxsVt8Qw=
|
||||
SHA256 (Pkgfile) = 7c2010ecb58bf6e49d14c05399ee593d692c93e2ecdef9acd8b398dce88831bc
|
||||
SHA256 (.footprint) = 8025ac39d61d0f228f05023a9c995fde0a026ba3943a69af1c517e8ea46747dd
|
||||
SHA256 (ArpON-3.0-ng.tar.gz) = ea55d1641b4573b19103ca596368e418aecd2a1409adbdce3a9f76dc8ebad590
|
||||
SHA256 (arpon) = 295d1363e52e0c0f4799651a0da2e60d6da0178b5eac8276fb256fc47feae2c6
|
||||
SHA256 (arpon-gcc7.patch) = 1106207e420aa9fff9db9e2c43d767de361b2845e053c00acab5f4edf1e8ddbf
|
||||
SHA256 (arpon-syslog.patch) = 151c2e4f51a8b2e34739c57dbf2d76a2bf86e30d22e0294dd5bc1910451251c1
|
@ -1,29 +0,0 @@
|
||||
# Description: daemon and tools to handle all ARP aspects
|
||||
# URL: http://arpon.sf.net
|
||||
# Maintainer: Thomas Penteker, tek at serverop dot de
|
||||
# Depends on: cmake libdnet
|
||||
|
||||
name=arpon
|
||||
version=3.0-ng
|
||||
release=1
|
||||
source=(http://download.sourceforge.net/$name/ArpON-$version.tar.gz
|
||||
arpon
|
||||
# https://aur.archlinux.org/cgit/aur.git/tree/?h=arpon-ng
|
||||
arpon-gcc7.patch arpon-syslog.patch)
|
||||
|
||||
build() {
|
||||
install arpon -D $PKG/etc/rc.d/arpon
|
||||
patch -Np2 -d ArpON-$version -i $SRC/arpon-gcc7.patch
|
||||
patch -Np2 -d ArpON-$version -i $SRC/arpon-syslog.patch
|
||||
|
||||
[[ -e /usr/bin/ninja ]] && PKGMK_ARPON+=' -G Ninja'
|
||||
cmake -S ArpON-$version -B build $PKGMK_ARPON \
|
||||
-D CMAKE_INSTALL_PREFIX=/usr \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
||||
-D CMAKE_C_FLAGS_RELEASE="$CFLAGS -Wno-error=stringop-truncation" \
|
||||
-Wno-dev
|
||||
cmake --build build
|
||||
DESTDIR=$PKG cmake --install build
|
||||
rm -r $PKG/usr/share/doc
|
||||
}
|
38
arpon/arpon
38
arpon/arpon
@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# /etc/rc.d/arpon: start/stop arpon daemon
|
||||
#
|
||||
SSD=/sbin/start-stop-daemon
|
||||
PROG=/usr/sbin/arpon
|
||||
PID=/var/run/arpon.pid
|
||||
OPTS="-gqD 1>>/var/log/arpon.log"
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
$SSD --start --pidfile $PID --exec $PROG -- $OPTS
|
||||
;;
|
||||
stop)
|
||||
$SSD --stop --remove-pidfile --retry 10 --pidfile $PID
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
reload)
|
||||
$SSD --stop --signal HUP --pidfile $PID
|
||||
;;
|
||||
status)
|
||||
$SSD --status --pidfile $PID
|
||||
case $? in
|
||||
0) echo "$PROG is running" ;;
|
||||
1) echo "$PROG is not running but the pid file $PID exists" ;;
|
||||
3) echo "$PROG is not running" ;;
|
||||
4) echo "Unable to determine the program status" ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 [start|stop|restart|reload|status]"
|
||||
;;
|
||||
esac
|
||||
|
||||
# End of file
|
@ -1,41 +0,0 @@
|
||||
diff --unified -r src/ArpON-3.0-ng/src/opt.c src-gcc7fix/ArpON-3.0-ng/src/opt.c
|
||||
--- src/ArpON-3.0-ng/src/opt.c 2016-01-28 20:56:19.000000000 -0500
|
||||
+++ src-gcc7fix/ArpON-3.0-ng/src/opt.c 2017-05-31 02:22:54.053601192 -0400
|
||||
@@ -222,6 +222,8 @@
|
||||
/* Print the version command option, cleanup and exit. */
|
||||
std_version();
|
||||
exit_cleanup(true);
|
||||
+ /* Explicit break because exit_cleanup conditionally exits (noreturn unsuitable). */
|
||||
+ break;
|
||||
|
||||
case 'h':
|
||||
MSG_DEBUG("-h or --help command option");
|
||||
@@ -229,6 +231,8 @@
|
||||
/* Print the help screen command option, cleanup and exit. */
|
||||
std_help();
|
||||
exit_cleanup(true);
|
||||
+ /* Explicit break because exit_cleanup conditionally exits (noreturn unsuitable). */
|
||||
+ break;
|
||||
|
||||
case '?':
|
||||
case ':':
|
||||
@@ -285,7 +289,7 @@
|
||||
}
|
||||
|
||||
/* Re-initialize the interface name command option to no interface? */
|
||||
- if (opt->interface != '\0')
|
||||
+ if (opt->interface[0] != '\0')
|
||||
memset(opt->interface, '\0', (size_t)IF_NAMESIZE);
|
||||
|
||||
/* Set the value of the interface name command option. */
|
||||
diff --unified -r src/ArpON-3.0-ng/src/sig.c src-gcc7fix/ArpON-3.0-ng/src/sig.c
|
||||
--- src/ArpON-3.0-ng/src/sig.c 2016-01-28 21:06:37.000000000 -0500
|
||||
+++ src-gcc7fix/ArpON-3.0-ng/src/sig.c 2017-05-31 02:17:58.216940834 -0400
|
||||
@@ -204,6 +204,7 @@
|
||||
case SIGINT:
|
||||
/* Remove ^C symbol from the output terminal. */
|
||||
printf("\r");
|
||||
+ __attribute__ ((fallthrough));
|
||||
|
||||
case SIGTERM:
|
||||
MSG_DEBUG("Caught %s (%d)..", SIG_ITOA(sig), sig);
|
@ -1,334 +0,0 @@
|
||||
diff --git a/ArpON-3.0-ng/src/main.c b/ArpON-3.0-ng/src/main.c
|
||||
index 7045a13..23d9f0d 100644
|
||||
--- a/ArpON-3.0-ng/src/main.c
|
||||
+++ b/ArpON-3.0-ng/src/main.c
|
||||
@@ -33,6 +33,9 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <syslog.h>
|
||||
|
||||
#include "dmn.h"
|
||||
#include "env.h"
|
||||
@@ -43,12 +46,33 @@
|
||||
#include "sig.h"
|
||||
#include "thd.h"
|
||||
|
||||
+int syslog_verbosity;
|
||||
+
|
||||
/*
|
||||
* ArpON Main.
|
||||
*/
|
||||
int
|
||||
main(int argc, char **argv, char **envp)
|
||||
{
|
||||
+ char* verbosity = getenv("ARPON_SYSLOG_VERBOSITY");
|
||||
+
|
||||
+ if (verbosity == NULL)
|
||||
+ syslog_verbosity = LOG_INFO;
|
||||
+ else if (strcmp(verbosity, "CRIT") == 0)
|
||||
+ syslog_verbosity = LOG_CRIT;
|
||||
+ else if (strcmp(verbosity, "ERR") == 0)
|
||||
+ syslog_verbosity = LOG_ERR;
|
||||
+ else if (strcmp(verbosity, "WARNING") == 0)
|
||||
+ syslog_verbosity = LOG_WARNING;
|
||||
+ else if (strcmp(verbosity, "INFO") == 0)
|
||||
+ syslog_verbosity = LOG_INFO;
|
||||
+ else if (strcmp(verbosity, "DEBUG") == 0)
|
||||
+ syslog_verbosity = LOG_DEBUG;
|
||||
+ else
|
||||
+ syslog_verbosity = LOG_INFO;
|
||||
+
|
||||
+ /* Initialize syslog. */
|
||||
+ openlog("arpon", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_DAEMON);
|
||||
|
||||
/* Audit the environment. */
|
||||
env_audit(argv, envp);
|
||||
diff --git a/ArpON-3.0-ng/src/msg.c b/ArpON-3.0-ng/src/msg.c
|
||||
index 77ee70d..174c6e2 100644
|
||||
--- a/ArpON-3.0-ng/src/msg.c
|
||||
+++ b/ArpON-3.0-ng/src/msg.c
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <errno.h>
|
||||
#include <assert.h>
|
||||
#include <pthread.h>
|
||||
+#include <syslog.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "exit.h"
|
||||
@@ -58,23 +59,12 @@
|
||||
*/
|
||||
#define MSG_MESSAGESIZE 512 /* 512 bytes. */
|
||||
|
||||
-/*
|
||||
- * Log file permissions to 640.
|
||||
- */
|
||||
-#define MSG_LOGPERMS S_IRUSR | S_IWUSR | S_IRGRP
|
||||
+extern int syslog_verbosity;
|
||||
|
||||
/*
|
||||
* Function prototypes not exported.
|
||||
*/
|
||||
-static void msg_init(void);
|
||||
-static void msg_destroy(void);
|
||||
static void msg_gettimestamp(char *ts);
|
||||
-static void msg_putmessage(FILE *stream, const char *msg);
|
||||
-
|
||||
-/*
|
||||
- * Initialize the log file stream.
|
||||
- */
|
||||
-static FILE *log = NULL;
|
||||
|
||||
/*
|
||||
* Initialize the message mutex.
|
||||
@@ -82,7 +72,7 @@ static FILE *log = NULL;
|
||||
static pthread_mutex_t msg_mtx = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
/*
|
||||
- * Initialize the log file stream and print the message with logging.
|
||||
+ * Print the message.
|
||||
* The syntax of each message is:
|
||||
*
|
||||
* timestamp1 [log level] message1
|
||||
@@ -93,21 +83,38 @@ static pthread_mutex_t msg_mtx = PTHREAD_MUTEX_INITIALIZER;
|
||||
void
|
||||
msg(FILE *stream, const char *level, const char *fmt, ...)
|
||||
{
|
||||
-
|
||||
do {
|
||||
char ts[MSG_TIMESTAMPSIZE], msg[MSG_MESSAGESIZE];
|
||||
va_list ap;
|
||||
int len1, len2, tot_len = MSG_MESSAGESIZE;
|
||||
+ int syslog_lvl;
|
||||
|
||||
/* Lock the mutex of the message. */
|
||||
if (pthread_mutex_lock(&msg_mtx) != 0)
|
||||
break;
|
||||
|
||||
- /* Log file stream of the messages already initialized and open? */
|
||||
- if (log == NULL) {
|
||||
- /* Initialize the log file stream of the messages. */
|
||||
- msg_init();
|
||||
- }
|
||||
+ if (strcmp(level, "BUG") == 0)
|
||||
+ syslog_lvl = LOG_CRIT;
|
||||
+ else if (strcmp(level, "ERROR") == 0)
|
||||
+ syslog_lvl = LOG_ERR;
|
||||
+ else if (strcmp(level, "WARN") == 0)
|
||||
+ syslog_lvl = LOG_WARNING;
|
||||
+ else if (strcmp(level, "INFO") == 0)
|
||||
+ syslog_lvl = LOG_INFO;
|
||||
+ else if (strcmp(level, "DEBUG") == 0)
|
||||
+ syslog_lvl = LOG_DEBUG;
|
||||
+ else
|
||||
+ syslog_lvl = LOG_NOTICE;
|
||||
+
|
||||
+ if (syslog_verbosity < syslog_lvl)
|
||||
+ return;
|
||||
+
|
||||
+ va_start(ap, fmt);
|
||||
+
|
||||
+ /* Print the message to syslog. */
|
||||
+ vsyslog(syslog_lvl, fmt, ap);
|
||||
+
|
||||
+ va_end(ap);
|
||||
|
||||
/* Get the timestamp of the message. */
|
||||
msg_gettimestamp(ts);
|
||||
@@ -139,125 +146,17 @@ msg(FILE *stream, const char *level, const char *fmt, ...)
|
||||
/* No message truncated. */
|
||||
assert(tot_len > 0);
|
||||
|
||||
- /* Print the message in the log file stream and the file stream. */
|
||||
- msg_putmessage(stream, msg);
|
||||
-
|
||||
- /* Unlock the mutex of the message. */
|
||||
- if (pthread_mutex_unlock(&msg_mtx) != 0)
|
||||
- break;
|
||||
-
|
||||
- return;
|
||||
- } while (0);
|
||||
-
|
||||
- ERROR("%s", strerror(errno));
|
||||
- exit(EXIT_FAILURE);
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
- * Initialize the log file stream of the messages.
|
||||
- */
|
||||
-static void
|
||||
-msg_init(void)
|
||||
-{
|
||||
-
|
||||
- do {
|
||||
- struct stat stats;
|
||||
- bool UNUSED(logcreate) = false;
|
||||
-
|
||||
- /* Check if the log file exist. */
|
||||
- if (stat(LOG_FILE, &stats) < 0) {
|
||||
- if (errno == ENOENT) {
|
||||
- int fd;
|
||||
-
|
||||
- /* Create and open the log file with the 640 perms. */
|
||||
- if ((fd = open(LOG_FILE, O_CREAT, MSG_LOGPERMS)) < 0)
|
||||
- break;
|
||||
-
|
||||
- /* Close the log file descriptor. */
|
||||
- if (close(fd) < 0)
|
||||
- break;
|
||||
-
|
||||
- /* Call again. */
|
||||
- if (stat(LOG_FILE, &stats) < 0)
|
||||
- break;
|
||||
-
|
||||
-#ifndef NDEBUG
|
||||
- /* Log file created. */
|
||||
- logcreate = true;
|
||||
-#endif /* !NDEBUG */
|
||||
- } else {
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /* Check if the log file is a regular file. */
|
||||
- if (S_ISREG(stats.st_mode) == 0) {
|
||||
- ERROR("%s is not a regular file", LOG_FILE);
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
-
|
||||
- /* Fix the log file perms to 640. */
|
||||
- if (chmod(LOG_FILE, MSG_LOGPERMS) < 0)
|
||||
- break;
|
||||
+ /* Print the message in the file stream. */
|
||||
+ fprintf(stream, "%s", msg);
|
||||
|
||||
- /* Open the log file stream to append. */
|
||||
- if ((log = fopen(LOG_FILE, "a")) == NULL)
|
||||
+ /* Flush the file stream. */
|
||||
+ if (fflush(stream) == EOF)
|
||||
break;
|
||||
|
||||
-#ifndef NDEBUG
|
||||
/* Unlock the mutex of the message. */
|
||||
if (pthread_mutex_unlock(&msg_mtx) != 0)
|
||||
break;
|
||||
|
||||
- /* Log file created? */
|
||||
- if (logcreate == true)
|
||||
- MSG_DEBUG("Create %s with 640 perms successful", LOG_FILE);
|
||||
-#endif /* !NDEBUG */
|
||||
-
|
||||
- MSG_DEBUG("Open %s successful", LOG_FILE);
|
||||
- MSG_DEBUG("Start logging");
|
||||
-
|
||||
- /* Push msg_destroy() to be called on exit_cleanup(). */
|
||||
- exit_push(msg_destroy, "msg_destroy");
|
||||
-
|
||||
-#ifndef NDEBUG
|
||||
- /* Lock the mutex of the message. */
|
||||
- if (pthread_mutex_lock(&msg_mtx) != 0)
|
||||
- break;
|
||||
-#endif /* !NDEBUG */
|
||||
-
|
||||
- return;
|
||||
- } while (0);
|
||||
-
|
||||
- ERROR("%s", strerror(errno));
|
||||
- exit(EXIT_FAILURE);
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
- * Destroy the log file stream of the messages.
|
||||
- */
|
||||
-static void
|
||||
-msg_destroy(void)
|
||||
-{
|
||||
-
|
||||
- do {
|
||||
- /* Unlock the mutex of the message before the destruction. */
|
||||
- if (pthread_mutex_unlock(&msg_mtx) != 0)
|
||||
- break;
|
||||
-
|
||||
- /* Log file stream of the messages already destroyed and closed? */
|
||||
- if (log != NULL) {
|
||||
- MSG_DEBUG("End logging");
|
||||
- MSG_DEBUG("Close %s successful", LOG_FILE);
|
||||
-
|
||||
- /* Close the log file stream. */
|
||||
- if (fclose(log) == EOF)
|
||||
- break;
|
||||
-
|
||||
- /* Set the log file stream to NULL. */
|
||||
- log = NULL;
|
||||
- }
|
||||
-
|
||||
return;
|
||||
} while (0);
|
||||
|
||||
@@ -299,64 +198,6 @@ msg_gettimestamp(char *ts)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
-/*
|
||||
- * Put the message in the log file stream and the file stream.
|
||||
- */
|
||||
-static void
|
||||
-msg_putmessage(FILE *stream, const char *msg)
|
||||
-{
|
||||
-
|
||||
- do {
|
||||
- struct stat stats;
|
||||
-
|
||||
- /* Check if the log file exist. */
|
||||
- if (stat(LOG_FILE, &stats) < 0) {
|
||||
- if (errno == ENOENT) {
|
||||
- /* Close the log file stream. */
|
||||
- if (fclose(log) == EOF)
|
||||
- break;
|
||||
-
|
||||
- /* Set the log file stream to NULL. */
|
||||
- log = NULL;
|
||||
-
|
||||
- /* Re-initialize the log file stream. */
|
||||
- msg_init();
|
||||
-
|
||||
- /* Call again. */
|
||||
- if (stat(LOG_FILE, &stats) < 0)
|
||||
- break;
|
||||
- } else {
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /* Check if the log file is a regular file. */
|
||||
- if (S_ISREG(stats.st_mode) == 0) {
|
||||
- ERROR("%s is not a regular file", LOG_FILE);
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
-
|
||||
- /* Print the message in the log file stream. */
|
||||
- fprintf(log, "%s", msg);
|
||||
-
|
||||
- /* Flush the log file stream. */
|
||||
- if (fflush(log) == EOF)
|
||||
- break;
|
||||
-
|
||||
- /* Print the message in the file stream. */
|
||||
- fprintf(stream, "%s", msg);
|
||||
-
|
||||
- /* Flush the file stream. */
|
||||
- if (fflush(stream) == EOF)
|
||||
- break;
|
||||
-
|
||||
- return;
|
||||
- } while (0);
|
||||
-
|
||||
- ERROR("%s", strerror(errno));
|
||||
- exit(EXIT_FAILURE);
|
||||
-}
|
||||
-
|
||||
/*
|
||||
* EOF
|
||||
*
|
Loading…
Reference in New Issue
Block a user