From b3d17da339cea6306c83dc25a28d1de3f6d14744 Mon Sep 17 00:00:00 2001 From: suyuan <175338101@qq.com> Date: Fri, 23 Jun 2023 08:47:44 +0800 Subject: [PATCH] fixx --- 6in4/Makefile | 5 +- 6in4/files/6in4.sh | 32 +- ipcalc/Makefile | 0 net-tools/Makefile | 14 +- net-tools/patches/mptcp-support.patch | 338 ++++++++++++++++++ omr-6in4/Makefile | 0 protobuf/Makefile | 8 +- protobuf/patches/010-rpath.patch | 24 -- serdisplib/Makefile | 83 ++--- .../patches/002-allow-1bpp-framebuffer.patch | 21 -- serdisplib/patches/010-cross-compile.patch | 101 ------ speedtestc/Makefile | 0 speedtestcpp/Makefile | 72 ++-- tsping/Makefile | 0 14 files changed, 417 insertions(+), 281 deletions(-) mode change 100755 => 100644 ipcalc/Makefile create mode 100644 net-tools/patches/mptcp-support.patch mode change 100755 => 100644 omr-6in4/Makefile delete mode 100644 protobuf/patches/010-rpath.patch delete mode 100644 serdisplib/patches/002-allow-1bpp-framebuffer.patch delete mode 100644 serdisplib/patches/010-cross-compile.patch mode change 100755 => 100644 speedtestc/Makefile mode change 100755 => 100644 tsping/Makefile diff --git a/6in4/Makefile b/6in4/Makefile index edbb7d71a..d0f2ad30c 100644 --- a/6in4/Makefile +++ b/6in4/Makefile @@ -1,5 +1,7 @@ # # Copyright (C) 2010-2015 OpenWrt.org +# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) +# - Added gateway setting # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,7 +10,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=6in4 -PKG_RELEASE:=28 +PKG_VERSION:=270 +PKG_RELEASE:=2 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/6in4/files/6in4.sh b/6in4/files/6in4.sh index 5b5c7b36a..cf17c86d8 100755 --- a/6in4/files/6in4.sh +++ b/6in4/files/6in4.sh @@ -9,20 +9,6 @@ init_proto "$@" } -# Function taken from 6to4 package (6to4.sh), flipped returns -test_6in4_rfc1918() -{ - local oIFS="$IFS"; IFS="."; set -- $1; IFS="$oIFS" - [ $1 -eq 10 ] && return 1 - [ $1 -eq 192 ] && [ $2 -eq 168 ] && return 1 - [ $1 -eq 172 ] && [ $2 -ge 16 ] && [ $2 -le 31 ] && return 1 - - # RFC 6598 - [ $1 -eq 100 ] && [ $2 -ge 64 ] && [ $2 -le 127 ] && return 1 - - return 0 -} - proto_6in4_update() { sh -c ' timeout=5 @@ -45,8 +31,8 @@ proto_6in4_setup() { local iface="$2" local link="6in4-$cfg" - local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey - json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey + local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey gateway + json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey gateway json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes [ -z "$peeraddr" ] && { @@ -55,7 +41,7 @@ proto_6in4_setup() { return } - ( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" ) + [ -n "$tunlink" ] && ( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" ) [ -z "$ipaddr" ] && { local wanif="$tunlink" @@ -75,11 +61,15 @@ proto_6in4_setup() { [ -n "$ip6addr" ] && { local local6="${ip6addr%%/*}" local mask6="${ip6addr##*/}" - [ "$local6" = "$mask6" ] && mask6= + [[ "$local6" = "$mask6" ]] && mask6= proto_add_ipv6_address "$local6" "$mask6" proto_add_ipv6_route "::" 0 "" "" "" "$local6/$mask6" } + [ -n "$gateway" ] && { + proto_add_ipv6_route "::" 0 "$gateway" + } + for ip6prefix in $ip6prefixes; do proto_add_ipv6_prefix "$ip6prefix" proto_add_ipv6_route "::" 0 "" "" "" "$ip6prefix" @@ -111,11 +101,6 @@ proto_6in4_setup() { } local url="$http://ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid" - - test_6in4_rfc1918 "$ipaddr" && { - local url="${url}&myip=${ipaddr}" - } - local try=0 local max=3 @@ -153,6 +138,7 @@ proto_6in4_init_config() { proto_config_add_string "username" proto_config_add_string "password" proto_config_add_string "updatekey" + proto_config_add_string "gateway" proto_config_add_int "mtu" proto_config_add_int "ttl" proto_config_add_string "tos" diff --git a/ipcalc/Makefile b/ipcalc/Makefile old mode 100755 new mode 100644 diff --git a/net-tools/Makefile b/net-tools/Makefile index e620d4e2a..6336c57e5 100644 --- a/net-tools/Makefile +++ b/net-tools/Makefile @@ -1,6 +1,7 @@ # # Copyright (C) 2006-2010 OpenWrt.org # Copyright (C) 2016 Stijn Segers +# Copyright (C) 2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,14 +10,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=net-tools -PKG_VERSION:=2.10 -PKG_RELEASE:=1 +PKG_SOURCE_DATE:=2018-11-03 +PKG_SOURCE_VERSION:=0eebece8c964e3cfa8a018f42b2e7e751a7009a0 +PKG_RELEASE:=2 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=https://sourceforge.net/projects/net-tools/files/ -PKG_HASH:=b262435a5241e89bfa51c3cabd5133753952f7a7b7b93f32e08cb9d96f580d69 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://git.code.sf.net/p/net-tools/code +PKG_MIRROR_HASH:=9d978b9f8ccae4af623a299155c62d9b3d31213182c785f925bf8704d48a04c9 -PKG_MAINTAINER:=Stijn Segers +PKG_MAINTAINER:=Yannick Chabanois PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING diff --git a/net-tools/patches/mptcp-support.patch b/net-tools/patches/mptcp-support.patch new file mode 100644 index 000000000..b9f69d0f8 --- /dev/null +++ b/net-tools/patches/mptcp-support.patch @@ -0,0 +1,338 @@ +diff -aurN net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/lib/pathnames.h net-tools-mptcp_v0.95/lib/pathnames.h +--- net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/lib/pathnames.h 2018-11-03 14:23:32.000000000 +0100 ++++ net-tools-mptcp_v0.95/lib/pathnames.h 2019-06-22 22:52:42.000000000 +0200 +@@ -14,6 +14,7 @@ + #define _PATH_PROCNET_IGMP6 "/proc/net/igmp6" + #define _PATH_PROCNET_TCP "/proc/net/tcp" + #define _PATH_PROCNET_TCP6 "/proc/net/tcp6" ++#define _PATH_PROCNET_MPTCP "/proc/net/mptcp_net/mptcp" + #define _PATH_PROCNET_UDP "/proc/net/udp" + #define _PATH_PROCNET_UDP6 "/proc/net/udp6" + #define _PATH_PROCNET_UDPLITE "/proc/net/udplite" +diff -aurN net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/netstat.c net-tools-mptcp_v0.95/netstat.c +--- net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/netstat.c 2018-11-03 14:23:32.000000000 +0100 ++++ net-tools-mptcp_v0.95/netstat.c 2019-06-22 22:52:42.000000000 +0200 +@@ -115,7 +115,7 @@ + #endif + + /* prototypes for statistics.c */ +-void parsesnmp(int, int, int, int); ++void parsesnmp(int, int, int, int, int); + void parsesnmp6(int, int, int); + + typedef enum { +@@ -155,6 +155,7 @@ + int flag_opt = 0; + int flag_raw = 0; + int flag_tcp = 0; ++int flag_mptcp = 0; + int flag_sctp= 0; + int flag_udp = 0; + int flag_udplite = 0; +@@ -1206,6 +1207,83 @@ + tcp_do_one, "tcp", "tcp6"); + } + ++static void mptcp_do_one(int lnr, const char *line, const char *prot) ++{ ++ int d, ipv6, num, local_port, rem_port, state, nsub; ++ unsigned long txq, rxq, local_token, remote_token, inode; ++ char rem_addr[128], local_addr[128]; ++ struct sockaddr_storage localsas, remsas; ++ struct sockaddr_in *localaddr = (struct sockaddr_in *)&localsas; ++ struct sockaddr_in *remaddr = (struct sockaddr_in *)&remsas; ++ const struct aftype *ap; ++#if HAVE_AFINET6 ++ char addr6[INET6_ADDRSTRLEN]; ++ struct in6_addr in6; ++ extern struct aftype inet6_aftype; ++#endif ++ ++ if (lnr == 0) ++ return; ++ ++ num = sscanf(line, "%d: %lX %lX %d %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X " ++ "%X %X %lX:%lX %lu\n", &d, &local_token, &remote_token, ++ &ipv6, local_addr, &local_port, rem_addr, &rem_port, ++ &state, &nsub, &txq, &rxq, &inode); ++ ++ if (strlen(local_addr) > 8) { ++#if HAVE_AFINET6 ++ /* Demangle what the kernel gives us */ ++ sscanf(local_addr, "%08X%08X%08X%08X", ++ &in6.s6_addr32[0], &in6.s6_addr32[1], ++ &in6.s6_addr32[2], &in6.s6_addr32[3]); ++ inet_ntop(AF_INET6, &in6, addr6, sizeof(addr6)); ++ inet6_aftype.input(1, addr6, &localsas); ++ sscanf(rem_addr, "%08X%08X%08X%08X", ++ &in6.s6_addr32[0], &in6.s6_addr32[1], ++ &in6.s6_addr32[2], &in6.s6_addr32[3]); ++ inet_ntop(AF_INET6, &in6, addr6, sizeof(addr6)); ++ inet6_aftype.input(1, addr6, &remsas); ++ localsas.ss_family = AF_INET6; ++ remsas.ss_family = AF_INET6; ++#endif ++ } else { ++ sscanf(local_addr, "%X", ++ &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr); ++ sscanf(rem_addr, "%X", ++ &((struct sockaddr_in *) &remaddr)->sin_addr.s_addr); ++ localsas.ss_family = AF_INET; ++ remsas.ss_family = AF_INET; ++ } ++ ++ if (num < 12) { ++ fprintf(stderr, _("warning, got bogus mptcp line.\n")); ++ return; ++ } ++ ++ if ((ap = get_afntype(localsas.ss_family)) == NULL) { ++ fprintf(stderr, _("netstat: unsupported address family %d !\n"), ++ localsas.ss_family); ++ return; ++ } ++ ++ addr_do_one(local_addr, sizeof(local_addr), 22, ap, &localsas, local_port, "tcp"); ++ addr_do_one(rem_addr, sizeof(rem_addr), 22, ap, &remsas, rem_port, "tcp"); ++ ++ printf("%-4s %6ld %6ld %-*s %-*s %-11s", ++ prot, rxq, txq, (int)netmax(23,strlen(local_addr)), local_addr, ++ (int)netmax(23,strlen(rem_addr)), rem_addr, _(tcp_state[state])); ++ ++ if (flag_mptcp) ++ printf(" %-11lu %-12lu", local_token, remote_token); ++ ++ finish_this_one(0, inode, NULL); ++} ++ ++static int mptcp_info(void) ++{ ++ INFO_GUTS(_PATH_PROCNET_MPTCP, "AF INET (mptcp)", mptcp_do_one, "mptcp"); ++} ++ + static int notnull(const struct sockaddr_storage *sas) + { + const struct sockaddr_in *sin = (const struct sockaddr_in *)sas; +@@ -1994,7 +2072,7 @@ + fprintf(fp, _(" -Z, --context display SELinux security context for sockets\n")); + #endif + +- fprintf(fp, _("\n ={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}\n")); ++ fprintf(fp, _("\n ={-t|--tcp} {-m|--mptcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}\n")); + fprintf(fp, _(" {-x|--unix} --ax25 --ipx --netrom\n")); + fprintf(fp, _(" =Use '-6|-4' or '-A ' or '--'; default: %s\n"), DFLT_AF); + fprintf(fp, _(" List of possible address families (which support routing):\n")); +@@ -2019,6 +2097,7 @@ + #endif + {"protocol", 1, 0, 'A'}, + {"tcp", 0, 0, 't'}, ++ {"mptcp", 0, 0, 'm'}, + {"sctp", 0, 0, 'S'}, + {"udp", 0, 0, 'u'}, + {"udplite", 0, 0, 'U'}, +@@ -2055,7 +2134,7 @@ + getroute_init(); /* Set up AF routing support */ + + afname[0] = '\0'; +- while ((i = getopt_long(argc, argv, "A:CFMacdeghilnNoprsStuUvVWw2fx64?Z", longopts, &lop)) != EOF) ++ while ((i = getopt_long(argc, argv, "A:CFMacdeghilnNoprsStmuUvVWw2fx64?Z", longopts, &lop)) != EOF) + switch (i) { + case -1: + break; +@@ -2146,6 +2225,9 @@ + case 't': + flag_tcp++; + break; ++ case 'm': ++ flag_mptcp++; ++ break; + case 'S': + flag_sctp++; + break; +@@ -2194,17 +2276,17 @@ + usage(E_OPTERR); + + if ((flag_inet || flag_inet6 || flag_sta) && +- !(flag_tcp || flag_sctp || flag_udp || flag_udplite || flag_raw)) +- flag_noprot = flag_tcp = flag_sctp = flag_udp = flag_udplite = flag_raw = 1; ++ !(flag_tcp || flag_sctp || flag_mptcp || flag_udp || flag_udplite || flag_raw)) ++ flag_noprot = flag_tcp = flag_mptcp = flag_sctp = flag_udp = flag_udplite = flag_raw = 1; + +- if ((flag_tcp || flag_sctp || flag_udp || flag_udplite || flag_raw || flag_igmp) && ++ if ((flag_tcp || flag_sctp || flag_mptcp || flag_udp || flag_udplite || flag_raw || flag_igmp) && + !(flag_inet || flag_inet6)) + flag_inet = flag_inet6 = 1; + + if (flag_bluetooth && !(flag_l2cap || flag_rfcomm)) + flag_l2cap = flag_rfcomm = 1; + +- flag_arg = flag_tcp + flag_sctp + flag_udplite + flag_udp + flag_raw + flag_unx ++ flag_arg = flag_tcp + flag_mptcp +flag_sctp + flag_udplite + flag_udp + flag_raw + flag_unx + + flag_ipx + flag_ax25 + flag_netrom + flag_igmp + flag_x25 + flag_rose + + flag_l2cap + flag_rfcomm; + +@@ -2234,7 +2316,7 @@ + + if (!strcmp(afname, "inet")) { + #if HAVE_AFINET +- parsesnmp(flag_raw, flag_tcp, flag_udp, flag_sctp); ++ parsesnmp(flag_raw, flag_tcp, flag_udp, flag_sctp, flag_mptcp); + #else + ENOSUPP("netstat", "AF INET"); + #endif +@@ -2284,7 +2366,7 @@ + return (i); + } + for (;;) { +- if (!flag_arg || flag_tcp || flag_sctp || flag_udp || flag_udplite || flag_raw) { ++ if (!flag_arg || flag_tcp || flag_mptcp || flag_sctp || flag_udp || flag_udplite || flag_raw) { + #if HAVE_AFINET + prg_cache_load(); + printf(_("Active Internet connections ")); /* xxx */ +@@ -2298,6 +2380,8 @@ + printf(_("(w/o servers)")); + } + printf(_("\nProto Recv-Q Send-Q Local Address Foreign Address State ")); /* xxx */ ++ if (flag_mptcp) ++ printf(_(" Local Token Remote Token ")); + if (flag_exp > 1) + printf(_(" User Inode ")); + print_progname_banner(); +@@ -2318,6 +2402,12 @@ + if (i) + return (i); + } ++ ++ if (!flag_arg || flag_mptcp) { ++ i = mptcp_info(); ++ if (i) ++ return (i); ++ } + + if (!flag_arg || flag_sctp) { + i = sctp_info(); +diff -aurN net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/statistics.c net-tools-mptcp_v0.95/statistics.c +--- net-tools-code-0eebece8c964e3cfa8a018f42b2e7e751a7009a0/statistics.c 2018-11-03 14:23:32.000000000 +0100 ++++ net-tools-mptcp_v0.95/statistics.c 2019-06-22 22:52:42.000000000 +0200 +@@ -13,7 +13,7 @@ + #include "intl.h" + #include "proc.h" + +-static int print_static,f_raw,f_tcp,f_udp,f_sctp,f_unknown = 1; ++static int print_static,f_raw,f_tcp,f_udp,f_sctp,f_mptcp,f_unknown = 1; + + enum State { + number = 0, opt_number, i_forward, i_inp_icmp, i_outp_icmp, i_rto_alg, +@@ -295,6 +295,51 @@ + {"SctpShutdowns", N_("%llu Number of Graceful Terminations"), number}, + }; + ++static const struct entry Mptcptab[] = ++{ /* Keep the entries sorted! */ ++ {"AddAddrRx", N_("%llu Number of ADD_ADDRs received"), number}, ++ {"AddAddrTx", N_("%llu Number of ADD_ADDRs sent"), number}, ++ {"DSSNoMatchTCP", N_("%llu Number of DSS-mapping/TCP sequence number mismatches"), number}, ++ {"DSSNotMatching", N_("%llu Number of new mismatched mappings"), number}, ++ {"DSSPurgeOldSubSegs", N_("%llu Number of skbs removed from the rcv-queue due to missing DSS-mapping"), number}, ++ {"DSSSplitTail", N_("%llu Number of trimmed segments at the tail"), number}, ++ {"DSSTrimHead", N_("%llu Number of trimmed segments at the head"), number}, ++ {"InfiniteMapRx", N_("%llu Number of infinite mappings received"), number}, ++ {"MPCapableACKRX", N_("%llu Number of received third ACKs with MP_CAPABLE"), number}, ++ {"MPCapableFallbackACK", N_("%llu Number of server-side fallbacks during the 3-way handshake"), number}, ++ {"MPCapableFallbackSYNACK", N_("%llu Number of client-side fallbacks during the 3-way handshake"), number}, ++ {"MPCapableRetransFallback", N_("%llu Number of times the client-side stopped sending MP_CAPABLE after too many SYN-retransmissions"), ++ number}, ++ {"MPCapableSYNACKRX", N_("%llu Number of received SYN/ACKs with MP_CAPABLE"), number}, ++ {"MPCapableSYNRX", N_("%llu Number of received SYNs with MP_CAPABLE"), number}, ++ {"MPCapableSYNTX", N_("%llu Number of sent SYNs with MP_CAPABLE"), number}, ++ {"MPCsumFail", N_("%llu Number of received segments with an invalid checksum"), number}, ++ {"MPFailRX", N_("%llu Number of MP_FAILs received"), number}, ++ {"MPFallbackAckInit", N_("%llu Number of fallbacks upon ack without data-ack on initial subflow"), number}, ++ {"MPFallbackAckSub", N_("%llu Number of fallbacks upon ack without data-ack on new subflow"), number}, ++ {"MPFallbackDataInit", N_("%llu Number of fallbacks upon data without DSS at the beginning on initial subflow"), number}, ++ {"MPFallbackDataSub", N_("%llu Number of fallbacks upon data without DSS at the beginning on new subflow"), number}, ++ {"MPFastcloseRX", N_("%llu Number of FAST_CLOSEs received"), number}, ++ {"MPFastcloseTX", N_("%llu Number of FAST_CLOSEs sent"), number}, ++ {"MPJoinAckHMacFailure", N_("%llu Number of HMAC mismatches on ACK + MP_JOIN"), number}, ++ {"MPJoinAckMissing", N_("%llu Number of third ACKs on a new subflow not containing a MP_JOIN"), number}, ++ {"MPJoinAckRTO", N_("%llu Number of retransmission timeouts for third ACK + MP_JOIN"), number}, ++ {"MPJoinAckRexmit", N_("%llu Number of retransmitted ACK + MP_JOINs"), number}, ++ {"MPJoinAckRx", N_("%llu Number of ACK + MP_JOINs received"), number}, ++ {"MPJoinAlreadyFallenback", N_("%llu Number of received MP_JOINs on a session that has fallen back to reg. TCP"), number}, ++ {"MPJoinNoTokenFound", N_("%llu Number of received MP_JOINs without a token"), number}, ++ {"MPJoinSynAckHMacFailure", N_("%llu Number of received SYN/ACK + MP_JOINs with a HMAC mismatch"), number}, ++ {"MPJoinSynAckRx", N_("%llu Number of SYN/ACK + MP_JOINs received"), number}, ++ {"MPJoinSynRx", N_("%llu Number of SYN + MP_JOINs received"), number}, ++ {"MPJoinSynTx", N_("%llu Number of SYN + MP_JOINs sent"), number}, ++ {"MPRemoveAddrSubDelete", N_("%llu Number of subflows removed due to REMOVE_ADDR"), number}, ++ {"MPTCPCsumEnabled", N_("%llu Number of MPTCP connections created with DSS-checksum enabled"), number}, ++ {"MPTCPRetrans", N_("%llu Number of segments retransmitted at the MPTCP level"), number}, ++ {"NoDSSInWindow", N_("%llu Number of too many packets received without a DSS option errors"), number}, ++ {"RemAddrRx", N_("%llu Number of REMOVE_ADDRs received"), number}, ++ {"RemAddrTx", N_("%llu Number of REMOVE_ADDRs sent"), number}, ++}; ++ + struct tabtab { + const char *title; + const struct entry *tab; +@@ -310,6 +355,7 @@ + {"Udp", Udptab, sizeof(Udptab), &f_udp}, + {"Sctp", Sctptab, sizeof(Sctptab), &f_sctp}, + {"TcpExt", Tcpexttab, sizeof(Tcpexttab), &f_tcp}, ++ {"Mptcp", Mptcptab, sizeof(Mptcptab), &f_mptcp}, + {NULL} + }; + +@@ -503,13 +549,13 @@ + } + + /* Process a file with name-value lines (like /proc/net/sctp/snmp) */ +-static void process_fd2(FILE *f, const char *filename) ++static void process_fd2(FILE *f, const char *filename, const char *tablename) + { + char buf1[1024]; + char *sp; + const struct tabtab *tab; + +- tab = newtable(snmptabs, "Sctp"); ++ tab = newtable(snmptabs, tablename); + + while (fgets(buf1, sizeof buf1, f)) { + sp = buf1 + strcspn(buf1, " \t\n"); +@@ -527,11 +573,11 @@ + } + } + +-void parsesnmp(int flag_raw, int flag_tcp, int flag_udp, int flag_sctp) ++void parsesnmp(int flag_raw, int flag_tcp, int flag_udp, int flag_sctp, int flag_mptcp) + { + FILE *f; + +- f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp; f_sctp = flag_sctp; ++ f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp; f_sctp = flag_sctp; f_mptcp = flag_mptcp; + + f = proc_fopen("/proc/net/snmp"); + if (!f) { +@@ -561,12 +607,21 @@ + + f = proc_fopen("/proc/net/sctp/snmp"); + if (f) { +- process_fd2(f,"/proc/net/sctp/snmp"); ++ process_fd2(f,"/proc/net/sctp/snmp", "Sctp"); + if (ferror(f)) { + perror("/proc/net/sctp/snmp"); + fclose(f); + } + } ++ ++ f = proc_fopen("/proc/net/mptcp_net/snmp"); ++ if (f) { ++ process_fd2(f,"/proc/net/mptcp_net/snmp", "Mptcp"); ++ if (ferror(f)) { ++ perror("/proc/net/mptcp_net/snmp"); ++ fclose(f); ++ } ++ } + } + + void parsesnmp6(int flag_raw, int flag_tcp, int flag_udp) diff --git a/omr-6in4/Makefile b/omr-6in4/Makefile old mode 100755 new mode 100644 diff --git a/protobuf/Makefile b/protobuf/Makefile index de6aa5a40..cc314bbea 100644 --- a/protobuf/Makefile +++ b/protobuf/Makefile @@ -8,18 +8,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=protobuf -PKG_VERSION:=3.17.3 -PKG_RELEASE:=1 +PKG_VERSION:=3.14.0 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-cpp-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/google/protobuf/releases/download/v$(PKG_VERSION) -PKG_HASH:=51cec99f108b83422b7af1170afd7aeb2dd77d2bcbb7b6bad1f92509e9ccf8cb +PKG_HASH:=50ec5a07c0c55d4ec536dd49021f2e194a26bfdbc531d03d1e9d4d3e27175659 PKG_MAINTAINER:=Ken Keys PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:google:protobuf +HOST_BUILD_PARALLEL:=1 +PKG_BUILD_PARALLEL:=1 CMAKE_SOURCE_SUBDIR:=cmake include $(INCLUDE_DIR)/package.mk diff --git a/protobuf/patches/010-rpath.patch b/protobuf/patches/010-rpath.patch deleted file mode 100644 index ef3e98ab1..000000000 --- a/protobuf/patches/010-rpath.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -16,8 +16,8 @@ foreach(_library ${_protobuf_libraries}) - $ - $) - if (UNIX AND NOT APPLE) -- set_property(TARGET ${_library} -- PROPERTY INSTALL_RPATH "$ORIGIN") -+# set_property(TARGET ${_library} -+# PROPERTY INSTALL_RPATH "$ORIGIN") - elseif (APPLE) - set_property(TARGET ${_library} - PROPERTY INSTALL_RPATH "@loader_path") -@@ -34,8 +34,8 @@ if (protobuf_BUILD_PROTOC_BINARIES) - BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT protoc) - if (UNIX AND NOT APPLE) -- set_property(TARGET protoc -- PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") -+# set_property(TARGET protoc -+# PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") - elseif (APPLE) - set_property(TARGET protoc - PROPERTY INSTALL_RPATH "@loader_path/../lib") diff --git a/serdisplib/Makefile b/serdisplib/Makefile index 8b36a4a51..c0b2af05d 100644 --- a/serdisplib/Makefile +++ b/serdisplib/Makefile @@ -1,83 +1,58 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# Copyright (C) 2019 Ycarus (Yannick Chabanois) +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + include $(TOPDIR)/rules.mk PKG_NAME:=serdisplib -PKG_VERSION:=2.02 -PKG_RELEASE:=2 +PKG_VERSION:=2.01 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/serdisplib -PKG_HASH:=447b74007dc157b0378044245649850b26432b9185b6540ff681fcb0765c4d8b - -PKG_MAINTAINER:=Daniel Golle -PKG_LICENSE:=GPL-2.0-or-later -PLG_LICENSE_FILES:=COPYING - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=1 -PKG_BUILD_DEPENDS:=libusb-compat +PKG_MD5SUM:=4eb17cd70aa963c30a237d426ac24449 include $(INCLUDE_DIR)/package.mk define Package/serdisplib SECTION:=libs CATEGORY:=Libraries - TITLE:=serdisplib + TITLE:=A display control library URL:=http://serdisplib.sourceforge.net/ + DEPENDS:=+libusb-1.0 +libusb-compat endef define Package/serdisplib/description - serdisplib started as a library to drive serial displays with - built-in controllers. It can optionally dynamically link with - libusb-compat, libgd and libpthread, some features require having - those packages installed as well. + serdisplib is a library to drive serial and parallel displays + with built-in controllers. endef -define Package/serdisplib-tools - SECTION:=utils - CATEGORY:=Utilities - TITLE:=serdisplib tools - URL:=http://serdisplib.sourceforge.net/ - DEPENDS:=+serdisplib +libgd +CONFIGURE_ARGS+= \ + --enable-shared \ + --enable-static \ + +TARGET_CFLAGS += $(FPIC) + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CFLAGS="$(TARGET_CFLAGS) -Wall -Wno-implicit -I../include -I.." \ + all endef -define Package/serdisplib-tools/description - serdisplib started as a library to drive serial displays with - built-in controllers. This package contains tools for serdisplib: - * l4m132c_tool - * l4m320t_tool - * multidisplay - * sdcmegtron_tool - * touchscreen_tool -endef - -CONFIGURE_VARS += \ - ac_cv_build=$(GNU_TARGET_NAME) - -CONFIGURE_ARGS += \ - --enable-dynloading \ - --disable-statictools - define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include/serdisplib - $(CP) $(PKG_INSTALL_DIR)/usr/include/serdisplib/*.h $(1)/usr/include/serdisplib + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/include/serdisplib $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libserdisp.{a,so*} $(1)/usr/lib/ + $(CP) $(PKG_BUILD_DIR)/lib/libserdisp.{a,so*} $(1)/usr/lib/ endef define Package/serdisplib/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libserdisp.so* $(1)/usr/lib/ -endef - -define Package/serdisplib-tools/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l4m132c_tool $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l4m320t_tool $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/multidisplay $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sdcmegtron_tool $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/touchscreen_tool $(1)/usr/bin + $(CP) $(PKG_BUILD_DIR)/lib/libserdisp.so.* $(1)/usr/lib endef $(eval $(call BuildPackage,serdisplib)) -$(eval $(call BuildPackage,serdisplib-tools)) diff --git a/serdisplib/patches/002-allow-1bpp-framebuffer.patch b/serdisplib/patches/002-allow-1bpp-framebuffer.patch deleted file mode 100644 index ada4281e9..000000000 --- a/serdisplib/patches/002-allow-1bpp-framebuffer.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/src/serdisp_specific_framebuffer.c -+++ b/src/serdisp_specific_framebuffer.c -@@ -312,13 +312,15 @@ serdisp_t* serdisp_framebuffer_setup(con - - if (fb_success) { - /* check if colour mode is supported */ -- if (! (vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) { -+ if (! (vinfo.bits_per_pixel == 1 ||vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) { - sd_error(SERDISP_ERUNTIME, "unsupported colour depth (%d)", vinfo.bits_per_pixel); - fb_success = 0; - } - } -- -- dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8; -+ if (vinfo.bits_per_pixel == 1) -+ dd->scrbuf_size = (vinfo.xres * vinfo.yres) / 8; -+ else -+ dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8; - - if (fb_success) { - /* map framebuffer device to memory */ diff --git a/serdisplib/patches/010-cross-compile.patch b/serdisplib/patches/010-cross-compile.patch deleted file mode 100644 index 339322251..000000000 --- a/serdisplib/patches/010-cross-compile.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- a/Makefile.in -+++ b/Makefile.in -@@ -44,8 +44,8 @@ all: - done && test -z "$$fail" - - install: -- $(top_srcdir)/mkinstalldirs $(libdir)/pkgconfig -- $(INSTALL_DATA) serdisplib.pc $(libdir)/pkgconfig/ -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig -+ $(INSTALL_DATA) serdisplib.pc $(DESTDIR)$(libdir)/pkgconfig/ - @for dir in ${subdirs}; do \ - (cd $(srcdir) && cd $$dir && $(MAKE) install) \ - || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ ---- a/server/Makefile.in -+++ b/server/Makefile.in -@@ -102,9 +102,9 @@ distclean: clean - - - install: $(PROGRAMS) -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(top_srcdir)/mkinstalldirs $(sbindir) -- $(top_srcdir)/mkinstalldirs $(sysconfdir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sbindir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir) - list='$(PROGRAMS_SBIN)'; \ - for prog in $$list; do \ - $(INSTALL_PROGRAM) $$prog $(sbindir)/ ; \ ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -28,7 +28,7 @@ includedir = @includedir@ - datarootdir = @datarootdir@ - - CC=@CC@ --AR=@AR@ -r -+AR=@AR@ - LN_S=@LN_S@ - INSTALL=@INSTALL@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ -@@ -184,14 +184,14 @@ programs: $(PROGRAMS) - $(CC) $(CFLAGS) $(DEFINES) -c $< - - $(LIB_DIR)/$(LIB_STATIC): $(LIB_OBJECTS) -- $(top_srcdir)/mkinstalldirs $(top_srcdir)/lib -- $(AR) $(LIB_DIR)/$(LIB_STATIC) $(LIB_OBJECTS) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(top_srcdir)/lib -+ $(AR) -r -- $(LIB_DIR)/$(LIB_STATIC) $(LIB_OBJECTS) - - $(LIB_DIR)/$(LIB_SHARED): $(LIB_OBJECTS) -- $(top_srcdir)/mkinstalldirs $(top_srcdir)/lib -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(top_srcdir)/lib - $(CC) -fPIC -shared $(SONAME_FLAG) -o $(LIB_DIR)/$(LIB_SHARED) $(LIB_OBJECTS) $(LDFLAGS) $(EXTRA_LIBS) -- cd $(LIB_DIR) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR) -- cd $(LIB_DIR) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so -+ cd $(DESTDIR)$(LIB_DIR) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR) -+ cd $(DESTDIR)$(LIB_DIR) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so - - testserdisp: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS) - $(CC) -o testserdisp $(OBJECTS) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC) -@@ -204,20 +204,20 @@ distclean: clean - /bin/rm -f Makefile - - install: $(LIB_DIR)/$(LIB_SHARED) $(LIB_DIR)/$(LIB_STATIC) -- $(top_srcdir)/mkinstalldirs $(bindir) -- $(top_srcdir)/mkinstalldirs $(libdir) -- $(top_srcdir)/mkinstalldirs $(includedir) -- $(top_srcdir)/mkinstalldirs $(includedir)/serdisplib -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir) -+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir)/serdisplib - -- $(INSTALL_PROGRAM) $(PROGRAMS) $(bindir)/ -- $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHARED) $(libdir)/ -- $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STATIC) $(libdir)/ -+ $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir)/ -+ $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHARED) $(DESTDIR)$(libdir)/ -+ $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STATIC) $(DESTDIR)$(libdir)/ - list='$(LIB_HEADERFILES)'; \ - for headerfile in $$list; do \ -- $(INSTALL_DATA) ../include/serdisplib/$$headerfile $(includedir)/serdisplib/ ; \ -+ $(INSTALL_DATA) ../include/serdisplib/$$headerfile $(DESTDIR)$(includedir)/serdisplib/ ; \ - done -- cd $(libdir) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR) -- cd $(libdir) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so -+ cd $(DESTDIR)$(libdir) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR) -+ cd $(DESTDIR)$(libdir) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so - - uninstall: - -/bin/rm -f $(libdir)/libserdisp* ---- a/tools/Makefile.in -+++ b/tools/Makefile.in -@@ -151,7 +151,7 @@ distclean: clean - install: $(PROGRAMS) - list='$(PROGRAMS)'; \ - for prog in $$list; do \ -- $(INSTALL_PROGRAM) $$prog $(bindir)/ ; \ -+ $(INSTALL_PROGRAM) $$prog $(DESTDIR)$(bindir)/ ; \ - done - - uninstall: $(PROGRAMS) diff --git a/speedtestc/Makefile b/speedtestc/Makefile old mode 100755 new mode 100644 diff --git a/speedtestcpp/Makefile b/speedtestcpp/Makefile index 95e8dc382..db25f5bb8 100644 --- a/speedtestcpp/Makefile +++ b/speedtestcpp/Makefile @@ -1,66 +1,42 @@ +# +# Copyright (C) 2021 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + include $(TOPDIR)/rules.mk PKG_NAME:=speedtestcpp -PKG_VERSION:=1.20.2 -PKG_RELEASE:=1 +PKG_VERSION:=1.12 +PKG_RELEASE:=2 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_VERSION:=a01ae6eb04c5d3f4847aef73bf77849275ccc6eb PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/oskarirauta/speedtestcpp/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=7d5c85f1d9a46f7d8a3ac4261ef1f92e53c511430bae096f7ec6f12a33d38904 +PKG_SOURCE_URL:=https://github.com/fmantz/SpeedTest.git -PKG_MAINTAINER:=Oskari Rauta +PKG_MAINTAINER:=Ycarus PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE +CMAKE_INSTALL:=1 + include $(INCLUDE_DIR)/package.mk - -define Package/libspeedtestcpp - SECTION:=libs - CATEGORY:=Libraries - TITLE:=library for ookla's speedtest - DEPENDS:=+libcurl +libstdcpp - URL:=https://github.com/oskarirauta/speedtestcpp -endef - -define Package/libspeedtestcpp/description - Shared library that provides support for ookla's speedtest -endef +include $(INCLUDE_DIR)/cmake.mk define Package/speedtestcpp - SECTION:=net - CATEGORY:=Network - TITLE:=SpeedTest++ - DEPENDS:=+libspeedtestcpp +libstdcpp - URL:=https://github.com/oskarirauta/speedtestcpp - PROVIDES:=speedtestpp -endef - -define Package/speedtestcpp/description - Yet another unofficial speedtest.net client cli interface - forked from taganaka's SpeedTest with few improments and - lesser depends. -endef - -TARGET_CXXFLAGS += --std=c++23 -fPIC - -define Build/Configure -endef - -define Package/libspeedtestcpp/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libspeedtestcpp.so* $(1)/usr/lib/ + SECTION:=net + CATEGORY:=Network + TITLE:=Yet another unofficial speedtest.net client cli interface + URL:=https://github.com/fmantz/SpeedTest + DEPENDS:=+curl +libstdcpp +libopenssl +libxml2 endef define Package/speedtestcpp/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/speedtest $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/SpeedTest $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/speedtestJson $(1)/usr/bin/ endef -define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/speedtest - $(CP) $(PKG_BUILD_DIR)/libspeedtestcpp.{so*,a} $(1)/usr/lib/ - $(CP) $(PKG_BUILD_DIR)/include/speedtest/*.hpp $(1)/usr/include/speedtest/ -endef - -$(eval $(call BuildPackage,libspeedtestcpp)) -$(eval $(call BuildPackage,speedtestcpp)) +$(eval $(call BuildPackage,speedtestcpp)) \ No newline at end of file diff --git a/tsping/Makefile b/tsping/Makefile old mode 100755 new mode 100644