summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-dialup/capifwd/capifwd-0.6.3-r3.ebuild (renamed from net-dialup/capifwd/capifwd-0.6.3-r2.ebuild)25
-rw-r--r--net-dialup/capifwd/files/capifwd-0.6.3-amd64-r1.patch136
-rw-r--r--net-dialup/capifwd/files/capifwd-0.6.3-r1.patch42
3 files changed, 192 insertions, 11 deletions
diff --git a/net-dialup/capifwd/capifwd-0.6.3-r2.ebuild b/net-dialup/capifwd/capifwd-0.6.3-r3.ebuild
index 621c0616a15e..26cdeea54d34 100644
--- a/net-dialup/capifwd/capifwd-0.6.3-r2.ebuild
+++ b/net-dialup/capifwd/capifwd-0.6.3-r3.ebuild
@@ -4,7 +4,7 @@
EAPI=6
-inherit eutils autotools
+inherit autotools
DESCRIPTION="A daemon forwarding CAPI messages to capi20proxy clients"
HOMEPAGE="http://capi20proxy.sourceforge.net/"
@@ -19,24 +19,27 @@ DEPEND="net-dialup/capi4k-utils"
S="${WORKDIR}/linux-server"
+PATCHES=(
+ "${FILESDIR}/${P}-r1.patch"
+ "${FILESDIR}/${P}-amd64-r1.patch"
+)
+
src_prepare() {
- eapply -p0 "${FILESDIR}/${P}.patch"
- eapply -p0 "${FILESDIR}/${P}-amd64.patch"
+ default
# Replace obsolete sys_errlist with strerror
sed -i -e 's:sys_errlist *\[ *errno *\]:strerror(errno):' \
- src/capifwd.c src/capi/waitforsignal.c src/auth/auth.c || \
- die "failed to replace sys_errlist"
+ src/capifwd.c src/capi/waitforsignal.c src/auth/auth.c \
+ || die 'failed to replace sys_errlist'
- eapply_user
+ # We don't patch autotools, but it's already screwed up, so this
+ # fixes a big QA warning.
eautoreconf
}
src_install() {
- emake DESTDIR="$D" install
- dodoc AUTHORS ChangeLog README
+ default
- # install init-script
- newinitd "${FILESDIR}/capifwd.init" capifwd
- newconfd "${FILESDIR}/capifwd.conf" capifwd
+ newinitd "${FILESDIR}/${PN}.init" "${PN}"
+ newconfd "${FILESDIR}/${PN}.conf" "${PN}"
}
diff --git a/net-dialup/capifwd/files/capifwd-0.6.3-amd64-r1.patch b/net-dialup/capifwd/files/capifwd-0.6.3-amd64-r1.patch
new file mode 100644
index 000000000000..eb2aefb72267
--- /dev/null
+++ b/net-dialup/capifwd/files/capifwd-0.6.3-amd64-r1.patch
@@ -0,0 +1,136 @@
+--- a/src/protocol.h 2002-10-30 16:16:06.000000000 +0100
++++ b/src/protocol.h 2007-02-03 01:27:40.000000000 +0100
+@@ -53,6 +53,7 @@
+ #ifndef __PROTOCOL_H__
+ #define __PROTOCOL_H__
+ #include <time.h>
++#include <sys/types.h>
+
+ // Operating System types
+
+@@ -109,20 +110,20 @@
+ #define revision "$Revision: 1.1 $"
+
+ struct __version_t {
+- unsigned long major; // major version for incompatible versions
+- unsigned long minor; // minor version for compatible versions
++ uint32_t major; // major version for incompatible versions
++ uint32_t minor; // minor version for compatible versions
+ };
+
+ // CLIENT REQUESTS //
+ // protocol specific
+ struct REQUEST_PROXY_HELO { // type number: 99
+- char name[64]; // name of the client (for logging)
+- int os; // operating system of the client
++ uint8_t name[64]; // name of the client (for logging)
++ uint32_t os; // operating system of the client
+ struct __version_t version; // version of the client
+ };
+
+ struct REQUEST_PROXY_AUTH { // type number: 98
+- unsigned long auth_type; // authentication type desired
++ uint32_t auth_type; // authentication type desired
+ };
+
+ struct REQUEST_PROXY_KEEPALIVE { // type number: 97
+@@ -171,11 +172,11 @@
+
+ // protocol specific
+ struct ANSWER_PROXY_HELO { // type number: 99
+- char name[64]; // some kind of name for the server (zero-terminated)
+- int os; // the operating system of the server
++ int8_t name[64]; // some kind of name for the server (zero-terminated)
++ int32_t os; // the operating system of the server
+ struct __version_t version; // the version of the server
+- unsigned long auth_type; // the server tells the client which auth-methods it supports (each bit represents one method) !changed!
+- int timeout; // in seconds, -1 means no timeout
++ int32_t auth_type; // the server tells the client which auth-methods it supports (each bit represents one method) !changed!
++ int32_t timeout; // in seconds, -1 means no timeout
+ };
+
+ struct ANSWER_PROXY_AUTH { // type number: 98
+@@ -185,7 +186,7 @@
+ };
+
+ struct ANSWER_PROXY_SHUTDOWN { // type number: 96
+- char reason[128];
++ int8_t reason[128];
+ // z.B. "Ich muss dringend aufs Klo!"; :-)
+ // no answer from the client expected
+ };
+@@ -208,7 +209,7 @@
+ };
+
+ struct ANSWER_CAPI_MANUFACTURER { // type number: 6
+- char manufacturer[64];
++ int8_t manufacturer[64];
+ };
+
+ struct ANSWER_CAPI_VERSION { // type number: 7
+@@ -217,11 +218,11 @@
+ };
+
+ struct ANSWER_CAPI_SERIAL { // type number: 8
+- char serial[8];
++ int8_t serial[8];
+ };
+
+ struct ANSWER_CAPI_PROFILE { // type number: 9
+- char profile[64];
++ int8_t profile[64];
+ };
+
+ struct ANSWER_CAPI_INSTALLED { // type number: 10
+@@ -229,30 +230,30 @@
+
+
+ struct REQUEST_HEADER {
+- unsigned message_len;
+- unsigned header_len;
+- unsigned body_len;
+- unsigned data_len;
+-
+- unsigned message_id;
+- unsigned message_type;
+- unsigned long app_id; // must be long!
+- unsigned controller_id;
+- unsigned session_id;
++ int32_t message_len;
++ int32_t header_len;
++ int32_t body_len;
++ int32_t data_len;
++
++ int32_t message_id;
++ int32_t message_type;
++ int32_t app_id;
++ int32_t controller_id;
++ int32_t session_id;
+ };
+
+
+ struct ANSWER_HEADER {
+- unsigned message_len;
+- unsigned header_len;
+- unsigned body_len;
+- unsigned data_len;
+-
+- unsigned message_id;
+- unsigned message_type;
+- unsigned long app_id; // must be long!
+- unsigned session_id;
+- unsigned proxy_error;
+- unsigned long capi_error;
++ int32_t message_len;
++ int32_t header_len;
++ int32_t body_len;
++ int32_t data_len;
++
++ int32_t message_id;
++ int32_t message_type;
++ int32_t app_id;
++ int32_t session_id;
++ int32_t proxy_error;
++ int32_t capi_error;
+ };
+ #endif
diff --git a/net-dialup/capifwd/files/capifwd-0.6.3-r1.patch b/net-dialup/capifwd/files/capifwd-0.6.3-r1.patch
new file mode 100644
index 000000000000..9c875d5a332a
--- /dev/null
+++ b/net-dialup/capifwd/files/capifwd-0.6.3-r1.patch
@@ -0,0 +1,42 @@
+--- a/src/config/cmdline.c.orig 2002-12-29 16:41:02.000000000 +0100
++++ b/src/config/cmdline.c 2004-11-20 02:01:38.821706921 +0100
+@@ -57,17 +57,17 @@
+ else if ( !strcmp("-v",argv[i]) || !strcmp("-h",argv[1]) ||
+ !strcmp("--version", argv[1]) || !strcmp("--help", argv[i]) )
+ {
+- printf("
+-%s version %s
+-Copyright (C) 2002: F. Lindenberg, A. Szalkowski
+-Usage:
+-\t%s [options]\n\n Where options is one of:
+--h --help or
+--v --version\tprint this info and quit.
+--f --file\tdefine the configuration file (makes no
+-\t\tsense without config file support).
+--p --port\tdefine the port number.
+-", _progname_long, _version, argv[0]);
++ printf(
++"%s version %s\n"
++"Copyright (C) 2002: F. Lindenberg, A. Szalkowski\n"
++"Usage:\n"
++"\t%s [options]\n\n Where options is one of:\n"
++"-h --help or\n"
++"-v --version\tprint this info and quit.\n"
++"-f --file\tdefine the configuration file (makes no\n"
++"\t\tsense without config file support).\n"
++"-p --port\tdefine the port number.\n\n",
++_progname_long, _version, argv[0]);
+ exit ( 0 );
+ }
+
+--- a/src/capifwd.c.orig 2006-09-23 10:39:30.000000000 +0300
++++ b/src/capifwd.c 2006-09-23 10:41:32.836443500 +0300
+@@ -13,7 +13,7 @@
+ ssize_t n = recv(fd, buf, left, 0);
+ if (n <= 0)
+ return n;
+- (char*)buf += n;
++ buf = (char*)buf + n;
+ left -= n;
+ }
+ return size;