diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f835e4a..4915d9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,9 +82,7 @@ jobs: export STRIP=$TARGET-strip export PKG_CONFIG_PATH=$DEPS_DIR/lib/pkgconfig - # optimize for size - export CFLAGS="-Os -flto=auto" - export LDFLAGS="-Os" + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" # netfilter libs wget -qO- https://www.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.2.tar.bz2 | tar -xj @@ -136,6 +134,7 @@ jobs: - name: Build zapret run: | + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" make mac -j$(sysctl -n hw.logicalcpu) tar -C binaries/my -cJf zapret-mac-x64.tar.xz . @@ -170,6 +169,7 @@ jobs: TARGET: ${{ matrix.target }} ARCH: ${{ matrix.arch }} run: | + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" settarget $TARGET-freebsd11 make bsd -j$(nproc) || exit 1 tar -C binaries/my -cJf zapret-freebsd-$ARCH.tar.xz . @@ -205,6 +205,7 @@ jobs: run: | mkdir -p output cd zapret + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" mingw32-make -C ip2net win mingw32-make -C mdig win cp -a {ip2net/ip2net,mdig/mdig}.exe ../output @@ -259,6 +260,7 @@ jobs: shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' run: >- export MAKEFLAGS=-j$(nproc) && + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" && cd zapret && make -C nfq ${TARGET} && cp -a nfq/winws.exe ../output @@ -317,9 +319,7 @@ jobs: export STRIP=$TOOLCHAIN/bin/llvm-strip export PKG_CONFIG_PATH=$DEPS_DIR/lib/pkgconfig - # optimize for size - export CFLAGS="-Os -flto=auto" - export LDFLAGS="-Os" + export CFLAGS="-DZAPRET_GH_VER=${{ github.ref_name }} -DZAPRET_GH_HASH=${{ github.sha }}" # netfilter libs wget -qO- https://www.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.2.tar.bz2 | tar -xj diff --git a/ip2net/ip2net.c b/ip2net/ip2net.c index 793ee72..b026795 100644 --- a/ip2net/ip2net.c +++ b/ip2net/ip2net.c @@ -192,7 +192,7 @@ static void ip6_and(const struct in6_addr * restrict a, const struct in6_addr * static void rtrim(char *s) { if (s) - for (char *p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r'); p--) *p = '\0'; + for (char *p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r' || *p == ' ' || *p == '\t'); p--) *p = '\0'; } @@ -217,6 +217,14 @@ static void exithelp(void) exit(1); } +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#if defined(ZAPRET_GH_VER) || defined (ZAPRET_GH_HASH) +#define PRINT_VER printf("github version %s (%s)\n\n", TOSTRING(ZAPRET_GH_VER), TOSTRING(ZAPRET_GH_HASH)) +#else +#define PRINT_VER printf("self-built version %s %s\n\n", __DATE__, __TIME__) +#endif + static void parse_params(int argc, char *argv[]) { int option_index = 0; @@ -245,6 +253,7 @@ static void parse_params(int argc, char *argv[]) { case 0: case 1: + PRINT_VER; exithelp(); break; case 2: diff --git a/mdig/mdig.c b/mdig/mdig.c index 4b9bfc7..1856356 100644 --- a/mdig/mdig.c +++ b/mdig/mdig.c @@ -35,7 +35,7 @@ static void trimstr(char *s) { char *p; - for (p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r'); p--) *p = '\0'; + for (p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r' || *p == ' ' || *p == '\t'); p--) *p = '\0'; } static const char* eai_str(int r) @@ -458,6 +458,15 @@ static void exithelp(void) ); exit(1); } + +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#if defined(ZAPRET_GH_VER) || defined (ZAPRET_GH_HASH) +#define PRINT_VER printf("github version %s (%s)\n\n", TOSTRING(ZAPRET_GH_VER), TOSTRING(ZAPRET_GH_HASH)) +#else +#define PRINT_VER printf("self-built version %s %s\n\n", __DATE__, __TIME__) +#endif + int main(int argc, char **argv) { int r, v, option_index = 0; @@ -487,6 +496,7 @@ int main(int argc, char **argv) switch (option_index) { case 0: /* help */ + PRINT_VER; exithelp(); break; case 1: /* threads */ diff --git a/nfq/nfqws.c b/nfq/nfqws.c index f4805fe..a8b7c0c 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -1128,6 +1128,14 @@ void config_from_file(const char *filename) } #endif +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#if defined(ZAPRET_GH_VER) || defined (ZAPRET_GH_HASH) +#define PRINT_VER printf("github version %s (%s)\n\n", TOSTRING(ZAPRET_GH_VER), TOSTRING(ZAPRET_GH_HASH)) +#else +#define PRINT_VER printf("self-built version %s %s\n\n", __DATE__, __TIME__) +#endif + int main(int argc, char **argv) { set_env_exedir(argv[0]); @@ -1154,6 +1162,8 @@ int main(int argc, char **argv) srandom(time(NULL)); mask_from_preflen6_prepare(); + PRINT_VER; + memset(¶ms, 0, sizeof(params)); *pidfile = 0; diff --git a/tpws/tpws.c b/tpws/tpws.c index 5e9244a..46bbb8d 100644 --- a/tpws/tpws.c +++ b/tpws/tpws.c @@ -1499,6 +1499,15 @@ struct salisten_s int bind_wait_ip_left; // how much seconds left from bind_wait_ip }; static const char *bindll_s[] = { "unwanted","no","prefer","force" }; + +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#if defined(ZAPRET_GH_VER) || defined (ZAPRET_GH_HASH) +#define PRINT_VER printf("github version %s (%s)\n\n", TOSTRING(ZAPRET_GH_VER), TOSTRING(ZAPRET_GH_HASH)) +#else +#define PRINT_VER printf("self-built version %s %s\n\n", __DATE__, __TIME__) +#endif + int main(int argc, char *argv[]) { int i, listen_fd[MAX_BINDS], yes = 1, retval = 0, if_index, exit_v=EXIT_FAILURE; @@ -1509,6 +1518,8 @@ int main(int argc, char *argv[]) srand(time(NULL)); mask_from_preflen6_prepare(); + PRINT_VER; + parse_params(argc, argv); argv=NULL; argc=0;