Files
core/system/base/net-tools/files/net-tools-missing.patch
2015-02-24 11:18:35 +02:00

577 lines
17 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
diff -Nur net-tools-1.60.orig/config.h net-tools-1.60/config.h
--- net-tools-1.60.orig/config.h 1970-01-01 02:00:00.000000000 +0200
+++ net-tools-1.60/config.h 2005-07-14 14:19:22.000000000 +0300
@@ -0,0 +1,75 @@
+/*
+* config.h Automatically generated configuration includefile
+*
+* NET-TOOLS A collection of programs that form the base set of the
+* NET-3 Networking Distribution for the LINUX operating
+* system.
+*
+* DO NOT EDIT DIRECTLY
+*
+*/
+
+/*
+ *
+ * Internationalization
+ *
+ * The net-tools package has currently been translated to French,
+ * German and Brazilian Portugese. Other translations are, of
+ * course, welcome. Answer `n' here if you have no support for
+ * internationalization on your system.
+ *
+ */
+#define I18N 1
+
+/*
+ *
+ * Protocol Families.
+ *
+ */
+#define HAVE_AFUNIX 1
+#define HAVE_AFINET 1
+#define HAVE_AFINET6 1
+#define HAVE_AFIPX 1
+#define HAVE_AFATALK 1
+#define HAVE_AFAX25 1
+#define HAVE_AFNETROM 1
+#define HAVE_AFROSE 1
+#define HAVE_AFX25 1
+#define HAVE_AFECONET 1
+#define HAVE_AFDECnet 0
+#define HAVE_AFASH 1
+
+/*
+ *
+ * Device Hardware types.
+ *
+ */
+#define HAVE_HWETHER 1
+#define HAVE_HWARC 1
+#define HAVE_HWSLIP 1
+#define HAVE_HWPPP 1
+#define HAVE_HWTUNNEL 1
+#define HAVE_HWSTRIP 0
+#define HAVE_HWTR 0
+#define HAVE_HWAX25 1
+#define HAVE_HWROSE 1
+#define HAVE_HWNETROM 1
+#define HAVE_HWX25 1
+#define HAVE_HWFR 1
+#define HAVE_HWSIT 1
+#define HAVE_HWFDDI 1
+#define HAVE_HWHIPPI 1
+#define HAVE_HWASH 1
+#define HAVE_HWHDLCLAPB 1
+#define HAVE_HWIRDA 1
+#define HAVE_HWEC 1
+#define HAVE_HWIB 1
+
+/*
+ *
+ * Other Features.
+ *
+ */
+#define HAVE_FW_MASQUERADE 1
+#define HAVE_IP_TOOLS 1
+#define HAVE_MII 1
diff -Nur net-tools-1.60.orig/config.make net-tools-1.60/config.make
--- net-tools-1.60.orig/config.make 1970-01-01 02:00:00.000000000 +0200
+++ net-tools-1.60/config.make 2005-07-14 14:19:22.000000000 +0300
@@ -0,0 +1,36 @@
+I18N=1
+HAVE_AFUNIX=1
+HAVE_AFINET=1
+HAVE_AFINET6=1
+HAVE_AFIPX=1
+HAVE_AFATALK=1
+HAVE_AFAX25=1
+HAVE_AFNETROM=1
+HAVE_AFROSE=1
+HAVE_AFX25=1
+HAVE_AFECONET=1
+# HAVE_AFDECnet=0
+HAVE_AFASH=1
+HAVE_HWETHER=1
+HAVE_HWARC=1
+HAVE_HWSLIP=1
+HAVE_HWPPP=1
+HAVE_HWTUNNEL=1
+HAVE_HWSTRIP=0
+HAVE_HWTR=0
+HAVE_HWAX25=1
+HAVE_HWROSE=1
+HAVE_HWNETROM=1
+HAVE_HWX25=1
+HAVE_HWFR=1
+HAVE_HWSIT=1
+HAVE_HWFDDI=1
+HAVE_HWHIPPI=1
+HAVE_HWASH=1
+HAVE_HWHDLCLAPB=1
+HAVE_HWIRDA=1
+HAVE_HWEC=1
+HAVE_HWIB=1
+HAVE_FW_MASQUERADE=1
+HAVE_IP_TOOLS=1
+HAVE_MII=1
diff -Nur net-tools-1.60.orig/ether-wake.c net-tools-1.60/ether-wake.c
--- net-tools-1.60.orig/ether-wake.c 1970-01-01 02:00:00.000000000 +0200
+++ net-tools-1.60/ether-wake.c 2005-07-14 14:19:35.000000000 +0300
@@ -0,0 +1,340 @@
+/* ether-wake.c: Send a magic packet to wake up sleeping machines. */
+
+static char version_msg[] =
+"ether-wake.c: v1.05 12/28/2000 Donald Becker, http://www.scyld.com/";
+static char brief_usage_msg[] =
+"usage: ether-wake [-i <ifname>] [-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 <ifname>] [-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) \"Magic Packet\",\n\
+used for restarting machines that have been soft-powered-down\n\
+(ACPI D3-warm state). It currently generates the standard AMD Magic Packet\n\
+format, with an optional password appended.\n\
+\n\
+The single required parameter is the Ethernet MAC (station) address\n\
+of the machine to wake. This is typically retrieved with the 'arp'\n\
+program while the target 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 the default 'eth0'.\n\
+ -p <pw> 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 is part of the network tricks package.
+
+ The author may be reached as becker@scyld, or C/O
+ Scyld Computing Corporation
+ 410 Severn Ave., Suite 210
+ Annapolis MD 21403
+
+ The single required parameter is the Ethernet MAC (station) address
+ of the machine to wake. This is typically retrieved with the 'arp'
+ program while the target machine is awake.
+
+ Options:
+ -b Send wake-up packet to the broadcast address.
+ -D Increase the debug level.
+ -i ifname Use interface IFNAME instead of the default "eth0".
+ -p <pw> Append the four or six byte password PW to the packet.
+ A password is only required for a few adapter types.
+ The password may be specified in ethernet hex format
+ or dotted decimal (Internet address)
+ -p 00:22:44:66:88:aa
+ -p 192.168.1.1
+
+ Note: 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.
+
+*/
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+
+#if 0 /* Only exists on some versions. */
+#include <ioctls.h>
+#endif
+
+#include <sys/socket.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <linux/if.h>
+
+#ifdef UIO_MAXIOV
+/*extern int setsockopt __P ((int __fd, int __level, int __optname,
+ __ptr_t __optval, int __optlen));*/
+#else /* New, correct head files. */
+#include <sys/socket.h>
+#endif
+#ifdef USE_SENDMSG
+#include <iovec.h>
+#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_fill(unsigned char *pkt, char *arg);
+static int get_wol_pw(const char *optarg);
+
+int main(int argc, char *argv[])
+{
+ struct sockaddr whereto; /* who to wake up */
+ char *ifname = "eth0";
+ int one = 1; /* True, for socket options. */
+ int s; /* Raw socket */
+ int errflag = 0, verbose = 0, do_version = 0;
+ int i, c, pktsize;
+
+ 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(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, brief_usage_msg);
+ 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 ((s = socket(AF_INET, SOCK_PACKET, SOCK_PACKET)) < 0) {
+ if (errno == EPERM)
+ fprintf(stderr, "ether-wake must run as root\n");
+ else
+ perror("ether-wake: socket");
+ if (! debug)
+ return 2;
+ }
+ /* Don't revert if debugging allows a normal user to get the raw socket. */
+ setuid(getuid());
+
+ pktsize = get_fill(outpack, argv[optind]);
+
+ /* 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;
+ unsigned char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
+
+ strcpy(if_hwaddr.ifr_name, ifname);
+ if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {
+ fprintf(stderr, "SIOCGIFHWADDR on %s failed: %s\n", ifname,
+ strerror(errno));
+ 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");
+
+ whereto.sa_family = 0;
+ strcpy(whereto.sa_data, ifname);
+
+ if ((i = sendto(s, outpack, pktsize, 0, &whereto, sizeof(whereto))) < 0)
+ perror("sendto");
+ else if (debug)
+ printf("Sendto worked ! %d.\n", i);
+
+#ifdef USE_SEND
+ if (bind(s, &whereto, sizeof(whereto)) < 0)
+ perror("bind");
+ else if (send(s, outpack, 100, 0) < 0)
+ perror("send");
+#endif
+#ifdef USE_SENDMSG
+ {
+ struct msghdr msghdr;
+ 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;
+}
+
+static int get_fill(unsigned char *pkt, char *arg)
+{
+ int sa[6];
+ unsigned char station_addr[6];
+ int byte_cnt;
+ int offset, i;
+ char *cp;
+
+ for (cp = arg; *cp; cp++)
+ if (*cp != ':' && !isxdigit(*cp)) {
+ (void)fprintf(stderr,
+ "ping: patterns must be specified as hex digits.\n");
+ exit(2);
+ }
+
+ byte_cnt = sscanf(arg, "%2x:%2x:%2x:%2x:%2x:%2x",
+ &sa[0], &sa[1], &sa[2], &sa[3], &sa[4], &sa[5]);
+ for (i = 0; i < 6; i++)
+ station_addr[i] = sa[i];
+ if (debug)
+ fprintf(stderr, "Command line stations address is "
+ "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x.\n",
+ sa[0], sa[1], sa[2], sa[3], sa[4], sa[5]);
+
+ if (byte_cnt != 6) {
+ (void)fprintf(stderr,
+ "ping: The Magic Packet address must be specified as "
+ "00:11:22:33:44:55.\n");
+ exit(2);
+ }
+
+ 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 -Nur net-tools-1.60.orig/include/linux/if_infiniband.h net-tools-1.60/include/linux/if_infiniband.h
--- net-tools-1.60.orig/include/linux/if_infiniband.h 1970-01-01 02:00:00.000000000 +0200
+++ net-tools-1.60/include/linux/if_infiniband.h 2005-07-14 14:19:58.000000000 +0300
@@ -0,0 +1,40 @@
+/*
+ * This software is available to you under a choice of one of two
+ * licenses. You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available at
+ * <http://www.fsf.org/copyleft/gpl.html>, or the OpenIB.org BSD
+ * license, available in the LICENSE.TXT file accompanying this
+ * software. These details are also available at
+ * <http://openib.org/license.html>.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Copyright (c) 2004 Topspin Communications. All rights reserved.
+ *
+ * $Id: if_infiniband.h,v 1.2 2005/03/16 23:47:34 vapier Exp $
+ */
+
+/*
+ * this is a slightly touched up version of the header
+ * found in linux-2.6 ... the point is to make sure it
+ * allows for all systems to build properly. This
+ * includes glibc-2.2.x, uclibc, etc...
+ */
+
+#ifndef _LINUX_IF_INFINIBAND_H
+#define _LINUX_IF_INFINIBAND_H
+
+#define INFINIBAND_ALEN 20 /* Octets in IPoIB HW addr */
+
+#ifndef ARPHRD_INFINIBAND
+#define ARPHRD_INFINIBAND 32
+#endif
+
+#endif /* _LINUX_IF_INFINIBAND_H */
diff -Nur net-tools-1.60.orig/man/en_US/ether-wake.8 net-tools-1.60/man/en_US/ether-wake.8
--- net-tools-1.60.orig/man/en_US/ether-wake.8 1970-01-01 02:00:00.000000000 +0200
+++ net-tools-1.60/man/en_US/ether-wake.8 2005-07-14 14:19:41.000000000 +0300
@@ -0,0 +1,65 @@
+.\" 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 "December 17, 2002"
+.\" 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 <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+ether\-wake \- A tool to send magic WOL packages
+.SH SYNOPSIS
+.B ether\-wake
+.RI [ options ] " MAC-Address"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ether\-wake
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBether\-wake\fP is a program that generates and transmits 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.
+.SH OPTIONS
+\fBether\-wake\fP needs a single dash (´-´) in front of the option.
+A summary of options is included below.
+.TP
+.B \-b
+Send wake-up packet to the broadcast address.
+.TP
+.B \-D
+Increase the Debug Level.
+.TP
+.B \-i ifname
+Use interface ifname instead of the default "eth0".
+.TP
+.B \-p passwd
+Append a four or six byte password to the packet. Only very few adapters
+need or support this. The password may be also specified in ethernet hex
+format (00:22:44:66:88:aa) or dotted decimal (192.168.1.1).
+.SH SEE ALSO
+.BR arp (8).
+.br
+.SH KNOWN BUGS
+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.
+.SH AUTHOR
+The ether\-wake program was written by Donald Becker at Scyld Computing
+Corporation.
+This manual page was formatted by Alain Schroeder <alain@mini.gt.owl.de>
+from the on-line manual in the program.
+