git-svn-id: http://svn.ipfire.org/svn/ipfire/IPFire/source@16 ea5c0bd1-69bd-2848...
authoripfire <ipfire@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 15 Feb 2006 21:15:54 +0000 (21:15 +0000)
committeripfire <ipfire@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 15 Feb 2006 21:15:54 +0000 (21:15 +0000)
1206 files changed:
.cvsignore [new file with mode: 0644]
config/CVS/Entries [new file with mode: 0644]
config/CVS/Repository [new file with mode: 0644]
config/CVS/Root [new file with mode: 0644]
config/CVS/Tag [new file with mode: 0644]
config/aboot/CVS/Entries [new file with mode: 0644]
config/aboot/CVS/Repository [new file with mode: 0644]
config/aboot/CVS/Root [new file with mode: 0644]
config/aboot/CVS/Tag [new file with mode: 0644]
config/aboot/aboot.conf [new file with mode: 0644]
config/aboot/scsiaboot.conf [new file with mode: 0644]
config/cdrom/CVS/Entries [new file with mode: 0644]
config/cdrom/CVS/Repository [new file with mode: 0644]
config/cdrom/CVS/Root [new file with mode: 0644]
config/cdrom/CVS/Tag [new file with mode: 0644]
config/cdrom/README.txt [new file with mode: 0644]
config/cfgroot/CVS/Entries [new file with mode: 0644]
config/cfgroot/CVS/Repository [new file with mode: 0644]
config/cfgroot/CVS/Root [new file with mode: 0644]
config/cfgroot/CVS/Tag [new file with mode: 0644]
config/cfgroot/advoptions-list [new file with mode: 0644]
config/cfgroot/backup-exclude [new file with mode: 0644]
config/cfgroot/backup-exclude.hardware [new file with mode: 0644]
config/cfgroot/backup-include [new file with mode: 0644]
config/cfgroot/countries.pl [new file with mode: 0644]
config/cfgroot/defaultservices [new file with mode: 0644]
config/cfgroot/general-functions.pl [new file with mode: 0644]
config/cfgroot/header-menu.pl [new file with mode: 0644]
config/cfgroot/header.pl [new file with mode: 0644]
config/cfgroot/icmptypes [new file with mode: 0644]
config/cfgroot/ipcop.gpg [new file with mode: 0644]
config/cfgroot/lang.pl [new file with mode: 0644]
config/cfgroot/logging-settings [new file with mode: 0644]
config/cfgroot/modem-defaults [new file with mode: 0644]
config/cfgroot/modem-settings [new file with mode: 0644]
config/cfgroot/oinkmaster.conf [new file with mode: 0644]
config/cfgroot/protocols.pl [new file with mode: 0644]
config/cfgroot/proxy-acl [new file with mode: 0644]
config/cfgroot/time-settings [new file with mode: 0644]
config/cfgroot/xtaccess-config [new file with mode: 0644]
config/cron/CVS/Entries [new file with mode: 0644]
config/cron/CVS/Repository [new file with mode: 0644]
config/cron/CVS/Root [new file with mode: 0644]
config/cron/CVS/Tag [new file with mode: 0644]
config/cron/crontab [new file with mode: 0644]
config/etc/CVS/Entries [new file with mode: 0644]
config/etc/CVS/Repository [new file with mode: 0644]
config/etc/CVS/Root [new file with mode: 0644]
config/etc/CVS/Tag [new file with mode: 0644]
config/etc/certparams [new file with mode: 0644]
config/etc/fstab [new file with mode: 0644]
config/etc/group [new file with mode: 0644]
config/etc/host.conf [new file with mode: 0644]
config/etc/inittab [new file with mode: 0644]
config/etc/inputrc [new file with mode: 0644]
config/etc/ld.so.conf [new file with mode: 0644]
config/etc/logrotate.conf [new file with mode: 0644]
config/etc/mime.types [new file with mode: 0644]
config/etc/modules.conf [new file with mode: 0644]
config/etc/nsswitch.conf [new file with mode: 0644]
config/etc/passwd [new file with mode: 0644]
config/etc/profile [new file with mode: 0644]
config/etc/resolv.conf [new file with mode: 0644]
config/etc/securetty [new file with mode: 0644]
config/etc/sysctl.conf [new file with mode: 0644]
config/etc/syslog.conf [new file with mode: 0644]
config/grub/CVS/Entries [new file with mode: 0644]
config/grub/CVS/Repository [new file with mode: 0644]
config/grub/CVS/Root [new file with mode: 0644]
config/grub/CVS/Tag [new file with mode: 0644]
config/grub/grub.conf [new file with mode: 0644]
config/grub/ipcop.xpm.gz [new file with mode: 0644]
config/grub/scsigrub.conf [new file with mode: 0644]
config/httpd/CVS/Entries [new file with mode: 0644]
config/httpd/CVS/Repository [new file with mode: 0644]
config/httpd/CVS/Root [new file with mode: 0644]
config/httpd/CVS/Tag [new file with mode: 0644]
config/httpd/httpd.conf [new file with mode: 0644]
config/install/CVS/Entries [new file with mode: 0644]
config/install/CVS/Repository [new file with mode: 0644]
config/install/CVS/Root [new file with mode: 0644]
config/install/CVS/Tag [new file with mode: 0644]
config/install/fstab [new file with mode: 0644]
config/install/group [new file with mode: 0644]
config/install/halt [new file with mode: 0644]
config/install/hosts [new file with mode: 0644]
config/install/inittab [new file with mode: 0644]
config/install/nsswitch.conf [new file with mode: 0644]
config/install/passwd [new file with mode: 0644]
config/install/profile [new file with mode: 0644]
config/install/rc [new file with mode: 0644]
config/install/shells [new file with mode: 0644]
config/ipac-ng/CVS/Entries [new file with mode: 0644]
config/ipac-ng/CVS/Repository [new file with mode: 0644]
config/ipac-ng/CVS/Root [new file with mode: 0644]
config/ipac-ng/CVS/Tag [new file with mode: 0644]
config/ipac-ng/ipac.conf [new file with mode: 0644]
config/ipac-ng/rules.conf [new file with mode: 0644]
config/kernel/CVS/Entries [new file with mode: 0644]
config/kernel/CVS/Repository [new file with mode: 0644]
config/kernel/CVS/Root [new file with mode: 0644]
config/kernel/CVS/Tag [new file with mode: 0644]
config/kernel/aboot.conf [new file with mode: 0644]
config/kernel/install-message [new file with mode: 0644]
config/kernel/kernel.config.alpha [new file with mode: 0644]
config/kernel/kernel.config.i386 [new file with mode: 0644]
config/kernel/kernel.config.i386.installer [new file with mode: 0644]
config/kernel/kernel.config.i386.original [new file with mode: 0644]
config/kernel/kernel.config.i386.smp [new file with mode: 0644]
config/kernel/syslinux.cfg [new file with mode: 0644]
config/snort/CVS/Entries [new file with mode: 0644]
config/snort/CVS/Repository [new file with mode: 0644]
config/snort/CVS/Root [new file with mode: 0644]
config/snort/CVS/Tag [new file with mode: 0644]
config/snort/snort.conf [new file with mode: 0644]
config/ssl/CVS/Entries [new file with mode: 0644]
config/ssl/CVS/Repository [new file with mode: 0644]
config/ssl/CVS/Root [new file with mode: 0644]
config/ssl/CVS/Tag [new file with mode: 0644]
config/ssl/openssl.cnf [new file with mode: 0644]
doc/.cvsignore [new file with mode: 0644]
doc/COPYING [new file with mode: 0644]
doc/CVS/Entries [new file with mode: 0644]
doc/CVS/Repository [new file with mode: 0644]
doc/CVS/Root [new file with mode: 0644]
doc/CVS/Tag [new file with mode: 0644]
doc/ChangeLog [new file with mode: 0644]
doc/How-to-make-update [new file with mode: 0644]
doc/README [new file with mode: 0644]
doc/make.sh-usage [new file with mode: 0644]
doc/packages-list.txt [new file with mode: 0644]
doc/updated-sources.txt_old [new file with mode: 0644]
html/CVS/Entries [new file with mode: 0644]
html/CVS/Repository [new file with mode: 0644]
html/CVS/Root [new file with mode: 0644]
html/CVS/Tag [new file with mode: 0644]
html/cgi-bin/CVS/Entries [new file with mode: 0644]
html/cgi-bin/CVS/Repository [new file with mode: 0644]
html/cgi-bin/CVS/Root [new file with mode: 0644]
html/cgi-bin/CVS/Tag [new file with mode: 0644]
html/cgi-bin/aliases.cgi [new file with mode: 0644]
html/cgi-bin/backup.cgi [new file with mode: 0644]
html/cgi-bin/base.cgi [new file with mode: 0644]
html/cgi-bin/changepw.cgi [new file with mode: 0644]
html/cgi-bin/connections.cgi [new file with mode: 0644]
html/cgi-bin/credits.cgi [new file with mode: 0644]
html/cgi-bin/ddns.cgi [new file with mode: 0644]
html/cgi-bin/dhcp.cgi [new file with mode: 0644]
html/cgi-bin/dial.cgi [new file with mode: 0644]
html/cgi-bin/dmzholes.cgi [new file with mode: 0644]
html/cgi-bin/graphs.cgi [new file with mode: 0644]
html/cgi-bin/gui.cgi [new file with mode: 0644]
html/cgi-bin/hosts.cgi [new file with mode: 0644]
html/cgi-bin/ids.cgi [new file with mode: 0644]
html/cgi-bin/index.cgi [new file with mode: 0644]
html/cgi-bin/ipinfo.cgi [new file with mode: 0644]
html/cgi-bin/logs.cgi/CVS/Entries [new file with mode: 0644]
html/cgi-bin/logs.cgi/CVS/Repository [new file with mode: 0644]
html/cgi-bin/logs.cgi/CVS/Root [new file with mode: 0644]
html/cgi-bin/logs.cgi/CVS/Tag [new file with mode: 0644]
html/cgi-bin/logs.cgi/config.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/firewalllog.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/ids.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/log.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/proxylog.dat [new file with mode: 0644]
html/cgi-bin/logs.cgi/summary.dat [new file with mode: 0644]
html/cgi-bin/modem.cgi [new file with mode: 0644]
html/cgi-bin/netstatus.cgi [new file with mode: 0644]
html/cgi-bin/networks.cgi [new file with mode: 0644]
html/cgi-bin/optionsfw.cgi [new file with mode: 0644]
html/cgi-bin/portfw.cgi [new file with mode: 0644]
html/cgi-bin/pppsetup.cgi [new file with mode: 0644]
html/cgi-bin/proxy.cgi [new file with mode: 0644]
html/cgi-bin/proxygraphs.cgi [new file with mode: 0644]
html/cgi-bin/remote.cgi [new file with mode: 0644]
html/cgi-bin/services.cgi [new file with mode: 0644]
html/cgi-bin/shaping.cgi [new file with mode: 0644]
html/cgi-bin/shutdown.cgi [new file with mode: 0644]
html/cgi-bin/status.cgi [new file with mode: 0644]
html/cgi-bin/time.cgi [new file with mode: 0644]
html/cgi-bin/updates.cgi [new file with mode: 0644]
html/cgi-bin/upload.cgi [new file with mode: 0644]
html/cgi-bin/vpnmain.cgi [new file with mode: 0644]
html/cgi-bin/wireless.cgi [new file with mode: 0644]
html/cgi-bin/xtaccess.cgi [new file with mode: 0644]
html/html/CVS/Entries [new file with mode: 0644]
html/html/CVS/Repository [new file with mode: 0644]
html/html/CVS/Root [new file with mode: 0644]
html/html/CVS/Tag [new file with mode: 0644]
html/html/blob.gif [new file with mode: 0644]
html/html/favicon.ico [new file with mode: 0644]
html/html/images/CVS/Entries [new file with mode: 0644]
html/html/images/CVS/Repository [new file with mode: 0644]
html/html/images/CVS/Root [new file with mode: 0644]
html/html/images/CVS/Tag [new file with mode: 0644]
html/html/images/add.gif [new file with mode: 0644]
html/html/images/addblue.gif [new file with mode: 0644]
html/html/images/bounceback.png [new file with mode: 0644]
html/html/images/boxbottom1.png [new file with mode: 0644]
html/html/images/boxbottom2.png [new file with mode: 0644]
html/html/images/boxbottom3.png [new file with mode: 0644]
html/html/images/boxleft.png [new file with mode: 0644]
html/html/images/boxright.png [new file with mode: 0644]
html/html/images/boxtop1.png [new file with mode: 0644]
html/html/images/boxtop2.png [new file with mode: 0644]
html/html/images/boxtop3.png [new file with mode: 0644]
html/html/images/clock.gif [new file with mode: 0644]
html/html/images/delete.gif [new file with mode: 0644]
html/html/images/download.png [new file with mode: 0644]
html/html/images/edit.gif [new file with mode: 0644]
html/html/images/floppy.gif [new file with mode: 0644]
html/html/images/forward.gif [new file with mode: 0644]
html/html/images/header.png [new file with mode: 0644]
html/html/images/info.gif [new file with mode: 0644]
html/html/images/null.gif [new file with mode: 0644]
html/html/images/off.gif [new file with mode: 0644]
html/html/images/on.gif [new file with mode: 0644]
html/html/images/reload.gif [new file with mode: 0644]
html/html/images/web-support.png [new file with mode: 0644]
html/html/include/CVS/Entries [new file with mode: 0644]
html/html/include/CVS/Repository [new file with mode: 0644]
html/html/include/CVS/Root [new file with mode: 0644]
html/html/include/CVS/Tag [new file with mode: 0644]
html/html/include/domMenu.js [new file with mode: 0644]
html/html/include/ipcop.css [new file with mode: 0644]
html/html/index.cgi [new file with mode: 0644]
html/html/ipcop_big.gif [new file with mode: 0644]
langs/CVS/Entries [new file with mode: 0644]
langs/CVS/Repository [new file with mode: 0644]
langs/CVS/Root [new file with mode: 0644]
langs/CVS/Tag [new file with mode: 0644]
langs/bz/CVS/Entries [new file with mode: 0644]
langs/bz/CVS/Repository [new file with mode: 0644]
langs/bz/CVS/Root [new file with mode: 0644]
langs/bz/CVS/Tag [new file with mode: 0644]
langs/bz/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/bz/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/bz/cgi-bin/CVS/Root [new file with mode: 0644]
langs/bz/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/bz/cgi-bin/bz.pl [new file with mode: 0644]
langs/bz/install/CVS/Entries [new file with mode: 0644]
langs/bz/install/CVS/Repository [new file with mode: 0644]
langs/bz/install/CVS/Root [new file with mode: 0644]
langs/bz/install/CVS/Tag [new file with mode: 0644]
langs/bz/install/lang_bz.c [new file with mode: 0644]
langs/cs/CVS/Entries [new file with mode: 0644]
langs/cs/CVS/Repository [new file with mode: 0644]
langs/cs/CVS/Root [new file with mode: 0644]
langs/cs/CVS/Tag [new file with mode: 0644]
langs/cs/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/cs/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/cs/cgi-bin/CVS/Root [new file with mode: 0644]
langs/cs/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/cs/cgi-bin/cs.pl [new file with mode: 0644]
langs/cs/install/CVS/Entries [new file with mode: 0644]
langs/cs/install/CVS/Repository [new file with mode: 0644]
langs/cs/install/CVS/Root [new file with mode: 0644]
langs/cs/install/CVS/Tag [new file with mode: 0644]
langs/cs/install/lang_cs.c [new file with mode: 0644]
langs/da/CVS/Entries [new file with mode: 0644]
langs/da/CVS/Repository [new file with mode: 0644]
langs/da/CVS/Root [new file with mode: 0644]
langs/da/CVS/Tag [new file with mode: 0644]
langs/da/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/da/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/da/cgi-bin/CVS/Root [new file with mode: 0644]
langs/da/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/da/cgi-bin/da.pl [new file with mode: 0644]
langs/da/install/CVS/Entries [new file with mode: 0644]
langs/da/install/CVS/Repository [new file with mode: 0644]
langs/da/install/CVS/Root [new file with mode: 0644]
langs/da/install/CVS/Tag [new file with mode: 0644]
langs/da/install/lang_da.c [new file with mode: 0644]
langs/de/CVS/Entries [new file with mode: 0644]
langs/de/CVS/Repository [new file with mode: 0644]
langs/de/CVS/Root [new file with mode: 0644]
langs/de/CVS/Tag [new file with mode: 0644]
langs/de/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/de/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/de/cgi-bin/CVS/Root [new file with mode: 0644]
langs/de/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/de/cgi-bin/de.pl [new file with mode: 0644]
langs/de/install/CVS/Entries [new file with mode: 0644]
langs/de/install/CVS/Repository [new file with mode: 0644]
langs/de/install/CVS/Root [new file with mode: 0644]
langs/de/install/CVS/Tag [new file with mode: 0644]
langs/de/install/lang_de.c [new file with mode: 0644]
langs/el/CVS/Entries [new file with mode: 0644]
langs/el/CVS/Repository [new file with mode: 0644]
langs/el/CVS/Root [new file with mode: 0644]
langs/el/CVS/Tag [new file with mode: 0644]
langs/el/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/el/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/el/cgi-bin/CVS/Root [new file with mode: 0644]
langs/el/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/el/cgi-bin/el.pl [new file with mode: 0644]
langs/el/install/CVS/Entries [new file with mode: 0644]
langs/el/install/CVS/Repository [new file with mode: 0644]
langs/el/install/CVS/Root [new file with mode: 0644]
langs/el/install/CVS/Tag [new file with mode: 0644]
langs/el/install/lang_el.c [new file with mode: 0644]
langs/en/CVS/Entries [new file with mode: 0644]
langs/en/CVS/Repository [new file with mode: 0644]
langs/en/CVS/Root [new file with mode: 0644]
langs/en/CVS/Tag [new file with mode: 0644]
langs/en/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/en/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/en/cgi-bin/CVS/Root [new file with mode: 0644]
langs/en/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/en/cgi-bin/en.pl [new file with mode: 0644]
langs/en/install/CVS/Entries [new file with mode: 0644]
langs/en/install/CVS/Repository [new file with mode: 0644]
langs/en/install/CVS/Root [new file with mode: 0644]
langs/en/install/CVS/Tag [new file with mode: 0644]
langs/en/install/lang_en.c [new file with mode: 0644]
langs/es/CVS/Entries [new file with mode: 0644]
langs/es/CVS/Repository [new file with mode: 0644]
langs/es/CVS/Root [new file with mode: 0644]
langs/es/CVS/Tag [new file with mode: 0644]
langs/es/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/es/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/es/cgi-bin/CVS/Root [new file with mode: 0644]
langs/es/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/es/cgi-bin/es.pl [new file with mode: 0644]
langs/es/install/CVS/Entries [new file with mode: 0644]
langs/es/install/CVS/Repository [new file with mode: 0644]
langs/es/install/CVS/Root [new file with mode: 0644]
langs/es/install/CVS/Tag [new file with mode: 0644]
langs/es/install/lang_es.c [new file with mode: 0644]
langs/fa/CVS/Entries [new file with mode: 0644]
langs/fa/CVS/Repository [new file with mode: 0644]
langs/fa/CVS/Root [new file with mode: 0644]
langs/fa/CVS/Tag [new file with mode: 0644]
langs/fa/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/fa/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/fa/cgi-bin/CVS/Root [new file with mode: 0644]
langs/fa/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/fa/cgi-bin/fa.pl [new file with mode: 0644]
langs/fi/CVS/Entries [new file with mode: 0644]
langs/fi/CVS/Repository [new file with mode: 0644]
langs/fi/CVS/Root [new file with mode: 0644]
langs/fi/CVS/Tag [new file with mode: 0644]
langs/fi/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/fi/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/fi/cgi-bin/CVS/Root [new file with mode: 0644]
langs/fi/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/fi/cgi-bin/fi.pl [new file with mode: 0644]
langs/fi/install/CVS/Entries [new file with mode: 0644]
langs/fi/install/CVS/Repository [new file with mode: 0644]
langs/fi/install/CVS/Root [new file with mode: 0644]
langs/fi/install/CVS/Tag [new file with mode: 0644]
langs/fi/install/lang_fi.c [new file with mode: 0644]
langs/fr/CVS/Entries [new file with mode: 0644]
langs/fr/CVS/Repository [new file with mode: 0644]
langs/fr/CVS/Root [new file with mode: 0644]
langs/fr/CVS/Tag [new file with mode: 0644]
langs/fr/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/fr/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/fr/cgi-bin/CVS/Root [new file with mode: 0644]
langs/fr/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/fr/cgi-bin/fr.pl [new file with mode: 0644]
langs/fr/install/CVS/Entries [new file with mode: 0644]
langs/fr/install/CVS/Repository [new file with mode: 0644]
langs/fr/install/CVS/Root [new file with mode: 0644]
langs/fr/install/CVS/Tag [new file with mode: 0644]
langs/fr/install/lang_fr.c [new file with mode: 0644]
langs/hu/CVS/Entries [new file with mode: 0644]
langs/hu/CVS/Repository [new file with mode: 0644]
langs/hu/CVS/Root [new file with mode: 0644]
langs/hu/CVS/Tag [new file with mode: 0644]
langs/hu/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/hu/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/hu/cgi-bin/CVS/Root [new file with mode: 0644]
langs/hu/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/hu/cgi-bin/hu.pl [new file with mode: 0644]
langs/hu/install/CVS/Entries [new file with mode: 0644]
langs/hu/install/CVS/Repository [new file with mode: 0644]
langs/hu/install/CVS/Root [new file with mode: 0644]
langs/hu/install/CVS/Tag [new file with mode: 0644]
langs/hu/install/lang_hu.c [new file with mode: 0644]
langs/it/CVS/Entries [new file with mode: 0644]
langs/it/CVS/Repository [new file with mode: 0644]
langs/it/CVS/Root [new file with mode: 0644]
langs/it/CVS/Tag [new file with mode: 0644]
langs/it/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/it/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/it/cgi-bin/CVS/Root [new file with mode: 0644]
langs/it/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/it/cgi-bin/it.pl [new file with mode: 0644]
langs/it/install/CVS/Entries [new file with mode: 0644]
langs/it/install/CVS/Repository [new file with mode: 0644]
langs/it/install/CVS/Root [new file with mode: 0644]
langs/it/install/CVS/Tag [new file with mode: 0644]
langs/it/install/lang_it.c [new file with mode: 0644]
langs/la/CVS/Entries [new file with mode: 0644]
langs/la/CVS/Repository [new file with mode: 0644]
langs/la/CVS/Root [new file with mode: 0644]
langs/la/CVS/Tag [new file with mode: 0644]
langs/la/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/la/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/la/cgi-bin/CVS/Root [new file with mode: 0644]
langs/la/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/la/cgi-bin/la.pl [new file with mode: 0644]
langs/la/install/CVS/Entries [new file with mode: 0644]
langs/la/install/CVS/Repository [new file with mode: 0644]
langs/la/install/CVS/Root [new file with mode: 0644]
langs/la/install/CVS/Tag [new file with mode: 0644]
langs/la/install/lang_la.c [new file with mode: 0644]
langs/list [new file with mode: 0644]
langs/lt/CVS/Entries [new file with mode: 0644]
langs/lt/CVS/Repository [new file with mode: 0644]
langs/lt/CVS/Root [new file with mode: 0644]
langs/lt/CVS/Tag [new file with mode: 0644]
langs/lt/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/lt/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/lt/cgi-bin/CVS/Root [new file with mode: 0644]
langs/lt/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/lt/cgi-bin/lt.pl [new file with mode: 0644]
langs/nl/CVS/Entries [new file with mode: 0644]
langs/nl/CVS/Repository [new file with mode: 0644]
langs/nl/CVS/Root [new file with mode: 0644]
langs/nl/CVS/Tag [new file with mode: 0644]
langs/nl/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/nl/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/nl/cgi-bin/CVS/Root [new file with mode: 0644]
langs/nl/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/nl/cgi-bin/nl.pl [new file with mode: 0644]
langs/nl/install/CVS/Entries [new file with mode: 0644]
langs/nl/install/CVS/Repository [new file with mode: 0644]
langs/nl/install/CVS/Root [new file with mode: 0644]
langs/nl/install/CVS/Tag [new file with mode: 0644]
langs/nl/install/lang_nl.c [new file with mode: 0644]
langs/no/CVS/Entries [new file with mode: 0644]
langs/no/CVS/Repository [new file with mode: 0644]
langs/no/CVS/Root [new file with mode: 0644]
langs/no/CVS/Tag [new file with mode: 0644]
langs/no/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/no/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/no/cgi-bin/CVS/Root [new file with mode: 0644]
langs/no/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/no/cgi-bin/no.pl [new file with mode: 0644]
langs/no/install/CVS/Entries [new file with mode: 0644]
langs/no/install/CVS/Repository [new file with mode: 0644]
langs/no/install/CVS/Root [new file with mode: 0644]
langs/no/install/CVS/Tag [new file with mode: 0644]
langs/no/install/lang_no.c [new file with mode: 0644]
langs/pl/CVS/Entries [new file with mode: 0644]
langs/pl/CVS/Repository [new file with mode: 0644]
langs/pl/CVS/Root [new file with mode: 0644]
langs/pl/CVS/Tag [new file with mode: 0644]
langs/pl/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/pl/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/pl/cgi-bin/CVS/Root [new file with mode: 0644]
langs/pl/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/pl/cgi-bin/pl.pl [new file with mode: 0644]
langs/pl/install/CVS/Entries [new file with mode: 0644]
langs/pl/install/CVS/Repository [new file with mode: 0644]
langs/pl/install/CVS/Root [new file with mode: 0644]
langs/pl/install/CVS/Tag [new file with mode: 0644]
langs/pl/install/lang_pl.c [new file with mode: 0644]
langs/pt/CVS/Entries [new file with mode: 0644]
langs/pt/CVS/Repository [new file with mode: 0644]
langs/pt/CVS/Root [new file with mode: 0644]
langs/pt/CVS/Tag [new file with mode: 0644]
langs/pt/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/pt/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/pt/cgi-bin/CVS/Root [new file with mode: 0644]
langs/pt/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/pt/cgi-bin/pt.pl [new file with mode: 0644]
langs/pt/install/CVS/Entries [new file with mode: 0644]
langs/pt/install/CVS/Repository [new file with mode: 0644]
langs/pt/install/CVS/Root [new file with mode: 0644]
langs/pt/install/CVS/Tag [new file with mode: 0644]
langs/pt/install/lang_pt.c [new file with mode: 0644]
langs/ro/CVS/Entries [new file with mode: 0644]
langs/ro/CVS/Repository [new file with mode: 0644]
langs/ro/CVS/Root [new file with mode: 0644]
langs/ro/CVS/Tag [new file with mode: 0644]
langs/ro/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/ro/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/ro/cgi-bin/CVS/Root [new file with mode: 0644]
langs/ro/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/ro/cgi-bin/ro.pl [new file with mode: 0644]
langs/ru/CVS/Entries [new file with mode: 0644]
langs/ru/CVS/Repository [new file with mode: 0644]
langs/ru/CVS/Root [new file with mode: 0644]
langs/ru/CVS/Tag [new file with mode: 0644]
langs/ru/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/ru/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/ru/cgi-bin/CVS/Root [new file with mode: 0644]
langs/ru/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/ru/cgi-bin/ru.pl [new file with mode: 0644]
langs/sk/CVS/Entries [new file with mode: 0644]
langs/sk/CVS/Repository [new file with mode: 0644]
langs/sk/CVS/Root [new file with mode: 0644]
langs/sk/CVS/Tag [new file with mode: 0644]
langs/sk/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/sk/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/sk/cgi-bin/CVS/Root [new file with mode: 0644]
langs/sk/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/sk/cgi-bin/sk.pl [new file with mode: 0644]
langs/sk/install/CVS/Entries [new file with mode: 0644]
langs/sk/install/CVS/Repository [new file with mode: 0644]
langs/sk/install/CVS/Root [new file with mode: 0644]
langs/sk/install/CVS/Tag [new file with mode: 0644]
langs/sk/install/lang_sk.c [new file with mode: 0644]
langs/sl/CVS/Entries [new file with mode: 0644]
langs/sl/CVS/Repository [new file with mode: 0644]
langs/sl/CVS/Root [new file with mode: 0644]
langs/sl/CVS/Tag [new file with mode: 0644]
langs/sl/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/sl/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/sl/cgi-bin/CVS/Root [new file with mode: 0644]
langs/sl/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/sl/cgi-bin/sl.pl [new file with mode: 0644]
langs/so/CVS/Entries [new file with mode: 0644]
langs/so/CVS/Repository [new file with mode: 0644]
langs/so/CVS/Root [new file with mode: 0644]
langs/so/CVS/Tag [new file with mode: 0644]
langs/so/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/so/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/so/cgi-bin/CVS/Root [new file with mode: 0644]
langs/so/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/so/cgi-bin/so.pl [new file with mode: 0644]
langs/so/install/CVS/Entries [new file with mode: 0644]
langs/so/install/CVS/Repository [new file with mode: 0644]
langs/so/install/CVS/Root [new file with mode: 0644]
langs/so/install/CVS/Tag [new file with mode: 0644]
langs/so/install/lang_so.c [new file with mode: 0644]
langs/sv/CVS/Entries [new file with mode: 0644]
langs/sv/CVS/Repository [new file with mode: 0644]
langs/sv/CVS/Root [new file with mode: 0644]
langs/sv/CVS/Tag [new file with mode: 0644]
langs/sv/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/sv/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/sv/cgi-bin/CVS/Root [new file with mode: 0644]
langs/sv/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/sv/cgi-bin/sv.pl [new file with mode: 0644]
langs/sv/install/CVS/Entries [new file with mode: 0644]
langs/sv/install/CVS/Repository [new file with mode: 0644]
langs/sv/install/CVS/Root [new file with mode: 0644]
langs/sv/install/CVS/Tag [new file with mode: 0644]
langs/sv/install/lang_sv.c [new file with mode: 0644]
langs/th/CVS/Entries [new file with mode: 0644]
langs/th/CVS/Repository [new file with mode: 0644]
langs/th/CVS/Root [new file with mode: 0644]
langs/th/CVS/Tag [new file with mode: 0644]
langs/th/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/th/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/th/cgi-bin/CVS/Root [new file with mode: 0644]
langs/th/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/th/cgi-bin/th.pl [new file with mode: 0644]
langs/tr/CVS/Entries [new file with mode: 0644]
langs/tr/CVS/Repository [new file with mode: 0644]
langs/tr/CVS/Root [new file with mode: 0644]
langs/tr/CVS/Tag [new file with mode: 0644]
langs/tr/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/tr/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/tr/cgi-bin/CVS/Root [new file with mode: 0644]
langs/tr/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/tr/cgi-bin/tr.pl [new file with mode: 0644]
langs/tr/install/CVS/Entries [new file with mode: 0644]
langs/tr/install/CVS/Repository [new file with mode: 0644]
langs/tr/install/CVS/Root [new file with mode: 0644]
langs/tr/install/CVS/Tag [new file with mode: 0644]
langs/tr/install/lang_tr.c [new file with mode: 0644]
langs/vi/CVS/Entries [new file with mode: 0644]
langs/vi/CVS/Repository [new file with mode: 0644]
langs/vi/CVS/Root [new file with mode: 0644]
langs/vi/CVS/Tag [new file with mode: 0644]
langs/vi/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/vi/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/vi/cgi-bin/CVS/Root [new file with mode: 0644]
langs/vi/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/vi/cgi-bin/vi.pl [new file with mode: 0644]
langs/vi/install/CVS/Entries [new file with mode: 0644]
langs/vi/install/CVS/Repository [new file with mode: 0644]
langs/vi/install/CVS/Root [new file with mode: 0644]
langs/vi/install/CVS/Tag [new file with mode: 0644]
langs/vi/install/lang_vi.c [new file with mode: 0644]
langs/zh/CVS/Entries [new file with mode: 0644]
langs/zh/CVS/Repository [new file with mode: 0644]
langs/zh/CVS/Root [new file with mode: 0644]
langs/zh/CVS/Tag [new file with mode: 0644]
langs/zh/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/zh/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/zh/cgi-bin/CVS/Root [new file with mode: 0644]
langs/zh/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/zh/cgi-bin/zh.pl [new file with mode: 0644]
langs/zt/CVS/Entries [new file with mode: 0644]
langs/zt/CVS/Repository [new file with mode: 0644]
langs/zt/CVS/Root [new file with mode: 0644]
langs/zt/CVS/Tag [new file with mode: 0644]
langs/zt/cgi-bin/CVS/Entries [new file with mode: 0644]
langs/zt/cgi-bin/CVS/Repository [new file with mode: 0644]
langs/zt/cgi-bin/CVS/Root [new file with mode: 0644]
langs/zt/cgi-bin/CVS/Tag [new file with mode: 0644]
langs/zt/cgi-bin/zt.pl [new file with mode: 0644]
lfs/3c5x9setup [new file with mode: 0644]
lfs/3cp4218 [new file with mode: 0644]
lfs/CVS/Entries [new file with mode: 0644]
lfs/CVS/Repository [new file with mode: 0644]
lfs/CVS/Root [new file with mode: 0644]
lfs/CVS/Tag [new file with mode: 0644]
lfs/Compress-Zlib [new file with mode: 0644]
lfs/Config [new file with mode: 0644]
lfs/Digest [new file with mode: 0644]
lfs/Digest-HMAC [new file with mode: 0644]
lfs/Digest-SHA1 [new file with mode: 0644]
lfs/GD [new file with mode: 0644]
lfs/HTML-Parser [new file with mode: 0644]
lfs/HTML-Tagset [new file with mode: 0644]
lfs/Net-DNS [new file with mode: 0644]
lfs/Net-IPv4Addr [new file with mode: 0644]
lfs/Net_SSLeay [new file with mode: 0644]
lfs/URI [new file with mode: 0644]
lfs/aboot [new file with mode: 0644]
lfs/amedyn [new file with mode: 0644]
lfs/apache [new file with mode: 0644]
lfs/arping [new file with mode: 0644]
lfs/as86 [new file with mode: 0644]
lfs/autoconf [new file with mode: 0644]
lfs/automake [new file with mode: 0644]
lfs/bash [new file with mode: 0644]
lfs/beep [new file with mode: 0644]
lfs/bind [new file with mode: 0644]
lfs/binutils [new file with mode: 0644]
lfs/bison [new file with mode: 0644]
lfs/boot.img [new file with mode: 0644]
lfs/busybox [new file with mode: 0644]
lfs/bzip2 [new file with mode: 0644]
lfs/capi4k-utils [new file with mode: 0644]
lfs/ccache [new file with mode: 0644]
lfs/cdrom [new file with mode: 0644]
lfs/cdrtools [new file with mode: 0644]
lfs/cnx_pci [new file with mode: 0644]
lfs/configroot [new file with mode: 0644]
lfs/coreutils [new file with mode: 0644]
lfs/cxacru [new file with mode: 0644]
lfs/dejagnu [new file with mode: 0644]
lfs/dhcp [new file with mode: 0644]
lfs/dhcpcd [new file with mode: 0644]
lfs/diffutils [new file with mode: 0644]
lfs/dnsmasq [new file with mode: 0644]
lfs/dosfstools [new file with mode: 0644]
lfs/driver.img [new file with mode: 0644]
lfs/e2fsprogs [new file with mode: 0644]
lfs/eagle [new file with mode: 0644]
lfs/eciadsl [new file with mode: 0644]
lfs/ed [new file with mode: 0644]
lfs/ethtool [new file with mode: 0644]
lfs/expat [new file with mode: 0644]
lfs/expect [new file with mode: 0644]
lfs/ez-ipupdate [new file with mode: 0644]
lfs/fcdsl [new file with mode: 0644]
lfs/fcdsl2 [new file with mode: 0644]
lfs/fcdslsl [new file with mode: 0644]
lfs/fcdslslusb [new file with mode: 0644]
lfs/fcdslusb [new file with mode: 0644]
lfs/fcron [new file with mode: 0644]
lfs/file [new file with mode: 0644]
lfs/findutils [new file with mode: 0644]
lfs/flex [new file with mode: 0644]
lfs/gawk [new file with mode: 0644]
lfs/gcc [new file with mode: 0644]
lfs/gdbm [new file with mode: 0644]
lfs/gettext [new file with mode: 0644]
lfs/glibc [new file with mode: 0644]
lfs/gmp [new file with mode: 0644]
lfs/gnupg [new file with mode: 0644]
lfs/grep [new file with mode: 0644]
lfs/groff [new file with mode: 0644]
lfs/grub [new file with mode: 0644]
lfs/gzip [new file with mode: 0644]
lfs/hdparm [new file with mode: 0644]
lfs/iana-etc [new file with mode: 0644]
lfs/ibod [new file with mode: 0644]
lfs/inetutils [new file with mode: 0644]
lfs/initrd [new file with mode: 0644]
lfs/initscripts [new file with mode: 0644]
lfs/installer [new file with mode: 0644]
lfs/ipac-ng [new file with mode: 0644]
lfs/ipaddr [new file with mode: 0644]
lfs/iproute2 [new file with mode: 0644]
lfs/iptables [new file with mode: 0644]
lfs/iptables_orig [new file with mode: 0644]
lfs/iptstate [new file with mode: 0644]
lfs/iputils [new file with mode: 0644]
lfs/isapnptools [new file with mode: 0644]
lfs/isdn4k-utils [new file with mode: 0644]
lfs/kbd [new file with mode: 0644]
lfs/kudzu [new file with mode: 0644]
lfs/less [new file with mode: 0644]
lfs/libcap [new file with mode: 0644]
lfs/libnet [new file with mode: 0644]
lfs/libpcap [new file with mode: 0644]
lfs/libpng [new file with mode: 0644]
lfs/libsafe [new file with mode: 0644]
lfs/libtool [new file with mode: 0644]
lfs/libusb [new file with mode: 0644]
lfs/libwww-perl [new file with mode: 0644]
lfs/linux [new file with mode: 0644]
lfs/linux-atm [new file with mode: 0644]
lfs/linux_orig [new file with mode: 0644]
lfs/logrotate [new file with mode: 0644]
lfs/logwatch [new file with mode: 0644]
lfs/lpd [new file with mode: 0644]
lfs/m4 [new file with mode: 0644]
lfs/make [new file with mode: 0644]
lfs/makedev [new file with mode: 0644]
lfs/man [new file with mode: 0644]
lfs/man-pages [new file with mode: 0644]
lfs/mbr [new file with mode: 0644]
lfs/mingetty [new file with mode: 0644]
lfs/misc-progs [new file with mode: 0644]
lfs/mktemp [new file with mode: 0644]
lfs/modutils [new file with mode: 0644]
lfs/mtools [new file with mode: 0644]
lfs/nano [new file with mode: 0644]
lfs/nash [new file with mode: 0644]
lfs/nasm [new file with mode: 0644]
lfs/ncurses [new file with mode: 0644]
lfs/ndiswrapper [new file with mode: 0644]
lfs/net-tools [new file with mode: 0644]
lfs/newt [new file with mode: 0644]
lfs/noip_updater [new file with mode: 0644]
lfs/ntp [new file with mode: 0644]
lfs/oinkmaster [new file with mode: 0644]
lfs/openssh [new file with mode: 0644]
lfs/openssl [new file with mode: 0644]
lfs/openswan [new file with mode: 0644]
lfs/pam [new file with mode: 0644]
lfs/patch [new file with mode: 0644]
lfs/pciutils [new file with mode: 0644]
lfs/pcmcia-cs [new file with mode: 0644]
lfs/pcre [new file with mode: 0644]
lfs/perl [new file with mode: 0644]
lfs/popt [new file with mode: 0644]
lfs/ppp [new file with mode: 0644]
lfs/pptpclient [new file with mode: 0644]
lfs/procinfo [new file with mode: 0644]
lfs/procps [new file with mode: 0644]
lfs/psmisc [new file with mode: 0644]
lfs/pulsar [new file with mode: 0644]
lfs/python [new file with mode: 0644]
lfs/rp-pppoe [new file with mode: 0644]
lfs/rrdtool [new file with mode: 0644]
lfs/scsi.img [new file with mode: 0644]
lfs/sed [new file with mode: 0644]
lfs/setserial [new file with mode: 0644]
lfs/setup [new file with mode: 0644]
lfs/shadow [new file with mode: 0644]
lfs/slang [new file with mode: 0644]
lfs/snort [new file with mode: 0644]
lfs/speedtouch [new file with mode: 0644]
lfs/speedycgi [new file with mode: 0644]
lfs/squid [new file with mode: 0644]
lfs/squid-graph [new file with mode: 0644]
lfs/stage2 [new file with mode: 0644]
lfs/stund [new file with mode: 0644]
lfs/sysklogd [new file with mode: 0644]
lfs/syslinux [new file with mode: 0644]
lfs/sysvinit [new file with mode: 0644]
lfs/tar [new file with mode: 0644]
lfs/tcl [new file with mode: 0644]
lfs/tcpdump [new file with mode: 0644]
lfs/texinfo [new file with mode: 0644]
lfs/traceroute [new file with mode: 0644]
lfs/uClibc [new file with mode: 0644]
lfs/unicorn [new file with mode: 0644]
lfs/unzip [new file with mode: 0644]
lfs/util-linux [new file with mode: 0644]
lfs/vim [new file with mode: 0644]
lfs/vlan [new file with mode: 0644]
lfs/wireless [new file with mode: 0644]
lfs/xampp [new file with mode: 0644]
lfs/zlib [new file with mode: 0644]
src/CVS/Entries [new file with mode: 0644]
src/CVS/Repository [new file with mode: 0644]
src/CVS/Root [new file with mode: 0644]
src/CVS/Tag [new file with mode: 0644]
src/ROOTFILES.alpha [new file with mode: 0644]
src/ROOTFILES.i386 [new file with mode: 0644]
src/ibod/CVS/Entries [new file with mode: 0644]
src/ibod/CVS/Repository [new file with mode: 0644]
src/ibod/CVS/Root [new file with mode: 0644]
src/ibod/CVS/Tag [new file with mode: 0644]
src/ibod/ibod.c [new file with mode: 0644]
src/ibod/ibod.cf [new file with mode: 0644]
src/ibod/ibod.h [new file with mode: 0644]
src/install+setup/CVS/Entries [new file with mode: 0644]
src/install+setup/CVS/Repository [new file with mode: 0644]
src/install+setup/CVS/Root [new file with mode: 0644]
src/install+setup/CVS/Tag [new file with mode: 0644]
src/install+setup/install/CVS/Entries [new file with mode: 0644]
src/install+setup/install/CVS/Repository [new file with mode: 0644]
src/install+setup/install/CVS/Root [new file with mode: 0644]
src/install+setup/install/CVS/Tag [new file with mode: 0644]
src/install+setup/install/Makefile [new file with mode: 0644]
src/install+setup/install/cdrom.c [new file with mode: 0644]
src/install+setup/install/config.c [new file with mode: 0644]
src/install+setup/install/grubbatch [new file with mode: 0644]
src/install+setup/install/ide.c [new file with mode: 0644]
src/install+setup/install/install.h [new file with mode: 0644]
src/install+setup/install/install2.c [new file with mode: 0644]
src/install+setup/install/main.c [new file with mode: 0644]
src/install+setup/install/net.c [new file with mode: 0644]
src/install+setup/install/nic.c [new file with mode: 0644]
src/install+setup/install/pcmcia.c [new file with mode: 0644]
src/install+setup/install/pcmcia.h [new file with mode: 0644]
src/install+setup/install/probescsi.sh [new file with mode: 0644]
src/install+setup/install/scsi.c [new file with mode: 0644]
src/install+setup/install/upgrade-v12-v13.c [new file with mode: 0644]
src/install+setup/install/upgrade-v130-v140.c [new file with mode: 0644]
src/install+setup/install/usb.c [new file with mode: 0644]
src/install+setup/libsmooth/CVS/Entries [new file with mode: 0644]
src/install+setup/libsmooth/CVS/Repository [new file with mode: 0644]
src/install+setup/libsmooth/CVS/Root [new file with mode: 0644]
src/install+setup/libsmooth/CVS/Tag [new file with mode: 0644]
src/install+setup/libsmooth/Makefile [new file with mode: 0644]
src/install+setup/libsmooth/langs.h.temp [new file with mode: 0644]
src/install+setup/libsmooth/libsmooth.h [new file with mode: 0644]
src/install+setup/libsmooth/main.c [new file with mode: 0644]
src/install+setup/libsmooth/makelangs.pl [new file with mode: 0644]
src/install+setup/libsmooth/netstuff.c [new file with mode: 0644]
src/install+setup/libsmooth/varval.c [new file with mode: 0644]
src/install+setup/setup/CVS/Entries [new file with mode: 0644]
src/install+setup/setup/CVS/Repository [new file with mode: 0644]
src/install+setup/setup/CVS/Root [new file with mode: 0644]
src/install+setup/setup/CVS/Tag [new file with mode: 0644]
src/install+setup/setup/Makefile [new file with mode: 0644]
src/install+setup/setup/dhcp.c [new file with mode: 0644]
src/install+setup/setup/domainname.c [new file with mode: 0644]
src/install+setup/setup/hostname.c [new file with mode: 0644]
src/install+setup/setup/isdn.c [new file with mode: 0644]
src/install+setup/setup/keymap.c [new file with mode: 0644]
src/install+setup/setup/main.c [new file with mode: 0644]
src/install+setup/setup/misc.c [new file with mode: 0644]
src/install+setup/setup/networking.c [new file with mode: 0644]
src/install+setup/setup/passwords.c [new file with mode: 0644]
src/install+setup/setup/setup.h [new file with mode: 0644]
src/install+setup/setup/timezone.c [new file with mode: 0644]
src/misc-progs/CVS/Entries [new file with mode: 0644]
src/misc-progs/CVS/Repository [new file with mode: 0644]
src/misc-progs/CVS/Root [new file with mode: 0644]
src/misc-progs/CVS/Tag [new file with mode: 0644]
src/misc-progs/Makefile [new file with mode: 0644]
src/misc-progs/installfcdsl.c [new file with mode: 0644]
src/misc-progs/installpackage.c [new file with mode: 0644]
src/misc-progs/iowrap.c [new file with mode: 0644]
src/misc-progs/ipcopbackup.c [new file with mode: 0644]
src/misc-progs/ipcopbkcfg.c [new file with mode: 0644]
src/misc-progs/ipcopdeath.c [new file with mode: 0644]
src/misc-progs/ipcoprebirth.c [new file with mode: 0644]
src/misc-progs/ipcopreboot.c [new file with mode: 0644]
src/misc-progs/ipcoprscfg.c [new file with mode: 0644]
src/misc-progs/ipsecctrl.c [new file with mode: 0644]
src/misc-progs/logwatch.c [new file with mode: 0644]
src/misc-progs/rebuildhosts.c [new file with mode: 0644]
src/misc-progs/restartdhcp.c [new file with mode: 0644]
src/misc-progs/restartntpd.c [new file with mode: 0644]
src/misc-progs/restartshaping.c [new file with mode: 0644]
src/misc-progs/restartsnort.c [new file with mode: 0644]
src/misc-progs/restartsquid.c [new file with mode: 0644]
src/misc-progs/restartssh.c [new file with mode: 0644]
src/misc-progs/restartsyslogd.c [new file with mode: 0644]
src/misc-progs/restartwireless.c [new file with mode: 0644]
src/misc-progs/setaliases.c [new file with mode: 0644]
src/misc-progs/setdate.c [new file with mode: 0644]
src/misc-progs/setdmzholes.c [new file with mode: 0644]
src/misc-progs/setfilters.c [new file with mode: 0644]
src/misc-progs/setportfw.c [new file with mode: 0644]
src/misc-progs/setuid.c [new file with mode: 0644]
src/misc-progs/setuid.h [new file with mode: 0644]
src/misc-progs/setxtaccess.c [new file with mode: 0644]
src/nash/CVS/Entries [new file with mode: 0644]
src/nash/CVS/Repository [new file with mode: 0644]
src/nash/CVS/Root [new file with mode: 0644]
src/nash/CVS/Tag [new file with mode: 0644]
src/nash/Makefile [new file with mode: 0644]
src/nash/linux_fs.h [new file with mode: 0644]
src/nash/mkinitrd [new file with mode: 0644]
src/nash/mount_by_label.c [new file with mode: 0644]
src/nash/mount_by_label.h [new file with mode: 0644]
src/nash/nash.8 [new file with mode: 0644]
src/nash/nash.c [new file with mode: 0644]
src/nash/sample-rc [new file with mode: 0644]
src/patches/CVS/Entries [new file with mode: 0644]
src/patches/CVS/Repository [new file with mode: 0644]
src/patches/CVS/Root [new file with mode: 0644]
src/patches/CVS/Tag [new file with mode: 0644]
src/patches/CnxADSL-cln-irqreturn.patch [new file with mode: 0644]
src/patches/busybox-0.60.5-config.patch [new file with mode: 0644]
src/patches/busybox-0.60.5-gzip.patch [new file with mode: 0644]
src/patches/busybox-0.60.5-insmod_gpl_symbols.patch [new file with mode: 0644]
src/patches/busybox-0.60.5-spider.patch [new file with mode: 0644]
src/patches/busybox-0.60.5-wget-unlink.patch [new file with mode: 0644]
src/patches/bzip2-1.0.2-chmod.patch [new file with mode: 0644]
src/patches/capi4k-utils-2004-10-06_ppp-2.4.3.patch [new file with mode: 0644]
src/patches/ccache-2.3.patch [new file with mode: 0644]
src/patches/cnx_pci_yukon.patch [new file with mode: 0644]
src/patches/dhcpcd-1.3.22-pl4_corrupt-packet.patch [new file with mode: 0644]
src/patches/e2fsprogs-1.35-install.patch [new file with mode: 0644]
src/patches/ez-ipupdate.formstring.patch [new file with mode: 0644]
src/patches/fcdsl-singlelock.patch [new file with mode: 0644]
src/patches/fcdslsl-singlelock.patch [new file with mode: 0644]
src/patches/fcdslslusb-singlelock.patch [new file with mode: 0644]
src/patches/fcdslx-irqreturn.patch [new file with mode: 0644]
src/patches/gcc-2.95.3-alpha.patch [new file with mode: 0644]
src/patches/glibc-2.3.3-ssp_frandom-2.patch [new file with mode: 0644]
src/patches/grub-0.90-append.patch [new file with mode: 0644]
src/patches/grub-0.90-symlinkmenulst.patch [new file with mode: 0644]
src/patches/grub-0.91-bootonce.patch [new file with mode: 0644]
src/patches/grub-0.91-splashimagehelp.patch [new file with mode: 0644]
src/patches/grub-0.93-configfile.patch [new file with mode: 0644]
src/patches/grub-0.93-endedit.patch [new file with mode: 0644]
src/patches/grub-0.93-graphics-bootterm.patch [new file with mode: 0644]
src/patches/grub-0.93-graphics.patch [new file with mode: 0644]
src/patches/grub-0.93-rtl8139.patch [new file with mode: 0644]
src/patches/grub-0.93-special-device-names.patch [new file with mode: 0644]
src/patches/grub-0.94-i2o.patch [new file with mode: 0644]
src/patches/gzip-1.3.3-window-size.patch [new file with mode: 0644]
src/patches/gzip-1.3.5-asm-execstack.patch [new file with mode: 0644]
src/patches/gzip-1.3.5-gunzip-dir.patch [new file with mode: 0644]
src/patches/gzip-1.3.5-perm.patch [new file with mode: 0644]
src/patches/inetutils-1.4.2-ping-1.patch [new file with mode: 0644]
src/patches/iproute2-2.4.7-netlink.patch [new file with mode: 0644]
src/patches/iproute2-includes.patch [new file with mode: 0644]
src/patches/iptables-1.2.11.patch [new file with mode: 0644]
src/patches/isdn4k-utils-v3.2p1-c89.patch [new file with mode: 0644]
src/patches/isdn4k-utils-v3.2p1-config.patch [new file with mode: 0644]
src/patches/kernel-2.4-layer7-2.1.patch [new file with mode: 0644]
src/patches/kudzu-0.99.50-pam.patch [new file with mode: 0644]
src/patches/kudzu-0.99.50-updfstab.conf.patch [new file with mode: 0644]
src/patches/libcap-1.10-shared.patch [new file with mode: 0644]
src/patches/libcap-1.10-syscall.patch [new file with mode: 0644]
src/patches/libpcap-0.8.3-ppp.patch [new file with mode: 0644]
src/patches/libpcap-0.8.3-shared.patch [new file with mode: 0644]
src/patches/libpng-1.2.8-link_to_proper_libs-1.patch [new file with mode: 0644]
src/patches/libsafe-alpha.diff [new file with mode: 0644]
src/patches/libsafe-functioncaching.diff [new file with mode: 0644]
src/patches/linux-2.4.23-olitec-isdn.patch [new file with mode: 0644]
src/patches/linux-2.4.26-proc-stat.patch [new file with mode: 0644]
src/patches/linux-2.4.26-scsi.patch [new file with mode: 0644]
src/patches/linux-2.4.27-frandom-2.patch [new file with mode: 0644]
src/patches/linux-2.4.27-ssp-1.patch [new file with mode: 0644]
src/patches/linux-2.4.28-imq2.diff [new file with mode: 0644]
src/patches/linux-2.4.29_r8169clone.patch [new file with mode: 0644]
src/patches/make_devices.patch [new file with mode: 0644]
src/patches/net-tools-1.60-cleanup-list-handling.patch [new file with mode: 0644]
src/patches/net-tools-1.60-get_name.patch [new file with mode: 0644]
src/patches/newt-0.50.17-colors.patch [new file with mode: 0644]
src/patches/newt-0.50.17-vaend.patch [new file with mode: 0644]
src/patches/ntp-4.2.0-linuxcaps.patch [new file with mode: 0644]
src/patches/openswan-1.0.1-plutoctl.patch [new file with mode: 0644]
src/patches/openswan-1.0.6-numif.patch [new file with mode: 0644]
src/patches/openswan-1.0.9-restart.patch [new file with mode: 0644]
src/patches/pam-0.99.3.0-hostname.patch [new file with mode: 0644]
src/patches/patch-o-matic-ng-20040621_03_2.4.29.patch [new file with mode: 0644]
src/patches/patch-o-matic-ng-20040621_pptp_2.4.29.patch [new file with mode: 0644]
src/patches/patch-o-matic-ng-raw_2.4.31.patch [new file with mode: 0644]
src/patches/pcre-4.5-CAN-2005-2491.patch [new file with mode: 0644]
src/patches/perl-5.8.5-perlio_debug_security.patch [new file with mode: 0644]
src/patches/perl-5.8.5-tempfiles.patch [new file with mode: 0644]
src/patches/perl.patch [new file with mode: 0644]
src/patches/pomng.fix [new file with mode: 0644]
src/patches/ppp-2.4.1-oedod.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-close.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-pppoatm-modprobe.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-pppoatm-persist.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-pppoatm.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-printstats.patch [new file with mode: 0644]
src/patches/ppp-2.4.2-signal.patch [new file with mode: 0644]
src/patches/ppp_generic-ppp-2.4.3_multilink.patch [new file with mode: 0644]
src/patches/proc_net_conntrack-permissions.patch [new file with mode: 0644]
src/patches/speedtouch-1.2-isdn.patch [new file with mode: 0644]
src/patches/sysklogd-1.3-31-rh-ksyslog-nul.diff [new file with mode: 0644]
src/patches/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff [new file with mode: 0644]
src/patches/sysklogd-1.4.1-caen-owl-syslogd-bind.diff [new file with mode: 0644]
src/patches/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff [new file with mode: 0644]
src/patches/sysklogd-1.4.1-owl-syslogd-crunch_list.diff [new file with mode: 0644]
src/patches/tcpdump-3.8.2-bgp-dos-2.patch [new file with mode: 0644]
src/patches/tcpdump-3.8.2-bgp-dos.patch [new file with mode: 0644]
src/patches/tcpdump-3.8.2-isis-dos.patch [new file with mode: 0644]
src/patches/tcpdump-3.8.2-ldp-dos.patch [new file with mode: 0644]
src/patches/tcpdump-3.8.2-rsvp-dos.patch [new file with mode: 0644]
src/patches/util-linux-2.12a-umount_CAN-2005-2876.patch [new file with mode: 0644]
src/patches/viscii10-8x16-new.psfu [new file with mode: 0644]
src/pcmcia/CVS/Entries [new file with mode: 0644]
src/pcmcia/CVS/Repository [new file with mode: 0644]
src/pcmcia/CVS/Root [new file with mode: 0644]
src/pcmcia/CVS/Tag [new file with mode: 0644]
src/pcmcia/isdnextra.conf [new file with mode: 0644]
src/pcmcia/netextra.conf [new file with mode: 0644]
src/ppp/CVS/Entries [new file with mode: 0644]
src/ppp/CVS/Repository [new file with mode: 0644]
src/ppp/CVS/Root [new file with mode: 0644]
src/ppp/CVS/Tag [new file with mode: 0644]
src/ppp/demonloginscript [new file with mode: 0644]
src/ppp/dialer [new file with mode: 0644]
src/ppp/ioptions [new file with mode: 0644]
src/ppp/ip-down [new file with mode: 0644]
src/ppp/ip-up [new file with mode: 0644]
src/ppp/options [new file with mode: 0644]
src/ppp/standardloginscript [new file with mode: 0644]
src/rc.d/CVS/Entries [new file with mode: 0644]
src/rc.d/CVS/Repository [new file with mode: 0644]
src/rc.d/CVS/Root [new file with mode: 0644]
src/rc.d/CVS/Tag [new file with mode: 0644]
src/rc.d/helper/CVS/Entries [new file with mode: 0644]
src/rc.d/helper/CVS/Repository [new file with mode: 0644]
src/rc.d/helper/CVS/Root [new file with mode: 0644]
src/rc.d/helper/CVS/Tag [new file with mode: 0644]
src/rc.d/helper/getdnsfromdhcpc.pl [new file with mode: 0644]
src/rc.d/helper/writeipac.pl [new file with mode: 0644]
src/rc.d/rc.3cp4218usbadsl [new file with mode: 0644]
src/rc.d/rc.alcatelusb [new file with mode: 0644]
src/rc.d/rc.alcatelusbk [new file with mode: 0644]
src/rc.d/rc.amedynusbadsl [new file with mode: 0644]
src/rc.d/rc.bewanadsl [new file with mode: 0644]
src/rc.d/rc.conexantpciadsl [new file with mode: 0644]
src/rc.d/rc.conexantusbadsl [new file with mode: 0644]
src/rc.d/rc.connectioncheck [new file with mode: 0644]
src/rc.d/rc.eagleusbadsl [new file with mode: 0644]
src/rc.d/rc.eciadsl [new file with mode: 0644]
src/rc.d/rc.firewall [new file with mode: 0644]
src/rc.d/rc.firewall.local [new file with mode: 0644]
src/rc.d/rc.flash.down [new file with mode: 0644]
src/rc.d/rc.flash.up [new file with mode: 0644]
src/rc.d/rc.fritzdsl [new file with mode: 0644]
src/rc.d/rc.halt [new file with mode: 0644]
src/rc.d/rc.isdn [new file with mode: 0644]
src/rc.d/rc.local [new file with mode: 0644]
src/rc.d/rc.netaddress.down [new file with mode: 0644]
src/rc.d/rc.netaddress.up [new file with mode: 0644]
src/rc.d/rc.network [new file with mode: 0644]
src/rc.d/rc.pulsardsl [new file with mode: 0644]
src/rc.d/rc.red [new file with mode: 0644]
src/rc.d/rc.sysinit [new file with mode: 0644]
src/rc.d/rc.updatered [new file with mode: 0644]
src/scripts/CVS/Entries [new file with mode: 0644]
src/scripts/CVS/Repository [new file with mode: 0644]
src/scripts/CVS/Root [new file with mode: 0644]
src/scripts/CVS/Tag [new file with mode: 0644]
src/scripts/httpscert [new file with mode: 0644]
src/scripts/makegraphs [new file with mode: 0644]
src/scripts/readhash [new file with mode: 0644]
src/scripts/resetusb [new file with mode: 0644]
src/scripts/setddns.pl [new file with mode: 0644]
src/scripts/setreservedports [new file with mode: 0644]
src/scripts/settime [new file with mode: 0644]
src/scripts/timecheck [new file with mode: 0644]
src/scripts/tunerrd.pl [new file with mode: 0644]
src/scripts/updatelists.pl [new file with mode: 0644]
src/scripts/updatesetup [new file with mode: 0644]
src/uClibc/CVS/Entries [new file with mode: 0644]
src/uClibc/CVS/Repository [new file with mode: 0644]
src/uClibc/CVS/Root [new file with mode: 0644]
src/uClibc/CVS/Tag [new file with mode: 0644]
src/uClibc/Makefile [new file with mode: 0644]
src/uClibc/make/CVS/Entries [new file with mode: 0644]
src/uClibc/make/CVS/Repository [new file with mode: 0644]
src/uClibc/make/CVS/Root [new file with mode: 0644]
src/uClibc/make/CVS/Tag [new file with mode: 0644]
src/uClibc/make/binutils.mk [new file with mode: 0644]
src/uClibc/make/gcc-3.3.mk [new file with mode: 0644]
src/uClibc/make/uclibc.mk [new file with mode: 0644]
src/uClibc/sources/CVS/Entries [new file with mode: 0644]
src/uClibc/sources/CVS/Repository [new file with mode: 0644]
src/uClibc/sources/CVS/Root [new file with mode: 0644]
src/uClibc/sources/CVS/Tag [new file with mode: 0644]
src/uClibc/sources/binutils-001-debian.patch [new file with mode: 0644]
src/uClibc/sources/binutils-002-uclibc.patch [new file with mode: 0644]
src/uClibc/sources/codesets.txt [new file with mode: 0644]
src/uClibc/sources/gcc-001-disable-mathf.patch [new file with mode: 0644]
src/uClibc/sources/gcc-006-include-search.patch [new file with mode: 0644]
src/uClibc/sources/gcc-810-libstd++-locale.patch [new file with mode: 0644]
src/uClibc/sources/gcc-830-nonhidden.patch [new file with mode: 0644]
src/uClibc/sources/gcc-840-abi_check.patch [new file with mode: 0644]
src/uClibc/sources/i386-gcc-soft-float.patch [new file with mode: 0644]
src/uClibc/sources/locales.txt [new file with mode: 0644]
src/uClibc/sources/patch-kernel.sh [new file with mode: 0644]
src/uClibc/sources/uClibc.config [new file with mode: 0644]
tools/CVS/Entries [new file with mode: 0644]
tools/CVS/Repository [new file with mode: 0644]
tools/CVS/Root [new file with mode: 0644]
tools/CVS/Tag [new file with mode: 0644]
tools/check_langs.sh [new file with mode: 0644]
tools/check_strings.pl [new file with mode: 0644]
tools/cvs2cl.pl [new file with mode: 0644]
tools/cvs2sql.pl [new file with mode: 0644]
tools/fetchlangs.pl [new file with mode: 0644]
tools/mkflash/CVS/Entries [new file with mode: 0644]
tools/mkflash/CVS/Repository [new file with mode: 0644]
tools/mkflash/CVS/Root [new file with mode: 0644]
tools/mkflash/CVS/Tag [new file with mode: 0644]
tools/mkflash/logrotate.conf [new file with mode: 0644]
tools/mkflash/mkflash [new file with mode: 0644]
tools/mkflash/settings.8139 [new file with mode: 0644]
tools/perfTest.sh [new file with mode: 0644]
updates/1.4.1/.cvsignore [new file with mode: 0644]
updates/1.4.1/CVS/Entries [new file with mode: 0644]
updates/1.4.1/CVS/Repository [new file with mode: 0644]
updates/1.4.1/CVS/Root [new file with mode: 0644]
updates/1.4.1/CVS/Tag [new file with mode: 0644]
updates/1.4.1/ROOTFILES.alpha-1.4.1 [new file with mode: 0644]
updates/1.4.1/ROOTFILES.i386-1.4.1 [new file with mode: 0644]
updates/1.4.1/information [new file with mode: 0644]
updates/1.4.1/setup [new file with mode: 0644]
updates/1.4.10/.cvsignore [new file with mode: 0644]
updates/1.4.10/CVS/Entries [new file with mode: 0644]
updates/1.4.10/CVS/Repository [new file with mode: 0644]
updates/1.4.10/CVS/Root [new file with mode: 0644]
updates/1.4.10/CVS/Tag [new file with mode: 0644]
updates/1.4.10/ROOTFILES.alpha-1.4.10 [new file with mode: 0644]
updates/1.4.10/ROOTFILES.i386-1.4.10 [new file with mode: 0644]
updates/1.4.10/fixbackups.sh [new file with mode: 0644]
updates/1.4.10/information [new file with mode: 0644]
updates/1.4.10/setup [new file with mode: 0644]
updates/1.4.11/.cvsignore [new file with mode: 0644]
updates/1.4.11/CVS/Entries [new file with mode: 0644]
updates/1.4.11/CVS/Repository [new file with mode: 0644]
updates/1.4.11/CVS/Root [new file with mode: 0644]
updates/1.4.11/CVS/Tag [new file with mode: 0644]
updates/1.4.11/ROOTFILES.alpha-1.4.11 [new file with mode: 0644]
updates/1.4.11/ROOTFILES.i386-1.4.11 [new file with mode: 0644]
updates/1.4.11/information [new file with mode: 0644]
updates/1.4.11/patch.tar.gz [new file with mode: 0644]
updates/1.4.11/setup [new file with mode: 0644]
updates/1.4.2/.cvsignore [new file with mode: 0644]
updates/1.4.2/CVS/Entries [new file with mode: 0644]
updates/1.4.2/CVS/Repository [new file with mode: 0644]
updates/1.4.2/CVS/Root [new file with mode: 0644]
updates/1.4.2/CVS/Tag [new file with mode: 0644]
updates/1.4.2/ROOTFILES.alpha-1.4.2 [new file with mode: 0644]
updates/1.4.2/ROOTFILES.i386-1.4.2 [new file with mode: 0644]
updates/1.4.2/information [new file with mode: 0644]
updates/1.4.2/setup [new file with mode: 0644]
updates/1.4.3/.cvsignore [new file with mode: 0644]
updates/1.4.3/CVS/Entries [new file with mode: 0644]
updates/1.4.3/CVS/Repository [new file with mode: 0644]
updates/1.4.3/CVS/Root [new file with mode: 0644]
updates/1.4.3/CVS/Tag [new file with mode: 0644]
updates/1.4.3/ROOTFILES.alpha-1.4.3 [new file with mode: 0644]
updates/1.4.3/ROOTFILES.i386-1.4.3 [new file with mode: 0644]
updates/1.4.3/information [new file with mode: 0644]
updates/1.4.3/setup [new file with mode: 0644]
updates/1.4.4/.cvsignore [new file with mode: 0644]
updates/1.4.4/CVS/Entries [new file with mode: 0644]
updates/1.4.4/CVS/Repository [new file with mode: 0644]
updates/1.4.4/CVS/Root [new file with mode: 0644]
updates/1.4.4/CVS/Tag [new file with mode: 0644]
updates/1.4.4/ROOTFILES.alpha-1.4.4 [new file with mode: 0644]
updates/1.4.4/ROOTFILES.i386-1.4.4 [new file with mode: 0644]
updates/1.4.4/information [new file with mode: 0644]
updates/1.4.4/setup [new file with mode: 0644]
updates/1.4.5/.cvsignore [new file with mode: 0644]
updates/1.4.5/CVS/Entries [new file with mode: 0644]
updates/1.4.5/CVS/Repository [new file with mode: 0644]
updates/1.4.5/CVS/Root [new file with mode: 0644]
updates/1.4.5/CVS/Tag [new file with mode: 0644]
updates/1.4.5/ROOTFILES.alpha-1.4.5 [new file with mode: 0644]
updates/1.4.5/ROOTFILES.i386-1.4.5 [new file with mode: 0644]
updates/1.4.5/information [new file with mode: 0644]
updates/1.4.5/setup [new file with mode: 0644]
updates/1.4.6/.cvsignore [new file with mode: 0644]
updates/1.4.6/CVS/Entries [new file with mode: 0644]
updates/1.4.6/CVS/Repository [new file with mode: 0644]
updates/1.4.6/CVS/Root [new file with mode: 0644]
updates/1.4.6/CVS/Tag [new file with mode: 0644]
updates/1.4.6/ROOTFILES.alpha-1.4.6 [new file with mode: 0644]
updates/1.4.6/ROOTFILES.i386-1.4.6 [new file with mode: 0644]
updates/1.4.6/information [new file with mode: 0644]
updates/1.4.6/setup [new file with mode: 0644]
updates/1.4.7/.cvsignore [new file with mode: 0644]
updates/1.4.7/CVS/Entries [new file with mode: 0644]
updates/1.4.7/CVS/Repository [new file with mode: 0644]
updates/1.4.7/CVS/Root [new file with mode: 0644]
updates/1.4.7/CVS/Tag [new file with mode: 0644]
updates/1.4.7/ROOTFILES.alpha-1.4.7 [new file with mode: 0644]
updates/1.4.7/ROOTFILES.i386-1.4.7 [new file with mode: 0644]
updates/1.4.7/information [new file with mode: 0644]
updates/1.4.7/setup [new file with mode: 0644]
updates/1.4.8/.cvsignore [new file with mode: 0644]
updates/1.4.8/CVS/Entries [new file with mode: 0644]
updates/1.4.8/CVS/Repository [new file with mode: 0644]
updates/1.4.8/CVS/Root [new file with mode: 0644]
updates/1.4.8/CVS/Tag [new file with mode: 0644]
updates/1.4.8/ROOTFILES.alpha-1.4.8 [new file with mode: 0644]
updates/1.4.8/ROOTFILES.i386-1.4.8 [new file with mode: 0644]
updates/1.4.8/information [new file with mode: 0644]
updates/1.4.8/setup [new file with mode: 0644]
updates/1.4.9/.cvsignore [new file with mode: 0644]
updates/1.4.9/CVS/Entries [new file with mode: 0644]
updates/1.4.9/CVS/Repository [new file with mode: 0644]
updates/1.4.9/CVS/Root [new file with mode: 0644]
updates/1.4.9/CVS/Tag [new file with mode: 0644]
updates/1.4.9/ROOTFILES.alpha-1.4.9 [new file with mode: 0644]
updates/1.4.9/ROOTFILES.i386-1.4.9 [new file with mode: 0644]
updates/1.4.9/header.pl.patch [new file with mode: 0644]
updates/1.4.9/information [new file with mode: 0644]
updates/1.4.9/setup [new file with mode: 0644]
updates/CVS/Entries [new file with mode: 0644]
updates/CVS/Repository [new file with mode: 0644]
updates/CVS/Root [new file with mode: 0644]
updates/CVS/Tag [new file with mode: 0644]

diff --git a/.cvsignore b/.cvsignore
new file mode 100644 (file)
index 0000000..60e864f
--- /dev/null
@@ -0,0 +1,8 @@
+build
+cache
+ccache
+log
+*.img
+*.iso
+*.tgz
+*.gpg
diff --git a/config/CVS/Entries b/config/CVS/Entries
new file mode 100644 (file)
index 0000000..5499ccc
--- /dev/null
@@ -0,0 +1,12 @@
+D/aboot////
+D/cdrom////
+D/cfgroot////
+D/cron////
+D/etc////
+D/grub////
+D/httpd////
+D/install////
+D/ipac-ng////
+D/kernel////
+D/snort////
+D/ssl////
diff --git a/config/CVS/Repository b/config/CVS/Repository
new file mode 100644 (file)
index 0000000..c239249
--- /dev/null
@@ -0,0 +1 @@
+ipcop/config
diff --git a/config/CVS/Root b/config/CVS/Root
new file mode 100644 (file)
index 0000000..95a1bd0
--- /dev/null
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipcop
diff --git a/config/CVS/Tag b/config/CVS/Tag
new file mode 100644 (file)
index 0000000..6331936
--- /dev/null
@@ -0,0 +1 @@
+TIPCOP_v1_4_0
diff --git a/config/aboot/CVS/Entries b/config/aboot/CVS/Entries
new file mode 100644 (file)
index 0000000..fda2791
--- /dev/null
@@ -0,0 +1,3 @@
+/aboot.conf/1.1/Sun Feb  8 21:29:00 2004//TIPCOP_v1_4_0
+/scsiaboot.conf/1.1/Sun Feb  8 21:29:00 2004//TIPCOP_v1_4_0
+D
diff --git a/config/aboot/CVS/Repository b/config/aboot/CVS/Repository
new file mode 100644 (file)
index 0000000..7254313
--- /dev/null
@@ -0,0 +1 @@
+ipcop/config/aboot
diff --git a/config/aboot/CVS/Root b/config/aboot/CVS/Root
new file mode 100644 (file)
index 0000000..95a1bd0
--- /dev/null
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipcop
diff --git a/config/aboot/CVS/Tag b/config/aboot/CVS/Tag
new file mode 100644 (file)
index 0000000..6331936
--- /dev/null
@@ -0,0 +1 @@
+TIPCOP_v1_4_0
diff --git a/config/aboot/aboot.conf b/config/aboot/aboot.conf
new file mode 100644 (file)
index 0000000..f5697a8
--- /dev/null
@@ -0,0 +1 @@
+0:1/vmlinuz root=ROOT panic=10 ro
diff --git a/config/aboot/scsiaboot.conf b/config/aboot/scsiaboot.conf
new file mode 100644 (file)
index 0000000..b3f0fb3
--- /dev/null
@@ -0,0 +1 @@
+0:1/vmlinuz root=ROOT panic=10 initrd=ipcoprd.img init=/linuxrc rw
diff --git a/config/cdrom/CVS/Entries b/config/cdrom/CVS/Entries
new file mode 100644 (file)
index 0000000..33acf6f
--- /dev/null
@@ -0,0 +1,2 @@
+/README.txt/1.3/Thu Jan  8 20:02:38 2004//TIPCOP_v1_4_0
+D
diff --git a/config/cdrom/CVS/Repository b/config/cdrom/CVS/Repository
new file mode 100644 (file)
index 0000000..ac64887
--- /dev/null
@@ -0,0 +1 @@
+ipcop/config/cdrom
diff --git a/config/cdrom/CVS/Root b/config/cdrom/CVS/Root
new file mode 100644 (file)
index 0000000..95a1bd0
--- /dev/null
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipcop
diff --git a/config/cdrom/CVS/Tag b/config/cdrom/CVS/Tag
new file mode 100644 (file)
index 0000000..6331936
--- /dev/null
@@ -0,0 +1 @@
+TIPCOP_v1_4_0
diff --git a/config/cdrom/README.txt b/config/cdrom/README.txt
new file mode 100644 (file)
index 0000000..a6056ec
--- /dev/null
@@ -0,0 +1,42 @@
+IPCop - The Bad Packets Stop Here (VERSION)\r
+------------------------------------------\r
+\r
+Installation\r
+------------\r
+\r
+Please read the IPCop Installation PDF before installing the firewall.\r
+This document is located in the \doc directory on the cdrom.  It will\r
+guide you through the installation process and will help you make the\r
+necessary decisions during the installation process.\r
+\r
+\r
+DOS Image utility tools\r
+-----------------------\r
+\r
+The dosutils directory contains the following DOS and Windows applications,\r
+please use with caution and please can we draw your attention to the \r
+documentation on the IPCop CD or install image on your network drive. \r
+We also draw your attention to the disclaimer of Warranty below.\r
+\r
+rawrite.exe    - rawrite executable\r
+rawwritewin.exe - rawwrite for Windows\r
+diskio.dll     - this MUST be in the same directory as rawrite for Windows\r
+copying.txt    - text file\r
+\r
+\r
+License\r
+-------\r
+\r
+Please read the file COPYING for more information on the license.\r
+\r
+\r
+Disclaimer of Warranty\r
+----------------------\r
+\r
+Users of this software must accept this disclaimer of warranty:  "This\r
+software is supplied AS IS.  IPCop disclaims all warranties, expressed\r
+or implied, including, without limitation, the warranties of merchantability\r
+and of fitness for any purpose.  IPCop assumes no liability for\r
+damages, direct or consequential, which may result from the use of this\r
+software."\r
+\r
diff --git a/config/cfgroot/CVS/Entries b/config/cfgroot/CVS/Entries
new file mode 100644 (file)
index 0000000..5c502a8
--- /dev/null
@@ -0,0 +1,21 @@
+/advoptions-list/1.1.2.3/Sat May  7 13:01:32 2005//TIPCOP_v1_4_0
+/backup-exclude/1.3.2.6/Tue Nov  1 19:20:52 2005//TIPCOP_v1_4_0
+/backup-exclude.hardware/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/backup-include/1.4.2.1/Sun Apr 25 06:57:03 2004//TIPCOP_v1_4_0
+/countries.pl/1.2.2.1/Wed Jan 26 12:23:19 2005//TIPCOP_v1_4_0
+/defaultservices/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/general-functions.pl/1.1.2.26/Wed Jan  4 16:33:55 2006//TIPCOP_v1_4_0
+/header-menu.pl/1.1.2.2/Sat Nov 19 16:48:45 2005//TIPCOP_v1_4_0
+/header.pl/1.34.2.67/Mon Oct  3 20:01:05 2005//TIPCOP_v1_4_0
+/icmptypes/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/ipcop.gpg/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/lang.pl/1.1.2.11/Sat Sep 10 16:22:50 2005//TIPCOP_v1_4_0
+/logging-settings/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/modem-defaults/1.1.1.1.8.1/Sun Jan  2 10:01:00 2005//TIPCOP_v1_4_0
+/modem-settings/1.1.1.1.8.1/Sun Jan  2 10:01:01 2005//TIPCOP_v1_4_0
+/oinkmaster.conf/1.1.2.2/Mon May  2 17:11:58 2005//TIPCOP_v1_4_0
+/protocols.pl/1.2.2.1/Wed Jan 26 12:23:20 2005//TIPCOP_v1_4_0
+/proxy-acl/1.2.2.4/Thu Dec  1 20:19:12 2005//TIPCOP_v1_4_0
+/time-settings/1.2/Thu Dec 11 11:15:33 2003//TIPCOP_v1_4_0
+/xtaccess-config/1.2/Thu Dec 11 10:57:32 2003//TIPCOP_v1_4_0
+D
diff --git a/config/cfgroot/CVS/Repository b/config/cfgroot/CVS/Repository
new file mode 100644 (file)
index 0000000..3b2e70c
--- /dev/null
@@ -0,0 +1 @@
+ipcop/config/cfgroot
diff --git a/config/cfgroot/CVS/Root b/config/cfgroot/CVS/Root
new file mode 100644 (file)
index 0000000..95a1bd0
--- /dev/null
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipcop
diff --git a/config/cfgroot/CVS/Tag b/config/cfgroot/CVS/Tag
new file mode 100644 (file)
index 0000000..6331936
--- /dev/null
@@ -0,0 +1 @@
+TIPCOP_v1_4_0
diff --git a/config/cfgroot/advoptions-list b/config/cfgroot/advoptions-list
new file mode 100644 (file)
index 0000000..8a1e75e
--- /dev/null
@@ -0,0 +1,56 @@
+option all-subnets-local flag;
+option arp-cache-timeout uint32;
+option bootfile-name string;
+option boot-size uint16;
+option broadcast-address ip-address;
+option cookie-servers ip-address [, ip-address... ];
+option default-ip-ttl uint8;
+option default-tcp-ttl uint8;
+option dhcp-client-identifier data-string;
+option finger-server ip-address [, ip-address... ];
+option font-servers ip-address [, ip-address... ];
+option host-name string;
+option ieee802-3-encapsulation flag;
+option ien116-name-servers ip-address [, ip-address... ];
+option impress-servers ip-address [, ip-address... ];
+option interface-mtu uint16;
+option ip-forwarding flag;
+option irc-server ip-address [, ip-address... ];
+option log-servers ip-address [, ip-address... ];
+option lpr-servers ip-address [, ip-address... ];
+option mask-supplier flag;
+option max-dgram-reassembly uint16;
+option merit-dump string;
+option mobile-ip-home-agent ip-address [, ip-address... ];
+option netbios-dd-server ip-address [, ip-address... ];
+option netbios-node-type uint8;
+option netbios-scope string;
+option nis-domain string;
+option nisplus-domain string;
+option nisplus-servers ip-address [, ip-address... ];
+option nis-servers ip-address [, ip-address... ];
+option nntp-server ip-address [, ip-address... ];
+option non-local-source-routing flag;
+option ntp-servers ip-address [, ip-address... ];
+option path-mtu-aging-timeout uint32;
+option path-mtu-plateau-table uint16 [, uint16... ];
+option perform-mask-discovery flag;
+option policy-filter ip-address ip-address [, ip-address ip-address... ];
+option pop-server ip-address [, ip-address... ];
+option resource-location-servers ip-address [, ip-address... ];
+option root-path string;
+option router-discovery flag;
+option router-solicitation-address ip-address;
+option smtp-server ip-address [, ip-address... ];
+option static-routes ip-address ip-address [, ip-address ip-address... ];
+option streettalk-directory-assistance-server ip-address [, ip-address... ];
+option streettalk-server ip-address [, ip-address... ];
+option swap-server ip-address;
+option tcp-keepalive-garbage flag;
+option tcp-keepalive-interval uint32;
+option tftp-server-name string;
+option time-offset int32;
+option time-servers ip-address [, ip-address... ];
+option trailer-encapsulation flag;
+option www-server ip-address [, ip-address... ];
+option x-display-manager ip-address [, ip-address... ];
diff --git a/config/cfgroot/backup-exclude b/config/cfgroot/backup-exclude
new file mode 100644 (file)
index 0000000..e528590
--- /dev/null
@@ -0,0 +1,20 @@
+var/ipcop/backup/*.system
+var/ipcop/backup/backup.key
+var/ipcop/backup/sets
+var/ipcop/countries.pl
+var/ipcop/dhcpc
+var/ipcop/eciadsl/modems.db
+var/ipcop/eciadsl/firmware00.bin
+var/ipcop/header.pl
+var/ipcop/general-functions.pl
+var/ipcop/lang.pl
+var/ipcop/key
+var/ipcop/langs
+var/ipcop/patches
+var/ipcop/ppp/fake-resolv.conf
+var/ipcop/red
+var/ipcop/time/counter
+var/ipcop/firewall/protocols.pl
+var/ipcop/firewall/defaultservices
+var/ipcop/firewall/icmptypes
+var/ipcop/addon-lang
diff --git a/config/cfgroot/backup-exclude.hardware b/config/cfgroot/backup-exclude.hardware
new file mode 100644 (file)
index 0000000..d6bcd15
--- /dev/null
@@ -0,0 +1 @@
+var/ipcop/ethernet/settings
diff --git a/config/cfgroot/backup-include b/config/cfgroot/backup-include
new file mode 100644 (file)
index 0000000..c8d66bd
--- /dev/null
@@ -0,0 +1,16 @@
+/etc/passwd
+/etc/shadow
+/etc/hosts
+/etc/localtime
+/etc/httpd/server.crt
+/etc/httpd/server.csr
+/etc/httpd/server.key
+/etc/rc.d/rc.local
+/etc/rc.d/rc.firewall.local
+/etc/ssh/ssh_host_dsa_key
+/etc/ssh/ssh_host_dsa_key.pub
+/etc/ssh/ssh_host_key
+/etc/ssh/ssh_host_key.pub
+/etc/ssh/ssh_host_rsa_key
+/etc/ssh/ssh_host_rsa_key.pub
+/var/ipcop/
diff --git a/config/cfgroot/countries.pl b/config/cfgroot/countries.pl
new file mode 100644 (file)
index 0000000..6e364b4
--- /dev/null
@@ -0,0 +1,250 @@
+package Countries;\r
+\r
+%countries = (\r
+'Afghanistan' => 'AF',\r
+'Albania' => 'AL',\r
+'Algeria' => 'DZ',\r
+'American Samoa' => 'AS',\r
+'Andorra' => 'AD',\r
+'Angola' => 'AO',\r
+'Anguilla' => 'AI',\r
+'Antarctica' => 'AQ',\r
+'Antigua and Barbuda' => 'AG',\r
+'Argentina' => 'AR',\r
+'Armenia' => 'AM',\r
+'Aruba' => 'AW',\r
+'Australia' => 'AU',\r
+'Austria' => 'AT',\r
+'Azerbaijan' => 'AZ',\r
+'Bahamas' => 'BS',\r
+'Bahrain' => 'BH',\r
+'Bangladesh' => 'BD',\r
+'Barbados' => 'BB',\r
+'Belarus' => 'BY',\r
+'Belgium' => 'BE',\r
+'Belize' => 'BZ',\r
+'Benin' => 'BJ',\r
+'Bermuda' => 'BM',\r
+'Bhutan' => 'BT',\r
+'Bolivia' => 'BO',\r
+'Bosnia and Herzegovina' => 'BA',\r
+'Botswana' => 'BW',\r
+'Bouvet Island' => 'BV',\r
+'Brazil' => 'BR',\r
+'British Indian Ocean Territory' => 'IO',\r
+'Brunei Darussalam' => 'BN',\r
+'Bulgaria' => 'BG',\r
+'Burkina Faso' => 'BF',\r
+'Burundi' => 'BI',\r
+'Cambodia' => 'KH',\r
+'Cameroon' => 'CM',\r
+'Canada' => 'CA',\r
+'Cape Verde' => 'CV',\r
+'Cayman Islands' => 'KY',\r
+'Central African Republic' => 'CF',\r
+'Chad' => 'TD',\r
+'Chile' => 'CL',\r
+'China' => 'CN',\r
+'Christmas Island' => 'CX',\r
+'Cocos (Keeling) Islands' => 'CC',\r
+'Colombia' => 'CO',\r
+'Comoros' => 'KM',\r
+'Congo' => 'CG',\r
+'Cook Islands' => 'CK',\r
+'Costa Rica' => 'CR',\r
+'Cote D\'Ivoire (Ivory Coast)' => 'CI',\r
+'Croatia (Hrvatska)' => 'HR',\r
+'Cuba' => 'CU',\r
+'Cyprus' => 'CY',\r
+'Czech Republic' => 'CZ',\r
+'Czechoslovakia (former)' => 'CS',\r
+'Denmark' => 'DK',\r
+'Djibouti' => 'DJ',\r
+'Dominica' => 'DM',\r
+'Dominican Republic' => 'DO',\r
+'East Timor' => 'TP',\r
+'Ecuador' => 'EC',\r
+'Egypt' => 'EG',\r
+'El Salvador' => 'SV',\r
+'Equatorial Guinea' => 'GQ',\r
+'Eritrea' => 'ER',\r
+'Estonia' => 'EE',\r
+'Ethiopia' => 'ET',\r
+'Falkland Islands (Malvinas)' => 'FK',\r
+'Faroe Islands' => 'FO',\r
+'Fiji' => 'FJ',\r
+'Finland' => 'FI',\r
+'France' => 'FR',\r
+'France, Metropolitan' => 'FX',\r
+'French Guiana' => 'GF',\r
+'French Polynesia' => 'PF',\r
+'French Southern Territories' => 'TF',\r
+'Gabon' => 'GA',\r
+'Gambia' => 'GM',\r
+'Georgia' => 'GE',\r
+'Germany' => 'DE',\r
+'Ghana' => 'GH',\r
+'Gibraltar' => 'GI',\r
+'Great Britain (UK)' => 'GB',\r
+'Greece' => 'GR',\r
+'Greenland' => 'GL',\r
+'Grenada' => 'GD',\r
+'Guadeloupe' => 'GP',\r
+'Guam' => 'GU',\r
+'Guatemala' => 'GT',\r
+'Guinea' => 'GN',\r
+'Guinea-Bissau' => 'GW',\r
+'Guyana' => 'GY',\r
+'Haiti' => 'HT',\r
+'Heard and McDonald Islands' => 'HM',\r
+'Honduras' => 'HN',\r
+'Hong Kong' => 'HK',\r
+'Hungary' => 'HU',\r
+'Iceland' => 'IS',\r
+'India' => 'IN',\r
+'Indonesia' => 'ID',\r
+'Iran' => 'IR',\r
+'Iraq' => 'IQ',\r
+'Ireland' => 'IE',\r
+'Israel' => 'IL',\r
+'Italy' => 'IT',\r
+'Jamaica' => 'JM',\r
+'Japan' => 'JP',\r
+'Jordan' => 'JO',\r
+'Kazakhstan' => 'KZ',\r
+'Kenya' => 'KE',\r
+'Kiribati' => 'KI',\r
+'Korea (North)' => 'KP',\r
+'Korea (South)' => 'KR',\r
+'Kuwait' => 'KW',\r
+'Kyrgyzstan' => 'KG',\r
+'Laos' => 'LA',\r
+'Latvia' => 'LV',\r
+'Lebanon' => 'LB',\r
+'Lesotho' => 'LS',\r
+'Liberia' => 'LR',\r
+'Libya' => 'LY',\r
+'Liechtenstein' => 'LI',\r
+'Lithuania' => 'LT',\r
+'Luxembourg' => 'LU',\r
+'Macau' => 'MO',\r
+'Macedonia' => 'MK',\r
+'Madagascar' => 'MG',\r
+'Malawi' => 'MW',\r
+'Malaysia' => 'MY',\r
+'Maldives' => 'MV',\r
+'Mali' => 'ML',\r
+'Malta' => 'MT',\r
+'Marshall Islands' => 'MH',\r
+'Martinique' => 'MQ',\r
+'Mauritania' => 'MR',\r
+'Mauritius' => 'MU',\r
+'Mayotte' => 'YT',\r
+'Mexico' => 'MX',\r
+'Micronesia' => 'FM',\r
+'Moldova' => 'MD',\r
+'Monaco' => 'MC',\r
+'Mongolia' => 'MN',\r
+'Montserrat' => 'MS',\r
+'Morocco' => 'MA',\r
+'Mozambique' => 'MZ',\r
+'Myanmar' => 'MM',\r
+'Namibia' => 'NA',\r
+'Nauru' => 'NR',\r
+'Nepal' => 'NP',\r
+'Netherlands Antilles' => 'AN',\r
+'Netherlands' => 'NL',\r
+'Neutral Zone' => 'NT',\r
+'New Caledonia' => 'NC',\r
+'New Zealand (Aotearoa)' => 'NZ',\r
+'Nicaragua' => 'NI',\r
+'Niger' => 'NE',\r
+'Nigeria' => 'NG',\r
+'Niue' => 'NU',\r
+'Norfolk Island' => 'NF',\r
+'Northern Mariana Islands' => 'MP',\r
+'Norway' => 'NO',\r
+'Oman' => 'OM',\r
+'Pakistan' => 'PK',\r
+'Palau' => 'PW',\r
+'Panama' => 'PA',\r
+'Papua New Guinea' => 'PG',\r
+'Paraguay' => 'PY',\r
+'Peru' => 'PE',\r
+'Philippines' => 'PH',\r
+'Pitcairn' => 'PN',\r
+'Poland' => 'PL',\r
+'Portugal' => 'PT',\r
+'Puerto Rico' => 'PR',\r
+'Qatar' => 'QA',\r
+'Reunion' => 'RE',\r
+'Romania' => 'RO',\r
+'Russian Federation' => 'RU',\r
+'Rwanda' => 'RW',\r
+'S. Georgia and S. Sandwich Isls.' => 'GS',\r
+'Saint Kitts and Nevis' => 'KN',\r
+'Saint Lucia' => 'LC',\r
+'Saint Vincent and the Grenadines' => 'VC',\r
+'Samoa' => 'WS',\r
+'San Marino' => 'SM',\r
+'Sao Tome and Principe' => 'ST',\r
+'Saudi Arabia' => 'SA',\r
+'Senegal' => 'SN',\r
+'Seychelles' => 'SC',\r
+'Sierra Leone' => 'SL',\r
+'Singapore' => 'SG',\r
+'Slovak Republic' => 'SK',\r
+'Slovenia' => 'SI',\r
+'Solomon Islands' => 'Sb',\r
+'Somalia' => 'SO',\r
+'South Africa' => 'ZA',\r
+'Spain' => 'ES',\r
+'Sri Lanka' => 'LK',\r
+'St. Helena' => 'SH',\r
+'St. Pierre and Miquelon' => 'PM',\r
+'Sudan' => 'SD',\r
+'Suriname' => 'SR',\r
+'Svalbard and Jan Mayen Islands' => 'SJ',\r
+'Swaziland' => 'SZ',\r
+'Sweden' => 'SE',\r
+'Switzerland' => 'CH',\r
+'Syria' => 'SY',\r
+'Taiwan' => 'TW',\r
+'Tajikistan' => 'TJ',\r
+'Tanzania' => 'TZ',\r
+'Thailand' => 'TH',\r
+'Togo' => 'TG',\r
+'Tokelau' => 'TK',\r
+'Tonga' => 'TO',\r
+'Trinidad and Tobago' => 'TT',\r
+'Tunisia' => 'TN',\r
+'Turkey' => 'TR',\r
+'Turkmenistan' => 'TM',\r
+'Turks and Caicos Islands' => 'TC',\r
+'Tuvalu' => 'TV',\r
+'US Minor Outlying Islands' => 'UM',\r
+'USSR (former)' => 'SU',\r
+'Uganda' => 'UG',\r
+'Ukraine' => 'UA',\r
+'United Arab Emirates' => 'AE',\r
+'United Kingdom' => 'UK',\r
+'United States' => 'US',\r
+'Uruguay' => 'UY',\r
+'Uzbekistan' => 'UZ',\r
+'Vanuatu' => 'VU',\r
+'Vatican City State (Holy See)' => 'VA',\r
+'Venezuela' => 'VE',\r
+'Viet Nam' => 'VN',\r
+'Virgin Islands (British)' => 'VG',\r
+'Virgin Islands (U.S.)' => 'VI',\r
+'Wallis and Futuna Islands' => 'WF',\r
+'Western Sahara' => 'EH',\r
+'Yemen' => 'YE',\r
+'Yugoslavia' => 'YU',\r
+'Zaire' => 'ZR',\r
+'Zambia' => 'ZM',\r
+'Zimbabwe' => 'ZW',\r
+);\r
+\r
+1;\r
+\r
diff --git a/config/cfgroot/defaultservices b/config/cfgroot/defaultservices
new file mode 100644 (file)
index 0000000..7c20beb
--- /dev/null
@@ -0,0 +1,249 @@
+acap,674,tcpudp
+afbackup,2988,tcpudp
+afpovertcp,548,tcpudp
+afs3-bos,7007,tcpudp
+afs3-callback,7001,tcpudp
+afs3-errors,7006,tcpudp
+afs3-fileserver,7000,tcpudp
+afs3-kaserver,7004,tcpudp
+afs3-prserver,7002,tcpudp
+afs3-rmtsys,7009,tcpudp
+afs3-update,7008,tcpudp
+afs3-vlserver,7003,tcpudp
+afs3-volser,7005,tcpudp
+amanda,10080,tcpudp
+amandaidx,10082,tcp
+amidxtape,10083,tcp
+asp,27374,tcpudp
+at-echo,204,tcpudp
+at-nbp,202,tcpudp
+at-rtmp,201,tcpudp
+at-zis,206,tcpudp
+auth,113,tcpudp
+bgp,179,tcpudp
+biff,512,udp
+binkp,24554,tcpudp
+bootpc,68,tcpudp
+bootps,67,tcpudp
+canna,5680,tcp
+cfengine,5308,tcpudp
+cfinger,2003,tcp
+chargen,19,tcpudp
+cmip-agent,164,tcpudp
+cmip-man,163,tcpudp
+codaauth2,370,tcpudp
+codasrv,2432,tcpudp
+codasrv-se,2433,tcpudp
+conference,531,tcp
+corbaloc,2809,tcp
+courier,530,tcp
+csnet-ns,105,tcpudp
+cvspserver,2401,tcpudp
+cvsup,5999,tcpudp
+datametrics,1645,tcpudp
+daytime,13,tcpudp
+dhcpv6-client,546,tcpudp
+dhcpv6-server,547,tcpudp
+discard,9,tcpudp
+domain,53,tcpudp
+echo,4,ddp
+echo,7,tcpudp
+efs,520,tcp
+eklogin,2105,tcp
+exec,512,tcp
+fax,4557,tcp
+fido,60179,tcpudp
+finger,79,tcpudp
+fsp,21,udp
+ftp,21,tcpudp
+ftp-data,20,tcpudp
+gdomap,538,tcpudp
+gdp-port,1997,tcpudp
+gii,616,tcp
+gopher,70,tcpudp
+gss-http,488,tcpudp
+h323callsigalt,11720,tcpudp
+h323gatedisc,1718,tcpudp
+h323gatestat,1719,tcpudp
+h323hostcall,1720,tcpudp
+h323hostcallsc,1300,tcpudp
+ha-cluster,694,tcpudp
+hello,1789,tcpudp
+hmmp-ind,612,tcpudp
+hostmon,5355,tcpudp
+hostname,101,tcpudp
+hsrp,1985,tcpudp
+http,80,tcpudp
+http-alt,8008,tcpudp
+https,443,tcpudp
+hylafax,4559,tcp
+ica,1494,tcpudp
+icpv2,3130,tcpudp
+iiop,535,tcpudp
+imap,143,tcpudp
+imap3,220,tcpudp
+imaps,993,tcpudp
+ingreslock,1524,tcpudp
+ipx,213,tcpudp
+irc,194,tcpudp
+ircd,6667,tcpudp
+ircs,994,tcpudp
+isakmp,500,tcpudp
+isdnlog,20011,tcpudp
+iso-tsap,102,tcp
+jetdirect,9100,tcp
+kamanda,10081,tcpudp
+kerberos,88,tcpudp
+kerberos-adm,749,tcp
+kerberos-iv,750,udptcp
+kerberos_master,751,udptcp
+kermit,1649,tcpudp
+klogin,543,tcp
+knetd,2053,tcp
+kpasswd,464,tcpudp
+kpop,1109,tcp
+krb524,4444,tcpudp
+krb5_prop,754,tcp
+krbupdate,760,tcp
+kshell,544,tcp
+l2tp,1701,tcpudp
+ldap,389,tcpudp
+ldaps,636,tcpudp
+licensedaemon,1986,tcpudp
+link,245,tcpucp
+linuxconf,98,tcp
+login,513,tcp
+mailq,174,tcpudp
+mandelspawn,9359,udp
+microsoft-ds,445,tcpudp
+mobileip-agent,434,tcpudp
+mobilip-mn,435,tcpudp
+ms-sql-m,1434,tcpudp
+ms-sql-s,1433,tcpudp
+msp,18,tcpudp
+mtp,1911,tcpudp
+mysql,3306,tcpudp
+nameserver,42,tcpudp
+nbp,2,ddp
+netbios-dgm,138,tcpudp
+netbios-ns,137,tcpudp
+netbios-ssn,139,tcpudp
+netnews,532,tcp
+netrjs-1,71,tcpudp
+netrjs-2,72,tcpudp
+netrjs-3,73,tcpudp
+netrjs-4,74,tcpudp
+netstat,15,tcp
+netwall,533,udp
+nextstep,178,tcpudp
+nfs,2049,tcpudp
+nicname,43,tcpudp
+ninstall,2150,tcpudp
+nntp,119,tcpudp
+nntps,563,tcpudp
+noclog,5354,tcpudp
+npmp-gui,611,tcpudp
+npmp-local,610,tcpudp
+ntalk,518,udp
+ntp,123,tcpudp
+omirr,808,tcpudp
+passwd_server,752,udp
+pgpkeyserver,11371,tcpudp
+phonebook,767,tcpudp
+photuris,468,tcpudp
+pim-rp-disc,496,tcpudp
+pop2,109,tcpudp
+pop3,110,tcpudp
+pop3s,995,tcpudp
+poppassd,106,tcpudp
+postgres,5432,tcpudp
+printer,515,tcpudp
+prospero,191,tcpudp
+prospero-np,1525,tcpudp
+prsvp,3455,tcpudp
+qmtp,209,tcpudp
+qotd,17,tcpudp
+quake,26000,tcpudp
+radius,1812,tcpudp
+radius-acct,1813,tcpudp
+re-mail-ck,50,tcpudp
+remotefs,556,tcp
+rfe,5002,tcpudp
+ripng,521,tcpudp
+rje,5,tcpudp
+rlp,39,tcpudp
+rmtcfg,1236,tcp
+rndc,953,tcpudp
+router,520,udp
+rpc2portmap,369,tcpudp
+rsvp_tunnel,363,tcpudp
+rsync,873,tcpudp
+rtelnet,107,tcpudp
+rtmp,1,ddp
+rtsp,554,tcpudp
+rwhois,4321,tcpudp
+sa-msg-port,1646,tcpudp
+saft,487,tcpudp
+sd,9876,tcpudp
+sftp,115,tcpudp
+sgi-dgl,5232,tcpudp
+shell,514,tcp
+skkserv,1178,tcp
+smtp,25,tcpudp
+smtps,465,tcp
+smux,199,tcpudp
+snmp,161,tcpudp
+snmptrap,162,udp
+snpp,444,tcpudp
+socks,1080,tcpudp
+squid,3128,tcp
+ssh,22,tcpudp
+submission,587,tcpudp
+sunrpc,111,tcpudp
+supdup,95,tcpudp
+supfiledbg,1127,tcp
+supfilesrv,871,tcp
+support,1529,tcp
+svrloc,427,tcpudp
+swat,901,tcp
+syslog,514,udp
+systat,11,tcpudp
+tacacs,49,tcpudp
+talk,517,udp
+tcpmux,1,tcpudp
+telnet,23,tcpudp
+telnets,992,tcpudp
+tempo,526,tcp
+tfido,60177,tcpudp
+tftp,69,tcpudp
+tftp-mcast,1758,tcpudp
+time,37,tcpudp
+timed,525,tcpudp
+tircproxy,7666,tcp
+tproxy,8081,tcpudp
+traceroute,33434,tcpudp
+trnsprntproxy,3346,tcpudp
+ulistproc,372,tcpudp
+utime,519,tcpudp
+uucp,540,tcp
+uucp-path,117,tcpudp
+vboxd,20012,tcpudp
+venus,2430,tcpudp
+venus-se,2431,tcpudp
+webcache,8080,tcpudp
+webster,765,tcpudp
+who,513,udp
+whoami,565,tcpudp
+whois++,63,tcpudp
+wins,1512,tcpudp
+wnn6-ds,26208,tcpudp
+x11,6000,tcp
+x11-ssh-offset,6010,tcp
+xdmcp,177,tcpudp
+xfs,7100,tcp
+xtel,1313,tcp
+z39.50,210,tcpudp
+zephyr-clt,2103,tcpudp
+zephyr-hm,2104,tcpudp
+zephyr-srv,2102,tcpudp
+zip,6,ddp
diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl
new file mode 100644 (file)
index 0000000..13021ca
--- /dev/null
@@ -0,0 +1,554 @@
+# SmoothWall CGIs\r
+#\r
+# This code is distributed under the terms of the GPL\r
+#\r
+# (c) The SmoothWall Team\r
+# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite\r
+# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()\r
+# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions\r
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()\r
+# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()\r
+#\r
+# $Id: general-functions.pl,v 1.1.2.26 2006/01/04 16:33:55 franck78 Exp $\r
+#\r
+\r
+package General;\r
+\r
+use strict;\r
+use Socket;\r
+use IO::Socket;\r
+\r
+$|=1; # line buffering\r
+\r
+$General::version = 'VERSION';\r
+$General::swroot = 'CONFIG_ROOT';\r
+$General::noipprefix = 'noipg-';\r
+$General::adminmanualurl = 'http://www.ipcop.org/1.4.0/en/admin/html';\r
+\r
+sub log\r
+{\r
+       my $logmessage = $_[0];\r
+       $logmessage =~ /([\w\W]*)/;\r
+       $logmessage = $1;\r
+       system('/usr/bin/logger', '-t', 'ipcop', $logmessage);\r
+}\r
+\r
+sub readhash\r
+{\r
+       my $filename = $_[0];\r
+       my $hash = $_[1];\r
+       my ($var, $val);\r
+       \r
+       \r
+       # Some ipcop code expects that readhash 'complete' the hash if new entries\r
+       # are presents. Not clear it !!!\r
+       #%$hash = ();\r
+\r
+       open(FILE, $filename) or die "Unable to read file $filename";\r
+       \r
+       while (<FILE>)\r
+       {\r
+               chop;\r
+               ($var, $val) = split /=/, $_, 2;\r
+               if ($var)\r
+               {\r
+                       $val =~ s/^\'//g;\r
+                       $val =~ s/\'$//g;\r
+\r
+                       # Untaint variables read from hash\r
+                       $var =~ /([A-Za-z0-9_-]*)/;        $var = $1;\r
+                       $val =~ /([\w\W]*)/; $val = $1;\r
+                       $hash->{$var} = $val;\r
+               }\r
+       }\r
+       close FILE;\r
+}\r
+\r
+\r
+sub writehash\r
+{\r
+       my $filename = $_[0];\r
+       my $hash = $_[1];\r
+       my ($var, $val);\r
+       \r
+       # write cgi vars to the file.\r
+       open(FILE, ">${filename}") or die "Unable to write file $filename";\r
+       flock FILE, 2;\r
+       foreach $var (keys %$hash) \r
+       {\r
+               $val = $hash->{$var};\r
+               # Darren Critchley Jan 17, 2003 added the following because when submitting with a graphic, the x and y\r
+               # location of the mouse are submitted as well, this was being written to the settings file causing\r
+               # some serious grief! This skips the variable.x and variable.y\r
+               if (!($var =~ /(.x|.y)$/)) {\r
+                       if ($val =~ / /) {\r
+                               $val = "\'$val\'"; }\r
+                       if (!($var =~ /^ACTION/)) {\r
+                               print FILE "${var}=${val}\n"; }\r
+               }\r
+       }\r
+       close FILE;\r
+}\r
+\r
+\r
+sub age\r
+{\r
+       my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,\r
+               $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0];\r
+       my $now = time;\r
+\r
+       my $totalsecs = $now - $mtime;\r
+       my $days = int($totalsecs / 86400);\r
+       my $totalhours = int($totalsecs / 3600);\r
+       my $hours = $totalhours % 24;\r
+       my $totalmins = int($totalsecs / 60);\r
+       my $mins = $totalmins % 60;\r
+       my $secs = $totalsecs % 60;\r
+\r
+       return "${days}d ${hours}h ${mins}m ${secs}s";\r
+}\r
+\r
+sub validip\r
+{\r
+       my $ip = $_[0];\r
+\r
+       if (!($ip =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)) {\r
+               return 0; }\r
+       else \r
+       {\r
+               my @octets = ($1, $2, $3, $4);\r
+               foreach $_ (@octets)\r
+               {\r
+                       if (/^0./) {\r
+                               return 0; }\r
+                       if ($_ < 0 || $_ > 255) {\r
+                               return 0; }\r
+               }\r
+               return 1;\r
+       }\r
+}\r
+\r
+sub validmask\r
+{\r
+       my $mask = $_[0];\r
+\r
+       # secord part an ip?\r
+       if (&validip($mask)) {\r
+               return 1; }\r
+       # second part a number?\r
+       if (/^0/) {\r
+               return 0; }\r
+       if (!($mask =~ /^\d+$/)) {\r
+               return 0; }\r
+       if ($mask >= 0 && $mask <= 32) {\r
+               return 1; }\r
+       return 0;\r
+}\r
+\r
+sub validipormask\r
+{\r
+       my $ipormask = $_[0];\r
+\r
+       # see if it is a IP only.\r
+       if (&validip($ipormask)) {\r
+               return 1; }\r
+       # split it into number and mask.\r
+       if (!($ipormask =~ /^(.*?)\/(.*?)$/)) {\r
+               return 0; }\r
+       my $ip = $1;\r
+       my $mask = $2;\r
+       # first part not a ip?\r
+       if (!(&validip($ip))) {\r
+               return 0; }\r
+       return &validmask($mask);\r
+}\r
+\r
+sub validipandmask\r
+{\r
+       my $ipandmask = $_[0];\r
+\r
+       # split it into number and mask.\r
+       if (!($ipandmask =~ /^(.*?)\/(.*?)$/)) {\r
+               return 0; }\r
+       my $ip = $1;\r
+       my $mask = $2;\r
+       # first part not a ip?\r
+       if (!(&validip($ip))) {\r
+               return 0; }\r
+       return &validmask($mask);\r
+}\r
+\r
+sub validport\r
+{\r
+       $_ = $_[0];\r
+\r
+       if (!/^\d+$/) {\r
+               return 0; }\r
+       if (/^0./) {\r
+               return 0; }\r
+       if ($_ >= 1 && $_ <= 65535) {\r
+               return 1; }\r
+       return 0;\r
+}\r
+\r
+sub validmac\r
+{\r
+       my $checkmac = $_[0];\r
+       my $ot = '[0-9a-f]{2}'; # 2 Hex digits (one octet)\r
+       if ($checkmac !~ /^$ot:$ot:$ot:$ot:$ot:$ot$/i)\r
+       {\r
+               return 0;\r
+       }\r
+       return 1;\r
+}\r
+\r
+sub validhostname\r
+{\r
+       # Checks a hostname against RFC1035\r
+        my $hostname = $_[0];\r
+\r
+       # Each part should be at least two characters in length\r
+       # but no more than 63 characters\r
+       if (length ($hostname) < 1 || length ($hostname) > 63) {\r
+               return 0;}\r
+       # Only valid characters are a-z, A-Z, 0-9 and -\r
+       if ($hostname !~ /^[a-zA-Z0-9-]*$/) {\r
+               return 0;}\r
+       # First character can only be a letter or a digit\r
+       if (substr ($hostname, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+               return 0;}\r
+       # Last character can only be a letter or a digit\r
+       if (substr ($hostname, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+               return 0;}\r
+       return 1;\r
+}\r
+\r
+sub validdomainname\r
+{\r
+       my $part;\r
+\r
+       # Checks a domain name against RFC1035\r
+        my $domainname = $_[0];\r
+       my @parts = split (/\./, $domainname);  # Split hostname at the '.'\r
+\r
+       foreach $part (@parts) {\r
+               # Each part should be at least two characters in length\r
+               # but no more than 63 characters\r
+               if (length ($part) < 2 || length ($part) > 63) {\r
+                       return 0;}\r
+               # Only valid characters are a-z, A-Z, 0-9 and -\r
+               if ($part !~ /^[a-zA-Z0-9-]*$/) {\r
+                       return 0;}\r
+               # First character can only be a letter or a digit\r
+               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+                       return 0;}\r
+               # Last character can only be a letter or a digit\r
+               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+                       return 0;}\r
+       }\r
+       return 1;\r
+}\r
+\r
+sub validfqdn\r
+{\r
+       my $part;\r
+\r
+       # Checks a fully qualified domain name against RFC1035\r
+        my $fqdn = $_[0];\r
+       my @parts = split (/\./, $fqdn);        # Split hostname at the '.'\r
+       if (scalar(@parts) < 2) {               # At least two parts should\r
+               return 0;}                      # exist in a FQDN\r
+                                               # (i.e. hostname.domain)\r
+       foreach $part (@parts) {\r
+               # Each part should be at least one character in length\r
+               # but no more than 63 characters\r
+               if (length ($part) < 1 || length ($part) > 63) {\r
+                       return 0;}\r
+               # Only valid characters are a-z, A-Z, 0-9 and -\r
+               if ($part !~ /^[a-zA-Z0-9-]*$/) {\r
+                       return 0;}\r
+               # First character can only be a letter or a digit\r
+               if (substr ($part, 0, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+                       return 0;}\r
+               # Last character can only be a letter or a digit\r
+               if (substr ($part, -1, 1) !~ /^[a-zA-Z0-9]*$/) {\r
+                       return 0;}\r
+       }\r
+       return 1;\r
+}\r
+\r
+sub validportrange # used to check a port range \r
+{\r
+       my $port = $_[0]; # port values\r
+       $port =~ tr/-/:/; # replace all - with colons just in case someone used -\r
+       my $srcdst = $_[1]; # is it a source or destination port\r
+\r
+       if (!($port =~ /^(\d+)\:(\d+)$/)) {\r
+       \r
+               if (!(&validport($port))) {      \r
+                       if ($srcdst eq 'src'){\r
+                               return $Lang::tr{'source port numbers'};\r
+                       } else  {\r
+                               return $Lang::tr{'destination port numbers'};\r
+                       } \r
+               }\r
+       }\r
+       else \r
+       {\r
+               my @ports = ($1, $2);\r
+               if ($1 >= $2){\r
+                       if ($srcdst eq 'src'){\r
+                               return $Lang::tr{'bad source range'};\r
+                       } else  {\r
+                               return $Lang::tr{'bad destination range'};\r
+                       } \r
+               }\r
+               foreach $_ (@ports)\r
+               {\r
+                       if (!(&validport($_))) {\r
+                               if ($srcdst eq 'src'){\r
+                                       return $Lang::tr{'source port numbers'}; \r
+                               } else  {\r
+                                       return $Lang::tr{'destination port numbers'};\r
+                               } \r
+                       }\r
+               }\r
+               return;\r
+       }\r
+}\r
+\r
+# Test if IP is within a subnet\r
+# Call: IpInSubnet (Addr, Subnet, Subnet Mask)\r
+#       Subnet can be an IP of the subnet: 10.0.0.0 or 10.0.0.1\r
+#       Everything in dottted notation\r
+# Return: TRUE/FALSE\r
+sub IpInSubnet\r
+{\r
+    my $ip = unpack('N', &Socket::inet_aton(shift));\r
+    my $start = unpack('N', &Socket::inet_aton(shift));\r
+    my $mask  = unpack('N', &Socket::inet_aton(shift));\r
+       $start &= $mask;  # base of subnet...\r
+    my $end   = $start + ~$mask;\r
+    return (($ip >= $start) && ($ip <= $end));\r
+}\r
+\r
+sub validemail {\r
+    my $mail = shift;\r
+    return 0 if ( $mail !~ /^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/ );\r
+    return 0 if ( $mail =~ /^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/);\r
+    return 0 if ( $mail !~ /([0-9a-zA-Z]{1})\@./ );\r
+    return 0 if ( $mail !~ /.\@([0-9a-zA-Z]{1})/ );\r
+    return 0 if ( $mail =~ /.\.\-.|.\-\..|.\.\..|.\-\-./g );\r
+    return 0 if ( $mail =~ /.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./g );\r
+    return 0 if ( $mail !~ /\.([a-zA-Z]{2,4})$/ );\r
+    return 1;\r
+}\r
+\r
+sub readhasharray {\r
+    my ($filename, $hash) = @_;\r
+    %$hash = ();\r
+\r
+    open(FILE, $filename) or die "Unable to read file $filename";\r
+\r
+    while (<FILE>) {\r
+       my ($key, $rest, @temp);\r
+       chomp;\r
+       ($key, $rest) = split (/,/, $_, 2);\r
+       if ($key =~ /^[0-9]+$/ && $rest) {\r
+           @temp = split (/,/, $rest);\r
+           $hash->{$key} = \@temp;\r
+        }\r
+    }\r
+    close FILE;\r
+    return;\r
+}\r
+\r
+sub writehasharray {\r
+    my ($filename, $hash) = @_;\r
+    my ($key, @temp, $i);\r
+\r
+    open(FILE, ">$filename") or die "Unable to write to file $filename";\r
+\r
+    foreach $key (keys %$hash) {\r
+       if ( $hash->{$key} ) {\r
+           print FILE "$key";\r
+           foreach $i (0 .. $#{$hash->{$key}}) {\r
+               print FILE ",$hash->{$key}[$i]";\r
+           }\r
+       }\r
+       print FILE "\n";\r
+    }\r
+    close FILE;\r
+    return;\r
+}\r
+\r
+sub findhasharraykey {\r
+    foreach my $i (1 .. 1000000) {\r
+       if ( ! exists $_[0]{$i}) {\r
+            return $i;\r
+       }\r
+    }\r
+}\r
+\r
+sub srtarray \r
+# Darren Critchley - darrenc@telus.net - (c) 2003\r
+# &srtarray(SortOrder, AlphaNumeric, SortDirection, ArrayToBeSorted)\r
+# This subroutine will take the following parameters:\r
+#   ColumnNumber = the column which you want to sort on, starts at 1\r
+#   AlphaNumberic = a or n (lowercase) defines whether the sort should be alpha or numberic\r
+#   SortDirection = asc or dsc (lowercase) Ascending or Descending sort\r
+#   ArrayToBeSorted = the array that wants sorting\r
+#\r
+#   Returns an array that is sorted to your specs\r
+#\r
+#   If SortOrder is greater than the elements in array, then it defaults to the first element\r
+# \r
+{\r
+       my ($colno, $alpnum, $srtdir, @tobesorted) = @_;\r
+       my @tmparray;\r
+       my @srtedarray;\r
+       my $line;\r
+       my $newline;\r
+       my $ctr;\r
+       my $ttlitems = scalar @tobesorted; # want to know the number of rows in the passed array\r
+       if ($ttlitems < 1){ # if no items, don't waste our time lets leave\r
+               return (@tobesorted);\r
+       }\r
+       my @tmp = split(/\,/,$tobesorted[0]);\r
+       $ttlitems = scalar @tmp; # this should be the number of elements in each row of the passed in array\r
+\r
+       # Darren Critchley - validate parameters\r
+       if ($colno > $ttlitems){$colno = '1';}\r
+       $colno--; # remove one from colno to deal with arrays starting at 0\r
+       if($colno < 0){$colno = '0';}\r
+       if ($alpnum ne '') { $alpnum = lc($alpnum); } else { $alpnum = 'a'; }\r
+       if ($srtdir ne '') { $srtdir = lc($srtdir); } else { $srtdir = 'src'; }\r
+\r
+       foreach $line (@tobesorted)\r
+       {\r
+               chomp($line);\r
+               if ($line ne '') {\r
+                       my @temp = split(/\,/,$line);\r
+                       # Darren Critchley - juggle the fields so that the one we want to sort on is first\r
+                       my $tmpholder = $temp[0];\r
+                       $temp[0] = $temp[$colno];\r
+                       $temp[$colno] = $tmpholder;\r
+                       $newline = "";\r
+                       for ($ctr=0; $ctr < $ttlitems ; $ctr++) {\r
+                               $newline=$newline . $temp[$ctr] . ",";\r
+                       }\r
+                       chop($newline);\r
+                       push(@tmparray,$newline);\r
+               }\r
+       }\r
+       if ($alpnum eq 'n') {\r
+               @tmparray = sort {$a <=> $b} @tmparray;\r
+       } else {\r
+               @tmparray = (sort @tmparray);\r
+       }\r
+       foreach $line (@tmparray)\r
+       {\r
+               chomp($line);\r
+               if ($line ne '') {\r
+                       my @temp = split(/\,/,$line);\r
+                       my $tmpholder = $temp[0];\r
+                       $temp[0] = $temp[$colno];\r
+                       $temp[$colno] = $tmpholder;\r
+                       $newline = "";\r
+                       for ($ctr=0; $ctr < $ttlitems ; $ctr++){\r
+                               $newline=$newline . $temp[$ctr] . ",";\r
+                       }\r
+                       chop($newline);\r
+                       push(@srtedarray,$newline);\r
+               }\r
+       }\r
+\r
+       if ($srtdir eq 'dsc') {\r
+               @tmparray = reverse(@srtedarray);\r
+               return (@tmparray);\r
+       } else {\r
+               return (@srtedarray);\r
+       }\r
+}\r
+\r
+sub FetchPublicIp {\r
+    my %proxysettings;\r
+    &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);\r
+    if ($_=$proxysettings{'UPSTREAM_PROXY'}) {\r
+        my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);\r
+        Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );\r
+    }\r
+    my ($out, $response) = Net::SSLeay::get_http(  'checkip.dyndns.org',\r
+                                                   80,\r
+                                                   "/",\r
+                                                   Net::SSLeay::make_headers('User-Agent' => 'Ipcop' )\r
+                                               );\r
+    if ($response =~ m%HTTP/1\.. 200 OK%) {\r
+       $out =~ /Current IP Address: (\d+.\d+.\d+.\d+)/;\r
+       return $1;\r
+    }\r
+    return '';\r
+}\r
+\r
+#\r
+# Check if hostname.domain provided have IP provided\r
+# use gethostbyname to verify that\r
+# Params:\r
+#      IP\r
+#      hostname\r
+#      domain\r
+# Output \r
+#      1 IP matches host.domain\r
+#      0 not in sync\r
+#\r
+sub DyndnsServiceSync ($;$;$) {\r
\r
+    my ($ip,$hostName,$domain) = @_;\r
+    my @addresses;\r
+\r
+    #fix me no ip GROUP, what is the name ?\r
+    $hostName =~ s/$General::noipprefix//;\r
+    if ($hostName) { #may be empty\r
+       $hostName = "$hostName.$domain";\r
+       @addresses = gethostbyname($hostName);\r
+    }\r
+\r
+    if ($addresses[0] eq '') {                 # nothing returned ?\r
+       $hostName = $domain;                    # try resolving with domain only\r
+        @addresses = gethostbyname($hostName);\r
+    }\r
+\r
+    if ($addresses[0] ne '') {                         # got something ?\r
+       #&General::log("name:$addresses[0], alias:$addresses[1]");                          \r
+       # Build clear text list of IP\r
+       @addresses = map ( &Socket::inet_ntoa($_), @addresses[4..$#addresses]);\r
+       if (grep (/$ip/, @addresses)) {\r
+           return 1;\r
+       }\r
+    }\r
+    return 0;\r
+}\r
+#\r
+# This sub returns the red IP used to compare in DyndnsServiceSync\r
+#\r
+sub GetDyndnsRedIP {\r
+    my %settings;\r
+    &General::readhash("${General::swroot}/ddns/settings", \%settings);\r
+\r
+    open(IP, "${General::swroot}/red/local-ipaddress") or return 'unavailable';\r
+    my $ip = <IP>;\r
+    close(IP);\r
+    chomp $ip;\r
+\r
+    if (&General::IpInSubnet ($ip,'10.0.0.0','255.0.0.0') ||\r
+        &General::IpInSubnet ($ip,'172.16.0.0.','255.240.0.0') ||\r
+        &General::IpInSubnet ($ip,'192.168.0.0','255.255.0.0'))\r
+    {\r
+       if ($settings{'BEHINDROUTER'} eq 'FETCH_IP') {\r
+           my $RealIP = &General::FetchPublicIp;\r
+           $ip = (&General::validip ($RealIP) ?  $RealIP : 'unavailable');\r
+       }\r
+    }\r
+    return $ip;\r
+}\r
+1;\r
diff --git a/config/cfgroot/header-menu.pl b/config/cfgroot/header-menu.pl
new file mode 100644 (file)
index 0000000..b2151ea
--- /dev/null
@@ -0,0 +1,24 @@
+sub genmenu\r
+{\r
+    ... snip ...\r
+    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {\r
+       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);\r
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);\r
+    }\r
+\r
+    # Read additionnal menus entry\r
+    # this have to be hardened and accepted. To be extended.\r
+    opendir (DIR, "${General::swroot}/addon-menu");\r
+    while (my $menuitem = readdir (DIR)) {\r
+\r
+       if ( $menuitem =~ /^menu\.([1-6]\..*)\..*/) {  #model is "menu.(N.submenu).filename"\r
+           my $submenu = $1;\r
+           open (FILE,"${General::swroot}/addon-menu/$menuitem") or die;\r
+           while (my $text = <FILE>) {     # file may content many entry\r
+               splice (@{$menu{$submenu}{'subMenu'}} ,-1,0, [ eval($text) ] );\r
+           }\r
+           close (FILE);\r
+       }\r
+    }\r
+    closedir (DIR);\r
+}\r
diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl
new file mode 100644 (file)
index 0000000..c15187a
--- /dev/null
@@ -0,0 +1,823 @@
+# SmoothWall CGIs\r
+#\r
+# This code is distributed under the terms of the GPL\r
+#\r
+# (c) The SmoothWall Team\r
+# Copyright (C) 2002 Alex Hudson - getcgihash() rewrite\r
+# Copyright (C) 2002 Bob Grant <bob@cache.ucr.edu> - validmac()\r
+# Copyright (c) 2002/04/13 Steve Bootes - add alias section, helper functions\r
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> validfqdn()\r
+# Copyright (c) 2003/09/11 Darren Critchley <darrenc@telus.net> srtarray()\r
+#\r
+# $Id: header.pl,v 1.34.2.67 2005/10/03 20:01:05 gespinasse Exp $\r
+#\r
+\r
+package Header;\r
+\r
+use strict;\r
+use CGI();\r
+use Time::Local;\r
+\r
+# enable only the following on debugging purpose\r
+#use warnings;\r
+#use CGI::Carp 'fatalsToBrowser';\r
+\r
+\r
+$Header::pagecolour = '#ffffff';       # never used, will be removed\r
+$Header::tablecolour = '#FFFFFF';      # never used, will be removed\r
+$Header::bigboxcolour = '#F6F4F4';     # never used, will be removed\r
+$Header::boxcolour = '#EAE9EE';                # only header.pl, ? move in css ?\r
+$Header::bordercolour = '#000000';     # never used, will be removed\r
+$Header::table1colour = '#C0C0C0';\r
+$Header::table2colour = '#F2F2F2';\r
+$Header::colourred = '#993333';\r
+$Header::colourorange = '#FF9933';\r
+$Header::colouryellow = '#FFFF00';\r
+$Header::colourgreen = '#339933';\r
+$Header::colourblue = '#333399';\r
+$Header::colourfw = '#000000';         # only connections.cgi\r
+$Header::colourvpn = '#990099';                # only connections.cgi\r
+$Header::colourerr = '#FF0000';                # only header.pl, many scripts use colourred for warnings messages\r
+$Header::viewsize = 150;\r
+my %menu = ();\r
+my $hostnameintitle = 0;\r
+our $javascript = 1;\r
+\r
+### Initialize menu\r
+sub genmenu\r
+{\r
+    ### Initialize environment\r
+    my %ethsettings = ();\r
+    &General::readhash("${General::swroot}/ethernet/settings", \%ethsettings);\r
+\r
+    %{$menu{'1.system'}}=(\r
+               'contents' =>  $Lang::tr{'alt system'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'alt system'}",\r
+               'subMenu' =>   [[ $Lang::tr{'alt home'} , '/cgi-bin/index.cgi', "IPCop $Lang::tr{'alt home'}" ],\r
+                               [ $Lang::tr{'updates'} , '/cgi-bin/updates.cgi', "IPCop $Lang::tr{'updates'}" ],\r
+                               [ $Lang::tr{'sspasswords'} , '/cgi-bin/changepw.cgi', "IPCop $Lang::tr{'sspasswords'}" ],\r
+                               [ $Lang::tr{'ssh access'} , '/cgi-bin/remote.cgi', "IPCop $Lang::tr{'ssh access'}" ],\r
+                               [ $Lang::tr{'gui settings'} , '/cgi-bin/gui.cgi', "IPCop $Lang::tr{'gui settings'}" ],\r
+                               [ $Lang::tr{'backup'} , '/cgi-bin/backup.cgi', "IPCop $Lang::tr{'backup'} / $Lang::tr{'restore'}" ],\r
+                               [ $Lang::tr{'shutdown'} , '/cgi-bin/shutdown.cgi', "IPCop $Lang::tr{'shutdown'} / $Lang::tr{'reboot'}" ],\r
+                               [ $Lang::tr{'credits'} , '/cgi-bin/credits.cgi', "IPCop $Lang::tr{'credits'}" ]]\r
+    );\r
+    %{$menu{'2.status'}}=(\r
+               'contents' =>  $Lang::tr{'status'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'status information'}",\r
+               'subMenu' =>   [[ $Lang::tr{'sssystem status'} , '/cgi-bin/status.cgi', "IPCop $Lang::tr{'system status information'}" ],\r
+                               [ $Lang::tr{'ssnetwork status'} , '/cgi-bin/netstatus.cgi', "IPCop $Lang::tr{'network status information'}" ],\r
+                               [ $Lang::tr{'system graphs'} , '/cgi-bin/graphs.cgi', "IPCop $Lang::tr{'system graphs'}" ],\r
+                               [ $Lang::tr{'sstraffic graphs'} , '/cgi-bin/graphs.cgi?graph=network', "IPCop $Lang::tr{'network traffic graphs'}" ],\r
+                               [ $Lang::tr{'ssproxy graphs'} , '/cgi-bin/proxygraphs.cgi', "IPCop $Lang::tr{'proxy access graphs'}" ],\r
+                               [ $Lang::tr{'connections'} , '/cgi-bin/connections.cgi', "IPCop $Lang::tr{'connections'}" ]]\r
+    );\r
+    %{$menu{'3.network'}}=(\r
+               'contents' =>  $Lang::tr{'network'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'network configuration'}",\r
+               'subMenu' =>   [[ $Lang::tr{'alt dialup'} , '/cgi-bin/pppsetup.cgi', "IPCop $Lang::tr{'dialup settings'}" ],\r
+                               [ $Lang::tr{'upload'} , '/cgi-bin/upload.cgi', $Lang::tr{'firmware upload'} ],\r
+                               [ $Lang::tr{'modem'} , '/cgi-bin/modem.cgi', "IPCop $Lang::tr{'modem configuration'}" ],\r
+                               [ $Lang::tr{'aliases'} , '/cgi-bin/aliases.cgi', "IPCop $Lang::tr{'external aliases configuration'}" ]]\r
+    );\r
+    %{$menu{'4.services'}}=(\r
+               'contents' =>  $Lang::tr{'alt services'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'alt services'}",\r
+               'subMenu' =>   [[ $Lang::tr{'proxy'} , '/cgi-bin/proxy.cgi', "IPCop $Lang::tr{'web proxy configuration'}" ],\r
+                               [ $Lang::tr{'dhcp server'} , '/cgi-bin/dhcp.cgi', "IPCop $Lang::tr{'dhcp configuration'}" ],\r
+                               [ $Lang::tr{'dynamic dns'} , '/cgi-bin/ddns.cgi', "IPCop $Lang::tr{'dynamic dns client'}" ],\r
+                               [ $Lang::tr{'edit hosts'} , '/cgi-bin/hosts.cgi', "IPCop $Lang::tr{'host configuration'}" ],\r
+                               [ $Lang::tr{'time server'} , '/cgi-bin/time.cgi', "IPCop $Lang::tr{'time server'}" ],\r
+                               [ $Lang::tr{'traffic shaping'} , '/cgi-bin/shaping.cgi', "IPCop $Lang::tr{'traffic shaping settings'}" ],\r
+                               [ $Lang::tr{'intrusion detection'} , '/cgi-bin/ids.cgi', "IPCop $Lang::tr{'intrusion detection system'} (Snort)" ]]\r
+    );\r
+    %{$menu{'5.firewall'}}=(\r
+               'contents' =>  $Lang::tr{'firewall'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'firewall'}",\r
+               'subMenu' =>   [[ $Lang::tr{'ssport forwarding'} , '/cgi-bin/portfw.cgi', "IPCop $Lang::tr{'port forwarding configuration'}" ],\r
+                               [ $Lang::tr{'external access'} , '/cgi-bin/xtaccess.cgi', "IPCop $Lang::tr{'external access configuration'}" ],\r
+                               [ $Lang::tr{'ssdmz pinholes'} , '/cgi-bin/dmzholes.cgi', "IPCop $Lang::tr{'dmz pinhole configuration'}" ],\r
+                               [ $Lang::tr{'blue access'} , '/cgi-bin/wireless.cgi', "IPCop $Lang::tr{'blue access'}" ]\r
+                               ,[ $Lang::tr{'options fw'} , '/cgi-bin/optionsfw.cgi', "IPCop $Lang::tr{'options fw'}" ]\r
+                              ]\r
+    );\r
+    %{$menu{'6.vpns'}}=(\r
+               'contents' =>  $Lang::tr{'alt vpn'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'virtual private networking'}",\r
+               'subMenu' =>   [[ $Lang::tr{'alt vpn'} , '/cgi-bin/vpnmain.cgi', "IPCop $Lang::tr{'virtual private networking'}"]]\r
+    );\r
+    %{$menu{'7.mainlogs'}}=(\r
+               'contents' =>  $Lang::tr{'alt logs'},\r
+               'uri' => '',\r
+               'statusText' => "IPCop $Lang::tr{'alt logs'}",\r
+               'subMenu' =>   [[ $Lang::tr{'log settings'} , '/cgi-bin/logs.cgi/config.dat', "IPCop $Lang::tr{'log settings'}" ],\r
+                               [ $Lang::tr{'log summary'} , '/cgi-bin/logs.cgi/summary.dat', "IPCop $Lang::tr{'log summary'}" ],\r
+                               [ $Lang::tr{'proxy logs'} , '/cgi-bin/logs.cgi/proxylog.dat', "IPCop $Lang::tr{'proxy log viewer'}" ],\r
+                               [ $Lang::tr{'firewall logs'} , '/cgi-bin/logs.cgi/firewalllog.dat', "IPCop $Lang::tr{'firewall log viewer'}" ],\r
+                               [ $Lang::tr{'ids logs'} , '/cgi-bin/logs.cgi/ids.dat', "IPCop $Lang::tr{'intrusion detection system log viewer'}" ],\r
+                               [ $Lang::tr{'system logs'} , '/cgi-bin/logs.cgi/log.dat', "IPCop $Lang::tr{'system log viewer'}" ]]\r
+    );\r
+    if (! $ethsettings{'BLUE_DEV'}) {\r
+       splice (@{$menu{'5.firewall'}{'subMenu'}}, 3, 1);\r
+    }\r
+    if (! $ethsettings{'BLUE_DEV'} && ! $ethsettings{'ORANGE_DEV'}) {\r
+       splice (@{$menu{'5.firewall'}{'subMenu'}}, 2, 1);\r
+    }\r
+    unless ( $ethsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $ethsettings{'RED_TYPE'} eq 'STATIC' ) {\r
+       splice (@{$menu{'3.network'}{'subMenu'}}, 3, 1);\r
+    }\r
+    if ( ! -e "${General::swroot}/snort/enable" && ! -e "${General::swroot}/snort/enable_blue" &&\r
+       ! -e "${General::swroot}/snort/enable_green" && ! -e "${General::swroot}/snort/enable_orange") {\r
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 4, 1);\r
+    }\r
+    if ( ! -e "${General::swroot}/proxy/enable" && ! -e "${General::swroot}/proxy/enable_blue" ) {\r
+       splice (@{$menu{'2.status'}{'subMenu'}}, 4, 1);\r
+       splice (@{$menu{'7.mainlogs'}{'subMenu'}}, 2, 1);\r
+    }\r
+}\r
+\r
+sub showhttpheaders\r
+{\r
+    ### Make sure this is an SSL request\r
+    if ($ENV{'SERVER_ADDR'} && $ENV{'HTTPS'} ne 'on') {\r
+       print "Status: 302 Moved\r\n";\r
+       print "Location: https://$ENV{'SERVER_ADDR'}:445/$ENV{'PATH_INFO'}\r\n\r\n";\r
+       exit 0;\r
+    } else {\r
+       print "Pragma: no-cache\n";\r
+       print "Cache-control: no-cache\n";\r
+       print "Connection: close\n";\r
+       print "Content-type: text/html\n\n";\r
+    }\r
+}\r
+\r
+sub showjsmenu\r
+{\r
+    my $c1 = 1;\r
+\r
+    print "    <script type='text/javascript'>\n";\r
+    print "    domMenu_data.setItem('domMenu_main', new domMenu_Hash(\n";\r
+\r
+    foreach my $k1 ( sort keys %menu ) {\r
+       my $c2 = 1;\r
+       if ($c1 > 1) {\r
+           print "    ),\n";\r
+       }\r
+       print "    $c1, new domMenu_Hash(\n";\r
+       print "\t'contents', '" . &cleanhtml($menu{$k1}{'contents'}) . "',\n";\r
+       print "\t'uri', '$menu{$k1}{'uri'}',\n";\r
+       $menu{$k1}{'statusText'} =~  s/'/\\\'/g;\r
+       print "\t'statusText', '$menu{$k1}{'statusText'}',\n";\r
+       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
+           print "\t    $c2, new domMenu_Hash(\n";\r
+           print "\t\t'contents', '" . &cleanhtml(@{$k2}[0])  . "',\n";\r
+           print "\t\t'uri', '@{$k2}[1]',\n";\r
+           @{$k2}[2] =~ s/'/\\\'/g;\r
+           print "\t\t'statusText', '@{$k2}[2]'\n";\r
+           if ( $c2 <= $#{$menu{$k1}{'subMenu'}} ) {\r
+               print "\t    ),\n";\r
+           } else {\r
+               print "\t    )\n";\r
+           }\r
+           $c2++;\r
+       }\r
+       $c1++;\r
+    }\r
+    print "    )\n";\r
+    print "    ));\n\n";\r
+\r
+    print <<EOF\r
+    domMenu_settings.setItem('domMenu_main', new domMenu_Hash(\r
+       'menuBarWidth', '0%',\r
+       'menuBarClass', 'ipcop_menuBar',\r
+       'menuElementClass', 'ipcop_menuElement',\r
+       'menuElementHoverClass', 'ipcop_menuElementHover',\r
+       'menuElementActiveClass', 'ipcop_menuElementHover',\r
+       'subMenuBarClass', 'ipcop_subMenuBar',\r
+       'subMenuElementClass', 'ipcop_subMenuElement',\r
+       'subMenuElementHoverClass', 'ipcop_subMenuElementHover',\r
+       'subMenuElementActiveClass', 'ipcop_subMenuElementHover',\r
+       'subMenuMinWidth', 'auto',\r
+       'distributeSpace', false,\r
+       'openMouseoverMenuDelay', 0,\r
+       'openMousedownMenuDelay', 0,\r
+       'closeClickMenuDelay', 0,\r
+       'closeMouseoutMenuDelay', -1\r
+    ));\r
+    </script>\r
+EOF\r
+    ;\r
+}\r
+\r
+sub showmenu\r
+{\r
+    if ($javascript) {print "<noscript>";}\r
+    print "<table cellpadding='0' cellspacing='0' border='0'>\n";\r
+    print "<tr>\n";\r
+\r
+    foreach my $k1 ( sort keys %menu ) {\r
+       print "<td class='ipcop_menuElementTD'><a href='" . @{@{$menu{$k1}{'subMenu'}}[0]}[1] . "' class='ipcop_menuElementNoJS'>";\r
+       print $menu{$k1}{'contents'} . "</a></td>\n";\r
+    }\r
+    print "</tr></table>\n";\r
+    if ($javascript) {print "</noscript>";}\r
+}\r
+\r
+sub showsubsection\r
+{\r
+    my $location = $_[0];\r
+    my $c1 = 0;\r
+\r
+    if ($javascript) {print "<noscript>";}\r
+    print "<table width='100%' cellspacing='0' cellpadding='5' border='0'>\n";\r
+    print "<tr><td style='background-color: $Header::boxcolour;' width='53'><img src='/images/null.gif' width='43' height='1' alt='' /></td>\n";\r
+    print "<td style='background-color: $Header::boxcolour;' align='left' width='100%'>";\r
+    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );\r
+\r
+    foreach my $k1 ( keys %menu ) {\r
+       \r
+       if ($menu{$k1}{'contents'} eq $location) {\r
+           foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
+               if ($c1 > 0) {\r
+                   print " | ";\r
+               }\r
+               if (@{$k2}[1] eq "$URI[0]\?$URI[1]" || (@{$k2}[1] eq $URI[0] && length($URI[1]) == 0)) {\r
+               #if (@{$k2}[1] eq "$URI[0]") {\r
+                   print "<b>@{$k2}[0]</b>";\r
+               } else {\r
+                   print "<a href='@{$k2}[1]'>@{$k2}[0]</a>";\r
+               }\r
+               $c1++;\r
+           }\r
+       }\r
+    }\r
+    print "</td></tr></table>\n";\r
+    if ($javascript) { print "</noscript>";}\r
+}\r
+\r
+sub openpage\r
+{\r
+    my $title = $_[0];\r
+    my $menu = $_[1];\r
+    my $extrahead = $_[2];\r
+\r
+    ### Initialize environment\r
+    my %settings = ();\r
+    &General::readhash("${General::swroot}/main/settings", \%settings);\r
+\r
+    if ($settings{'JAVASCRIPT'} eq 'off') {\r
+       $javascript = 0;\r
+    } else {\r
+       $javascript = 1;\r
+    }\r
+\r
+    if ($settings{'WINDOWWITHHOSTNAME'} eq 'on') {\r
+        $hostnameintitle = 1;\r
+    } else {\r
+        $hostnameintitle = 0;\r
+    }\r
+\r
+    print <<END\r
+<!DOCTYPE html \r
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\r
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+\r
+<html><head>\r
+END\r
+    ;\r
+    print "    <title>";\r
+    if ($hostnameintitle) {\r
+        print "$settings{'HOSTNAME'}.$settings{'DOMAINNAME'} - $title"; \r
+    } else {\r
+        print "IPCop - $title";\r
+    }\r
+    print "</title>\n";\r
+\r
+    print <<END\r
+    $extrahead\r
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <link rel="shortcut icon" href="/favicon.ico" />\r
+    <style type="text/css">\@import url(/include/ipcop.css);</style>\r
+END\r
+    ;\r
+    if ($javascript) {\r
+       print "<script type='text/javascript' src='/include/domMenu.js'></script>\n";\r
+       &genmenu();\r
+       &showjsmenu();\r
+    } else {\r
+       &genmenu();\r
+    }\r
+\r
+    my $location = '';\r
+    my $sublocation = '';\r
+    my @URI=split ('\?',  $ENV{'REQUEST_URI'} );\r
+    foreach my $k1 ( keys %menu ) {\r
+       my $temp = $menu{$k1}{'contents'};\r
+       foreach my $k2 ( @{$menu{$k1}{'subMenu'}} ) {\r
+           if ( @{$k2}[1] eq $URI[0] ) {\r
+               $location = $temp;\r
+               $sublocation = @{$k2}[0];\r
+           }\r
+       }\r
+    }\r
+\r
+    my @cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});\r
+    if (defined ($cgigraphs[1])){ \r
+       if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|network)/) {\r
+               $location = $Lang::tr{'status'};\r
+               $sublocation = $Lang::tr{'sstraffic graphs'};\r
+       }\r
+       if ($cgigraphs[1] =~ /(cpu|memory|swap|disk)/) {\r
+               $location = $Lang::tr{'status'};\r
+               $sublocation = $Lang::tr{'system graphs'};\r
+       }\r
+    }\r
+    if ($ENV{'QUERY_STRING'} =~ /(ip)/) {\r
+        $location = $Lang::tr{'alt logs'};\r
+       $sublocation = "WHOIS";\r
+    }\r
+\r
+    if ($javascript) {\r
+           print <<END\r
+           <script type="text/javascript">\r
+           document.onmouseup = function()\r
+           {\r
+               domMenu_deactivate('domMenu_main');\r
+           }\r
+           </script>\r
+           </head>\r
+\r
+           <body onload="domMenu_activate('domMenu_main');">\r
+END\r
+           ;\r
+    } else {\r
+       print "</head>\n\n<body>\n";\r
+    }\r
+\r
+    print <<END\r
+<!-- IPCOP HEADER -->\r
+    <table width='100%' cellpadding='0' cellspacing='0'>\r
+    <col width='53' />\r
+    <col />\r
+    <tr><td><img src='/images/null.gif' width='53' height='27' alt='' /></td>\r
+       <td valign='bottom'><table width='100%' cellspacing='0' border='0'>\r
+           <col width='5' />\r
+           <col width='175' />\r
+           <col />\r
+           <tr><td><img src='/images/null.gif' width='5' height='1' alt='' /></td>\r
+               <td class="ipcop_menuLocationMain" valign='bottom'>$location</td>\r
+               <td class="ipcop_menuLocationSub"  valign='bottom'>$sublocation</td>\r
+           </tr></table>\r
+       </td></tr>\r
+    <tr><td valign='bottom' class='ipcop_Version'>\r
+           <img src='/images/null.gif' width='1' height='29' alt='' />${General::version}</td>\r
+       <td valign='bottom'>\r
+END\r
+    ;\r
+    if ($menu == 1) {\r
+       if ($javascript) {\r
+           print "<div id='domMenu_main'></div>\n";\r
+       }\r
+       &showmenu();\r
+    }\r
+    print "    </td></tr></table>\n";\r
+    &showsubsection($location);\r
+    print "<!-- IPCOP CONTENT -->\n";\r
+}\r
+\r
+sub closepage\r
+{\r
+       print <<END\r
+<!-- IPCOP FOOTER -->\r
+    <table width='100%' border='0'>\r
+    <tr><td valign='bottom'><img src='/images/bounceback.png' width='248' height='80' alt='' /></td>\r
+       <td align='center' valign='bottom'>\r
+END\r
+       ;\r
+       my $status = &connectionstatus();\r
+       print "$status<br />\n"; \r
+       print `/usr/bin/uptime`;\r
+\r
+       print <<END\r
+       </td>\r
+       <td valign='bottom'><a href='http://sf.net/projects/ipcop/' target='_blank'><img src='/images/sflogo.png' width='88' height='31' alt='Sourceforge logo' /></a></td>\r
+    </tr></table>\r
+</body></html>\r
+END\r
+       ;\r
+}\r
+\r
+sub openbigbox\r
+{\r
+       my $width = $_[0];\r
+       my $align = $_[1];\r
+       my $sideimg = $_[2];\r
+        my $errormessage = $_[3];\r
+       my $bgcolor;\r
+\r
+       if ($errormessage) {\r
+               $bgcolor = "style='background-color: $Header::colourerr;'";\r
+       } else {\r
+               $bgcolor = '';\r
+       }\r
+\r
+       print "<table width='100%' border='0'>\n";\r
+       if ($sideimg) {\r
+           print "<tr><td valign='top'><img src='/images/$sideimg' width='65' height='345' alt='' /></td>\n";\r
+       } else {\r
+           print "<tr>\n";\r
+       }\r
+       print "<td valign='top' align='center'><table width='$width' $bgcolor cellspacing='0' cellpadding='10' border='0'>\n";\r
+        print "<tr><td><img src='/images/null.gif' width='1' height='365' alt='' /></td>\n";\r
+       print "<td align='$align' valign='top'>\n";\r
+}\r
+\r
+sub closebigbox\r
+{\r
+       print "</td></tr></table></td></tr></table>\n" \r
+}\r
+\r
+sub openbox\r
+{\r
+       my $width = $_[0];\r
+       my $align = $_[1];\r
+       my $caption = $_[2];\r
+\r
+       print <<END\r
+       <table cellspacing="0" cellpadding="0" width="$width" border="0">\r
+           <col width='12' />\r
+           <col width='18' />\r
+           <col width='100%' />\r
+           <col width='152' />\r
+           <col width='11' />\r
+       \r
+           <tr><td width='12'  ><img src='/images/null.gif' width='12'  height='1' alt='' /></td>\r
+               <td width='18'  ><img src='/images/null.gif' width='18'  height='1' alt='' /></td>\r
+               <td width='100%'><img src='/images/null.gif' width='400' height='1' alt='' /></td>\r
+               <td width='152' ><img src='/images/null.gif' width='152' height='1' alt='' /></td>\r
+               <td width='11'  ><img src='/images/null.gif' width='11'   height='1' alt='' /></td></tr>\r
+           <tr><td colspan='2' ><img src='/images/boxtop1.png' width='30' height='53' alt='' /></td>\r
+               <td style='background: url(/images/boxtop2.png);'>\r
+END\r
+       ;\r
+       if ($caption) { print "<b>$caption</b>\n"; } else { print "&nbsp;"; }\r
+       print <<END\r
+               </td>\r
+               <td colspan='2'><img src='/images/boxtop3.png' width='163' height='53' alt='' /></td></tr>\r
+           <tr><td style='background: url(/images/boxleft.png);'><img src='/images/null.gif' width='12' height='1' alt='' /></td>\r
+               <td colspan='3' style='background-color: $Header::boxcolour;'>\r
+               <table width='100%' cellpadding='5'><tr><td align="$align" valign='top'>\r
+END\r
+       ;\r
+}\r
+\r
+sub closebox\r
+{\r
+       print <<END\r
+               </td></tr></table></td>\r
+                <td style='background: url(/images/boxright.png);'><img src='/images/null.gif' width='11' height='1' alt='' /></td></tr>\r
+            <tr><td style='background: url(/images/boxbottom1.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='12' height='14' alt='' /></td>\r
+                <td style='background: url(/images/boxbottom2.png);background-repeat:repeat-x;' colspan='3'><img src='/images/null.gif' width='1' height='14' alt='' /></td>\r
+                <td style='background: url(/images/boxbottom3.png);background-repeat:no-repeat;'><img src='/images/null.gif' width='11' height='14' alt='' /></td></tr>\r
+        </table>\r
+END\r
+       ;\r
+}\r
+\r
+sub getcgihash {\r
+       my ($hash, $params) = @_;\r
+       my $cgi = CGI->new ();\r
+       return if ($ENV{'REQUEST_METHOD'} ne 'POST');\r
+       if (!$params->{'wantfile'}) {\r
+               $CGI::DISABLE_UPLOADS = 1;\r
+               $CGI::POST_MAX        = 512 * 1024;\r
+       } else {\r
+               $CGI::POST_MAX = 10 * 1024 * 1024;\r
+       }\r
+\r
+       $cgi->referer() =~ m/^https?\:\/\/([^\/]+)/;\r
+       my $referer = $1;\r
+       $cgi->url() =~ m/^https?\:\/\/([^\/]+)/;\r
+       my $servername = $1;\r
+       return if ($referer ne $servername);\r
+\r
+       ### Modified for getting multi-vars, split by |\r
+       my %temp = $cgi->Vars();\r
+        foreach my $key (keys %temp) {\r
+               $hash->{$key} = $temp{$key};\r
+               $hash->{$key} =~ s/\0/|/g;\r
+               $hash->{$key} =~ s/^\s*(.*?)\s*$/$1/;\r
+        }\r
+\r
+       if (($params->{'wantfile'})&&($params->{'filevar'})) {\r
+               $hash->{$params->{'filevar'}} = $cgi->upload\r
+                                               ($params->{'filevar'});\r
+       }\r
+       return;\r
+}\r
+\r
+sub cleanhtml\r
+{\r
+       my $outstring =$_[0];\r
+       $outstring =~ tr/,/ / if not defined $_[1] or $_[1] ne 'y';\r
+       $outstring =~ s/&/&amp;/g;\r
+       $outstring =~ s/\'/&#039;/g;\r
+       $outstring =~ s/\"/&quot;/g;\r
+       $outstring =~ s/</&lt;/g;\r
+       $outstring =~ s/>/&gt;/g;\r
+       return $outstring;\r
+}\r
+\r
+sub connectionstatus\r
+{\r
+    my %pppsettings = ();\r
+    my %netsettings = ();\r
+    my $iface='';\r
+\r
+    $pppsettings{'PROFILENAME'} = 'None';\r
+    &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);\r
+    &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);\r
+\r
+    my $profileused='';\r
+    if ( ! ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {\r
+       $profileused="- $pppsettings{'PROFILENAME'}";\r
+    }\r
+\r
+    if ( ( $pppsettings{'METHOD'} eq 'DHCP' && $netsettings{'RED_TYPE'} ne 'PPTP') \r
+                                               || $netsettings{'RED_TYPE'} eq 'DHCP' ) {\r
+               if (open(IFACE, "${General::swroot}/red/iface")) {\r
+                       $iface = <IFACE>;\r
+                       close IFACE;\r
+                       chomp ($iface);\r
+                       $iface =~ /([a-zA-Z0-9]*)/; $iface = $1;\r
+               }\r
+    }\r
+\r
+    my ($timestr, $connstate);\r
+    if ($netsettings{'CONFIG_TYPE'} =~ /^(0|1|4|5)$/ &&  $pppsettings{'TYPE'} =~ /^isdn/) {\r
+       # Count ISDN channels\r
+       my ($idmap, $chmap, $drmap, $usage, $flags, $phone);\r
+       my @phonenumbers;\r
+       my $count=0;\r
+\r
+       open (FILE, "/dev/isdninfo");\r
+\r
+       $idmap = <FILE>; chop $idmap;\r
+       $chmap = <FILE>; chop $chmap;\r
+       $drmap = <FILE>; chop $drmap;\r
+       $usage = <FILE>; chop $usage;\r
+       $flags = <FILE>; chop $flags;\r
+       $phone = <FILE>; chop $phone;\r
+\r
+       $phone =~ s/^phone(\s*):(\s*)//;\r
+\r
+       @phonenumbers = split / /, $phone;\r
+\r
+       foreach (@phonenumbers) {\r
+               if ($_ ne '???') {\r
+                       $count++;\r
+               }\r
+       }\r
+       close (FILE);\r
+\r
+       ## Connection status\r
+       my $number;\r
+       if ($count == 0) {\r
+               $number = 'none!';\r
+       } elsif ($count == 1) {\r
+               $number = 'single';\r
+       } else {\r
+               $number = 'dual';\r
+       }\r
+\r
+       if (-e "${General::swroot}/red/active") {\r
+               $timestr = &General::age("${General::swroot}/red/active");\r
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} - $number channel (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
+       } else {\r
+               if ($count == 0) {\r
+                       if (-e "${General::swroot}/red/dial-on-demand") {\r
+                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";\r
+                       } else {\r
+                               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
+                       }\r
+               } else {\r
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";\r
+               }\r
+       }\r
+    } elsif ($netsettings{'RED_TYPE'} eq "STATIC" || $pppsettings {'METHOD'} eq 'STATIC') {\r
+       if (-e "${General::swroot}/red/active") {\r
+               $timestr = &General::age("${General::swroot}/red/active");\r
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
+       } else {\r
+               $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
+       }\r
+    } elsif ( ( (-e "${General::swroot}/dhcpc/dhcpcd-$iface.pid") && $netsettings{'RED_TYPE'} ne 'PPTP' ) || \r
+       !system("/bin/ps -ef | /bin/grep -q '[p]ppd'") || !system("/bin/ps -ef | /bin/grep -q '[c]onnectioncheck'")) {\r
+       if (-e "${General::swroot}/red/active") {\r
+               $timestr = &General::age("${General::swroot}/red/active");\r
+               if ($pppsettings{'TYPE'} =~ /^(modem|bewanadsl|conexantpciadsl|eagleusbadsl)$/) {\r
+                       my $speed;\r
+                       if ($pppsettings{'TYPE'} eq 'modem') {\r
+                               open(CONNECTLOG, "/var/log/connect.log");\r
+                               while (<CONNECTLOG>) {\r
+                                       if (/CONNECT/) {\r
+                                               $speed = (split / /)[6];\r
+                                       }\r
+                               }\r
+                               close (CONNECTLOG);\r
+                       } elsif ($pppsettings{'TYPE'} eq 'bewanadsl') {\r
+                               $speed = `/usr/bin/unicorn_status | /bin/grep Rate | /usr/bin/cut -f2 -d ':'`;\r
+                       } elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') {\r
+                               $speed = `/bin/cat /proc/net/atm/CnxAdsl:* | /bin/grep 'Line Rates' | /bin/sed -e 's+Line Rates:   Receive+Rx+' -e 's+Transmit+Tx+'`;\r
+                       } elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') {\r
+                               $speed = `/usr/sbin/eaglestat | /bin/grep Rate`;\r
+                       }\r
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused (\@$speed)</span>";\r
+               } else {\r
+                       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connected'} (<span class='ipcop_StatusBigRed'>$timestr</span>) $profileused</span>";\r
+               }\r
+       } else {\r
+               if (-e "${General::swroot}/red/dial-on-demand") {\r
+                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'dod waiting'} $profileused</span>";\r
+               } else {\r
+                   $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'connecting'} $profileused</span>";\r
+               }\r
+       }\r
+    } else {\r
+       $connstate = "<span class='ipcop_StatusBig'>$Lang::tr{'idle'} $profileused</span>";\r
+    }\r
+    return $connstate;\r
+}\r
+\r
+sub speedtouchversion\r
+{\r
+       my $speedtouch;\r
+       if (-f "/proc/bus/usb/devices")\r
+       {\r
+               $speedtouch=`/bin/cat /proc/bus/usb/devices | /bin/grep 'Vendor=06b9 ProdID=4061' | /usr/bin/cut -d ' ' -f6`;\r
+               if ($speedtouch eq '') {\r
+                       $speedtouch= $Lang::tr{'connect the modem'};\r
+               }\r
+       } else {\r
+               $speedtouch='USB '.$Lang::tr{'not running'};\r
+       }\r
+       return $speedtouch\r
+}\r
+\r
+#Sorting of allocated leases\r
+sub CheckSortOrder {\r
+    my %dhcpsettings = ();\r
+    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
+\r
+    if ($ENV{'QUERY_STRING'} =~ /^IPADDR|^ETHER|^HOSTNAME|^ENDTIME/ ) {\r
+       my $newsort=$ENV{'QUERY_STRING'};\r
+        my $act=$dhcpsettings{'SORT_LEASELIST'};\r
+        #Default sort if unspecified \r
+        $act='IPADDRRev' if !defined ($act); \r
+        #Reverse actual ?\r
+        if ($act =~ $newsort) {\r
+            my $Rev='';\r
+            if ($act !~ 'Rev') {$Rev='Rev'};\r
+            $newsort.=$Rev\r
+        };\r
+\r
+        $dhcpsettings{'SORT_LEASELIST'}=$newsort;\r
+       &General::writehash("${General::swroot}/dhcp/settings", \%dhcpsettings);\r
+    }\r
+}\r
+\r
+sub PrintActualLeases\r
+{\r
+    our %dhcpsettings = ();\r
+    our %entries = ();    \r
+    \r
+    sub leasesort {\r
+       my $qs ='';\r
+       if (rindex ($dhcpsettings{'SORT_LEASELIST'},'Rev') != -1)\r
+       {\r
+           $qs=substr ($dhcpsettings{'SORT_LEASELIST'},0,length($dhcpsettings{'SORT_LEASELIST'})-3);\r
+           if ($qs eq 'IPADDR') {\r
+               my @a = split(/\./,$entries{$a}->{$qs});\r
+               my @b = split(/\./,$entries{$b}->{$qs});\r
+               ($b[0]<=>$a[0]) ||\r
+               ($b[1]<=>$a[1]) ||\r
+               ($b[2]<=>$a[2]) ||\r
+               ($b[3]<=>$a[3]);\r
+           }else {\r
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};\r
+           }\r
+        }\r
+        else #not reverse\r
+        {\r
+           $qs=$dhcpsettings{'SORT_LEASELIST'};\r
+           if ($qs eq 'IPADDR') {\r
+               my @a = split(/\./,$entries{$a}->{$qs});\r
+               my @b = split(/\./,$entries{$b}->{$qs});\r
+               ($a[0]<=>$b[0]) ||\r
+               ($a[1]<=>$b[1]) ||\r
+               ($a[2]<=>$b[2]) ||\r
+               ($a[3]<=>$b[3]);\r
+           }else {\r
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};\r
+           }\r
+       }\r
+    }\r
+\r
+    &Header::openbox('100%', 'left', $Lang::tr{'current dynamic leases'});\r
+    print <<END\r
+<table width='100%'>\r
+<tr>\r
+<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IPADDR'><b>$Lang::tr{'ip address'}</b></a></td>\r
+<td width='25%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ETHER'><b>$Lang::tr{'mac address'}</b></a></td>\r
+<td width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?HOSTNAME'><b>$Lang::tr{'hostname'}</b></a></td>\r
+<td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?ENDTIME'><b>$Lang::tr{'lease expires'} (local time d/m/y)</b></a></td>\r
+</tr>\r
+END\r
+    ;\r
+\r
+    my ($ip, $endtime, $ether, $hostname, @record, $record);\r
+    open(LEASES,"/var/state/dhcp/dhcpd.leases") or die "Can't open dhcpd.leases";\r
+    while (my $line = <LEASES>) {\r
+       next if( $line =~ /^\s*#/ );\r
+       chomp($line);\r
+       my @temp = split (' ', $line);\r
+\r
+       if ($line =~ /^\s*lease/) {\r
+           $ip = $temp[1];\r
+           #All field are not necessarily read. Clear everything\r
+           $endtime = 0;\r
+           $ether = "";\r
+           $hostname = "";\r
+       } elsif ($line =~ /^\s*ends never;/) {\r
+           $endtime = 'never';\r
+       } elsif ($line =~ /^\s*ends/) {\r
+           $line =~ /(\d+)\/(\d+)\/(\d+) (\d+):(\d+):(\d+)/;\r
+           $endtime = timegm($6, $5, $4, $3, $2 - 1, $1 - 1900);\r
+       } elsif ($line =~ /^\s*hardware ethernet/) {\r
+           $ether = $temp[2];\r
+           $ether =~ s/;//g;\r
+       } elsif ($line =~ /^\s*client-hostname/) {\r
+           shift (@temp);\r
+           $hostname = join (' ',@temp);\r
+           $hostname =~ s/;//g;\r
+           $hostname =~ s/\"//g;\r
+       } elsif ($line eq "}") {\r
+           @record = ('IPADDR',$ip,'ENDTIME',$endtime,'ETHER',$ether,'HOSTNAME',$hostname);\r
+           $record = {};                                       # create a reference to empty hash\r
+           %{$record} = @record;                               # populate that hash with @record\r
+           $entries{$record->{'IPADDR'}} = $record;    # add this to a hash of hashes\r
+       } #unknown format line...\r
+    }\r
+    close(LEASES);\r
+\r
+    #Get sort method\r
+    $dhcpsettings{'SORT_LEASELIST'}='IPADDR';                                  #default\r
+    &General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings);    #or maybe saved !\r
+    my $id = 0;\r
+    foreach my $key (sort leasesort keys %entries) {\r
+\r
+       my $hostname = &Header::cleanhtml($entries{$key}->{HOSTNAME},"y");\r
+\r
+       if ($id % 2) {\r
+           print "<tr bgcolor='$Header::table1colour'>";\r
+       }\r
+       else {\r
+           print "<tr bgcolor='$Header::table2colour'>";\r
+       }\r
+\r
+       print <<END\r
+<td align='center'>$entries{$key}->{IPADDR}</td>\r
+<td align='center'>$entries{$key}->{ETHER}</td>\r
+<td align='center'>&nbsp;$hostname </td>\r
+<td align='center'>\r
+END\r
+       ;\r
+\r
+       if ($entries{$key}->{ENDTIME} eq 'never') {\r
+           print "$Lang::tr{'no time limit'}";\r
+       } else {\r
+           my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst);\r
+           ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime ($entries{$key}->{ENDTIME});\r
+           my $enddate = sprintf ("%02d/%02d/%d %02d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);\r
+\r
+           if ($entries{$key}->{ENDTIME} < time() ){\r
+               print "<strike>$enddate</strike>";\r
+           } else {\r
+               print "$enddate";\r
+           }\r
+       }\r
+       print "</td></tr>";\r
+       $id++;\r
+    }\r
+\r
+    print "</table>";\r
+    &Header::closebox();\r
+}\r
+\r
+1;\r
diff --git a/config/cfgroot/icmptypes b/config/cfgroot/icmptypes
new file mode 100644 (file)
index 0000000..935324f
--- /dev/null
@@ -0,0 +1,61 @@
+# ICMP Data File
+#
+# 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
+#
+# (c) The IPCop Team
+#
+# $Id: icmptypes,v 1.2 2003/12/11 11:15:33 riddles Exp $
+#
+# Valid ICMP types obtained through the following command
+#      iptables -p icmp -h
+#
+echo-reply (pong)
+destination-unreachable
+network-unreachable
+host-unreachable
+protocol-unreachable
+port-unreachable
+fragmentation-needed
+source-route-failed
+network-unknown
+host-unknown
+network-prohibited
+host-prohibited
+TOS-network-unreachable
+TOS-host-unreachable
+communication-prohibited
+host-precedence-violation
+precedence-cutoff
+source-quench
+redirect
+network-redirect
+host-redirect
+TOS-network-redirect
+TOS-host-redirect
+echo-request (ping)
+router-advertisement
+router-solicitation
+time-exceeded (ttl-exceeded)
+ttl-zero-during-transit
+ttl-zero-during-reassembly
+parameter-problem
+ip-header-bad
+required-option-missing
+timestamp-request
+timestamp-reply
+address-mask-request
+address-mask-reply
diff --git a/config/cfgroot/ipcop.gpg b/config/cfgroot/ipcop.gpg
new file mode 100644 (file)
index 0000000..c3e93dd
--- /dev/null
@@ -0,0 +1,18 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.0.7 (GNU/Linux)
+
+mQGiBD99FiIRBADCqlOQU6VhBMHHpX9RRHF+yfAeMVtqlKryiPh/CaBwxMjZwfcD
+1vKOZo0/PLsNyOO6EBTvPrAKQXKlkpl+qR2e72QhUySurVP4Ia8mvCGxIY20H73U
+2X1Tu3iKs/QErtb85l3f10XVkNtdkFjJlilF1Tpen4ZWTG4Xph2Hw8pLJwCgtj1F
++Qw2oHtvgqMp3e6gtpPDNJUEAKuEQVqruNO1xoFDwvskOImBH2bLIPD+5Gw9JjGD
+z/AI9h+BqNwmKrKqRH5m2QZVCPXBhA3zeCMYyMUr81jgSIbAxYz5uNKmJ+YjJ5n2
+ykKX5v5OeyjC6sfH19hV3R/dTDymLeR/Wv4gH7/RcbileqbJMkzVpKZe3PY8sb3y
+u8GbBACDj6bbgFJ5egNDtovU1UiMXyz9sX+/ZiyZeXsn5aH4Z/aBuucxKorPNUiz
+NoHqMrfvi9EfObAY5YLzZPG47XRKIOh0Ss/qFpOXMI7y7+5sM9D74u7sUUpNSEAf
+xY5GvTs0vAccNaqZ1dlhhzLpDuhAF9SWlWXaqfiKfP/tkOjk77RTSVBDb3AgRGV2
+ZWxvcG1lbnQgR3JvdXAgKGh0dHA6Ly93d3cuaXBjb3Aub3JnLykgPGlwY29wLWRl
+dmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD6IWQQTEQIAGQUCP30WIgQLBwMCAxUC
+AwMWAgECHgECF4AACgkQWpntmEo7/Z6dAwCgqXmL3xxiA4J/AIvZDYy9Qx4V34kA
+mgOLo6OaYw5vAlF5z6T3gNCpiAK7
+=/LRw
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/config/cfgroot/lang.pl b/config/cfgroot/lang.pl
new file mode 100644 (file)
index 0000000..8d2be61
--- /dev/null
@@ -0,0 +1,160 @@
+# SmoothWall CGIs\r
+#\r
+# This code is distributed under the terms of the GPL\r
+#\r
+# (c) The SmoothWall Team\r
+# Copyright (c) 2002/08/23 Mark Wormgoor <mark@wormgoor.com> Split from header.pl\r
+#\r
+# $Id: lang.pl,v 1.1.2.11 2005/09/10 16:22:50 eoberlander Exp $\r
+#\r
+\r
+package Lang;\r
+require 'CONFIG_ROOT/general-functions.pl';\r
+use strict;\r
+\r
+### A cache file to avoid long recalculation\r
+$Lang::CacheLang = '/var/run/cache-lang.pl';\r
+\r
+# When you want to add your own language strings/entries to the ipcop language file,\r
+# you should create a file with <PREFIX>.<LANG>.pl into CONFIG_ROOT/addon-lang dir\r
+#      <PREFIX> is free choosable but should be significant. An Example might be "myAddnName"\r
+#      <LANG> is a mnemonic of the used language like en, de, it, nl etc.\r
+#              You can find a detailed list of possible mnemonic's in the file CONFIG_ROOT/langs/list\r
+# A file could be named "VirtualHttpd.en.pl" for example.\r
+#\r
+# The file content has to start with (of course without the leading #):\r
+# --------- CODE ---------\r
+#%tr = (%tr,\r
+# 'key1' => 'value',                           # add all your entries key/values here \r
+# 'key2' => 'value'                            # and end with (of course without the leading #):\r
+#);\r
+# --------- CODE END---------\r
+#\r
+# After you have copied all your files to CONFIG_ROOT/add-lang you have to run the\r
+# script compilation:\r
+# perl -e "require '/CONFIG_ROOT/lang.pl'; &Lang::BuildCacheLang"\r
+\r
+\r
+### Initialize language\r
+%Lang::tr = ();\r
+my %settings = ();\r
+&General::readhash("${General::swroot}/main/settings", \%settings);\r
+reload($settings{'LANGUAGE'});\r
+\r
+# language variable used by makegraphs script\r
+our $language;\r
+$language = $settings{'LANGUAGE'};\r
+\r
+#\r
+# Load requested language file from cachefile. If cachefile doesn't exist, build on the fly.\r
+# (it is a developper options)\r
+#\r
+sub reload {\r
+\r
+    my ($LG) = @_;\r
+    %Lang::tr = ();    # start with a clean array\r
+\r
+    # Use CacheLang if present & not empty.\r
+    if (-s "$Lang::CacheLang.$LG" ) {\r
+       ##fix: need to put a lock_shared on it in case rebuild is active ?\r
+       do "$Lang::CacheLang.$LG";\r
+        #&General::log ("cachelang file used [$LG]");  \r
+       return;\r
+    }\r
+    \r
+    #&General::log("Building on the fly cachelang file for [$LG]");\r
+    do "${General::swroot}/langs/en.pl";\r
+    do "${General::swroot}/langs/$LG.pl" if ($LG ne 'en');\r
+\r
+    my $AddonDir = ${General::swroot}.'/addon-lang';\r
+\r
+    opendir (DIR, $AddonDir);\r
+    my @files = readdir (DIR);\r
+    closedir (DIR);\r
+\r
+    # default is to load english first\r
+    foreach my $file ( grep (/.*\.en.pl$/,@files)) {\r
+       do "$AddonDir/$file";\r
+    }\r
+\r
+    # read again, overwriting 'en' with choosed lang\r
+    if ($LG ne 'en') {\r
+       foreach my $file (grep (/.*\.$LG\.pl$/,@files) ) {\r
+           do "$AddonDir/$file";\r
+       }\r
+    }\r
+}\r
+\r
+#\r
+# Assume this procedure is called with enough privileges.\r
+# Merge ipcop langage file + all other extension found in addon-lang\r
+# to build a 'cachefile' for selected language\r
+#\r
+sub BuildUniqueCacheLang {\r
+\r
+    my ($LG) = @_;\r
+    \r
+    # Make CacheLang empty so that it won't be used by Lang::reload\r
+    open (FILE, ">$Lang::CacheLang.$LG") or return 1;\r
+    flock (FILE, 2) or return 1;\r
+    close (FILE);\r
+\r
+    # Load languages files\r
+    &Lang::reload ($LG);\r
+    \r
+    # Write the unique %tr=('key'=>'value') array\r
+    open (FILE, ">$Lang::CacheLang.$LG") or return 1;\r
+    flock (FILE, 2) or return 1;\r
+    print FILE '%tr=(';\r
+    foreach my $k ( keys %Lang::tr ){\r
+       $Lang::tr{$k} =~ s/\'/\\\'/g;                   # quote ' => \'\r
+       print FILE "'$k' => '$Lang::tr{$k}',";          # key => value,\r
+    }\r
+    print FILE ');';\r
+    close (FILE);\r
+    \r
+    # Make nobody:nobody file's owner\r
+    # Will work when called by root/rc.sysinit\r
+    chown (0,0,"$Lang::CacheLang.$LG");\r
+    chmod (0004,"$Lang::CacheLang.$LG");\r
+    return 0;\r
+}\r
+\r
+#\r
+# Switch Ipcop Language for each lang then call build cachelang\r
+#\r
+sub BuildCacheLang {\r
+\r
+    my $AddonDir = ${General::swroot}.'/addon-lang';\r
+    \r
+    # Correct permission in case addon-installer did not do it\r
+    opendir (DIR, $AddonDir);\r
+    my @files = readdir (DIR);\r
+    foreach my $file (@files) {\r
+       next if (($file eq '..') || ($file eq '.'));\r
+       chown (0,0,"$AddonDir/$file");\r
+       chmod (0004,"$AddonDir/$file");\r
+    }\r
+    closedir (DIR);\r
+\r
+    my $selected = '';;\r
+    my $missed = '';\r
+    my $error = 0;\r
+    \r
+    open (LANGS, "${General::swroot}/langs/list");\r
+    while (<LANGS>) {\r
+       ($selected) = split (':');\r
+       if (BuildUniqueCacheLang ($selected) == 1) {\r
+           $missed = $selected; # will try latter. Can only be the current cachelang file locked\r
+       };\r
+    }\r
+    close (LANGS);\r
+\r
+    if ($missed) { # collision with current cache lang being used ?\r
+       $error = &BuildUniqueCacheLang ($missed);\r
+    }\r
+    \r
+    &General::log ("WARNING: cannot build cachelang file for [$missed].") if ($error);\r
+    return $error;\r
+}\r
+1;\r
diff --git a/config/cfgroot/logging-settings