commit c3499f022a44f726b044d53d857bc11aeecf268c25c5f82e22ceb69c1061834b Author: Adrian Schröter Date: Fri May 3 16:58:04 2024 +0200 Sync from SUSE:SLFO:Main net-tools revision ce25d263459558ed1d324cfd38995026 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Add-ether-wake-binary.patch b/0001-Add-ether-wake-binary.patch new file mode 100644 index 0000000..e6b322e --- /dev/null +++ b/0001-Add-ether-wake-binary.patch @@ -0,0 +1,585 @@ +From 259d1c453c7dc3b0291f3b4755567a94b778480e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Sat, 17 Jun 2017 22:06:03 +0200 +Subject: [PATCH 1/7] Add ether-wake binary + +--- + Makefile | 6 +- + ether-wake.c | 445 +++++++++++++++++++++++++++++++++++++++++++++++++ + man/en_US/ether-wake.8 | 81 +++++++++ + 3 files changed, 531 insertions(+), 1 deletion(-) + create mode 100644 ether-wake.c + create mode 100644 man/en_US/ether-wake.8 + +diff --git a/Makefile b/Makefile +index bf67bc6..cb171a0 100644 +--- a/Makefile ++++ b/Makefile +@@ -33,7 +33,7 @@ SBINDIR ?= /sbin + NET_LIB_PATH = lib + NET_LIB_NAME = net-tools + +-PROGS := ifconfig netstat route nameif ++PROGS := ifconfig netstat route nameif ether-wake + + -include config.make + ifeq ($(HAVE_ARP_TOOLS),1) +@@ -205,6 +205,9 @@ ipmaddr: $(NET_LIB) ipmaddr.o + mii-tool: $(NET_LIB) mii-tool.o + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mii-tool.o $(NLIB) $(LDLIBS) + ++ether-wake: $(NET_LIB) ether-wake.o ++ $(CC) $(CFLAGS) $(LDFLAGS) -o ether-wake ether-wake.o $(NLIB) $(LDLIBS) ++ + installbin: + @echo + @echo "######################################################" +@@ -217,6 +220,7 @@ installbin: + install -m 0755 nameif ${BASEDIR}${SBINDIR} + install -m 0755 netstat ${BASEDIR}${BINDIR} + install -m 0755 route ${BASEDIR}${BINDIR} ++ install -m 0755 ether-wake ${BASEDIR}${SBINDIR} + ifeq ($(HAVE_ARP_TOOLS),1) + install -m 0755 arp ${BASEDIR}${SBINDIR} + install -m 0755 rarp ${BASEDIR}${SBINDIR} +diff --git a/ether-wake.c b/ether-wake.c +new file mode 100644 +index 0000000..cfceb44 +--- /dev/null ++++ b/ether-wake.c +@@ -0,0 +1,445 @@ ++/* ether-wake.c: Send a magic packet to wake up sleeping machines. */ ++ ++static char version_msg[] = ++"ether-wake.c: v1.09 11/12/2003 Donald Becker, http://www.scyld.com/"; ++static char brief_usage_msg[] = ++"usage: ether-wake -i [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n" ++" Use '-u' to see the complete set of options.\n"; ++static char usage_msg[] = ++"usage: ether-wake -i [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n" ++"\n" ++" This program generates and transmits a Wake-On-LAN (WOL)\n" ++" \"Magic Packet\", used for restarting machines that have been\n" ++" soft-powered-down (ACPI D3-warm state).\n" ++" It currently generates the standard AMD Magic Packet format, with\n" ++" an optional password appended.\n" ++"\n" ++" The single required parameter is the Ethernet MAC (station) address\n" ++" of the machine to wake or a host ID with known NSS 'ethers' entry.\n" ++" The MAC address may be found with the 'arp' program while the target\n" ++" machine is awake.\n" ++"\n" ++" Options:\n" ++" -b Send wake-up packet to the broadcast address.\n" ++" -D Increase the debug level.\n" ++" -i ifname Use interface ifname instead of sending a wake packet to all interfaces.\n" ++" -p Append the four or six byte password PW to the packet.\n" ++" A password is only required for a few adapter types.\n" ++" The password may be specified in ethernet hex format\n" ++" or dotted decimal (Internet address)\n" ++" -p 00:22:44:66:88:aa\n" ++" -p 192.168.1.1\n"; ++ ++/* ++ This program generates and transmits a Wake-On-LAN (WOL) "Magic Packet", ++ used for restarting machines that have been soft-powered-down ++ (ACPI D3-warm state). It currently generates the standard AMD Magic Packet ++ format, with an optional password appended. ++ ++ This software may be used and distributed according to the terms ++ of the GNU Public License, incorporated herein by reference. ++ Contact the author for use under other terms. ++ ++ This source file was originally part of the network tricks package, and ++ is now distributed to support the Scyld Beowulf system. ++ Copyright 1999-2003 Donald Becker and Scyld Computing Corporation. ++ ++ The author may be reached as becker@scyld, or C/O ++ Scyld Computing Corporation ++ 914 Bay Ridge Road, Suite 220 ++ Annapolis MD 21403 ++ ++ Notes: ++ On some systems dropping root capability allows the process to be ++ dumped, traced or debugged. ++ If someone traces this program, they get control of a raw socket. ++ Linux handles this safely, but beware when porting this program. ++ ++ An alternative to needing 'root' is using a UDP broadcast socket, however ++ doing so only works with adapters configured for unicast+broadcast Rx ++ filter. That configuration consumes more power. ++*/ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if 0 /* Only exists on some versions. */ ++#include ++#endif ++ ++#include ++ ++#include ++#include ++#include ++ ++#include ++#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 ++#include ++#include ++#else ++#include ++#include ++#include ++#endif ++#include ++#include ++ ++#include "interface.h" ++#include "sockets.h" ++ ++/* Grrr, no consistency between include versions. ++ Enable this if setsockopt() isn't declared with your library. */ ++#if 0 ++extern int setsockopt __P ((int __fd, int __level, int __optname, ++ __ptr_t __optval, int __optlen)); ++#else /* New, correct head files. */ ++#include ++#endif ++ ++u_char outpack[1000]; ++int outpack_sz = 0; ++int debug = 0; ++u_char wol_passwd[6]; ++int wol_passwd_sz = 0; ++ ++static int opt_no_src_addr = 0, opt_broadcast = 0; ++ ++static int get_dest_addr(const char *arg, struct ether_addr *eaddr); ++static int get_fill(unsigned char *pkt, struct ether_addr *eaddr); ++static int get_wol_pw(const char *optarg); ++ ++typedef struct { ++ int s; ++ int verbose; ++ int pktsize; ++} if_info; ++ ++static int send_wol_packet(char *ifname, int s, int verbose, int pktsize); ++ ++static int do_wake(struct interface *ife, void *cookie) { ++ if_info *info = (if_info *)cookie; ++ send_wol_packet(ife->name, info->s, info->verbose, info->pktsize); ++ return 0; ++} ++ ++int main(int argc, char *argv[]) ++{ ++ char *ifname = NULL; ++ int s; /* Raw socket */ ++ int errflag = 0, verbose = 0, do_version = 0; ++ int perm_failure = 0; ++ int c, pktsize; ++ struct ether_addr eaddr; ++ if_info info; ++ ++ while ((c = getopt(argc, argv, "bDi:p:uvV")) != -1) ++ switch (c) { ++ case 'b': opt_broadcast++; break; ++ case 'D': debug++; break; ++ case 'i': ifname = optarg; break; ++ case 'p': get_wol_pw(optarg); break; ++ case 'u': printf("%s",usage_msg); return 0; ++ case 'v': verbose++; break; ++ case 'V': do_version++; break; ++ case '?': ++ errflag++; ++ } ++ if (verbose || do_version) ++ printf("%s\n", version_msg); ++ if (errflag) { ++ fprintf(stderr,"%s", brief_usage_msg); ++ return 3; ++ } ++ ++ if (ifname == NULL) { ++ fprintf(stderr, "Specify -i .\n"); ++ return 3; ++ } ++ ++ if (optind == argc) { ++ fprintf(stderr, "Specify the Ethernet address as 00:11:22:33:44:55.\n"); ++ return 3; ++ } ++ ++ /* Note: PF_INET, SOCK_DGRAM, IPPROTO_UDP would allow SIOCGIFHWADDR to ++ work as non-root, but we need SOCK_PACKET to specify the Ethernet ++ destination address. */ ++#if defined(PF_PACKET) ++ s = socket(PF_PACKET, SOCK_RAW, 0); ++#else ++ s = socket(AF_INET, SOCK_PACKET, SOCK_PACKET); ++#endif ++ if (s < 0) { ++ if (errno == EPERM) ++ fprintf(stderr, "ether-wake: This program must be run as root.\n"); ++ else ++ perror("ether-wake: socket"); ++ perm_failure++; ++ } ++ /* Don't revert if debugging allows a normal user to get the raw socket. */ ++ setuid(getuid()); ++ ++ /* We look up the station address before reporting failure so that ++ errors may be reported even when run as a normal user. ++ */ ++ if (get_dest_addr(argv[optind], &eaddr) != 0) ++ return 3; ++ if (perm_failure && ! debug) ++ return 2; ++ ++ pktsize = get_fill(outpack, &eaddr); ++ ++ if (ifname == NULL) { ++ info.s = s; ++ info.verbose = verbose; ++ info.pktsize = pktsize; ++ ++ /* Create a channel to the NET kernel. */ ++ if ((sockets_open(0)) < 0) { ++ perror("socket"); ++ exit(1); ++ } ++ ++ return for_all_interfaces(do_wake, &info); ++ } ++ ++ return send_wol_packet(ifname, s, verbose, pktsize); ++} ++ ++/* Send a Wake-On-LAN (WOL) "Magic Packet" to Interface IFNAME using ++ Socket S with a packet size PKTSIZE. VERBOSE implies ++ verbosity. */ ++ ++static int send_wol_packet(char *ifname, int s, int verbose, int pktsize) ++{ ++ int i; ++ int one = 1; /* True, for socket options. */ ++#if defined(PF_PACKET) ++ struct sockaddr_ll whereto; ++#else ++ struct sockaddr whereto; /* who to wake up */ ++#endif ++ ++ /* Fill in the source address, if possible. ++ The code to retrieve the local station address is Linux specific. */ ++ if (! opt_no_src_addr) { ++ struct ifreq if_hwaddr; ++ const char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data; ++ ++ strncpy(if_hwaddr.ifr_name, ifname, IFNAMSIZ); ++ if_hwaddr.ifr_name[IFNAMSIZ-1] = '\0'; ++ if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) { ++ fprintf(stderr, "SIOCGIFHWADDR on %s failed: %s\n", ifname, ++ strerror(errno)); ++ /* Magic packets still work if our source address is bogus, but ++ we fail just to be anal. */ ++ return 1; ++ } ++ memcpy(outpack+6, if_hwaddr.ifr_hwaddr.sa_data, 6); ++ ++ if (verbose) { ++ printf("The hardware address (SIOCGIFHWADDR) of %s is type %d " ++ "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x.\n", ifname, ++ if_hwaddr.ifr_hwaddr.sa_family, hwaddr[0], hwaddr[1], ++ hwaddr[2], hwaddr[3], hwaddr[4], hwaddr[5]); ++ } ++ } ++ ++ if (wol_passwd_sz > 0) { ++ memcpy(outpack+pktsize, wol_passwd, wol_passwd_sz); ++ pktsize += wol_passwd_sz; ++ } ++ ++ if (verbose > 1) { ++ printf("The final packet is: "); ++ for (i = 0; i < pktsize; i++) ++ printf(" %2.2x", outpack[i]); ++ printf(".\n"); ++ } ++ ++ /* This is necessary for broadcasts to work */ ++ if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char *)&one, sizeof(one)) < 0) ++ perror("setsockopt: SO_BROADCAST"); ++ ++#if defined(PF_PACKET) ++ { ++ struct ifreq ifr; ++ strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ ifr.ifr_name[IFNAMSIZ-1] = '\0'; ++ if (ioctl(s, SIOCGIFINDEX, &ifr) == -1) { ++ fprintf(stderr, "SIOCGIFINDEX on %s failed: %s\n", ifname, ++ strerror(errno)); ++ return 1; ++ } ++ memset(&whereto, 0, sizeof(whereto)); ++ whereto.sll_family = AF_PACKET; ++ whereto.sll_ifindex = ifr.ifr_ifindex; ++ /* The manual page incorrectly claims the address must be filled. ++ We do so because the code may change to match the docs. */ ++ whereto.sll_halen = ETH_ALEN; ++ memcpy(whereto.sll_addr, outpack, ETH_ALEN); ++ ++ } ++#else ++ whereto.sa_family = 0; ++ strcpy(whereto.sa_data, ifname); ++#endif ++ ++ char senderrmsg[IFNAMSIZ+16] = "'"; ++ strcat(senderrmsg, ifname); ++ strcat(senderrmsg, "', sendto"); ++ if ((i = sendto(s, outpack, pktsize, 0, (struct sockaddr *)&whereto, ++ sizeof(whereto))) < 0) ++ perror(senderrmsg); ++ else if (debug) ++ printf("'%s', Sendto worked ! %d.\n", ifname, i); ++ ++#ifdef USE_SEND ++ if (bind(s, (struct sockaddr *)&whereto, sizeof(whereto)) < 0) ++ perror("bind"); ++ else if (send(s, outpack, 100, 0) < 0) ++ perror("send"); ++#endif ++#ifdef USE_SENDMSG ++ { ++ struct msghdr msghdr = { 0,}; ++ struct iovec iovector[1]; ++ msghdr.msg_name = &whereto; ++ msghdr.msg_namelen = sizeof(whereto); ++ msghdr.msg_iov = iovector; ++ msghdr.msg_iovlen = 1; ++ iovector[0].iov_base = outpack; ++ iovector[0].iov_len = pktsize; ++ if ((i = sendmsg(s, &msghdr, 0)) < 0) ++ perror("sendmsg"); ++ else if (debug) ++ printf("sendmsg worked, %d (%d).\n", i, errno); ++ } ++#endif ++ ++ return 0; ++} ++ ++/* Convert the host ID string to a MAC address. ++ The string may be a ++ Host name ++ IP address string ++ MAC address string ++*/ ++ ++static int get_dest_addr(const char *hostid, struct ether_addr *eaddr) ++{ ++ struct ether_addr *eap; ++ ++ eap = ether_aton(hostid); ++ if (eap) { ++ *eaddr = *eap; ++ if (debug) ++ fprintf(stderr, "The target station address is %s.\n", ++ ether_ntoa(eaddr)); ++ } else if (ether_hostton(hostid, eaddr) == 0) { ++ if (debug) ++ fprintf(stderr, "Station address for hostname %s is %s.\n", ++ hostid, ether_ntoa(eaddr)); ++ } else { ++ (void)fprintf(stderr, ++ "ether-wake: The Magic Packet host address must be " ++ "specified as\n" ++ " - a station address, 00:11:22:33:44:55, or\n" ++ " - a hostname with a known 'ethers' entry.\n"); ++ return -1; ++ } ++ return 0; ++} ++ ++ ++static int get_fill(unsigned char *pkt, struct ether_addr *eaddr) ++{ ++ int offset, i; ++ unsigned char *station_addr = eaddr->ether_addr_octet; ++ ++ if (opt_broadcast) ++ memset(pkt+0, 0xff, 6); ++ else ++ memcpy(pkt, station_addr, 6); ++ memcpy(pkt+6, station_addr, 6); ++ pkt[12] = 0x08; /* Or 0x0806 for ARP, 0x8035 for RARP */ ++ pkt[13] = 0x42; ++ offset = 14; ++ ++ memset(pkt+offset, 0xff, 6); ++ offset += 6; ++ ++ for (i = 0; i < 16; i++) { ++ memcpy(pkt+offset, station_addr, 6); ++ offset += 6; ++ } ++ if (debug) { ++ fprintf(stderr, "Packet is "); ++ for (i = 0; i < offset; i++) ++ fprintf(stderr, " %2.2x", pkt[i]); ++ fprintf(stderr, ".\n"); ++ } ++ return offset; ++} ++ ++static int get_wol_pw(const char *optarg) ++{ ++ int passwd[6]; ++ int byte_cnt; ++ int i; ++ ++ byte_cnt = sscanf(optarg, "%2x:%2x:%2x:%2x:%2x:%2x", ++ &passwd[0], &passwd[1], &passwd[2], ++ &passwd[3], &passwd[4], &passwd[5]); ++ if (byte_cnt < 4) ++ byte_cnt = sscanf(optarg, "%d.%d.%d.%d", ++ &passwd[0], &passwd[1], &passwd[2], &passwd[3]); ++ if (byte_cnt < 4) { ++ fprintf(stderr, "Unable to read the Wake-On-LAN password.\n"); ++ return 0; ++ } ++ printf(" The Magic packet password is %2.2x %2.2x %2.2x %2.2x (%d).\n", ++ passwd[0], passwd[1], passwd[2], passwd[3], byte_cnt); ++ for (i = 0; i < byte_cnt; i++) ++ wol_passwd[i] = passwd[i]; ++ return wol_passwd_sz = byte_cnt; ++} ++ ++#if 0 ++{ ++ to = (struct sockaddr_in *)&whereto; ++ to->sin_family = AF_INET; ++ if (inet_aton(target, &to->sin_addr)) { ++ hostname = target; ++ } ++ memset (&sa, 0, sizeof sa); ++ sa.sa_family = AF_INET; ++ strncpy (sa.sa_data, interface, sizeof sa.sa_data); ++ sendto (sock, buf, bufix + len, 0, &sa, sizeof sa); ++ strncpy (sa.sa_data, interface, sizeof sa.sa_data); ++#if 1 ++ sendto (sock, buf, bufix + len, 0, &sa, sizeof sa); ++#else ++ bind (sock, &sa, sizeof sa); ++ connect(); ++ send (sock, buf, bufix + len, 0); ++#endif ++} ++#endif ++ ++ ++/* ++ * Local variables: ++ * compile-command: "gcc -O -Wall -o ether-wake ether-wake.c" ++ * c-indent-level: 4 ++ * c-basic-offset: 4 ++ * c-indent-level: 4 ++ * tab-width: 4 ++ * End: ++ */ +diff --git a/man/en_US/ether-wake.8 b/man/en_US/ether-wake.8 +new file mode 100644 +index 0000000..d0569c2 +--- /dev/null ++++ b/man/en_US/ether-wake.8 +@@ -0,0 +1,81 @@ ++.\" Hey, EMACS: -*- nroff -*- ++.\" First parameter, NAME, should be all caps ++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection ++.\" other parameters are allowed: see man(7), man(1) ++.TH ETHER-WAKE 8 "March 31, 2003" "Scyld" ++.\" Please adjust this date whenever revising the manpage. ++.\" ++.\" Some roff macros, for reference: ++.\" .nh disable hyphenation ++.\" .hy enable hyphenation ++.\" .ad l left justify ++.\" .ad b justify to both left and right margins ++.\" .nf disable filling ++.\" .fi enable filling ++.\" .br insert line break ++.\" .sp insert n+1 empty lines ++.\" for manpage-specific macros, see man(7) ++.SH NAME ++ether-wake \- A tool to send a Wake-On-LAN "Magic Packet" ++.SH SYNOPSIS ++.B ether-wake ++.RI [ options ] " Host-ID" ++.SH DESCRIPTION ++This manual page documents the usage of the ++.B ether-wake ++command. ++.PP ++.\" TeX users may be more comfortable with the \fB\fP and ++.\" \fI\fP escape sequences to invoke bold face and italics, ++.\" respectively. ++\fBether-wake\fP is a program that generates and transmits a Wake-On-LAN ++(WOL) "Magic Packet", used for restarting machines that have been ++soft-powered-down (ACPI D3-warm state). It generates the standard ++AMD Magic Packet format, optionally with a password included. The ++single required parameter is a station (MAC) address or a host ID that can ++be translated to a MAC address by an ++.BR ethers (5) ++database specified in ++.BR nsswitch.conf (5) ++. ++.SH OPTIONS ++\fBether-wake\fP needs a single dash (´-´) in front of options. ++A summary of options is included below. ++.TP ++.B \-b ++Send the wake-up packet to the broadcast address. ++.TP ++.B \-D ++Increase the Debug Level. ++.TP ++.B \-i ifname ++Use interface ifname instead of sending a wake packet to all interfaces. ++.TP ++.B \-p passwd ++Append a four or six byte password to the packet. Only a few adapters ++need or support this. A six byte password may be specified in Ethernet hex ++format (00:22:44:66:88:aa) or four byte dotted decimal (192.168.1.1) format. ++A four byte password must use the dotted decimal format. ++ ++.TP ++.B \-V ++Show the program version information. ++ ++.SH EXIT STATUS ++This program returns 0 on success. ++A permission failures (e.g. run as a non-root user) results in an exit ++status of 2. Unrecognized or invalid parameters result in an exit ++status of 3. Failure to retrieve network interface information or send ++a packet will result in an exit status of 1. ++ ++.SH SEE ALSO ++.BR arp (8). ++.br ++.SH SECURITY ++On some non-Linux systems dropping root capability allows the process to be ++dumped, traced or debugged. ++If someone traces this program, they get control of a raw socket. ++Linux handles this safely, but beware when porting this program. ++.SH AUTHOR ++The ether-wake program was written by Donald Becker at Scyld Computing ++Corporation for use with the Scyld(\*(Tm) Beowulf System. +-- +2.13.1 + diff --git a/0002-Do-not-warn-about-interface-socket-not-binded.patch b/0002-Do-not-warn-about-interface-socket-not-binded.patch new file mode 100644 index 0000000..16b8cfc --- /dev/null +++ b/0002-Do-not-warn-about-interface-socket-not-binded.patch @@ -0,0 +1,33 @@ +From 5b612570220e66ea3197b88b5f9d81e064f9e873 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Sat, 17 Jun 2017 22:15:06 +0200 +Subject: [PATCH 2/7] Do not warn about interface socket not binded + +--- + lib/interface.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/lib/interface.c b/lib/interface.c +index e8ab2b8..94e554b 100644 +--- a/lib/interface.c ++++ b/lib/interface.c +@@ -173,12 +173,10 @@ static int if_readconf(void) + (as of 2.1.128) */ + skfd = get_socket_for_af(AF_INET); + if (skfd < 0) { +- fprintf(stderr, _("warning: no inet socket available: %s\n"), +- strerror(errno)); +- /* Try to soldier on with whatever socket we can get hold of. */ +- skfd = sockets_open(0); +- if (skfd < 0) +- return -1; ++ /* Try to soldier on with whatever socket we can get hold of. */ ++ skfd = sockets_open(0); ++ if (skfd < 0) ++ return -1; + } + + ifc.ifc_buf = NULL; +-- +2.13.1 + diff --git a/0004-By-default-do-not-fopen-anything-in-netrom_gr.patch b/0004-By-default-do-not-fopen-anything-in-netrom_gr.patch new file mode 100644 index 0000000..117b9ed --- /dev/null +++ b/0004-By-default-do-not-fopen-anything-in-netrom_gr.patch @@ -0,0 +1,28 @@ +From 70a4077962be2dc3ea7dc20a3687e9f1c7458ade Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Sat, 17 Jun 2017 22:26:14 +0200 +Subject: [PATCH 4/7] By default do not fopen anything in netrom_gr + +This is SUSE specific patch basically disabling this functionality. +--- + lib/netrom_gr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/netrom_gr.c b/lib/netrom_gr.c +index ec82fe8..eecf148 100644 +--- a/lib/netrom_gr.c ++++ b/lib/netrom_gr.c +@@ -32,8 +32,8 @@ + + int NETROM_rprint(int options) + { +- FILE *f1 = fopen(_PATH_PROCNET_NR_NODES, "r"); +- FILE *f2 = fopen(_PATH_PROCNET_NR_NEIGH, "r"); ++ FILE *f1 = NULL; ++ FILE *f2 = NULL; + char buffer[256]; + int qual, n, w; + /*int ext = options & FLAG_EXT; +-- +2.13.1 + diff --git a/0006-Allow-interface-stacking.patch b/0006-Allow-interface-stacking.patch new file mode 100644 index 0000000..8bb7696 --- /dev/null +++ b/0006-Allow-interface-stacking.patch @@ -0,0 +1,85 @@ +From 3e27ced0c24be18dc443f7eb1421c7c3c1755cfe Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Sun, 18 Jun 2017 08:54:17 +0200 +Subject: [PATCH 6/7] Allow interface stacking + +--- + lib/interface.c | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +diff --git a/lib/interface.c b/lib/interface.c +index 7e326a0..42d86fb 100644 +--- a/lib/interface.c ++++ b/lib/interface.c +@@ -208,10 +208,11 @@ out: + return err; + } + +-static const char *get_name(char *name, const char *p) ++static const char *get_name(char **namep, const char *p) + { + while (isspace(*p)) + p++; ++ char *name = *namep = p; + while (*p) { + if (isspace(*p)) + break; +@@ -314,9 +315,10 @@ static int get_dev_fields(const char *bp, struct interface *ife) + static int if_readlist_proc(const char *target) + { + FILE *fh; +- char buf[512]; + struct interface *ife; + int err; ++ char *line = NULL; ++ size_t linelen = 0; + + fh = fopen(_PATH_PROCNET_DEV, "r"); + if (!fh) { +@@ -324,10 +326,11 @@ static int if_readlist_proc(const char *target) + _PATH_PROCNET_DEV, strerror(errno)); + return -2; + } +- if (fgets(buf, sizeof buf, fh)) +- /* eat line */; +- if (fgets(buf, sizeof buf, fh)) +- /* eat line */; ++ if (getline(&line, &linelen, fh) == -1 /* eat line */ ++ || getline(&line, &linelen, fh) == -1) { ++ err = -1; ++ goto out; ++ } + + #if 0 /* pretty, but can't cope with missing fields */ + fmt = proc_gen_fmt(_PATH_PROCNET_DEV, 1, fh, +@@ -352,14 +355,14 @@ static int if_readlist_proc(const char *target) + if (!fmt) + return -1; + #else +- procnetdev_vsn = procnetdev_version(buf); ++ procnetdev_vsn = procnetdev_version(line); + #endif + + err = 0; +- while (fgets(buf, sizeof buf, fh)) { ++ while (getline(&line, &linelen, fh) != -1) { + const char *s; +- char name[IFNAMSIZ]; +- s = get_name(name, buf); ++ char *name; ++ s = get_name(&name, line); + ife = if_cache_add(name); + get_dev_fields(s, ife); + ife->statistics_valid = 1; +@@ -374,6 +377,8 @@ static int if_readlist_proc(const char *target) + #if 0 + free(fmt); + #endif ++ out: ++ free(line); + fclose(fh); + return err; + } +-- +2.13.1 + diff --git a/0007-Introduce-T-notrim-option-in-netstat.patch b/0007-Introduce-T-notrim-option-in-netstat.patch new file mode 100644 index 0000000..4fda49c --- /dev/null +++ b/0007-Introduce-T-notrim-option-in-netstat.patch @@ -0,0 +1,44 @@ +From 0e30aa568f29e1626177458cfe1d33b25c6da7a6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= +Date: Sun, 18 Jun 2017 09:12:33 +0200 +Subject: [PATCH 7/7] Introduce T notrim option in netstat + +This is the same as wide option but unfortunately SUSE carried +for last 10 years patch using the -T option so we need not to regress +in script usage. +--- + netstat.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/netstat.c b/netstat.c +index fe25e92..401ac3b 100644 +--- a/netstat.c ++++ b/netstat.c +@@ -2043,6 +2043,7 @@ int main + {"fib", 0, 0, 'F'}, + {"groups", 0, 0, 'g'}, + {"context", 0, 0, 'Z'}, ++ {"notrim", 0, 0, 'T'}, + {NULL, 0, 0, 0} + }; + +@@ -2054,7 +2055,7 @@ int main + 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:CFMacdeghilnNoprsStuUvVWw2fx64?ZT", longopts, &lop)) != EOF) + switch (i) { + case -1: + break; +@@ -2098,6 +2099,7 @@ int main + case 'i': + flag_int++; + break; ++ case 'T': + case 'W': + flag_wide++; + break; +-- +2.13.1 + diff --git a/net-tools-2.10.tar.xz b/net-tools-2.10.tar.xz new file mode 100644 index 0000000..0b83561 --- /dev/null +++ b/net-tools-2.10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b262435a5241e89bfa51c3cabd5133753952f7a7b7b93f32e08cb9d96f580d69 +size 229616 diff --git a/net-tools-configure.patch b/net-tools-configure.patch new file mode 100644 index 0000000..d82d79b --- /dev/null +++ b/net-tools-configure.patch @@ -0,0 +1,43 @@ +Index: net-tools-2.10/config.in +=================================================================== +--- net-tools-2.10.orig/config.in ++++ net-tools-2.10/config.in +@@ -42,7 +42,7 @@ + * course, welcome. Answer `n' here if you have no support for + * internationalization on your system. + * +-bool 'Does your system support GNU gettext?' I18N n ++bool 'Does your system support GNU gettext?' I18N y + * + * + * Protocol Families. +@@ -91,10 +91,10 @@ bool 'InfiniBand hardware support' HAVE_ + * + bool 'IP Masquerading support' HAVE_FW_MASQUERADE y + bool 'Build arp and rarp' HAVE_ARP_TOOLS y +-bool 'Build hostname' HAVE_HOSTNAME_TOOLS y +-bool 'Install hostname NIS/YP symlinks' HAVE_HOSTNAME_SYMLINKS y ++bool 'Build hostname' HAVE_HOSTNAME_TOOLS n ++bool 'Install hostname NIS/YP symlinks' HAVE_HOSTNAME_SYMLINKS n + bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y +-bool 'Build mii-tool' HAVE_MII y ++bool 'Build mii-tool' HAVE_MII n + bool 'Build plipconfig' HAVE_PLIP_TOOLS y + bool 'Build slattach' HAVE_SERIAL_TOOLS y + bool 'SELinux support' HAVE_SELINUX n +Index: net-tools-2.10/configure.sh +=================================================================== +--- net-tools-2.10.orig/configure.sh ++++ net-tools-2.10/configure.sh +@@ -66,9 +66,8 @@ config_fd_redir='<&7' + # + function readln() + { +- echo -n "$1" +- IFS='@' read ans || exit 1 +- [ -z "$ans" ] && ans=$2 ++ echo "$1" ++ ans=$2 + } + + # bool processes a boolean argument diff --git a/net-tools.changes b/net-tools.changes new file mode 100644 index 0000000..43bc7a9 --- /dev/null +++ b/net-tools.changes @@ -0,0 +1,851 @@ +------------------------------------------------------------------- +Tue Dec 27 13:12:55 UTC 2022 - Ludwig Nussel + +- Replace transitional %usrmerged macro with regular version check (boo#1206798) + +------------------------------------------------------------------- +Sun Jan 24 18:04:26 UTC 2021 - Dirk Müller + +- update to 2.10: + * man: pt_BR: ifconfig: fix procmisc option typo + * netstat: exit non-zero when sctp protocols are not supported + * man: route: add single route del example + * ifconfig: accept "pointtopoint" as an alias to "pointopoint" + * man: netstat: fill out Timers section + * man: ethers: remove funky comment blocks + * man: standardize SEE ALSO across all pages & translations + * netstat: fix iface truncation with -i + * ifconfig: fix exabyte statistic handling + * man: ipmaddr/iptunnel: new stub man pages + * man: route: use standard .BR for SEE ALSO + * netstat: fix iface truncation with -g + * po: rename et_EE to et + * README/INSTALL: refresh for the modern times + * THANKS: add a few more people from `git-log` + * netstat: Set SCTP report compliant with -l/--listening option. + * Describe "hyphen" program in man page. + * man: cleanup ipfw & ipchains refs + * ipv6: fix memmove usage with overlapping memory + * build: drop support for backing up programs + * netstat: add ROSE print support + * remove ancient "register" markings + * hostname: constify a few string arguments + * hostname: add fallback errno decoding on failure + * de.po: fix typo "Processe" -> "Prozesse" + * route: Fix a missing space in the ipv6 route output + * util: drop new() helper + * proc: constify filename arg + * nameif: add printf attributes to helper funcs + * nameif: mark local vars/funcs as static + * nameif: fix memory corruption and increase maximum MAC address length + * inet_gr: tweak formatting to avoid confusing the compiler + * ipmaddr: use safe_strncpy for ifr_name + * ifconfig: fix confusing error message logic + * ifconfig: add name subcommand to rename an interface + * statistics: Fix ipFragOKs and ipFragFails verbiage + * statistics: fix packets typo + * fix minor mistakes in Czech translation +- drop 0003-Add-support-for-EiB-in-interface.c.patch + 0005-Add-support-for-interface-rename-in-nameif.patch: upstream +- net-tools-configure.patch: refresh + +------------------------------------------------------------------- +Mon Oct 19 16:15:27 UTC 2020 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Thu Sep 19 11:56:53 UTC 2019 - Ludwig Nussel + +- Do not recommend lang package. The lang package already has a + supplements. + +------------------------------------------------------------------- +Thu Aug 30 09:56:06 UTC 2018 - tchvatal@suse.com + +- Update to version 2.0+git20180626.aebd88e: + * standardize --help/usage handling + * always write --version output to stdout +- Rebase patch: + * 0005-Add-support-for-interface-rename-in-nameif.patch + +------------------------------------------------------------------- +Tue Mar 27 11:39:22 CEST 2018 - kukuk@suse.de + +- Use %license instead of %doc [bsc#1082318] + +------------------------------------------------------------------- +Wed Nov 15 13:47:58 UTC 2017 - vcizek@suse.com + +- Update descriptions to better reflect the contents of both packages + and mention the deprecation of the tools (bsc#1067937) + +------------------------------------------------------------------- +Sun Jun 18 07:29:18 UTC 2017 - tchvatal@suse.com + +- Drop netstat xinetd service as we are phasing xinetd out + There is probably no need to replace it here as netstat was + deprecated and now users should favor 'ss' command from + iproute2 + +------------------------------------------------------------------- +Sun Jun 18 07:27:20 UTC 2017 - tchvatal@suse.com + +- Provide compat symlink to /bin and /sbin to be on safe side + if someone hardcoded them in scripts (most distros switched + 7 years ago) + +------------------------------------------------------------------- +Sat Jun 17 19:53:44 UTC 2017 - tchvatal@suse.com + +- Disable removed binaries for build rather than on install + * Refresh patch net-tools-configure.patch +- Make sure we respect optflags +- Add patch 0001-Add-ether-wake-binary.patch replacing standalone + ether-wake code in the archive +- Add patch 0002-Do-not-warn-about-interface-socket-not-binded.patch + replacing net-tools-1.60-interface_socket.diff +- Add patch 0003-Add-support-for-EiB-in-interface.c.patch enabling + EiB support in interfaces +- Add patch 0004-By-default-do-not-fopen-anything-in-netrom_gr.patch + relpacing net-tools-1.60-netrom-fopen.diff +- Add patch 0005-Add-support-for-interface-rename-in-nameif.patch + replacing nameif-rename.patch +- Add patch 0006-Allow-interface-stacking.patch + replacing net-tools-1.60-interface_stack.patch +- Add patch 0007-Introduce-T-notrim-option-in-netstat.patch + replacing net-tools-1.60-dont-trim-foreign-addr6.diff + and also net-tools-1.60-notrim.diff +- Drop net-tools-1.60-use-gai.patch as it should be upstreamed first + and it does not apply clearly at all now + +------------------------------------------------------------------- +Sat Jun 17 19:41:08 UTC 2017 - tchvatal@suse.com + +- Move binaries to sbindir and bindir respectively +- Switch from generating filelists to actually state them within + the spec-file, now it is quite readable +- Move ifconfig and route to %{_bindir} as upstream does + (and debian/rh/... do too) + +------------------------------------------------------------------- +Sat Jun 17 08:09:20 UTC 2017 - tchvatal@suse.com + +- Remove all the manpage altering patches as they are from 2002 and + older while it changed and touching different languages for + rebasing is not bright idea, the same applies for translations + as upstream updated the translations we will pretend their + strings win +- Switch to git service repacking so we don't have to carry all + the patches ourselves +- Update to version 2.0+git20170221.479bb4a: + * slattach/plipconfig: add a config knob to control them + * Fixed trailing whitespace issue with a and i flags (#7) + * iptunnel: drop netinet/ip.h include + * iptunnel: fix building w/older linux headers + * build: respect standard $(LDLIBS) variable + * netstat: improve ROSE support + * AX.25: Rename all references to axattach to kissattach. + * Update all instances of my email address. + * Fix conversion of some ROSE addresses. + * Fix incorrect ARP output +- Merge patch net-tools-1.60-miioff.diff in the main config patch +- Rename net-tools-1.60.dif to net-tools-configure.patch in order + to reflect what it actually does +- Drop nstrcmp.c as VCS contains newer version +- Drop patches that were either merged upstream or fixed bit differently: + * manpages.diff + * net-tools-1.60-arp-unaligned-access.patch + * net-tools-1.60-compoundstatement.diff + * net-tools-1.60-cont-buff.patch + * net-tools-1.60-cs_CZ.bnc715580.diff + * net-tools-1.60-doc.dif + * net-tools-1.60-errors.patch + * net-tools-1.60-fclose.diff + * net-tools-1.60-fix-header-conflict.patch + * net-tools-1.60-hostname-ipv6.patch + * net-tools-1.60-hostname-s.patch + * net-tools-1.60-hostname-space.patch + * net-tools-1.60-ifconfig-SIOCSIFNETMASK.diff + * net-tools-1.60-ifconfig.8.diff + * net-tools-1.60-ifindex.diff + * net-tools-1.60-infiniband.diff + * net-tools-1.60-ipv6-statistics.diff + * net-tools-1.60-krn26.dif + * net-tools-1.60-long_to_int.diff + * net-tools-1.60-multilinestr.diff + * net-tools-1.60-nameif.diff + * net-tools-1.60-netstat-ci.diff + * net-tools-1.60-netstat-output.patch + * net-tools-1.60-netstat-p.patch + * net-tools-1.60-netstat.8.diff + * net-tools-1.60-netstat_retval.diff + * net-tools-1.60-numericstuff.diff + * net-tools-1.60-plipconfig-ecode.patch + * net-tools-1.60-plipconfig-manpage.patch + * net-tools-1.60-plipconfig-usage.patch + * net-tools-1.60-printval-conversion.patch + * net-tools-1.60-sctp-quiet + * net-tools-1.60-sctp.patch + * net-tools-1.60-snmp-counter-overflow.patch + * net-tools-1.60-sockios-SIOCGMIIPHY.diff + * net-tools-1.60-strictaliasing.diff + * net-tools-1.60-tcp-recvq-listen.patch + * netstat-trunc.dif + * net-tools-1.60-if_tr.diff + * net-tools-1.60-interface_mtu.diff + +------------------------------------------------------------------- +Sat Jun 17 08:02:18 UTC 2017 - tchvatal@suse.com + +- Cleanup a bit with spec-cleaner and remove sle11 conditions +- Drop the patch net-tools-1.60-obsolete.diff + * If restored it is in the VCS and it silences all the rpm warnings + +------------------------------------------------------------------- +Tue Nov 1 10:01:53 UTC 2016 - giecrilj@stegny.2a.pl + +- add COPYING +- net-tools-1.60-use-gai.patch: + use getaddrinfo instead of gethostbyname + +------------------------------------------------------------------- +Mon Oct 17 07:39:12 UTC 2016 - schwab@suse.de + +- net-tools-1.60-fix-header-conflict.patch: use kernel headers to avoid + conflict with user-space headers + +------------------------------------------------------------------- +Tue May 17 11:36:17 UTC 2016 - pwieczorkiewicz@suse.com + +- Add net-tools-1.60-hostname-s.patch: + This changes the hostname behavior to match other systems and its + own documentation. Namely, that -s just parses the result of the + active gethostname() and does not attempt any network/DNS traffic. + upstream: https://sourceforge.net/p/net-tools/bugs/14/ + commit#452f8e (boo#872264). + +------------------------------------------------------------------- +Wed Jun 10 12:57:09 UTC 2015 - gber@opensuse.org + +- Remove hostname, domainname, dnsdomainname and require the + separate hostname package instead + +------------------------------------------------------------------- +Tue May 26 15:09:57 UTC 2015 - dgutu@suse.com + +- Added patches to past change log entry + +------------------------------------------------------------------- +Sun Mar 29 00:41:21 UTC 2015 - jengelh@inai.de + +- ipmaddr and iptunnel are obsolete too, move them to subpackage. + (Superseded by `ip maddr` and `ip tunnel`) +- remove redundant %clean section + +------------------------------------------------------------------- +Thu Apr 10 12:33:41 UTC 2014 - mmarek@suse.cz + +- Move arp, ifconfig, netstat and route to a -deprecated subpackage + (fate#317196, fate#317197) +- Drop the rarp tool, which has been broken since kernel 2.3 + +------------------------------------------------------------------- +Thu Jul 25 14:41:14 CEST 2013 - ms@suse.de + +- ported plipconfig patches from SLE base (bnc #831310) + - net-tools-1.60-plipconfig-ecode.patch + - net-tools-1.60-plipconfig-manpage.patch + - net-tools-1.60-plipconfig-usage.patch + +------------------------------------------------------------------- +Mon Apr 15 13:41:34 UTC 2013 - idonmez@suse.com + +- Add Source URL, see https://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Fri Feb 1 00:05:21 UTC 2013 - crrodriguez@opensuse.org + +- Use Recommends insted of requires for traceroute + +------------------------------------------------------------------- +Tue Jan 29 18:55:00 UTC 2013 - crrodriguez@opensuse.org + +- Remove obsolete traceroute(8) implementation. + Modern one is packaged as "traceroute". to fullfil userspace + requirements, Require the new version explicitly. + + - Fix localized man page installation, the right thing (tm) to + do is to use find_lang --with-man --all-name instead. + +------------------------------------------------------------------- +Sat Jan 26 18:45:57 UTC 2013 - jslaby@suse.com + +- add etherwake + +------------------------------------------------------------------- +Sun Oct 7 20:21:00 UTC 2012 - andreas.stieger@gmx.de + +- Kernel 3.6 removes if_strip.h - disable STRIP support in factory +- convert .changes to utf-8 fixing old entry, W: non-utf8-spec-file + +------------------------------------------------------------------- +Mon Sep 12 16:02:02 CEST 2011 - mt@suse.com + +- Applied corrections for Czech translation (bnc#715580) + +------------------------------------------------------------------- +Tue Feb 15 11:37:36 UTC 2011 - mt@suse.de + +- Fixed netstat to not trim foreign/remote ipv6 addresses when + the -T option is set (bnc#637490). + +------------------------------------------------------------------- +Tue Jul 20 12:28:38 UTC 2010 - mt@suse.de + +- implemented ipv6 support in hostname -[aifsd] (bnc #577070) + +------------------------------------------------------------------- +Tue Jan 26 22:35:03 CET 2010 - jengelh@medozas.de + +- make sure -m64 is passed to the linker in 64-bit mode + +------------------------------------------------------------------- +Fri Jan 1 21:07:12 CET 2010 - ms@suse.de + +- fixed return value of netstat -s call (bnc #566946) + +------------------------------------------------------------------- +Wed Dec 16 11:49:33 CET 2009 - ms@suse.de + +- removed ipchains references in man pages (bnc #561866) + +------------------------------------------------------------------- +Tue Nov 3 19:09:33 UTC 2009 - coolo@novell.com + +- updated patches to apply with fuzz=0 + +------------------------------------------------------------------- +Wed Oct 7 12:30:00 CEST 2009 - ms@suse.de + +- fixed duplicate fopen calls in netrom_gr.c (bnc #544339) + +------------------------------------------------------------------- +Mon Sep 14 11:04:16 CEST 2009 - ms@suse.de + +- added support for IPV6 statistics (bnc #537904) +- fixed interface address field length (bnc #537904) +- added support for infiniband IPoIB devices (bnc #537904) + +------------------------------------------------------------------- +Wed Aug 12 10:38:32 CEST 2009 - ms@suse.de + +- added -T, --notrim option which prevents the address + field from being truncated (bnc #530196) + +------------------------------------------------------------------- +Thu Aug 6 16:17:40 CEST 2009 - ms@suse.de + +- fixed missing fclose to fopen (bnc #528577) + +------------------------------------------------------------------- +Tue Jul 7 20:50:38 CEST 2009 - ms@suse.de + +- disabled net-tools obsolete patch, no way to convince + people that it would be a good idea (bnc #492665) + +------------------------------------------------------------------- +Tue Jul 7 11:02:12 CEST 2009 - ms@suse.de + +- Programs from net-tools have modern equivalents: + arp -> ip neigh + ifconfig -> ip addr/ip link + ipmaddr -> ip maddr + iptunnel -> ip tunnel + netstat -> ss + route -> ip route + added patch to print an obsoletes warning on + stderr (bnc #492665) + +------------------------------------------------------------------- +Thu Jun 11 21:22:53 CEST 2009 - coolo@novell.com + +- define we need GNU_SOURCE + +------------------------------------------------------------------- +Thu May 7 10:05:09 CEST 2009 - ms@suse.de + +- fixed data type of third argument in printval function. + Also make sure the printf call in this function uses the + correct format sequence (bnc #501113) + +------------------------------------------------------------------- +Wed Mar 25 16:23:29 CET 2009 - ms@suse.de + +- increased field length for display of MTU value (bnc #486014) + +------------------------------------------------------------------- +Thu Nov 20 12:24:38 CET 2008 - ms@suse.de + +- don't show af_inet socket warning for netstat -i (bnc #430864) + +------------------------------------------------------------------- +Thu Nov 6 16:06:51 CET 2008 - ms@suse.de + +- really fixed SIOCSIFNETMASK ioctl from being called earlier + to SIOCSIFADDR (bnc #438983) + +------------------------------------------------------------------- +Fri Oct 31 16:20:54 CET 2008 - ms@suse.de + +- reverted last patch from IBM because it breaks standard + ifconfig usage as shown in bug (bnc #440580) + +------------------------------------------------------------------- +Mon Oct 27 15:33:44 CET 2008 - ms@suse.de + +- fixed ifconfig SIOCSIFNETMASK ioctl from being called earlier + to SIOCSIFADDR (bnc #438983) + +------------------------------------------------------------------- +Thu Sep 25 17:12:33 CEST 2008 - ms@suse.de + +- really fixed netstat -ci, incomplete patch (bnc #424813) + +------------------------------------------------------------------- +Wed Sep 10 10:18:19 CEST 2008 - ms@suse.de + +- fixed netstat -ci which prints the stats only on the first loop + on subsequent loops it says "no statistics available", even though + there was network traffic in between (bnc #424813) + +------------------------------------------------------------------- +Tue Sep 2 16:59:13 CEST 2008 - ms@suse.de + +- update to traceroute 1.2 + +------------------------------------------------------------------- +Mon Aug 11 09:32:46 CEST 2008 - ms@suse.de + +- added patch to allow monitoring of accepted connections queue + length for tcp listening sockets. This will work with + kernels >= 2.6.18. + +------------------------------------------------------------------- +Mon May 5 15:08:27 CEST 2008 - ms@suse.de + +- added hint about option -s and -f to hostname (bnc #386686) + +------------------------------------------------------------------- +Thu Mar 6 18:02:43 CET 2008 - ms@suse.de + +- fixed length of interface field (bnc #367769) + +------------------------------------------------------------------- +Tue Mar 4 10:30:18 CET 2008 - ms@suse.de + +- added obsolete warning for ifconfig into man page (bnc #366477) + +------------------------------------------------------------------- +Sun Feb 24 22:03:41 CET 2008 - crrodriguez@suse.de + +- use find_lang macro + +------------------------------------------------------------------- +Wed Jul 25 14:42:34 CEST 2007 - ms@suse.de + +- fixed locale names (#294148) + +------------------------------------------------------------------- +Wed May 2 10:38:31 CEST 2007 - ms@suse.de + +- fixed trailing space for hostname -a and -i (#270314) + +------------------------------------------------------------------- +Tue Sep 26 16:02:23 CEST 2006 - ms@suse.de + +- fixed stack overflow when using traceroute -q [n]>=10 (#200508) + +------------------------------------------------------------------- +Mon Jul 24 09:50:54 CEST 2006 - ms@suse.de + +- fixed german translation for route -C (#194357) + +------------------------------------------------------------------- +Thu Jul 20 10:24:51 CEST 2006 - ms@suse.de + +- replaced static HZ define to dynamic: + #ifndef HZ + #define HZ sysconf(_SC_CLK_TCK) + #endif + +------------------------------------------------------------------- +Wed May 24 21:32:23 CEST 2006 - schwab@suse.de + +- Don't strip binaries. + +------------------------------------------------------------------- +Wed May 17 15:01:39 CEST 2006 - ms@suse.de + +- added patch from Olaf Kirch. Do not display SCTP sockets + if /proc/net/sctp/eps couldn't be opened (#159686) + +------------------------------------------------------------------- +Tue Mar 21 12:28:39 CET 2006 - okir@suse.de + +- Display SCTP sockets correctly [#159686 - LTC22492] + +------------------------------------------------------------------- +Mon Mar 20 12:36:32 CET 2006 - hvogel@suse.de + +- fix netstat -p segfault [#159069] + +------------------------------------------------------------------- +Mon Feb 20 12:00:24 CET 2006 - hvogel@suse.de + +- fix netstat output not to bit-wrap [#149563] + +------------------------------------------------------------------- +Mon Feb 6 12:10:13 CET 2006 - hvogel@suse.de + +- add snmp counter overflow patch by ak [#148350] + +------------------------------------------------------------------- +Wed Feb 1 19:01:28 CET 2006 - hvogel@suse.de + +- fix arp causing unaligned access [#146422] + patch from Arthur D. Kepner + +------------------------------------------------------------------- +Wed Jan 25 21:30:37 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 11 15:10:08 CET 2006 - mmj@suse.de + +- Add patch from fedora to avoid stack smashing [#142461] + +------------------------------------------------------------------- +Mon Dec 19 15:55:15 CET 2005 - mmj@suse.de + +- Update to traceroute-1.0.4 + +------------------------------------------------------------------- +Mon Dec 19 11:03:09 CET 2005 - mmj@suse.de + +- Update to traceroute-1.0.3 + +------------------------------------------------------------------- +Fri Dec 16 11:46:37 CET 2005 - mmj@suse.de + +- Use ICMP6_DST_UNREACH_BEYONDSCOPE instead of + ICMP6_DST_UNREACH_NOTNEIGHBOR on newer glibc + +------------------------------------------------------------------- +Tue Sep 27 10:07:31 CEST 2005 - mmj@suse.de + +- Fix strict aliasing issues + +------------------------------------------------------------------- +Mon Aug 29 15:42:16 CEST 2005 - mmj@suse.de + +- Correct netstat.8 [#104487] + +------------------------------------------------------------------- +Wed Jul 6 14:13:10 CEST 2005 - mmj@suse.de + +- Fix missing decl in nstrcmp.c + +------------------------------------------------------------------- +Mon Jun 20 10:30:50 CEST 2005 - mmj@suse.de + +- compile with -fpie, link with -pie +- don't strip explicitly + +------------------------------------------------------------------- +Mon Jun 13 16:23:38 CEST 2005 - ro@suse.de + +- include netinet/if_tr.h instead of linux/if_tr.h + +------------------------------------------------------------------- +Wed Jan 5 12:42:56 CET 2005 - mmj@suse.de + +- Fix --numeric-ports to not imply --numeric [#45609] + +------------------------------------------------------------------- +Wed Dec 8 00:33:03 CET 2004 - mmj@suse.de + +- Include linux/sockios.h to get the right ioctl [#48873]. This bug + is in mii-tool which is not included anymore, but better not risk + ever re-adding buggy stuff. + +------------------------------------------------------------------- +Thu Dec 2 10:09:01 CET 2004 - mmj@suse.de + +- Fix nameif segfault [#48749] + +------------------------------------------------------------------- +Mon Aug 9 14:39:20 CEST 2004 - mmj@suse.de + +- Remove mii-tool everywhere [#43343] + +------------------------------------------------------------------- +Fri Jul 30 12:36:59 CEST 2004 - fdg@suse.de + +- fixed the -ic option without destroying the ifconfig buffer + regarding to bug #42932 + +------------------------------------------------------------------- +Mon May 24 14:26:50 CEST 2004 - meissner@suse.de + +- also print unsigned long longs (last patch updated). + +------------------------------------------------------------------- +Mon May 24 13:58:36 CEST 2004 - meissner@suse.de + +- Always read 64bit values from /proc/net/dev, so we can + use 32bit userland to read from 64bit kernel. #40951/LTC#8726 + +------------------------------------------------------------------- +Fri Mar 5 09:17:31 CET 2004 - hare@suse.de + +- Fixed return values for non-existing interfaces in nameif. + +------------------------------------------------------------------- +Thu Feb 26 10:54:31 CET 2004 - hare@suse.de + +- Add -r option to nameif to allow renaming of + interfaces. + +------------------------------------------------------------------- +Thu Jan 29 17:33:30 CET 2004 - hare@suse.de + +- Cool. The last change effectively broke route(1). + -> replaced return; with break; + +------------------------------------------------------------------- +Sun Jan 18 16:53:42 CET 2004 - mmj@suse.de + +- Fix compound statement calls, and add a missing include + +------------------------------------------------------------------- +Wed Oct 15 12:54:44 CEST 2003 - mmj@suse.de + +- Don't build as root + +------------------------------------------------------------------- +Mon Oct 13 13:47:23 CEST 2003 - mmj@suse.de + +- Fix 32 vs. 64-bit programming mistakes [#32089] + +------------------------------------------------------------------- +Mon Aug 18 20:17:55 CEST 2003 - mmj@suse.de + +- Fix from mmeissner for nstrcmp.c to handle alias interfaces, + even without standard names. (eth1:1 vs eth1:2, also + eth1:blubber vs eth1:1) [#28985] + +------------------------------------------------------------------- +Mon Jul 14 10:14:54 CEST 2003 - mmj@suse.de + +- Add fix from okir for traceroute -S [#27573] + +------------------------------------------------------------------- +Wed Jun 18 16:06:33 CEST 2003 - ro@suse.de + +- added non-en manpage directories to filelist + +------------------------------------------------------------------- +Mon May 19 15:56:07 CEST 2003 - mmj@suse.de + +- Use a better and more tested nstrcmp.c [#26950] + +------------------------------------------------------------------- +Wed May 14 00:28:10 CEST 2003 - ro@suse.de + +- fix build with 2.5 kernel includes + +------------------------------------------------------------------- +Tue May 13 10:48:01 CEST 2003 - mmj@suse.de + +- Package man-pages in several languages + +------------------------------------------------------------------- +Wed Mar 5 15:28:48 CET 2003 - mmj@suse.de + +- Add missing xinetd file [#24676] + +------------------------------------------------------------------- +Tue Nov 26 10:40:28 CET 2002 - mmj@suse.de + +- Fix traceroute 6 segfault [#21975] + +------------------------------------------------------------------- +Fri Nov 15 12:53:03 CET 2002 - okir@suse.de + +- Upgraded to new traceroute to fix #20358 + +------------------------------------------------------------------- +Mon Nov 11 10:22:04 CET 2002 - mmj@suse.de + +- Fix multi string literals + +------------------------------------------------------------------- +Thu Jul 25 18:22:48 CEST 2002 - mmj@suse.de + +- Added traceroute from Olaf Kirch, which is much more secure and + also IPv6 capable. + +------------------------------------------------------------------- +Tue Apr 16 14:40:37 CEST 2002 - mmj@suse.de + +- Do not pack translated manpages. Should go to other package. + +------------------------------------------------------------------- +Mon Mar 4 10:15:43 MET 2002 - mmj@suse.de + +- unvollsändig -> unvollständig in German locale. [Bug #14371] + +------------------------------------------------------------------- +Wed Feb 6 12:43:56 CET 2002 - mmj@suse.de + +- Removed yp and nis stuff from manpages. + +------------------------------------------------------------------- +Sat Aug 25 13:54:05 CEST 2001 - kukuk@suse.de + +- Replace last patch by a newer one from ak@suse.de + +------------------------------------------------------------------- +Mon Aug 20 18:33:41 CEST 2001 - kukuk@suse.de + +- Add fix for truncated IP addresses [Bug #9737] + +------------------------------------------------------------------- +Wed Apr 25 19:09:43 CEST 2001 - kukuk@suse.de + +- Update to net-tools-1.60: + * lot of locale fixes + * IPv6 fixes + * use secure strcpy + +------------------------------------------------------------------- +Tue Apr 17 11:57:30 CEST 2001 - ro@suse.de + +- added provides for net_tool + +------------------------------------------------------------------- +Sun Mar 4 19:07:28 CET 2001 - bk@suse.de + +- Update to 1.59(many fixes and improvements and new program nameif) +- enabled gettext support and added locales +- added ipmaddr and iptunnel tools +- enabled FDDI and HIPPI support +- use optimisation flags +- added international man pages +- spec file changes to make use of wildcards in the filelist + +------------------------------------------------------------------- +Fri Oct 20 18:47:45 CEST 2000 - kukuk@suse.de + +- Rename from net_tool to net-tools + +------------------------------------------------------------------- +Sun Jun 25 23:16:19 CEST 2000 - bk@suse.de + +- s390: removed not needed files + +------------------------------------------------------------------- +Sat Jun 3 15:33:26 CEST 2000 - kukuk@suse.de + +- Update to 1.56 + +------------------------------------------------------------------- +Thu May 25 17:52:34 CEST 2000 - kukuk@suse.de + +- Update to 1.55 (contains all fixes) + +------------------------------------------------------------------- +Thu May 18 15:28:40 CEST 2000 - kukuk@suse.de + +- Add oh2bns patch (bug #2864) + +------------------------------------------------------------------- +Wed Feb 9 15:36:40 CET 2000 - kukuk@suse.de + +- Add ifconfig manual pages from Andi Kleen + +------------------------------------------------------------------- +Wed Feb 2 18:15:19 CET 2000 - kukuk@suse.de + +- Fix PPP initialisation + +------------------------------------------------------------------- +Wed Feb 2 14:48:03 CET 2000 - kukuk@suse.de + +- Update to 1.54, move /usr/man -> /usr/share/man + +------------------------------------------------------------------- +Mon Jan 3 15:12:23 CET 2000 - kukuk@suse.de + +- Enable IPv6 support +- Fix arp/ethers parsing + +------------------------------------------------------------------- +Tue Oct 12 11:13:20 CEST 1999 - garloff@suse.de + +- gateways and targets of PtP routes (host flag) are hosts, not + networks. Change name lookup accordingly. + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Mon Aug 30 11:16:50 MEST 1999 - kukuk@suse.de + +- Update to 1.53, remove ypdomainname and nisdomainname + +------------------------------------------------------------------- +Sat Jun 26 19:31:07 MEST 1999 - kukuk@suse.de + +- update from jurix to 1.52 + +------------------------------------------------------------------- +Tue Mar 9 23:46:41 MET 1999 - ro@suse.de + +- update to 1.50 +- included slattach and its manpage in filelist + +------------------------------------------------------------------- +Wed Oct 28 11:29:46 MET 1998 - ro@suse.de + +- update to 1.46 / removed incorporated changes from .dif + +------------------------------------------------------------------- +Sat Sep 19 19:38:31 MEST 1998 - ro@suse.de + +- define _GNU_SOURCE where getopt_long is used + +------------------------------------------------------------------- +Tue Sep 1 15:42:30 MEST 1998 - ro@suse.de + +- fixed problems with inluding own ipx.h under glibc + +------------------------------------------------------------------- +Wed Jun 24 15:50:34 MEST 1998 - ro@suse.de + +- added include linux/timer.h before including linux/ip_fw.h + +------------------------------------------------------------------- +Mon Oct 27 16:53:41 MET 1997 - ro@suse.de + +- added ADD_LANG in Makefile to avoid error + +------------------------------------------------------------------- +whenever-whenever - florian@suse.de + +new version 1.32-alpha +mv /sbin/arp /usr/sbin/arp diff --git a/net-tools.spec b/net-tools.spec new file mode 100644 index 0000000..082c8cc --- /dev/null +++ b/net-tools.spec @@ -0,0 +1,161 @@ +# +# spec file for package net-tools +# +# Copyright (c) 2021 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: net-tools +Version: 2.10 +Release: 0 +Summary: Important Programs for Networking +License: GPL-2.0-or-later +Group: Productivity/Networking/Other +URL: https://sourceforge.net/projects/net-tools/ +Source: https://sourceforge.net/projects/net-tools/files/net-tools-%{version}.tar.xz +# PATCH-FEATURE-SUSE: set configure values to our liking as we do not need +# everything here +Patch0: net-tools-configure.patch +# Git formatted patches described in each patch +Patch1: 0001-Add-ether-wake-binary.patch +Patch2: 0002-Do-not-warn-about-interface-socket-not-binded.patch +Patch4: 0004-By-default-do-not-fopen-anything-in-netrom_gr.patch +Patch6: 0006-Allow-interface-stacking.patch +Patch7: 0007-Introduce-T-notrim-option-in-netstat.patch +BuildRequires: help2man +Requires: hostname +Recommends: traceroute >= 2.0.0 +Provides: net_tool = %{version} +Obsoletes: net_tool < %{version} + +%description +This package contains programs for network administration and maintenance. +Most of the utilities formerly contained in this package (netstat, arp, +ifconfig, rarp, route) are obsoleted by the tools from iproute2 package (ip, ss) +and have been moved to net-tools-deprecated. + +%package deprecated +Summary: Deprecated Networking Utilities +Group: Productivity/Networking/Other + +%description deprecated +This package contains the deprecated network utilities arp, ifconfig, netstat and route, +which have been replaced by tools from the iproute2 package: + * arp -> ip [-r] neigh + * ifconfig -> ip a + * netstat -> ss [-r] + * route -> ip r + +%lang_package + +%prep +%setup -q +%autopatch -p1 + +%build +export CFLAGS="%{optflags}" +make %{?_smp_mflags} config +make %{?_smp_mflags} + +%install +%make_install BINDIR=%{_bindir} SBINDIR=%{_sbindir} + +# remove rarp as it is not usefull with our kernel +rm -fv %{buildroot}%{_prefix}/*bin/rarp +rm -fv %{buildroot}/%{_mandir}/man*/rarp.* +rm -fv %{buildroot}/%{_mandir}/*/man*/rarp.* +# Fix manpage locations +mv %{buildroot}/%{_mandir}/de_DE %{buildroot}/%{_mandir}/de +mv %{buildroot}/%{_mandir}/fr_FR %{buildroot}/%{_mandir}/fr +# Generate missing manpages +for tool in iptunnel ipmaddr; do + t="%{buildroot}/%{_mandir}/man8/${tool}.8" + help2man -s8 "%{buildroot}%{_sbindir}/${tool}" --no-discard-stderr >"${t}" +done +# generate bin/sbin compat symlinks +%if 0%{?suse_version} < 1550 +mkdir -p %{buildroot}/sbin +mkdir -p %{buildroot}/bin +for i in ether-wake nameif plipconfig slattach arp ipmaddr iptunnel; do +ln -s %{_sbindir}/$i %{buildroot}/sbin/$i +done +for i in netstat ifconfig route; do +ln -s %{_bindir}/$i %{buildroot}/bin/$i +done +%endif +%find_lang %{name} --all-name + +%files +%license COPYING +%doc README ABOUT-NLS +%{_sbindir}/ether-wake +%{_sbindir}/nameif +%{_sbindir}/plipconfig +%{_sbindir}/slattach +%if 0%{?suse_version} < 1550 +/sbin/ether-wake +/sbin/nameif +/sbin/plipconfig +/sbin/slattach +%endif +%{_mandir}/de/man5/ethers.5%{?ext_man} +%{_mandir}/de/man8/plipconfig.8%{?ext_man} +%{_mandir}/de/man8/slattach.8%{?ext_man} +%{_mandir}/fr/man5/ethers.5%{?ext_man} +%{_mandir}/fr/man8/plipconfig.8%{?ext_man} +%{_mandir}/fr/man8/slattach.8%{?ext_man} +%{_mandir}/man5/ethers.5%{?ext_man} +%{_mandir}/man8/ether-wake.8%{?ext_man} +%{_mandir}/man8/nameif.8%{?ext_man} +%{_mandir}/man8/plipconfig.8%{?ext_man} +%{_mandir}/man8/slattach.8%{?ext_man} + +%files deprecated +%license COPYING +%{_bindir}/ifconfig +%{_bindir}/netstat +%{_bindir}/route +%if 0%{?suse_version} < 1550 +/bin/ifconfig +/bin/netstat +/bin/route +/sbin/arp +/sbin/ipmaddr +/sbin/iptunnel +%endif +%{_sbindir}/arp +%{_sbindir}/ipmaddr +%{_sbindir}/iptunnel +%{_mandir}/de/man8/arp.8%{?ext_man} +%{_mandir}/de/man8/ifconfig.8%{?ext_man} +%{_mandir}/de/man8/netstat.8%{?ext_man} +%{_mandir}/de/man8/route.8%{?ext_man} +%{_mandir}/fr/man8/arp.8%{?ext_man} +%{_mandir}/fr/man8/ifconfig.8%{?ext_man} +%{_mandir}/fr/man8/netstat.8%{?ext_man} +%{_mandir}/fr/man8/route.8%{?ext_man} +%{_mandir}/man8/arp.8%{?ext_man} +%{_mandir}/man8/ifconfig.8%{?ext_man} +%{_mandir}/man8/netstat.8%{?ext_man} +%{_mandir}/man8/route.8%{?ext_man} +%{_mandir}/man8/ipmaddr.8%{?ext_man} +%{_mandir}/man8/iptunnel.8%{?ext_man} +%{_mandir}/pt_BR/man8/arp.8%{?ext_man} +%{_mandir}/pt_BR/man8/ifconfig.8%{?ext_man} +%{_mandir}/pt_BR/man8/netstat.8%{?ext_man} +%{_mandir}/pt_BR/man8/route.8%{?ext_man} + +%files lang -f %{name}.lang + +%changelog