+etc/init.d
#etc/rc.d
#etc/rc.d/helper
etc/rc.d/helper/getdnsfromdhcpc.pl
#etc/ipsec.d/policies/private-or-clear
#etc/ipsec.d/private
etc/ipsec.secrets
-#etc/rc.d/init.d/ipsec
+etc/rc.d/init.d/ipsec
#etc/rc.d/rc0.d/K76ipsec
#etc/rc.d/rc1.d
#etc/rc.d/rc1.d/K76ipsec
* ethtool-3
* expat-2.0.0
* ez-ipupdate-3.0.11b8
+* fcdsl-suse93-3.11-07
+* fcdsl2-suse93-3.11-07
+* fcdslsl-suse93-3.11-07
+* fcdslslusb-suse93-3.11-05
+* fcdslusb-suse93-3.11-07
+* fcpci-suse93-3.11-07
* fcron-3.0.1
* fetchmail-6.3.4
* ffmpeg-20051126
open(SECRETS, ">${General::swroot}/vpn/ipsec.secrets") or die "Unable to open ${General::swroot}/vpn/ipsec.secrets: $!";
flock CONF, 2;
flock SECRETS, 2;
+ print CONF "version 2\n\n";
print CONF "config setup\n";
if ($lvpnsettings{'ENABLED_BLUE'} eq 'on')
{
$plutodebug = 'none' if $plutodebug eq ''; # if nothing selected, use 'none'.
print CONF "\tklipsdebug=none\n";
print CONF "\tplutodebug=\"$plutodebug\"\n";
- print CONF "\tplutoload=%search\n";
- print CONF "\tplutostart=%search\n";
+ # deprecated in ipsec.conf version 2
+ #print CONF "\tplutoload=%search\n";
+ #print CONF "\tplutostart=%search\n";
print CONF "\tuniqueids=yes\n";
print CONF "\tnat_traversal=yes\n";
print CONF "\toverridemtu=$lvpnsettings{'VPN_OVERRIDE_MTU'}\n" if ($lvpnsettings{'VPN_OVERRIDE_MTU'} ne '');
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 2003-10-22
-
-THISAPP = 3cp4218-$(VER)
-DL_FILE = $(THISAPP)-src.tgz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/3cp4218
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 7a6a8162b9ddc14be814ee59dc3a78ea
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-else
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)-smp/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-endif
- if [ "$(MACHINE)" = "alpha" ]; then \
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i -e 's/-march=$$(DEST_MACHINE)//' $$i; \
- done; \
- fi
- cd $(DIR_APP) && make CC="$(KGCC)" 3COM_MODULE2
-ifeq "$(SMP)" ""
- rm -f /lib/modules/$(KVER)/kernel/drivers/usb/3cp4218dbg.o
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
- cd $(DIR_APP) && make 3COM_INIT 3COM_FIRMWARE
-else
- rm -f /lib/modules/$(KVER)-smp/kernel/drivers/usb/3cp4218dbg.o
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
# URLs that are common sources of downloads. If you're having trouble with
# a site you should change its URL to that of a suitable mirror site.
#
-URL_CPAN = http://www.cpan.org/modules/by-module
-URL_AGNU = ftp://alpha.gnu.org/gnu
-URL_DEBIAN = http://http.us.debian.org/debian/pool/main
-URL_GNU = http://ftp.gnu.org/gnu
-URL_KERNEL = http://www.kernel.org/pub
-URL_TUE = ftp://ftp.win.tue.nl/pub
-URL_LFS_FTP = http://ftp.at.linuxfromscratch.org/pub/lfs/lfs-packages/5.1.1
-URL_LFS = http://www.linuxfromscratch.org/patches/downloads
-URL_SFNET = http://kent.dl.sourceforge.net/sourceforge
URL_IPFIRE = http://source.ipfire.eu/othersrc
URL_TOOLCHAIN = http://source.ipfire.eu/toolchain
URL_IPCOP = http://ipcop.ath.cx
DIR_CHK = $(LFS_BASEDIR)/cache/check
DIR_CONF = $(LFS_BASEDIR)/config
DIR_INFO = $(LFS_BASEDIR)/log
-DIR_TMP = /var/tmp
+DIR_TMP = /tmp
KGCC = gcc
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 2004-08-04
-
-THISAPP = amedyn-$(VER)
-DL_FILE = $(THISAPP)-src.tgz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/amedyn
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 90bebc4423f7982d22e5d47ea4b7b910
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-else
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)-smp/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-endif
- if [ "$(MACHINE)" = "alpha" ]; then \
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i -e 's/-march=$$(DEST_MACHINE)//' $$i; \
- done; \
- fi
- cd $(DIR_APP) && sed -i -e 's/usr\/sbin/usr\/bin/' bridged/Makefile
- cd $(DIR_APP) && make CC="$(KGCC)" AME_MODULE
-ifeq "$(SMP)" ""
- rm -f /lib/modules/$(KVER)/kernel/drivers/usb/amedyndbg.o
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
- cd $(DIR_APP) && make AME_INIT AME_FIRMWARE BRIDGED
-else
- rm -f /lib/modules/$(KVER)-smp/kernel/drivers/usb/amedyndbg.o
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = cln
-THISAPP = CnxADSL-TgrATM$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_IPFIRE)
-# This package was send to me by mail and I have nothing changed to the original .tar.gz.
-# Even it has the same name as the package available for download in his web-site, it is very different
-# I hope it will be available for download in his site a day and that a proper name will allow to clearly differentiate
-# each version.
-DIR_APP = $(DIR_SRC)/CnxADSL-TgrATM_k2.4.3-6.1.2.007CLN
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)-20041004
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-20041004-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 062afa889d23b2ea3a11938cdf2abd8d
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xzf $(DIR_DL)/$(DL_FILE) -C /
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/CnxADSL-cln-irqreturn.patch
- cd $(DIR_APP)/KernelModule && ln -sf Makefile24 Makefile
-ifeq "$(SMP)" ""
- sed -i -e 's/depmod -av//' \
- -e 's%^CC.*$$%CC=$(KGCC)%' $(DIR_APP)/KernelModule/Makefile*
- cd $(DIR_APP) && make KERNVER=$(KVER) -C KernelModule
- cd $(DIR_APP) && make KERNVER=$(KVER) -C KernelModule install
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
-
- sed -i -e 's%/usr/bin.*$$%/usr/sbin%' $(DIR_APP)/DownLoadApp/Makefile
- sed -i -e 's%CnxTgF.hex.*$$%firmware.hex%' $(DIR_APP)/DownLoadApp/cnxadsl.conf
- cd $(DIR_APP) && make -C DownLoadApp
- cd $(DIR_APP) && make -C DownLoadApp install
-else
- sed -i -e 's/depmod -av//' \
- -e 's%^CC.*$$%CC=$(KGCC)%' $(DIR_APP)/KernelModule/Makefile*
- cd $(DIR_APP) && make KERNVER=$(KVER)-smp -C KernelModule
- cd $(DIR_APP) && make KERNVER=$(KVER)-smp -C KernelModule install
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 2003-10-05
-
-THISAPP = cxacru-$(VER)
-DL_FILE = $(THISAPP)-src.tgz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/cxacru
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = e1b42c77ee51dd58e2f93c83625ea3ff
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-else
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i \
- -e 's/$$(shell uname -m)/$(MACHINE)/' \
- -e 's/$$(shell uname -r)/$(KVER)-smp/' \
- -e 's%^.*DEST_KERNEL_MAIN =.*$$%DEST_KERNEL_MAIN = 2.4%' \
- -e 's/depmod -a//' $$i; \
- done
-endif
- if [ "$(MACHINE)" = "alpha" ]; then \
- cd $(DIR_APP) && for i in Makefile */Makefile; do \
- sed -i -e 's/-march=$$(DEST_MACHINE)//' $$i; \
- done; \
- fi
- cd $(DIR_APP) && make CC="$(KGCC)" CX_MODULE2
-ifeq "$(SMP)" ""
- rm -f /lib/modules/$(KVER)/kernel/drivers/usb/cxacrudbg.o
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
- cd $(DIR_APP) && make CX_INIT CX_FIRMWARE
-else
- rm -f /lib/modules/$(KVER)-smp/kernel/drivers/usb/cxacrudbg.o
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: eagle,v 1.19.2.19 2005/07/28 07:01:26 gespinasse Exp $
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 2.3.2
-THISAPP = eagle-usb-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
-DL_FROM = $(URL_SFNET)/eagle-usb
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 91727db818e5170b2d78a99ee51c2d58
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure --exec-prefix=/usr --enable-cmvs
- if [ "$(MACHINE)" = "alpha" ]; then \
- cd $(DIR_APP) && sed -i -e 's/-mpreferred-stack-boundary=2/-ffixed-8 -mno-fp-regs/' driver/Makefile-2.4; \
- fi
- cd $(DIR_APP) && sed -i -e 's/depmod -a/echo/' driver/Makefile-2.4
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && CC="$(KGCC)" make -C driver
- cd $(DIR_APP) && CC="$(KGCC)" make -C driver install
- find /lib/modules/$(KVER)/misc -name '*.o' -a -type f | xargs gzip -f9
- chown -R 99:99 $(CONFIG_ROOT)/eagle-usb/
- cd $(DIR_APP) && make -C pppoa
- cd $(DIR_APP) && make -C pppoa install
- rename .txt WO.txt /etc/eagle-usb/{CMVep.txt,CMVei.txt}
- # fix CRLF for CMV decoding (this was the reason for isdn failure)
- cd $(DIR_APP) && sed -i -e 's/\r//g' /etc/eagle-usb/CMV*.txt
-else
- cd $(DIR_APP) && CC="$(KGCC)" CONFIG_SMP=1 make -C driver
- mkdir -p /lib/modules/$(KVER)-smp/misc
- cd $(DIR_APP)/driver && install -c -m 0664 eagle-usb.o /lib/modules/$(KVER)-smp/misc
- find /lib/modules/$(KVER)-smp/misc -name '*.o' -a -type f | xargs gzip -f9
-endif
- rm -rf $ /etc/eagle-usb/scripts
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
# Makefiles are based on LFSMake, which is #
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: fcdsl,v 1.11.2.11 2005/02/05 15:38:14 gespinasse Exp $
-# #
###############################################################################
###############################################################################
include Config
-VER = suse8.2-03.11.02
+VER = suse93-3.11-07
THISAPP = fcdsl-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.dsl/linux/suse.82
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/fritz
+
ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
+ TARGET = $(DIR_INFO)/$(THISAPP)
else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
+ TARGET = $(DIR_INFO)/$(THISAPP)-smp
endif
###############################################################################
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f53974640e856d362c351f5aca5bd749
+$(DL_FILE)_MD5 = 1a9add374a35d5c9e3c1784104e2907b
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdsl-singlelock.patch
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)/' Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)-smp/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)-smp/' Makefile
endif
- cd $(DIR_APP) && CC="$(KGCC)" make
- cd $(DIR_APP) && CC="$(KGCC)" make install
+ cd $(DIR_APP) && make CC=$(CC)
+ cd $(DIR_APP) && make CC=$(CC) install
ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-mkdir /usr/lib/isdn
cd $(DIR_APP) && install -m 0644 fdslbase.bin /usr/lib/isdn
-mkdir /etc/fcdsl
echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdsl.conf
echo "fcdsl fdslbase.bin - - - - -" >> /etc/fcdsl/fcdsl.conf
- -mkdir -p /install/images/fcdsl
- cd $(DIR_APP) && cp license.txt /install/images/fcdsl
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
endif
@rm -rf $(DIR_APP)
@$(POSTBUILD)
# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
# - Modified Makefile for IPCop build #
# #
-# $Id: fcdsl2,v 1.1.2.6 2005/02/05 15:38:14 gespinasse Exp $
+# $Id: fcdsl2,v 1.9 2006/04/30 23:15:05 chepati Exp $
# #
###############################################################################
include Config
-VER = suse9.0-03.11.04
+VER = suse93-3.11-07
THISAPP = fcdsl2-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.dsl_v20/linux/suse.90/
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/fritz
+
ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
+ TARGET = $(DIR_INFO)/$(THISAPP)
else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
+ TARGET = $(DIR_INFO)/$(THISAPP)-smp
endif
###############################################################################
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5e3a4cbd542ba298a4ce2ad58d789c49
+$(DL_FILE)_MD5 = ba368e577418e181cffa7c69f960a8eb
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslx-irqreturn.patch
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
+ #cd $(DIR_APP)/src && patch -Np2 < $(DIR_SRC)/src/patches/fcdslx-irqreturn.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)/' Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)-smp/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)-smp/' Makefile
endif
- cd $(DIR_APP) && CC="$(KGCC)" make
- cd $(DIR_APP) && CC="$(KGCC)" make install
+ cd $(DIR_APP) && make CC=$(CC)
+ cd $(DIR_APP) && make CC=$(CC) install
+
ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-mkdir /usr/lib/isdn
cd $(DIR_APP) && install -m 0644 fds2base.bin /usr/lib/isdn
-mkdir /etc/fcdsl
- echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdsl2.conf
- echo "fcdsl2 fds2base.bin - - - - -" >> /etc/fcdsl/fcdsl2.conf
+ echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdsl2.conf
+ echo "fcdsl2 fds2base.bin - - - - -" >> /etc/fcdsl/fcdsl2.conf
-mkdir /etc/drdsl # install drdsl.ini from a 3.11.4 version as it has more lines than previous versions
cd $(DIR_APP) && install -m 0644 drdsl.ini /etc/drdsl
cd $(DIR_APP) && install -m 0755 drdsl /etc/drdsl
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
endif
@rm -rf $(DIR_APP)
@$(POSTBUILD)
# Makefiles are based on LFSMake, which is #
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: fcdslsl,v 1.1.2.4 2005/02/05 15:38:14 gespinasse Exp $
-# #
###############################################################################
###############################################################################
include Config
-VER = suse8.2-03.11.02
+VER = suse93-3.11-07
THISAPP = fcdslsl-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.dsl_sl/linux/suse.82/
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/fritz
+
ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
+ TARGET = $(DIR_INFO)/$(THISAPP)
else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
+ TARGET = $(DIR_INFO)/$(THISAPP)-smp
endif
###############################################################################
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 12d9e6780de20fcd7fbda29a4bc87897
+$(DL_FILE)_MD5 = f643737bb96d83aa57b95ced30a7d4b8
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslx-irqreturn.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslsl-singlelock.patch
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)/' Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e 's/`uname -r`/$(KVER)-smp/' \
-e 's/^\(CCFLAGS.*\)$$/\1 \\/' \
-e '\+^CCFLAGS+a\ \
- -include \$$(KRNLINCL)/linux/modversions.h' \
+ -include \$$(KRNLINCL)/config/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
+ cd $(DIR_APP) && sed -i -e 's/$$(shell uname -r)/$(KVER)-smp/' Makefile
endif
- cd $(DIR_APP) && CC="$(KGCC)" make
- cd $(DIR_APP) && CC="$(KGCC)" make install
+ cd $(DIR_APP) && make CC=$(CC)
+ cd $(DIR_APP) && make CC=$(CC) install
ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-mkdir /usr/lib/isdn
cd $(DIR_APP) && install -m 0644 fdssbase.bin /usr/lib/isdn
-mkdir /etc/fcdsl
echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdslsl.conf
echo "fcdslsl fdssbase.bin - - - - -" >> /etc/fcdsl/fcdslsl.conf
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
endif
@rm -rf $(DIR_APP)
@$(POSTBUILD)
# Makefiles are based on LFSMake, which is #
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: fcdslslusb,v 1.1.2.4 2005/02/05 15:38:14 gespinasse Exp $
-# #
###############################################################################
###############################################################################
include Config
-VER = suse8.2-03.11.04
+VER = suse93-3.11-05
THISAPP = fcdslslusb-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.dsl_sl_usb/linux/suse.82/
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/fritz
ifeq "$(SMP)" ""
TARGET = $(DIR_INFO)/$(THISAPP)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 73f123817bc13a6fd0d6b6b762029efa
+$(DL_FILE)_MD5 = b54828edf784767f27954f3af4faff20
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslx-irqreturn.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslslusb-singlelock.patch
+ #cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslx-irqreturn.patch
+ #cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fcdslslusb-singlelock.patch
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
+ cd $(DIR_APP)/src && patch -Np0 < $(DIR_SRC)/src/patches/fritz-fcdslusb-owner.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
endif
cd $(DIR_APP) && CC="$(KGCC)" make
cd $(DIR_APP) && CC="$(KGCC)" make install
ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-mkdir /usr/lib/isdn
cd $(DIR_APP) && install -m 0644 fdlubase.frm /usr/lib/isdn
-mkdir /etc/fcdsl
echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdslslusb.conf
echo "fcdslslusb fdlubase.frm - - - - -" >> /etc/fcdsl/fcdslslusb.conf
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
endif
@rm -rf $(DIR_APP)
@$(POSTBUILD)
# Makefiles are based on LFSMake, which is #
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: fcdslusb,v 1.1.2.4 2005/02/05 15:38:14 gespinasse Exp $
-# #
###############################################################################
###############################################################################
include Config
-VER = suse8.2-03.11.02
+VER = suse93-3.11-07
THISAPP = fcdslusb-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.dsl_usb/linux/suse.82
-DIR_APP = $(DIR_SRC)/fritz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/fritz/1/fritz
ifeq "$(SMP)" ""
TARGET = $(DIR_INFO)/$(THISAPP)
else
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 1f49549e55cf1e6a0ff91395e4c6cee2
+$(DL_FILE)_MD5 = 9f68323005c54c26a11b81803397fa6d
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
+ cd $(DIR_APP)/src && patch -Np0 < $(DIR_SRC)/src/patches/fritz-fcdslusb-owner.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
endif
cd $(DIR_APP) && CC="$(KGCC)" make
cd $(DIR_APP) && CC="$(KGCC)" make install
ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-mkdir /usr/lib/isdn
cd $(DIR_APP) && install -m 0644 fdsubase.frm /usr/lib/isdn
-mkdir /etc/fcdsl
echo "# card file proto io irq mem cardnr options" > /etc/fcdsl/fcdslusb.conf
echo "fcdslusb fdsubase.frm - - - - -" >> /etc/fcdsl/fcdslusb.conf
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
endif
@rm -rf $(DIR_APP)
@$(POSTBUILD)
include Config
-VER = suse8.2-03.11.02
+VER = suse93-3.11-07
THISAPP = fcpci-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = ftp://ftp.avm.de/cardware/fritzcrd.pci/linux/suse.82
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/fritz
ifeq "$(SMP)" ""
TARGET = $(DIR_INFO)/$(THISAPP)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 70821234398c08b1ec09fce16e2bac40
+$(DL_FILE)_MD5 = 3ee301b5d0e8df9e4b915af58b725556
install : $(TARGET)
md5 : $(subst %,%_MD5,$(objects))
-#dist:
-# make-packages.sh fcpci $(THISAPP)-ipfire-beta-1
-
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP)/src.drv && patch -Np1 < $(DIR_SRC)/src/patches/fcpci-suse8.2-03.11.02-compiler.patch
+ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/fritz-dsl-gcc-4-fix.patch
ifeq "$(SMP)" ""
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
else
cd $(DIR_APP) && sed -i \
-e 's/$$(shell uname -m)/$(MACHINE)/' \
-e '\+^CCFLAGS+a\ \
-include \$$(KRNLINCL)/linux/modversions.h' \
-e '/^DEFINES/a\ \
- -DMODVERSIONS \\' src.drv/makefile
+ -DMODVERSIONS \\' src/Makefile
endif
cd $(DIR_APP) && CC="$(KGCC)" make
cd $(DIR_APP) && CC="$(KGCC)" make install
-ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/misc/ -name '*.o' -a -type f | xargs gzip -f9
-else
- find /lib/modules/$(KVER)-smp/misc/ -name '*.o' -a -type f | xargs gzip -f9
-endif
-# @rm -rf $(DIR_APP)
- @$(POSTBUILD)
\ No newline at end of file
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
install -d -m 755 /etc/rc.d/init.d
install -d -m 755 /etc/rc.d/helper
install -d -m 755 /etc/sysconfig
+ ln -svf rc.d/init.d /etc/init.d
for i in $(DIR_SRC)/src/initscripts/init.d/*; do \
install -v -m 754 $$i /etc/rc.d/init.d/; \
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-# Modifications by: #
-# 17-03-2004 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: pulsar,v 1.1.2.18 2006/08/23 07:03:38 gespinasse Exp $
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 4.0.21
-
-THISAPP = pulsar-$(VER)
-DL_FILE = $(THISAPP).tgz
-DL_FROM = $(URL_SFNET)/openadsl
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = a78649a0d9a0791edab6a43f3083f1fb
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && mv libpulsar_fw3.a libpulsar_fw.a
- cd $(DIR_APP) && cp makefile.2.4 makefile
- cd $(DIR_APP) && sed -i \
- -e 's%-falign-loops=2 -falign-jumps=2 -falign-functions=2%-DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h%' makefile
- cd $(DIR_APP) && make clean
- cd $(DIR_APP) && make pulsar_atm.o
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && install pulsar_atm.o /lib/modules/$(KVER)/misc/pulsar.o
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
-else
- cd $(DIR_APP) && install pulsar_atm.o /lib/modules/$(KVER)-smp/misc/pulsar.o
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: speedtouch,v 1.3.2.8 2005/02/05 15:38:15 gespinasse Exp $
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 1.2
-
-THISAPP = speedtouch-$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_SFNET)/speedtouch
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = fe932b2f5d2dd7b5eb4c7dbb9ec6e192
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
- cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/speedtouch-1.2-isdn.patch
- cd $(DIR_APP) && make
- cd $(DIR_APP) && make install
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
+++ /dev/null
-###############################################################################
-# This file is part of the IPCop Firewall. #
-# #
-# IPCop is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPCop is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with IPCop; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
-# #
-# Makefiles are based on LFSMake, which is #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
-# #
-# Modifications by: #
-# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
-# - Modified Makefile for IPCop build #
-# #
-# $Id: unicorn,v 1.13.2.9 2006/08/23 07:03:38 gespinasse Exp $
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 0.9.3
-
-THISAPP = bast-$(VER)
-DL_FILE = A1012-A1006-A904-A888-A983-$(VER).tgz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/unicorn
-ifeq "$(SMP)" ""
- TARGET = $(DIR_INFO)/$(THISAPP)
-else
- TARGET = $(DIR_INFO)/$(THISAPP)-smp
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = ff9829f03168279a079d05aea780ee99
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(SMP)" ""
- cd $(DIR_APP) && make PATCHLEVEL=4 KVERS=$(KVER) modules
- cd $(DIR_APP) && make KVERS=$(KVER) only_modules_install
-else
- cd $(DIR_APP) && make PATCHLEVEL=4 KVERS=$(KVER)-smp modules
- cd $(DIR_APP) && make KVERS=$(KVER)-smp only_modules_install
-endif
-ifeq "$(SMP)" ""
- find /lib/modules/$(KVER)/ -name '*.o' -a -type f | xargs gzip -f9
- cd $(DIR_APP)/tools && sed -i 's%^prefix=.*$$%prefix=/usr%' Makefile
- cd $(DIR_APP)/tools && make unicorn_status oam_ping
- cd $(DIR_APP)/tools && make install
-else
- find /lib/modules/$(KVER)-smp/ -name '*.o' -a -type f | xargs gzip -f9
-endif
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
ipfiremake unzip
ipfiremake linux SMP=1
ipfiremake ipp2p SMP=1
-# ipfiremake 3cp4218 SMP=1
-# ipfiremake amedyn SMP=1
-# ipfiremake cxacru SMP=1
-# ipfiremake eagle SMP=1
-# ipfiremake cnx_pci SMP=1
-# ipfiremake fcdsl SMP=1
-# ipfiremake fcdsl2 SMP=1
-# ipfiremake fcdslsl SMP=1
-# ipfiremake fcdslusb SMP=1
-# ipfiremake fcdslslusb SMP=1
-# ipfiremake fcpci SMP=1
-# ipfiremake fcclassic SMP=1
-# ipfiremake pulsar SMP=1
-# ipfiremake unicorn SMP=1
+ ipfiremake fcdsl SMP=1
+ ipfiremake fcdsl2 SMP=1
+ ipfiremake fcdslsl SMP=1
+ ipfiremake fcdslusb SMP=1
+ ipfiremake fcdslslusb SMP=1
+ ipfiremake fcpci SMP=1
# ipfiremake promise-sata-300-tx SMP=1
ipfiremake zaptel PASS=S
ipfiremake linux
ipfiremake ipp2p
-# ipfiremake 3cp4218
-# ipfiremake amedyn
-# ipfiremake cxacru
-# ipfiremake eciadsl
-# ipfiremake eagle
-# ipfiremake speedtouch
-# ipfiremake cnx_pci
-# ipfiremake fcdsl
-# ipfiremake fcdsl2
-# ipfiremake fcdslsl
-# ipfiremake fcdslusb
-# ipfiremake fcdslslusb
-# ipfiremake fcpci
-# ipfiremake fcclassic
-# ipfiremake pulsar
-# ipfiremake unicorn
+ ipfiremake fcdsl
+ ipfiremake fcdsl2
+ ipfiremake fcdslsl
+ ipfiremake fcdslusb
+ ipfiremake fcdslslusb
+ ipfiremake fcpci
# ipfiremake promise-sata-300-tx
ipfiremake zaptel
ipfiremake expat
#
# (c) The SmoothWall Team
#
-# $Id: rc.red,v 1.29.2.56 2005/12/17 08:49:01 gespinasse Exp $
-
# Clean up our environment (we're running SUID!)
delete @ENV{qw(IFS CDPATH ENV BASH_ENV PATH)};
system('/sbin/modprobe', '-r', 'br2684');
system('/sbin/modprobe', '-r', 'clip');
- if ($pppsettings{'TYPE'} ne '3cp4218usbadsl') { system('/sbin/modprobe', '-r', '3cp4218');}
- if ($pppsettings{'TYPE'} ne 'alcatelusbk') { system('/sbin/modprobe', '-r', 'speedtch');}
- if ($pppsettings{'TYPE'} ne 'amedynusbadsl') { system('/sbin/modprobe', '-r', 'amedyn');}
- if ($pppsettings{'TYPE'} ne 'bewanadsl') {
- system('/sbin/modprobe', '-r', 'unicorn_pci_atm', 'unicorn_usb_atm');}
- if ($pppsettings{'TYPE'} ne 'conexantpciadsl') { system('/sbin/modprobe', '-r', 'CnxADSL');}
- if ($pppsettings{'TYPE'} ne 'conexantusbadsl') { system('/sbin/modprobe', '-r', 'cxacru');}
- if ($pppsettings{'TYPE'} ne 'eagleusbadsl') { system('/sbin/modprobe', '-r', 'eagle-usb');}
if ($pppsettings{'TYPE'} ne 'fritzdsl') {
system('/sbin/modprobe', '-r', 'fcdsl', 'fcdsl2', 'fcdslsl', 'fcdslusb', 'fcdslslusb');}
- if ($pppsettings{'TYPE'} ne 'pulsardsl') { system('/sbin/modprobe', '-r', 'pulsar');}
sleep 1;
- if ($pppsettings{'TYPE'} !=~ /^(3cp4218usbadsl|alcatelusbk|amedynusbadsl|bewanadsl|conexantpciadsl|pulsardsl)$/) {
- system('/sbin/modprobe', '-r', 'atm');
# remove existing default route (for static address) if it was been changed from setup or web interface SF1175052
system ('/sbin/route del default 2>/dev/null');
if ($ARGV[0] eq 'start') {
if (-e "${General::swroot}/red/active" ||
- -e '/var/run/ppp-ipcop.pid')
+ -e '/var/run/ppp-ipfire.pid')
{
&General::log ("ERROR: Can't start RED when it's still active");
exit 1;
}
if ($pppsettings{'TYPE'} eq 'modem') { &domodemdial(); }
- elsif ($pppsettings{'TYPE'} eq 'serial') { &doserialdial(); }
+ elsif ($pppsettings{'TYPE'} eq 'serial') { &doserialdial(); }
elsif ($pppsettings{'TYPE'} eq 'isdn') { &doisdndial(); }
- elsif ($pppsettings{'TYPE'} eq 'pppoe') { &dopppoedial(); }
+ elsif ($pppsettings{'TYPE'} eq 'pppoe') { &dopppoedial(); }
elsif ($pppsettings{'TYPE'} eq 'pptp') { &dopptpdial(); }
- elsif ($pppsettings{'TYPE'} eq 'alcatelusbk') { &doalcatelusbkdial(); }
- elsif ($pppsettings{'TYPE'} eq 'alcatelusb') { &doalcatelusbdial(); }
- elsif ($pppsettings{'TYPE'} eq 'pulsardsl') { &dopulsardsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'eciadsl') { &doeciadsldial(); }
elsif ($pppsettings{'TYPE'} eq 'fritzdsl') { &dofritzdsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'bewanadsl') { &dobewanadsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') { &doeagleusbadsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'conexantusbadsl') { &doconexantusbadsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') { &doconexantpciadsldial(); }
- elsif ($pppsettings{'TYPE'} eq 'amedynusbadsl') { &doamedynusbadsldial(); }
- elsif ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { &do3cp4218usbadsldial(); }
if (-e "${General::swroot}/ppp/updatesettings") {
# erase update mark only after specific script had run, allowing specific script to treat the update
unlink "${General::swroot}/red/redial";
# Kill PPPD
- if (open(FILE, "/var/run/ppp-ipcop.pid")) {
+ if (open(FILE, "/var/run/ppp-ipfire.pid")) {
my $pid = <FILE>;
close FILE;
chomp ($pid);
}
if ($pppsettings{'TYPE'} eq 'isdn') { system('/etc/rc.d/rc.isdn','stop'); }
- if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'stop'); }
if ($pppsettings{'TYPE'} eq 'fritzdsl') { system ('/etc/rc.d/rc.fritzdsl','stop'); }
- if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'stop'); }
- if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'stop'); }
if ( ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} eq 'STATIC') ||
( $netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/ && $pppsettings{'PROTOCOL'} eq 'RFC1483' &&
sub docleanup
{
- if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'cleanup'); }
if ($pppsettings{'TYPE'} eq 'fritzdsl') { system ('/etc/rc.d/rc.fritzdsl','cleanup'); }
- if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'cleanup'); }
- if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'cleanup'); }
}
sub domodemdial
'defaultroute','user',$pppsettings{'USERNAME'},
'name',$pppsettings{'USERNAME'},
'active-filter','outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0',
- 'pidfile','/var/run/ppp-ipcop.pid','/dev/ippp0','/dev/ippp1');
+ 'pidfile','/var/run/ppp-ipfire.pid','/dev/ippp0','/dev/ippp1');
if ($pppsettings{'DEBUG'} eq 'on') {
push(@pppcommand, ('debug'));
}
'defaultroute','user',$pppsettings{'USERNAME'},
'name',$pppsettings{'USERNAME'},
'active-filter','outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0',
- 'pidfile','/var/run/ppp-ipcop.pid','/dev/ippp0');
+ 'pidfile','/var/run/ppp-ipfire.pid','/dev/ippp0');
if ($pppsettings{'DEBUG'} eq 'on') {
push(@pppcommand, ('debug'));
}
system (@pppcommand);
}
-sub doalcatelusbdial
-{
- if (system ('/etc/rc.d/rc.alcatelusb','start')) {
- &General::log( "ERROR: Failed to connect to Alcatel USB modem");
- exit 1;
- }
-
- if ($pppsettings{'PROTOCOL'} eq 'RFC1483') {
- if (open(FILE, ">${General::swroot}/red/device")) { print FILE 'tap0'; close FILE; }
- $netsettings{'RED_DEV'} = 'tap0';
- &dopppoedial();
- } else {
- # PPPoA
- my @pppcommand = ('/usr/sbin/pppd', 'pty');
- my @pppoacommand = ('/usr/sbin/pppoa3','-c','-m','1','-vpi',$pppsettings{'VPI'},'-vci',$pppsettings{'VCI'});
-
- push(@pppcommand, "@pppoacommand");
-
- if ($pppsettings{'DNS'} eq 'Automatic') {
- push(@pppcommand, ('usepeerdns'));
- }
- if ($pppsettings{'AUTH'} eq 'pap') {
- push(@pppcommand, ('-chap'));
- } elsif ($pppsettings{'AUTH'} eq 'chap') {
- push(@pppcommand, ('-pap'));
- }
-
- if ($pppsettings{'RECONNECTION'} ne 'persistent') {
- if ($pppsettings{'TIMEOUT'} != 0) {
- my $seconds = $pppsettings{'TIMEOUT'} * 60;
- push(@pppcommand, ('idle', "$seconds"));
- }
- if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
- push (@pppcommand, ('demand','nopersist','connect','/bin/true'));
- }
- push (@pppcommand,
- ('active-filter',
- 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' ));
- }
-
- push(@pppcommand, ('noipdefault', 'defaultroute', 'sync', 'user',
- $pppsettings{'USERNAME'}, 'ipcp-accept-local', 'ipcp-accept-remote', 'passive',
- 'noaccomp', 'nopcomp', 'noccp', 'novj', 'nobsdcomp',
- 'nodeflate', 'lcp-echo-interval', '20', 'lcp-echo-failure', '3',
- 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'}));
- if ($pppsettings{'DEBUG'} eq 'on') {
- push(@pppcommand, ('debug'));
- }
-
- system (@pppcommand);
- }
-}
-
-sub doeciadsldial
-{
- if (system ('/etc/rc.d/rc.eciadsl','start')) {
- &General::log ("ERROR: ECI ADSL failed to start");
- exit 1;
- }
- if ($pppsettings {'PROTOCOL'} eq 'RFC1483') {
- if ($pppsettings {'ENCAP'} =~ /^(0|1)$/) {
- $iface = "tap0";
- } else {
- $iface = "tun0";
- }
-
- if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $iface; close FILE; }
-
- if ($pppsettings {'METHOD'} =~ /^(PPPOE|PPPOE_PLUGIN)$/) {
- if (open(FILE, ">${General::swroot}/red/device")) { print FILE $iface; close FILE; }
- $netsettings{'RED_DEV'} = $iface;
- &dopppoedial();
- } elsif ($pppsettings{'METHOD'} eq 'STATIC') {
- my @staticcommand = ('/sbin/ifconfig');
- push(@staticcommand, ($iface, $pppsettings{'IP'},'netmask', $pppsettings{'NETMASK'}));
- if ($pppsettings{'BROADCAST'} ne '') {
- push(@staticcommand, ('broadcast', $pppsettings{'BROADCAST'}));
- }
- system (@staticcommand);
- system ("/sbin/route","add","default","gw",$pppsettings{'GATEWAY'});
- system ("/bin/touch", "${General::swroot}/red/active");
- if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $iface; close FILE; }
- } elsif ($pppsettings {'METHOD'} eq 'DHCP') {
- # FIXME dhcp does not support tun0 interface (routed IP)
- dodhcpdial($iface,$pppsettings{'DHCP_HOSTNAME'});
- }
- } else {
- # PPPoA
- my ($VID2, $PID2, $CHIP, $ALTP, $ECIMODE);
- open (MODEMS, "/etc/eciadsl/modems.db") or die 'Unable to open modems database.';
- while (my $line = <MODEMS>) {
- $line =~ s/\s*\t+\s*/|/g;
- $line =~ /^(.+)\|(.+)\|(.+)\|(.+)\|(.+)\|(.+)\|(.+)\|(.+)$/;
- if ( $1 eq $pppsettings{'MODEM'} ) {
- $VID2=$4 ; $PID2=$5; $CHIP=$6; $ALTP=$8;
- }
- }
- close (MODEMS);
- if ( $VID2 eq '') {
- &General::log("$pppsettings{'MODEM'} not found in modems.db");
- exit 1;
- }
- if ( $CHIP eq '' ) {
- &General::log ("error in modems.db reading for $pppsettings{'MODEM'}");
- exit 1;
- }
- if ($pppsettings {'ENCAP'} eq '1') {
- $ECIMODE = "LLC_RFC2364";
- } else {
- $ECIMODE = "VCM_RFC2364";
- }
-
- my @pppcommand = ('/usr/sbin/pppd', 'pty');
- my @pppoecicommand = ("/usr/sbin/eciadsl-pppoeci",'-alt', "$ALTP",'-vpi',$pppsettings{'VPI'},'-vci',$pppsettings{'VCI'},
- '-vendor',"0x$VID2",'-product',"0x$PID2",'-mode',$ECIMODE);
- push(@pppcommand, "@pppoecicommand");
-
- if ($pppsettings{'DNS'} eq 'Automatic') {
- push(@pppcommand, ('usepeerdns'));
- }
- if ($pppsettings{'AUTH'} eq 'pap') {
- push(@pppcommand, ('-chap'));
- } elsif ($pppsettings{'AUTH'} eq 'chap') {
- push(@pppcommand, ('-pap'));
- }
-
- if ($pppsettings{'RECONNECTION'} ne 'persistent') {
- if ($pppsettings{'TIMEOUT'} != 0) {
- my $seconds = $pppsettings{'TIMEOUT'} * 60;
- push(@pppcommand, ('idle', "$seconds"));
- }
- if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
- push (@pppcommand, ('demand','nopersist','connect','/bin/true'));
- }
- push (@pppcommand,
- ('active-filter',
- 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' ));
- }
-
- push(@pppcommand, ('noipdefault', 'defaultroute', 'sync', 'user',
- $pppsettings{'USERNAME'}, 'ipcp-accept-local', 'ipcp-accept-remote', 'passive',
- 'noaccomp', 'nopcomp', 'noccp', 'novj', 'nobsdcomp',
- 'nodeflate', 'lcp-echo-interval', '20', 'lcp-echo-failure', '3',
- 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'}));
- if ($pppsettings{'DEBUG'} eq 'on') {
- push(@pppcommand, ('debug'));
- }
-
- system (@pppcommand);
- }
-}
-
sub dofritzdsldial
{
my $controller;
system (@pppcommand);
}
-sub doeagleusbadsldial
-{
- if (system ('/etc/rc.d/rc.eagleusbadsl','start')) {
- &General::log ("ERROR: EAGLE-USB ADSL MODEM failed to start");
- exit 1;
- }
- $iface=`/usr/sbin/eaglectrl -i 2>/dev/null | /usr/bin/tr -d '\012'`;
- $iface =~ /([a-zA-Z0-9]*)/; $iface = $1;
-
- if ($pppsettings {'PROTOCOL'} eq 'RFC1483') {
- if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $iface; close FILE; }
- if ($pppsettings {'METHOD'} =~ /^(PPPOE|PPPOE_PLUGIN)$/) {
- if (open(FILE, ">${General::swroot}/red/device")) { print FILE $iface; close FILE; }
- $netsettings{'RED_DEV'} = $iface;
- &dopppoedial();
- } elsif ($pppsettings{'METHOD'} eq 'STATIC') {
- my @staticcommand = ('/sbin/ifconfig');
- push(@staticcommand, ($iface, $pppsettings{'IP'},'netmask', $pppsettings{'NETMASK'}));
- if ($pppsettings{'BROADCAST'} ne '') {
- push(@staticcommand, ('broadcast', $pppsettings{'BROADCAST'}));
- }
- system (@staticcommand);
- system ("/sbin/route","add","default","gw",$pppsettings{'GATEWAY'});
- system ("/bin/touch", "${General::swroot}/red/active");
- } elsif ($pppsettings {'METHOD'} eq 'DHCP') {
- dodhcpdial($iface,$pppsettings{'DHCP_HOSTNAME'});
- }
- } else {
- # PPPoA
- if (open(FILE, ">${General::swroot}/red/device")) { print FILE $iface; close FILE; }
- $netsettings{'RED_DEV'} = $iface;
- my @pppcommand = ('/usr/sbin/pppd','pty');
- push(@pppcommand,"/usr/sbin/pppoa -I $iface ");
-
- if ($pppsettings{'DNS'} eq 'Automatic') { push(@pppcommand, ('usepeerdns'));}
-
- if ($pppsettings{'AUTH'} eq 'pap') {
- push(@pppcommand, ('-chap'));
- } elsif ($pppsettings{'AUTH'} eq 'chap') {
- push(@pppcommand, ('-pap'));
- }
-
- if ($pppsettings{'RECONNECTION'} ne 'persistent') {
- if ($pppsettings{'TIMEOUT'} != 0) {
- my $seconds = $pppsettings{'TIMEOUT'} * 60;
- push(@pppcommand, ('idle', "$seconds"));
- }
- if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
- push (@pppcommand, ('demand','nopersist','connect','/bin/true'));
- }
- push (@pppcommand,
- ('active-filter',
- 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' ));
- }
- push(@pppcommand, ('noipdefault', 'defaultroute', 'user',
- $pppsettings{'USERNAME'}, 'ipcp-accept-local', 'ipcp-accept-remote', 'passive',
- 'noaccomp', 'nopcomp', 'noccp', 'novj', 'nobsdcomp',
- 'nodeflate', 'lcp-echo-interval', '20', 'lcp-echo-failure', '3',
- 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'}));
-
- if ($pppsettings{'DEBUG'} eq 'on') {
- push(@pppcommand, ('debug'));
- }
-
- system (@pppcommand);
- }
-}
-
-sub dopulsardsldial
-{
- if (system ('/etc/rc.d/rc.pulsardsl','start')) {
- &General::log ("ERROR: PULSAR ADSL modem failed to start");
- exit 1;
- }
- doatmdial();
-}
-
-sub dobewanadsldial
-{
- if (system ('/etc/rc.d/rc.bewanadsl','start')) {
- &General::log ("ERROR: Bewan ADSL MODEM failed to start");
- exit 1;
- }
- doatmdial();
-}
-
-sub doalcatelusbkdial
-{
- if (system ('/etc/rc.d/rc.alcatelusbk','start')) {
- &General::log ("ERROR: Alcatel USB kernel mode driver failed to start");
- exit 1;
- }
- doatmdial();
-}
-
-sub doconexantusbadsldial
-{
- if (system ('/etc/rc.d/rc.conexantusbadsl','start')) {
- &General::log ("ERROR: Conexant USB ADSL modem failed to start");
- exit 1;
- }
- doatmdial();
-
-}
-
-sub doconexantpciadsldial
-{
- if (system ('/etc/rc.d/rc.conexantpciadsl','start')) {
- &General::log ("ERROR: Conexant PCI ADSL modem failed to start");
- exit 1;
- }
- doatmdial();
-
-}
-
-sub doamedynusbadsldial
-{
- if (system ('/etc/rc.d/rc.amedynusbadsl','start')) {
- &General::log ("ERROR: Zyxel 630-11/Asus AAM6000UG USB ADSL modem failed to start");
- exit 1;
- }
- doatmdial();
-
-}
-
-sub do3cp4218usbadsldial
-{
- if (system ('/etc/rc.d/rc.3cp4218usbadsl','start')) {
- &General::log ("ERROR: 3Com USB AccessRunner modem failed to start");
- exit 1;
- }
- doatmdial();
-}
-
sub doatmdial
{
my $ENCAP;
-/*\r
- *\r
- * File originally from the Smoothwall project\r
- * (c) 2001 Smoothwall Team\r
- *\r
- * $Id: ipsecctrl.c,v 1.5.2.14 2005/05/15 12:58:28 rkerr Exp $\r
- *\r
- */\r
-\r
-#include "libsmooth.h"\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include <unistd.h>\r
-#include <sys/types.h>\r
-#include <sys/stat.h>\r
-#include <signal.h>\r
-#include "setuid.h"\r
-\r
-void usage() {\r
- fprintf (stderr, "Usage:\n");\r
- fprintf (stderr, "\tipsecctrl S [connectionkey]\n");\r
- fprintf (stderr, "\tipsecctrl D [connectionkey]\n");\r
- fprintf (stderr, "\tipsecctrl R\n");\r
- fprintf (stderr, "\t\tS : Start/Restart Connection\n");\r
- fprintf (stderr, "\t\tD : Stop Connection\n");\r
- fprintf (stderr, "\t\tR : Reload Certificates and Secrets\n");\r
-}\r
-\r
-void loadalgmodules() {\r
- safe_system("/sbin/modprobe ipsec_3des");\r
- safe_system("/sbin/modprobe ipsec_aes");\r
- safe_system("/sbin/modprobe ipsec_blowfish");\r
- safe_system("/sbin/modprobe ipsec_md5");\r
- safe_system("/sbin/modprobe ipsec_serpent");\r
- safe_system("/sbin/modprobe ipsec_sha1");\r
- safe_system("/sbin/modprobe ipsec_sha2");\r
- safe_system("/sbin/modprobe ipsec_twofish");\r
-}\r
-\r
-void ipsecrules(char *chain, char *interface)\r
-{\r
- char str[STRING_SIZE];\r
-\r
- sprintf(str, "/sbin/iptables -A %s -p 47 -i %s -j ACCEPT", chain, interface);\r
- safe_system(str);\r
- sprintf(str, "/sbin/iptables -A %s -p 50 -i %s -j ACCEPT", chain, interface);\r
- safe_system(str);\r
- sprintf(str, "/sbin/iptables -A %s -p 51 -i %s -j ACCEPT", chain, interface);\r
- safe_system(str);\r
- sprintf(str, "/sbin/iptables -A %s -p udp -i %s --sport 500 --dport 500 -j ACCEPT", chain, interface);\r
- safe_system(str);\r
- sprintf(str, "/sbin/iptables -A %s -p udp -i %s --dport 4500 -j ACCEPT", chain, interface);\r
- safe_system(str);\r
-}\r
-\r
-void addaliasinterfaces(char *configtype, char *redtype, char *redif, char *enablered, char*enableblue)\r
-{\r
- FILE *file = NULL;\r
- char s[STRING_SIZE];\r
- char *sptr;\r
- char *aliasip=NULL;\r
- char *enabled=NULL;\r
- char *comment=NULL;\r
- int count=0;\r
- int alias=0;\r
- int add=0;\r
-\r
- if ( strcmp(enablered, "on") == 0 ) \r
- add += 1;\r
- if ( strcmp(enableblue, "on") == 0 )\r
- add += 1;\r
- \r
- /* Check for CONFIG_TYPE=2 or 3 i.e. RED ethernet present. If not,\r
- * exit gracefully. This is not an error... */\r
- if (!((strcmp(configtype, "2")==0) || (strcmp(configtype, "3")==0) || (strcmp(configtype, "6")==0) || (strcmp(configtype, "7")==0)))\r
- return;\r
-\r
- /* Now check the RED_TYPE - aliases only work with STATIC. */\r
- if (!(strcmp(redtype, "STATIC")==0))\r
- return;\r
-\r
- /* Now set up the new aliases from the config file */\r
- if (!(file = fopen(CONFIG_ROOT "/ethernet/aliases", "r")))\r
- {\r
- fprintf(stderr, "Unable to open aliases configuration file\n");\r
- return;\r
- }\r
-\r
- while (fgets(s, STRING_SIZE, file) != NULL && (add+alias) < 16)\r
- {\r
- if (s[strlen(s) - 1] == '\n')\r
- s[strlen(s) - 1] = '\0';\r
- sptr = strtok(s, ",");\r
- count = 0;\r
- aliasip = NULL;\r
- enabled = NULL;\r
- comment = NULL;\r
- while (sptr)\r
- {\r
- if (count == 0)\r
- aliasip = sptr;\r
- if (count == 1)\r
- enabled = sptr;\r
- else\r
- comment = sptr;\r
- count++;\r
- sptr = strtok(NULL, ",");\r
- }\r
-\r
- if (!(aliasip && enabled))\r
- continue;\r
-\r
- if (!VALID_IP(aliasip))\r
- {\r
- fprintf(stderr, "Bad alias : %s\n", aliasip);\r
- return;\r
- }\r
-\r
- if (strcmp(enabled, "on") == 0)\r
- {\r
- memset(s, 0, STRING_SIZE);\r
- snprintf(s, STRING_SIZE-1, "/usr/sbin/ipsec tncfg --attach --virtual ipsec%d --physical %s:%d >/dev/null", alias+add, redif, alias);\r
- safe_system(s);\r
- alias++;\r
- }\r
- }\r
-}\r
-\r
-int main(int argc, char *argv[]) {\r
- int count;\r
- char s[STRING_SIZE];\r
- char configtype[STRING_SIZE];\r
- char redtype[STRING_SIZE] = "";\r
- char command[STRING_SIZE];\r
- char *result;\r
- char *key;\r
- char *enabled;\r
- char *name;\r
- char *type;\r
- char *running;\r
- FILE *file = NULL;\r
- struct keyvalue *kv = NULL;\r
- char enablered[STRING_SIZE] = "off";\r
- char enableblue[STRING_SIZE] = "off";\r
- char redif[STRING_SIZE] = "";;\r
- char blueif[STRING_SIZE] = "";\r
- FILE *ifacefile = NULL;\r
- \r
- if (!(initsetuid()))\r
- exit(1);\r
- \r
- if (argc < 2) {\r
- usage();\r
- exit(1);\r
- }\r
-\r
- /* FIXME: workaround for pclose() issue - still no real idea why\r
- * this is happening */\r
- signal(SIGCHLD, SIG_DFL);\r
-\r
- /* Init the keyvalue structure */\r
- kv=initkeyvalues();\r
-\r
- /* Read in the current values */\r
- if (!readkeyvalues(kv, CONFIG_ROOT "/vpn/settings"))\r
- {\r
- fprintf(stderr, "Cannot read vpn settings\n");\r
- exit(1);\r
- }\r
-\r
- findkey(kv, "ENABLED", enablered);\r
- findkey(kv, "ENABLED_BLUE", enableblue);\r
-\r
- freekeyvalues(kv);\r
- kv=initkeyvalues();\r
-\r
- if (!readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings"))\r
- {\r
- fprintf(stderr, "Cannot read ethernet settings\n");\r
- exit(1);\r
- }\r
-\r
- if (!findkey(kv, "CONFIG_TYPE", configtype))\r
- {\r
- fprintf(stderr, "Cannot read CONFIG_TYPE\n");\r
- exit(1);\r
- }\r
-\r
- findkey(kv, "RED_TYPE", redtype);\r
- findkey(kv, "BLUE_DEV", blueif);\r
- freekeyvalues(kv);\r
- memset(redif, 0, STRING_SIZE);\r
-\r
- if ((ifacefile = fopen(CONFIG_ROOT "/red/iface", "r")))\r
- {\r
- if (fgets(redif, STRING_SIZE, ifacefile))\r
- {\r
- if (redif[strlen(redif) - 1] == '\n')\r
- redif[strlen(redif) - 1] = '\0';\r
- }\r
- fclose (ifacefile);\r
- ifacefile = NULL;\r
-\r
- if (!VALID_DEVICE(redif))\r
- {\r
- memset(redif, 0, STRING_SIZE);\r
- }\r
- }\r
-\r
- safe_system("/sbin/iptables -F IPSECRED");\r
- if (!strcmp(enablered, "on") && strlen(redif)) {\r
- ipsecrules("IPSECRED", redif);\r
- }\r
-\r
- safe_system("/sbin/iptables -F IPSECBLUE");\r
- if (!strcmp(enableblue, "on")) {\r
- if (VALID_DEVICE(blueif))\r
- ipsecrules("IPSECBLUE", blueif);\r
- else\r
- {\r
- fprintf(stderr, "IPSec enabled on blue but blue interface is invalid or not found\n");\r
- exit(1);\r
- }\r
- }\r
-\r
- /* Only shutdown pluto if it really is running */\r
- if (argc == 2) {\r
- if (strcmp(argv[1], "D") == 0) {\r
- int fd;\r
- /* Get pluto pid */\r
- if ((fd = open("/var/run/pluto.pid", O_RDONLY)) != -1) {\r
- safe_system("/etc/rc.d/ipsec stop 2> /dev/null >/dev/null");\r
- close(fd);\r
- }\r
- }\r
- }\r
-\r
- if ((strcmp(enablered, "on") || !strlen(redif)) && strcmp(enableblue, "on"))\r
- exit(0);\r
-\r
- if (argc == 2) {\r
- if (strcmp(argv[1], "S") == 0) {\r
- loadalgmodules();\r
- safe_system("/usr/sbin/ipsec tncfg --clear >/dev/null");\r
- safe_system("/etc/rc.d/ipsec restart >/dev/null");\r
- addaliasinterfaces(configtype, redtype, redif, enablered, enableblue);\r
- } else if (strcmp(argv[1], "R") == 0) {\r
- safe_system("/usr/sbin/ipsec auto --rereadall");\r
- } else {\r
- fprintf(stderr, "Bad arg\n");\r
- usage();\r
- exit(1);\r
- }\r
- } else if (strspn(argv[2], NUMBERS) == strlen(argv[2])) {\r
- if (!(file = fopen(CONFIG_ROOT "/vpn/config", "r"))) {\r
- fprintf(stderr, "Couldn't open vpn settings file");\r
- exit(1);\r
- }\r
- while (fgets(s, STRING_SIZE, file) != NULL) {\r
- if (s[strlen(s) - 1] == '\n')\r
- s[strlen(s) - 1] = '\0';\r
- running = strdup (s);\r
- result = strsep(&running, ",");\r
- count = 0;\r
- key = NULL;\r
- name = NULL;\r
- enabled = NULL;\r
- type = NULL;\r
- while (result) {\r
- if (count == 0)\r
- key = result;\r
- if (count == 1)\r
- enabled = result; \r
- if (count == 2)\r
- name = result;\r
- if (count == 4)\r
- type = result;\r
- count++;\r
- result = strsep(&running, ",");\r
- }\r
- if (strcmp(key, argv[2]) != 0)\r
- continue;\r
- \r
- if (!(name && enabled))\r
- continue;\r
- \r
- if (strspn(name, LETTERS_NUMBERS) != strlen(name)) {\r
- fprintf(stderr, "Bad connection name: %s\n", name);\r
- goto EXIT;\r
- }\r
-\r
- if (! (strcmp(type, "host") == 0 || strcmp(type, "net") == 0)) {\r
- fprintf(stderr, "Bad connection type: %s\n", type);\r
- goto EXIT;\r
- }\r
- \r
- if (strcmp(argv[1], "S") == 0 && strcmp(enabled, "on") == 0) {\r
- safe_system("/usr/sbin/ipsec auto --rereadsecrets >/dev/null");\r
- memset(command, 0, STRING_SIZE);\r
- snprintf(command, STRING_SIZE - 1, \r
- "/usr/sbin/ipsec auto --replace %s >/dev/null", name);\r
- safe_system(command);\r
- if (strcmp(type, "net") == 0) {\r
- memset(command, 0, STRING_SIZE);\r
- snprintf(command, STRING_SIZE - 1, \r
- "/usr/sbin/ipsec auto --asynchronous --up %s >/dev/null", name);\r
- safe_system(command);\r
- }\r
- } else if (strcmp(argv[1], "D") == 0) {\r
- safe_system("/usr/sbin/ipsec auto --rereadsecrets >/dev/null");\r
- memset(command, 0, STRING_SIZE);\r
- snprintf(command, STRING_SIZE - 1, \r
- "/usr/sbin/ipsec auto --down %s >/dev/null", name);\r
- safe_system(command);\r
- memset(command, 0, STRING_SIZE);\r
- snprintf(command, STRING_SIZE - 1, \r
- "/usr/sbin/ipsec auto --delete %s >/dev/null", name);\r
- safe_system(command);\r
- }\r
- }\r
- } else {\r
- fprintf(stderr, "Bad arg\n");\r
- usage();\r
- exit(1);\r
- }\r
-\r
-EXIT:\r
- if (file)\r
- fclose(file);\r
- return 0;\r
-}\r
+/*
+ *
+ * File originally from the Smoothwall project
+ * (c) 2001 Smoothwall Team
+ *
+ * $Id: ipsecctrl.c,v 1.5.2.14 2005/05/15 12:58:28 rkerr Exp $
+ *
+ */
+
+#include "libsmooth.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include "setuid.h"
+
+void usage() {
+ fprintf (stderr, "Usage:\n");
+ fprintf (stderr, "\tipsecctrl S [connectionkey]\n");
+ fprintf (stderr, "\tipsecctrl D [connectionkey]\n");
+ fprintf (stderr, "\tipsecctrl R\n");
+ fprintf (stderr, "\t\tS : Start/Restart Connection\n");
+ fprintf (stderr, "\t\tD : Stop Connection\n");
+ fprintf (stderr, "\t\tR : Reload Certificates and Secrets\n");
+}
+
+void loadalgmodules() {
+ safe_system("/sbin/modprobe ipsec");
+}
+
+void ipsecrules(char *chain, char *interface)
+{
+ char str[STRING_SIZE];
+
+ sprintf(str, "/sbin/iptables -A %s -p 47 -i %s -j ACCEPT", chain, interface);
+ safe_system(str);
+ sprintf(str, "/sbin/iptables -A %s -p 50 -i %s -j ACCEPT", chain, interface);
+ safe_system(str);
+ sprintf(str, "/sbin/iptables -A %s -p 51 -i %s -j ACCEPT", chain, interface);
+ safe_system(str);
+ sprintf(str, "/sbin/iptables -A %s -p udp -i %s --sport 500 --dport 500 -j ACCEPT", chain, interface);
+ safe_system(str);
+ sprintf(str, "/sbin/iptables -A %s -p udp -i %s --dport 4500 -j ACCEPT", chain, interface);
+ safe_system(str);
+}
+
+void addaliasinterfaces(char *configtype, char *redtype, char *redif, char *enablered, char*enableblue)
+{
+ FILE *file = NULL;
+ char s[STRING_SIZE];
+ char *sptr;
+ char *aliasip=NULL;
+ char *enabled=NULL;
+ char *comment=NULL;
+ int count=0;
+ int alias=0;
+ int add=0;
+
+ if ( strcmp(enablered, "on") == 0 )
+ add += 1;
+ if ( strcmp(enableblue, "on") == 0 )
+ add += 1;
+
+ /* Check for CONFIG_TYPE=2 or 3 i.e. RED ethernet present. If not,
+ * exit gracefully. This is not an error... */
+ if (!((strcmp(configtype, "2")==0) || (strcmp(configtype, "3")==0) || (strcmp(configtype, "6")==0) || (strcmp(configtype, "7")==0)))
+ return;
+
+ /* Now check the RED_TYPE - aliases only work with STATIC. */
+ if (!(strcmp(redtype, "STATIC")==0))
+ return;
+
+ /* Now set up the new aliases from the config file */
+ if (!(file = fopen(CONFIG_ROOT "/ethernet/aliases", "r")))
+ {
+ fprintf(stderr, "Unable to open aliases configuration file\n");
+ return;
+ }
+
+ while (fgets(s, STRING_SIZE, file) != NULL && (add+alias) < 16)
+ {
+ if (s[strlen(s) - 1] == '\n')
+ s[strlen(s) - 1] = '\0';
+ sptr = strtok(s, ",");
+ count = 0;
+ aliasip = NULL;
+ enabled = NULL;
+ comment = NULL;
+ while (sptr)
+ {
+ if (count == 0)
+ aliasip = sptr;
+ if (count == 1)
+ enabled = sptr;
+ else
+ comment = sptr;
+ count++;
+ sptr = strtok(NULL, ",");
+ }
+
+ if (!(aliasip && enabled))
+ continue;
+
+ if (!VALID_IP(aliasip))
+ {
+ fprintf(stderr, "Bad alias : %s\n", aliasip);
+ return;
+ }
+
+ if (strcmp(enabled, "on") == 0)
+ {
+ memset(s, 0, STRING_SIZE);
+ snprintf(s, STRING_SIZE-1, "/usr/sbin/ipsec tncfg --attach --virtual ipsec%d --physical %s:%d >/dev/null", alias+add, redif, alias);
+ safe_system(s);
+ alias++;
+ }
+ }
+}
+
+int main(int argc, char *argv[]) {
+ int count;
+ char s[STRING_SIZE];
+ char configtype[STRING_SIZE];
+ char redtype[STRING_SIZE] = "";
+ char command[STRING_SIZE];
+ char *result;
+ char *key;
+ char *enabled;
+ char *name;
+ char *type;
+ char *running;
+ FILE *file = NULL;
+ struct keyvalue *kv = NULL;
+ char enablered[STRING_SIZE] = "off";
+ char enableblue[STRING_SIZE] = "off";
+ char redif[STRING_SIZE] = "";;
+ char blueif[STRING_SIZE] = "";
+ FILE *ifacefile = NULL;
+
+ if (!(initsetuid()))
+ exit(1);
+
+ if (argc < 2) {
+ usage();
+ exit(1);
+ }
+
+ /* FIXME: workaround for pclose() issue - still no real idea why
+ * this is happening */
+ signal(SIGCHLD, SIG_DFL);
+
+ /* Init the keyvalue structure */
+ kv=initkeyvalues();
+
+ /* Read in the current values */
+ if (!readkeyvalues(kv, CONFIG_ROOT "/vpn/settings"))
+ {
+ fprintf(stderr, "Cannot read vpn settings\n");
+ exit(1);
+ }
+
+ findkey(kv, "ENABLED", enablered);
+ findkey(kv, "ENABLED_BLUE", enableblue);
+
+ freekeyvalues(kv);
+ kv=initkeyvalues();
+
+ if (!readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings"))
+ {
+ fprintf(stderr, "Cannot read ethernet settings\n");
+ exit(1);
+ }
+
+ if (!findkey(kv, "CONFIG_TYPE", configtype))
+ {
+ fprintf(stderr, "Cannot read CONFIG_TYPE\n");
+ exit(1);
+ }
+
+ findkey(kv, "RED_TYPE", redtype);
+ findkey(kv, "BLUE_DEV", blueif);
+ freekeyvalues(kv);
+ memset(redif, 0, STRING_SIZE);
+
+ if ((ifacefile = fopen(CONFIG_ROOT "/red/iface", "r")))
+ {
+ if (fgets(redif, STRING_SIZE, ifacefile))
+ {
+ if (redif[strlen(redif) - 1] == '\n')
+ redif[strlen(redif) - 1] = '\0';
+ }
+ fclose (ifacefile);
+ ifacefile = NULL;
+
+ if (!VALID_DEVICE(redif))
+ {
+ memset(redif, 0, STRING_SIZE);
+ }
+ }
+
+ safe_system("/sbin/iptables -F IPSECRED");
+ if (!strcmp(enablered, "on") && strlen(redif)) {
+ ipsecrules("IPSECRED", redif);
+ }
+
+ safe_system("/sbin/iptables -F IPSECBLUE");
+ if (!strcmp(enableblue, "on")) {
+ if (VALID_DEVICE(blueif))
+ ipsecrules("IPSECBLUE", blueif);
+ else
+ {
+ fprintf(stderr, "IPSec enabled on blue but blue interface is invalid or not found\n");
+ exit(1);
+ }
+ }
+
+ /* Only shutdown pluto if it really is running */
+ if (argc == 2) {
+ if (strcmp(argv[1], "D") == 0) {
+ int fd;
+ /* Get pluto pid */
+ if ((fd = open("/var/run/pluto.pid", O_RDONLY)) != -1) {
+ safe_system("/etc/rc.d/init.d/ipsec stop 2> /dev/null >/dev/null");
+ close(fd);
+ }
+ }
+ }
+
+ if ((strcmp(enablered, "on") || !strlen(redif)) && strcmp(enableblue, "on"))
+ exit(0);
+
+ if (argc == 2) {
+ if (strcmp(argv[1], "S") == 0) {
+ loadalgmodules();
+ safe_system("/usr/sbin/ipsec tncfg --clear >/dev/null");
+ safe_system("/etc/rc.d/init.d/ipsec restart >/dev/null");
+ addaliasinterfaces(configtype, redtype, redif, enablered, enableblue);
+ } else if (strcmp(argv[1], "R") == 0) {
+ safe_system("/usr/sbin/ipsec auto --rereadall");
+ } else {
+ fprintf(stderr, "Bad arg\n");
+ usage();
+ exit(1);
+ }
+ } else if (strspn(argv[2], NUMBERS) == strlen(argv[2])) {
+ if (!(file = fopen(CONFIG_ROOT "/vpn/config", "r"))) {
+ fprintf(stderr, "Couldn't open vpn settings file");
+ exit(1);
+ }
+ while (fgets(s, STRING_SIZE, file) != NULL) {
+ if (s[strlen(s) - 1] == '\n')
+ s[strlen(s) - 1] = '\0';
+ running = strdup (s);
+ result = strsep(&running, ",");
+ count = 0;
+ key = NULL;
+ name = NULL;
+ enabled = NULL;
+ type = NULL;
+ while (result) {
+ if (count == 0)
+ key = result;
+ if (count == 1)
+ enabled = result;
+ if (count == 2)
+ name = result;
+ if (count == 4)
+ type = result;
+ count++;
+ result = strsep(&running, ",");
+ }
+ if (strcmp(key, argv[2]) != 0)
+ continue;
+
+ if (!(name && enabled))
+ continue;
+
+ if (strspn(name, LETTERS_NUMBERS) != strlen(name)) {
+ fprintf(stderr, "Bad connection name: %s\n", name);
+ goto EXIT;
+ }
+
+ if (! (strcmp(type, "host") == 0 || strcmp(type, "net") == 0)) {
+ fprintf(stderr, "Bad connection type: %s\n", type);
+ goto EXIT;
+ }
+
+ if (strcmp(argv[1], "S") == 0 && strcmp(enabled, "on") == 0) {
+ safe_system("/usr/sbin/ipsec auto --rereadsecrets >/dev/null");
+ memset(command, 0, STRING_SIZE);
+ snprintf(command, STRING_SIZE - 1,
+ "/usr/sbin/ipsec auto --replace %s >/dev/null", name);
+ safe_system(command);
+ if (strcmp(type, "net") == 0) {
+ memset(command, 0, STRING_SIZE);
+ snprintf(command, STRING_SIZE - 1,
+ "/usr/sbin/ipsec auto --asynchronous --up %s >/dev/null", name);
+ safe_system(command);
+ }
+ } else if (strcmp(argv[1], "D") == 0) {
+ safe_system("/usr/sbin/ipsec auto --rereadsecrets >/dev/null");
+ memset(command, 0, STRING_SIZE);
+ snprintf(command, STRING_SIZE - 1,
+ "/usr/sbin/ipsec auto --down %s >/dev/null", name);
+ safe_system(command);
+ memset(command, 0, STRING_SIZE);
+ snprintf(command, STRING_SIZE - 1,
+ "/usr/sbin/ipsec auto --delete %s >/dev/null", name);
+ safe_system(command);
+ }
+ }
+ } else {
+ fprintf(stderr, "Bad arg\n");
+ usage();
+ exit(1);
+ }
+
+EXIT:
+ if (file)
+ fclose(file);
+ return 0;
+}
--- /dev/null
+--- src/tools.h~ 2007-01-02 18:28:19.000000000 +0100
++++ src/tools.h 2007-01-06 18:12:16.000000000 +0100
+@@ -71,12 +71,12 @@
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
+-static inline unsigned long atomic_xchg (
++/* static inline unsigned long atomic_xchg (
+ volatile atomic_t * v,
+ unsigned value
+ ) {
+ return __xchg (value, &v->counter, sizeof (unsigned));
+-} /* atomic_xchg */
++} */ /* atomic_xchg */
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
--- /dev/null
+--- main.c~ 2005-08-05 00:00:00.000000000 +0200
++++ main.c 2007-01-06 19:00:26.000000000 +0100
+@@ -77,8 +77,14 @@
+
+ static struct usb_driver usb_driver = {
+
+- .owner = THIS_MODULE,
+- .name = TARGET,
++#ifndef OLD_USB_DRIVER
++ .driver = {
++#endif
++ .owner = THIS_MODULE,
++ .name = TARGET,
++#ifndef OLD_USB_DRIVER
++ },
++#endif
+ .id_table = usb_id_table,
+ .probe = usb_probe,
+ .disconnect = usb_disconnect,