]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/commitdiff
etherwake: Fix compiling and add manpage.
authorStefan Schantl <stefan.schantl@ipfire.org>
Sun, 5 Apr 2015 12:46:47 +0000 (14:46 +0200)
committerStefan Schantl <stefan.schantl@ipfire.org>
Sun, 5 Apr 2015 12:46:47 +0000 (14:46 +0200)
etherwake/etherwake.8 [new file with mode: 0644]
etherwake/etherwake.nm
etherwake/patches/etherwake-1.09-hardening.patch [new file with mode: 0644]

diff --git a/etherwake/etherwake.8 b/etherwake/etherwake.8
new file mode 100644 (file)
index 0000000..f51ec44
--- /dev/null
@@ -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 <n>    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<whatever>\fP and
+.\" \fI<whatever>\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 the default "eth0".
+.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.
index 57728b7c2f5354282a4beac2478fff3a6c5c1d82..f6d44e3e22ad7a582073d25b4e5d46f928fef6bc 100644 (file)
@@ -5,16 +5,16 @@
 
 name       = etherwake
 version    = 1.09
-release    = 2
+release    = 3
 
 groups     = Networking/Tools
-url        =
-license    =
+url        = http://www.scyld.com
+license    = GPL
 summary    = Can wake up sleeping PCs by WOL.
 
 description
-       A little tool to send magic Wake-on-LAN packets You can wake up WOL \
-       compliant Computers which have been powered down to sleep mode or start \
+       A little tool to send magic Wake-on-LAN packets You can wake up WOL
+       compliant Computers which have been powered down to sleep mode or start
        WOL compliant Computers with a BIOS feature.
 end
 
@@ -28,12 +28,16 @@ build
        install
                mkdir -pv %{BUILDROOT}/usr/sbin
                make install DESTDIR=%{BUILDROOT}
+
+               # Install man-page.
+               mkdir -pv %{BUILDROOT}%{mandir}/man8
+               install -m 644 %{DIR_SOURCE}/etherwake.8 \
+                       %{BUILDROOT}%{mandir}/man8
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/etherwake/patches/etherwake-1.09-hardening.patch b/etherwake/patches/etherwake-1.09-hardening.patch
new file mode 100644 (file)
index 0000000..238b740
--- /dev/null
@@ -0,0 +1,30 @@
+diff -Nur etherwake-1.09/ether-wake.c etherwake-1.09_new/ether-wake.c
+--- etherwake-1.09/ether-wake.c        2005-07-10 18:44:25.000000000 +0000
++++ etherwake-1.09_new/ether-wake.c    2015-04-05 12:22:20.157004547 +0000
+@@ -131,7 +131,7 @@
+               case 'D': debug++;                      break;
+               case 'i': ifname = optarg;      break;
+               case 'p': get_wol_pw(optarg); break;
+-              case 'u': printf(usage_msg); return 0;
++              case 'u': printf("%s",usage_msg); return 0;
+               case 'v': verbose++;            break;
+               case 'V': do_version++;         break;
+               case '?':
+@@ -140,7 +140,7 @@
+       if (verbose || do_version)
+               printf("%s\n", version_msg);
+       if (errflag) {
+-              fprintf(stderr, brief_usage_msg);
++              fprintf(stderr,"%s", brief_usage_msg);
+               return 3;
+       }
+@@ -181,7 +181,7 @@
+          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;
++              const char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
+               strcpy(if_hwaddr.ifr_name, ifname);
+               if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {