Merge pull request #4824 from heitbaum/bump-nettools

network-tools: update addon tools (106)
This commit is contained in:
CvH 2021-01-07 15:16:01 +01:00 committed by GitHub
commit fb8d95e117
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 166 additions and 340 deletions

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bwm-ng"
PKG_VERSION="0.6.1"
PKG_SHA256="613e8072b0efc2f5f790143192bca45c3c80b7ad09bff384de9bbaa57aa499b8"
PKG_VERSION="0.6.2"
PKG_SHA256="906a2d561f2ec9e0dd68b7f51b302908e99515ea1216d0ecaf14d873ef54ae70"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gropp.org/?id=projects&sub=bwm-ng"
PKG_URL="https://github.com/vgropp/bwm-ng/archive/v$PKG_VERSION.tar.gz"

View File

@ -1,286 +0,0 @@
From d5daf15c2098040b8b01753d3cdce8c1c79fc528 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Fri, 10 Feb 2017 21:30:49 +0100
Subject: [PATCH] Use `static inline` instead of `inline`
`inline` by itself is not portably guaranteed to emit
an external definition when needed in C99. The current
code base implicitly relies on GNU89 inline semantics,
which _always_ emit an external definition. More recent
versions of GCC and Clang switch to C99/C11 inline semantics
by default, which fails with undefined references.
See also:
* http://www.greenend.org.uk/rjk/tech/inline.html
* https://clang.llvm.org/compatibility.html#inline
* http://blahg.josefsipek.net/?p=529
---
src/bwm-ng.c | 4 ++--
src/help.c | 4 ++--
src/options.c | 16 ++++++++--------
src/output.c | 22 +++++++++++-----------
src/process.c | 28 ++++++++++++++--------------
5 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/src/bwm-ng.c b/src/bwm-ng.c
index ad94ccd..c2ab0db 100644
--- a/src/bwm-ng.c
+++ b/src/bwm-ng.c
@@ -26,7 +26,7 @@
/* handle interrupt signal */
void sigint(int sig) FUNCATTR_NORETURN;
-inline void init(void);
+static inline void init(void);
/* clear stuff and exit */
#ifdef __STDC__
@@ -98,7 +98,7 @@ void sigint(int sig) {
deinit(0, NULL);
}
-inline void init(void) {
+static inline void init(void) {
if_count=0;
delay=500;
#if EXTENDED_STATS
diff --git a/src/help.c b/src/help.c
index 7fd9ca4..4853297 100644
--- a/src/help.c
+++ b/src/help.c
@@ -24,9 +24,9 @@
#include "global_vars.h"
#include "help.h"
-inline void print_help_line(const char *short_c,const char * long_c,const char *descr);
+static inline void print_help_line(const char *short_c,const char * long_c,const char *descr);
-inline void print_help_line(const char *short_c,const char * long_c,const char *descr) {
+static inline void print_help_line(const char *short_c,const char * long_c,const char *descr) {
#ifdef LONG_OPTIONS
printf(" %-23s",long_c);
#else
diff --git a/src/options.c b/src/options.c
index 1b65eeb..30dccb4 100644
--- a/src/options.c
+++ b/src/options.c
@@ -30,12 +30,12 @@ static char* getToken(char** str, const char* delims);
char *trim_whitespace(char *str);
int read_config(const char *config_file);
#endif
-inline int str2output_unit(char *optarg);
+static inline int str2output_unit(char *optarg);
#if EXTENDED_STATS
-inline int str2output_type(char *optarg);
+static inline int str2output_type(char *optarg);
#endif
-inline int str2out_method(char *optarg);
-inline int str2in_method(char *optarg);
+static inline int str2out_method(char *optarg);
+static inline int str2in_method(char *optarg);
#ifdef CONFIG_FILE
/******************************************************************************
@@ -65,7 +65,7 @@ static char* getToken(char** str, const char* delims) {
/******************************************************************************/
#endif
-inline int str2output_unit(char *optarg) {
+static inline int str2output_unit(char *optarg) {
if (optarg) {
if (!strcasecmp(optarg,"bytes")) return BYTES_OUT;
if (!strcasecmp(optarg,"bits")) return BITS_OUT;
@@ -76,7 +76,7 @@ inline int str2output_unit(char *optarg) {
}
#if EXTENDED_STATS
-inline int str2output_type(char *optarg) {
+static inline int str2output_type(char *optarg) {
if (optarg) {
if (!strcasecmp(optarg,"rate")) return RATE_OUT;
if (!strcasecmp(optarg,"max")) return MAX_OUT;
@@ -87,7 +87,7 @@ inline int str2output_type(char *optarg) {
}
#endif
-inline int str2out_method(char *optarg) {
+static inline int str2out_method(char *optarg) {
if (optarg) {
if (!strcasecmp(optarg,"plain")) return PLAIN_OUT;
#ifdef HAVE_CURSES
@@ -109,7 +109,7 @@ inline int str2out_method(char *optarg) {
}
-inline int str2in_method(char *optarg) {
+static inline int str2in_method(char *optarg) {
if (optarg) {
#ifdef PROC_NET_DEV
if (!strcasecmp(optarg,"proc")) return PROC_IN;
diff --git a/src/output.c b/src/output.c
index 653e444..1425b3c 100644
--- a/src/output.c
+++ b/src/output.c
@@ -25,13 +25,13 @@
#include "output.h"
inline static const char *output_type2str(void);
-inline const char *input2str(void);
-inline const char *show_all_if2str(void);
-inline ullong direction2value(char mode,struct inout_long stats);
+static inline const char *input2str(void);
+static inline const char *show_all_if2str(void);
+static inline ullong direction2value(char mode,struct inout_long stats);
#if EXTENDED_STATS
-inline double direction_max2value(char mode,struct inouttotal_double stats,int items);
+static inline double direction_max2value(char mode,struct inouttotal_double stats,int items);
#endif
-inline char *dyn_byte_value2str(double value,char *str,int buf_size);
+static inline char *dyn_byte_value2str(double value,char *str,int buf_size);
char *values2str(char mode,t_iface_speed_stats stats,t_iface_stats full_stats,float multiplier,char *str,int buf_size);
inline static const char *output_type2str(void) {
@@ -59,7 +59,7 @@ inline static const char *output_type2str(void) {
}
-inline const char *input2str(void) {
+static inline const char *input2str(void) {
switch (input_method) {
#ifdef SYSCTL
case SYSCTL_IN:
@@ -121,7 +121,7 @@ inline const char *input2str(void) {
return "";
}
-inline const char *show_all_if2str(void) {
+static inline const char *show_all_if2str(void) {
switch (show_all_if) {
case 1:
return " (all)";
@@ -262,7 +262,7 @@ int print_header(int option) {
}
-inline ullong direction2value(char mode,struct inout_long stats) {
+static inline ullong direction2value(char mode,struct inout_long stats) {
switch (mode) {
case 0:
return stats.in;
@@ -275,7 +275,7 @@ inline ullong direction2value(char mode,struct inout_long stats) {
}
#if EXTENDED_STATS
-inline double direction_max2value(char mode,struct inouttotal_double stats,int items) {
+static inline double direction_max2value(char mode,struct inouttotal_double stats,int items) {
switch (mode) {
case 0:
return (double)(stats.in/items);
@@ -288,7 +288,7 @@ inline double direction_max2value(char mode,struct inouttotal_double stats,int i
}
#endif
-inline char *dyn_byte_value2str(double value,char *str,int buf_size) {
+static inline char *dyn_byte_value2str(double value,char *str,int buf_size) {
if (dynamic) {
if (value<1024)
snprintf(str,buf_size,"%15.2f ",value);
@@ -306,7 +306,7 @@ inline char *dyn_byte_value2str(double value,char *str,int buf_size) {
return str;
}
-inline char *dyn_bit_value2str(double value,char *str,int buf_size) {
+static inline char *dyn_bit_value2str(double value,char *str,int buf_size) {
if (dynamic) {
if (value<1000)
snprintf(str,buf_size,"%15.2f ",value);
diff --git a/src/process.c b/src/process.c
index 59eccf0..d06c6dd 100644
--- a/src/process.c
+++ b/src/process.c
@@ -26,19 +26,19 @@
short show_iface(char *instr, char *searchstr,char iface_is_up);
#if HAVE_GETTIMEOFDAY
-inline long tvdiff(struct timeval newer, struct timeval older);
+static inline long tvdiff(struct timeval newer, struct timeval older);
float get_time_delay(int iface_num);
#endif
-inline ullong calc_new_values(ullong new, ullong old);
+static inline ullong calc_new_values(ullong new, ullong old);
t_iface_speed_stats convert2calced_values(t_iface_speed_stats new, t_iface_speed_stats old);
t_iface_speed_stats convert2calced_disk_values(t_iface_speed_stats new, t_iface_speed_stats old);
#if EXTENDED_STATS
-inline void sub_avg_values(struct inouttotal_double *values,struct inouttotal_double data);
-inline void add_avg_values(struct inouttotal_double *values,struct inouttotal_double data);
-inline void save_avg_values(struct inouttotal_double *values,struct inouttotal_double *data,struct inout_long calced_stats,float multiplier);
+static inline void sub_avg_values(struct inouttotal_double *values,struct inouttotal_double data);
+static inline void add_avg_values(struct inouttotal_double *values,struct inouttotal_double data);
+static inline void save_avg_values(struct inouttotal_double *values,struct inouttotal_double *data,struct inout_long calced_stats,float multiplier);
void save_avg(struct t_avg *avg,struct iface_speed_stats calced_stats,float multiplier);
-inline void save_sum(struct inout_long *stats,struct inout_long new_stats_values);
-inline void save_max(struct inouttotal_double *stats,struct inout_long calced_stats,float multiplier);
+static inline void save_sum(struct inout_long *stats,struct inout_long new_stats_values);
+static inline void save_max(struct inouttotal_double *stats,struct inout_long calced_stats,float multiplier);
#endif
/* returns the whether to show the iface or not
@@ -74,7 +74,7 @@ short show_iface(char *instr, char *searchstr,char iface_is_up) {
#if HAVE_GETTIMEOFDAY
/* Returns: the time difference in milliseconds. */
-inline long tvdiff(struct timeval newer, struct timeval older) {
+static inline long tvdiff(struct timeval newer, struct timeval older) {
return labs((newer.tv_sec-older.tv_sec)*1000+
(newer.tv_usec-older.tv_usec)/1000);
}
@@ -95,7 +95,7 @@ float get_time_delay(int iface_num) {
#endif
/* basically new-old, but handles "overflow" of source aswell */
-inline ullong calc_new_values(ullong new, ullong old) {
+static inline ullong calc_new_values(ullong new, ullong old) {
/* FIXME: WRAP_AROUND _might_ be wrong for libstatgrab, where the type is always long long */
return (new>=old) ? (ullong)(new-old) : (ullong)((
#ifdef HAVE_LIBKSTAT
@@ -136,13 +136,13 @@ t_iface_speed_stats convert2calced_disk_values(t_iface_speed_stats new, t_iface_
#if EXTENDED_STATS
/* sub old values from cached for avg stats */
-inline void sub_avg_values(struct inouttotal_double *values,struct inouttotal_double data) {
+static inline void sub_avg_values(struct inouttotal_double *values,struct inouttotal_double data) {
values->in-=data.in;
values->out-=data.out;
values->total-=data.total;
}
-inline void add_avg_values(struct inouttotal_double *values,struct inouttotal_double data) {
+static inline void add_avg_values(struct inouttotal_double *values,struct inouttotal_double data) {
values->in+=data.in;
values->out+=data.out;
values->total+=data.total;
@@ -151,7 +151,7 @@ inline void add_avg_values(struct inouttotal_double *values,struct inouttotal_do
/* put new-old bytes in inout_long struct into a inouttotal_double struct
* and add values to cached .value struct */
-inline void save_avg_values(struct inouttotal_double *values,struct inouttotal_double *data,struct inout_long calced_stats,float multiplier) {
+static inline void save_avg_values(struct inouttotal_double *values,struct inouttotal_double *data,struct inout_long calced_stats,float multiplier) {
data->in=calced_stats.in*multiplier;
data->out=calced_stats.out*multiplier;
data->total=(calced_stats.in+calced_stats.out)*multiplier;
@@ -201,13 +201,13 @@ void save_avg(struct t_avg *avg,struct iface_speed_stats calced_stats,float mult
}
/* add current in and out bytes to totals struct */
-inline void save_sum(struct inout_long *stats,struct inout_long new_stats_values) {
+static inline void save_sum(struct inout_long *stats,struct inout_long new_stats_values) {
stats->in+=new_stats_values.in;
stats->out+=new_stats_values.out;
}
/* lookup old max values and save new if higher */
-inline void save_max(struct inouttotal_double *stats,struct inout_long calced_stats,float multiplier) {
+static inline void save_max(struct inouttotal_double *stats,struct inout_long calced_stats,float multiplier) {
if (multiplier*calced_stats.in > stats->in)
stats->in=multiplier*calced_stats.in;
if (multiplier*calced_stats.out>stats->out)

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libpcap"
PKG_VERSION="1.7.4"
PKG_SHA256="7ad3112187e88328b85e46dce7a9b949632af18ee74d97ffc3f2b41fe7f448b0"
PKG_VERSION="1.9.1"
PKG_SHA256="635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094"
PKG_LICENSE="GPL"
PKG_SITE="http://www.tcpdump.org/"
PKG_URL="http://www.tcpdump.org/release/libpcap-${PKG_VERSION}.tar.gz"

View File

@ -1,12 +1,12 @@
diff -Naur libpcap-1.7.4/configure.in libpcap-1.7.4.patch/configure.in
--- libpcap-1.7.4/configure.in 2015-04-22 22:19:15.000000000 +0200
+++ libpcap-1.7.4.patch/configure.in 2016-03-26 10:36:25.193757606 +0100
@@ -456,7 +456,7 @@
diff -Naur libpcap-1.7.4/configure.ac libpcap-1.7.4.patch/configure.ac
--- libpcap-1.7.4/configure.ac 2015-04-22 22:19:15.000000000 +0200
+++ libpcap-1.7.4.patch/configure.ac 2016-03-26 10:36:25.193757606 +0100
@@ -853,7 +853,7 @@
if test x$with_libnl != xno ; then
have_any_nl="no"
- incdir=-I/usr/include/libnl3
+# incdir=-I/usr/include/libnl3
+ #incdir=-I/usr/include/libnl3
libnldir=
if test x$withval != x ; then
libnldir=-L${withval}/lib/.libs
case "$with_libnl" in

View File

@ -0,0 +1,63 @@
--- a/CMakeLists.txt.orig 2019-09-30 14:39:22.000000000 +0000
+++ b/CMakeLists.txt 2021-01-01 12:58:17.181126036 +0000
@@ -2398,60 +2398,6 @@
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig)
- #
- # Man pages.
- #
- # For each section of the manual for which we have man pages
- # that require macro expansion, do the expansion.
- #
- set(MAN1 "")
- foreach(MANPAGE ${MAN1_NOEXPAND})
- set(MAN1 ${MAN1} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- install(FILES ${MAN1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
-
- set(MAN3PCAP "")
- foreach(MANPAGE ${MAN3PCAP_NOEXPAND})
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- foreach(TEMPLATE_MANPAGE ${MAN3PCAP_EXPAND})
- string(REPLACE ".in" "" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MAN3PCAP} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_dump_open.3pcap pcap_dump_fopen.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_findalldevs.3pcap pcap_freealldevs.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_geterr.3pcap pcap_perror.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_inject.3pcap pcap_sendpacket.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_datalinks.3pcap pcap_free_datalinks.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_tstamp_types.3pcap pcap_free_tstamp_types.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_loop.3pcap pcap_dispatch.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_major_version.3pcap pcap_minor_version.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_next_ex.3pcap pcap_next.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_dead.3pcap pcap_open_dead_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_open_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_tstamp_type_val_to_name.3pcap pcap_tstamp_type_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_setnonblock.3pcap pcap_getnonblock.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
-
- set(MANFILE "")
- foreach(TEMPLATE_MANPAGE ${MANFILE_EXPAND})
- string(REPLACE ".manfile.in" ".${MAN_FILE_FORMATS}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANFILE ${MANFILE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANFILE} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_FILE_FORMATS})
-
- set(MANMISC "")
- foreach(TEMPLATE_MANPAGE ${MANMISC_EXPAND})
- string(REPLACE ".manmisc.in" ".${MAN_MISC_INFO}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANMISC ${MANMISC} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANMISC} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_MISC_INFO})
endif(NOT MSVC)
# uninstall target

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libstatgrab"
PKG_VERSION="0.91"
PKG_SHA256="03e9328e4857c2c9dcc1b0347724ae4cd741a72ee11acc991784e8ef45b7f1ab"
PKG_VERSION="0.92"
PKG_SHA256="5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
PKG_SITE="http://www.i-scream.org/libstatgrab/"
PKG_URL="http://ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="iperf"
PKG_VERSION="3.6"
PKG_SHA256="1ad23f70a8eb4b892a3cbb247cafa956e0f5c7d8b8601b1d9c8031c2a806f23f"
PKG_VERSION="3.9"
PKG_SHA256="c6d8076b800f2b51f92dc941b0a9b77fbf2a867f623b5cb3cbf4754dabc40899"
PKG_LICENSE="BSD"
PKG_SITE="http://software.es.net/iperf/"
PKG_URL="https://github.com/esnet/iperf/archive/$PKG_VERSION.tar.gz"

View File

@ -1,27 +0,0 @@
diff -Naur a/Makefile.am b/Makefile.am
--- a/Makefile.am 2015-10-16 19:01:09.000000000 +0200
+++ b/Makefile.am 2016-01-06 21:22:34.118008794 +0100
@@ -1 +1,8 @@
+README: README.md
+ fgrep -v "[Build Status]" $< \
+ | markdown \
+ | html2text -style pretty -nobs \
+ | sed -e 's:&gt;:>:g' \
+ > $@.tmp
+
SUBDIRS = src examples
diff -Naur a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am 2015-10-16 19:01:09.000000000 +0200
+++ b/src/Makefile.am 2016-01-06 21:26:12.352336266 +0100
@@ -49,9 +49,9 @@
iperf3_profile_SOURCES = main.c \
$(libiperf_la_SOURCES)
-iperf3_profile_CFLAGS = -pg -g
+iperf3_profile_CFLAGS = -g
iperf3_profile_LDADD = libiperf.la
-iperf3_profile_LDFLAGS = -pg -g
+iperf3_profile_LDFLAGS = -g
# Specify the sources and various flags for the test cases
t_timer_SOURCES = t_timer.c

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="irssi"
PKG_VERSION="1.1.2"
PKG_SHA256="5ccc2b89a394e91bea0aa83a951c3b1d471c76da87b4169ec435530a31bf9732"
PKG_VERSION="1.2.2"
PKG_SHA256="6727060c918568ba2ff4295ad736128dba0b995d7b20491bca11f593bd857578"
PKG_LICENSE="GPL"
PKG_SITE="http://www.irssi.org/"
PKG_URL="https://github.com/irssi/irssi/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"

View File

@ -0,0 +1,38 @@
From a0544571a80196e5b7705f56e6e2cbcdf7b4d80e Mon Sep 17 00:00:00 2001
From: ailin-nemui <ailin-nemui@users.noreply.github.com>
Date: Thu, 23 Apr 2020 21:45:15 +0200
Subject: [PATCH] manually handle NUL unicode in g_utf8_get_next_char_validated
A change in GLib 2.63 broke some assumptions in Irssi that the null-byte
NUL / U+0000 is a valid Unicode character. This would occur when the
user types Ctrl+Space. As a result, the input loop never manages to
process the NUL-byte (and any other user input that follows, ever).
This patch adds a manual check that properly advances the input loop if
GLib returns -2 (incomplete character) despite the length being positive
and a NUL is in first position.
Fixes #1180
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967
https://gitlab.gnome.org/GNOME/glib/-/issues/2093
---
src/fe-text/term-terminfo.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c
index 5235f72d2..78496a64f 100644
--- a/src/fe-text/term-terminfo.c
+++ b/src/fe-text/term-terminfo.c
@@ -672,7 +672,11 @@ void term_stop(void)
static int input_utf8(const unsigned char *buffer, int size, unichar *result)
{
- unichar c = g_utf8_get_char_validated((char *)buffer, size);
+ unichar c = g_utf8_get_char_validated((char *) buffer, size);
+
+ /* GLib >= 2.63 do not accept Unicode NUL anymore */
+ if (c == (unichar) -2 && *buffer == 0 && size > 0)
+ c = 0;
switch (c) {
case (unichar)-1:

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="nmap"
PKG_VERSION="7.70"
PKG_SHA256="847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18"
PKG_VERSION="7.91"
PKG_SHA256="18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300"
PKG_LICENSE="GPL"
PKG_SITE="http://nmap.org/"
PKG_URL="http://nmap.org/dist/${PKG_NAME}-${PKG_VERSION}.tar.bz2"

View File

@ -2,8 +2,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rar2fs"
PKG_VERSION="1.27.1"
PKG_SHA256="f7e84b813fe82c6a886313e13a85d4f0d229b21f343a3ce6f73325a4ac90cb5a"
PKG_VERSION="1.29.3"
PKG_SHA256="e813ad62cccdc6081f00c081eb09b435e6ed58422a8f83e222e1aa9d7a0f0866"
PKG_LICENSE="GPL3"
PKG_SITE="https://github.com/hasse69/rar2fs"
PKG_URL="https://github.com/hasse69/rar2fs/releases/download/v$PKG_VERSION/rar2fs-$PKG_VERSION.tar.gz"

View File

@ -0,0 +1,21 @@
diff -Nur rar2fs-1.29.3.orig/Makefile.am rar2fs-1.29.3/Makefile.am
--- rar2fs-1.29.3.orig/Makefile.am 2020-11-08 19:41:41.000000000 +0000
+++ rar2fs-1.29.3/Makefile.am 2021-01-01 11:33:42.609539322 +0000
@@ -1,4 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = src man
+SUBDIRS = src
EXTRA_DIST = get-version.sh rarconfig.example
diff -Nur rar2fs-1.29.3.orig/Makefile.in rar2fs-1.29.3/Makefile.in
--- rar2fs-1.29.3.orig/Makefile.in 2020-12-15 13:06:30.000000000 +0000
+++ rar2fs-1.29.3/Makefile.in 2021-01-01 11:34:20.496533359 +0000
@@ -233,7 +233,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = src man
+SUBDIRS = src
EXTRA_DIST = get-version.sh rarconfig.example
all: all-recursive

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tcpdump"
PKG_VERSION="4.9.2"
PKG_SHA256="798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79"
PKG_VERSION="4.9.3"
PKG_SHA256="2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410"
PKG_SITE="http://www.tcpdump.org/"
PKG_URL="http://www.tcpdump.org/release/tcpdump-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain libpcap libtirpc"

View File

@ -2,17 +2,23 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="udpxy"
PKG_VERSION="1.0.23-12"
PKG_SHA256="16bdc8fb22f7659e0427e53567dc3e56900339da261199b3d00104d699f7e94c"
PKG_VERSION="1.0-25.1"
PKG_SHA256="a1a16e60895c6b2fd151321db47f5d5373843116f1b98ed9749e6c25a6c44497"
PKG_LICENSE="GPLv3"
PKG_SITE="http://www.udpxy.com"
PKG_URL="http://www.udpxy.com/download/1_23/${PKG_NAME}.${PKG_VERSION}-prod.tar.gz"
PKG_URL="https://github.com/pcherenkov/udpxy/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A UDP-to-HTTP multicast traffic relay daemon."
PKG_BUILD_FLAGS="-sysroot"
PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr"
post_unpack() {
mv $PKG_BUILD/README $PKG_BUILD/README-
mv $PKG_BUILD/chipmunk/* $PKG_BUILD
rmdir $PKG_BUILD/chipmunk
}
configure_target() {
export CFLAGS+=" -Wno-stringop-truncation"
}

View File

@ -1,3 +1,14 @@
106
- bwm-ng: update to 0.6.2
- iperf: update to 3.9
- irssi: update to 1.2.2
- libpcap: update to 1.9.1
- libstatgrab: update to 0.92
- nmap: update to 7.91
- rar2fs: update to 1.29.3
- tcpdump: update to 4.9.3
- udpxy: update to 1.0-25.1 and PKG_URL
105
- update rsync to 3.2.3

View File

@ -3,7 +3,7 @@
PKG_NAME="network-tools"
PKG_VERSION="1.0"
PKG_REV="105"
PKG_REV="106"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv"