aiccu: new package
Automatic IPv6 Connectivity Configuration Utility for users of a IPv6 tunnel broker, developed by sixxs.net [Peter: drop strip patch, pass TARGET_CONFIGURE_OPTS] Signed-off-by: Michael Rommel <rommel@layer-7.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
710e0b4d69
commit
1e9b983fe2
@ -743,6 +743,7 @@ source "package/sound-theme-freedesktop/Config.in"
|
||||
endmenu
|
||||
|
||||
menu "Networking applications"
|
||||
source "package/aiccu/Config.in"
|
||||
source "package/aircrack-ng/Config.in"
|
||||
source "package/argus/Config.in"
|
||||
source "package/arptables/Config.in"
|
||||
|
21
package/aiccu/Config.in
Normal file
21
package/aiccu/Config.in
Normal file
@ -0,0 +1,21 @@
|
||||
config BR2_PACKAGE_AICCU
|
||||
bool "aiccu"
|
||||
depends on BR2_INET_IPV6
|
||||
depends on BR2_USE_WCHAR
|
||||
select BR2_PACKAGE_GNUTLS
|
||||
help
|
||||
SixXS Automatic IPv6 Connectivity Client Utility
|
||||
|
||||
AICCU (Automatic IPv6 Connectivity Client Utility) makes it
|
||||
easy for users to get IPv6 connectivity. After having
|
||||
requested an account, tunnel and optionally a subnet, AICCU
|
||||
can be used to automatically configure the tunnel. AICCU
|
||||
supports TIC (Tunnel Information & Control protocol), which it
|
||||
uses for retrieving the tunnel configuration information,
|
||||
AYIYA, which allows tunnels to be created even behind
|
||||
firewalls and NAT's.
|
||||
|
||||
http://www.sixxs.net/tools/aiccu/
|
||||
|
||||
comment "aiccu requires a toolchain with IPv6 and WCHAR support"
|
||||
depends on !(BR2_INET_IPV6 && BR2_USE_WCHAR)
|
104
package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
Normal file
104
package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch
Normal file
@ -0,0 +1,104 @@
|
||||
aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types
|
||||
resolver.c: fixes for selection of wrong resolver function under uclibc
|
||||
|
||||
Signed-off-by: Michael Rommel <rommel@layer-7.net>
|
||||
|
||||
diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h
|
||||
--- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000 +0100
|
||||
+++ aiccu_20070115/common/aiccu.h 2013-08-31 23:50:53.651936146 +0200
|
||||
@@ -111,7 +111,7 @@ struct AICCU_conf
|
||||
#endif
|
||||
|
||||
#ifdef AICCU_GNUTLS
|
||||
- gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */
|
||||
+ gnutls_certificate_credentials_t tls_cred; /* GNUTLS credentials */
|
||||
#endif
|
||||
|
||||
bool daemonize; /* Daemonize? */
|
||||
diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c
|
||||
--- aiccu_20070115.orig/common/common.c 2006-12-21 15:08:50.000000000 +0100
|
||||
+++ aiccu_20070115/common/common.c 2013-09-01 01:21:36.031396740 +0200
|
||||
@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void);
|
||||
TLSSOCKET sock_alloc(void)
|
||||
{
|
||||
#ifdef AICCU_GNUTLS
|
||||
- /* Allow connections to servers that have OpenPGP keys as well */
|
||||
- const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
|
||||
int ret;
|
||||
+ const char *err;
|
||||
#endif /* AICCU_GNUTLS*/
|
||||
|
||||
TLSSOCKET sock;
|
||||
@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void)
|
||||
}
|
||||
|
||||
/* Use default priorities */
|
||||
- gnutls_set_default_priority(sock->session);
|
||||
- /* XXX: Return value is not documented in GNUTLS documentation! */
|
||||
-
|
||||
- gnutls_certificate_type_set_priority(sock->session, cert_type_priority);
|
||||
- /* XXX: Return value is not documented in GNUTLS documentation! */
|
||||
+ ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err);
|
||||
+ if (ret < 0)
|
||||
+ {
|
||||
+ if (ret == GNUTLS_E_INVALID_REQUEST)
|
||||
+ {
|
||||
+ dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err);
|
||||
+ }
|
||||
+ free(sock);
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
/* Configure the x509 credentials for the current session */
|
||||
gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred);
|
||||
@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock)
|
||||
}
|
||||
|
||||
/* Set the transport */
|
||||
- gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket);
|
||||
+ gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket);
|
||||
|
||||
/* Perform the TLS handshake */
|
||||
ret = gnutls_handshake(sock->session);
|
||||
diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h
|
||||
--- aiccu_20070115.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100
|
||||
+++ aiccu_20070115/common/common.h 2013-08-31 23:26:13.683659455 +0200
|
||||
@@ -381,7 +381,7 @@ struct tlssocket
|
||||
SOCKET socket;
|
||||
#ifdef AICCU_GNUTLS
|
||||
bool tls_active; /* TLS active? */
|
||||
- gnutls_session session; /* The GnuTLS sesision */
|
||||
+ gnutls_session_t session; /* The GnuTLS sesision */
|
||||
#endif
|
||||
};
|
||||
|
||||
diff -purN aiccu_20070115.orig/common/resolver.c aiccu_20070115/common/resolver.c
|
||||
--- aiccu_20070115.orig/common/resolver.c 2006-07-23 16:55:14.000000000 +0200
|
||||
+++ aiccu_20070115/common/resolver.c 2013-08-31 23:44:31.574866862 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record))
|
||||
{
|
||||
-#ifdef _LINUX
|
||||
+#if defined(_LINUX) && !defined(__UCLIBC__)
|
||||
struct __res_state res;
|
||||
#endif
|
||||
unsigned char answer[8192];
|
||||
@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
|
||||
uint16_t type = 0, class = 0;
|
||||
uint32_t ttl = 0;
|
||||
|
||||
-#ifdef _LINUX
|
||||
+#if defined(_LINUX) && !defined(__UCLIBC__)
|
||||
memset(&res, 0, sizeof(res));
|
||||
res.options = RES_DEBUG;
|
||||
res_ninit(&res);
|
||||
@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
|
||||
#endif
|
||||
|
||||
memset(answer, 0, sizeof(answer));
|
||||
-#ifdef _LINUX
|
||||
+#if defined(_LINUX) && !defined(__UCLIBC__)
|
||||
ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
|
||||
#else
|
||||
ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
|
34
package/aiccu/aiccu.mk
Normal file
34
package/aiccu/aiccu.mk
Normal file
@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
#
|
||||
# aiccu
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AICCU_VERSION = 20070115
|
||||
AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz
|
||||
AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix/
|
||||
AICCU_LICENSE = SixXS License, concise redistribution license
|
||||
AICCU_LICENSE_FILES = doc/LICENSE
|
||||
AICCU_DEPENDENCIES = gnutls
|
||||
|
||||
# dummy RPM_OPT_FLAGS to disable stripping
|
||||
define AICCU_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC="$(TARGET_CC)" \
|
||||
RPM_OPT_FLAGS=1 -C $(@D)/unix-console all
|
||||
endef
|
||||
|
||||
define AICCU_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \
|
||||
$(TARGET_DIR)/usr/sbin/aiccu
|
||||
[ -f $(TARGET_DIR)/etc/aiccu.conf ] || \
|
||||
$(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \
|
||||
$(TARGET_DIR)/etc/aiccu.conf
|
||||
endef
|
||||
|
||||
define AICCU_INSTALL_INIT_SYSV
|
||||
[ -f $(TARGET_DIR)/etc/init.d/S50aiccu ] || \
|
||||
$(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \
|
||||
$(TARGET_DIR)/etc/init.d/S50aiccu
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
Reference in New Issue
Block a user