From 20e53150e5bcd137373c2522eda43dd36860b7d7 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sun, 10 Nov 2019 18:38:42 +0200 Subject: [PATCH] move from unstable: wavemon Moved to root packages because it requires SELinux to be in permissive mode. --- root-packages/wavemon/build.sh | 15 +++++++++++++++ root-packages/wavemon/configure.patch | 12 ++++++++++++ root-packages/wavemon/iw_nl80211.h.patch | 11 +++++++++++ root-packages/wavemon/iw_scan.c.patch | 24 ++++++++++++++++++++++++ root-packages/wavemon/scan_scr.c.patch | 12 ++++++++++++ root-packages/wavemon/utils.c.patch | 14 ++++++++++++++ 6 files changed, 88 insertions(+) create mode 100644 root-packages/wavemon/build.sh create mode 100644 root-packages/wavemon/configure.patch create mode 100644 root-packages/wavemon/iw_nl80211.h.patch create mode 100644 root-packages/wavemon/iw_scan.c.patch create mode 100644 root-packages/wavemon/scan_scr.c.patch create mode 100644 root-packages/wavemon/utils.c.patch diff --git a/root-packages/wavemon/build.sh b/root-packages/wavemon/build.sh new file mode 100644 index 000000000..c386cacf3 --- /dev/null +++ b/root-packages/wavemon/build.sh @@ -0,0 +1,15 @@ +TERMUX_PKG_HOMEPAGE=https://github.com/uoaerg/wavemon +TERMUX_PKG_DESCRIPTION="Ncurses-based monitoring application for wireless network devices" +TERMUX_PKG_LICENSE="GPL-3.0" +TERMUX_PKG_MAINTAINER="Leonid Plyushch " +TERMUX_PKG_VERSION=0.9.0 +TERMUX_PKG_REVISION=2 +TERMUX_PKG_SRCURL=https://github.com/uoaerg/wavemon/archive/v$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_SHA256=5823ef9459d6147a457b390b6744a77465584e93d37c2809fa7a0be557070166 +TERMUX_PKG_DEPENDS="libcap, libnl, ncurses" +TERMUX_PKG_BUILD_IN_SRC=true +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_lib_pthread_pthread_create=yes" + +termux_step_pre_configure() { + CPPFLAGS+=" -I$TERMUX_PREFIX/include/libnl3" +} diff --git a/root-packages/wavemon/configure.patch b/root-packages/wavemon/configure.patch new file mode 100644 index 000000000..f5d67ec99 --- /dev/null +++ b/root-packages/wavemon/configure.patch @@ -0,0 +1,12 @@ +diff -uNr wavemon-0.9.0/configure wavemon-0.9.0.mod/configure +--- wavemon-0.9.0/configure 2018-12-30 03:08:25.000000000 +0200 ++++ wavemon-0.9.0.mod/configure 2019-07-03 16:41:58.114071620 +0300 +@@ -3986,7 +3986,7 @@ + fi + + # Testing library functions +-for ac_func in gettimeofday ether_ntohost ++for ac_func in gettimeofday + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` + ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" diff --git a/root-packages/wavemon/iw_nl80211.h.patch b/root-packages/wavemon/iw_nl80211.h.patch new file mode 100644 index 000000000..496fe8d07 --- /dev/null +++ b/root-packages/wavemon/iw_nl80211.h.patch @@ -0,0 +1,11 @@ +diff -uNr wavemon-0.9.0/iw_nl80211.h wavemon-0.9.0.mod/iw_nl80211.h +--- wavemon-0.9.0/iw_nl80211.h 2018-12-30 03:08:25.000000000 +0200 ++++ wavemon-0.9.0.mod/iw_nl80211.h 2019-07-03 16:49:23.890816614 +0300 +@@ -5,6 +5,7 @@ + #include + #include + ++#include + #include + #include + diff --git a/root-packages/wavemon/iw_scan.c.patch b/root-packages/wavemon/iw_scan.c.patch new file mode 100644 index 000000000..2a856dd3e --- /dev/null +++ b/root-packages/wavemon/iw_scan.c.patch @@ -0,0 +1,24 @@ +diff -uNr wavemon-0.9.0/iw_scan.c wavemon-0.9.0.mod/iw_scan.c +--- wavemon-0.9.0/iw_scan.c 2018-12-30 03:08:25.000000000 +0200 ++++ wavemon-0.9.0.mod/iw_scan.c 2019-07-03 19:33:39.729820897 +0300 +@@ -368,6 +368,10 @@ + sr->num.ch_stats = n < MAX_CH_STATS ? n : MAX_CH_STATS; + } + ++void on_exit_hook() { ++ if_set_down_on_exit(0, conf_ifname()); ++} ++ + /** The actual scan thread. */ + void *do_scan(void *sr_ptr) + { +@@ -430,8 +434,7 @@ + + if (if_set_up(conf_ifname()) < 0) + err_sys("Can not bring up interface '%s'", conf_ifname()); +- if (on_exit(if_set_down_on_exit, (void *)conf_ifname()) < 0) +- snprintf(sr->msg, sizeof(sr->msg), "Warning: unable to restore %s down state on exit", conf_ifname()); ++ atexit(on_exit_hook); + break; + } + /* fall through */ diff --git a/root-packages/wavemon/scan_scr.c.patch b/root-packages/wavemon/scan_scr.c.patch new file mode 100644 index 000000000..d281a9288 --- /dev/null +++ b/root-packages/wavemon/scan_scr.c.patch @@ -0,0 +1,12 @@ +diff -uNr wavemon-0.9.0/scan_scr.c wavemon-0.9.0.mod/scan_scr.c +--- wavemon-0.9.0/scan_scr.c 2018-12-30 03:08:25.000000000 +0200 ++++ wavemon-0.9.0.mod/scan_scr.c 2019-07-03 16:51:31.595109371 +0300 +@@ -250,7 +250,7 @@ + + void scr_aplst_fini(void) + { +- pthread_cancel(scan_thread); ++ pthread_kill(scan_thread, 0); + free_scan_list(sr.head); + free(sr.channel_stats); + diff --git a/root-packages/wavemon/utils.c.patch b/root-packages/wavemon/utils.c.patch new file mode 100644 index 000000000..56a7550b4 --- /dev/null +++ b/root-packages/wavemon/utils.c.patch @@ -0,0 +1,14 @@ +diff -uNr wavemon-0.9.0/utils.c wavemon-0.9.0.mod/utils.c +--- wavemon-0.9.0/utils.c 2018-12-30 03:08:25.000000000 +0200 ++++ wavemon-0.9.0.mod/utils.c 2019-07-03 16:40:46.503509776 +0300 +@@ -39,10 +39,6 @@ + /* Print mac-address translation from /etc/ethers if available */ + char *ether_lookup(const struct ether_addr *ea) + { +- static char hostname[BUFSIZ]; +- +- if (ether_ntohost(hostname, ea) == 0) +- return hostname; + return ether_addr(ea); + } +