This patch updates tcpdump to version 4.3.0 Signed-off-by: Christoph König <christoph.koenig+open...@gmail.com> --- Index: package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch =================================================================== --- package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch (Revision 34497) +++ package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch (Arbeitskopie) @@ -1,6 +1,6 @@ --- a/tcpdump.c +++ b/tcpdump.c -@@ -982,20 +982,6 @@ main(int argc, char **argv) +@@ -988,20 +988,6 @@ main(int argc, char **argv) error("invalid data link type %s", gndo->ndo_dltname); break;
Index: package/network/utils/tcpdump/patches/100-tcpdump_mini.patch =================================================================== --- package/network/utils/tcpdump/patches/100-tcpdump_mini.patch (Revision 34497) +++ package/network/utils/tcpdump/patches/100-tcpdump_mini.patch (Arbeitskopie) @@ -32,7 +32,7 @@ LOCALSRC = @LOCALSRC@ GENSRC = version.c LIBOBJS = @LIBOBJS@ -@@ -361,10 +379,12 @@ $(PROG): $(OBJ) @V_PCAPDEP@ +@@ -364,10 +382,12 @@ $(PROG): $(OBJ) @V_PCAPDEP@ @rm -f $@ $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) @@ -47,7 +47,7 @@ $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c --- a/addrtoname.c +++ b/addrtoname.c -@@ -547,10 +547,10 @@ linkaddr_string(const u_char *ep, const unsigned int type, const unsigned int le +@@ -547,10 +547,10 @@ linkaddr_string(const u_char *ep, const if (type == LINKADDR_ETHER && len == ETHER_ADDR_LEN) return (etheraddr_string(ep)); @@ -60,7 +60,7 @@ tp = lookup_bytestring(ep, len); if (tp->e_name) return (tp->e_name); -@@ -1150,6 +1150,7 @@ init_addrtoname(u_int32_t localnet, u_int32_t mask) +@@ -1150,6 +1150,7 @@ init_addrtoname(u_int32_t localnet, u_in init_ipxsaparray(); } @@ -140,11 +140,11 @@ return (1); +#endif - case ETHERTYPE_LAT: - case ETHERTYPE_SCA: + case ETHERTYPE_TIPC: + tipc_print(ndo, p, length, caplen); --- a/print-gre.c +++ b/print-gre.c -@@ -213,6 +213,7 @@ gre_print_0(const u_char *bp, u_int length) +@@ -213,6 +213,7 @@ gre_print_0(const u_char *bp, u_int leng ip6_print(gndo, bp, len); break; #endif @@ -152,7 +152,7 @@ case ETHERTYPE_MPLS: mpls_print(bp, len); break; -@@ -228,6 +229,7 @@ gre_print_0(const u_char *bp, u_int length) +@@ -228,6 +229,7 @@ gre_print_0(const u_char *bp, u_int leng case ETHERTYPE_TEB: ether_print(gndo, bp, len, len, NULL, NULL); break; @@ -162,7 +162,7 @@ } --- a/print-igmp.c +++ b/print-igmp.c -@@ -305,6 +305,7 @@ igmp_print(register const u_char *bp, register u_int len) +@@ -309,6 +309,7 @@ igmp_print(register const u_char *bp, re TCHECK2(bp[4], 4); (void)printf("igmp leave %s", ipaddr_string(&bp[4])); break; @@ -170,7 +170,7 @@ case 0x13: (void)printf("igmp dvmrp"); if (len < 8) -@@ -316,6 +317,7 @@ igmp_print(register const u_char *bp, register u_int len) +@@ -320,6 +321,7 @@ igmp_print(register const u_char *bp, re (void)printf("igmp pimv1"); pimv1_print(bp, len); break; @@ -188,7 +188,7 @@ case IPPROTO_AH: ipds->nh = *ipds->cp; ipds->advance = ah_print(ipds->cp); -@@ -362,14 +363,16 @@ again: +@@ -362,15 +363,15 @@ again: ipds->nh = enh & 0xff; goto again; } @@ -197,33 +197,35 @@ case IPPROTO_SCTP: sctp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len); break; - +- +#ifndef TCPDUMP_MINI case IPPROTO_DCCP: dccp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len); break; +- +#endif - case IPPROTO_TCP: /* pass on the MF bit plus the offset to detect fragments */ -@@ -389,6 +392,7 @@ again: + tcp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip, +@@ -388,7 +389,7 @@ again: + icmp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip, ipds->off & (IP_MF|IP_OFFMASK)); break; - +- +#ifndef TCPDUMP_MINI case IPPROTO_PIGP: /* * XXX - the current IANA protocol number assignments -@@ -409,15 +413,16 @@ again: +@@ -409,15 +410,15 @@ again: case IPPROTO_EIGRP: eigrp_print(ipds->cp, ipds->len); break; -- +- +#endif case IPPROTO_ND: ND_PRINT((ndo, " nd %d", ipds->len)); break; - +- +#ifndef TCPDUMP_MINI case IPPROTO_EGP: egp_print(ipds->cp, ipds->len); @@ -233,7 +235,7 @@ case IPPROTO_OSPF: ospf_print(ipds->cp, ipds->len, (const u_char *)ipds->ip); break; -@@ -451,10 +456,10 @@ again: +@@ -451,10 +452,10 @@ again: gre_print(ipds->cp, ipds->len); break; @@ -245,18 +247,18 @@ case IPPROTO_PIM: vec[0].ptr = ipds->cp; vec[0].len = ipds->len; -@@ -480,7 +485,7 @@ again: +@@ -480,7 +481,7 @@ again: case IPPROTO_PGM: pgm_print(ipds->cp, ipds->len, (const u_char *)ipds->ip); break; - +#endif default: - if ((proto = getprotobynumber(ipds->nh)) != NULL) + if (ndo->ndo_nflag==0 && (proto = getprotobynumber(ipds->nh)) != NULL) ND_PRINT((ndo, " %s", proto->p_name)); --- a/print-ip6.c +++ b/print-ip6.c -@@ -192,9 +192,11 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) +@@ -192,9 +192,11 @@ ip6_print(netdissect_options *ndo, const case IPPROTO_SCTP: sctp_print(cp, (const u_char *)ip6, len); return; @@ -268,7 +270,7 @@ case IPPROTO_TCP: tcp_print(cp, len, (const u_char *)ip6, fragmented); return; -@@ -204,6 +206,7 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) +@@ -204,6 +206,7 @@ ip6_print(netdissect_options *ndo, const case IPPROTO_ICMPV6: icmp6_print(ndo, cp, len, (const u_char *)ip6, fragmented); return; @@ -276,7 +278,7 @@ case IPPROTO_AH: advance = ah_print(cp); nh = *cp; -@@ -228,7 +231,7 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) +@@ -228,7 +231,7 @@ ip6_print(netdissect_options *ndo, const pim_print(cp, len, nextproto6_cksum(ip6, cp, len, IPPROTO_PIM)); return; @@ -285,7 +287,7 @@ case IPPROTO_OSPF: ospf6_print(cp, len); return; -@@ -240,11 +243,11 @@ ip6_print(netdissect_options *ndo, const u_char *bp, u_int length) +@@ -240,11 +243,11 @@ ip6_print(netdissect_options *ndo, const case IPPROTO_IPV4: ip_print(ndo, cp, len); return; @@ -301,7 +303,7 @@ return; --- a/print-llc.c +++ b/print-llc.c -@@ -195,7 +195,7 @@ llc_print(const u_char *p, u_int length, u_int caplen, +@@ -195,7 +195,7 @@ llc_print(const u_char *p, u_int length, control = EXTRACT_LE_16BITS(p + 2); is_u = 0; } @@ -310,7 +312,7 @@ if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) { /* * This is an Ethernet_802.3 IPX frame; it has an -@@ -218,6 +218,7 @@ llc_print(const u_char *p, u_int length, u_int caplen, +@@ -218,6 +218,7 @@ llc_print(const u_char *p, u_int length, ipx_print(p, length); return (1); } @@ -318,7 +320,7 @@ dsap = dsap_field & ~LLC_IG; ssap = ssap_field & ~LLC_GSAP; -@@ -250,6 +251,7 @@ llc_print(const u_char *p, u_int length, u_int caplen, +@@ -250,6 +251,7 @@ llc_print(const u_char *p, u_int length, return (1); } @@ -326,7 +328,7 @@ if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX && control == LLC_UI) { /* -@@ -265,6 +267,7 @@ llc_print(const u_char *p, u_int length, u_int caplen, +@@ -265,6 +267,7 @@ llc_print(const u_char *p, u_int length, ipx_print(p+3, length-3); return (1); } @@ -334,7 +336,7 @@ #ifdef TCPDUMP_DO_SMB if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI -@@ -296,11 +299,13 @@ llc_print(const u_char *p, u_int length, u_int caplen, +@@ -296,11 +299,13 @@ llc_print(const u_char *p, u_int length, return (1); } #endif @@ -348,7 +350,7 @@ if (ssap == LLCSAP_SNAP && dsap == LLCSAP_SNAP && control == LLC_UI) { -@@ -443,6 +448,7 @@ snap_print(const u_char *p, u_int length, u_int caplen, u_int bridge_pad) +@@ -443,6 +448,7 @@ snap_print(const u_char *p, u_int length case PID_CISCO_CDP: cdp_print(p, length, caplen); return (1); @@ -356,7 +358,7 @@ case PID_CISCO_DTP: dtp_print(p, length); return (1); -@@ -452,6 +458,7 @@ snap_print(const u_char *p, u_int length, u_int caplen, u_int bridge_pad) +@@ -452,6 +458,7 @@ snap_print(const u_char *p, u_int length case PID_CISCO_VTP: vtp_print(p, length); return (1); @@ -364,7 +366,7 @@ case PID_CISCO_PVST: stp_print(p, length); return (1); -@@ -482,6 +489,7 @@ snap_print(const u_char *p, u_int length, u_int caplen, u_int bridge_pad) +@@ -482,6 +489,7 @@ snap_print(const u_char *p, u_int length ether_print(gndo, p, length, caplen, NULL, NULL); return (1); @@ -372,7 +374,7 @@ case PID_RFC2684_802_5_FCS: case PID_RFC2684_802_5_NOFCS: /* -@@ -523,6 +531,7 @@ snap_print(const u_char *p, u_int length, u_int caplen, u_int bridge_pad) +@@ -523,6 +531,7 @@ snap_print(const u_char *p, u_int length */ fddi_print(p, length, caplen); return (1); @@ -382,7 +384,7 @@ stp_print(p, length); --- a/print-null.c +++ b/print-null.c -@@ -128,7 +128,7 @@ null_if_print(const struct pcap_pkthdr *h, const u_char *p) +@@ -128,7 +128,7 @@ null_if_print(const struct pcap_pkthdr * ip6_print(gndo, p, length); break; #endif @@ -391,7 +393,7 @@ case BSD_AFNUM_ISO: isoclns_print(p, length, caplen); break; -@@ -140,7 +140,7 @@ null_if_print(const struct pcap_pkthdr *h, const u_char *p) +@@ -140,7 +140,7 @@ null_if_print(const struct pcap_pkthdr * case BSD_AFNUM_IPX: ipx_print(p, length); break; @@ -432,7 +434,7 @@ switch (proto) { case PPP_LCP: /* fall through */ case PPP_IPCP: -@@ -1371,6 +1373,7 @@ handle_ppp(u_int proto, const u_char *p, int length) +@@ -1371,6 +1373,7 @@ handle_ppp(u_int proto, const u_char *p, ip6_print(gndo, p, length); break; #endif @@ -440,7 +442,7 @@ case ETHERTYPE_IPX: /*XXX*/ case PPP_IPX: ipx_print(p, length); -@@ -1382,6 +1385,7 @@ handle_ppp(u_int proto, const u_char *p, int length) +@@ -1382,6 +1385,7 @@ handle_ppp(u_int proto, const u_char *p, case PPP_MPLS_MCAST: mpls_print(p, length); break; @@ -448,7 +450,7 @@ case PPP_COMP: printf("compressed PPP data"); break; -@@ -1520,6 +1524,7 @@ ppp_if_print(const struct pcap_pkthdr *h, register const u_char *p) +@@ -1520,6 +1524,7 @@ ppp_if_print(const struct pcap_pkthdr *h return (0); } @@ -467,7 +469,7 @@ * Local Variables: --- a/print-tcp.c +++ b/print-tcp.c -@@ -652,8 +652,10 @@ tcp_print(register const u_char *bp, register u_int length, +@@ -652,8 +652,10 @@ tcp_print(register const u_char *bp, reg else if (sport == SMB_PORT || dport == SMB_PORT) smb_tcp_print(bp, length); #endif @@ -478,7 +480,7 @@ else if (length > 2 && (sport == NAMESERVER_PORT || dport == NAMESERVER_PORT || sport == MULTICASTDNS_PORT || dport == MULTICASTDNS_PORT)) { -@@ -662,6 +664,7 @@ tcp_print(register const u_char *bp, register u_int length, +@@ -662,6 +664,7 @@ tcp_print(register const u_char *bp, reg * XXX packet could be unaligned, it can go strange */ ns_print(bp + 2, length - 2, 0); @@ -486,7 +488,7 @@ } else if (sport == MSDP_PORT || dport == MSDP_PORT) { msdp_print(bp, length); } else if (sport == RPKI_RTR_PORT || dport == RPKI_RTR_PORT) { -@@ -669,6 +672,7 @@ tcp_print(register const u_char *bp, register u_int length, +@@ -669,6 +672,7 @@ tcp_print(register const u_char *bp, reg } else if (length > 0 && (sport == LDP_PORT || dport == LDP_PORT)) { ldp_print(bp, length); @@ -496,7 +498,7 @@ return; --- a/print-udp.c +++ b/print-udp.c -@@ -418,11 +418,12 @@ udp_print(register const u_char *bp, u_int length, +@@ -418,11 +418,12 @@ udp_print(register const u_char *bp, u_i vat_print((void *)(up + 1), up); break; @@ -510,7 +512,7 @@ case PT_RPC: rp = (struct sunrpc_msg *)(up + 1); direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction); -@@ -450,11 +451,12 @@ udp_print(register const u_char *bp, u_int length, +@@ -450,11 +451,12 @@ udp_print(register const u_char *bp, u_i snmp_print((const u_char *)(up + 1), length); break; @@ -524,7 +526,7 @@ case PT_TFTP: udpipaddr_print(ip, sport, dport); tftp_print(cp, length); -@@ -497,6 +499,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -497,6 +499,7 @@ udp_print(register const u_char *bp, u_i } #endif } @@ -532,7 +534,7 @@ if (TTEST(((struct LAP *)cp)->type) && ((struct LAP *)cp)->type == lapDDP && (atalk_port(sport) || atalk_port(dport))) { -@@ -505,6 +508,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -505,6 +508,7 @@ udp_print(register const u_char *bp, u_i llap_print(cp, length); return; } @@ -540,7 +542,7 @@ } udpipaddr_print(ip, sport, dport); -@@ -555,14 +559,18 @@ udp_print(register const u_char *bp, u_int length, +@@ -555,14 +559,18 @@ udp_print(register const u_char *bp, u_i ns_print((const u_char *)(up + 1), length, 0); else if (ISPORT(MULTICASTDNS_PORT)) ns_print((const u_char *)(up + 1), length, 1); @@ -559,7 +561,7 @@ else if (ISPORT(AODV_PORT)) aodv_print((const u_char *)(up + 1), length, #ifdef INET6 -@@ -570,6 +578,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -570,6 +578,7 @@ udp_print(register const u_char *bp, u_i #else 0); #endif @@ -567,7 +569,7 @@ else if (ISPORT(ISAKMP_PORT)) isakmp_print(gndo, (const u_char *)(up + 1), length, bp2); else if (ISPORT(ISAKMP_PORT_NATT)) -@@ -578,12 +587,15 @@ udp_print(register const u_char *bp, u_int length, +@@ -578,12 +587,15 @@ udp_print(register const u_char *bp, u_i else if (ISPORT(ISAKMP_PORT_USER1) || ISPORT(ISAKMP_PORT_USER2)) isakmp_print(gndo, (const u_char *)(up + 1), length, bp2); #endif @@ -583,7 +585,7 @@ else if (ISPORT(L2TP_PORT)) l2tp_print((const u_char *)(up + 1), length); #ifdef TCPDUMP_DO_SMB -@@ -594,6 +606,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -594,6 +606,7 @@ udp_print(register const u_char *bp, u_i #endif else if (dport == 3456) vat_print((const void *)(up + 1), up); @@ -591,7 +593,7 @@ else if (ISPORT(ZEPHYR_SRV_PORT) || ISPORT(ZEPHYR_CLT_PORT)) zephyr_print((const void *)(up + 1), length); /* -@@ -604,6 +617,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -604,6 +617,7 @@ udp_print(register const u_char *bp, u_i (dport >= RX_PORT_LOW && dport <= RX_PORT_HIGH)) rx_print((const void *)(up + 1), length, sport, dport, (u_char *) ip); @@ -599,7 +601,7 @@ #ifdef INET6 else if (ISPORT(RIPNG_PORT)) ripng_print((const u_char *)(up + 1), length); -@@ -615,21 +629,25 @@ udp_print(register const u_char *bp, u_int length, +@@ -615,21 +629,25 @@ udp_print(register const u_char *bp, u_i /* * Kludge in test for whiteboard packets. */ @@ -625,7 +627,7 @@ else if (ISPORT(OLSR_PORT)) olsr_print((const u_char *)(up + 1), length, #if INET6 -@@ -637,6 +655,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -637,6 +655,7 @@ udp_print(register const u_char *bp, u_i #else 0); #endif @@ -633,7 +635,7 @@ else if (ISPORT(MPLS_LSP_PING_PORT)) lspping_print((const u_char *)(up + 1), length); else if (dport == BFD_CONTROL_PORT || -@@ -654,6 +673,7 @@ udp_print(register const u_char *bp, u_int length, +@@ -654,6 +673,7 @@ udp_print(register const u_char *bp, u_i lwapp_control_print((const u_char *)(up + 1), length, 0); else if (ISPORT(LWAPP_DATA_PORT)) lwapp_data_print((const u_char *)(up + 1), length); @@ -643,7 +645,7 @@ else if (ISPORT(SYSLOG_PORT)) --- a/tcpdump.c +++ b/tcpdump.c -@@ -148,6 +148,7 @@ struct ndo_printer { +@@ -154,6 +154,7 @@ struct ndo_printer { static struct printer printers[] = { @@ -651,7 +653,7 @@ { arcnet_if_print, DLT_ARCNET }, #ifdef DLT_ARCNET_LINUX { arcnet_linux_if_print, DLT_ARCNET_LINUX }, -@@ -166,19 +167,23 @@ static struct printer printers[] = { +@@ -172,19 +173,23 @@ static struct printer printers[] = { #ifdef DLT_SLIP_BSDOS { sl_bsdos_if_print, DLT_SLIP_BSDOS }, #endif @@ -675,7 +677,7 @@ { atm_if_print, DLT_ATM_RFC1483 }, #ifdef DLT_C_HDLC { chdlc_if_print, DLT_C_HDLC }, -@@ -189,15 +194,19 @@ static struct printer printers[] = { +@@ -195,15 +200,19 @@ static struct printer printers[] = { #ifdef DLT_PPP_SERIAL { ppp_hdlc_if_print, DLT_PPP_SERIAL }, #endif @@ -695,7 +697,7 @@ #ifdef DLT_LTALK { ltalk_if_print, DLT_LTALK }, #endif -@@ -216,12 +225,14 @@ static struct printer printers[] = { +@@ -222,12 +231,14 @@ static struct printer printers[] = { #ifdef DLT_IP_OVER_FC { ipfc_if_print, DLT_IP_OVER_FC }, #endif @@ -710,7 +712,7 @@ #ifdef DLT_ENC { enc_if_print, DLT_ENC }, #endif -@@ -231,9 +242,11 @@ static struct printer printers[] = { +@@ -237,9 +248,11 @@ static struct printer printers[] = { #ifdef DLT_APPLE_IP_OVER_IEEE1394 { ap1394_if_print, DLT_APPLE_IP_OVER_IEEE1394 }, #endif @@ -722,7 +724,7 @@ #ifdef DLT_JUNIPER_ATM1 { juniper_atm1_print, DLT_JUNIPER_ATM1 }, #endif -@@ -299,6 +312,7 @@ static struct printer printers[] = { +@@ -305,6 +318,7 @@ static struct printer printers[] = { #ifdef DLT_IPV6 { raw_if_print, DLT_IPV6 }, #endif @@ -730,7 +732,7 @@ { NULL, 0 }, }; -@@ -307,6 +321,7 @@ static struct ndo_printer ndo_printers[] = { +@@ -313,6 +327,7 @@ static struct ndo_printer ndo_printers[] #ifdef DLT_IPNET { ipnet_if_print, DLT_IPNET }, #endif @@ -738,7 +740,7 @@ #ifdef DLT_IEEE802_15_4 { ieee802_15_4_if_print, DLT_IEEE802_15_4 }, #endif -@@ -316,6 +331,7 @@ static struct ndo_printer ndo_printers[] = { +@@ -322,6 +337,7 @@ static struct ndo_printer ndo_printers[] #ifdef DLT_PPI { ppi_if_print, DLT_PPI }, #endif Index: package/network/utils/tcpdump/patches/004-fix_3g_iface.patch =================================================================== --- package/network/utils/tcpdump/patches/004-fix_3g_iface.patch (Revision 34497) +++ package/network/utils/tcpdump/patches/004-fix_3g_iface.patch (Arbeitskopie) @@ -8,7 +8,7 @@ #ifndef WIN32 #include <sys/wait.h> #include <sys/resource.h> -@@ -625,6 +626,7 @@ main(int argc, char **argv) +@@ -631,6 +632,7 @@ main(int argc, char **argv) #ifdef HAVE_PCAP_FINDALLDEVS pcap_if_t *devpointer; int devnum; @@ -16,7 +16,7 @@ #endif int status; #ifdef WIN32 -@@ -775,7 +777,8 @@ main(int argc, char **argv) +@@ -781,7 +783,8 @@ main(int argc, char **argv) * It can be useful on Windows, where more than * one interface can have the same name. */ Index: package/network/utils/tcpdump/Makefile =================================================================== --- package/network/utils/tcpdump/Makefile (Revision 34497) +++ package/network/utils/tcpdump/Makefile (Arbeitskopie) @@ -8,15 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tcpdump -PKG_VERSION:=4.2.1 -PKG_RELEASE:=2 +PKG_VERSION:=4.3.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.tcpdump.org/release/ \ http://ftp.gwdg.de/pub/misc/tcpdump/ \ http://www.at.tcpdump.org/ \ http://www.br.tcpdump.org/ -PKG_MD5SUM:=c202878c6db054767b52651041b9e60e +PKG_MD5SUM:=a3fe4d30ac85ff5467c889ff46b7e1e8 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_PARALLEL:=1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel