diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5d6cc2a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +aiccu_20070115.tar.gz diff --git a/aiccu-cloexec.patch b/aiccu-cloexec.patch new file mode 100644 index 0000000..c61e6be --- /dev/null +++ b/aiccu-cloexec.patch @@ -0,0 +1,59 @@ +diff -urNp --exclude-from=/home/mdomsch/excludes --minimal aiccu.orig/common/common.c aiccu/common/common.c +--- aiccu.orig/common/common.c 2008-10-17 18:43:13.000000000 -0500 ++++ aiccu/common/common.c 2008-10-17 22:11:52.000000000 -0500 +@@ -365,6 +365,7 @@ TLSSOCKET connect_client(const char *hos + { + sock->socket = socket(res->ai_family, res->ai_socktype, res->ai_protocol); + if (sock->socket == -1) continue; ++ fcntl(sock->socket, F_SETFD, FD_CLOEXEC); + if (connect(sock->socket, res->ai_addr, (unsigned int)res->ai_addrlen) == 0) break; + closesocket(sock->socket); + sock->socket = -1; +@@ -428,6 +429,7 @@ TLSSOCKET listen_server(const char *desc + sock->socket = socket(res->ai_family, res->ai_socktype, res->ai_protocol); + if (!(sock->socket < 0)) + { ++ fcntl(sock->socket, F_SETFD, FD_CLOEXEC); + setsockopt(sock->socket, SOL_SOCKET, SO_REUSEADDR, (const char *)&on, sizeof(on)); + if (bind(sock->socket, res->ai_addr, (unsigned int)res->ai_addrlen) == 0) break; + closesocket(sock->socket); +diff -urNp --exclude-from=/home/mdomsch/excludes --minimal aiccu.orig/common/heartbeat.c aiccu/common/heartbeat.c +--- aiccu.orig/common/heartbeat.c 2008-10-17 18:43:13.000000000 -0500 ++++ aiccu/common/heartbeat.c 2008-10-17 22:12:51.000000000 -0500 +@@ -58,6 +58,7 @@ SOCKET heartbeat_socket( + dolog(LOG_ERR, "Couldn't open a socket for determining current IPv4 address\n"); + return -1; + } ++ fcntl(sockfd, F_SETFD, FD_CLOEXEC); + + #if defined(SOL_SOCKET) && defined(SO_BINDTODEVICE) + /* +diff -urNp --exclude-from=/home/mdomsch/excludes --minimal aiccu.orig/common/tun.c aiccu/common/tun.c +--- aiccu.orig/common/tun.c 2008-10-17 18:43:13.000000000 -0500 ++++ aiccu/common/tun.c 2008-10-17 22:12:42.000000000 -0500 +@@ -696,6 +696,8 @@ bool tun_start(struct tun_reader *tun) + + /* Create a new tap device */ + tun_fd = open("/dev/net/tun", O_RDWR); ++ if (tun_fd >= 0) ++ fcntl(tun_fd, F_SETFD, FD_CLOEXEC); + if (tun_fd == -1) + { + tun_log(LOG_ERR, "start", "Couldn't open device %s: %s (%d)\n", "/dev/net/tun", strerror(errno), errno); +@@ -725,6 +727,8 @@ bool tun_start(struct tun_reader *tun) + tun_log(LOG_DEBUG, "start", "Trying Configured TUN/TAP interface %s...\n", g_aiccu->ipv6_interface); + snprintf(buf, sizeof(buf), "/dev/%s", g_aiccu->ipv6_interface); + tun_fd = open(buf, O_RDWR); ++ if (tun_fd >= 0) ++ fcntl(tun_fd, F_SETFD, FD_CLOEXEC); + if (tun_fd < 0) + { + /* Fall back to trying all /dev/tun* devices */ +@@ -735,6 +739,7 @@ bool tun_start(struct tun_reader *tun) + tun_fd = open(buf, O_RDWR); + if (tun_fd >= 0) + { ++ fcntl(tun_fd, F_SETFD, FD_CLOEXEC); + /* Copy over the name of the interface so that configging goes okay */ + if (g_aiccu->ipv6_interface) free(g_aiccu->ipv6_interface); + snprintf(buf, sizeof(buf), "tun%u", i); diff --git a/aiccu-lsb-initscript.patch b/aiccu-lsb-initscript.patch new file mode 100644 index 0000000..0e361f1 --- /dev/null +++ b/aiccu-lsb-initscript.patch @@ -0,0 +1,33 @@ +--- aiccu/doc/aiccu.init.rpm.orig 2007-09-21 21:15:04.000000000 -0500 ++++ aiccu/doc/aiccu.init.rpm 2007-09-21 21:19:19.000000000 -0500 +@@ -8,6 +8,20 @@ + # config: /etc/aiccu.conf + # chkconfig: - 59 73 + # processname: aiccu ++# ++### BEGIN INIT INFO ++# Provides: aiccu ++# Required-Start: $local_fs $remote_fs $network $time $named ++# Required-Stop: $local_fs $remote_fs $network $time $named ++# Default-Start: ++# Default-Stop: ++# Short-Description: hearbeat daemon for IPv6-in-IPv4 (Proto-41, AYIYA, Heartbeat) tunnels ++# Description: aiccu automatically gives one IPv6 connectivity ++# without having to manually configure interfaces etc. ++# One does need a SixXS account and at least a tunnel. These ++# can be freely & gratis requested from the SixXS website. ++# For more information about SixXS check http://www.sixxs.net ++### END INIT INFO + + # Source function library. + if [ -f /etc/init.d/functions ] ; then +@@ -90,6 +104,9 @@ + reload) + restart + ;; ++ force-reload) ++ restart ++ ;; + status) + rhstatus + ;; diff --git a/aiccu.spec b/aiccu.spec new file mode 100644 index 0000000..3074bd4 --- /dev/null +++ b/aiccu.spec @@ -0,0 +1,130 @@ +############################################################ +# AICCU - Automatic IPv6 Connectivity Client Utility +# by Jeroen Massar +# (c) Copyright 2003-2005 SixXS +############################################################ +# AICCU RPM Spec File +############################################################ + +Summary: SixXS Automatic IPv6 Connectivity Client Utility +Name: aiccu +Version: 2007.01.15 +Release: 6%{?dist} +License: BSD +Group: System Environment/Daemons +URL: http://www.sixxs.net/tools/aiccu/ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Source: http://www.sixxs.net/archive/sixxs/aiccu/unix/aiccu_20070115.tar.gz +Patch0: aiccu-lsb-initscript.patch +Patch1: aiccu-cloexec.patch +BuildRequires: gnutls-devel +Requires: iproute +Requires(post): chkconfig +Requires(preun): chkconfig, initscripts +Requires(postun): initscripts + +%description +This client automatically gives one IPv6 connectivity +without having to manually configure interfaces etc. +One does need a SixXS account and at least a tunnel. These +can be freely & gratis requested from the SixXS website. +For more information about SixXS check http://www.sixxs.net + +%prep +%setup -q -n %{name} +%patch0 -p1 +%patch1 -p1 + +# fix executable permissions on non-executable content +# so debuginfo can pick them up properly +find . -type f -not -name rules -and -not -name *init* -exec chmod a-x \{\} \; + +%build +make %{?_smp_mflags} RPM_OPT_FLAGS="$RPM_OPT_FLAGS" + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT + +%post +if [ "$1" = "1" ]; then + /sbin/chkconfig --add aiccu +fi + +%preun +if [ "$1" = "0" ]; then + /sbin/service aiccu stop >/dev/null 2>&1 + /sbin/chkconfig --del aiccu +fi + +%postun +/sbin/service aiccu condrestart > /dev/null 2>&1 || : + +%clean +make clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc doc/README doc/LICENSE +%{_sbindir}/aiccu +# aiccu.conf contains the users's SixXS password, so don't +# make it readable by non-root +%attr(600, root,root) %config(noreplace) %{_sysconfdir}/aiccu.conf +%{_sysconfdir}/init.d/aiccu + +%changelog +* Mon Feb 23 2009 Fedora Release Engineering - 2007.01.15-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Oct 17 2008 Matt Domsch - 2007.01.15-5 +- close file descriptors on exec (BZ#467381) + +* Tue Jun 24 2008 Tomas Mraz 2007.01.15-4 +- rebuild with new gnutls + +* Fri Sep 21 2007 Matt Domsch 2007.01.15-3 +- add LSB initscript header (BZ#246861) + +* Wed Sep 19 2007 Matt Domsch 2007.01.15-2 +- rebuild + +* Wed Jan 31 2007 Matt Domsch 2007.01.15-1 +- upgrade to latest upstream + +* Sat Jan 13 2007 Matt Domsch 2007.01.07-2 +- upstream respun their release with the same version number to fix AYIYA. + +* Sun Jan 07 2007 Matt Domsch 2007.01.07-1 +- upgrade to latest upstream 2007.01.07 + - license change to BSD 3-clause + - Fixed up silly linux bug, adding LL address to tunnels but not to tun/taps. + - local_ipv4_override option so one can use AICCU behind a NAT that + has been configured correctly to do proto-41 forwarding. This is + usually called a DMZ setup. + +* Mon Oct 02 2006 Matt Domsch 2006.07.25-2 +- rebuilt + +* Sat Sep 23 2006 Matt Domsch 2006.07.25-1 +- upgrade to latest upstream, drop all applied patches +- add BR gnutls-devel now used for obtaining tunnel info + +* Sat Sep 2 2006 Matt Domsch 2005.01.31-5 +- rebuild + +* Wed Jun 28 2006 Matt Domsch 2005.01.31-4 +- export CFLAGS properly, fix permissions on files for debuginfo + +* Wed Jun 28 2006 Matt Domsch 2005.01.31-3 +- cleanups per Fedora Extras review + +* Sat Apr 22 2006 Matt Domsch 2005.01.31-2 +- match Fedora Extras spec guidelines +- add postun condrestart +- add reload initscript arg to satisfy rpmlint + +* Sun Aug 29 2004 Jeroen Massar 2004.08.29 +- Beta2 with TIC, 6in4, 6in4-heartbeat and AYIYA support + diff --git a/dead.package b/dead.package deleted file mode 100644 index 4d9c667..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -aiccu relied on the SiXXS IPv6 tunnel service, which was retired on 2017-06-06. diff --git a/sources b/sources new file mode 100644 index 0000000..66058a1 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +c9bcc83644ed788e22a7c3f3d4021350 aiccu_20070115.tar.gz