* [meta-networking][PATCH 0/8] Networking recipes
@ 2012-11-19 17:11 Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up Paul Eggleton
` (8 more replies)
0 siblings, 9 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
The following changes since commit b69b6e04f12b2fc45a3ebac8c741bda41fea6409:
netperf: import from oe-classic and upgrade to 2.6.0 (2012-11-19 11:18:30 -0500)
are available in the git repository at:
git://git.openembedded.org/meta-openembedded-contrib paule/networking
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=paule/networking
Paul Eggleton (8):
tftp-hpa: add from OE-Classic, update and tidy up
tunctl: add from OE-Classic and tweak
quagga: add from OE-Classic, update and tidy-up
radvd: add from OE-Classic, update and tidy up
vblade: add from OE-Classic, update and tidy up
xl2tpd: add from OE-Classic, update and tidy up
proftpd: add from meta-baryon
mtr: add from OE-Classic, update and tidy up
.../recipes-daemons/proftpd/files/basic.conf.patch | 21 ++
.../recipes-daemons/proftpd/files/contrib.patch | 42 ++++
.../recipes-daemons/proftpd/files/default | 9 +
.../recipes-daemons/proftpd/files/make.patch | 66 ++++++
.../proftpd/files/proftpd-basic.init | 220 ++++++++++++++++++++
.../recipes-daemons/proftpd/proftpd_1.3.4b.bb | 61 ++++++
.../recipes-daemons/radvd/files/radvd.init | 124 +++++++++++
.../recipes-daemons/radvd/files/volatiles.03_radvd | 2 +
meta-networking/recipes-daemons/radvd/radvd.inc | 37 ++++
.../recipes-daemons/radvd/radvd_1.9.1.bb | 6 +
.../recipes-daemons/tftp-hpa/files/default | 3 +
.../recipes-daemons/tftp-hpa/files/init | 104 +++++++++
.../tftp-hpa/files/tftp-0.40-remap.patch | 19 ++
.../tftp-hpa/files/tftp-0.42-tftpboot.patch | 54 +++++
.../tftp-hpa/files/tftp-0.49-chk_retcodes.patch | 15 ++
.../tftp-hpa/files/tftp-0.49-cmd_arg.patch | 159 ++++++++++++++
.../tftp-hpa/files/tftp-hpa-0.39-tzfix.patch | 18 ++
.../files/tftp-hpa-0.49-fortify-strcpy-crash.patch | 26 +++
.../tftp-hpa/files/tftp-hpa-0.49-stats.patch | 14 ++
.../tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch | 23 ++
.../recipes-daemons/tftp-hpa/files/tftp-xinetd | 18 ++
.../recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb | 66 ++++++
.../recipes-daemons/vblade/files/cross.patch | 16 ++
.../recipes-daemons/vblade/vblade_20.bb | 20 ++
.../quagga/files/fix-for-lib-inpath.patch | 19 ++
.../quagga/files/quagga-0.99.17-libcap.patch | 64 ++++++
.../recipes-protocols/quagga/files/quagga.default | 13 ++
.../recipes-protocols/quagga/files/quagga.init | 200 ++++++++++++++++++
.../quagga/files/volatiles.03_quagga | 3 +
.../quagga/files/watchquagga.default | 7 +
.../quagga/files/watchquagga.init | 64 ++++++
.../recipes-protocols/quagga/quagga.inc | 146 +++++++++++++
.../recipes-protocols/quagga/quagga_0.99.21.bb | 8 +
.../xl2tpd/xl2tpd-1.3.1/cflags.patch | 58 ++++++
.../recipes-protocols/xl2tpd/xl2tpd.inc | 35 ++++
.../recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb | 8 +
.../recipes-support/mtr/files/no-gtk.patch | 31 +++
meta-networking/recipes-support/mtr/mtr_0.82.bb | 19 ++
meta-networking/recipes-support/tunctl/tunctl.inc | 15 ++
.../recipes-support/tunctl/tunctl_1.5.bb | 4 +
40 files changed, 1837 insertions(+)
create mode 100644 meta-networking/recipes-daemons/proftpd/files/basic.conf.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/contrib.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/default
create mode 100644 meta-networking/recipes-daemons/proftpd/files/make.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init
create mode 100644 meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
create mode 100755 meta-networking/recipes-daemons/radvd/files/radvd.init
create mode 100644 meta-networking/recipes-daemons/radvd/files/volatiles.03_radvd
create mode 100644 meta-networking/recipes-daemons/radvd/radvd.inc
create mode 100644 meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/default
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/init
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
create mode 100644 meta-networking/recipes-daemons/vblade/files/cross.patch
create mode 100644 meta-networking/recipes-daemons/vblade/vblade_20.bb
create mode 100644 meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga.default
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga.init
create mode 100644 meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
create mode 100644 meta-networking/recipes-protocols/quagga/files/watchquagga.default
create mode 100644 meta-networking/recipes-protocols/quagga/files/watchquagga.init
create mode 100644 meta-networking/recipes-protocols/quagga/quagga.inc
create mode 100644 meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd-1.3.1/cflags.patch
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb
create mode 100644 meta-networking/recipes-support/mtr/files/no-gtk.patch
create mode 100644 meta-networking/recipes-support/mtr/mtr_0.82.bb
create mode 100644 meta-networking/recipes-support/tunctl/tunctl.inc
create mode 100644 meta-networking/recipes-support/tunctl/tunctl_1.5.bb
--
1.7.9.5
^ permalink raw reply [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 18:14 ` Joe MacDonald
2012-11-19 17:11 ` [meta-networking][PATCH 2/8] tunctl: add from OE-Classic and tweak Paul Eggleton
` (7 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to 5.2
* Add patches
* Add DESCRIPTION and better SUMMARY
* Make LICENSE more accurate
* Add LIC_FILES_CHKSUM
* Update ALTERNATIVE_* definitions
Much of this was done by Joe MacDonald <joe.macdonald@windriver.com>.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../recipes-daemons/tftp-hpa/files/default | 3 +
.../recipes-daemons/tftp-hpa/files/init | 104 +++++++++++++
.../tftp-hpa/files/tftp-0.40-remap.patch | 19 +++
.../tftp-hpa/files/tftp-0.42-tftpboot.patch | 54 +++++++
.../tftp-hpa/files/tftp-0.49-chk_retcodes.patch | 15 ++
.../tftp-hpa/files/tftp-0.49-cmd_arg.patch | 159 ++++++++++++++++++++
.../tftp-hpa/files/tftp-hpa-0.39-tzfix.patch | 18 +++
.../files/tftp-hpa-0.49-fortify-strcpy-crash.patch | 26 ++++
.../tftp-hpa/files/tftp-hpa-0.49-stats.patch | 14 ++
.../tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch | 23 +++
.../recipes-daemons/tftp-hpa/files/tftp-xinetd | 18 +++
.../recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb | 66 ++++++++
12 files changed, 519 insertions(+)
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/default
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/init
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
create mode 100644 meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/default b/meta-networking/recipes-daemons/tftp-hpa/files/default
new file mode 100644
index 0000000..de2ed18
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/default
@@ -0,0 +1,3 @@
+#Defaults for tftpd-hpa
+RUN_DAEMON="yes"
+OPTIONS="-l -s /srv/tftpboot"
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/init b/meta-networking/recipes-daemons/tftp-hpa/files/init
new file mode 100644
index 0000000..5ad8c52
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/init
@@ -0,0 +1,104 @@
+#! /bin/sh
+#
+# Author: Jaakko Niemi <liiwi@iki.fi>
+# Modified from skeleton file in sarge
+
+### BEGIN INIT INFO
+# Provides: tftp-hpa
+# Required-Start: $local_fs $remote_fs $syslog $network
+# Required-Stop: $local_fs $remote_fs $syslog $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 1
+# Short-Description: HPA's tftp client
+# Description: tftp server to allow booting clients which support
+# the PXE protocol.
+### END INIT INFO
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="HPA's tftpd"
+NAME=in.tftpd
+DAEMON=/usr/sbin/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/tftpd-hpa
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0
+
+# Read config file if it is present.
+if [ -r /etc/default/tftpd-hpa ]
+then
+ . /etc/default/tftpd-hpa
+fi
+
+if [ "$RUN_DAEMON" != "yes" ] ; then
+ echo "tftpd-hpa disabled in /etc/default/tftpd-hpa"
+ exit 0
+fi
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+ start-stop-daemon --start --quiet --exec $DAEMON -- $OPTIONS
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+ start-stop-daemon --stop --quiet --name $NAME
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service.
+#
+d_reload() {
+ start-stop-daemon --stop --quiet --name $NAME --signal 1
+}
+
+case "$1" in
+ start)
+ echo "Starting $DESC: $NAME"
+ d_start
+ echo "."
+ ;;
+ stop)
+ echo "Stopping $DESC: $NAME"
+ d_stop
+ echo "."
+ ;;
+ #reload)
+ #
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this an "exit 0".
+ #
+ # echo -n "Reloading $DESC configuration..."
+ # d_reload
+ # echo "done."
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo "Restarting $DESC: $NAME"
+ d_stop
+ sleep 1
+ d_start
+ echo "."
+ ;;
+ *)
+ # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
new file mode 100644
index 0000000..755a307
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
@@ -0,0 +1,19 @@
+diff -up tftp-hpa-0.49/tftpd/remap.c.zero tftp-hpa-0.49/tftpd/remap.c
+--- tftp-hpa-0.49/tftpd/remap.c.zero 2008-10-20 18:08:31.000000000 -0400
++++ tftp-hpa-0.49/tftpd/remap.c 2008-11-25 11:41:09.000000000 -0500
+@@ -286,6 +286,7 @@ struct rule *parserulefile(FILE * f)
+ int lineno = 0;
+ int err = 0;
+
++ memset(this_rule, '\0', sizeof(struct rule));
+ while (lineno++, fgets(line, MAXLINE, f)) {
+ rv = parseline(line, this_rule, lineno);
+ if (rv < 0)
+@@ -294,6 +295,7 @@ struct rule *parserulefile(FILE * f)
+ *last_rule = this_rule;
+ last_rule = &this_rule->next;
+ this_rule = tfmalloc(sizeof(struct rule));
++ memset(this_rule, '\0', sizeof(struct rule));
+ }
+ }
+
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
new file mode 100644
index 0000000..a0de58d
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
@@ -0,0 +1,54 @@
+diff -up tftp-hpa-0.48/tftp-xinetd.tftpboot tftp-hpa-0.48/tftp-xinetd
+--- tftp-hpa-0.48/tftp-xinetd.tftpboot 2007-01-31 00:51:05.000000000 +0100
++++ tftp-hpa-0.48/tftp-xinetd 2008-05-20 12:05:53.000000000 +0200
+@@ -10,7 +10,7 @@ service tftp
+ wait = yes
+ user = root
+ server = /usr/sbin/in.tftpd
+- server_args = -s /tftpboot
++ server_args = -s /var/lib/tftpboot
+ disable = yes
+ per_source = 11
+ cps = 100 2
+diff -up tftp-hpa-0.48/README.security.tftpboot tftp-hpa-0.48/README.security
+--- tftp-hpa-0.48/README.security.tftpboot 2008-05-29 17:36:32.000000000 +0200
++++ tftp-hpa-0.48/README.security 2008-05-29 17:37:21.000000000 +0200
+@@ -17,10 +17,10 @@ probably the following:
+
+ 1. Create a separate "tftpd" user and group only used for tftpd;
+ 2. Have all your boot files in a single directory tree (usually called
+- /tftpboot).
+-3. Specify "-p -u tftpd -s /tftpboot" on the tftpd command line; if
++ /var/lib/tftpboot).
++3. Specify "-p -u tftpd -s /var/lib/tftpboot" on the tftpd command line; if
+ you want clients to be able to create files use
+- "-p -c -U 002 -u tftpd -s /tftpboot" (replace 002 with whatever
++ "-p -c -U 002 -u tftpd -s /var/lib/tftpboot" (replace 002 with whatever
+ umask is appropriate for your setup.)
+
+ =======================================
+@@ -40,12 +40,12 @@ directly. Thus, if your /etc/inetd.conf
+ line):
+
+ tftp dgram udp wait root /usr/sbin/tcpd
+-/usr/sbin/in.tftpd -s /tftpboot -r blksize
++/usr/sbin/in.tftpd -s /var/lib/tftpboot -r blksize
+
+ ... it's better to change to ...
+
+ tftp dgram udp wait root /usr/sbin/in.tftpd
+-in.tftpd -s /tftpboot -r blksize
++in.tftpd -s /var/lib/tftpboot -r blksize
+
+ You should make sure that you are using "wait" option in tftpd; you
+ also need to have tftpd spawned as root in order for chroot (-s) to
+diff -up tftp-hpa-0.48/tftpd/sample.rules.tftpboot tftp-hpa-0.48/tftpd/sample.rules
+--- tftp-hpa-0.48/tftpd/sample.rules.tftpboot 2008-05-29 17:38:46.000000000 +0200
++++ tftp-hpa-0.48/tftpd/sample.rules 2008-05-29 17:38:05.000000000 +0200
+@@ -30,5 +30,5 @@ rg \\ / # Convert backslashes to slash
+ rg \# @ # Convert hash marks to @ signs
+ rg /../ /..no../ # Convert /../ to /..no../
+ e ^ok/ # These are always ok
+-r ^[^/] /tftpboot/\0 # Convert non-absolute files
++r ^[^/] /var/lib/tftpboot/\0 # Convert non-absolute files
+ a \.pvt$ # Reject requests for private files
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
new file mode 100644
index 0000000..6d63571
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
@@ -0,0 +1,15 @@
+diff -up tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes tftp-hpa-0.49/tftpd/tftpd.c
+--- tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes 2009-01-15 15:28:50.000000000 +0100
++++ tftp-hpa-0.49/tftpd/tftpd.c 2009-01-15 15:31:36.000000000 +0100
+@@ -932,7 +932,10 @@ int main(int argc, char **argv)
+ exit(EX_OSERR);
+ }
+ #ifdef __CYGWIN__
+- chdir("/"); /* Cygwin chroot() bug workaround */
++ if (chdir("/") < 0) { /* Cygwin chroot() bug workaround */
++ syslog(LOG_ERR, "chroot: %m");
++ exit(EX_OSERR);
++ }
+ #endif
+ }
+ #ifdef HAVE_SETREGID
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
new file mode 100644
index 0000000..2b9023a
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
@@ -0,0 +1,159 @@
+diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h
+--- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200
++++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200
+@@ -291,6 +291,7 @@ typedef int socklen_t;
+ /* Prototypes for libxtra functions */
+
+ void *xmalloc(size_t);
++void *xrealloc(void *, size_t);
+ char *xstrdup(const char *);
+
+ #ifndef HAVE_BSD_SIGNAL
+diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in
+--- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200
++++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200
+@@ -152,6 +152,7 @@ OBJROOT=`pwd`
+
+ XTRA=false
+ PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty)
++PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty)
+ PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty)
+ PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal)
+ PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long)
+diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
+--- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg 2010-04-19 11:05:12.387340698 +0200
++++ tftp-hpa-0.49/lib/xrealloc.c 2010-04-19 11:05:12.387340698 +0200
+@@ -0,0 +1,20 @@
++/*
++ * xrealloc.c
++ *
++ * Simple error-checking version of realloc()
++ *
++ */
++
++#include "config.h"
++
++void *xrealloc(void *ptr, size_t size)
++{
++ void *p = realloc(ptr, size);
++
++ if (!p) {
++ fprintf(stderr, "Out of memory!\n");
++ exit(128);
++ }
++
++ return p;
++}
+diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c
+--- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200
++++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200
+@@ -89,11 +89,14 @@ int connected;
+ const struct modes *mode;
+ #ifdef WITH_READLINE
+ char *line = NULL;
++char *remote_pth = NULL;
+ #else
+ char line[LBUFLEN];
++char remote_pth[LBUFLEN];
+ #endif
+ int margc;
+-char *margv[20];
++char **margv;
++int sizeof_margv=0;
+ const char *prompt = "tftp> ";
+ sigjmp_buf toplevel;
+ void intr(int);
+@@ -379,6 +382,10 @@ static void getmoreargs(const char *part
+ free(line);
+ line = NULL;
+ }
++ if (remote_pth) {
++ free(remote_pth);
++ remote_pth = NULL;
++ }
+ line = xmalloc(len + elen + 1);
+ strcpy(line, partial);
+ strcpy(line + len, eline);
+@@ -535,6 +542,7 @@ void put(int argc, char *argv[])
+ int fd;
+ int n, err;
+ char *cp, *targ;
++ long dirlen, namelen, lastlen=0;
+
+ if (argc < 2) {
+ getmoreargs("send ", "(file) ");
+@@ -588,9 +596,22 @@ void put(int argc, char *argv[])
+ }
+ /* this assumes the target is a directory */
+ /* on a remote unix system. hmmmm. */
+- cp = strchr(targ, '\0');
+- *cp++ = '/';
++ dirlen = strlen(targ)+1;
++#ifdef WITH_READLINE
++ remote_pth = xmalloc(dirlen+1);
++#endif
++ strcpy(remote_pth, targ);
++ remote_pth[dirlen-1] = '/';
++ cp = remote_pth + dirlen;
+ for (n = 1; n < argc - 1; n++) {
++#ifdef WITH_READLINE
++ namelen = strlen(tail(argv[n])) + 1;
++ if (namelen > lastlen) {
++ remote_pth = xrealloc(remote_pth, dirlen + namelen + 1);
++ cp = remote_pth + dirlen;
++ lastlen = namelen;
++ }
++#endif
+ strcpy(cp, tail(argv[n]));
+ fd = open(argv[n], O_RDONLY | mode->m_openflags);
+ if (fd < 0) {
+@@ -600,9 +621,9 @@ void put(int argc, char *argv[])
+ }
+ if (verbose)
+ printf("putting %s to %s:%s [%s]\n",
+- argv[n], hostname, targ, mode->m_mode);
++ argv[n], hostname, remote_pth, mode->m_mode);
+ sa_set_port(&peeraddr, port);
+- tftp_sendfile(fd, targ, mode->m_mode);
++ tftp_sendfile(fd, remote_pth, mode->m_mode);
+ }
+ }
+
+@@ -801,6 +822,10 @@ static void command(void)
+ free(line);
+ line = NULL;
+ }
++ if (remote_pth) {
++ free(remote_pth);
++ remote_pth = NULL;
++ }
+ line = readline(prompt);
+ if (!line)
+ exit(0); /* EOF */
+@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name)
+ static void makeargv(void)
+ {
+ char *cp;
+- char **argp = margv;
++ char **argp;
++
++ if (!sizeof_margv) {
++ sizeof_margv = 20;
++ margv = xmalloc(sizeof_margv * sizeof(char *));
++ }
++ argp = margv;
+
+ margc = 0;
+ for (cp = line; *cp;) {
+@@ -882,6 +913,11 @@ static void makeargv(void)
+ break;
+ *argp++ = cp;
+ margc += 1;
++ if (margc == sizeof_margv) {
++ sizeof_margv += 20;
++ margv = xrealloc(margv, sizeof_margv * sizeof(char *));
++ argp = margv + margc;
++ }
+ while (*cp != '\0' && !isspace(*cp))
+ cp++;
+ if (*cp == '\0')
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
new file mode 100644
index 0000000..ded02ef
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
@@ -0,0 +1,18 @@
+diff -up tftp-hpa-0.49/tftpd/tftpd.c.tzfix tftp-hpa-0.49/tftpd/tftpd.c
+--- tftp-hpa-0.49/tftpd/tftpd.c.tzfix 2008-10-20 18:08:31.000000000 -0400
++++ tftp-hpa-0.49/tftpd/tftpd.c 2008-11-25 11:45:27.000000000 -0500
+@@ -350,6 +350,14 @@ int main(int argc, char **argv)
+ const char *pidfile = NULL;
+ u_short tp_opcode;
+
++ time_t my_time = 0;
++ struct tm* p_tm;
++ char envtz[10];
++ my_time = time(NULL);
++ p_tm = localtime(&my_time);
++ snprintf(envtz, sizeof(envtz) - 1, "UTC%+d", (p_tm->tm_gmtoff * -1)/3600);
++ setenv("TZ", envtz, 0);
++
+ /* basename() is way too much of a pain from a portability standpoint */
+
+ p = strrchr(argv[0], '/');
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
new file mode 100644
index 0000000..e9b70d4
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
@@ -0,0 +1,26 @@
+diff -urN tftp-hpa-0.49.orig/tftp/tftp.c tftp-hpa-0.49/tftp/tftp.c
+--- tftp-hpa-0.49.orig/tftp/tftp.c 2008-10-20 18:08:31.000000000 -0400
++++ tftp-hpa-0.49/tftp/tftp.c 2009-08-05 09:47:18.072585848 -0400
+@@ -279,15 +279,16 @@
+ struct tftphdr *tp, const char *mode)
+ {
+ char *cp;
++ size_t len;
+
+ tp->th_opcode = htons((u_short) request);
+ cp = (char *)&(tp->th_stuff);
+- strcpy(cp, name);
+- cp += strlen(name);
+- *cp++ = '\0';
+- strcpy(cp, mode);
+- cp += strlen(mode);
+- *cp++ = '\0';
++ len = strlen(name) + 1;
++ memcpy(cp, name, len);
++ cp += len;
++ len = strlen(mode) + 1;
++ memcpy(cp, mode, len);
++ cp += len;
+ return (cp - (char *)tp);
+ }
+
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
new file mode 100644
index 0000000..b6c9d05
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
@@ -0,0 +1,14 @@
+diff -up tftp-hpa-0.49/tftp/tftp.c.stats tftp-hpa-0.49/tftp/tftp.c
+--- tftp-hpa-0.49/tftp/tftp.c.stats 2011-01-03 15:38:34.217918067 +0100
++++ tftp-hpa-0.49/tftp/tftp.c 2011-01-03 15:38:37.498917014 +0100
+@@ -400,8 +400,8 @@ static void printstats(const char *direc
+ {
+ double delta;
+
+- delta = (tstop.tv_sec + (tstop.tv_usec / 100000.0)) -
+- (tstart.tv_sec + (tstart.tv_usec / 100000.0));
++ delta = (tstop.tv_sec + (tstop.tv_usec / 1000000.0)) -
++ (tstart.tv_sec + (tstart.tv_usec / 1000000.0));
+ if (verbose) {
+ printf("%s %lu bytes in %.1f seconds", direction, amount, delta);
+ printf(" [%.0f bit/s]", (amount * 8.) / delta);
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
new file mode 100644
index 0000000..d1fa75c
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
@@ -0,0 +1,23 @@
+diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c
+--- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100
++++ tftp-hpa-5.2/tftpd/recvfrom.c 2012-01-04 10:05:17.852042256 +0100
+@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un
+
+ /* Try to enable getting the return address */
+ #ifdef IP_RECVDSTADDR
+- if (from->sa_family == AF_INET)
++ if (from->sa_family == AF_INET || !from->sa_family)
+ setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
+ #endif
+ #ifdef IP_PKTINFO
+- if (from->sa_family == AF_INET)
++ if (from->sa_family == AF_INET || !from->sa_family)
+ setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
+ #endif
+ #ifdef HAVE_IPV6
+ #ifdef IPV6_RECVPKTINFO
+- if (from->sa_family == AF_INET6)
++ if (from->sa_family == AF_INET6 || !from->sa_family)
+ setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
+ #endif
+ #endif
diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
new file mode 100644
index 0000000..fe70163
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
@@ -0,0 +1,18 @@
+# default: off
+# description: The tftp server serves files using the trivial file transfer \
+# protocol. The tftp protocol is often used to boot diskless \
+# workstations, download configuration files to network-aware printers, \
+# and to start the installation process for some operating systems.
+service tftp
+{
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/sbin/in.tftpd-hpa
+ server_args = -s /var/lib/tftpboot
+ disable = yes
+ per_source = 11
+ cps = 100 2
+ flags = IPv6
+}
diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
new file mode 100644
index 0000000..f09663d
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Client for the Trivial File Transfer Protocol"
+DESCRIPTION = \
+"The Trivial File Transfer Protocol (TFTP) is normally used only for \
+booting diskless workstations. The tftp package provides the user \
+interface for TFTP, which allows users to transfer files to and from a \
+remote machine. This program and TFTP provide very little security, \
+and should not be enabled unless it is expressly needed."
+DEPENDS = "tcp-wrappers readline"
+SECTION = "network"
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://MCONFIG.in;startline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
+ file://tftp/tftp.c;startline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
+
+PR = "r0"
+
+SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \
+ file://tftp-0.40-remap.patch \
+ file://tftp-0.42-tftpboot.patch \
+ file://tftp-0.49-chk_retcodes.patch \
+ file://tftp-0.49-cmd_arg.patch \
+ file://tftp-hpa-0.39-tzfix.patch \
+ file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
+ file://tftp-hpa-0.49-stats.patch \
+ file://tftp-hpa-5.2-pktinfo.patch \
+ file://default \
+ file://init"
+
+SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
+SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
+
+inherit autotools update-rc.d update-alternatives
+
+EXTRA_OECONF += "--disable-option-checking"
+
+# configure.in has errors
+do_configure() {
+ oe_runconf
+}
+
+do_install() {
+ oe_runmake install INSTALLROOT=${D}
+ mv ${D}${bindir}/tftp ${D}${bindir}/tftp-hpa
+ mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
+
+ install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
+}
+
+FILES_${PN} = "${bindir}"
+
+PACKAGES += "tftp-hpa-server"
+SUMMARY_tftp-hpa-server = "Server for the Trivial File Transfer Protocol"
+FILES_tftp-hpa-server = "${sbindir} ${sysconfdir} ${localstatedir}"
+CONFFILES_tftp-hpa-server = "${sysconfdir}/default/tftpd-hpa"
+
+INITSCRIPT_PACKAGES = "tftp-hpa-server"
+INITSCRIPT_NAME = "tftpd-hpa"
+INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ."
+
+ALTERNATIVE_${PN} = "tftp"
+ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
+ALTERNATIVE_PRIORITY = "50"
+
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 2/8] tunctl: add from OE-Classic and tweak
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up Paul Eggleton
` (6 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Set SUMMARY (which sets DESCRIPTION)
* Make LICENSE more accurate
* Add LIC_FILES_CHKSUM
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta-networking/recipes-support/tunctl/tunctl.inc | 15 +++++++++++++++
.../recipes-support/tunctl/tunctl_1.5.bb | 4 ++++
2 files changed, 19 insertions(+)
create mode 100644 meta-networking/recipes-support/tunctl/tunctl.inc
create mode 100644 meta-networking/recipes-support/tunctl/tunctl_1.5.bb
diff --git a/meta-networking/recipes-support/tunctl/tunctl.inc b/meta-networking/recipes-support/tunctl/tunctl.inc
new file mode 100644
index 0000000..952af24
--- /dev/null
+++ b/meta-networking/recipes-support/tunctl/tunctl.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Tool for controlling the Linux TUN/TAP driver"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://tunctl.c;startline=1;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/tunctl/tunctl-${PV}.tar.gz"
+
+do_compile() {
+ oe_runmake tunctl
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install -m 755 tunctl ${D}/${sbindir}
+}
diff --git a/meta-networking/recipes-support/tunctl/tunctl_1.5.bb b/meta-networking/recipes-support/tunctl/tunctl_1.5.bb
new file mode 100644
index 0000000..dd26561
--- /dev/null
+++ b/meta-networking/recipes-support/tunctl/tunctl_1.5.bb
@@ -0,0 +1,4 @@
+require tunctl.inc
+
+SRC_URI[md5sum] = "fdbedc263b3e85bb0e087cd567414607"
+SRC_URI[sha256sum] = "aa2a6c4cc6bfacb11e0d9f62334a6638a0d435475c61230116f00b6af8b14fff"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 2/8] tunctl: add from OE-Classic and tweak Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:55 ` Koen Kooi
2012-11-19 17:11 ` [meta-networking][PATCH 4/8] radvd: add from OE-Classic, update and tidy up Paul Eggleton
` (5 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to 0.99.21
* Fix SRC_URI to point to a working download location
* Make LICENSE more accurate
* Add LIC_FILES_CHKSUM
* Add old gentoo patch to fix libcap linking errors
* Put binaries in sbindir
* Use useradd.bbclass to create user/groups
* Add LSB headers to init script (borrowed from debian)
* Tidy up packaging and directory references
* Add SUMMARY
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../quagga/files/fix-for-lib-inpath.patch | 19 ++
.../quagga/files/quagga-0.99.17-libcap.patch | 64 +++++++
.../recipes-protocols/quagga/files/quagga.default | 13 ++
.../recipes-protocols/quagga/files/quagga.init | 200 ++++++++++++++++++++
.../quagga/files/volatiles.03_quagga | 3 +
.../quagga/files/watchquagga.default | 7 +
.../quagga/files/watchquagga.init | 64 +++++++
.../recipes-protocols/quagga/quagga.inc | 146 ++++++++++++++
.../recipes-protocols/quagga/quagga_0.99.21.bb | 8 +
9 files changed, 524 insertions(+)
create mode 100644 meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga.default
create mode 100644 meta-networking/recipes-protocols/quagga/files/quagga.init
create mode 100644 meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
create mode 100644 meta-networking/recipes-protocols/quagga/files/watchquagga.default
create mode 100644 meta-networking/recipes-protocols/quagga/files/watchquagga.init
create mode 100644 meta-networking/recipes-protocols/quagga/quagga.inc
create mode 100644 meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
diff --git a/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch b/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
new file mode 100644
index 0000000..50f0ad5
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch
@@ -0,0 +1,19 @@
+At first this worked, then I tried a clean build in a directory that
+contained lib in it (oe/build/titan-glibc) and vtysh no longer
+worked. It's test for the lib directory was excepting anything
+containing lib.
+
+With this patch you still cannot have lib in the path anywhere, but
+at least things containing lib will now work.
+
+--- quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:04 1.1
++++ quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:16
+@@ -89,7 +89,7 @@
+ $cmd =~ s/\s+$//g;
+
+ # $protocol is VTYSH_PROTO format for redirection of user input
+- if ($file =~ /lib/) {
++ if ($file =~ /\/lib\//) {
+ if ($file =~ /keychain.c/) {
+ $protocol = "VTYSH_RIPD";
+ }
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch b/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
new file mode 100644
index 0000000..9563ea2
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch
@@ -0,0 +1,64 @@
+From 63e97633d01908da6d3776ac61e4033e6fa91e5c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
+Date: Sun, 5 Sep 2010 18:19:09 +0200
+Subject: [PATCH] build: fix linking position for libcap
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ * lib/Makefile.am: link libzebra to libcap, since it uses symbols
+ from there.
+ * zebra/Makefile.am: no need to link libcap here now, since it's not
+ used directly (libtool with apply transitive dependencies for
+ static linking).
+
+Signed-off-by: Diego Elio Pettenò <flameeyes@gmail.com>
+
+Imported from Gentoo by Paul Eggleton <paul.eggleton@linux.intel.com>
+Upstream-Status: Pending
+
+---
+ lib/Makefile.am | 2 +-
+ zebra/Makefile.am | 5 ++---
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 315e919..6e69993 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -18,7 +18,7 @@ BUILT_SOURCES = memtypes.h route_types.h
+
+ libzebra_la_DEPENDENCIES = @LIB_REGEX@
+
+-libzebra_la_LIBADD = @LIB_REGEX@
++libzebra_la_LIBADD = @LIB_REGEX@ $(LIBCAP)
+
+ pkginclude_HEADERS = \
+ buffer.h checksum.h command.h filter.h getopt.h hash.h \
+diff --git a/zebra/Makefile.am b/zebra/Makefile.am
+index 542f36f..d09a209 100644
+--- a/zebra/Makefile.am
++++ b/zebra/Makefile.am
+@@ -5,7 +5,6 @@ DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DMULTIPATH_NUM=@MULTIPATH_NUM@
+ INSTALL_SDATA=@INSTALL@ -m 600
+
+ LIB_IPV6 = @LIB_IPV6@
+-LIBCAP = @LIBCAP@
+
+ ipforward = @IPFORWARD@
+ if_method = @IF_METHOD@
+@@ -39,9 +38,9 @@ noinst_HEADERS = \
+ connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h rtadv.h \
+ interface.h ipforward.h irdp.h router-id.h kernel_socket.h
+
+-zebra_LDADD = $(otherobj) $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la
++zebra_LDADD = $(otherobj) ../lib/libzebra.la $(LIB_IPV6)
+
+-testzebra_LDADD = $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la
++testzebra_LDADD = ../lib/libzebra.la $(LIB_IPV6)
+
+ zebra_DEPENDENCIES = $(otherobj)
+
+--
+1.7.2.2
+
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga.default b/meta-networking/recipes-protocols/quagga/files/quagga.default
new file mode 100644
index 0000000..438c3b6
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/quagga.default
@@ -0,0 +1,13 @@
+# If this option is set the /etc/init.d/quagga script automatically loads
+# the config via "vtysh -b" when the servers are started.
+vtysh_enable=yes
+
+# Bind all daemons to loopback only by default
+zebra_options=" --daemon -A 127.0.0.1"
+babeld_options="-D 127.0.0.1"
+bgpd_options=" --daemon -A 127.0.0.1"
+ospfd_options=" --daemon -A 127.0.0.1"
+ospf6d_options="--daemon -A ::1"
+ripd_options=" --daemon -A 127.0.0.1"
+ripngd_options="--daemon -A ::1"
+isisd_options=" --daemon -A 127.0.0.1"
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga.init b/meta-networking/recipes-protocols/quagga/files/quagga.init
new file mode 100644
index 0000000..d786a5a
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/quagga.init
@@ -0,0 +1,200 @@
+#!/bin/sh
+#
+# /etc/init.d/quagga -- start/stop the Quagga routing daemons
+#
+# Based on debian version by Endre Hirling <endre@mail.elte.hu> and
+# Christian Hammers <ch@debian.org>.
+#
+
+### BEGIN INIT INFO
+# Provides: quagga
+# Required-Start: $local_fs $network $remote_fs $syslog
+# Required-Stop: $local_fs $network $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop the Quagga routing suite
+# Description: Quagga is a routing suite for IP routing protocols like
+# BGP, OSPF, RIP and others. This script contols the main
+# daemon "quagga" as well as the individual protocol daemons.
+### END INIT INFO
+
+# NOTE: sbin must be before bin so we get the iproute2 ip and not the
+# busybox ip command. The busybox one flushes all routes instead of just
+# the dynamic routes
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/sbin
+D_PATH=/usr/sbin/quagga
+C_PATH=/etc/quagga
+
+# Keep zebra first and do not list watchquagga!
+DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld"
+
+# Print the name of the pidfile.
+pidfile()
+{
+ echo "/var/run/quagga/$1.pid"
+}
+
+# Check if daemon is started by using the pidfile.
+started()
+{
+ [ -e `pidfile $1` ] && kill -0 `cat \`pidfile $1\`` 2> /dev/null && return 0
+ return 1
+}
+
+# Loads the config via vtysh -b if configured to do so.
+vtysh_b ()
+{
+ # Rember, that all variables have been incremented by 1 in convert_daemon_prios()
+ if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then
+ /usr/bin/vtysh -b
+ fi
+}
+
+# Check if the daemon is activated and if its executable and config files
+# are in place.
+# params: daemon name
+# returns: 0=ok, 1=error
+check_daemon()
+{
+ # If the integrated config file is used the others are not checked.
+ if [ -r "$C_PATH/Quagga.conf" ]; then
+ return 0
+ fi
+
+ # check for config file
+ if [ ! -r "$C_PATH/$1.conf" ]; then
+ return 1
+ fi
+ return 0
+}
+
+# Starts the server if it's not alrady running according to the pid file.
+# The Quagga daemons creates the pidfile when starting.
+start()
+{
+ if ! check_daemon $1; then echo -n " (!$1)"; return; fi
+ echo -n " $1"
+ start-stop-daemon \
+ --start \
+ --pidfile=`pidfile $1` \
+ --exec "$D_PATH/$1" \
+ -- \
+ `eval echo "$""$1""_options"`
+
+}
+
+# Stop the daemon given in the parameter, printing its name to the terminal.
+stop()
+{
+ if ! started "$1" ; then
+ echo -n " (!$1)"
+ return 0
+ else
+ PIDFILE=`pidfile $1`
+ PID=`cat $PIDFILE 2>/dev/null`
+ start-stop-daemon --stop --quiet --exec "$D_PATH/$1"
+ #
+ # Now we have to wait until $DAEMON has _really_ stopped.
+ #
+ if test -n "$PID" && kill -0 $PID 2>/dev/null; then
+ echo -n " (waiting) ."
+ cnt=0
+ while kill -0 $PID 2>/dev/null; do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 60 ]; then
+ # Waited 120 secs now, fail.
+ echo -n "Failed.. "
+ break
+ fi
+ sleep 2
+ echo -n "."
+ done
+ fi
+ echo -n " $1"
+ rm -f `pidfile $1`
+ fi
+}
+
+stop_all()
+{
+ local daemon_list
+ daemon_list=${1:-$DAEMONS}
+
+ echo -n "Stopping Quagga daemons:"
+ for daemon_name in $daemon_list; do
+ stop "$daemon_name"
+ done
+ echo "."
+}
+
+start_all()
+{
+ local daemon_list
+ daemon_list=${1:-$DAEMONS}
+
+ echo -n "Starting Quagga daemons:"
+ for daemon_name in $daemon_list; do
+ start "$daemon_name"
+ done
+ echo "."
+}
+
+status_all()
+{
+ local daemon_list
+ daemon_list=${1:-$DAEMONS}
+ res=1
+
+ echo -n "quagga: "
+ for daemon_name in $daemon_list; do
+ if started "$daemon_name" ; then
+ id=`cat \`pidfile $daemon_name\``
+ echo -n "$daemon_name (pid $id) "
+ res=0
+ fi
+ done
+ if [ $res -eq 0 ]; then
+ echo "is running..."
+ else
+ echo "is stopped..."
+ fi
+ exit $res
+}
+
+#########################################################
+# Main program #
+#########################################################
+
+# Load configuration
+test -f /etc/default/quagga && . /etc/default/quagga
+
+case "$1" in
+ start)
+ cd $C_PATH/
+ start_all $2
+ vtysh_b
+ ;;
+
+ stop)
+ stop_all $2
+ echo "Removing all routes made by zebra."
+ ip route flush proto zebra
+ ;;
+
+ status)
+ status_all $2
+ ;;
+
+ restart|force-reload)
+ $0 stop $2
+ sleep 1
+ $0 start $2
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/quagga {start|stop|restart|status|force-reload} [daemon]"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
new file mode 100644
index 0000000..cfb896a
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga
@@ -0,0 +1,3 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d quagga quagga 0755 /var/run/quagga none
+d quagga quagga 0755 /var/log/quagga none
\ No newline at end of file
diff --git a/meta-networking/recipes-protocols/quagga/files/watchquagga.default b/meta-networking/recipes-protocols/quagga/files/watchquagga.default
new file mode 100644
index 0000000..f152032
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/watchquagga.default
@@ -0,0 +1,7 @@
+# Watchquagga configuration
+#watch_daemons="zebra bgpd ospfd ospf6d ripd ripngd"
+watch_daemons="zebra"
+
+# To enable restarts, uncomment this line (but first be sure to edit
+# the WATCH_DAEMONS line to reflect the daemons you are actually using):
+watch_options="-Az -b_ -r/etc/init.d/quagga_restart_%s -s/etc/init.d/quagga_start_%s -k/etc/init.d/quagga_stop_%s"
diff --git a/meta-networking/recipes-protocols/quagga/files/watchquagga.init b/meta-networking/recipes-protocols/quagga/files/watchquagga.init
new file mode 100644
index 0000000..5ddd94a
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/files/watchquagga.init
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: watchquagga
+# Required-Start: $local_fs $network $remote_fs $syslog
+# Required-Stop: $local_fs $network $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop the Quagga watchdog
+### END INIT INFO
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+# Load configuration
+test -f /etc/default/watchquagga && . /etc/default/watchquagga
+
+# Check that there are daemons to be monitored.
+[ -z "$watch_daemons" ] && exit 0
+
+pidfile="/var/run/quagga/watchquagga.pid"
+
+case "$1" in
+ start)
+ echo -n "Starting quagga watchdog daemon: watchquagga"
+ start-stop-daemon --start \
+ --pidfile $pidfile \
+ --exec /usr/sbin/watchquagga \
+ -- -d $watch_options $watch_daemons
+ echo "."
+ ;;
+
+ stop)
+ echo -n "Stopping quagga watchdog daemon: watchquagga"
+ start-stop-daemon --stop --quiet \
+ --pidfile $pidfile
+ echo "."
+ ;;
+
+ status)
+ echo -n "watchquagga "
+ res=1
+ [ -e $pidfile ] && kill -0 `cat $pidfile` 2> /dev/null
+ if [ $? -eq 0 ]; then
+ echo "(pid `cat $pidfile`) is running..."
+ res=0
+ else
+ echo "is stopped..."
+ fi
+ exit $res
+ ;;
+
+ restart|force-reload)
+ $0 stop $2
+ sleep 1
+ $0 start $2
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/watchquagga {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc
new file mode 100644
index 0000000..9fc9d98
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -0,0 +1,146 @@
+SUMMARY = "BGP/OSPF/RIP routing daemon"
+DESCRIPTION = "Quagga is a routing software suite, providing \
+implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for \
+Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. \
+Quagga is a fork of GNU Zebra which was developed by Kunihiro \
+Ishiguro. The Quagga tree aims to build a more involved community \
+around Quagga than the current centralised model of GNU Zebra."
+HOMEPAGE = "http://www.quagga.net/"
+SECTION = "network"
+LICENSE = "GPL-2.0 & LGPL-2.0"
+DEPENDS = "readline ncurses perl-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+ file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+INC_PR = "r0"
+
+QUAGGASUBDIR = ""
+# ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old
+# versions and leave it empty for recent versions.
+SRC_URI = "http://download.savannah.gnu.org/releases/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz;name=quagga-${PV} \
+ file://fix-for-lib-inpath.patch \
+ file://quagga-0.99.17-libcap.patch \
+ file://quagga.init \
+ file://quagga.default \
+ file://watchquagga.init \
+ file://watchquagga.default \
+ file://volatiles.03_quagga"
+
+inherit autotools update-rc.d useradd
+
+EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \
+ --localstatedir=${localstatedir}/run/quagga \
+ --enable-exampledir=${docdir}/quagga/examples/ \
+ --enable-vtysh \
+ --enable-isisd \
+ --enable-watchquagga \
+ --enable-ospf-te \
+ --enable-opaque-lsa \
+ --enable-ipv6 \
+ --enable-ospfclient=yes \
+ --enable-multipath=64 \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-vty-group=quaggavty \
+ --enable-configfile-mask=0640 \
+ --enable-logfile-mask=0640 \
+ --enable-rtadv \
+ --enable-tcp-md5"
+
+do_install () {
+ # Install init script and default settings
+ install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/quagga ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/quagga.default ${D}${sysconfdir}/default/quagga
+ install -m 0644 ${WORKDIR}/watchquagga.default ${D}${sysconfdir}/default/watchquagga
+ install -m 0755 ${WORKDIR}/quagga.init ${D}${sysconfdir}/init.d/quagga
+ install -m 0755 ${WORKDIR}/watchquagga.init ${D}${sysconfdir}/init.d/watchquagga
+ install -m 0644 ${WORKDIR}/volatiles.03_quagga ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
+ # Install quagga
+ oe_runmake install DESTDIR=${D} prefix=${prefix} \
+ sbindir=${sbindir} \
+ sysconfdir=${sysconfdir}/quagga \
+ localstatedir=${localstatedir}/run/quagga
+}
+
+# Split into a main package and separate per-protocol packages
+PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \
+ ${PN}-ripd ${PN}-ripngd ${PN}-isisd \
+ ${PN}-ospfclient ${PN}-watchquagga"
+
+FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*"
+FILES_${PN}-ospf6d = "${sbindir}/ospf6d"
+FILES_${PN}-babeld = "${sbindir}/babeld"
+FILES_${PN}-bgpd = "${sbindir}/bgpd"
+FILES_${PN}-ripd = "${sbindir}/ripd"
+FILES_${PN}-ripngd = "${sbindir}/ripngd"
+FILES_${PN}-isisd = "${sbindir}/isisd"
+FILES_${PN}-ospfclient = "${sbindir}/ospfclient ${libdir}/libospfapiclient.so.*"
+FILES_${PN}-watchquagga = "${sbindir}/watchquagga ${sysconfdir}/default/watchquagga \
+ ${sysconfdir}/init.d/watchquagga"
+
+# Indicate that the default files are configuration files
+CONFFILES_${PN} = "${sysconfdir}/default/quagga"
+CONFFILES_${PN}-watchquagga = "${sysconfdir}/default/watchquagga"
+
+# Stop the names being rewritten due to the internal shared libraries
+DEBIAN_NOAUTONAME_${PN}-ospfd = "1"
+DEBIAN_NOAUTONAME_${PN}-ospfclient = "1"
+
+# the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
+RDEPENDS_${PN} += "iproute2"
+
+# Main init script starts all deamons
+# Seperate init script for watchquagga
+INITSCRIPT_PACKAGES = "${PN} ${PN}-watchquagga"
+INITSCRIPT_NAME_${PN} = "quagga"
+INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
+INITSCRIPT_NAME_${PN}-watchquagga = "watchquagga"
+INITSCRIPT_PARAMS_${PN}-watchquagga = "defaults 90 10"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga quagga"
+
+pkg_postinst_${PN} () {
+ for f in bgpd babeld isisd ospfd ripngd zebra ripd ospf6d; do touch ${sysconfdir}/quagga/$f.conf; done
+ chown quagga:quaggavty ${sysconfdir}/quagga
+ chown quagga:quagga ${sysconfdir}/quagga/*.conf
+ chmod 750 ${sysconfdir}/quagga
+ chown 640 ${sysconfdir}/quagga/*.conf
+ ${sysconfdir}/init.d/populate-volatile.sh update
+}
+
+# Stop apps before uninstall
+pkg_prerm_${PN} () {
+ ${sysconfdir}/init.d/quagga stop
+}
+
+pkg_prerm_${PN}-ospfd () {
+ ${sysconfdir}/init.d/quagga stop ospfd
+}
+
+pkg_prerm_${PN}-ospf6d () {
+ ${sysconfdir}/init.d/quagga stop ospf6d
+}
+
+pkg_prerm_${PN}-babeld () {
+ ${sysconfdir}/init.d/quagga stop babeld
+}
+
+pkg_prerm_${PN}-bgpd () {
+ ${sysconfdir}/init.d/quagga stop bgpd
+}
+
+pkg_prerm_${PN}-ripd () {
+ ${sysconfdir}/init.d/quagga stop ripd
+}
+
+pkg_prerm_${PN}-ripngd () {
+ ${sysconfdir}/init.d/quagga stop ripngd
+}
+
+pkg_prerm_${PN}-isisd () {
+ ${sysconfdir}/init.d/quagga stop isisd
+}
diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
new file mode 100644
index 0000000..5c403a9
--- /dev/null
+++ b/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb
@@ -0,0 +1,8 @@
+require quagga.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[quagga-0.99.21.md5sum] = "99840adbe57047c90dfba6b6ed9aec7f"
+SRC_URI[quagga-0.99.21.sha256sum] = "9b8aea9026b4771a28e254a66cbd854723bcd0d71eebd0201d11838d4eb392ee"
+
+QUAGGASUBDIR = ""
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 4/8] radvd: add from OE-Classic, update and tidy up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (2 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 5/8] vblade: " Paul Eggleton
` (4 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to 1.9.1
* Add libdaemon to DEPENDS as needed by 1.9+
* Remove empty config file (not really of much use and there's an
example config in the -doc package anyway)
* Use useradd.bbclass to create user
* Add LSB headers to initscript (borrowed from openSUSE)
* Set custom LICENSE as it's BSD-Style but not actually one of the
standard BSD variants
* Add LIC_FILES_CHKSUM
* Set SUMMARY (which sets DESCRIPTION)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../recipes-daemons/radvd/files/radvd.init | 124 ++++++++++++++++++++
.../recipes-daemons/radvd/files/volatiles.03_radvd | 2 +
meta-networking/recipes-daemons/radvd/radvd.inc | 37 ++++++
.../recipes-daemons/radvd/radvd_1.9.1.bb | 6 +
4 files changed, 169 insertions(+)
create mode 100755 meta-networking/recipes-daemons/radvd/files/radvd.init
create mode 100644 meta-networking/recipes-daemons/radvd/files/volatiles.03_radvd
create mode 100644 meta-networking/recipes-daemons/radvd/radvd.inc
create mode 100644 meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
diff --git a/meta-networking/recipes-daemons/radvd/files/radvd.init b/meta-networking/recipes-daemons/radvd/files/radvd.init
new file mode 100755
index 0000000..a48dff8
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/files/radvd.init
@@ -0,0 +1,124 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: radvd
+# Required-Start: $remote_fs $named $syslog
+# Required-Stop: $remote_fs $named $syslog
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Description: router advertisement daemon
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/radvd
+NAME=radvd
+DESC=radvd
+CONFIG=/etc/radvd.conf
+SAVED_SETTINGS=/var/run/radvd/saved-settings
+PIDFILE=/var/run/radvd/radvd.pid
+OPTIONS="-u radvd -p $PIDFILE"
+
+test -x $DAEMON || exit 0
+
+set -e
+
+# Check for IPv6 support in kernel
+if test \! -e /proc/sys/net/ipv6; then
+ echo "IPv6 support must be enabled in the kernel for $DESC to work."
+ exit
+fi
+
+save_settings()
+{
+ local file=$1
+
+ rm -f $file
+ for if_conf in /proc/sys/net/ipv6/conf/*; do
+ echo -e "$if_conf/forwarding\t `cat $if_conf/forwarding`" >> $file
+ done
+ return 0
+}
+
+restore_settings()
+{
+ file=$1
+
+ if [ ! -f $file ]; then
+ echo "$0: warning: cannot restore settings"
+ return
+ fi
+
+ (
+ while read f value; do
+ if [ -w $f ]; then
+ echo $value > $f
+ fi
+ done
+ ) < $file
+}
+
+chkconfig() {
+ if [ ! -e $CONFIG -o ! -s $CONFIG ]; then
+ echo ""
+ echo "* $CONFIG does not exist or is empty."
+ echo "* See /usr/share/doc/radvd/examples/simple-radvd.conf for a simple"
+ echo "* configuration suitable for most systems, and radvd.conf(5)"
+ echo "* for configuration file syntax. radvd will *not* be started."
+ exit 0
+ fi
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ chkconfig
+ save_settings $SAVED_SETTINGS
+
+ # We must enable IPv6 forwarding for radvd to work
+ echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+
+ # Check for stale pidfile; radvd won't start if one is lying around
+ if [ -f $PIDFILE ] && ! ps `cat $PIDFILE` > /dev/null; then
+ rm -f $PIDFILE
+ fi
+ if ! start-stop-daemon --oknodo --start --pidfile $PIDFILE \
+ --exec $DAEMON -- $OPTIONS; then
+ echo "failed." && exit 1
+ fi
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --oknodo --stop --pidfile $PIDFILE \
+ --exec $DAEMON
+ restore_settings $SAVED_SETTINGS
+ rm -f $SAVED_SETTINGS
+ echo "$NAME."
+ ;;
+ reload|force-reload)
+ echo "Reloading $DESC configuration files."
+ start-stop-daemon --stop --signal HUP --quiet --pidfile \
+ $PIDFILE --exec $DAEMON
+ ;;
+ restart)
+ chkconfig
+ echo -n "Restarting $DESC: "
+ if ! start-stop-daemon --stop --quiet --pidfile \
+ $PIDFILE --exec $DAEMON; then
+ # stop failed, so we were not running
+ save_settings $SAVED_SETTINGS
+ echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+ fi
+ sleep 1
+ start-stop-daemon --start --quiet --pidfile \
+ $PIDFILE --exec $DAEMON -- $OPTIONS
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/radvd/files/volatiles.03_radvd b/meta-networking/recipes-daemons/radvd/files/volatiles.03_radvd
new file mode 100644
index 0000000..89256a4
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/files/volatiles.03_radvd
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d radvd root 0755 /var/run/radvd none
diff --git a/meta-networking/recipes-daemons/radvd/radvd.inc b/meta-networking/recipes-daemons/radvd/radvd.inc
new file mode 100644
index 0000000..4b3e47b
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/radvd.inc
@@ -0,0 +1,37 @@
+SUMMARY = "IPv6 router advertisement daemon"
+HOMEPAGE = "http://www.litech.org/radvd/"
+SECTION = "console/network"
+DEPENDS = "flex-native libdaemon"
+
+# License is BSD-Style (with advertising clause) but also has an additional 0th clause
+LICENSE = "radvd"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db"
+
+SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \
+ file://radvd.init \
+ file://volatiles.03_radvd"
+
+inherit autotools update-rc.d useradd
+
+do_install_append () {
+ install -m 0755 -d ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/default/volatiles \
+ ${D}${docdir}/radvd
+ # Install init script and volatiles
+ install -m 0755 ${WORKDIR}/radvd.init ${D}${sysconfdir}/init.d/radvd
+ install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd
+ # Documentation
+ for i in radvd.conf.example README; do \
+ install -m 0644 $i ${D}${docdir}/radvd; \
+ done
+}
+
+INITSCRIPT_NAME = "radvd"
+INITSCRIPT_PARAMS = "defaults 20 80"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd"
+
+pkg_postinst_${PN} () {
+ ${sysconfdir}/init.d/populate-volatile.sh update
+}
diff --git a/meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb b/meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
new file mode 100644
index 0000000..26d21ce
--- /dev/null
+++ b/meta-networking/recipes-daemons/radvd/radvd_1.9.1.bb
@@ -0,0 +1,6 @@
+PR = "r0"
+
+require radvd.inc
+
+SRC_URI[md5sum] = "e807ad7e9a76d46b6133df391385cd31"
+SRC_URI[sha256sum] = "54eb5704a2b710ba946fa30d2bca811fa23b1b3bfab322c38cb0c2a9619aa933"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 5/8] vblade: add from OE-Classic, update and tidy up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (3 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 4/8] radvd: add from OE-Classic, update and tidy up Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 6/8] xl2tpd: " Paul Eggleton
` (3 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to version 20
* Add LIC_FILES_CHKSUM
* Make LICENSE more accurate
* Set SUMMARY (which sets DESCRIPTION)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../recipes-daemons/vblade/files/cross.patch | 16 ++++++++++++++++
.../recipes-daemons/vblade/vblade_20.bb | 20 ++++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 meta-networking/recipes-daemons/vblade/files/cross.patch
create mode 100644 meta-networking/recipes-daemons/vblade/vblade_20.bb
diff --git a/meta-networking/recipes-daemons/vblade/files/cross.patch b/meta-networking/recipes-daemons/vblade/files/cross.patch
new file mode 100644
index 0000000..481b6fa
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/files/cross.patch
@@ -0,0 +1,16 @@
+Remove CC and CFLAGS values, we set these ourselves
+
+Upstream-status: Inappropriate [config]
+
+diff -urN vblade-19.old//makefile vblade-19//makefile
+--- vblade-19.old//makefile 2008-10-08 22:07:40.000000000 +0100
++++ vblade-19//makefile 2008-11-18 19:07:51.700365029 +0000
+@@ -9,8 +9,6 @@
+ mandir = ${sharedir}/man
+
+ O=aoe.o bpf.o ${PLATFORM}.o ata.o
+-CFLAGS += -Wall -g -O2
+-CC = gcc
+
+ vblade: $O
+ ${CC} -o vblade $O
diff --git a/meta-networking/recipes-daemons/vblade/vblade_20.bb b/meta-networking/recipes-daemons/vblade/vblade_20.bb
new file mode 100644
index 0000000..2cf7e65
--- /dev/null
+++ b/meta-networking/recipes-daemons/vblade/vblade_20.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Virtual EtherDrive blade AoE target"
+SECTION = "console/network"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${PN}-${PV}.tgz \
+ file://cross.patch"
+
+SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
+SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
+
+inherit autotools
+
+do_install() {
+ install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade
+ install -D -m 0755 ${S}/vbladed ${D}/${sbindir}/vbladed
+ install -D -m 0644 ${S}/vblade.8 ${D}/${mandir}/man8/vblade.8
+}
+
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 6/8] xl2tpd: add from OE-Classic, update and tidy up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (4 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 5/8] vblade: " Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 7/8] proftpd: add from meta-baryon Paul Eggleton
` (2 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to version 1.3.1
* Fetch source from a git tag as upstream apparently no longer publishes
release tarballs
* Add virtual/kernel to DEPENDS since it needs the kernel source
* Inherit update-rc.d.bbclass
* Add LIC_FILES_CHKSUM
* Set SUMMARY (which sets DESCRIPTION)
* Remove some unnecessary cruft
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../xl2tpd/xl2tpd-1.3.1/cflags.patch | 58 ++++++++++++++++++++
.../recipes-protocols/xl2tpd/xl2tpd.inc | 35 ++++++++++++
.../recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb | 8 +++
3 files changed, 101 insertions(+)
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd-1.3.1/cflags.patch
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
create mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb
diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd-1.3.1/cflags.patch b/meta-networking/recipes-protocols/xl2tpd/xl2tpd-1.3.1/cflags.patch
new file mode 100644
index 0000000..3550812
--- /dev/null
+++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd-1.3.1/cflags.patch
@@ -0,0 +1,58 @@
+From 678d71e3b50f566776dbc29db49a1128be89caf6 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Fri, 26 Oct 2012 10:07:31 +0100
+Subject: [PATCH] Adjust CFLAGS for building within OE
+
+Updated version of cflags.patch from OE-Classic written by
+Vladimir Sorokin <sorokin@altell.ru>.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+---
+ Makefile | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6f6481f..c7602db 100644
+--- a/Makefile
++++ b/Makefile
+@@ -62,7 +62,7 @@ OSFLAGS?= -DLINUX -I$(KERNELSRC)/include/
+ # are packages seperately (eg kernel-headers on Fedora)
+ # Note: 2.6.23+ support still needs some changes in the xl2tpd source
+ #
+-#OSFLAGS+= -DUSE_KERNEL
++OSFLAGS+= -DUSE_KERNEL
+ #
+ #
+ # Uncomment the next line for FreeBSD
+@@ -90,7 +90,6 @@ OSFLAGS?= -DLINUX -I$(KERNELSRC)/include/
+
+ IPFLAGS?= -DIP_ALLOCATION
+
+-CFLAGS+= $(DFLAGS) -O2 -fno-builtin -Wall -DSANITY $(OSFLAGS) $(IPFLAGS)
+ HDRS=l2tp.h avp.h misc.h control.h call.h scheduler.h file.h aaa.h md5.h
+ OBJS=xl2tpd.o pty.o misc.o control.o avp.o call.o network.o avpsend.o scheduler.o file.o aaa.o md5.o
+ SRCS=${OBJS:.o=.c} ${HDRS}
+@@ -110,6 +109,9 @@ all: $(EXEC) pfc $(CONTROL_EXEC)
+ clean:
+ rm -f $(OBJS) $(EXEC) pfc.o pfc $(CONTROL_EXEC)
+
++%.o: %.c
++ $(CC) $(CFLAGS) $(DFLAGS) -O2 -DSANITY $(OSFLAGS) $(IPFLAGS) -o $@ -c $<
++
+ $(EXEC): $(OBJS) $(HDRS)
+ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
+
+@@ -117,7 +119,7 @@ $(CONTROL_EXEC): $(CONTROL_SRCS)
+ $(CC) $(CONTROL_SRCS) -o $@
+
+ pfc:
+- $(CC) $(CFLAGS) -c contrib/pfc.c
++ $(CC) $(CFLAGS) $(DFLAGS) -O2 -DSANITY $(OSFLAGS) $(IPFLAGS) -c contrib/pfc.c
+ $(CC) $(LDFLAGS) -o pfc pfc.o -lpcap $(LDLIBS)
+
+ romfs:
+--
+1.7.1
+
diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
new file mode 100644
index 0000000..f54ab8d
--- /dev/null
+++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
@@ -0,0 +1,35 @@
+SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon"
+HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/"
+SECTION = "network"
+DEPENDS = "ppp virtual/kernel"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+INC_PR = "r0"
+
+SRC_URI = "git://github.com/xelerance/xl2tpd.git"
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d
+
+do_compile () {
+ oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all
+}
+
+do_install () {
+ oe_runmake PREFIX="${D}${prefix}" install
+
+ install -d ${D}${sysconfdir}/init.d
+ touch ${D}${sysconfdir}/xl2tpd.conf
+ install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd
+}
+
+CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "xl2tpd"
+
diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb
new file mode 100644
index 0000000..5321d6a
--- /dev/null
+++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.1.bb
@@ -0,0 +1,8 @@
+require xl2tpd.inc
+PR = "${INC_PR}.0"
+
+# 95445fc9aaeaf709d54c1cd934d4bed4467e910d corresponds to 1.3.1 tag
+SRCREV = "95445fc9aaeaf709d54c1cd934d4bed4467e910d"
+
+SRC_URI += " file://cflags.patch"
+
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 7/8] proftpd: add from meta-baryon
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (5 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 6/8] xl2tpd: " Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:57 ` Koen Kooi
2012-11-19 17:11 ` [meta-networking][PATCH 8/8] mtr: add from OE-Classic, update and tidy up Paul Eggleton
2012-11-19 17:59 ` [meta-networking][PATCH 0/8] Networking recipes Koen Kooi
8 siblings, 1 reply; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
This was originally from OE-Classic. Improvements over the OE-Classic
recipe for reference:
* Update to 1.3.4b
* Add workaround for proftpd host IP resolution
* Add initscript, borrowed from Debian with some modifications for
compatibility
* Use autotools.bbclass and remove unnecessary configure options
* PARALLEL_MAKE = "" is no longer needed, the bug was fixed in 1.3.3c
* Set SUMMARY (which sets DESCRIPTION) and base it on the short
description from the website
* Use useradd.bbclass to add ftp user/group
* Add HOMEPAGE
* Add/fix description in some patches and improve recipe indentation
* Make LICENSE more accurate
* Add LIC_FILES_CHKSUM
Some of this work was done by Dexuan Cui <dexuan.cui@intel.com> and
Kevin Strasser <kevin.strasser@linux.intel.com>.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../recipes-daemons/proftpd/files/basic.conf.patch | 21 ++
.../recipes-daemons/proftpd/files/contrib.patch | 42 ++++
.../recipes-daemons/proftpd/files/default | 9 +
.../recipes-daemons/proftpd/files/make.patch | 66 ++++++
.../proftpd/files/proftpd-basic.init | 220 ++++++++++++++++++++
.../recipes-daemons/proftpd/proftpd_1.3.4b.bb | 61 ++++++
6 files changed, 419 insertions(+)
create mode 100644 meta-networking/recipes-daemons/proftpd/files/basic.conf.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/contrib.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/default
create mode 100644 meta-networking/recipes-daemons/proftpd/files/make.patch
create mode 100644 meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init
create mode 100644 meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
diff --git a/meta-networking/recipes-daemons/proftpd/files/basic.conf.patch b/meta-networking/recipes-daemons/proftpd/files/basic.conf.patch
new file mode 100644
index 0000000..4967bed
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/basic.conf.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Inappropriate [configuration]
+
+proftpd tries to get the IP address from the hostname.
+Unluckily now the hostname is not properly configured in /etc/hosts.
+We can use this patch as a workaround.
+
+Author: Dexuan Cui <dexuan.cui@intel.com>
+Tue Oct 25 12:59:27 CST 2011
+
+--- proftpd-1.3.3c.orig/sample-configurations/basic.conf
++++ proftpd-1.3.3c/sample-configurations/basic.conf
+@@ -7,6 +7,9 @@
+ ServerType standalone
+ DefaultServer on
+
++#By default we bind to all interfaces.
++DefaultAddress 0.0.0.0
++
+ # Port 21 is the standard FTP port.
+ Port 21
+
diff --git a/meta-networking/recipes-daemons/proftpd/files/contrib.patch b/meta-networking/recipes-daemons/proftpd/files/contrib.patch
new file mode 100644
index 0000000..7e2a8e3
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/contrib.patch
@@ -0,0 +1,42 @@
+The contrib directory now contains its own Makefile which is
+used during installation. It was required to pass DESTDIR through
+when it gets called from the base Makefile.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
+---
+ Makefile.in | 2 +-
+ contrib/Makefile.in | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 5b2e683..ee72fe1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -120,7 +120,7 @@ install-modules: $(DESTDIR)$(libexecdir) $(DESTDIR)$(sysconfdir)
+ test -z "$(SHARED_MODULE_OBJS)" -a -z "$(SHARED_MODULE_DIRS)" -a -z "$(STATIC_MODULE_DIRS)" || (cd modules/ && $(MAKE) install)
+
+ install-utils: $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir)
+- cd contrib/ && $(MAKE) install-utils
++ cd contrib/ && $(MAKE) DESTDIR=${DESTDIR} install-utils
+ $(INSTALL_BIN) ftpcount $(DESTDIR)$(bindir)/ftpcount
+ $(INSTALL_BIN) ftpdctl $(DESTDIR)$(bindir)/ftpdctl
+ $(INSTALL_SBIN) ftpscrub $(DESTDIR)$(sbindir)/ftpscrub
+diff --git a/contrib/Makefile.in b/contrib/Makefile.in
+index 5bcc038..51d248c 100644
+--- a/contrib/Makefile.in
++++ b/contrib/Makefile.in
+@@ -18,6 +18,6 @@ Makefile: Makefile.in ../config.status
+ cd ../ && ./config.status
+
+ install-utils:
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota
++ $(INSTALL) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd
++ $(INSTALL) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail
++ $(INSTALL) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota
+--
+1.7.9.5
+
diff --git a/meta-networking/recipes-daemons/proftpd/files/default b/meta-networking/recipes-daemons/proftpd/files/default
new file mode 100644
index 0000000..b31f36c
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/default
@@ -0,0 +1,9 @@
+# Defaults for proftpd initscript
+
+# Master system-wide proftpd switch. The initscript
+# will not run if it is not set to yes.
+RUN="yes"
+
+# Default options.
+# For more exhaustive logging, try "-d 3".
+OPTIONS=""
diff --git a/meta-networking/recipes-daemons/proftpd/files/make.patch b/meta-networking/recipes-daemons/proftpd/files/make.patch
new file mode 100644
index 0000000..c5ff013
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/make.patch
@@ -0,0 +1,66 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: proftpd-1.3.2/Makefile.in
+===================================================================
+--- proftpd-1.3.2.orig/Makefile.in
++++ proftpd-1.3.2/Makefile.in
+@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT)
+ $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
+ @if [ ! -d $@ ]; then \
+ mkdir -p $@; \
+- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
+ chmod 0755 $@; \
+ fi
+
+@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
+ rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
+ fi
+ ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
+- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
+
+ install-libs: $(DESTDIR)$(libdir)/proftpd
+ cd lib/ && $(MAKE) install
+@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
+ $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
+ $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
+ $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
++ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
+
+ install-conf: $(DESTDIR)$(sysconfdir)
+ if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
++ $(INSTALL) -m 0644 \
+ $(top_srcdir)/sample-configurations/basic.conf \
+ $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
+ fi
+Index: proftpd-1.3.2/Make.rules.in
+===================================================================
+--- proftpd-1.3.2.orig/Make.rules.in
++++ proftpd-1.3.2/Make.rules.in
+@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
+ INSTALL=@INSTALL@
+ INSTALL_USER=@install_user@
+ INSTALL_GROUP=@install_group@
+-INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
++INSTALL_BIN=$(INSTALL) -m 0755
++INSTALL_SBIN=$(INSTALL) -m 0755
++INSTALL_MAN=$(INSTALL) -m 0644
+
+ RM=rm -f
+ SHELL=/bin/sh
+Index: proftpd-1.3.2/lib/libcap/Makefile
+===================================================================
+--- proftpd-1.3.2.orig/lib/libcap/Makefile
++++ proftpd-1.3.2/lib/libcap/Makefile
+@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
+ all: $(LIBNAME)
+
+ _makenames: _makenames.c cap_names.sed
+- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
++ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@
+
+ cap_names.h: _makenames
+ ./_makenames > cap_names.h
diff --git a/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init b/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init
new file mode 100644
index 0000000..01c998c
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init
@@ -0,0 +1,220 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: proftpd
+# Required-Start: $remote_fs $syslog $local_fs $network
+# Required-Stop: $remote_fs $syslog $local_fs $network
+# Should-Start: $named
+# Should-Stop: $named
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Starts ProFTPD daemon
+# Description: This script runs the FTP service offered
+# by the ProFTPD daemon
+### END INIT INFO
+
+# Start the proftpd FTP daemon.
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/proftpd
+NAME=proftpd
+
+# Defaults
+RUN="no"
+OPTIONS=""
+CONFIG_FILE=/etc/proftpd.conf
+
+PIDFILE=`grep -i '^pidfile' $CONFIG_FILE|awk '{ print $2 }'`
+if [ "x$PIDFILE" = "x" ];
+then
+ PIDFILE=/var/run/proftpd.pid
+fi
+
+# Read config (will override defaults)
+[ -r /etc/default/proftpd ] && . /etc/default/proftpd
+
+trap "" 1
+trap "" 15
+
+test -f $DAEMON || exit 0
+
+. /etc/init.d/functions
+
+#
+# Servertype could be inetd|standalone|none.
+# In all cases check against inetd and xinetd support.
+#
+if ! egrep -qi "^[[:space:]]*ServerType.*standalone" $CONFIG_FILE
+then
+ if egrep -qi "server[[:space:]]*=[[:space:]]*/usr/sbin/proftpd" /etc/xinetd.conf 2>/dev/null || \
+ egrep -qi "server[[:space:]]*=[[:space:]]*/usr/sbin/proftpd" /etc/xinetd.d/* 2>/dev/null || \
+ egrep -qi "^ftp.*/usr/sbin/proftpd" /etc/inetd.conf 2>/dev/null
+ then
+ RUN="no"
+ INETD="yes"
+ else
+ if ! egrep -qi "^[[:space:]]*ServerType.*inetd" $CONFIG_FILE
+ then
+ RUN="yes"
+ INETD="no"
+ else
+ RUN="no"
+ INETD="no"
+ fi
+ fi
+fi
+
+# /var/run could be on a tmpfs
+
+[ ! -d /var/run/proftpd ] && mkdir /var/run/proftpd
+
+inetd_check()
+{
+ if [ ! -x /usr/sbin/inetd -a ! -x /usr/sbin/xinetd ]; then
+ echo "Neither inetd nor xinetd appears installed: check your configuration."
+ fi
+}
+
+start()
+{
+ set -e
+ echo -n "Starting ftp server $NAME... "
+ start-stop-daemon --start --quiet --pidfile "$PIDFILE" --oknodo --exec $DAEMON -- -c $CONFIG_FILE $OPTIONS
+ echo "done."
+}
+
+signal()
+{
+
+ if [ "$1" = "stop" ]; then
+ SIGNAL="TERM"
+ echo -n "Stopping ftp server $NAME... "
+ else
+ if [ "$1" = "reload" ]; then
+ SIGNAL="HUP"
+ echo -n "Reloading ftp server $NAME... "
+ else
+ echo "ERR: wrong parameter given to signal()"
+ exit 1
+ fi
+ fi
+ if [ -f "$PIDFILE" ]; then
+ start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
+ if [ $? = 0 ]; then
+ echo "done."
+ return
+ else
+ SIGNAL="KILL"
+ start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
+ if [ $? != 0 ]; then
+ echo
+ [ $2 != 0 ] || exit 0
+ else
+ echo "done."
+ return
+ fi
+ fi
+ if [ "$SIGNAL" = "KILL" ]; then
+ rm -f "$PIDFILE"
+ fi
+ else
+ echo "done."
+ return
+ fi
+}
+
+case "$1" in
+ start)
+ if [ "x$RUN" = "xyes" ] ; then
+ start
+ else
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "ProFTPD is started from inetd/xinetd."
+ inetd_check
+ else
+ echo "ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+ fi
+ fi
+ ;;
+
+ force-start)
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "Warning: ProFTPD is started from inetd/xinetd (trying to start anyway)."
+ inetd_check
+ fi
+ start
+ ;;
+
+ stop)
+ if [ "x$RUN" = "xyes" ] ; then
+ signal stop 0
+ else
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "ProFTPD is started from inetd/xinetd."
+ inetd_check
+ else
+ echo "ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+ fi
+ fi
+ ;;
+
+ force-stop)
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "Warning: ProFTPD is started from inetd/xinetd (trying to kill anyway)."
+ inetd_check
+ fi
+ signal stop 0
+ ;;
+
+ reload)
+ signal reload 0
+ ;;
+
+ force-reload|restart)
+ if [ "x$RUN" = "xyes" ] ; then
+ signal stop 1
+ sleep 2
+ start
+ else
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "ProFTPD is started from inetd/xinetd."
+ inetd_check
+ else
+ echo "ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+ fi
+ fi
+ ;;
+
+ status)
+ if [ "x$INETD" = "xyes" ] ; then
+ echo "ProFTPD is started from inetd/xinetd."
+ inetd_check
+ exit 0
+ else
+ if [ -f "$PIDFILE" ]; then
+ pid=$(cat $PIDFILE)
+ else
+ pid="x"
+ fi
+ if [ `pidof proftpd|grep "$pid"|wc -l` -ne 0 ] ; then
+ echo "ProFTPD is started in standalone mode, currently running."
+ exit 0
+ else
+ echo "ProFTPD is started in standalone mode, currently not running."
+ exit 3
+ fi
+ fi
+ ;;
+
+ check-config)
+ $DAEMON -t >/dev/null && echo "ProFTPD configuration OK" && exit 0
+ exit 1
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|status|force-start|stop|force-stop|reload|restart|force-reload|check-config}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
new file mode 100644
index 0000000..8ebafbf
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Secure and configurable FTP server"
+SECTION = "console/network"
+HOMEPAGE = "http://www.proftpd.org"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
+
+PR = "r1"
+
+SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${PN}-${PV}.tar.gz \
+ file://make.patch \
+ file://basic.conf.patch \
+ file://contrib.patch \
+ file://proftpd-basic.init \
+ file://default \
+ "
+
+SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2"
+SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb"
+
+inherit autotools useradd update-rc.d
+
+EXTRA_OECONF = "--disable-cap \
+ --disable-auth-pam \
+ "
+
+# proftpd uses libltdl which currently makes configuring using
+# autotools.bbclass a pain...
+do_configure () {
+ oe_runconf
+}
+
+FTPUSER = "ftp"
+FTPGROUP = "ftp"
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+ rmdir ${D}${libexecdir} ${D}${libdir}/proftpd ${D}${datadir}/locale
+ sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
+ sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd
+}
+
+INITSCRIPT_NAME = "proftpd"
+INITSCRIPT_PARAM = "defaults 85 15"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "${FTPGROUP}"
+USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} ${FTPUSER}"
+
+pkg_postinst_${PN} () {
+ if [ "x$D" != "x" ] ; then
+ exit 1
+ fi
+
+ # create the pub directory
+ mkdir -p /home/${FTPUSER}/pub/
+ chown -R ${FTPUSER}:${FTPGROUP} /home/${FTPUSER}/pub
+}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [meta-networking][PATCH 8/8] mtr: add from OE-Classic, update and tidy up
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (6 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 7/8] proftpd: add from meta-baryon Paul Eggleton
@ 2012-11-19 17:11 ` Paul Eggleton
2012-11-19 17:59 ` [meta-networking][PATCH 0/8] Networking recipes Koen Kooi
8 siblings, 0 replies; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 17:11 UTC (permalink / raw)
To: openembedded-devel
* Update to 0.82
* Add ncurses to DEPENDS
* Add patch to fix configure with standard autotools_do_configure
* Add SUMMARY
* Add LIC_FILES_CHKSUM
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../recipes-support/mtr/files/no-gtk.patch | 31 ++++++++++++++++++++
meta-networking/recipes-support/mtr/mtr_0.82.bb | 19 ++++++++++++
2 files changed, 50 insertions(+)
create mode 100644 meta-networking/recipes-support/mtr/files/no-gtk.patch
create mode 100644 meta-networking/recipes-support/mtr/mtr_0.82.bb
diff --git a/meta-networking/recipes-support/mtr/files/no-gtk.patch b/meta-networking/recipes-support/mtr/files/no-gtk.patch
new file mode 100644
index 0000000..0dbeb7a
--- /dev/null
+++ b/meta-networking/recipes-support/mtr/files/no-gtk.patch
@@ -0,0 +1,31 @@
+Disable gtk check that breaks with current autotools
+
+Ideally we would have a proper fix for this and send that upstream instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+diff --git a/configure.in b/configure.in
+index 8474543..5118565 100644
+--- a/configure.in
++++ b/configure.in
+@@ -48,16 +48,8 @@ AC_ARG_ENABLE(ipv6,
+ [ --disable-ipv6 Do not enable IPv6],
+ WANTS_IPV6=$enableval, WANTS_IPV6=yes)
+
+-if test "x$WANTS_GTK" = "xyes"; then
+- AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS"
+- LIBS="$LIBS $GTK_LIBS -lm",
+- AC_MSG_WARN(Building without GTK2 display support)
+- AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
+- GTK_OBJ="")
+-else
+- AC_DEFINE(NO_GTK)
+- GTK_OBJ=""
+-fi
++AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
++GTK_OBJ=""
+
+ AC_CHECK_FUNC(socket, ,
+ AC_CHECK_LIB(socket, socket, , AC_MSG_ERROR(No socket library found)))
diff --git a/meta-networking/recipes-support/mtr/mtr_0.82.bb b/meta-networking/recipes-support/mtr/mtr_0.82.bb
new file mode 100644
index 0000000..c6d5152
--- /dev/null
+++ b/meta-networking/recipes-support/mtr/mtr_0.82.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Combined traceroute and ping utility"
+DESCRIPTION = "mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool."
+HOMEPAGE = "http://www.bitwizard.nl/mtr/"
+DEPENDS = "ncurses"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://mtr.c;startline=5;endline=16;md5=87105f8fe9675e897e074869afaafa6f"
+
+SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz \
+ file://no-gtk.patch"
+
+SRC_URI[md5sum] = "10601ea543fda3e51545c4bce195b64c"
+SRC_URI[sha256sum] = "f3b457c9623ae03565688a7ffd49d4843a5e2505ccaf3ba8d9fbd86e3ce9b6a0"
+
+inherit autotools
+
+EXTRA_OECONF = "--without-gtk"
+
--
1.7.9.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up
2012-11-19 17:11 ` [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up Paul Eggleton
@ 2012-11-19 17:55 ` Koen Kooi
2012-11-19 18:00 ` Paul Eggleton
0 siblings, 1 reply; 15+ messages in thread
From: Koen Kooi @ 2012-11-19 17:55 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Op 19-11-12 18:11, Paul Eggleton schreef:
> * Update to 0.99.21 * Fix SRC_URI to point to a working download
> location * Make LICENSE more accurate * Add LIC_FILES_CHKSUM * Add old
> gentoo patch to fix libcap linking errors * Put binaries in sbindir * Use
> useradd.bbclass to create user/groups * Add LSB headers to init script
> (borrowed from debian) * Tidy up packaging and directory references * Add
> SUMMARY
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---
dd94a
> --- /dev/null +++
> b/meta-networking/recipes-protocols/quagga/files/watchquagga.init @@ -0,0
> +1,64 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: watchquagga +#
> Required-Start: $local_fs $network $remote_fs $syslog +# Required-Stop:
> $local_fs $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +#
> Default-Stop: 0 1 6 +# Short-Description: start and stop the Quagga
> watchdog +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +#
> Load configuration +test -f /etc/default/watchquagga && .
> /etc/default/watchquagga
hardcoded $sysconfdir
> + +# Check that there are daemons to be monitored. +[ -z "$watch_daemons"
> ] && exit 0 + +pidfile="/var/run/quagga/watchquagga.pid"
hardcoded $localstatedir
> + +case "$1" in + start) + echo -n "Starting quagga watchdog daemon:
> watchquagga" + start-stop-daemon --start \ + --pidfile $pidfile \ +
> --exec /usr/sbin/watchquagga \
hardcoded $sbindir
[..]
etc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org
iD8DBQFQqnKVMkyGM64RGpERAk0CAJ4jE0qiE8nK07yULhEyK1CnQQD/cACeJqF2
YZ2NT+afhKPlhw+J3brUhe0=
=GWC7
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 7/8] proftpd: add from meta-baryon
2012-11-19 17:11 ` [meta-networking][PATCH 7/8] proftpd: add from meta-baryon Paul Eggleton
@ 2012-11-19 17:57 ` Koen Kooi
0 siblings, 0 replies; 15+ messages in thread
From: Koen Kooi @ 2012-11-19 17:57 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Op 19-11-12 18:11, Paul Eggleton schreef:
> This was originally from OE-Classic. Improvements over the OE-Classic
> recipe for reference:
>
> * Update to 1.3.4b * Add workaround for proftpd host IP resolution * Add
> initscript, borrowed from Debian with some modifications for
> compatibility * Use autotools.bbclass and remove unnecessary configure
> options * PARALLEL_MAKE = "" is no longer needed, the bug was fixed in
> 1.3.3c * Set SUMMARY (which sets DESCRIPTION) and base it on the short
> description from the website * Use useradd.bbclass to add ftp user/group
> * Add HOMEPAGE * Add/fix description in some patches and improve recipe
> indentation * Make LICENSE more accurate * Add LIC_FILES_CHKSUM
>
> Some of this work was done by Dexuan Cui <dexuan.cui@intel.com> and Kevin
> Strasser <kevin.strasser@linux.intel.com>.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---
> diff --git
> a/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init
> b/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init new
> file mode 100644 index 0000000..01c998c --- /dev/null +++
> b/meta-networking/recipes-daemons/proftpd/files/proftpd-basic.init @@
> -0,0 +1,220 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides:
> proftpd +# Required-Start: $remote_fs $syslog $local_fs $network +#
> Required-Stop: $remote_fs $syslog $local_fs $network +# Should-Start:
> $named +# Should-Stop: $named +# Default-Start: 2 3 4 5 +#
> Default-Stop: 0 1 6 +# Short-Description: Starts ProFTPD daemon +#
> Description: This script runs the FTP service offered +#
> by the ProFTPD daemon +### END INIT INFO + +# Start the proftpd FTP
> daemon. + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/sbin/proftpd
hardcoded $sbindir
> +NAME=proftpd + +# Defaults +RUN="no" +OPTIONS=""
> +CONFIG_FILE=/etc/proftpd.conf
hardcoded $sysconfigdur
> + +PIDFILE=`grep -i '^pidfile' $CONFIG_FILE|awk '{ print $2 }'` +if [
> "x$PIDFILE" = "x" ]; +then + PIDFILE=/var/run/proftpd.pid
hardcoded $localstatedir
> +fi + +# Read config (will override defaults) +[ -r /etc/default/proftpd
> ] && . /etc/default/proftpd
hardcoded $sysconfigdir and a lot more in the rest of the file.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org
iD8DBQFQqnMkMkyGM64RGpERAna2AJ0cUe2Knjk1jKzdpYtWmgGH8JHc4ACcDcEw
kxu7B1yYizf2inquugwLEJw=
=HsG/
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 0/8] Networking recipes
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
` (7 preceding siblings ...)
2012-11-19 17:11 ` [meta-networking][PATCH 8/8] mtr: add from OE-Classic, update and tidy up Paul Eggleton
@ 2012-11-19 17:59 ` Koen Kooi
8 siblings, 0 replies; 15+ messages in thread
From: Koen Kooi @ 2012-11-19 17:59 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Op 19-11-12 18:11, Paul Eggleton schreef:
> The following changes since commit
> b69b6e04f12b2fc45a3ebac8c741bda41fea6409:
>
> netperf: import from oe-classic and upgrade to 2.6.0 (2012-11-19 11:18:30
> -0500)
>
> are available in the git repository at:
>
> git://git.openembedded.org/meta-openembedded-contrib paule/networking
> http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=paule/networking
>
> Paul Eggleton (8): tftp-hpa: add from OE-Classic, update and tidy up
> tunctl: add from OE-Classic and tweak quagga: add from OE-Classic, update
> and tidy-up radvd: add from OE-Classic, update and tidy up vblade: add
> from OE-Classic, update and tidy up xl2tpd: add from OE-Classic, update
> and tidy up proftpd: add from meta-baryon mtr: add from OE-Classic,
> update and tidy up
Most of the initscripts will break if you set $prefix="" in your distro.conf.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org
iD8DBQFQqnNuMkyGM64RGpERAm/GAJ9/vff0dDvJMor3nwO9Gn94p6I0tgCfVQ8d
2pr46MnFVAwTX5BICuG5ziQ=
=BZC/
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up
2012-11-19 17:55 ` Koen Kooi
@ 2012-11-19 18:00 ` Paul Eggleton
2012-11-19 18:02 ` Koen Kooi
0 siblings, 1 reply; 15+ messages in thread
From: Paul Eggleton @ 2012-11-19 18:00 UTC (permalink / raw)
To: Koen Kooi; +Cc: openembedded-devel
On Monday 19 November 2012 18:55:33 Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Op 19-11-12 18:11, Paul Eggleton schreef:
> > * Update to 0.99.21 * Fix SRC_URI to point to a working download
> > location * Make LICENSE more accurate * Add LIC_FILES_CHKSUM * Add old
> > gentoo patch to fix libcap linking errors * Put binaries in sbindir * Use
> > useradd.bbclass to create user/groups * Add LSB headers to init script
> > (borrowed from debian) * Tidy up packaging and directory references * Add
> > SUMMARY
> >
> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---
>
> dd94a
>
> > --- /dev/null +++
> > b/meta-networking/recipes-protocols/quagga/files/watchquagga.init @@ -0,0
> > +1,64 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: watchquagga +#
> > Required-Start: $local_fs $network $remote_fs $syslog +# Required-Stop:
> > $local_fs $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +#
> > Default-Stop: 0 1 6 +# Short-Description: start and stop the Quagga
> > watchdog +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +#
> > Load configuration +test -f /etc/default/watchquagga && .
> > /etc/default/watchquagga
>
> hardcoded $sysconfdir
>
> > + +# Check that there are daemons to be monitored. +[ -z "$watch_daemons"
> > ] && exit 0 + +pidfile="/var/run/quagga/watchquagga.pid"
>
> hardcoded $localstatedir
>
> > + +case "$1" in + start) + echo -n "Starting quagga watchdog daemon:
> > watchquagga" + start-stop-daemon --start \ + --pidfile $pidfile \ +
> > --exec /usr/sbin/watchquagga \
>
> hardcoded $sbindir
>
> [..]
>
> etc.
Sure I can fix these, but you're aware there are a ton of these in meta-oe...?
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up
2012-11-19 18:00 ` Paul Eggleton
@ 2012-11-19 18:02 ` Koen Kooi
0 siblings, 0 replies; 15+ messages in thread
From: Koen Kooi @ 2012-11-19 18:02 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-devel
Op 19 nov. 2012, om 19:00 heeft Paul Eggleton <paul.eggleton@linux.intel.com> het volgende geschreven:
> On Monday 19 November 2012 18:55:33 Koen Kooi wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Op 19-11-12 18:11, Paul Eggleton schreef:
>>> * Update to 0.99.21 * Fix SRC_URI to point to a working download
>>> location * Make LICENSE more accurate * Add LIC_FILES_CHKSUM * Add old
>>> gentoo patch to fix libcap linking errors * Put binaries in sbindir * Use
>>> useradd.bbclass to create user/groups * Add LSB headers to init script
>>> (borrowed from debian) * Tidy up packaging and directory references * Add
>>> SUMMARY
>>>
>>> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---
>>
>> dd94a
>>
>>> --- /dev/null +++
>>> b/meta-networking/recipes-protocols/quagga/files/watchquagga.init @@ -0,0
>>> +1,64 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: watchquagga +#
>>> Required-Start: $local_fs $network $remote_fs $syslog +# Required-Stop:
>>> $local_fs $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +#
>>> Default-Stop: 0 1 6 +# Short-Description: start and stop the Quagga
>>> watchdog +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +#
>>> Load configuration +test -f /etc/default/watchquagga && .
>>> /etc/default/watchquagga
>>
>> hardcoded $sysconfdir
>>
>>> + +# Check that there are daemons to be monitored. +[ -z "$watch_daemons"
>>> ] && exit 0 + +pidfile="/var/run/quagga/watchquagga.pid"
>>
>> hardcoded $localstatedir
>>
>>> + +case "$1" in + start) + echo -n "Starting quagga watchdog daemon:
>>> watchquagga" + start-stop-daemon --start \ + --pidfile $pidfile \ +
>>> --exec /usr/sbin/watchquagga \
>>
>> hardcoded $sbindir
>>
>> [..]
>>
>> etc.
>
> Sure I can fix these, but you're aware there are a ton of these in meta-oe...?
Sadly, yes. I try to fix them when I run into those, but it's slow going and most of the time I just add native systemd support to fix startup.
regards,
Koen
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up
2012-11-19 17:11 ` [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up Paul Eggleton
@ 2012-11-19 18:14 ` Joe MacDonald
0 siblings, 0 replies; 15+ messages in thread
From: Joe MacDonald @ 2012-11-19 18:14 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 25363 bytes --]
A few of these need clean-up (attribution, up-stream status, etc.) that
Paul and I were discussing, forgot about, and are now focused on again.
I'm still sorting that part out, so there's an update coming from me for
the tftp-hpa patches before they get merged.
-J.
[[oe] [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up] On 12.11.19 (Mon 17:11) Paul Eggleton wrote:
> * Update to 5.2
> * Add patches
> * Add DESCRIPTION and better SUMMARY
> * Make LICENSE more accurate
> * Add LIC_FILES_CHKSUM
> * Update ALTERNATIVE_* definitions
>
> Much of this was done by Joe MacDonald <joe.macdonald@windriver.com>.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
> .../recipes-daemons/tftp-hpa/files/default | 3 +
> .../recipes-daemons/tftp-hpa/files/init | 104 +++++++++++++
> .../tftp-hpa/files/tftp-0.40-remap.patch | 19 +++
> .../tftp-hpa/files/tftp-0.42-tftpboot.patch | 54 +++++++
> .../tftp-hpa/files/tftp-0.49-chk_retcodes.patch | 15 ++
> .../tftp-hpa/files/tftp-0.49-cmd_arg.patch | 159 ++++++++++++++++++++
> .../tftp-hpa/files/tftp-hpa-0.39-tzfix.patch | 18 +++
> .../files/tftp-hpa-0.49-fortify-strcpy-crash.patch | 26 ++++
> .../tftp-hpa/files/tftp-hpa-0.49-stats.patch | 14 ++
> .../tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch | 23 +++
> .../recipes-daemons/tftp-hpa/files/tftp-xinetd | 18 +++
> .../recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb | 66 ++++++++
> 12 files changed, 519 insertions(+)
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/default
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/init
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
> create mode 100644 meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
>
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/default b/meta-networking/recipes-daemons/tftp-hpa/files/default
> new file mode 100644
> index 0000000..de2ed18
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/default
> @@ -0,0 +1,3 @@
> +#Defaults for tftpd-hpa
> +RUN_DAEMON="yes"
> +OPTIONS="-l -s /srv/tftpboot"
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/init b/meta-networking/recipes-daemons/tftp-hpa/files/init
> new file mode 100644
> index 0000000..5ad8c52
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/init
> @@ -0,0 +1,104 @@
> +#! /bin/sh
> +#
> +# Author: Jaakko Niemi <liiwi@iki.fi>
> +# Modified from skeleton file in sarge
> +
> +### BEGIN INIT INFO
> +# Provides: tftp-hpa
> +# Required-Start: $local_fs $remote_fs $syslog $network
> +# Required-Stop: $local_fs $remote_fs $syslog $network
> +# Default-Start: 2 3 4 5
> +# Default-Stop: 1
> +# Short-Description: HPA's tftp client
> +# Description: tftp server to allow booting clients which support
> +# the PXE protocol.
> +### END INIT INFO
> +
> +set -e
> +
> +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> +DESC="HPA's tftpd"
> +NAME=in.tftpd
> +DAEMON=/usr/sbin/$NAME
> +PIDFILE=/var/run/$NAME.pid
> +SCRIPTNAME=/etc/init.d/tftpd-hpa
> +
> +# Gracefully exit if the package has been removed.
> +test -x $DAEMON || exit 0
> +
> +# Read config file if it is present.
> +if [ -r /etc/default/tftpd-hpa ]
> +then
> + . /etc/default/tftpd-hpa
> +fi
> +
> +if [ "$RUN_DAEMON" != "yes" ] ; then
> + echo "tftpd-hpa disabled in /etc/default/tftpd-hpa"
> + exit 0
> +fi
> +
> +#
> +# Function that starts the daemon/service.
> +#
> +d_start() {
> + start-stop-daemon --start --quiet --exec $DAEMON -- $OPTIONS
> +}
> +
> +#
> +# Function that stops the daemon/service.
> +#
> +d_stop() {
> + start-stop-daemon --stop --quiet --name $NAME
> +}
> +
> +#
> +# Function that sends a SIGHUP to the daemon/service.
> +#
> +d_reload() {
> + start-stop-daemon --stop --quiet --name $NAME --signal 1
> +}
> +
> +case "$1" in
> + start)
> + echo "Starting $DESC: $NAME"
> + d_start
> + echo "."
> + ;;
> + stop)
> + echo "Stopping $DESC: $NAME"
> + d_stop
> + echo "."
> + ;;
> + #reload)
> + #
> + # If the daemon can reload its configuration without
> + # restarting (for example, when it is sent a SIGHUP),
> + # then implement that here.
> + #
> + # If the daemon responds to changes in its config file
> + # directly anyway, make this an "exit 0".
> + #
> + # echo -n "Reloading $DESC configuration..."
> + # d_reload
> + # echo "done."
> + #;;
> + restart|force-reload)
> + #
> + # If the "reload" option is implemented, move the "force-reload"
> + # option to the "reload" entry above. If not, "force-reload" is
> + # just the same as "restart".
> + #
> + echo "Restarting $DESC: $NAME"
> + d_stop
> + sleep 1
> + d_start
> + echo "."
> + ;;
> + *)
> + # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
> + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
> + exit 1
> + ;;
> +esac
> +
> +exit 0
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
> new file mode 100644
> index 0000000..755a307
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch
> @@ -0,0 +1,19 @@
> +diff -up tftp-hpa-0.49/tftpd/remap.c.zero tftp-hpa-0.49/tftpd/remap.c
> +--- tftp-hpa-0.49/tftpd/remap.c.zero 2008-10-20 18:08:31.000000000 -0400
> ++++ tftp-hpa-0.49/tftpd/remap.c 2008-11-25 11:41:09.000000000 -0500
> +@@ -286,6 +286,7 @@ struct rule *parserulefile(FILE * f)
> + int lineno = 0;
> + int err = 0;
> +
> ++ memset(this_rule, '\0', sizeof(struct rule));
> + while (lineno++, fgets(line, MAXLINE, f)) {
> + rv = parseline(line, this_rule, lineno);
> + if (rv < 0)
> +@@ -294,6 +295,7 @@ struct rule *parserulefile(FILE * f)
> + *last_rule = this_rule;
> + last_rule = &this_rule->next;
> + this_rule = tfmalloc(sizeof(struct rule));
> ++ memset(this_rule, '\0', sizeof(struct rule));
> + }
> + }
> +
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
> new file mode 100644
> index 0000000..a0de58d
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch
> @@ -0,0 +1,54 @@
> +diff -up tftp-hpa-0.48/tftp-xinetd.tftpboot tftp-hpa-0.48/tftp-xinetd
> +--- tftp-hpa-0.48/tftp-xinetd.tftpboot 2007-01-31 00:51:05.000000000 +0100
> ++++ tftp-hpa-0.48/tftp-xinetd 2008-05-20 12:05:53.000000000 +0200
> +@@ -10,7 +10,7 @@ service tftp
> + wait = yes
> + user = root
> + server = /usr/sbin/in.tftpd
> +- server_args = -s /tftpboot
> ++ server_args = -s /var/lib/tftpboot
> + disable = yes
> + per_source = 11
> + cps = 100 2
> +diff -up tftp-hpa-0.48/README.security.tftpboot tftp-hpa-0.48/README.security
> +--- tftp-hpa-0.48/README.security.tftpboot 2008-05-29 17:36:32.000000000 +0200
> ++++ tftp-hpa-0.48/README.security 2008-05-29 17:37:21.000000000 +0200
> +@@ -17,10 +17,10 @@ probably the following:
> +
> + 1. Create a separate "tftpd" user and group only used for tftpd;
> + 2. Have all your boot files in a single directory tree (usually called
> +- /tftpboot).
> +-3. Specify "-p -u tftpd -s /tftpboot" on the tftpd command line; if
> ++ /var/lib/tftpboot).
> ++3. Specify "-p -u tftpd -s /var/lib/tftpboot" on the tftpd command line; if
> + you want clients to be able to create files use
> +- "-p -c -U 002 -u tftpd -s /tftpboot" (replace 002 with whatever
> ++ "-p -c -U 002 -u tftpd -s /var/lib/tftpboot" (replace 002 with whatever
> + umask is appropriate for your setup.)
> +
> + =======================================
> +@@ -40,12 +40,12 @@ directly. Thus, if your /etc/inetd.conf
> + line):
> +
> + tftp dgram udp wait root /usr/sbin/tcpd
> +-/usr/sbin/in.tftpd -s /tftpboot -r blksize
> ++/usr/sbin/in.tftpd -s /var/lib/tftpboot -r blksize
> +
> + ... it's better to change to ...
> +
> + tftp dgram udp wait root /usr/sbin/in.tftpd
> +-in.tftpd -s /tftpboot -r blksize
> ++in.tftpd -s /var/lib/tftpboot -r blksize
> +
> + You should make sure that you are using "wait" option in tftpd; you
> + also need to have tftpd spawned as root in order for chroot (-s) to
> +diff -up tftp-hpa-0.48/tftpd/sample.rules.tftpboot tftp-hpa-0.48/tftpd/sample.rules
> +--- tftp-hpa-0.48/tftpd/sample.rules.tftpboot 2008-05-29 17:38:46.000000000 +0200
> ++++ tftp-hpa-0.48/tftpd/sample.rules 2008-05-29 17:38:05.000000000 +0200
> +@@ -30,5 +30,5 @@ rg \\ / # Convert backslashes to slash
> + rg \# @ # Convert hash marks to @ signs
> + rg /../ /..no../ # Convert /../ to /..no../
> + e ^ok/ # These are always ok
> +-r ^[^/] /tftpboot/\0 # Convert non-absolute files
> ++r ^[^/] /var/lib/tftpboot/\0 # Convert non-absolute files
> + a \.pvt$ # Reject requests for private files
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
> new file mode 100644
> index 0000000..6d63571
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch
> @@ -0,0 +1,15 @@
> +diff -up tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes tftp-hpa-0.49/tftpd/tftpd.c
> +--- tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes 2009-01-15 15:28:50.000000000 +0100
> ++++ tftp-hpa-0.49/tftpd/tftpd.c 2009-01-15 15:31:36.000000000 +0100
> +@@ -932,7 +932,10 @@ int main(int argc, char **argv)
> + exit(EX_OSERR);
> + }
> + #ifdef __CYGWIN__
> +- chdir("/"); /* Cygwin chroot() bug workaround */
> ++ if (chdir("/") < 0) { /* Cygwin chroot() bug workaround */
> ++ syslog(LOG_ERR, "chroot: %m");
> ++ exit(EX_OSERR);
> ++ }
> + #endif
> + }
> + #ifdef HAVE_SETREGID
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
> new file mode 100644
> index 0000000..2b9023a
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch
> @@ -0,0 +1,159 @@
> +diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h
> +--- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200
> ++++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200
> +@@ -291,6 +291,7 @@ typedef int socklen_t;
> + /* Prototypes for libxtra functions */
> +
> + void *xmalloc(size_t);
> ++void *xrealloc(void *, size_t);
> + char *xstrdup(const char *);
> +
> + #ifndef HAVE_BSD_SIGNAL
> +diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in
> +--- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200
> ++++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200
> +@@ -152,6 +152,7 @@ OBJROOT=`pwd`
> +
> + XTRA=false
> + PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty)
> ++PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty)
> + PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty)
> + PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal)
> + PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long)
> +diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
> +--- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg 2010-04-19 11:05:12.387340698 +0200
> ++++ tftp-hpa-0.49/lib/xrealloc.c 2010-04-19 11:05:12.387340698 +0200
> +@@ -0,0 +1,20 @@
> ++/*
> ++ * xrealloc.c
> ++ *
> ++ * Simple error-checking version of realloc()
> ++ *
> ++ */
> ++
> ++#include "config.h"
> ++
> ++void *xrealloc(void *ptr, size_t size)
> ++{
> ++ void *p = realloc(ptr, size);
> ++
> ++ if (!p) {
> ++ fprintf(stderr, "Out of memory!\n");
> ++ exit(128);
> ++ }
> ++
> ++ return p;
> ++}
> +diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c
> +--- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200
> ++++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200
> +@@ -89,11 +89,14 @@ int connected;
> + const struct modes *mode;
> + #ifdef WITH_READLINE
> + char *line = NULL;
> ++char *remote_pth = NULL;
> + #else
> + char line[LBUFLEN];
> ++char remote_pth[LBUFLEN];
> + #endif
> + int margc;
> +-char *margv[20];
> ++char **margv;
> ++int sizeof_margv=0;
> + const char *prompt = "tftp> ";
> + sigjmp_buf toplevel;
> + void intr(int);
> +@@ -379,6 +382,10 @@ static void getmoreargs(const char *part
> + free(line);
> + line = NULL;
> + }
> ++ if (remote_pth) {
> ++ free(remote_pth);
> ++ remote_pth = NULL;
> ++ }
> + line = xmalloc(len + elen + 1);
> + strcpy(line, partial);
> + strcpy(line + len, eline);
> +@@ -535,6 +542,7 @@ void put(int argc, char *argv[])
> + int fd;
> + int n, err;
> + char *cp, *targ;
> ++ long dirlen, namelen, lastlen=0;
> +
> + if (argc < 2) {
> + getmoreargs("send ", "(file) ");
> +@@ -588,9 +596,22 @@ void put(int argc, char *argv[])
> + }
> + /* this assumes the target is a directory */
> + /* on a remote unix system. hmmmm. */
> +- cp = strchr(targ, '\0');
> +- *cp++ = '/';
> ++ dirlen = strlen(targ)+1;
> ++#ifdef WITH_READLINE
> ++ remote_pth = xmalloc(dirlen+1);
> ++#endif
> ++ strcpy(remote_pth, targ);
> ++ remote_pth[dirlen-1] = '/';
> ++ cp = remote_pth + dirlen;
> + for (n = 1; n < argc - 1; n++) {
> ++#ifdef WITH_READLINE
> ++ namelen = strlen(tail(argv[n])) + 1;
> ++ if (namelen > lastlen) {
> ++ remote_pth = xrealloc(remote_pth, dirlen + namelen + 1);
> ++ cp = remote_pth + dirlen;
> ++ lastlen = namelen;
> ++ }
> ++#endif
> + strcpy(cp, tail(argv[n]));
> + fd = open(argv[n], O_RDONLY | mode->m_openflags);
> + if (fd < 0) {
> +@@ -600,9 +621,9 @@ void put(int argc, char *argv[])
> + }
> + if (verbose)
> + printf("putting %s to %s:%s [%s]\n",
> +- argv[n], hostname, targ, mode->m_mode);
> ++ argv[n], hostname, remote_pth, mode->m_mode);
> + sa_set_port(&peeraddr, port);
> +- tftp_sendfile(fd, targ, mode->m_mode);
> ++ tftp_sendfile(fd, remote_pth, mode->m_mode);
> + }
> + }
> +
> +@@ -801,6 +822,10 @@ static void command(void)
> + free(line);
> + line = NULL;
> + }
> ++ if (remote_pth) {
> ++ free(remote_pth);
> ++ remote_pth = NULL;
> ++ }
> + line = readline(prompt);
> + if (!line)
> + exit(0); /* EOF */
> +@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name)
> + static void makeargv(void)
> + {
> + char *cp;
> +- char **argp = margv;
> ++ char **argp;
> ++
> ++ if (!sizeof_margv) {
> ++ sizeof_margv = 20;
> ++ margv = xmalloc(sizeof_margv * sizeof(char *));
> ++ }
> ++ argp = margv;
> +
> + margc = 0;
> + for (cp = line; *cp;) {
> +@@ -882,6 +913,11 @@ static void makeargv(void)
> + break;
> + *argp++ = cp;
> + margc += 1;
> ++ if (margc == sizeof_margv) {
> ++ sizeof_margv += 20;
> ++ margv = xrealloc(margv, sizeof_margv * sizeof(char *));
> ++ argp = margv + margc;
> ++ }
> + while (*cp != '\0' && !isspace(*cp))
> + cp++;
> + if (*cp == '\0')
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
> new file mode 100644
> index 0000000..ded02ef
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch
> @@ -0,0 +1,18 @@
> +diff -up tftp-hpa-0.49/tftpd/tftpd.c.tzfix tftp-hpa-0.49/tftpd/tftpd.c
> +--- tftp-hpa-0.49/tftpd/tftpd.c.tzfix 2008-10-20 18:08:31.000000000 -0400
> ++++ tftp-hpa-0.49/tftpd/tftpd.c 2008-11-25 11:45:27.000000000 -0500
> +@@ -350,6 +350,14 @@ int main(int argc, char **argv)
> + const char *pidfile = NULL;
> + u_short tp_opcode;
> +
> ++ time_t my_time = 0;
> ++ struct tm* p_tm;
> ++ char envtz[10];
> ++ my_time = time(NULL);
> ++ p_tm = localtime(&my_time);
> ++ snprintf(envtz, sizeof(envtz) - 1, "UTC%+d", (p_tm->tm_gmtoff * -1)/3600);
> ++ setenv("TZ", envtz, 0);
> ++
> + /* basename() is way too much of a pain from a portability standpoint */
> +
> + p = strrchr(argv[0], '/');
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
> new file mode 100644
> index 0000000..e9b70d4
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch
> @@ -0,0 +1,26 @@
> +diff -urN tftp-hpa-0.49.orig/tftp/tftp.c tftp-hpa-0.49/tftp/tftp.c
> +--- tftp-hpa-0.49.orig/tftp/tftp.c 2008-10-20 18:08:31.000000000 -0400
> ++++ tftp-hpa-0.49/tftp/tftp.c 2009-08-05 09:47:18.072585848 -0400
> +@@ -279,15 +279,16 @@
> + struct tftphdr *tp, const char *mode)
> + {
> + char *cp;
> ++ size_t len;
> +
> + tp->th_opcode = htons((u_short) request);
> + cp = (char *)&(tp->th_stuff);
> +- strcpy(cp, name);
> +- cp += strlen(name);
> +- *cp++ = '\0';
> +- strcpy(cp, mode);
> +- cp += strlen(mode);
> +- *cp++ = '\0';
> ++ len = strlen(name) + 1;
> ++ memcpy(cp, name, len);
> ++ cp += len;
> ++ len = strlen(mode) + 1;
> ++ memcpy(cp, mode, len);
> ++ cp += len;
> + return (cp - (char *)tp);
> + }
> +
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
> new file mode 100644
> index 0000000..b6c9d05
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch
> @@ -0,0 +1,14 @@
> +diff -up tftp-hpa-0.49/tftp/tftp.c.stats tftp-hpa-0.49/tftp/tftp.c
> +--- tftp-hpa-0.49/tftp/tftp.c.stats 2011-01-03 15:38:34.217918067 +0100
> ++++ tftp-hpa-0.49/tftp/tftp.c 2011-01-03 15:38:37.498917014 +0100
> +@@ -400,8 +400,8 @@ static void printstats(const char *direc
> + {
> + double delta;
> +
> +- delta = (tstop.tv_sec + (tstop.tv_usec / 100000.0)) -
> +- (tstart.tv_sec + (tstart.tv_usec / 100000.0));
> ++ delta = (tstop.tv_sec + (tstop.tv_usec / 1000000.0)) -
> ++ (tstart.tv_sec + (tstart.tv_usec / 1000000.0));
> + if (verbose) {
> + printf("%s %lu bytes in %.1f seconds", direction, amount, delta);
> + printf(" [%.0f bit/s]", (amount * 8.) / delta);
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
> new file mode 100644
> index 0000000..d1fa75c
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch
> @@ -0,0 +1,23 @@
> +diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c
> +--- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100
> ++++ tftp-hpa-5.2/tftpd/recvfrom.c 2012-01-04 10:05:17.852042256 +0100
> +@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un
> +
> + /* Try to enable getting the return address */
> + #ifdef IP_RECVDSTADDR
> +- if (from->sa_family == AF_INET)
> ++ if (from->sa_family == AF_INET || !from->sa_family)
> + setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
> + #endif
> + #ifdef IP_PKTINFO
> +- if (from->sa_family == AF_INET)
> ++ if (from->sa_family == AF_INET || !from->sa_family)
> + setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
> + #endif
> + #ifdef HAVE_IPV6
> + #ifdef IPV6_RECVPKTINFO
> +- if (from->sa_family == AF_INET6)
> ++ if (from->sa_family == AF_INET6 || !from->sa_family)
> + setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
> + #endif
> + #endif
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
> new file mode 100644
> index 0000000..fe70163
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd
> @@ -0,0 +1,18 @@
> +# default: off
> +# description: The tftp server serves files using the trivial file transfer \
> +# protocol. The tftp protocol is often used to boot diskless \
> +# workstations, download configuration files to network-aware printers, \
> +# and to start the installation process for some operating systems.
> +service tftp
> +{
> + socket_type = dgram
> + protocol = udp
> + wait = yes
> + user = root
> + server = /usr/sbin/in.tftpd-hpa
> + server_args = -s /var/lib/tftpboot
> + disable = yes
> + per_source = 11
> + cps = 100 2
> + flags = IPv6
> +}
> diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
> new file mode 100644
> index 0000000..f09663d
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
> @@ -0,0 +1,66 @@
> +SUMMARY = "Client for the Trivial File Transfer Protocol"
> +DESCRIPTION = \
> +"The Trivial File Transfer Protocol (TFTP) is normally used only for \
> +booting diskless workstations. The tftp package provides the user \
> +interface for TFTP, which allows users to transfer files to and from a \
> +remote machine. This program and TFTP provide very little security, \
> +and should not be enabled unless it is expressly needed."
> +DEPENDS = "tcp-wrappers readline"
> +SECTION = "network"
> +LICENSE = "BSD-4-Clause"
> +LIC_FILES_CHKSUM = "file://MCONFIG.in;startline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
> + file://tftp/tftp.c;startline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
> +
> +PR = "r0"
> +
> +SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \
> + file://tftp-0.40-remap.patch \
> + file://tftp-0.42-tftpboot.patch \
> + file://tftp-0.49-chk_retcodes.patch \
> + file://tftp-0.49-cmd_arg.patch \
> + file://tftp-hpa-0.39-tzfix.patch \
> + file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
> + file://tftp-hpa-0.49-stats.patch \
> + file://tftp-hpa-5.2-pktinfo.patch \
> + file://default \
> + file://init"
> +
> +SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
> +SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
> +
> +inherit autotools update-rc.d update-alternatives
> +
> +EXTRA_OECONF += "--disable-option-checking"
> +
> +# configure.in has errors
> +do_configure() {
> + oe_runconf
> +}
> +
> +do_install() {
> + oe_runmake install INSTALLROOT=${D}
> + mv ${D}${bindir}/tftp ${D}${bindir}/tftp-hpa
> + mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
> +
> + install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
> + install -d ${D}${sysconfdir}/init.d
> + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
> + install -d ${D}${sysconfdir}/default
> + install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
> +}
> +
> +FILES_${PN} = "${bindir}"
> +
> +PACKAGES += "tftp-hpa-server"
> +SUMMARY_tftp-hpa-server = "Server for the Trivial File Transfer Protocol"
> +FILES_tftp-hpa-server = "${sbindir} ${sysconfdir} ${localstatedir}"
> +CONFFILES_tftp-hpa-server = "${sysconfdir}/default/tftpd-hpa"
> +
> +INITSCRIPT_PACKAGES = "tftp-hpa-server"
> +INITSCRIPT_NAME = "tftpd-hpa"
> +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ."
> +
> +ALTERNATIVE_${PN} = "tftp"
> +ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
> +ALTERNATIVE_PRIORITY = "50"
> +
--
-Joe MacDonald.
:wq
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2012-11-19 18:28 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-19 17:11 [meta-networking][PATCH 0/8] Networking recipes Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 1/8] tftp-hpa: add from OE-Classic, update and tidy up Paul Eggleton
2012-11-19 18:14 ` Joe MacDonald
2012-11-19 17:11 ` [meta-networking][PATCH 2/8] tunctl: add from OE-Classic and tweak Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 3/8] quagga: add from OE-Classic, update and tidy-up Paul Eggleton
2012-11-19 17:55 ` Koen Kooi
2012-11-19 18:00 ` Paul Eggleton
2012-11-19 18:02 ` Koen Kooi
2012-11-19 17:11 ` [meta-networking][PATCH 4/8] radvd: add from OE-Classic, update and tidy up Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 5/8] vblade: " Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 6/8] xl2tpd: " Paul Eggleton
2012-11-19 17:11 ` [meta-networking][PATCH 7/8] proftpd: add from meta-baryon Paul Eggleton
2012-11-19 17:57 ` Koen Kooi
2012-11-19 17:11 ` [meta-networking][PATCH 8/8] mtr: add from OE-Classic, update and tidy up Paul Eggleton
2012-11-19 17:59 ` [meta-networking][PATCH 0/8] Networking recipes Koen Kooi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox