]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Merge remote branch 'origin/next' into arm-port
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 18 Sep 2011 00:58:34 +0000 (02:58 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 18 Sep 2011 00:58:34 +0000 (02:58 +0200)
Conflicts:
config/rootfiles/common/i586/gcc
lfs/binutils
lfs/cleanup-toolchain
lfs/coreutils
lfs/gcc
lfs/glibc
lfs/groff
src/pakfire/pakfire.conf
src/patches/gcc-4.1.2-specs-1.patch

109 files changed:
config/cfgroot/graphs.pl
config/etc/modprobe.d/cfg80211
config/menu/30-network.menu
config/rootfiles/common/apache2
config/rootfiles/common/binutils
config/rootfiles/common/configroot
config/rootfiles/common/ethtool
config/rootfiles/common/groff
config/rootfiles/common/i586/gcc
config/rootfiles/common/initscripts
config/rootfiles/common/misc-progs
config/rootfiles/common/openvpn
config/rootfiles/common/strongswan
config/rootfiles/common/usb_modeswitch
config/rootfiles/common/usb_modeswitch_data
config/rootfiles/core/52/exclude
config/rootfiles/core/52/filelists/apache2 [new symlink]
config/rootfiles/core/52/filelists/ethtool [new symlink]
config/rootfiles/core/52/filelists/files
config/rootfiles/core/52/filelists/squid [new symlink]
config/rootfiles/core/52/update.sh
config/rootfiles/core/53/exclude [new file with mode: 0644]
config/rootfiles/core/53/filelists/compat-wireless [new file with mode: 0644]
config/rootfiles/core/53/filelists/files [new file with mode: 0644]
config/rootfiles/core/53/filelists/gcc [new symlink]
config/rootfiles/core/53/filelists/glibc [new symlink]
config/rootfiles/core/53/filelists/gmp [new symlink]
config/rootfiles/core/53/filelists/openvpn [new symlink]
config/rootfiles/core/53/filelists/strongswan [new symlink]
config/rootfiles/core/53/filelists/usb_modeswitch [new symlink]
config/rootfiles/core/53/filelists/usb_modeswitch_data [new symlink]
config/rootfiles/core/53/meta [new file with mode: 0644]
config/rootfiles/core/53/update.sh [new file with mode: 0644]
config/rootfiles/oldcore/51/update.sh
config/rootfiles/packages/java [deleted file]
config/rootfiles/packages/libsatsolver [deleted file]
config/rootfiles/packages/libsolv [new file with mode: 0644]
config/rootfiles/packages/python-satsolver [deleted file]
config/rootfiles/packages/qemu
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.pl
doc/language_issues.ru
doc/language_missings
html/cgi-bin/ddns.cgi
html/cgi-bin/extrahd.cgi
html/cgi-bin/index.cgi
html/cgi-bin/outgoinggrp.cgi
html/cgi-bin/ovpnmain.cgi
html/cgi-bin/pakfire.cgi
html/cgi-bin/proxy.cgi
html/cgi-bin/routing.cgi [new file with mode: 0644]
html/cgi-bin/vpnmain.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/fr/cgi-bin/fr.pl
langs/pl/cgi-bin/pl.pl
langs/ru/cgi-bin/ru.pl
lfs/apache2
lfs/bash
lfs/binutils
lfs/ccache
lfs/cleanup-toolchain
lfs/compat-wireless
lfs/configroot
lfs/coreutils
lfs/ethtool
lfs/gcc
lfs/glibc
lfs/groff
lfs/iproute2
lfs/java [deleted file]
lfs/kvm-kmod
lfs/libsolv [moved from lfs/libsatsolver with 84% similarity]
lfs/ncurses
lfs/openvpn
lfs/perl
lfs/python-satsolver [deleted file]
lfs/qemu
lfs/squid
lfs/strongswan
lfs/usb_modeswitch
lfs/usb_modeswitch_data
lfs/xen-image
make.sh
src/initscripts/init.d/network
src/initscripts/init.d/networking/red
src/initscripts/init.d/networking/red.down/10-ovpn
src/initscripts/init.d/networking/red.up/50-ovpn
src/initscripts/init.d/static-routes [new file with mode: 0644]
src/misc-progs/Makefile
src/misc-progs/ipsecctrl.c
src/misc-progs/openvpnctrl.c
src/misc-progs/rebuildroutes.c [new file with mode: 0644]
src/pakfire/pakfire.conf
src/patches/binutils-2.18-configure-1.patch [new file with mode: 0644]
src/patches/ccache-3.1.6-no_compiler_mtime.patch [moved from src/patches/ccache-3.1-no_compiler_mtime.patch with 100% similarity]
src/patches/gcc-4.1.2-fix_linker_version_detection.patch [new file with mode: 0644]
src/patches/kvm-kmod-3.0b_remove_pvclock_scale_delta_redefinition.patch [new file with mode: 0644]
src/patches/libsatsolver-Build-only-libraries.patch [deleted file]
src/patches/libsatsolver-Create-linker-scripts-that-do-only-export-the-needed.patch [deleted file]
src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch [deleted file]
src/patches/qemu-0.15.0_missing_definitions_hack.patch [new file with mode: 0644]
src/scripts/backupiso
src/scripts/setddns.pl
src/scripts/vpn-watch

index 8d047c2a50e582de6c53e8c75778cab80e16f83f..c51e882e20ff2267fae3c45381db6f2f4ed8b5cd 100644 (file)
@@ -116,7 +116,7 @@ sub updatecpugraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'cpu usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'cpu usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -249,7 +249,7 @@ sub updateloadgraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t Load Average ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t Load Average ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'processes'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -288,7 +288,7 @@ sub updatememorygraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'memory usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'memory usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -350,7 +350,7 @@ sub updateswapgraph {
                "-l 0",
                "-u 100",
                "-r",
-               "-t ".$Lang::tr{'swap usage per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'swap usage per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'percentage'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -407,7 +407,7 @@ sub updateprocessescpugraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"}
@@ -457,7 +457,7 @@ sub updateprocessesmemorygraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'memory'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'processes'}." ".$Lang::tr{'memory'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -503,7 +503,7 @@ sub updatediskgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$disk." ".$Lang::tr{'disk access per'}." ".$Lang::tr{$period},
+               "-t ".$disk." ".$Lang::tr{'disk access per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -553,7 +553,7 @@ sub updateifgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -597,7 +597,7 @@ sub updatefwhitsgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'firewall hits per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'firewall hits per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -645,7 +645,7 @@ sub updatepinggraph {
                "-h 125",
                "-l 0",
                "-r",
-               "-t ".$Lang::tr{'linkq'}." ".$host." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'linkq'}." ".$host." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ms",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -689,7 +689,7 @@ sub updatewirelessgraph {
                "--alt-y-grid",
                "-w 600",
                "-h 125",
-               "-t Wireless ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t Wireless ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v dBm",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -733,7 +733,7 @@ sub updatehddgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$disk." ".$Lang::tr{'harddisk temperature'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$disk." ".$Lang::tr{'harddisk temperature'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v Celsius",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -773,7 +773,7 @@ sub updatehwtempgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'mbmon temp'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon temp'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -826,7 +826,7 @@ sub updatehwfangraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'mbmon fan'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon fan'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -879,7 +879,7 @@ sub updatehwvoltgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'mbmon volt'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'mbmon volt'}." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
                "--color=BACK".$color{"color21"},
@@ -952,7 +952,7 @@ sub updateqosgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'Utilization on'}." (".$qossettings{'DEV'}.") ".$Lang::tr{'graph per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'Utilization on'}." (".$qossettings{'DEV'}.") ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
                "-v ".$Lang::tr{'bytes per second'},
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -1010,7 +1010,7 @@ sub updatecpufreqgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t ".$Lang::tr{'cpu frequency per'}." ".$Lang::tr{$period},
+               "-t ".$Lang::tr{'cpu frequency per'}." ".$Lang::tr{$period."-graph"},
                "-v MHz",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
@@ -1055,7 +1055,7 @@ sub updatethermaltempgraph {
                "-w 600",
                "-h 125",
                "-r",
-               "-t "."ACPI Thermal-Zone Temperature"." - ".$Lang::tr{$period},
+               "-t "."ACPI Thermal-Zone Temperature"." - ".$Lang::tr{$period."-graph"},
                "-v Grad Celsius",
                "--color=SHADEA".$color{"color19"},
                "--color=SHADEB".$color{"color19"},
index 3339ea8fdd4ceb44260f1a5ad0817df8ad139da0..9e04ea6717ef936e6b9e88954b30948488711189 100644 (file)
@@ -1,2 +1,2 @@
-options cfg80211 ieee80211_regdom=EU
+#options cfg80211 ieee80211_regdom=DE
 blacklist ieee80211
index abc6bc6afb5973da8fcfc92e82079b74fdd896ae..f4645b8fc7647882bc006572998f08f5263a674f 100644 (file)
                                 'title' => "$Lang::tr{'edit hosts'}",
                                 'enabled' => 1,
                                 };
+    $subnetwork->{'51.routes'} = {
+                                'caption' => $Lang::tr{'static routes'},
+                                'uri' => '/cgi-bin/routing.cgi',
+                                'title' => "$Lang::tr{'static routes'}",
+                                'enabled' => 1,
+                                };
     $subnetwork->{'60.upload'} = {
                                  'caption' => $Lang::tr{'upload'},
                                  'uri' => '/cgi-bin/upload.cgi',
index 970598e38e2f18e9f7311ec81ffe56785db6b5a8..2eab3b5e72b5eb9fc9e41be9499f5bf0a291ebc8 100644 (file)
@@ -1404,6 +1404,7 @@ srv/web/ipfire/cgi-bin/pppsetup.cgi
 srv/web/ipfire/cgi-bin/proxy.cgi
 srv/web/ipfire/cgi-bin/qos.cgi
 srv/web/ipfire/cgi-bin/remote.cgi
+srv/web/ipfire/cgi-bin/routing.cgi
 srv/web/ipfire/cgi-bin/services.cgi
 srv/web/ipfire/cgi-bin/speed.cgi
 srv/web/ipfire/cgi-bin/system.cgi
index b4a1e499bfafa27154d2e09165a0ea867db964f0..0cd5af9150be3dd10c06207bccebb507ee98ad3d 100644 (file)
 #usr/lib/ldscripts/i386linux.xn
 #usr/lib/ldscripts/i386linux.xr
 #usr/lib/ldscripts/i386linux.xu
-#usr/lib/libbfd-2.17.so
+#usr/lib/libbfd-2.18.so
 #usr/lib/libbfd.a
 #usr/lib/libbfd.la
 #usr/lib/libbfd.so
 #usr/lib/libiberty.a
-#usr/lib/libopcodes-2.17.so
+#usr/lib/libopcodes-2.18.so
 #usr/lib/libopcodes.a
 #usr/lib/libopcodes.la
 #usr/lib/libopcodes.so
@@ -71,4 +71,5 @@
 #usr/man/man1/size.1
 #usr/man/man1/strings.1
 #usr/man/man1/strip.1
+#usr/man/man1/windmc.1
 #usr/man/man1/windres.1
index 5ac578a909421df5e469147e342002b3ea733983..8fdd7ac96a4c5dbb86aaa3c390f5ec1429c7f7d6 100644 (file)
@@ -67,6 +67,7 @@ var/ipfire/mac
 var/ipfire/main
 #var/ipfire/main/disable_nf_sip
 #var/ipfire/main/hosts
+#var/ipfire/main/routing
 #var/ipfire/main/settings
 #var/ipfire/menu.d
 var/ipfire/menu.d/00-menu.main
index 519118c420f2e618ee2dccbdee0cfd5203533a6f..930cd05de12a3d27a5a00ac6c5fb179fcf65271a 100644 (file)
@@ -1,2 +1,2 @@
-#usr/man/man8/ethtool.8
 usr/sbin/ethtool
+#usr/share/man/man8/ethtool.8
index 345de37ab0faba210e1810f4ff4b6fd9681eacf5..c27e5947e03a66b38fb32ccb6116482184ea0c8c 100644 (file)
@@ -1,8 +1,11 @@
 #usr/bin/addftinfo
 #usr/bin/afmtodit
+#usr/bin/chem
 #usr/bin/eqn
 #usr/bin/eqn2graph
+#usr/bin/gdiffmk
 #usr/bin/geqn
+#usr/bin/grap2graph
 #usr/bin/grn
 #usr/bin/grodvi
 #usr/bin/groff
 #usr/bin/mmroff
 #usr/bin/neqn
 #usr/bin/nroff
+#usr/bin/pdfroff
 #usr/bin/pfbtops
 #usr/bin/pic
 #usr/bin/pic2graph
 #usr/bin/post-grohtml
 #usr/bin/pre-grohtml
+#usr/bin/preconv
 #usr/bin/refer
+#usr/bin/roff2dvi
+#usr/bin/roff2html
+#usr/bin/roff2pdf
+#usr/bin/roff2ps
+#usr/bin/roff2text
+#usr/bin/roff2x
 #usr/bin/soelim
 #usr/bin/tbl
 #usr/bin/tfmtodit
 #usr/bin/troff
-#usr/info/groff
-#usr/info/groff-1
-#usr/info/groff-10
-#usr/info/groff-11
-#usr/info/groff-2
-#usr/info/groff-3
-#usr/info/groff-4
-#usr/info/groff-5
-#usr/info/groff-6
-#usr/info/groff-7
-#usr/info/groff-8
-#usr/info/groff-9
 #usr/lib/groff
+#usr/lib/groff/groffer
+#usr/lib/groff/groffer/func.pl
+#usr/lib/groff/groffer/man.pl
+#usr/lib/groff/groffer/perl_test.pl
+#usr/lib/groff/groffer/split_env.sh
+#usr/lib/groff/groffer/version.sh
 #usr/lib/groff/site-tmac
-#usr/man/man1/addftinfo.1
-#usr/man/man1/afmtodit.1
-#usr/man/man1/eqn.1
-#usr/man/man1/eqn2graph.1
-#usr/man/man1/grn.1
-#usr/man/man1/grodvi.1
-#usr/man/man1/groff.1
-#usr/man/man1/groffer.1
-#usr/man/man1/grog.1
-#usr/man/man1/grohtml.1
-#usr/man/man1/grolbp.1
-#usr/man/man1/grolj4.1
-#usr/man/man1/grops.1
-#usr/man/man1/grotty.1
-#usr/man/man1/hpftodit.1
-#usr/man/man1/indxbib.1
-#usr/man/man1/lkbib.1
-#usr/man/man1/lookbib.1
-#usr/man/man1/mmroff.1
-#usr/man/man1/neqn.1
-#usr/man/man1/nroff.1
-#usr/man/man1/pfbtops.1
-#usr/man/man1/pic.1
-#usr/man/man1/pic2graph.1
-#usr/man/man1/refer.1
-#usr/man/man1/soelim.1
-#usr/man/man1/tbl.1
-#usr/man/man1/tfmtodit.1
-#usr/man/man1/troff.1
-#usr/man/man5/groff_font.5
-#usr/man/man5/groff_out.5
-#usr/man/man5/groff_tmac.5
-#usr/man/man7/ditroff.7
-#usr/man/man7/groff.7
-#usr/man/man7/groff_char.7
-#usr/man/man7/groff_diff.7
-#usr/man/man7/groff_man.7
-#usr/man/man7/groff_mdoc.7
-#usr/man/man7/groff_me.7
-#usr/man/man7/groff_mm.7
-#usr/man/man7/groff_mmse.7
-#usr/man/man7/groff_mom.7
-#usr/man/man7/groff_ms.7
-#usr/man/man7/groff_trace.7
-#usr/man/man7/groff_www.7
-#usr/man/man7/roff.7
-#usr/share/doc/groff
-#usr/share/doc/groff/1.18.1
-#usr/share/doc/groff/1.18.1/examples
-#usr/share/doc/groff/1.18.1/examples/README.mom
-#usr/share/doc/groff/1.18.1/examples/elvis_syntax
-#usr/share/doc/groff/1.18.1/examples/grnexmpl.g
-#usr/share/doc/groff/1.18.1/examples/grnexmpl.me
-#usr/share/doc/groff/1.18.1/examples/grnexmpl.ps
-#usr/share/doc/groff/1.18.1/examples/letter.mom
-#usr/share/doc/groff/1.18.1/examples/letter.ps
-#usr/share/doc/groff/1.18.1/examples/macros.mom
-#usr/share/doc/groff/1.18.1/examples/macros.ps
-#usr/share/doc/groff/1.18.1/examples/penguin.ps
-#usr/share/doc/groff/1.18.1/examples/typeset.mom
-#usr/share/doc/groff/1.18.1/examples/typeset.ps
-#usr/share/doc/groff/1.18.1/examples/typewrite.mom
-#usr/share/doc/groff/1.18.1/examples/typewrite.ps
-#usr/share/doc/groff/1.18.1/examples/webpage.ms
-#usr/share/doc/groff/1.18.1/examples/webpage.ps
-#usr/share/doc/groff/1.18.1/html
-#usr/share/doc/groff/1.18.1/html/momdoc
-#usr/share/doc/groff/1.18.1/html/momdoc/appendices.html
-#usr/share/doc/groff/1.18.1/html/momdoc/cover.html
-#usr/share/doc/groff/1.18.1/html/momdoc/definitions.html
-#usr/share/doc/groff/1.18.1/html/momdoc/docelement.html
-#usr/share/doc/groff/1.18.1/html/momdoc/docprocessing.html
-#usr/share/doc/groff/1.18.1/html/momdoc/goodies.html
-#usr/share/doc/groff/1.18.1/html/momdoc/headfootpage.html
-#usr/share/doc/groff/1.18.1/html/momdoc/inlines.html
-#usr/share/doc/groff/1.18.1/html/momdoc/intro.html
-#usr/share/doc/groff/1.18.1/html/momdoc/letters.html
-#usr/share/doc/groff/1.18.1/html/momdoc/rectoverso.html
-#usr/share/doc/groff/1.18.1/html/momdoc/reserved.html
-#usr/share/doc/groff/1.18.1/html/momdoc/toc.html
-#usr/share/doc/groff/1.18.1/html/momdoc/typemacdoc.html
-#usr/share/doc/groff/1.18.1/html/momdoc/typesetting.html
-#usr/share/doc/groff/1.18.1/html/momdoc/using.html
-#usr/share/doc/groff/1.18.1/meintro.me
-#usr/share/doc/groff/1.18.1/meintro.ps
-#usr/share/doc/groff/1.18.1/meref.me
-#usr/share/doc/groff/1.18.1/meref.ps
-#usr/share/doc/groff/1.18.1/pic.ms
-#usr/share/doc/groff/1.18.1/pic.ps
+#usr/share/doc/groff-1.21
+#usr/share/doc/groff-1.21/examples
+#usr/share/doc/groff-1.21/examples/chem
+#usr/share/doc/groff-1.21/examples/chem/122
+#usr/share/doc/groff-1.21/examples/chem/122/README
+#usr/share/doc/groff-1.21/examples/chem/122/ch2a_ethyl.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch2b_benzene.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch2c_benzene_right.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4a_stick.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4b_methyl_acetate.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4c_colon.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4d_HCl.H2O.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4e_CaSO4.2H2O.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4f_C.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4g_BP.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4h_methacrylate.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4i_cyclo.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4j_ring4.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4k_ring3.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4l_vertex.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4m_double.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4n_triple.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4o_aromatic.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4p_cholestanol.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4q_rings.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4r_spiro.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4s_heteroatoms.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4t_polycyclic.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4u_nicotine.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4v_histidine.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4w_lsd.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4x_anisole.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4y_reserpine.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4z1_eqn_glutamic.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch4z2_text.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch5a_size.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch6a_pic.chem
+#usr/share/doc/groff-1.21/examples/chem/122/ch6b_dna.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAa_polymer.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAb_vinyl_chloro.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAc_morphine.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAd_chlorophyll.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAe_chair.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAf_arrow.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAg_circle.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAh_brackets.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chAi_poly_vinyl_chloride.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chBa_jump.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chBb_bonds.chem
+#usr/share/doc/groff-1.21/examples/chem/122/chBc_rings.chem
+#usr/share/doc/groff-1.21/examples/chem/README
+#usr/share/doc/groff-1.21/examples/chem/atp.chem
+#usr/share/doc/groff-1.21/examples/chem/cholesterin.chem
+#usr/share/doc/groff-1.21/examples/chem/ethamivan.chem
+#usr/share/doc/groff-1.21/examples/chem/lsd.chem
+#usr/share/doc/groff-1.21/examples/chem/morphine.chem
+#usr/share/doc/groff-1.21/examples/chem/penicillin.chem
+#usr/share/doc/groff-1.21/examples/chem/reserpine.chem
+#usr/share/doc/groff-1.21/examples/gnu.eps
+#usr/share/doc/groff-1.21/examples/grnexmpl.g
+#usr/share/doc/groff-1.21/examples/grnexmpl.me
+#usr/share/doc/groff-1.21/examples/grnexmpl.ps
+#usr/share/doc/groff-1.21/examples/groff.css
+#usr/share/doc/groff-1.21/examples/hdtbl
+#usr/share/doc/groff-1.21/examples/hdtbl/chess_board.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/chess_board.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/col_rowspan_colors.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/col_rowspan_colors.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/color_boxes.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/color_boxes.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/color_nested_tables.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/color_nested_tables.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/color_table_cells.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/color_table_cells.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/color_transitions.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/color_transitions.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/common.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/fonts_n.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/fonts_n.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/fonts_x.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/fonts_x.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/gnu.eps
+#usr/share/doc/groff-1.21/examples/hdtbl/mixed_pickles.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/mixed_pickles.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/rainbow.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/rainbow.roff
+#usr/share/doc/groff-1.21/examples/hdtbl/short_reference.ps
+#usr/share/doc/groff-1.21/examples/hdtbl/short_reference.roff
+#usr/share/doc/groff-1.21/examples/mom
+#usr/share/doc/groff-1.21/examples/mom/README.txt
+#usr/share/doc/groff-1.21/examples/mom/elvis_syntax
+#usr/share/doc/groff-1.21/examples/mom/elvis_syntax.new
+#usr/share/doc/groff-1.21/examples/mom/letter.mom
+#usr/share/doc/groff-1.21/examples/mom/letter.ps
+#usr/share/doc/groff-1.21/examples/mom/penguin.ps
+#usr/share/doc/groff-1.21/examples/mom/sample_docs.mom
+#usr/share/doc/groff-1.21/examples/mom/sample_docs.ps
+#usr/share/doc/groff-1.21/examples/mom/typesetting.mom
+#usr/share/doc/groff-1.21/examples/mom/typesetting.ps
+#usr/share/doc/groff-1.21/examples/webpage.ms
+#usr/share/doc/groff-1.21/examples/webpage.ps
+#usr/share/doc/groff-1.21/html
+#usr/share/doc/groff-1.21/html/mom
+#usr/share/doc/groff-1.21/html/mom/appendices.html
+#usr/share/doc/groff-1.21/html/mom/color.html
+#usr/share/doc/groff-1.21/html/mom/cover.html
+#usr/share/doc/groff-1.21/html/mom/definitions.html
+#usr/share/doc/groff-1.21/html/mom/docelement.html
+#usr/share/doc/groff-1.21/html/mom/docprocessing.html
+#usr/share/doc/groff-1.21/html/mom/goodies.html
+#usr/share/doc/groff-1.21/html/mom/graphical.html
+#usr/share/doc/groff-1.21/html/mom/headfootpage.html
+#usr/share/doc/groff-1.21/html/mom/images.html
+#usr/share/doc/groff-1.21/html/mom/inlines.html
+#usr/share/doc/groff-1.21/html/mom/intro.html
+#usr/share/doc/groff-1.21/html/mom/letters.html
+#usr/share/doc/groff-1.21/html/mom/macrolist.html
+#usr/share/doc/groff-1.21/html/mom/rectoverso.html
+#usr/share/doc/groff-1.21/html/mom/refer.html
+#usr/share/doc/groff-1.21/html/mom/reserved.html
+#usr/share/doc/groff-1.21/html/mom/stylesheet.css
+#usr/share/doc/groff-1.21/html/mom/tables-of-contents.html
+#usr/share/doc/groff-1.21/html/mom/toc.html
+#usr/share/doc/groff-1.21/html/mom/typesetting.html
+#usr/share/doc/groff-1.21/html/mom/using.html
+#usr/share/doc/groff-1.21/meintro.me
+#usr/share/doc/groff-1.21/meintro.ps
+#usr/share/doc/groff-1.21/meref.me
+#usr/share/doc/groff-1.21/meref.ps
+#usr/share/doc/groff-1.21/pic.ms
+#usr/share/doc/groff-1.21/pic.ps
 #usr/share/groff
-#usr/share/groff/1.18.1
-#usr/share/groff/1.18.1/eign
-#usr/share/groff/1.18.1/font
-#usr/share/groff/1.18.1/font/devX100
-#usr/share/groff/1.18.1/font/devX100-12
-#usr/share/groff/1.18.1/font/devX100-12/CB
-#usr/share/groff/1.18.1/font/devX100-12/CBI
-#usr/share/groff/1.18.1/font/devX100-12/CI
-#usr/share/groff/1.18.1/font/devX100-12/CR
-#usr/share/groff/1.18.1/font/devX100-12/DESC
-#usr/share/groff/1.18.1/font/devX100-12/G
-#usr/share/groff/1.18.1/font/devX100-12/HB
-#usr/share/groff/1.18.1/font/devX100-12/HBI
-#usr/share/groff/1.18.1/font/devX100-12/HI
-#usr/share/groff/1.18.1/font/devX100-12/HR
-#usr/share/groff/1.18.1/font/devX100-12/M
-#usr/share/groff/1.18.1/font/devX100-12/NB
-#usr/share/groff/1.18.1/font/devX100-12/NBI
-#usr/share/groff/1.18.1/font/devX100-12/NI
-#usr/share/groff/1.18.1/font/devX100-12/NR
-#usr/share/groff/1.18.1/font/devX100-12/S
-#usr/share/groff/1.18.1/font/devX100-12/TB
-#usr/share/groff/1.18.1/font/devX100-12/TBI
-#usr/share/groff/1.18.1/font/devX100-12/TI
-#usr/share/groff/1.18.1/font/devX100-12/TR
-#usr/share/groff/1.18.1/font/devX100/CB
-#usr/share/groff/1.18.1/font/devX100/CBI
-#usr/share/groff/1.18.1/font/devX100/CI
-#usr/share/groff/1.18.1/font/devX100/CR
-#usr/share/groff/1.18.1/font/devX100/DESC
-#usr/share/groff/1.18.1/font/devX100/G
-#usr/share/groff/1.18.1/font/devX100/HB
-#usr/share/groff/1.18.1/font/devX100/HBI
-#usr/share/groff/1.18.1/font/devX100/HI
-#usr/share/groff/1.18.1/font/devX100/HR
-#usr/share/groff/1.18.1/font/devX100/M
-#usr/share/groff/1.18.1/font/devX100/NB
-#usr/share/groff/1.18.1/font/devX100/NBI
-#usr/share/groff/1.18.1/font/devX100/NI
-#usr/share/groff/1.18.1/font/devX100/NR
-#usr/share/groff/1.18.1/font/devX100/S
-#usr/share/groff/1.18.1/font/devX100/TB
-#usr/share/groff/1.18.1/font/devX100/TBI
-#usr/share/groff/1.18.1/font/devX100/TI
-#usr/share/groff/1.18.1/font/devX100/TR
-#usr/share/groff/1.18.1/font/devX75
-#usr/share/groff/1.18.1/font/devX75-12
-#usr/share/groff/1.18.1/font/devX75-12/CB
-#usr/share/groff/1.18.1/font/devX75-12/CBI
-#usr/share/groff/1.18.1/font/devX75-12/CI
-#usr/share/groff/1.18.1/font/devX75-12/CR
-#usr/share/groff/1.18.1/font/devX75-12/DESC
-#usr/share/groff/1.18.1/font/devX75-12/G
-#usr/share/groff/1.18.1/font/devX75-12/HB
-#usr/share/groff/1.18.1/font/devX75-12/HBI
-#usr/share/groff/1.18.1/font/devX75-12/HI
-#usr/share/groff/1.18.1/font/devX75-12/HR
-#usr/share/groff/1.18.1/font/devX75-12/M
-#usr/share/groff/1.18.1/font/devX75-12/NB
-#usr/share/groff/1.18.1/font/devX75-12/NBI
-#usr/share/groff/1.18.1/font/devX75-12/NI
-#usr/share/groff/1.18.1/font/devX75-12/NR
-#usr/share/groff/1.18.1/font/devX75-12/S
-#usr/share/groff/1.18.1/font/devX75-12/TB
-#usr/share/groff/1.18.1/font/devX75-12/TBI
-#usr/share/groff/1.18.1/font/devX75-12/TI
-#usr/share/groff/1.18.1/font/devX75-12/TR
-#usr/share/groff/1.18.1/font/devX75/CB
-#usr/share/groff/1.18.1/font/devX75/CBI
-#usr/share/groff/1.18.1/font/devX75/CI
-#usr/share/groff/1.18.1/font/devX75/CR
-#usr/share/groff/1.18.1/font/devX75/DESC
-#usr/share/groff/1.18.1/font/devX75/G
-#usr/share/groff/1.18.1/font/devX75/HB
-#usr/share/groff/1.18.1/font/devX75/HBI
-#usr/share/groff/1.18.1/font/devX75/HI
-#usr/share/groff/1.18.1/font/devX75/HR
-#usr/share/groff/1.18.1/font/devX75/M
-#usr/share/groff/1.18.1/font/devX75/NB
-#usr/share/groff/1.18.1/font/devX75/NBI
-#usr/share/groff/1.18.1/font/devX75/NI
-#usr/share/groff/1.18.1/font/devX75/NR
-#usr/share/groff/1.18.1/font/devX75/S
-#usr/share/groff/1.18.1/font/devX75/TB
-#usr/share/groff/1.18.1/font/devX75/TBI
-#usr/share/groff/1.18.1/font/devX75/TI
-#usr/share/groff/1.18.1/font/devX75/TR
-#usr/share/groff/1.18.1/font/devascii
-#usr/share/groff/1.18.1/font/devascii/B
-#usr/share/groff/1.18.1/font/devascii/BI
-#usr/share/groff/1.18.1/font/devascii/DESC
-#usr/share/groff/1.18.1/font/devascii/I
-#usr/share/groff/1.18.1/font/devascii/R
-#usr/share/groff/1.18.1/font/devascii8
-#usr/share/groff/1.18.1/font/devascii8/B
-#usr/share/groff/1.18.1/font/devascii8/BI
-#usr/share/groff/1.18.1/font/devascii8/DESC
-#usr/share/groff/1.18.1/font/devascii8/I
-#usr/share/groff/1.18.1/font/devascii8/R
-#usr/share/groff/1.18.1/font/devdvi
-#usr/share/groff/1.18.1/font/devdvi/CW
-#usr/share/groff/1.18.1/font/devdvi/CWEC
-#usr/share/groff/1.18.1/font/devdvi/CWI
-#usr/share/groff/1.18.1/font/devdvi/CWIEC
-#usr/share/groff/1.18.1/font/devdvi/CWITC
-#usr/share/groff/1.18.1/font/devdvi/CWTC
-#usr/share/groff/1.18.1/font/devdvi/DESC
-#usr/share/groff/1.18.1/font/devdvi/EX
-#usr/share/groff/1.18.1/font/devdvi/G
-#usr/share/groff/1.18.1/font/devdvi/HB
-#usr/share/groff/1.18.1/font/devdvi/HBEC
-#usr/share/groff/1.18.1/font/devdvi/HBI
-#usr/share/groff/1.18.1/font/devdvi/HBIEC
-#usr/share/groff/1.18.1/font/devdvi/HBITC
-#usr/share/groff/1.18.1/font/devdvi/HBTC
-#usr/share/groff/1.18.1/font/devdvi/HI
-#usr/share/groff/1.18.1/font/devdvi/HIEC
-#usr/share/groff/1.18.1/font/devdvi/HITC
-#usr/share/groff/1.18.1/font/devdvi/HR
-#usr/share/groff/1.18.1/font/devdvi/HREC
-#usr/share/groff/1.18.1/font/devdvi/HRTC
-#usr/share/groff/1.18.1/font/devdvi/M
-#usr/share/groff/1.18.1/font/devdvi/MI
-#usr/share/groff/1.18.1/font/devdvi/S
-#usr/share/groff/1.18.1/font/devdvi/SA
-#usr/share/groff/1.18.1/font/devdvi/SB
-#usr/share/groff/1.18.1/font/devdvi/TB
-#usr/share/groff/1.18.1/font/devdvi/TBEC
-#usr/share/groff/1.18.1/font/devdvi/TBI
-#usr/share/groff/1.18.1/font/devdvi/TBIEC
-#usr/share/groff/1.18.1/font/devdvi/TBITC
-#usr/share/groff/1.18.1/font/devdvi/TBTC
-#usr/share/groff/1.18.1/font/devdvi/TI
-#usr/share/groff/1.18.1/font/devdvi/TIEC
-#usr/share/groff/1.18.1/font/devdvi/TITC
-#usr/share/groff/1.18.1/font/devdvi/TR
-#usr/share/groff/1.18.1/font/devdvi/TREC
-#usr/share/groff/1.18.1/font/devdvi/TRTC
-#usr/share/groff/1.18.1/font/devdvi/generate
-#usr/share/groff/1.18.1/font/devdvi/generate/CompileFonts
-#usr/share/groff/1.18.1/font/devdvi/generate/Makefile
-#usr/share/groff/1.18.1/font/devdvi/generate/ec.map
-#usr/share/groff/1.18.1/font/devdvi/generate/msam.map
-#usr/share/groff/1.18.1/font/devdvi/generate/msbm.map
-#usr/share/groff/1.18.1/font/devdvi/generate/tc.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texb.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texex.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texi.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texmi.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texr.map
-#usr/share/groff/1.18.1/font/devdvi/generate/texsy.map
-#usr/share/groff/1.18.1/font/devdvi/generate/textt.map
-#usr/share/groff/1.18.1/font/devhtml
-#usr/share/groff/1.18.1/font/devhtml/B
-#usr/share/groff/1.18.1/font/devhtml/BI
-#usr/share/groff/1.18.1/font/devhtml/CB
-#usr/share/groff/1.18.1/font/devhtml/CBI
-#usr/share/groff/1.18.1/font/devhtml/CI
-#usr/share/groff/1.18.1/font/devhtml/CR
-#usr/share/groff/1.18.1/font/devhtml/DESC
-#usr/share/groff/1.18.1/font/devhtml/G
-#usr/share/groff/1.18.1/font/devhtml/I
-#usr/share/groff/1.18.1/font/devhtml/M
-#usr/share/groff/1.18.1/font/devhtml/R
-#usr/share/groff/1.18.1/font/devhtml/S
-#usr/share/groff/1.18.1/font/devlatin1
-#usr/share/groff/1.18.1/font/devlatin1/B
-#usr/share/groff/1.18.1/font/devlatin1/BI
-#usr/share/groff/1.18.1/font/devlatin1/DESC
-#usr/share/groff/1.18.1/font/devlatin1/I
-#usr/share/groff/1.18.1/font/devlatin1/R
-#usr/share/groff/1.18.1/font/devlbp
-#usr/share/groff/1.18.1/font/devlbp/CB
-#usr/share/groff/1.18.1/font/devlbp/CI
-#usr/share/groff/1.18.1/font/devlbp/CR
-#usr/share/groff/1.18.1/font/devlbp/DESC
-#usr/share/groff/1.18.1/font/devlbp/EB
-#usr/share/groff/1.18.1/font/devlbp/EI
-#usr/share/groff/1.18.1/font/devlbp/ER
-#usr/share/groff/1.18.1/font/devlbp/HB
-#usr/share/groff/1.18.1/font/devlbp/HBI
-#usr/share/groff/1.18.1/font/devlbp/HI
-#usr/share/groff/1.18.1/font/devlbp/HNB
-#usr/share/groff/1.18.1/font/devlbp/HNBI
-#usr/share/groff/1.18.1/font/devlbp/HNI
-#usr/share/groff/1.18.1/font/devlbp/HNR
-#usr/share/groff/1.18.1/font/devlbp/HR
-#usr/share/groff/1.18.1/font/devlbp/TB
-#usr/share/groff/1.18.1/font/devlbp/TBI
-#usr/share/groff/1.18.1/font/devlbp/TI
-#usr/share/groff/1.18.1/font/devlbp/TR
-#usr/share/groff/1.18.1/font/devlj4
-#usr/share/groff/1.18.1/font/devlj4/ALBB
-#usr/share/groff/1.18.1/font/devlj4/ALBR
-#usr/share/groff/1.18.1/font/devlj4/AOB
-#usr/share/groff/1.18.1/font/devlj4/AOI
-#usr/share/groff/1.18.1/font/devlj4/AOR
-#usr/share/groff/1.18.1/font/devlj4/CB
-#usr/share/groff/1.18.1/font/devlj4/CBI
-#usr/share/groff/1.18.1/font/devlj4/CI
-#usr/share/groff/1.18.1/font/devlj4/CLARENDON
-#usr/share/groff/1.18.1/font/devlj4/CORONET
-#usr/share/groff/1.18.1/font/devlj4/CR
-#usr/share/groff/1.18.1/font/devlj4/DESC
-#usr/share/groff/1.18.1/font/devlj4/GB
-#usr/share/groff/1.18.1/font/devlj4/GBI
-#usr/share/groff/1.18.1/font/devlj4/GI
-#usr/share/groff/1.18.1/font/devlj4/GR
-#usr/share/groff/1.18.1/font/devlj4/LGB
-#usr/share/groff/1.18.1/font/devlj4/LGI
-#usr/share/groff/1.18.1/font/devlj4/LGR
-#usr/share/groff/1.18.1/font/devlj4/MARIGOLD
-#usr/share/groff/1.18.1/font/devlj4/OB
-#usr/share/groff/1.18.1/font/devlj4/OBI
-#usr/share/groff/1.18.1/font/devlj4/OI
-#usr/share/groff/1.18.1/font/devlj4/OR
-#usr/share/groff/1.18.1/font/devlj4/S
-#usr/share/groff/1.18.1/font/devlj4/TB
-#usr/share/groff/1.18.1/font/devlj4/TBI
-#usr/share/groff/1.18.1/font/devlj4/TI
-#usr/share/groff/1.18.1/font/devlj4/TR
-#usr/share/groff/1.18.1/font/devlj4/UB
-#usr/share/groff/1.18.1/font/devlj4/UBI
-#usr/share/groff/1.18.1/font/devlj4/UCB
-#usr/share/groff/1.18.1/font/devlj4/UCBI
-#usr/share/groff/1.18.1/font/devlj4/UCI
-#usr/share/groff/1.18.1/font/devlj4/UCR
-#usr/share/groff/1.18.1/font/devlj4/UI
-#usr/share/groff/1.18.1/font/devlj4/UR
-#usr/share/groff/1.18.1/font/devlj4/generate
-#usr/share/groff/1.18.1/font/devlj4/generate/Makefile
-#usr/share/groff/1.18.1/font/devlj4/generate/special.map
-#usr/share/groff/1.18.1/font/devlj4/generate/text.map
-#usr/share/groff/1.18.1/font/devnippon
-#usr/share/groff/1.18.1/font/devnippon/B
-#usr/share/groff/1.18.1/font/devnippon/BI
-#usr/share/groff/1.18.1/font/devnippon/DESC
-#usr/share/groff/1.18.1/font/devnippon/G
-#usr/share/groff/1.18.1/font/devnippon/I
-#usr/share/groff/1.18.1/font/devnippon/M
-#usr/share/groff/1.18.1/font/devnippon/R
-#usr/share/groff/1.18.1/font/devps
-#usr/share/groff/1.18.1/font/devps/AB
-#usr/share/groff/1.18.1/font/devps/ABI
-#usr/share/groff/1.18.1/font/devps/AI
-#usr/share/groff/1.18.1/font/devps/AR
-#usr/share/groff/1.18.1/font/devps/BMB
-#usr/share/groff/1.18.1/font/devps/BMBI
-#usr/share/groff/1.18.1/font/devps/BMI
-#usr/share/groff/1.18.1/font/devps/BMR
-#usr/share/groff/1.18.1/font/devps/CB
-#usr/share/groff/1.18.1/font/devps/CBI
-#usr/share/groff/1.18.1/font/devps/CI
-#usr/share/groff/1.18.1/font/devps/CR
-#usr/share/groff/1.18.1/font/devps/DESC
-#usr/share/groff/1.18.1/font/devps/G
-#usr/share/groff/1.18.1/font/devps/HB
-#usr/share/groff/1.18.1/font/devps/HBI
-#usr/share/groff/1.18.1/font/devps/HI
-#usr/share/groff/1.18.1/font/devps/HNB
-#usr/share/groff/1.18.1/font/devps/HNBI
-#usr/share/groff/1.18.1/font/devps/HNI
-#usr/share/groff/1.18.1/font/devps/HNR
-#usr/share/groff/1.18.1/font/devps/HR
-#usr/share/groff/1.18.1/font/devps/M
-#usr/share/groff/1.18.1/font/devps/NB
-#usr/share/groff/1.18.1/font/devps/NBI
-#usr/share/groff/1.18.1/font/devps/NI
-#usr/share/groff/1.18.1/font/devps/NR
-#usr/share/groff/1.18.1/font/devps/PB
-#usr/share/groff/1.18.1/font/devps/PBI
-#usr/share/groff/1.18.1/font/devps/PI
-#usr/share/groff/1.18.1/font/devps/PR
-#usr/share/groff/1.18.1/font/devps/S
-#usr/share/groff/1.18.1/font/devps/SS
-#usr/share/groff/1.18.1/font/devps/TB
-#usr/share/groff/1.18.1/font/devps/TBI
-#usr/share/groff/1.18.1/font/devps/TI
-#usr/share/groff/1.18.1/font/devps/TR
-#usr/share/groff/1.18.1/font/devps/ZCMI
-#usr/share/groff/1.18.1/font/devps/ZD
-#usr/share/groff/1.18.1/font/devps/ZDR
-#usr/share/groff/1.18.1/font/devps/download
-#usr/share/groff/1.18.1/font/devps/generate
-#usr/share/groff/1.18.1/font/devps/generate/Makefile
-#usr/share/groff/1.18.1/font/devps/generate/afmname
-#usr/share/groff/1.18.1/font/devps/generate/dingbats.map
-#usr/share/groff/1.18.1/font/devps/generate/dingbats.rmap
-#usr/share/groff/1.18.1/font/devps/generate/lgreekmap
-#usr/share/groff/1.18.1/font/devps/generate/symbol.sed
-#usr/share/groff/1.18.1/font/devps/generate/symbolchars
-#usr/share/groff/1.18.1/font/devps/generate/symbolsl.afm
-#usr/share/groff/1.18.1/font/devps/generate/textmap
-#usr/share/groff/1.18.1/font/devps/prologue
-#usr/share/groff/1.18.1/font/devps/symbolsl.pfa
-#usr/share/groff/1.18.1/font/devps/text.enc
-#usr/share/groff/1.18.1/font/devps/zapfdr.pfa
-#usr/share/groff/1.18.1/font/devutf8
-#usr/share/groff/1.18.1/font/devutf8/B
-#usr/share/groff/1.18.1/font/devutf8/BI
-#usr/share/groff/1.18.1/font/devutf8/DESC
-#usr/share/groff/1.18.1/font/devutf8/G
-#usr/share/groff/1.18.1/font/devutf8/I
-#usr/share/groff/1.18.1/font/devutf8/M
-#usr/share/groff/1.18.1/font/devutf8/R
-#usr/share/groff/1.18.1/tmac
-#usr/share/groff/1.18.1/tmac/X.tmac
-#usr/share/groff/1.18.1/tmac/Xps.tmac
-#usr/share/groff/1.18.1/tmac/a4.tmac
-#usr/share/groff/1.18.1/tmac/an-old.tmac
-#usr/share/groff/1.18.1/tmac/an.tmac
-#usr/share/groff/1.18.1/tmac/andoc.tmac
-#usr/share/groff/1.18.1/tmac/andocj.tmac
-#usr/share/groff/1.18.1/tmac/big5.tmac
-#usr/share/groff/1.18.1/tmac/cp1047.tmac
-#usr/share/groff/1.18.1/tmac/doc-old.tmac
-#usr/share/groff/1.18.1/tmac/doc.tmac
-#usr/share/groff/1.18.1/tmac/docj.tmac
-#usr/share/groff/1.18.1/tmac/dvi.tmac
-#usr/share/groff/1.18.1/tmac/e.tmac
-#usr/share/groff/1.18.1/tmac/ec.tmac
-#usr/share/groff/1.18.1/tmac/eqnrc
-#usr/share/groff/1.18.1/tmac/euc-jp.tmac
-#usr/share/groff/1.18.1/tmac/gb.tmac
-#usr/share/groff/1.18.1/tmac/html.tmac
-#usr/share/groff/1.18.1/tmac/hyphen.us
-#usr/share/groff/1.18.1/tmac/latin1.tmac
-#usr/share/groff/1.18.1/tmac/lbp.tmac
-#usr/share/groff/1.18.1/tmac/lj4.tmac
-#usr/share/groff/1.18.1/tmac/m.tmac
-#usr/share/groff/1.18.1/tmac/man.tmac
-#usr/share/groff/1.18.1/tmac/mandoc.tmac
-#usr/share/groff/1.18.1/tmac/mdoc
-#usr/share/groff/1.18.1/tmac/mdoc.tmac
-#usr/share/groff/1.18.1/tmac/mdoc/doc-common
-#usr/share/groff/1.18.1/tmac/mdoc/doc-ditroff
-#usr/share/groff/1.18.1/tmac/mdoc/doc-nroff
-#usr/share/groff/1.18.1/tmac/mdoc/doc-syms
-#usr/share/groff/1.18.1/tmac/mdoc/docj-ditroff
-#usr/share/groff/1.18.1/tmac/mdoc/docj-nroff
-#usr/share/groff/1.18.1/tmac/me.tmac
-#usr/share/groff/1.18.1/tmac/mm
-#usr/share/groff/1.18.1/tmac/mm.tmac
-#usr/share/groff/1.18.1/tmac/mm/0.MT
-#usr/share/groff/1.18.1/tmac/mm/4.MT
-#usr/share/groff/1.18.1/tmac/mm/5.MT
-#usr/share/groff/1.18.1/tmac/mm/locale
-#usr/share/groff/1.18.1/tmac/mm/ms.cov
-#usr/share/groff/1.18.1/tmac/mm/se_locale
-#usr/share/groff/1.18.1/tmac/mm/se_ms.cov
-#usr/share/groff/1.18.1/tmac/mmse.tmac
-#usr/share/groff/1.18.1/tmac/mom.tmac
-#usr/share/groff/1.18.1/tmac/ms.tmac
-#usr/share/groff/1.18.1/tmac/mse.tmac
-#usr/share/groff/1.18.1/tmac/om.tmac
-#usr/share/groff/1.18.1/tmac/pic.tmac
-#usr/share/groff/1.18.1/tmac/ps.tmac
-#usr/share/groff/1.18.1/tmac/psatk.tmac
-#usr/share/groff/1.18.1/tmac/psold.tmac
-#usr/share/groff/1.18.1/tmac/pspic.tmac
-#usr/share/groff/1.18.1/tmac/s.tmac
-#usr/share/groff/1.18.1/tmac/safer.tmac
-#usr/share/groff/1.18.1/tmac/trace.tmac
-#usr/share/groff/1.18.1/tmac/troffrc
-#usr/share/groff/1.18.1/tmac/troffrc-end
-#usr/share/groff/1.18.1/tmac/tty-char.tmac
-#usr/share/groff/1.18.1/tmac/tty.tmac
-#usr/share/groff/1.18.1/tmac/www.tmac
+#usr/share/groff/1.21
+#usr/share/groff/1.21/eign
+#usr/share/groff/1.21/font
+#usr/share/groff/1.21/font/devascii
+#usr/share/groff/1.21/font/devascii/B
+#usr/share/groff/1.21/font/devascii/BI
+#usr/share/groff/1.21/font/devascii/DESC
+#usr/share/groff/1.21/font/devascii/I
+#usr/share/groff/1.21/font/devascii/R
+#usr/share/groff/1.21/font/devdvi
+#usr/share/groff/1.21/font/devdvi/CW
+#usr/share/groff/1.21/font/devdvi/CWEC
+#usr/share/groff/1.21/font/devdvi/CWI
+#usr/share/groff/1.21/font/devdvi/CWIEC
+#usr/share/groff/1.21/font/devdvi/CWITC
+#usr/share/groff/1.21/font/devdvi/CWTC
+#usr/share/groff/1.21/font/devdvi/DESC
+#usr/share/groff/1.21/font/devdvi/EX
+#usr/share/groff/1.21/font/devdvi/HB
+#usr/share/groff/1.21/font/devdvi/HBEC
+#usr/share/groff/1.21/font/devdvi/HBI
+#usr/share/groff/1.21/font/devdvi/HBIEC
+#usr/share/groff/1.21/font/devdvi/HBITC
+#usr/share/groff/1.21/font/devdvi/HBTC
+#usr/share/groff/1.21/font/devdvi/HI
+#usr/share/groff/1.21/font/devdvi/HIEC
+#usr/share/groff/1.21/font/devdvi/HITC
+#usr/share/groff/1.21/font/devdvi/HR
+#usr/share/groff/1.21/font/devdvi/HREC
+#usr/share/groff/1.21/font/devdvi/HRTC
+#usr/share/groff/1.21/font/devdvi/MI
+#usr/share/groff/1.21/font/devdvi/S
+#usr/share/groff/1.21/font/devdvi/SA
+#usr/share/groff/1.21/font/devdvi/SB
+#usr/share/groff/1.21/font/devdvi/SC
+#usr/share/groff/1.21/font/devdvi/TB
+#usr/share/groff/1.21/font/devdvi/TBEC
+#usr/share/groff/1.21/font/devdvi/TBI
+#usr/share/groff/1.21/font/devdvi/TBIEC
+#usr/share/groff/1.21/font/devdvi/TBITC
+#usr/share/groff/1.21/font/devdvi/TBTC
+#usr/share/groff/1.21/font/devdvi/TI
+#usr/share/groff/1.21/font/devdvi/TIEC
+#usr/share/groff/1.21/font/devdvi/TITC
+#usr/share/groff/1.21/font/devdvi/TR
+#usr/share/groff/1.21/font/devdvi/TREC
+#usr/share/groff/1.21/font/devdvi/TRTC
+#usr/share/groff/1.21/font/devdvi/generate
+#usr/share/groff/1.21/font/devdvi/generate/CompileFonts
+#usr/share/groff/1.21/font/devdvi/generate/Makefile
+#usr/share/groff/1.21/font/devdvi/generate/ec.map
+#usr/share/groff/1.21/font/devdvi/generate/msam.map
+#usr/share/groff/1.21/font/devdvi/generate/msbm.map
+#usr/share/groff/1.21/font/devdvi/generate/tc.map
+#usr/share/groff/1.21/font/devdvi/generate/texb.map
+#usr/share/groff/1.21/font/devdvi/generate/texex.map
+#usr/share/groff/1.21/font/devdvi/generate/texi.map
+#usr/share/groff/1.21/font/devdvi/generate/texmi.map
+#usr/share/groff/1.21/font/devdvi/generate/texr.map
+#usr/share/groff/1.21/font/devdvi/generate/texsy.map
+#usr/share/groff/1.21/font/devdvi/generate/textex.map
+#usr/share/groff/1.21/font/devdvi/generate/textt.map
+#usr/share/groff/1.21/font/devhtml
+#usr/share/groff/1.21/font/devhtml/B
+#usr/share/groff/1.21/font/devhtml/BI
+#usr/share/groff/1.21/font/devhtml/CB
+#usr/share/groff/1.21/font/devhtml/CBI
+#usr/share/groff/1.21/font/devhtml/CI
+#usr/share/groff/1.21/font/devhtml/CR
+#usr/share/groff/1.21/font/devhtml/DESC
+#usr/share/groff/1.21/font/devhtml/I
+#usr/share/groff/1.21/font/devhtml/R
+#usr/share/groff/1.21/font/devhtml/S
+#usr/share/groff/1.21/font/devlatin1
+#usr/share/groff/1.21/font/devlatin1/B
+#usr/share/groff/1.21/font/devlatin1/BI
+#usr/share/groff/1.21/font/devlatin1/DESC
+#usr/share/groff/1.21/font/devlatin1/I
+#usr/share/groff/1.21/font/devlatin1/R
+#usr/share/groff/1.21/font/devlbp
+#usr/share/groff/1.21/font/devlbp/CB
+#usr/share/groff/1.21/font/devlbp/CI
+#usr/share/groff/1.21/font/devlbp/CR
+#usr/share/groff/1.21/font/devlbp/DESC
+#usr/share/groff/1.21/font/devlbp/EB
+#usr/share/groff/1.21/font/devlbp/EI
+#usr/share/groff/1.21/font/devlbp/ER
+#usr/share/groff/1.21/font/devlbp/HB
+#usr/share/groff/1.21/font/devlbp/HBI
+#usr/share/groff/1.21/font/devlbp/HI
+#usr/share/groff/1.21/font/devlbp/HNB
+#usr/share/groff/1.21/font/devlbp/HNBI
+#usr/share/groff/1.21/font/devlbp/HNI
+#usr/share/groff/1.21/font/devlbp/HNR
+#usr/share/groff/1.21/font/devlbp/HR
+#usr/share/groff/1.21/font/devlbp/TB
+#usr/share/groff/1.21/font/devlbp/TBI
+#usr/share/groff/1.21/font/devlbp/TI
+#usr/share/groff/1.21/font/devlbp/TR
+#usr/share/groff/1.21/font/devlj4
+#usr/share/groff/1.21/font/devlj4/AB
+#usr/share/groff/1.21/font/devlj4/ABI
+#usr/share/groff/1.21/font/devlj4/AI
+#usr/share/groff/1.21/font/devlj4/ALBB
+#usr/share/groff/1.21/font/devlj4/ALBR
+#usr/share/groff/1.21/font/devlj4/AOB
+#usr/share/groff/1.21/font/devlj4/AOI
+#usr/share/groff/1.21/font/devlj4/AOR
+#usr/share/groff/1.21/font/devlj4/AR
+#usr/share/groff/1.21/font/devlj4/CB
+#usr/share/groff/1.21/font/devlj4/CBI
+#usr/share/groff/1.21/font/devlj4/CI
+#usr/share/groff/1.21/font/devlj4/CLARENDON
+#usr/share/groff/1.21/font/devlj4/CORONET
+#usr/share/groff/1.21/font/devlj4/CR
+#usr/share/groff/1.21/font/devlj4/DESC
+#usr/share/groff/1.21/font/devlj4/GB
+#usr/share/groff/1.21/font/devlj4/GBI
+#usr/share/groff/1.21/font/devlj4/GI
+#usr/share/groff/1.21/font/devlj4/GR
+#usr/share/groff/1.21/font/devlj4/LGB
+#usr/share/groff/1.21/font/devlj4/LGI
+#usr/share/groff/1.21/font/devlj4/LGR
+#usr/share/groff/1.21/font/devlj4/MARIGOLD
+#usr/share/groff/1.21/font/devlj4/OB
+#usr/share/groff/1.21/font/devlj4/OBI
+#usr/share/groff/1.21/font/devlj4/OI
+#usr/share/groff/1.21/font/devlj4/OR
+#usr/share/groff/1.21/font/devlj4/S
+#usr/share/groff/1.21/font/devlj4/SYMBOL
+#usr/share/groff/1.21/font/devlj4/TB
+#usr/share/groff/1.21/font/devlj4/TBI
+#usr/share/groff/1.21/font/devlj4/TI
+#usr/share/groff/1.21/font/devlj4/TNRB
+#usr/share/groff/1.21/font/devlj4/TNRBI
+#usr/share/groff/1.21/font/devlj4/TNRI
+#usr/share/groff/1.21/font/devlj4/TNRR
+#usr/share/groff/1.21/font/devlj4/TR
+#usr/share/groff/1.21/font/devlj4/UB
+#usr/share/groff/1.21/font/devlj4/UBI
+#usr/share/groff/1.21/font/devlj4/UCB
+#usr/share/groff/1.21/font/devlj4/UCBI
+#usr/share/groff/1.21/font/devlj4/UCI
+#usr/share/groff/1.21/font/devlj4/UCR
+#usr/share/groff/1.21/font/devlj4/UI
+#usr/share/groff/1.21/font/devlj4/UR
+#usr/share/groff/1.21/font/devlj4/WINGDINGS
+#usr/share/groff/1.21/font/devlj4/generate
+#usr/share/groff/1.21/font/devlj4/generate/Makefile
+#usr/share/groff/1.21/font/devlj4/generate/special.awk
+#usr/share/groff/1.21/font/devlj4/generate/special.map
+#usr/share/groff/1.21/font/devlj4/generate/symbol.map
+#usr/share/groff/1.21/font/devlj4/generate/text.map
+#usr/share/groff/1.21/font/devlj4/generate/wingdings.map
+#usr/share/groff/1.21/font/devps
+#usr/share/groff/1.21/font/devps/AB
+#usr/share/groff/1.21/font/devps/ABI
+#usr/share/groff/1.21/font/devps/AI
+#usr/share/groff/1.21/font/devps/AR
+#usr/share/groff/1.21/font/devps/BMB
+#usr/share/groff/1.21/font/devps/BMBI
+#usr/share/groff/1.21/font/devps/BMI
+#usr/share/groff/1.21/font/devps/BMR
+#usr/share/groff/1.21/font/devps/CB
+#usr/share/groff/1.21/font/devps/CBI
+#usr/share/groff/1.21/font/devps/CI
+#usr/share/groff/1.21/font/devps/CR
+#usr/share/groff/1.21/font/devps/DESC
+#usr/share/groff/1.21/font/devps/EURO
+#usr/share/groff/1.21/font/devps/HB
+#usr/share/groff/1.21/font/devps/HBI
+#usr/share/groff/1.21/font/devps/HI
+#usr/share/groff/1.21/font/devps/HNB
+#usr/share/groff/1.21/font/devps/HNBI
+#usr/share/groff/1.21/font/devps/HNI
+#usr/share/groff/1.21/font/devps/HNR
+#usr/share/groff/1.21/font/devps/HR
+#usr/share/groff/1.21/font/devps/NB
+#usr/share/groff/1.21/font/devps/NBI
+#usr/share/groff/1.21/font/devps/NI
+#usr/share/groff/1.21/font/devps/NR
+#usr/share/groff/1.21/font/devps/PB
+#usr/share/groff/1.21/font/devps/PBI
+#usr/share/groff/1.21/font/devps/PI
+#usr/share/groff/1.21/font/devps/PR
+#usr/share/groff/1.21/font/devps/S
+#usr/share/groff/1.21/font/devps/SS
+#usr/share/groff/1.21/font/devps/TB
+#usr/share/groff/1.21/font/devps/TBI
+#usr/share/groff/1.21/font/devps/TI
+#usr/share/groff/1.21/font/devps/TR
+#usr/share/groff/1.21/font/devps/ZCMI
+#usr/share/groff/1.21/font/devps/ZD
+#usr/share/groff/1.21/font/devps/ZDR
+#usr/share/groff/1.21/font/devps/download
+#usr/share/groff/1.21/font/devps/freeeuro.afm
+#usr/share/groff/1.21/font/devps/freeeuro.pfa
+#usr/share/groff/1.21/font/devps/generate
+#usr/share/groff/1.21/font/devps/generate/Makefile
+#usr/share/groff/1.21/font/devps/generate/afmname
+#usr/share/groff/1.21/font/devps/generate/dingbats.map
+#usr/share/groff/1.21/font/devps/generate/dingbats.rmap
+#usr/share/groff/1.21/font/devps/generate/lgreekmap
+#usr/share/groff/1.21/font/devps/generate/symbol.sed
+#usr/share/groff/1.21/font/devps/generate/symbolchars
+#usr/share/groff/1.21/font/devps/generate/symbolsl.afm
+#usr/share/groff/1.21/font/devps/generate/textmap
+#usr/share/groff/1.21/font/devps/prologue
+#usr/share/groff/1.21/font/devps/symbolsl.pfa
+#usr/share/groff/1.21/font/devps/text.enc
+#usr/share/groff/1.21/font/devps/zapfdr.pfa
+#usr/share/groff/1.21/font/devutf8
+#usr/share/groff/1.21/font/devutf8/B
+#usr/share/groff/1.21/font/devutf8/BI
+#usr/share/groff/1.21/font/devutf8/DESC
+#usr/share/groff/1.21/font/devutf8/I
+#usr/share/groff/1.21/font/devutf8/R
+#usr/share/groff/1.21/oldfont
+#usr/share/groff/1.21/oldfont/devps
+#usr/share/groff/1.21/oldfont/devps/CB
+#usr/share/groff/1.21/oldfont/devps/CBI
+#usr/share/groff/1.21/oldfont/devps/CI
+#usr/share/groff/1.21/oldfont/devps/CR
+#usr/share/groff/1.21/oldfont/devps/HB
+#usr/share/groff/1.21/oldfont/devps/HBI
+#usr/share/groff/1.21/oldfont/devps/HI
+#usr/share/groff/1.21/oldfont/devps/HNB
+#usr/share/groff/1.21/oldfont/devps/HNBI
+#usr/share/groff/1.21/oldfont/devps/HNI
+#usr/share/groff/1.21/oldfont/devps/HNR
+#usr/share/groff/1.21/oldfont/devps/HR
+#usr/share/groff/1.21/oldfont/devps/NB
+#usr/share/groff/1.21/oldfont/devps/NBI
+#usr/share/groff/1.21/oldfont/devps/NI
+#usr/share/groff/1.21/oldfont/devps/NR
+#usr/share/groff/1.21/oldfont/devps/PB
+#usr/share/groff/1.21/oldfont/devps/PBI
+#usr/share/groff/1.21/oldfont/devps/PI
+#usr/share/groff/1.21/oldfont/devps/PR
+#usr/share/groff/1.21/oldfont/devps/S
+#usr/share/groff/1.21/oldfont/devps/SS
+#usr/share/groff/1.21/oldfont/devps/TB
+#usr/share/groff/1.21/oldfont/devps/TBI
+#usr/share/groff/1.21/oldfont/devps/TI
+#usr/share/groff/1.21/oldfont/devps/TR
+#usr/share/groff/1.21/oldfont/devps/symbol.afm
+#usr/share/groff/1.21/oldfont/devps/symbolsl.afm
+#usr/share/groff/1.21/oldfont/devps/zapfdr.afm
+#usr/share/groff/1.21/oldfont/devps/zapfdr.ps
+#usr/share/groff/1.21/pic
+#usr/share/groff/1.21/pic/chem.pic
+#usr/share/groff/1.21/tmac
+#usr/share/groff/1.21/tmac/62bit.tmac
+#usr/share/groff/1.21/tmac/X.tmac
+#usr/share/groff/1.21/tmac/Xps.tmac
+#usr/share/groff/1.21/tmac/a4.tmac
+#usr/share/groff/1.21/tmac/an-ext.tmac
+#usr/share/groff/1.21/tmac/an-old.tmac
+#usr/share/groff/1.21/tmac/an.tmac
+#usr/share/groff/1.21/tmac/andoc.tmac
+#usr/share/groff/1.21/tmac/composite.tmac
+#usr/share/groff/1.21/tmac/cp1047.tmac
+#usr/share/groff/1.21/tmac/cs.tmac
+#usr/share/groff/1.21/tmac/de.tmac
+#usr/share/groff/1.21/tmac/den.tmac
+#usr/share/groff/1.21/tmac/devtag.tmac
+#usr/share/groff/1.21/tmac/doc-old.tmac
+#usr/share/groff/1.21/tmac/doc.tmac
+#usr/share/groff/1.21/tmac/dvi.tmac
+#usr/share/groff/1.21/tmac/e.tmac
+#usr/share/groff/1.21/tmac/ec.tmac
+#usr/share/groff/1.21/tmac/eqnrc
+#usr/share/groff/1.21/tmac/europs.tmac
+#usr/share/groff/1.21/tmac/fr.tmac
+#usr/share/groff/1.21/tmac/hdmisc.tmac
+#usr/share/groff/1.21/tmac/hdtbl.tmac
+#usr/share/groff/1.21/tmac/html-end.tmac
+#usr/share/groff/1.21/tmac/html.tmac
+#usr/share/groff/1.21/tmac/hyphen.cs
+#usr/share/groff/1.21/tmac/hyphen.den
+#usr/share/groff/1.21/tmac/hyphen.det
+#usr/share/groff/1.21/tmac/hyphen.fr
+#usr/share/groff/1.21/tmac/hyphen.sv
+#usr/share/groff/1.21/tmac/hyphen.us
+#usr/share/groff/1.21/tmac/hyphenex.cs
+#usr/share/groff/1.21/tmac/hyphenex.det
+#usr/share/groff/1.21/tmac/hyphenex.us
+#usr/share/groff/1.21/tmac/ja.tmac
+#usr/share/groff/1.21/tmac/latin1.tmac
+#usr/share/groff/1.21/tmac/latin2.tmac
+#usr/share/groff/1.21/tmac/latin5.tmac
+#usr/share/groff/1.21/tmac/latin9.tmac
+#usr/share/groff/1.21/tmac/lbp.tmac
+#usr/share/groff/1.21/tmac/lj4.tmac
+#usr/share/groff/1.21/tmac/m.tmac
+#usr/share/groff/1.21/tmac/man.tmac
+#usr/share/groff/1.21/tmac/mandoc.tmac
+#usr/share/groff/1.21/tmac/mdoc
+#usr/share/groff/1.21/tmac/mdoc.tmac
+#usr/share/groff/1.21/tmac/mdoc/doc-common
+#usr/share/groff/1.21/tmac/mdoc/doc-ditroff
+#usr/share/groff/1.21/tmac/mdoc/doc-nroff
+#usr/share/groff/1.21/tmac/mdoc/doc-syms
+#usr/share/groff/1.21/tmac/me.tmac
+#usr/share/groff/1.21/tmac/mm
+#usr/share/groff/1.21/tmac/mm.tmac
+#usr/share/groff/1.21/tmac/mm/0.MT
+#usr/share/groff/1.21/tmac/mm/4.MT
+#usr/share/groff/1.21/tmac/mm/5.MT
+#usr/share/groff/1.21/tmac/mm/locale
+#usr/share/groff/1.21/tmac/mm/ms.cov
+#usr/share/groff/1.21/tmac/mm/se_locale
+#usr/share/groff/1.21/tmac/mm/se_ms.cov
+#usr/share/groff/1.21/tmac/mmse.tmac
+#usr/share/groff/1.21/tmac/mom.tmac
+#usr/share/groff/1.21/tmac/ms.tmac
+#usr/share/groff/1.21/tmac/mse.tmac
+#usr/share/groff/1.21/tmac/om.tmac
+#usr/share/groff/1.21/tmac/papersize.tmac
+#usr/share/groff/1.21/tmac/pdfmark.tmac
+#usr/share/groff/1.21/tmac/pic.tmac
+#usr/share/groff/1.21/tmac/ps.tmac
+#usr/share/groff/1.21/tmac/psatk.tmac
+#usr/share/groff/1.21/tmac/psold.tmac
+#usr/share/groff/1.21/tmac/pspic.tmac
+#usr/share/groff/1.21/tmac/s.tmac
+#usr/share/groff/1.21/tmac/safer.tmac
+#usr/share/groff/1.21/tmac/spdf.tmac
+#usr/share/groff/1.21/tmac/sv.tmac
+#usr/share/groff/1.21/tmac/trace.tmac
+#usr/share/groff/1.21/tmac/trans.tmac
+#usr/share/groff/1.21/tmac/troffrc
+#usr/share/groff/1.21/tmac/troffrc-end
+#usr/share/groff/1.21/tmac/tty-char.tmac
+#usr/share/groff/1.21/tmac/tty.tmac
+#usr/share/groff/1.21/tmac/unicode.tmac
+#usr/share/groff/1.21/tmac/www.tmac
+#usr/share/groff/current
+#usr/share/groff/site-font
 #usr/share/groff/site-tmac
 #usr/share/groff/site-tmac/man.local
 #usr/share/groff/site-tmac/mdoc.local
+#usr/share/info/groff.info
+#usr/share/info/groff.info-1
+#usr/share/info/groff.info-2
+#usr/share/info/groff.info-3
+#usr/share/man/man1/addftinfo.1
+#usr/share/man/man1/afmtodit.1
+#usr/share/man/man1/chem.1
+#usr/share/man/man1/eqn.1
+#usr/share/man/man1/eqn2graph.1
+#usr/share/man/man1/gdiffmk.1
+#usr/share/man/man1/grap2graph.1
+#usr/share/man/man1/grn.1
+#usr/share/man/man1/grodvi.1
+#usr/share/man/man1/groff.1
+#usr/share/man/man1/groffer.1
+#usr/share/man/man1/grog.1
+#usr/share/man/man1/grohtml.1
+#usr/share/man/man1/grolbp.1
+#usr/share/man/man1/grolj4.1
+#usr/share/man/man1/grops.1
+#usr/share/man/man1/grotty.1
+#usr/share/man/man1/hpftodit.1
+#usr/share/man/man1/indxbib.1
+#usr/share/man/man1/lkbib.1
+#usr/share/man/man1/lookbib.1
+#usr/share/man/man1/mmroff.1
+#usr/share/man/man1/neqn.1
+#usr/share/man/man1/nroff.1
+#usr/share/man/man1/pdfroff.1
+#usr/share/man/man1/pfbtops.1
+#usr/share/man/man1/pic.1
+#usr/share/man/man1/pic2graph.1
+#usr/share/man/man1/preconv.1
+#usr/share/man/man1/refer.1
+#usr/share/man/man1/roff2dvi.1
+#usr/share/man/man1/roff2html.1
+#usr/share/man/man1/roff2pdf.1
+#usr/share/man/man1/roff2ps.1
+#usr/share/man/man1/roff2text.1
+#usr/share/man/man1/roff2x.1
+#usr/share/man/man1/soelim.1
+#usr/share/man/man1/tbl.1
+#usr/share/man/man1/tfmtodit.1
+#usr/share/man/man1/troff.1
+#usr/share/man/man5/groff_font.5
+#usr/share/man/man5/groff_out.5
+#usr/share/man/man5/groff_tmac.5
+#usr/share/man/man5/lj4_font.5
+#usr/share/man/man7/ditroff.7
+#usr/share/man/man7/groff.7
+#usr/share/man/man7/groff_char.7
+#usr/share/man/man7/groff_diff.7
+#usr/share/man/man7/groff_hdtbl.7
+#usr/share/man/man7/groff_man.7
+#usr/share/man/man7/groff_mdoc.7
+#usr/share/man/man7/groff_me.7
+#usr/share/man/man7/groff_mm.7
+#usr/share/man/man7/groff_mmse.7
+#usr/share/man/man7/groff_mom.7
+#usr/share/man/man7/groff_ms.7
+#usr/share/man/man7/groff_trace.7
+#usr/share/man/man7/groff_www.7
+#usr/share/man/man7/roff.7
index f8f2b801811eba6a40691620af0b689982c7d12d..cde9e4f424244dc4fb9b61a493064316b9cd300c 100644 (file)
 #usr/bin/gcc
 #usr/bin/gccbug
 #usr/bin/gcov
-#usr/bin/BUILDTARGET-c++
-#usr/bin/BUILDTARGET-g++
-#usr/bin/BUILDTARGET-gcc
-#usr/bin/BUILDTARGET-gcc-4.0.4
+#usr/bin/i586-pc-linux-gnu-c++
+#usr/bin/i586-pc-linux-gnu-g++
+#usr/bin/i586-pc-linux-gnu-gcc
+#usr/bin/i586-pc-linux-gnu-gcc-4.1.2
 #usr/include/c++
-#usr/include/c++/4.0.4
-#usr/include/c++/4.0.4/algorithm
-#usr/include/c++/4.0.4/backward
-#usr/include/c++/4.0.4/backward/algo.h
-#usr/include/c++/4.0.4/backward/algobase.h
-#usr/include/c++/4.0.4/backward/alloc.h
-#usr/include/c++/4.0.4/backward/backward_warning.h
-#usr/include/c++/4.0.4/backward/bvector.h
-#usr/include/c++/4.0.4/backward/complex.h
-#usr/include/c++/4.0.4/backward/defalloc.h
-#usr/include/c++/4.0.4/backward/deque.h
-#usr/include/c++/4.0.4/backward/fstream.h
-#usr/include/c++/4.0.4/backward/function.h
-#usr/include/c++/4.0.4/backward/hash_map.h
-#usr/include/c++/4.0.4/backward/hash_set.h
-#usr/include/c++/4.0.4/backward/hashtable.h
-#usr/include/c++/4.0.4/backward/heap.h
-#usr/include/c++/4.0.4/backward/iomanip.h
-#usr/include/c++/4.0.4/backward/iostream.h
-#usr/include/c++/4.0.4/backward/istream.h
-#usr/include/c++/4.0.4/backward/iterator.h
-#usr/include/c++/4.0.4/backward/list.h
-#usr/include/c++/4.0.4/backward/map.h
-#usr/include/c++/4.0.4/backward/multimap.h
-#usr/include/c++/4.0.4/backward/multiset.h
-#usr/include/c++/4.0.4/backward/new.h
-#usr/include/c++/4.0.4/backward/ostream.h
-#usr/include/c++/4.0.4/backward/pair.h
-#usr/include/c++/4.0.4/backward/queue.h
-#usr/include/c++/4.0.4/backward/rope.h
-#usr/include/c++/4.0.4/backward/set.h
-#usr/include/c++/4.0.4/backward/slist.h
-#usr/include/c++/4.0.4/backward/stack.h
-#usr/include/c++/4.0.4/backward/stream.h
-#usr/include/c++/4.0.4/backward/streambuf.h
-#usr/include/c++/4.0.4/backward/strstream
-#usr/include/c++/4.0.4/backward/tempbuf.h
-#usr/include/c++/4.0.4/backward/tree.h
-#usr/include/c++/4.0.4/backward/vector.h
-#usr/include/c++/4.0.4/bits
-#usr/include/c++/4.0.4/bits/allocator.h
-#usr/include/c++/4.0.4/bits/atomicity.h
-#usr/include/c++/4.0.4/bits/basic_ios.h
-#usr/include/c++/4.0.4/bits/basic_ios.tcc
-#usr/include/c++/4.0.4/bits/basic_string.h
-#usr/include/c++/4.0.4/bits/basic_string.tcc
-#usr/include/c++/4.0.4/bits/boost_concept_check.h
-#usr/include/c++/4.0.4/bits/char_traits.h
-#usr/include/c++/4.0.4/bits/cmath.tcc
-#usr/include/c++/4.0.4/bits/codecvt.h
-#usr/include/c++/4.0.4/bits/concept_check.h
-#usr/include/c++/4.0.4/bits/concurrence.h
-#usr/include/c++/4.0.4/bits/cpp_type_traits.h
-#usr/include/c++/4.0.4/bits/deque.tcc
-#usr/include/c++/4.0.4/bits/fstream.tcc
-#usr/include/c++/4.0.4/bits/functexcept.h
-#usr/include/c++/4.0.4/bits/gslice.h
-#usr/include/c++/4.0.4/bits/gslice_array.h
-#usr/include/c++/4.0.4/bits/indirect_array.h
-#usr/include/c++/4.0.4/bits/ios_base.h
-#usr/include/c++/4.0.4/bits/istream.tcc
-#usr/include/c++/4.0.4/bits/list.tcc
-#usr/include/c++/4.0.4/bits/locale_classes.h
-#usr/include/c++/4.0.4/bits/locale_facets.h
-#usr/include/c++/4.0.4/bits/locale_facets.tcc
-#usr/include/c++/4.0.4/bits/localefwd.h
-#usr/include/c++/4.0.4/bits/mask_array.h
-#usr/include/c++/4.0.4/bits/ostream.tcc
-#usr/include/c++/4.0.4/bits/postypes.h
-#usr/include/c++/4.0.4/bits/slice_array.h
-#usr/include/c++/4.0.4/bits/sstream.tcc
-#usr/include/c++/4.0.4/bits/stl_algo.h
-#usr/include/c++/4.0.4/bits/stl_algobase.h
-#usr/include/c++/4.0.4/bits/stl_bvector.h
-#usr/include/c++/4.0.4/bits/stl_construct.h
-#usr/include/c++/4.0.4/bits/stl_deque.h
-#usr/include/c++/4.0.4/bits/stl_function.h
-#usr/include/c++/4.0.4/bits/stl_heap.h
-#usr/include/c++/4.0.4/bits/stl_iterator.h
-#usr/include/c++/4.0.4/bits/stl_iterator_base_funcs.h
-#usr/include/c++/4.0.4/bits/stl_iterator_base_types.h
-#usr/include/c++/4.0.4/bits/stl_list.h
-#usr/include/c++/4.0.4/bits/stl_map.h
-#usr/include/c++/4.0.4/bits/stl_multimap.h
-#usr/include/c++/4.0.4/bits/stl_multiset.h
-#usr/include/c++/4.0.4/bits/stl_numeric.h
-#usr/include/c++/4.0.4/bits/stl_pair.h
-#usr/include/c++/4.0.4/bits/stl_queue.h
-#usr/include/c++/4.0.4/bits/stl_raw_storage_iter.h
-#usr/include/c++/4.0.4/bits/stl_relops.h
-#usr/include/c++/4.0.4/bits/stl_set.h
-#usr/include/c++/4.0.4/bits/stl_stack.h
-#usr/include/c++/4.0.4/bits/stl_tempbuf.h
-#usr/include/c++/4.0.4/bits/stl_tree.h
-#usr/include/c++/4.0.4/bits/stl_uninitialized.h
-#usr/include/c++/4.0.4/bits/stl_vector.h
-#usr/include/c++/4.0.4/bits/stream_iterator.h
-#usr/include/c++/4.0.4/bits/streambuf.tcc
-#usr/include/c++/4.0.4/bits/streambuf_iterator.h
-#usr/include/c++/4.0.4/bits/stringfwd.h
-#usr/include/c++/4.0.4/bits/valarray_after.h
-#usr/include/c++/4.0.4/bits/valarray_array.h
-#usr/include/c++/4.0.4/bits/valarray_array.tcc
-#usr/include/c++/4.0.4/bits/valarray_before.h
-#usr/include/c++/4.0.4/bits/vector.tcc
-#usr/include/c++/4.0.4/bitset
-#usr/include/c++/4.0.4/cassert
-#usr/include/c++/4.0.4/cctype
-#usr/include/c++/4.0.4/cerrno
-#usr/include/c++/4.0.4/cfloat
-#usr/include/c++/4.0.4/ciso646
-#usr/include/c++/4.0.4/climits
-#usr/include/c++/4.0.4/clocale
-#usr/include/c++/4.0.4/cmath
-#usr/include/c++/4.0.4/complex
-#usr/include/c++/4.0.4/csetjmp
-#usr/include/c++/4.0.4/csignal
-#usr/include/c++/4.0.4/cstdarg
-#usr/include/c++/4.0.4/cstddef
-#usr/include/c++/4.0.4/cstdio
-#usr/include/c++/4.0.4/cstdlib
-#usr/include/c++/4.0.4/cstring
-#usr/include/c++/4.0.4/ctime
-#usr/include/c++/4.0.4/cwchar
-#usr/include/c++/4.0.4/cwctype
-#usr/include/c++/4.0.4/cxxabi.h
-#usr/include/c++/4.0.4/debug
-#usr/include/c++/4.0.4/debug/bitset
-#usr/include/c++/4.0.4/debug/debug.h
-#usr/include/c++/4.0.4/debug/deque
-#usr/include/c++/4.0.4/debug/formatter.h
-#usr/include/c++/4.0.4/debug/hash_map
-#usr/include/c++/4.0.4/debug/hash_map.h
-#usr/include/c++/4.0.4/debug/hash_multimap.h
-#usr/include/c++/4.0.4/debug/hash_multiset.h
-#usr/include/c++/4.0.4/debug/hash_set
-#usr/include/c++/4.0.4/debug/hash_set.h
-#usr/include/c++/4.0.4/debug/list
-#usr/include/c++/4.0.4/debug/map
-#usr/include/c++/4.0.4/debug/map.h
-#usr/include/c++/4.0.4/debug/multimap.h
-#usr/include/c++/4.0.4/debug/multiset.h
-#usr/include/c++/4.0.4/debug/safe_base.h
-#usr/include/c++/4.0.4/debug/safe_iterator.h
-#usr/include/c++/4.0.4/debug/safe_iterator.tcc
-#usr/include/c++/4.0.4/debug/safe_sequence.h
-#usr/include/c++/4.0.4/debug/set
-#usr/include/c++/4.0.4/debug/set.h
-#usr/include/c++/4.0.4/debug/string
-#usr/include/c++/4.0.4/debug/vector
-#usr/include/c++/4.0.4/deque
-#usr/include/c++/4.0.4/exception
-#usr/include/c++/4.0.4/exception_defines.h
-#usr/include/c++/4.0.4/ext
-#usr/include/c++/4.0.4/ext/algorithm
-#usr/include/c++/4.0.4/ext/array_allocator.h
-#usr/include/c++/4.0.4/ext/bitmap_allocator.h
-#usr/include/c++/4.0.4/ext/codecvt_specializations.h
-#usr/include/c++/4.0.4/ext/debug_allocator.h
-#usr/include/c++/4.0.4/ext/functional
-#usr/include/c++/4.0.4/ext/hash_fun.h
-#usr/include/c++/4.0.4/ext/hash_map
-#usr/include/c++/4.0.4/ext/hash_set
-#usr/include/c++/4.0.4/ext/hashtable.h
-#usr/include/c++/4.0.4/ext/iterator
-#usr/include/c++/4.0.4/ext/malloc_allocator.h
-#usr/include/c++/4.0.4/ext/memory
-#usr/include/c++/4.0.4/ext/mt_allocator.h
-#usr/include/c++/4.0.4/ext/new_allocator.h
-#usr/include/c++/4.0.4/ext/numeric
-#usr/include/c++/4.0.4/ext/pod_char_traits.h
-#usr/include/c++/4.0.4/ext/pool_allocator.h
-#usr/include/c++/4.0.4/ext/rb_tree
-#usr/include/c++/4.0.4/ext/rope
-#usr/include/c++/4.0.4/ext/ropeimpl.h
-#usr/include/c++/4.0.4/ext/slist
-#usr/include/c++/4.0.4/ext/stdio_filebuf.h
-#usr/include/c++/4.0.4/ext/stdio_sync_filebuf.h
-#usr/include/c++/4.0.4/fstream
-#usr/include/c++/4.0.4/functional
-#usr/include/c++/4.0.4/BUILDTARGET
-#usr/include/c++/4.0.4/BUILDTARGET/bits
-#usr/include/c++/4.0.4/BUILDTARGET/bits/atomic_word.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/basic_file.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/c++allocator.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/c++config.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/c++io.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/c++locale.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/ctype_base.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/ctype_inline.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/ctype_noninline.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/cxxabi_tweaks.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/gthr-default.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/gthr-posix.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/gthr-single.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/gthr-tpf.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/gthr.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/messages_members.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/os_defines.h
-#usr/include/c++/4.0.4/BUILDTARGET/bits/stdc++.h.gch
-#usr/include/c++/4.0.4/BUILDTARGET/bits/stdc++.h.gch/O0g.gch
-#usr/include/c++/4.0.4/BUILDTARGET/bits/stdc++.h.gch/O2g.gch
-#usr/include/c++/4.0.4/BUILDTARGET/bits/time_members.h
-#usr/include/c++/4.0.4/iomanip
-#usr/include/c++/4.0.4/ios
-#usr/include/c++/4.0.4/iosfwd
-#usr/include/c++/4.0.4/iostream
-#usr/include/c++/4.0.4/istream
-#usr/include/c++/4.0.4/iterator
-#usr/include/c++/4.0.4/limits
-#usr/include/c++/4.0.4/list
-#usr/include/c++/4.0.4/locale
-#usr/include/c++/4.0.4/map
-#usr/include/c++/4.0.4/memory
-#usr/include/c++/4.0.4/new
-#usr/include/c++/4.0.4/numeric
-#usr/include/c++/4.0.4/ostream
-#usr/include/c++/4.0.4/queue
-#usr/include/c++/4.0.4/set
-#usr/include/c++/4.0.4/sstream
-#usr/include/c++/4.0.4/stack
-#usr/include/c++/4.0.4/stdexcept
-#usr/include/c++/4.0.4/streambuf
-#usr/include/c++/4.0.4/string
-#usr/include/c++/4.0.4/tr1
-#usr/include/c++/4.0.4/tr1/array
-#usr/include/c++/4.0.4/tr1/bind_iterate.h
-#usr/include/c++/4.0.4/tr1/bind_repeat.h
-#usr/include/c++/4.0.4/tr1/boost_shared_ptr.h
-#usr/include/c++/4.0.4/tr1/functional
-#usr/include/c++/4.0.4/tr1/functional_iterate.h
-#usr/include/c++/4.0.4/tr1/hashtable
-#usr/include/c++/4.0.4/tr1/memory
-#usr/include/c++/4.0.4/tr1/mu_iterate.h
-#usr/include/c++/4.0.4/tr1/ref_fwd.h
-#usr/include/c++/4.0.4/tr1/ref_wrap_iterate.h
-#usr/include/c++/4.0.4/tr1/repeat.h
-#usr/include/c++/4.0.4/tr1/tuple
-#usr/include/c++/4.0.4/tr1/tuple_iterate.h
-#usr/include/c++/4.0.4/tr1/type_traits
-#usr/include/c++/4.0.4/tr1/type_traits_fwd.h
-#usr/include/c++/4.0.4/tr1/unordered_map
-#usr/include/c++/4.0.4/tr1/unordered_set
-#usr/include/c++/4.0.4/tr1/utility
-#usr/include/c++/4.0.4/typeinfo
-#usr/include/c++/4.0.4/utility
-#usr/include/c++/4.0.4/valarray
-#usr/include/c++/4.0.4/vector
+#usr/include/c++/4.1.2
+#usr/include/c++/4.1.2/algorithm
+#usr/include/c++/4.1.2/backward
+#usr/include/c++/4.1.2/backward/algo.h
+#usr/include/c++/4.1.2/backward/algobase.h
+#usr/include/c++/4.1.2/backward/alloc.h
+#usr/include/c++/4.1.2/backward/backward_warning.h
+#usr/include/c++/4.1.2/backward/bvector.h
+#usr/include/c++/4.1.2/backward/complex.h
+#usr/include/c++/4.1.2/backward/defalloc.h
+#usr/include/c++/4.1.2/backward/deque.h
+#usr/include/c++/4.1.2/backward/fstream.h
+#usr/include/c++/4.1.2/backward/function.h
+#usr/include/c++/4.1.2/backward/hash_map.h
+#usr/include/c++/4.1.2/backward/hash_set.h
+#usr/include/c++/4.1.2/backward/hashtable.h
+#usr/include/c++/4.1.2/backward/heap.h
+#usr/include/c++/4.1.2/backward/iomanip.h
+#usr/include/c++/4.1.2/backward/iostream.h
+#usr/include/c++/4.1.2/backward/istream.h
+#usr/include/c++/4.1.2/backward/iterator.h
+#usr/include/c++/4.1.2/backward/list.h
+#usr/include/c++/4.1.2/backward/map.h
+#usr/include/c++/4.1.2/backward/multimap.h
+#usr/include/c++/4.1.2/backward/multiset.h
+#usr/include/c++/4.1.2/backward/new.h
+#usr/include/c++/4.1.2/backward/ostream.h
+#usr/include/c++/4.1.2/backward/pair.h
+#usr/include/c++/4.1.2/backward/queue.h
+#usr/include/c++/4.1.2/backward/rope.h
+#usr/include/c++/4.1.2/backward/set.h
+#usr/include/c++/4.1.2/backward/slist.h
+#usr/include/c++/4.1.2/backward/stack.h
+#usr/include/c++/4.1.2/backward/stream.h
+#usr/include/c++/4.1.2/backward/streambuf.h
+#usr/include/c++/4.1.2/backward/strstream
+#usr/include/c++/4.1.2/backward/tempbuf.h
+#usr/include/c++/4.1.2/backward/tree.h
+#usr/include/c++/4.1.2/backward/vector.h
+#usr/include/c++/4.1.2/bits
+#usr/include/c++/4.1.2/bits/allocator.h
+#usr/include/c++/4.1.2/bits/atomicity.h
+#usr/include/c++/4.1.2/bits/basic_ios.h
+#usr/include/c++/4.1.2/bits/basic_ios.tcc
+#usr/include/c++/4.1.2/bits/basic_string.h
+#usr/include/c++/4.1.2/bits/basic_string.tcc
+#usr/include/c++/4.1.2/bits/boost_concept_check.h
+#usr/include/c++/4.1.2/bits/char_traits.h
+#usr/include/c++/4.1.2/bits/cmath.tcc
+#usr/include/c++/4.1.2/bits/codecvt.h
+#usr/include/c++/4.1.2/bits/concept_check.h
+#usr/include/c++/4.1.2/bits/concurrence.h
+#usr/include/c++/4.1.2/bits/cpp_type_traits.h
+#usr/include/c++/4.1.2/bits/deque.tcc
+#usr/include/c++/4.1.2/bits/fstream.tcc
+#usr/include/c++/4.1.2/bits/functexcept.h
+#usr/include/c++/4.1.2/bits/gslice.h
+#usr/include/c++/4.1.2/bits/gslice_array.h
+#usr/include/c++/4.1.2/bits/indirect_array.h
+#usr/include/c++/4.1.2/bits/ios_base.h
+#usr/include/c++/4.1.2/bits/istream.tcc
+#usr/include/c++/4.1.2/bits/list.tcc
+#usr/include/c++/4.1.2/bits/locale_classes.h
+#usr/include/c++/4.1.2/bits/locale_facets.h
+#usr/include/c++/4.1.2/bits/locale_facets.tcc
+#usr/include/c++/4.1.2/bits/localefwd.h
+#usr/include/c++/4.1.2/bits/mask_array.h
+#usr/include/c++/4.1.2/bits/ostream.tcc
+#usr/include/c++/4.1.2/bits/postypes.h
+#usr/include/c++/4.1.2/bits/slice_array.h
+#usr/include/c++/4.1.2/bits/sstream.tcc
+#usr/include/c++/4.1.2/bits/stl_algo.h
+#usr/include/c++/4.1.2/bits/stl_algobase.h
+#usr/include/c++/4.1.2/bits/stl_bvector.h
+#usr/include/c++/4.1.2/bits/stl_construct.h
+#usr/include/c++/4.1.2/bits/stl_deque.h
+#usr/include/c++/4.1.2/bits/stl_function.h
+#usr/include/c++/4.1.2/bits/stl_heap.h
+#usr/include/c++/4.1.2/bits/stl_iterator.h
+#usr/include/c++/4.1.2/bits/stl_iterator_base_funcs.h
+#usr/include/c++/4.1.2/bits/stl_iterator_base_types.h
+#usr/include/c++/4.1.2/bits/stl_list.h
+#usr/include/c++/4.1.2/bits/stl_map.h
+#usr/include/c++/4.1.2/bits/stl_multimap.h
+#usr/include/c++/4.1.2/bits/stl_multiset.h
+#usr/include/c++/4.1.2/bits/stl_numeric.h
+#usr/include/c++/4.1.2/bits/stl_pair.h
+#usr/include/c++/4.1.2/bits/stl_queue.h
+#usr/include/c++/4.1.2/bits/stl_raw_storage_iter.h
+#usr/include/c++/4.1.2/bits/stl_relops.h
+#usr/include/c++/4.1.2/bits/stl_set.h
+#usr/include/c++/4.1.2/bits/stl_stack.h
+#usr/include/c++/4.1.2/bits/stl_tempbuf.h
+#usr/include/c++/4.1.2/bits/stl_tree.h
+#usr/include/c++/4.1.2/bits/stl_uninitialized.h
+#usr/include/c++/4.1.2/bits/stl_vector.h
+#usr/include/c++/4.1.2/bits/stream_iterator.h
+#usr/include/c++/4.1.2/bits/streambuf.tcc
+#usr/include/c++/4.1.2/bits/streambuf_iterator.h
+#usr/include/c++/4.1.2/bits/stringfwd.h
+#usr/include/c++/4.1.2/bits/valarray_after.h
+#usr/include/c++/4.1.2/bits/valarray_array.h
+#usr/include/c++/4.1.2/bits/valarray_array.tcc
+#usr/include/c++/4.1.2/bits/valarray_before.h
+#usr/include/c++/4.1.2/bits/vector.tcc
+#usr/include/c++/4.1.2/bitset
+#usr/include/c++/4.1.2/cassert
+#usr/include/c++/4.1.2/cctype
+#usr/include/c++/4.1.2/cerrno
+#usr/include/c++/4.1.2/cfloat
+#usr/include/c++/4.1.2/ciso646
+#usr/include/c++/4.1.2/climits
+#usr/include/c++/4.1.2/clocale
+#usr/include/c++/4.1.2/cmath
+#usr/include/c++/4.1.2/complex
+#usr/include/c++/4.1.2/csetjmp
+#usr/include/c++/4.1.2/csignal
+#usr/include/c++/4.1.2/cstdarg
+#usr/include/c++/4.1.2/cstddef
+#usr/include/c++/4.1.2/cstdio
+#usr/include/c++/4.1.2/cstdlib
+#usr/include/c++/4.1.2/cstring
+#usr/include/c++/4.1.2/ctime
+#usr/include/c++/4.1.2/cwchar
+#usr/include/c++/4.1.2/cwctype
+#usr/include/c++/4.1.2/cxxabi.h
+#usr/include/c++/4.1.2/debug
+#usr/include/c++/4.1.2/debug/bitset
+#usr/include/c++/4.1.2/debug/debug.h
+#usr/include/c++/4.1.2/debug/deque
+#usr/include/c++/4.1.2/debug/formatter.h
+#usr/include/c++/4.1.2/debug/functions.h
+#usr/include/c++/4.1.2/debug/hash_map
+#usr/include/c++/4.1.2/debug/hash_map.h
+#usr/include/c++/4.1.2/debug/hash_multimap.h
+#usr/include/c++/4.1.2/debug/hash_multiset.h
+#usr/include/c++/4.1.2/debug/hash_set
+#usr/include/c++/4.1.2/debug/hash_set.h
+#usr/include/c++/4.1.2/debug/list
+#usr/include/c++/4.1.2/debug/macros.h
+#usr/include/c++/4.1.2/debug/map
+#usr/include/c++/4.1.2/debug/map.h
+#usr/include/c++/4.1.2/debug/multimap.h
+#usr/include/c++/4.1.2/debug/multiset.h
+#usr/include/c++/4.1.2/debug/safe_base.h
+#usr/include/c++/4.1.2/debug/safe_iterator.h
+#usr/include/c++/4.1.2/debug/safe_iterator.tcc
+#usr/include/c++/4.1.2/debug/safe_sequence.h
+#usr/include/c++/4.1.2/debug/set
+#usr/include/c++/4.1.2/debug/set.h
+#usr/include/c++/4.1.2/debug/string
+#usr/include/c++/4.1.2/debug/vector
+#usr/include/c++/4.1.2/deque
+#usr/include/c++/4.1.2/exception
+#usr/include/c++/4.1.2/exception_defines.h
+#usr/include/c++/4.1.2/ext
+#usr/include/c++/4.1.2/ext/algorithm
+#usr/include/c++/4.1.2/ext/array_allocator.h
+#usr/include/c++/4.1.2/ext/bitmap_allocator.h
+#usr/include/c++/4.1.2/ext/codecvt_specializations.h
+#usr/include/c++/4.1.2/ext/debug_allocator.h
+#usr/include/c++/4.1.2/ext/functional
+#usr/include/c++/4.1.2/ext/hash_fun.h
+#usr/include/c++/4.1.2/ext/hash_map
+#usr/include/c++/4.1.2/ext/hash_set
+#usr/include/c++/4.1.2/ext/hashtable.h
+#usr/include/c++/4.1.2/ext/iterator
+#usr/include/c++/4.1.2/ext/malloc_allocator.h
+#usr/include/c++/4.1.2/ext/memory
+#usr/include/c++/4.1.2/ext/mt_allocator.h
+#usr/include/c++/4.1.2/ext/new_allocator.h
+#usr/include/c++/4.1.2/ext/numeric
+#usr/include/c++/4.1.2/ext/pb_assoc
+#usr/include/c++/4.1.2/ext/pb_assoc/assoc_cntnr.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/data_type.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/assoc_cntnr_base.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_hash_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/cond_dealtor.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ds_trait_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_hash_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_types_traits.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/map_debug_base.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/mapping_level_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ms_category_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ms_trait_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/order_statistics_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/node.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/size_base.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/node.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/standard_policies.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/standard_sizes.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_assoc_cntnr
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/type_utils.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_append.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_apply.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_contains.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_filter.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_transform.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/types_traits.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/ds_trait.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/exception.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/hash_policy.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/lu_policy.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/ms_trait.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/tree_policy.hpp
+#usr/include/c++/4.1.2/ext/pb_assoc/trivial_iterator_def.hpp
+#usr/include/c++/4.1.2/ext/pod_char_traits.h
+#usr/include/c++/4.1.2/ext/pool_allocator.h
+#usr/include/c++/4.1.2/ext/rb_tree
+#usr/include/c++/4.1.2/ext/rc_string_base.h
+#usr/include/c++/4.1.2/ext/rope
+#usr/include/c++/4.1.2/ext/ropeimpl.h
+#usr/include/c++/4.1.2/ext/slist
+#usr/include/c++/4.1.2/ext/sso_string_base.h
+#usr/include/c++/4.1.2/ext/stdio_filebuf.h
+#usr/include/c++/4.1.2/ext/stdio_sync_filebuf.h
+#usr/include/c++/4.1.2/ext/typelist.h
+#usr/include/c++/4.1.2/ext/vstring.h
+#usr/include/c++/4.1.2/ext/vstring.tcc
+#usr/include/c++/4.1.2/ext/vstring_fwd.h
+#usr/include/c++/4.1.2/ext/vstring_util.h
+#usr/include/c++/4.1.2/fstream
+#usr/include/c++/4.1.2/functional
+#usr/include/c++/4.1.2/i586-pc-linux-gnu
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/atomic_word.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/basic_file.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/c++allocator.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/c++config.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/c++io.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/c++locale.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/cpu_defines.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/ctype_base.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/ctype_inline.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/ctype_noninline.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/cxxabi_tweaks.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/gthr-default.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/gthr-posix.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/gthr-single.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/gthr-tpf.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/gthr.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/messages_members.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/os_defines.h
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/stdc++.h.gch
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/stdc++.h.gch/O0g.gch
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/stdc++.h.gch/O2g.gch
+#usr/include/c++/4.1.2/i586-pc-linux-gnu/bits/time_members.h
+#usr/include/c++/4.1.2/iomanip
+#usr/include/c++/4.1.2/ios
+#usr/include/c++/4.1.2/iosfwd
+#usr/include/c++/4.1.2/iostream
+#usr/include/c++/4.1.2/istream
+#usr/include/c++/4.1.2/iterator
+#usr/include/c++/4.1.2/limits
+#usr/include/c++/4.1.2/list
+#usr/include/c++/4.1.2/locale
+#usr/include/c++/4.1.2/map
+#usr/include/c++/4.1.2/memory
+#usr/include/c++/4.1.2/new
+#usr/include/c++/4.1.2/numeric
+#usr/include/c++/4.1.2/ostream
+#usr/include/c++/4.1.2/queue
+#usr/include/c++/4.1.2/set
+#usr/include/c++/4.1.2/sstream
+#usr/include/c++/4.1.2/stack
+#usr/include/c++/4.1.2/stdexcept
+#usr/include/c++/4.1.2/streambuf
+#usr/include/c++/4.1.2/string
+#usr/include/c++/4.1.2/tr1
+#usr/include/c++/4.1.2/tr1/array
+#usr/include/c++/4.1.2/tr1/bind_iterate.h
+#usr/include/c++/4.1.2/tr1/bind_repeat.h
+#usr/include/c++/4.1.2/tr1/boost_shared_ptr.h
+#usr/include/c++/4.1.2/tr1/functional
+#usr/include/c++/4.1.2/tr1/functional_iterate.h
+#usr/include/c++/4.1.2/tr1/hashtable
+#usr/include/c++/4.1.2/tr1/memory
+#usr/include/c++/4.1.2/tr1/mu_iterate.h
+#usr/include/c++/4.1.2/tr1/ref_fwd.h
+#usr/include/c++/4.1.2/tr1/ref_wrap_iterate.h
+#usr/include/c++/4.1.2/tr1/repeat.h
+#usr/include/c++/4.1.2/tr1/tuple
+#usr/include/c++/4.1.2/tr1/tuple_iterate.h
+#usr/include/c++/4.1.2/tr1/type_traits
+#usr/include/c++/4.1.2/tr1/type_traits_fwd.h
+#usr/include/c++/4.1.2/tr1/unordered_map
+#usr/include/c++/4.1.2/tr1/unordered_set
+#usr/include/c++/4.1.2/tr1/utility
+#usr/include/c++/4.1.2/typeinfo
+#usr/include/c++/4.1.2/utility
+#usr/include/c++/4.1.2/valarray
+#usr/include/c++/4.1.2/vector
 #usr/include/mf-runtime.h
 #usr/info/cpp.info
 #usr/info/cppinternals.info
 #usr/info/gccinstall.info
 #usr/info/gccint.info
 #usr/lib/gcc
-#usr/lib/gcc/BUILDTARGET
-#usr/lib/gcc/BUILDTARGET/4.0.4
-#usr/lib/gcc/BUILDTARGET/4.0.4/cc1
-#usr/lib/gcc/BUILDTARGET/4.0.4/cc1plus
-#usr/lib/gcc/BUILDTARGET/4.0.4/collect2
-#usr/lib/gcc/BUILDTARGET/4.0.4/crtbegin.o
-#usr/lib/gcc/BUILDTARGET/4.0.4/crtbeginS.o
-#usr/lib/gcc/BUILDTARGET/4.0.4/crtbeginT.o
-#usr/lib/gcc/BUILDTARGET/4.0.4/crtend.o
-#usr/lib/gcc/BUILDTARGET/4.0.4/crtendS.o
-#usr/lib/gcc/BUILDTARGET/4.0.4/include
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/README
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/emmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/float.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/iso646.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/limits.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/mm3dnow.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/mm_malloc.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/mmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/pmmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/stdarg.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/stdbool.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/stddef.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/syslimits.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/unwind.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/varargs.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/include/xmmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/fixinc.sh
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/fixincl
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/gsyslimits.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/README
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/emmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/float.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/iso646.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/limits.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/mm3dnow.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/mm_malloc.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/mmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/pmmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/stdarg.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/stdbool.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/stddef.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/unwind.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/varargs.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/include/xmmintrin.h
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/macro_list
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/mkheaders
-#usr/lib/gcc/BUILDTARGET/4.0.4/install-tools/mkheaders.conf
-#usr/lib/gcc/BUILDTARGET/4.0.4/libgcc.a
-#usr/lib/gcc/BUILDTARGET/4.0.4/libgcc_eh.a
-#usr/lib/gcc/BUILDTARGET/4.0.4/libgcov.a
+#usr/lib/gcc/i586-pc-linux-gnu
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/cc1
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/cc1plus
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/collect2
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtbegin.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtbeginS.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtbeginT.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtend.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtendS.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/crtfastmath.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/README
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/emmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/float.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/iso646.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/mm3dnow.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/mm_malloc.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/mmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/pmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/ssp
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/ssp/ssp.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/ssp/stdio.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/ssp/string.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/ssp/unistd.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/stdbool.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/stddef.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/syslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/unwind.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/varargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/include/xmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/fixinc.sh
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/fixincl
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/gsyslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/README
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/emmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/float.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/iso646.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/mm3dnow.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/mm_malloc.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/mmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/pmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/stdbool.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/stddef.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/unwind.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/varargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/include/xmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/macro_list
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/mkheaders
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/install-tools/mkheaders.conf
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/libgcc.a
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/libgcc_eh.a
+#usr/lib/gcc/i586-pc-linux-gnu/4.1.2/libgcov.a
 #usr/lib/libmudflap.a
 #usr/lib/libmudflap.la
-#usr/lib/libmudflap.so
-#usr/lib/libmudflap.so.0
-#usr/lib/libmudflap.so.0.0.0
+usr/lib/libmudflap.so
+usr/lib/libmudflap.so.0
+usr/lib/libmudflap.so.0.0.0
 #usr/lib/libmudflapth.a
 #usr/lib/libmudflapth.la
-#usr/lib/libmudflapth.so
-#usr/lib/libmudflapth.so.0
-#usr/lib/libmudflapth.so.0.0.0
+usr/lib/libmudflapth.so
+usr/lib/libmudflapth.so.0
+usr/lib/libmudflapth.so.0.0.0
+#usr/lib/libssp.a
+#usr/lib/libssp.la
+usr/lib/libssp.so
+usr/lib/libssp.so.0
+usr/lib/libssp.so.0.0.0
+#usr/lib/libssp_nonshared.a
+#usr/lib/libssp_nonshared.la
 #usr/lib/libstdc++.a
 #usr/lib/libstdc++.la
 usr/lib/libstdc++.so
 usr/lib/libstdc++.so.6
-usr/lib/libstdc++.so.6.0.7
+usr/lib/libstdc++.so.6.0.8
 #usr/lib/libsupc++.a
 #usr/lib/libsupc++.la
 #usr/man/man1/cpp.1
index 58bbf8c6af9dba2f9c828834bd99709b4eeb9b27..9393aec50d9c66c3b66cd570bdb88ead536b1edb 100644 (file)
@@ -110,6 +110,7 @@ etc/rc.d/init.d/snort
 etc/rc.d/init.d/squid
 etc/rc.d/init.d/sshd
 #etc/rc.d/init.d/sslh
+etc/rc.d/init.d/static-routes
 etc/rc.d/init.d/swap
 etc/rc.d/init.d/sysctl
 etc/rc.d/init.d/sysklogd
index 6e5d7caec192ef14668720b40f7fbf9f62ea7745..adab51bc1eea62f39c70c0e8101a43476534b5ed 100644 (file)
@@ -18,6 +18,7 @@ usr/local/bin/outgoingfwctrl
 usr/local/bin/pakfire
 usr/local/bin/qosctrl
 usr/local/bin/rebuildhosts
+usr/local/bin/rebuildroutes
 usr/local/bin/redctrl
 #usr/local/bin/sambactrl
 usr/local/bin/setaliases
index 23742b3d8bdb5adfb2ed8ace5b9fd673c8ace8a6..0f2aa47182fda5e09dcbca25b2bc06f8201508a9 100644 (file)
@@ -1,6 +1,8 @@
 lib/openvpn-auth-pam.so
+lib/openvpn-down-root.so
 usr/sbin/openvpn
 #usr/share/doc/openvpn
+#usr/share/doc/openvpn/management-notes.txt
 #usr/share/man/man8/openvpn.8
 var/ipfire/ovpn
 var/ipfire/ovpn/ca
@@ -9,9 +11,10 @@ var/ipfire/ovpn/caconfig
 var/ipfire/ovpn/certs/index.txt
 var/ipfire/ovpn/certs/serial
 var/ipfire/ovpn/crls
+var/ipfire/ovpn/n2nconf
 #var/ipfire/ovpn/openssl
 var/ipfire/ovpn/openssl/ovpn.cnf
+var/ipfire/ovpn/ovpn-leases.db
 var/ipfire/ovpn/ovpnconfig
 var/ipfire/ovpn/settings
 var/ipfire/ovpn/verify
-var/ipfire/ovpn/ovpn-leases.db
index df093b0751114d98b212dccfb7f34e5199c38789..c7d4bbd45203b7571b82293367cb1e1fba5e2304 100644 (file)
@@ -10,21 +10,21 @@ etc/ipsec.d/private
 etc/ipsec.d/reqs
 etc/ipsec.secrets
 etc/strongswan.conf
-#usr/lib/libcharon.a
-#usr/lib/libcharon.la
-usr/lib/libcharon.so
-usr/lib/libcharon.so.0
-usr/lib/libcharon.so.0.0.0
-#usr/lib/libhydra.a
-#usr/lib/libhydra.la
-usr/lib/libhydra.so
-usr/lib/libhydra.so.0
-usr/lib/libhydra.so.0.0.0
-#usr/lib/libstrongswan.a
-#usr/lib/libstrongswan.la
-usr/lib/libstrongswan.so
-usr/lib/libstrongswan.so.0
-usr/lib/libstrongswan.so.0.0.0
+#usr/lib/ipsec/libcharon.a
+#usr/lib/ipsec/libcharon.la
+usr/lib/ipsec/libcharon.so
+usr/lib/ipsec/libcharon.so.0
+usr/lib/ipsec/libcharon.so.0.0.0
+#usr/lib/ipsec/libhydra.a
+#usr/lib/ipsec/libhydra.la
+usr/lib/ipsec/libhydra.so
+usr/lib/ipsec/libhydra.so.0
+usr/lib/ipsec/libhydra.so.0.0.0
+#usr/lib/ipsec/libstrongswan.a
+#usr/lib/ipsec/libstrongswan.la
+usr/lib/ipsec/libstrongswan.so
+usr/lib/ipsec/libstrongswan.so.0
+usr/lib/ipsec/libstrongswan.so.0.0.0
 #usr/libexec/ipsec
 usr/libexec/ipsec/_copyright
 usr/libexec/ipsec/_pluto_adns
@@ -33,82 +33,86 @@ usr/libexec/ipsec/_updown_espmark
 usr/libexec/ipsec/charon
 usr/libexec/ipsec/openac
 usr/libexec/ipsec/pki
-#usr/libexec/ipsec/plugins
-#usr/libexec/ipsec/plugins/libstrongswan-aes.a
-#usr/libexec/ipsec/plugins/libstrongswan-aes.la
-usr/libexec/ipsec/plugins/libstrongswan-aes.so
-#usr/libexec/ipsec/plugins/libstrongswan-attr.a
-#usr/libexec/ipsec/plugins/libstrongswan-attr.la
-usr/libexec/ipsec/plugins/libstrongswan-attr.so
-#usr/libexec/ipsec/plugins/libstrongswan-curl.a
-#usr/libexec/ipsec/plugins/libstrongswan-curl.la
-usr/libexec/ipsec/plugins/libstrongswan-curl.so
-#usr/libexec/ipsec/plugins/libstrongswan-des.a
-#usr/libexec/ipsec/plugins/libstrongswan-des.la
-usr/libexec/ipsec/plugins/libstrongswan-des.so
-#usr/libexec/ipsec/plugins/libstrongswan-dnskey.a
-#usr/libexec/ipsec/plugins/libstrongswan-dnskey.la
-usr/libexec/ipsec/plugins/libstrongswan-dnskey.so
-#usr/libexec/ipsec/plugins/libstrongswan-fips-prf.a
-#usr/libexec/ipsec/plugins/libstrongswan-fips-prf.la
-usr/libexec/ipsec/plugins/libstrongswan-fips-prf.so
-#usr/libexec/ipsec/plugins/libstrongswan-gmp.a
-#usr/libexec/ipsec/plugins/libstrongswan-gmp.la
-usr/libexec/ipsec/plugins/libstrongswan-gmp.so
-#usr/libexec/ipsec/plugins/libstrongswan-hmac.a
-#usr/libexec/ipsec/plugins/libstrongswan-hmac.la
-usr/libexec/ipsec/plugins/libstrongswan-hmac.so
-#usr/libexec/ipsec/plugins/libstrongswan-kernel-netlink.a
-#usr/libexec/ipsec/plugins/libstrongswan-kernel-netlink.la
-usr/libexec/ipsec/plugins/libstrongswan-kernel-netlink.so
-#usr/libexec/ipsec/plugins/libstrongswan-md5.a
-#usr/libexec/ipsec/plugins/libstrongswan-md5.la
-usr/libexec/ipsec/plugins/libstrongswan-md5.so
-#usr/libexec/ipsec/plugins/libstrongswan-pem.a
-#usr/libexec/ipsec/plugins/libstrongswan-pem.la
-usr/libexec/ipsec/plugins/libstrongswan-pem.so
-#usr/libexec/ipsec/plugins/libstrongswan-pgp.a
-#usr/libexec/ipsec/plugins/libstrongswan-pgp.la
-usr/libexec/ipsec/plugins/libstrongswan-pgp.so
-#usr/libexec/ipsec/plugins/libstrongswan-pkcs1.a
-#usr/libexec/ipsec/plugins/libstrongswan-pkcs1.la
-usr/libexec/ipsec/plugins/libstrongswan-pkcs1.so
-#usr/libexec/ipsec/plugins/libstrongswan-pubkey.a
-#usr/libexec/ipsec/plugins/libstrongswan-pubkey.la
-usr/libexec/ipsec/plugins/libstrongswan-pubkey.so
-#usr/libexec/ipsec/plugins/libstrongswan-random.a
-#usr/libexec/ipsec/plugins/libstrongswan-random.la
-usr/libexec/ipsec/plugins/libstrongswan-random.so
-#usr/libexec/ipsec/plugins/libstrongswan-resolve.a
-#usr/libexec/ipsec/plugins/libstrongswan-resolve.la
-usr/libexec/ipsec/plugins/libstrongswan-resolve.so
-#usr/libexec/ipsec/plugins/libstrongswan-revocation.a
-#usr/libexec/ipsec/plugins/libstrongswan-revocation.la
-usr/libexec/ipsec/plugins/libstrongswan-revocation.so
-#usr/libexec/ipsec/plugins/libstrongswan-sha1.a
-#usr/libexec/ipsec/plugins/libstrongswan-sha1.la
-usr/libexec/ipsec/plugins/libstrongswan-sha1.so
-#usr/libexec/ipsec/plugins/libstrongswan-sha2.a
-#usr/libexec/ipsec/plugins/libstrongswan-sha2.la
-usr/libexec/ipsec/plugins/libstrongswan-sha2.so
-#usr/libexec/ipsec/plugins/libstrongswan-socket-raw.a
-#usr/libexec/ipsec/plugins/libstrongswan-socket-raw.la
-usr/libexec/ipsec/plugins/libstrongswan-socket-raw.so
-#usr/libexec/ipsec/plugins/libstrongswan-stroke.a
-#usr/libexec/ipsec/plugins/libstrongswan-stroke.la
-usr/libexec/ipsec/plugins/libstrongswan-stroke.so
-#usr/libexec/ipsec/plugins/libstrongswan-updown.a
-#usr/libexec/ipsec/plugins/libstrongswan-updown.la
-usr/libexec/ipsec/plugins/libstrongswan-updown.so
-#usr/libexec/ipsec/plugins/libstrongswan-x509.a
-#usr/libexec/ipsec/plugins/libstrongswan-x509.la
-usr/libexec/ipsec/plugins/libstrongswan-x509.so
-#usr/libexec/ipsec/plugins/libstrongswan-xauth.a
-#usr/libexec/ipsec/plugins/libstrongswan-xauth.la
-usr/libexec/ipsec/plugins/libstrongswan-xauth.so
-#usr/libexec/ipsec/plugins/libstrongswan-xcbc.a
-#usr/libexec/ipsec/plugins/libstrongswan-xcbc.la
-usr/libexec/ipsec/plugins/libstrongswan-xcbc.so
+#usr/lib/ipsec
+#usr/lib/ipsec/plugins
+#usr/lib/ipsec/plugins/libstrongswan-aes.a
+#usr/lib/ipsec/plugins/libstrongswan-aes.la
+usr/lib/ipsec/plugins/libstrongswan-aes.so
+#usr/lib/ipsec/plugins/libstrongswan-attr.a
+#usr/lib/ipsec/plugins/libstrongswan-attr.la
+usr/lib/ipsec/plugins/libstrongswan-attr.so
+#usr/lib/ipsec/plugins/libstrongswan-constraints.a
+#usr/lib/ipsec/plugins/libstrongswan-constraints.la
+usr/lib/ipsec/plugins/libstrongswan-constraints.so
+#usr/lib/ipsec/plugins/libstrongswan-curl.a
+#usr/lib/ipsec/plugins/libstrongswan-curl.la
+usr/lib/ipsec/plugins/libstrongswan-curl.so
+#usr/lib/ipsec/plugins/libstrongswan-des.a
+#usr/lib/ipsec/plugins/libstrongswan-des.la
+usr/lib/ipsec/plugins/libstrongswan-des.so
+#usr/lib/ipsec/plugins/libstrongswan-dnskey.a
+#usr/lib/ipsec/plugins/libstrongswan-dnskey.la
+usr/lib/ipsec/plugins/libstrongswan-dnskey.so
+#usr/lib/ipsec/plugins/libstrongswan-fips-prf.a
+#usr/lib/ipsec/plugins/libstrongswan-fips-prf.la
+usr/lib/ipsec/plugins/libstrongswan-fips-prf.so
+#usr/lib/ipsec/plugins/libstrongswan-gmp.a
+#usr/lib/ipsec/plugins/libstrongswan-gmp.la
+usr/lib/ipsec/plugins/libstrongswan-gmp.so
+#usr/lib/ipsec/plugins/libstrongswan-hmac.a
+#usr/lib/ipsec/plugins/libstrongswan-hmac.la
+usr/lib/ipsec/plugins/libstrongswan-hmac.so
+#usr/lib/ipsec/plugins/libstrongswan-kernel-netlink.a
+#usr/lib/ipsec/plugins/libstrongswan-kernel-netlink.la
+usr/lib/ipsec/plugins/libstrongswan-kernel-netlink.so
+#usr/lib/ipsec/plugins/libstrongswan-md5.a
+#usr/lib/ipsec/plugins/libstrongswan-md5.la
+usr/lib/ipsec/plugins/libstrongswan-md5.so
+#usr/lib/ipsec/plugins/libstrongswan-pem.a
+#usr/lib/ipsec/plugins/libstrongswan-pem.la
+usr/lib/ipsec/plugins/libstrongswan-pem.so
+#usr/lib/ipsec/plugins/libstrongswan-pgp.a
+#usr/lib/ipsec/plugins/libstrongswan-pgp.la
+usr/lib/ipsec/plugins/libstrongswan-pgp.so
+#usr/lib/ipsec/plugins/libstrongswan-pkcs1.a
+#usr/lib/ipsec/plugins/libstrongswan-pkcs1.la
+usr/lib/ipsec/plugins/libstrongswan-pkcs1.so
+#usr/lib/ipsec/plugins/libstrongswan-pubkey.a
+#usr/lib/ipsec/plugins/libstrongswan-pubkey.la
+usr/lib/ipsec/plugins/libstrongswan-pubkey.so
+#usr/lib/ipsec/plugins/libstrongswan-random.a
+#usr/lib/ipsec/plugins/libstrongswan-random.la
+usr/lib/ipsec/plugins/libstrongswan-random.so
+#usr/lib/ipsec/plugins/libstrongswan-resolve.a
+#usr/lib/ipsec/plugins/libstrongswan-resolve.la
+usr/lib/ipsec/plugins/libstrongswan-resolve.so
+#usr/lib/ipsec/plugins/libstrongswan-revocation.a
+#usr/lib/ipsec/plugins/libstrongswan-revocation.la
+usr/lib/ipsec/plugins/libstrongswan-revocation.so
+#usr/lib/ipsec/plugins/libstrongswan-sha1.a
+#usr/lib/ipsec/plugins/libstrongswan-sha1.la
+usr/lib/ipsec/plugins/libstrongswan-sha1.so
+#usr/lib/ipsec/plugins/libstrongswan-sha2.a
+#usr/lib/ipsec/plugins/libstrongswan-sha2.la
+usr/lib/ipsec/plugins/libstrongswan-sha2.so
+#usr/lib/ipsec/plugins/libstrongswan-socket-raw.a
+#usr/lib/ipsec/plugins/libstrongswan-socket-raw.la
+usr/lib/ipsec/plugins/libstrongswan-socket-raw.so
+#usr/lib/ipsec/plugins/libstrongswan-stroke.a
+#usr/lib/ipsec/plugins/libstrongswan-stroke.la
+usr/lib/ipsec/plugins/libstrongswan-stroke.so
+#usr/lib/ipsec/plugins/libstrongswan-updown.a
+#usr/lib/ipsec/plugins/libstrongswan-updown.la
+usr/lib/ipsec/plugins/libstrongswan-updown.so
+#usr/lib/ipsec/plugins/libstrongswan-x509.a
+#usr/lib/ipsec/plugins/libstrongswan-x509.la
+usr/lib/ipsec/plugins/libstrongswan-x509.so
+#usr/lib/ipsec/plugins/libstrongswan-xauth.a
+#usr/lib/ipsec/plugins/libstrongswan-xauth.la
+usr/lib/ipsec/plugins/libstrongswan-xauth.so
+#usr/lib/ipsec/plugins/libstrongswan-xcbc.a
+#usr/lib/ipsec/plugins/libstrongswan-xcbc.la
+usr/lib/ipsec/plugins/libstrongswan-xcbc.so
 usr/libexec/ipsec/pluto
 usr/libexec/ipsec/scepclient
 usr/libexec/ipsec/starter
@@ -118,14 +122,11 @@ usr/sbin/ipsec
 #usr/share/man/man3/anyaddr.3
 #usr/share/man/man3/atoaddr.3
 #usr/share/man/man3/atoasr.3
-#usr/share/man/man3/atosa.3
 #usr/share/man/man3/atoul.3
 #usr/share/man/man3/goodmask.3
 #usr/share/man/man3/initaddr.3
 #usr/share/man/man3/initsubnet.3
-#usr/share/man/man3/keyblobtoid.3
 #usr/share/man/man3/portof.3
-#usr/share/man/man3/prng.3
 #usr/share/man/man3/rangetosubnet.3
 #usr/share/man/man3/sameaddr.3
 #usr/share/man/man3/subnetof.3
@@ -136,13 +137,11 @@ usr/sbin/ipsec
 #usr/share/man/man5/ipsec.conf.5
 #usr/share/man/man5/ipsec.secrets.5
 #usr/share/man/man5/strongswan.conf.5
-#usr/share/man/man8/_copyright.8
 #usr/share/man/man8/_updown.8
 #usr/share/man/man8/_updown_espmark.8
 #usr/share/man/man8/ipsec.8
 #usr/share/man/man8/openac.8
 #usr/share/man/man8/pluto.8
 #usr/share/man/man8/scepclient.8
-#usr/share/man/man8/starter.8
 etc/ipsec.user.conf
 etc/ipsec.user.secrets
index 13c1a38e85eb10a18dbf14b71de47b4da232d5db..fe60c0553e542706f4722d44d4f4a6a694e53379 100644 (file)
@@ -1,6 +1,6 @@
-#etc/usb_modeswitch.conf
-etc/usb_modeswitch.setup.example
+etc/usb_modeswitch.conf
 #lib/udev/usb_modeswitch
 usr/sbin/usb_modeswitch
 usr/sbin/usb_modeswitch_dispatcher
 #usr/share/man/man1/usb_modeswitch.1
+var/lib/usb_modeswitch
index e7b3079bc32ff8340beabbeefb2bfb421438d85b..c3166a0e8e52490a11f0994ebcda23f7418d8ad9 100644 (file)
-#etc/usb_modeswitch.d
-etc/usb_modeswitch.d/0421:060c
-etc/usb_modeswitch.d/0421:0610
-etc/usb_modeswitch.d/0421:0622
-etc/usb_modeswitch.d/0421:0627
-etc/usb_modeswitch.d/0471:1210
-etc/usb_modeswitch.d/0471:1237
-etc/usb_modeswitch.d/0482:024d
-etc/usb_modeswitch.d/04e8:689a
-etc/usb_modeswitch.d/04e8:f000
-etc/usb_modeswitch.d/057c:84ff
-etc/usb_modeswitch.d/05c6:1000:sVe=Option
-etc/usb_modeswitch.d/05c6:1000:uMa=AnyDATA
-etc/usb_modeswitch.d/05c6:1000:uMa=Option
-etc/usb_modeswitch.d/05c6:1000:uMa=SAMSUNG
-etc/usb_modeswitch.d/05c6:1000:uMa=Vertex
-etc/usb_modeswitch.d/05c6:2001
-etc/usb_modeswitch.d/05c6:f000
-etc/usb_modeswitch.d/05c7:1000
-etc/usb_modeswitch.d/072f:100d
-etc/usb_modeswitch.d/0930:0d46
-etc/usb_modeswitch.d/0ace:2011
-etc/usb_modeswitch.d/0ace:20ff
-etc/usb_modeswitch.d/0af0:6711
-etc/usb_modeswitch.d/0af0:6731
-etc/usb_modeswitch.d/0af0:6751
-etc/usb_modeswitch.d/0af0:6771
-etc/usb_modeswitch.d/0af0:6791
-etc/usb_modeswitch.d/0af0:6811
-etc/usb_modeswitch.d/0af0:6911
-etc/usb_modeswitch.d/0af0:6951
-etc/usb_modeswitch.d/0af0:6971
-etc/usb_modeswitch.d/0af0:7011
-etc/usb_modeswitch.d/0af0:7031
-etc/usb_modeswitch.d/0af0:7051
-etc/usb_modeswitch.d/0af0:7071
-etc/usb_modeswitch.d/0af0:7111
-etc/usb_modeswitch.d/0af0:7211
-etc/usb_modeswitch.d/0af0:7251
-etc/usb_modeswitch.d/0af0:7271
-etc/usb_modeswitch.d/0af0:7301
-etc/usb_modeswitch.d/0af0:7311
-etc/usb_modeswitch.d/0af0:7361
-etc/usb_modeswitch.d/0af0:7381
-etc/usb_modeswitch.d/0af0:7401
-etc/usb_modeswitch.d/0af0:7501
-etc/usb_modeswitch.d/0af0:7601
-etc/usb_modeswitch.d/0af0:7701
-etc/usb_modeswitch.d/0af0:7801
-etc/usb_modeswitch.d/0af0:7901
-etc/usb_modeswitch.d/0af0:8200
-etc/usb_modeswitch.d/0af0:8201
-etc/usb_modeswitch.d/0af0:8300
-etc/usb_modeswitch.d/0af0:8302
-etc/usb_modeswitch.d/0af0:8304
-etc/usb_modeswitch.d/0af0:8400
-etc/usb_modeswitch.d/0af0:c031
-etc/usb_modeswitch.d/0af0:c100
-etc/usb_modeswitch.d/0af0:d013
-etc/usb_modeswitch.d/0af0:d031
-etc/usb_modeswitch.d/0af0:d033
-etc/usb_modeswitch.d/0af0:d035
-etc/usb_modeswitch.d/0af0:d055
-etc/usb_modeswitch.d/0af0:d057
-etc/usb_modeswitch.d/0af0:d058
-etc/usb_modeswitch.d/0af0:d155
-etc/usb_modeswitch.d/0af0:d157
-etc/usb_modeswitch.d/0af0:d255
-etc/usb_modeswitch.d/0af0:d257
-etc/usb_modeswitch.d/0af0:d357
-etc/usb_modeswitch.d/0b3c:c700
-etc/usb_modeswitch.d/0b3c:f000
-etc/usb_modeswitch.d/0cf3:20ff
-etc/usb_modeswitch.d/0d46:45a1
-etc/usb_modeswitch.d/0d46:45a5
-etc/usb_modeswitch.d/0e8d:7109
-etc/usb_modeswitch.d/0fce:d0cf
-etc/usb_modeswitch.d/0fce:d0e1
-etc/usb_modeswitch.d/0fce:d103
-etc/usb_modeswitch.d/0fd1:1000
-etc/usb_modeswitch.d/1004:1000
-etc/usb_modeswitch.d/1004:607f
-etc/usb_modeswitch.d/1004:613a
-etc/usb_modeswitch.d/1004:613f
-etc/usb_modeswitch.d/1004:6190
-etc/usb_modeswitch.d/1033:0035
-etc/usb_modeswitch.d/106c:3b03
-etc/usb_modeswitch.d/106c:3b05
-etc/usb_modeswitch.d/106c:3b06
-etc/usb_modeswitch.d/1076:7f40
-etc/usb_modeswitch.d/1199:0fff
-etc/usb_modeswitch.d/1266:1000
-etc/usb_modeswitch.d/12d1:1001
-etc/usb_modeswitch.d/12d1:1003
-etc/usb_modeswitch.d/12d1:101e
-etc/usb_modeswitch.d/12d1:1031
-etc/usb_modeswitch.d/12d1:1414
-etc/usb_modeswitch.d/12d1:1446
-etc/usb_modeswitch.d/12d1:14ad
-etc/usb_modeswitch.d/12d1:14c1
-etc/usb_modeswitch.d/12d1:1520
-etc/usb_modeswitch.d/12d1:1521
-etc/usb_modeswitch.d/12d1:1523
-etc/usb_modeswitch.d/12d1:1553
-etc/usb_modeswitch.d/12d1:1557
-etc/usb_modeswitch.d/12d1:1c0b
-etc/usb_modeswitch.d/1410:5010
-etc/usb_modeswitch.d/1410:5020
-etc/usb_modeswitch.d/1410:5030
-etc/usb_modeswitch.d/1410:5031
-etc/usb_modeswitch.d/1410:5041
-etc/usb_modeswitch.d/148f:2578
-etc/usb_modeswitch.d/16d8:6281
-etc/usb_modeswitch.d/16d8:6803
-etc/usb_modeswitch.d/16d8:6803:?
-etc/usb_modeswitch.d/16d8:700a
-etc/usb_modeswitch.d/16d8:f000
-etc/usb_modeswitch.d/198f:bccd
-etc/usb_modeswitch.d/19d2:0003
-etc/usb_modeswitch.d/19d2:0026
-etc/usb_modeswitch.d/19d2:0040
-etc/usb_modeswitch.d/19d2:0053
-etc/usb_modeswitch.d/19d2:0083
-etc/usb_modeswitch.d/19d2:0101
-etc/usb_modeswitch.d/19d2:0103
-etc/usb_modeswitch.d/19d2:0115
-etc/usb_modeswitch.d/19d2:1001
-etc/usb_modeswitch.d/19d2:1007
-etc/usb_modeswitch.d/19d2:1009
-etc/usb_modeswitch.d/19d2:1013
-etc/usb_modeswitch.d/19d2:2000
-etc/usb_modeswitch.d/19d2:fff5
-etc/usb_modeswitch.d/19d2:fff6
-etc/usb_modeswitch.d/1a8d:1000
-etc/usb_modeswitch.d/1ab7:5700
-etc/usb_modeswitch.d/1b7d:0700
-etc/usb_modeswitch.d/1bbb:f000
-etc/usb_modeswitch.d/1c9e:1001
-etc/usb_modeswitch.d/1c9e:9200
-etc/usb_modeswitch.d/1c9e:9e00
-etc/usb_modeswitch.d/1c9e:f000
-etc/usb_modeswitch.d/1dd6:1000
-etc/usb_modeswitch.d/1e0e:f000
-etc/usb_modeswitch.d/1edf:6003
-etc/usb_modeswitch.d/1ee8:0009
-etc/usb_modeswitch.d/1ee8:0013
-etc/usb_modeswitch.d/1f28:0021
-etc/usb_modeswitch.d/1fac:0130
-etc/usb_modeswitch.d/230d:0001
+etc/usb_modeswitch.d
 lib/udev/rules.d/40-usb_modeswitch.rules
+#usr/share/usb_modeswitch
+usr/share/usb_modeswitch/03f0:002a
+usr/share/usb_modeswitch/0421:060c
+usr/share/usb_modeswitch/0421:0610
+usr/share/usb_modeswitch/0421:0622
+usr/share/usb_modeswitch/0421:0627
+usr/share/usb_modeswitch/0471:1210:uMa=Philips
+usr/share/usb_modeswitch/0471:1210:uMa=Wisue
+usr/share/usb_modeswitch/0471:1237
+usr/share/usb_modeswitch/0482:024d
+usr/share/usb_modeswitch/04e8:689a
+usr/share/usb_modeswitch/04e8:f000
+usr/share/usb_modeswitch/057c:84ff
+usr/share/usb_modeswitch/05c6:1000:sVe=GT
+usr/share/usb_modeswitch/05c6:1000:sVe=Option
+usr/share/usb_modeswitch/05c6:1000:uMa=AnyDATA
+usr/share/usb_modeswitch/05c6:1000:uMa=Option
+usr/share/usb_modeswitch/05c6:1000:uMa=SAMSUNG
+usr/share/usb_modeswitch/05c6:1000:uMa=SSE
+usr/share/usb_modeswitch/05c6:1000:uMa=Vertex
+usr/share/usb_modeswitch/05c6:2000
+usr/share/usb_modeswitch/05c6:2001
+usr/share/usb_modeswitch/05c6:f000
+usr/share/usb_modeswitch/05c7:1000
+usr/share/usb_modeswitch/072f:100d
+usr/share/usb_modeswitch/07d1:a800
+usr/share/usb_modeswitch/07d1:a804
+usr/share/usb_modeswitch/0930:0d46
+usr/share/usb_modeswitch/0ace:2011
+usr/share/usb_modeswitch/0ace:20ff
+usr/share/usb_modeswitch/0af0:6711
+usr/share/usb_modeswitch/0af0:6731
+usr/share/usb_modeswitch/0af0:6751
+usr/share/usb_modeswitch/0af0:6771
+usr/share/usb_modeswitch/0af0:6791
+usr/share/usb_modeswitch/0af0:6811
+usr/share/usb_modeswitch/0af0:6911
+usr/share/usb_modeswitch/0af0:6951
+usr/share/usb_modeswitch/0af0:6971
+usr/share/usb_modeswitch/0af0:7011
+usr/share/usb_modeswitch/0af0:7031
+usr/share/usb_modeswitch/0af0:7051
+usr/share/usb_modeswitch/0af0:7071
+usr/share/usb_modeswitch/0af0:7111
+usr/share/usb_modeswitch/0af0:7211
+usr/share/usb_modeswitch/0af0:7251
+usr/share/usb_modeswitch/0af0:7271
+usr/share/usb_modeswitch/0af0:7301
+usr/share/usb_modeswitch/0af0:7311
+usr/share/usb_modeswitch/0af0:7361
+usr/share/usb_modeswitch/0af0:7381
+usr/share/usb_modeswitch/0af0:7401
+usr/share/usb_modeswitch/0af0:7501
+usr/share/usb_modeswitch/0af0:7601
+usr/share/usb_modeswitch/0af0:7701
+usr/share/usb_modeswitch/0af0:7801
+usr/share/usb_modeswitch/0af0:7901
+usr/share/usb_modeswitch/0af0:7a01
+usr/share/usb_modeswitch/0af0:7a05
+usr/share/usb_modeswitch/0af0:8200
+usr/share/usb_modeswitch/0af0:8201
+usr/share/usb_modeswitch/0af0:8300
+usr/share/usb_modeswitch/0af0:8302
+usr/share/usb_modeswitch/0af0:8304
+usr/share/usb_modeswitch/0af0:8400
+usr/share/usb_modeswitch/0af0:8600
+usr/share/usb_modeswitch/0af0:8800
+usr/share/usb_modeswitch/0af0:8900
+usr/share/usb_modeswitch/0af0:9000
+usr/share/usb_modeswitch/0af0:c031
+usr/share/usb_modeswitch/0af0:c100
+usr/share/usb_modeswitch/0af0:d013
+usr/share/usb_modeswitch/0af0:d031
+usr/share/usb_modeswitch/0af0:d033
+usr/share/usb_modeswitch/0af0:d035
+usr/share/usb_modeswitch/0af0:d055
+usr/share/usb_modeswitch/0af0:d057
+usr/share/usb_modeswitch/0af0:d058
+usr/share/usb_modeswitch/0af0:d155
+usr/share/usb_modeswitch/0af0:d157
+usr/share/usb_modeswitch/0af0:d255
+usr/share/usb_modeswitch/0af0:d257
+usr/share/usb_modeswitch/0af0:d357
+usr/share/usb_modeswitch/0b3c:c700
+usr/share/usb_modeswitch/0b3c:f000
+usr/share/usb_modeswitch/0cf3:20ff
+usr/share/usb_modeswitch/0d46:45a1
+usr/share/usb_modeswitch/0d46:45a5
+usr/share/usb_modeswitch/0df7:0800
+usr/share/usb_modeswitch/0e8d:7109
+usr/share/usb_modeswitch/0fce:d0cf
+usr/share/usb_modeswitch/0fce:d0e1
+usr/share/usb_modeswitch/0fce:d103
+usr/share/usb_modeswitch/0fd1:1000
+usr/share/usb_modeswitch/1004:1000
+usr/share/usb_modeswitch/1004:607f
+usr/share/usb_modeswitch/1004:613a
+usr/share/usb_modeswitch/1004:613f
+usr/share/usb_modeswitch/1004:6190
+usr/share/usb_modeswitch/1033:0035
+usr/share/usb_modeswitch/106c:3b03
+usr/share/usb_modeswitch/106c:3b05
+usr/share/usb_modeswitch/106c:3b06
+usr/share/usb_modeswitch/1076:7f40
+usr/share/usb_modeswitch/1199:0fff
+usr/share/usb_modeswitch/1266:1000
+usr/share/usb_modeswitch/12d1:1001
+usr/share/usb_modeswitch/12d1:1003
+usr/share/usb_modeswitch/12d1:1009
+usr/share/usb_modeswitch/12d1:101e
+usr/share/usb_modeswitch/12d1:1030
+usr/share/usb_modeswitch/12d1:1031
+usr/share/usb_modeswitch/12d1:1414
+usr/share/usb_modeswitch/12d1:1446
+usr/share/usb_modeswitch/12d1:1449
+usr/share/usb_modeswitch/12d1:14ad
+usr/share/usb_modeswitch/12d1:14b5
+usr/share/usb_modeswitch/12d1:14b7
+usr/share/usb_modeswitch/12d1:14c1
+usr/share/usb_modeswitch/12d1:14c4
+usr/share/usb_modeswitch/12d1:14c5
+usr/share/usb_modeswitch/12d1:14d1
+usr/share/usb_modeswitch/12d1:14fe
+usr/share/usb_modeswitch/12d1:1505
+usr/share/usb_modeswitch/12d1:1520
+usr/share/usb_modeswitch/12d1:1521
+usr/share/usb_modeswitch/12d1:1523
+usr/share/usb_modeswitch/12d1:1553
+usr/share/usb_modeswitch/12d1:1557
+usr/share/usb_modeswitch/12d1:1c0b
+usr/share/usb_modeswitch/12d1:1da1
+usr/share/usb_modeswitch/12d1:380b
+usr/share/usb_modeswitch/1307:1169
+usr/share/usb_modeswitch/1410:5010
+usr/share/usb_modeswitch/1410:5020
+usr/share/usb_modeswitch/1410:5030
+usr/share/usb_modeswitch/1410:5031
+usr/share/usb_modeswitch/1410:5041
+usr/share/usb_modeswitch/148e:a000
+usr/share/usb_modeswitch/148f:2578
+usr/share/usb_modeswitch/16d8:6281
+usr/share/usb_modeswitch/16d8:6803
+usr/share/usb_modeswitch/16d8:700a
+usr/share/usb_modeswitch/16d8:700b
+usr/share/usb_modeswitch/16d8:f000
+usr/share/usb_modeswitch/198a:0003
+usr/share/usb_modeswitch/198f:bccd
+usr/share/usb_modeswitch/19d2:0003
+usr/share/usb_modeswitch/19d2:0013
+usr/share/usb_modeswitch/19d2:0026
+usr/share/usb_modeswitch/19d2:0040
+usr/share/usb_modeswitch/19d2:0053
+usr/share/usb_modeswitch/19d2:0083
+usr/share/usb_modeswitch/19d2:0101
+usr/share/usb_modeswitch/19d2:0103
+usr/share/usb_modeswitch/19d2:0110
+usr/share/usb_modeswitch/19d2:0115
+usr/share/usb_modeswitch/19d2:0149
+usr/share/usb_modeswitch/19d2:1001
+usr/share/usb_modeswitch/19d2:1007
+usr/share/usb_modeswitch/19d2:1009
+usr/share/usb_modeswitch/19d2:1013
+usr/share/usb_modeswitch/19d2:1171
+usr/share/usb_modeswitch/19d2:1175
+usr/share/usb_modeswitch/19d2:1179
+usr/share/usb_modeswitch/19d2:1201
+usr/share/usb_modeswitch/19d2:1216
+usr/share/usb_modeswitch/19d2:1224
+usr/share/usb_modeswitch/19d2:2000
+usr/share/usb_modeswitch/19d2:bccd
+usr/share/usb_modeswitch/19d2:ffe6
+usr/share/usb_modeswitch/19d2:fff5
+usr/share/usb_modeswitch/19d2:fff6
+usr/share/usb_modeswitch/1a8d:1000
+usr/share/usb_modeswitch/1ab7:5700
+usr/share/usb_modeswitch/1b7d:0700
+usr/share/usb_modeswitch/1bbb:f000
+usr/share/usb_modeswitch/1c9e:1001
+usr/share/usb_modeswitch/1c9e:6061
+usr/share/usb_modeswitch/1c9e:9200
+usr/share/usb_modeswitch/1c9e:9800
+usr/share/usb_modeswitch/1c9e:9e00
+usr/share/usb_modeswitch/1c9e:f000
+usr/share/usb_modeswitch/1dd6:1000
+usr/share/usb_modeswitch/1e0e:f000
+usr/share/usb_modeswitch/1edf:6003
+usr/share/usb_modeswitch/1ee8:0009
+usr/share/usb_modeswitch/1ee8:0013
+usr/share/usb_modeswitch/1ee8:0040
+usr/share/usb_modeswitch/1f28:0021
+usr/share/usb_modeswitch/1fac:0032
+usr/share/usb_modeswitch/1fac:0130
+usr/share/usb_modeswitch/201e:2009
+usr/share/usb_modeswitch/2020:f00e
+usr/share/usb_modeswitch/230d:0001
+usr/share/usb_modeswitch/230d:0007
+usr/share/usb_modeswitch/8888:6500
index ce199d8511a8260b17b0fa4f8e154be635fc8e5a..bb0d8c84ba55edad13e03c26d8cce26bef54daa0 100644 (file)
@@ -1 +1,2 @@
 srv/web/ipfire/html/proxy.pac
+var/updatecache
diff --git a/config/rootfiles/core/52/filelists/apache2 b/config/rootfiles/core/52/filelists/apache2
new file mode 120000 (symlink)
index 0000000..eef95ef
--- /dev/null
@@ -0,0 +1 @@
+../../../common/apache2
\ No newline at end of file
diff --git a/config/rootfiles/core/52/filelists/ethtool b/config/rootfiles/core/52/filelists/ethtool
new file mode 120000 (symlink)
index 0000000..494a53e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ethtool
\ No newline at end of file
index dca50befa6bc6e79938d0431a2cc958da6999b97..8076e026b165e9b5d8fba65d1a4b9ce0a35e8f81 100644 (file)
@@ -2,3 +2,7 @@ etc/system-release
 var/ipfire/langs/
 etc/rc.d/init.d/console
 usr/local/sbin/setup
+usr/local/bin/setddns.pl
+srv/web/ipfire/cgi-bin/ddns.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
+var/ipfire/graphs.pl
diff --git a/config/rootfiles/core/52/filelists/squid b/config/rootfiles/core/52/filelists/squid
new file mode 120000 (symlink)
index 0000000..2dc8372
--- /dev/null
@@ -0,0 +1 @@
+../../../common/squid
\ No newline at end of file
index 16e8368e64da78e94f3f6cb76926bbb9372d2cd9..412299d60265ae1f326e196cd02e10a80b8419ed 100644 (file)
@@ -34,6 +34,8 @@ done
 
 #
 #Stop services
+/etc/init.d/squid stop
+/etc/init.d/apache stop
 
 #
 #Extract files
@@ -41,6 +43,8 @@ extract_files
 
 #
 #Start services
+/etc/init.d/apache start
+/etc/init.d/squid start
 
 #
 #Update Language cache
diff --git a/config/rootfiles/core/53/exclude b/config/rootfiles/core/53/exclude
new file mode 100644 (file)
index 0000000..ca3adf5
--- /dev/null
@@ -0,0 +1,9 @@
+srv/web/ipfire/html/proxy.pac
+etc/udev/rules.d/30-persistent-network.rules
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+var/updatecache
+etc/localtime
+var/ipfire/ovpn
diff --git a/config/rootfiles/core/53/filelists/compat-wireless b/config/rootfiles/core/53/filelists/compat-wireless
new file mode 100644 (file)
index 0000000..5d899bf
--- /dev/null
@@ -0,0 +1,359 @@
+lib/modules/2.6.32.45-ipfire-xen/kernel/compat/compat.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/compat/compat_firmware_class.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/btusb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/atl1c/atl1c.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/atl1e/atl1e.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/atlx/atl1.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/atlx/atl2.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/b44.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/asix.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/catc.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/dm9601.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/gl620a.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/hso.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/int51x1.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/kaweth.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/net1080.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/pegasus.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/plusb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/usbnet.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/usb/zaurus.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwl-legacy.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/wl1251/wl1251.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/wl12xx/wl12xx.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/ssb/ssb.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/staging/ath6kl/ath6kl.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/staging/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/staging/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/drivers/staging/brcm80211/util/brcmutil.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/bluetooth/bluetooth.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/mac80211/mac80211.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/wireless/cfg80211.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/wireless/lib80211.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/2.6.32.45-ipfire-xen/kernel/net/wireless/lib80211_crypt_wep.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/compat/compat.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/compat/compat_firmware_class.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/btusb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/atl1c/atl1c.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/atl1e/atl1e.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/atlx/atl1.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/atlx/atl2.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/b44.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/asix.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/catc.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/dm9601.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/gl620a.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/hso.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/int51x1.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/kaweth.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/net1080.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/pegasus.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/plusb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/usbnet.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/usb/zaurus.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwl-legacy.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/wl1251/wl1251.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/wl12xx/wl12xx.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/ssb/ssb.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/staging/ath6kl/ath6kl.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/staging/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/staging/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/drivers/staging/brcm80211/util/brcmutil.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/bluetooth/bluetooth.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/mac80211/mac80211.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/wireless/cfg80211.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/wireless/lib80211.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/2.6.32.45-ipfire-pae/kernel/net/wireless/lib80211_crypt_wep.ko
+lib/modules/2.6.32.45-ipfire/kernel/compat/compat.ko
+lib/modules/2.6.32.45-ipfire/kernel/compat/compat_firmware_class.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/btusb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/atl1c/atl1c.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/atl1e/atl1e.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/atlx/atl1.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/atlx/atl2.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/b44.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/asix.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/catc.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/dm9601.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/gl620a.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/hso.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/int51x1.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/kaweth.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/net1080.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/pegasus.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/plusb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/usbnet.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/usb/zaurus.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/iwlegacy/iwl-legacy.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/iwmc3200wifi/iwmc3200wifi.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/wl1251/wl1251.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/wl12xx/wl12xx.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/ssb/ssb.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/staging/ath6kl/ath6kl.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/staging/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/staging/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/2.6.32.45-ipfire/kernel/drivers/staging/brcm80211/util/brcmutil.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/bluetooth/bluetooth.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/mac80211/mac80211.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/wireless/cfg80211.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/wireless/lib80211.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/2.6.32.45-ipfire/kernel/net/wireless/lib80211_crypt_wep.ko
+etc/udev/rules.d/50-compat_firmware.rules
+lib/udev/compat_firmware.sh
diff --git a/config/rootfiles/core/53/filelists/files b/config/rootfiles/core/53/filelists/files
new file mode 100644 (file)
index 0000000..cdd78c2
--- /dev/null
@@ -0,0 +1,27 @@
+etc/rc.d/init.d/network
+etc/rc.d/init.d/static-routes
+etc/sysctl.conf
+etc/system-release
+etc/issue
+etc/iproute2/rt_tables
+etc/rc.d/init.d/networking/red.up/50-ovpn
+etc/rc.d/init.d/networking/red.down/10-ovpn
+srv/web/ipfire/cgi-bin/extrahd.cgi
+srv/web/ipfire/cgi-bin/index.cgi
+srv/web/ipfire/cgi-bin/outgoinggrp.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/pakfire.cgi
+srv/web/ipfire/cgi-bin/routing.cgi
+srv/web/ipfire/cgi-bin/vpnmain.cgi
+var/ipfire/langs/de.pl
+var/ipfire/langs/en.pl
+var/ipfire/langs/es.pl
+var/ipfire/langs/fr.pl
+var/ipfire/langs/pl.pl
+usr/local/bin/ipsecctrl
+usr/local/bin/openvpnctrl
+usr/local/bin/vpn-watch
+usr/local/bin/rebuildroutes
+var/ipfire/main/routing
+var/ipfire/menu.d/30-network.menu
+opt/pakfire/etc/pakfire.conf
diff --git a/config/rootfiles/core/53/filelists/gcc b/config/rootfiles/core/53/filelists/gcc
new file mode 120000 (symlink)
index 0000000..8538cc4
--- /dev/null
@@ -0,0 +1 @@
+../../../common/gcc
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/glibc b/config/rootfiles/core/53/filelists/glibc
new file mode 120000 (symlink)
index 0000000..fbb4a52
--- /dev/null
@@ -0,0 +1 @@
+../../../common/glibc
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/gmp b/config/rootfiles/core/53/filelists/gmp
new file mode 120000 (symlink)
index 0000000..8662a89
--- /dev/null
@@ -0,0 +1 @@
+../../../common/gmp
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/openvpn b/config/rootfiles/core/53/filelists/openvpn
new file mode 120000 (symlink)
index 0000000..493f3f7
--- /dev/null
@@ -0,0 +1 @@
+../../../common/openvpn
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/strongswan b/config/rootfiles/core/53/filelists/strongswan
new file mode 120000 (symlink)
index 0000000..90c727e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/strongswan
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/usb_modeswitch b/config/rootfiles/core/53/filelists/usb_modeswitch
new file mode 120000 (symlink)
index 0000000..acbab6f
--- /dev/null
@@ -0,0 +1 @@
+../../../common/usb_modeswitch
\ No newline at end of file
diff --git a/config/rootfiles/core/53/filelists/usb_modeswitch_data b/config/rootfiles/core/53/filelists/usb_modeswitch_data
new file mode 120000 (symlink)
index 0000000..4cbce46
--- /dev/null
@@ -0,0 +1 @@
+../../../common/usb_modeswitch_data
\ No newline at end of file
diff --git a/config/rootfiles/core/53/meta b/config/rootfiles/core/53/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/core/53/update.sh b/config/rootfiles/core/53/update.sh
new file mode 100644 (file)
index 0000000..10b45b9
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire 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 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire 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 IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2011 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+#
+# Remove old core updates from pakfire cache to save space...
+core=52
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+#
+#Stop services
+
+/etc/init.d/ipsec stop
+
+#
+# Remove old strongswan libs
+rm -rf /usr/lib/libcharon.so
+rm -rf /usr/lib/libcharon.so.0
+rm -rf /usr/lib/libcharon.so.0.0.0
+rm -rf /usr/lib/libhydra.so
+rm -rf /usr/lib/libhydra.so.0
+rm -rf /usr/lib/libhydra.so.0.0.0
+rm -rf /usr/lib/libstrongswan.so
+rm -rf /usr/lib/libstrongswan.so.0
+rm -rf /usr/lib/libstrongswan.so.0.0.0
+rm -rf /usr/libexec/ipsec/plugins
+
+# Remove old usb_modeswitch_data
+rm -rf /etc/usb_modeswitch.d
+
+#
+#Extract files
+extract_files
+
+#
+#Replace now unsupported EU regdomain by a "DE" comment.
+sed -i -e "s|^options cfg80211 ieee80211_regdom=EU|#options cfg80211 ieee80211_regdom=DE|g" \
+               /etc/modprobe.d/cfg80211
+
+#
+#Start services
+
+if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then
+       /etc/init.d/ipsec start
+fi
+
+#
+#Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+#Rebuild module dep's
+depmod 2.6.32.45-ipfire     >/dev/null 2>&1
+depmod 2.6.32.45-ipfire-pae >/dev/null 2>&1
+depmod 2.6.32.45-ipfire-xen >/dev/null 2>&1
+
+#
+# After pakfire has ended run it again and update the lists and do upgrade
+#
+echo '#!/bin/bash'                                        >  /tmp/pak_update
+echo 'while [ "$(ps -A | grep " update.sh")" != "" ]; do' >> /tmp/pak_update
+echo '    sleep 1'                                        >> /tmp/pak_update
+echo 'done'                                               >> /tmp/pak_update
+echo 'while [ "$(ps -A | grep " pakfire")" != "" ]; do'   >> /tmp/pak_update
+echo '    sleep 1'                                        >> /tmp/pak_update
+echo 'done'                                               >> /tmp/pak_update
+echo '/opt/pakfire/pakfire update -y --force'             >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo 'sync && sync && sync'                               >> /tmp/pak_update
+echo '/usr/bin/logger -p syslog.emerg -t core-upgrade-53 " *** Please reboot... *** "' >> /tmp/pak_update
+echo 'touch /var/run/need_reboot ' >> /tmp/pak_update
+
+#
+chmod +x /tmp/pak_update
+/tmp/pak_update &
+echo
+echo Please wait until pakfire has ended...
+echo
+
+#
+#Finish
+/etc/init.d/fireinfo start
+sendprofile
+#Don't report the exitcode last command
+exit 0
index 201c2db4a0abcf204efcfdbcf15b3f61f03035b3..58a47da0d3e33b4b49ff5d72a70c3d106f844429 100644 (file)
@@ -143,6 +143,11 @@ perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
 #
 rm -rf /etc/sysconfig/lm_sensors
 
+# Ensure that all data was written...
+sync
+sync
+sync
+
 # Reboot message to console
 /usr/bin/logger -p syslog.emerg -t core-upgrade-51 "Upgrade finished. If you use a customized grub.cfg"
 /usr/bin/logger -p syslog.emerg -t core-upgrade-51 "Check it before reboot !!!"
@@ -155,5 +160,12 @@ touch /var/run/need_reboot
 #Finish
 /etc/init.d/fireinfo start
 sendprofile
+
+# Ensure that all data was written...
+sync
+sync
+sync
+
+#
 #Don't report the exitcode last command
 exit 0
diff --git a/config/rootfiles/packages/java b/config/rootfiles/packages/java
deleted file mode 100644 (file)
index 2d44207..0000000
+++ /dev/null
@@ -1,822 +0,0 @@
-usr/bin/java
-#usr/java
-#usr/java/bin
-usr/java/bin/ControlPanel
-usr/java/bin/java
-usr/java/bin/java_vm
-usr/java/bin/javaws
-#usr/java/bin/jcontrol
-usr/java/bin/keytool
-usr/java/bin/orbd
-usr/java/bin/pack200
-usr/java/bin/policytool
-usr/java/bin/rmid
-usr/java/bin/rmiregistry
-usr/java/bin/servertool
-usr/java/bin/tnameserv
-usr/java/bin/unpack200
-#usr/java/javaws
-usr/java/javaws/javaws
-#usr/java/lib
-usr/java/lib/applet
-usr/java/lib/audio
-usr/java/lib/audio/soundbank.gm
-usr/java/lib/calendars.properties
-usr/java/lib/charsets.jar
-usr/java/lib/classlist
-usr/java/lib/cmm
-usr/java/lib/cmm/CIEXYZ.pf
-usr/java/lib/cmm/GRAY.pf
-usr/java/lib/cmm/LINEAR_RGB.pf
-usr/java/lib/cmm/PYCC.pf
-usr/java/lib/cmm/sRGB.pf
-usr/java/lib/content-types.properties
-usr/java/lib/deploy
-usr/java/lib/deploy.jar
-usr/java/lib/deploy/ffjcext.zip
-usr/java/lib/deploy/java-icon.ico
-usr/java/lib/deploy/messages.properties
-usr/java/lib/deploy/messages_de.properties
-usr/java/lib/deploy/messages_es.properties
-usr/java/lib/deploy/messages_fr.properties
-usr/java/lib/deploy/messages_it.properties
-usr/java/lib/deploy/messages_ja.properties
-usr/java/lib/deploy/messages_ko.properties
-usr/java/lib/deploy/messages_sv.properties
-usr/java/lib/deploy/messages_zh_CN.properties
-usr/java/lib/deploy/messages_zh_HK.properties
-usr/java/lib/deploy/messages_zh_TW.properties
-usr/java/lib/deploy/splash.gif
-usr/java/lib/desktop
-usr/java/lib/desktop/applications
-usr/java/lib/desktop/applications/sun-java.desktop
-usr/java/lib/desktop/applications/sun-javaws.desktop
-usr/java/lib/desktop/applications/sun_java.desktop
-usr/java/lib/desktop/icons
-usr/java/lib/desktop/icons/HighContrast
-usr/java/lib/desktop/icons/HighContrast/16x16
-usr/java/lib/desktop/icons/HighContrast/16x16/apps
-usr/java/lib/desktop/icons/HighContrast/16x16/apps/sun-java.png
-usr/java/lib/desktop/icons/HighContrast/16x16/apps/sun-javaws.png
-usr/java/lib/desktop/icons/HighContrast/16x16/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/HighContrast/16x16/mimetypes
-usr/java/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/HighContrast/48x48
-usr/java/lib/desktop/icons/HighContrast/48x48/apps
-usr/java/lib/desktop/icons/HighContrast/48x48/apps/sun-java.png
-usr/java/lib/desktop/icons/HighContrast/48x48/apps/sun-javaws.png
-usr/java/lib/desktop/icons/HighContrast/48x48/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/HighContrast/48x48/mimetypes
-usr/java/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/HighContrastInverse
-usr/java/lib/desktop/icons/HighContrastInverse/16x16
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/apps
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-java.png
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-javaws.png
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/mimetypes
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/apps
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-java.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-javaws.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/mimetypes
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/LowContrast
-usr/java/lib/desktop/icons/LowContrast/16x16
-usr/java/lib/desktop/icons/LowContrast/16x16/apps
-usr/java/lib/desktop/icons/LowContrast/16x16/apps/sun-java.png
-usr/java/lib/desktop/icons/LowContrast/16x16/apps/sun-javaws.png
-usr/java/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/LowContrast/16x16/mimetypes
-usr/java/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/LowContrast/48x48
-usr/java/lib/desktop/icons/LowContrast/48x48/apps
-usr/java/lib/desktop/icons/LowContrast/48x48/apps/sun-java.png
-usr/java/lib/desktop/icons/LowContrast/48x48/apps/sun-javaws.png
-usr/java/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/LowContrast/48x48/mimetypes
-usr/java/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/hicolor
-usr/java/lib/desktop/icons/hicolor/16x16
-usr/java/lib/desktop/icons/hicolor/16x16/apps
-usr/java/lib/desktop/icons/hicolor/16x16/apps/sun-java.png
-usr/java/lib/desktop/icons/hicolor/16x16/apps/sun-javaws.png
-usr/java/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/hicolor/16x16/mimetypes
-usr/java/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/icons/hicolor/48x48
-usr/java/lib/desktop/icons/hicolor/48x48/apps
-usr/java/lib/desktop/icons/hicolor/48x48/apps/sun-java.png
-usr/java/lib/desktop/icons/hicolor/48x48/apps/sun-javaws.png
-usr/java/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png
-usr/java/lib/desktop/icons/hicolor/48x48/mimetypes
-usr/java/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-java-archive.png
-usr/java/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
-usr/java/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-text-x-java.png
-usr/java/lib/desktop/mime
-usr/java/lib/desktop/mime/packages
-usr/java/lib/desktop/mime/packages/x-java-archive.xml
-usr/java/lib/desktop/mime/packages/x-java-jnlp-file.xml
-usr/java/lib/ext
-usr/java/lib/ext/dnsns.jar
-usr/java/lib/ext/localedata.jar
-usr/java/lib/ext/meta-index
-usr/java/lib/ext/sunjce_provider.jar
-usr/java/lib/ext/sunpkcs11.jar
-usr/java/lib/flavormap.properties
-#usr/java/lib/fontconfig.RedHat.2.1.bfc
-#usr/java/lib/fontconfig.RedHat.2.1.properties.src
-#usr/java/lib/fontconfig.RedHat.3.bfc
-#usr/java/lib/fontconfig.RedHat.3.properties.src
-#usr/java/lib/fontconfig.RedHat.4.bfc
-#usr/java/lib/fontconfig.RedHat.4.properties.src
-#usr/java/lib/fontconfig.RedHat.bfc
-#usr/java/lib/fontconfig.RedHat.properties.src
-#usr/java/lib/fontconfig.SuSE.bfc
-#usr/java/lib/fontconfig.SuSE.properties.src
-#usr/java/lib/fontconfig.Sun.bfc
-#usr/java/lib/fontconfig.Sun.properties.src
-#usr/java/lib/fontconfig.Turbo.bfc
-#usr/java/lib/fontconfig.Turbo.properties.src
-#usr/java/lib/fontconfig.bfc
-#usr/java/lib/fontconfig.properties.src
-#usr/java/lib/fonts
-#usr/java/lib/fonts/LucidaBrightDemiBold.ttf
-#usr/java/lib/fonts/LucidaBrightDemiItalic.ttf
-#usr/java/lib/fonts/LucidaBrightItalic.ttf
-#usr/java/lib/fonts/LucidaBrightRegular.ttf
-#usr/java/lib/fonts/LucidaSansDemiBold.ttf
-#usr/java/lib/fonts/LucidaSansRegular.ttf
-#usr/java/lib/fonts/LucidaTypewriterBold.ttf
-#usr/java/lib/fonts/LucidaTypewriterRegular.ttf
-#usr/java/lib/fonts/fonts.dir
-#usr/java/lib/i386
-#usr/java/lib/i386/client
-usr/java/lib/i386/client/Xusage.txt
-usr/java/lib/i386/client/classes.jsa
-usr/java/lib/i386/client/libjsig.so
-usr/java/lib/i386/client/libjvm.so
-#usr/java/lib/i386/headless
-usr/java/lib/i386/headless/libmawt.so
-usr/java/lib/i386/jli
-usr/java/lib/i386/jli/libjli.so
-usr/java/lib/i386/jvm.cfg
-usr/java/lib/i386/libJdbcOdbc.so
-usr/java/lib/i386/libawt.so
-usr/java/lib/i386/libcmm.so
-usr/java/lib/i386/libdcpr.so
-usr/java/lib/i386/libdeploy.so
-usr/java/lib/i386/libdt_socket.so
-usr/java/lib/i386/libfontmanager.so
-usr/java/lib/i386/libhprof.so
-usr/java/lib/i386/libinstrument.so
-usr/java/lib/i386/libioser12.so
-usr/java/lib/i386/libj2gss.so
-usr/java/lib/i386/libj2pcsc.so
-usr/java/lib/i386/libj2pkcs11.so
-usr/java/lib/i386/libjaas_unix.so
-usr/java/lib/i386/libjava.so
-usr/java/lib/i386/libjava_crw_demo.so
-usr/java/lib/i386/libjavaplugin_jni.so
-usr/java/lib/i386/libjavaplugin_nscp.so
-usr/java/lib/i386/libjavaplugin_nscp_gcc29.so
-usr/java/lib/i386/libjawt.so
-usr/java/lib/i386/libjdwp.so
-usr/java/lib/i386/libjpeg.so
-usr/java/lib/i386/libjsig.so
-usr/java/lib/i386/libjsound.so
-usr/java/lib/i386/libjsoundalsa.so
-usr/java/lib/i386/libmanagement.so
-usr/java/lib/i386/libmlib_image.so
-usr/java/lib/i386/libnative_chmod.so
-usr/java/lib/i386/libnative_chmod_g.so
-usr/java/lib/i386/libnet.so
-usr/java/lib/i386/libnio.so
-usr/java/lib/i386/libnpjp2.so
-usr/java/lib/i386/libnpt.so
-usr/java/lib/i386/librmi.so
-usr/java/lib/i386/libsplashscreen.so
-usr/java/lib/i386/libunpack.so
-usr/java/lib/i386/libverify.so
-usr/java/lib/i386/libzip.so
-#usr/java/lib/i386/motif21
-#usr/java/lib/i386/motif21/libmawt.so
-usr/java/lib/i386/native_threads
-usr/java/lib/i386/native_threads/libhpi.so
-#usr/java/lib/i386/server
-usr/java/lib/i386/server/Xusage.txt
-usr/java/lib/i386/server/libjsig.so
-usr/java/lib/i386/server/libjvm.so
-#usr/java/lib/i386/xawt
-#usr/java/lib/i386/xawt/libmawt.so
-usr/java/lib/im
-usr/java/lib/im/indicim.jar
-usr/java/lib/im/thaiim.jar
-#usr/java/lib/images
-#usr/java/lib/images/cursors
-#usr/java/lib/images/cursors/cursors.properties
-#usr/java/lib/images/cursors/invalid32x32.gif
-#usr/java/lib/images/cursors/motif_CopyDrop32x32.gif
-#usr/java/lib/images/cursors/motif_CopyNoDrop32x32.gif
-#usr/java/lib/images/cursors/motif_LinkDrop32x32.gif
-#usr/java/lib/images/cursors/motif_LinkNoDrop32x32.gif
-#usr/java/lib/images/cursors/motif_MoveDrop32x32.gif
-#usr/java/lib/images/cursors/motif_MoveNoDrop32x32.gif
-#usr/java/lib/images/icons
-#usr/java/lib/images/icons/sun-java.png
-#usr/java/lib/images/icons/sun-java_HighContrast.png
-#usr/java/lib/images/icons/sun-java_HighContrastInverse.png
-#usr/java/lib/images/icons/sun-java_LowContrast.png
-usr/java/lib/javaws.jar
-usr/java/lib/jce.jar
-usr/java/lib/jexec
-usr/java/lib/jsse.jar
-usr/java/lib/jvm.hprof.txt
-#usr/java/lib/locale
-#usr/java/lib/locale/de
-#usr/java/lib/locale/de/LC_MESSAGES
-#usr/java/lib/locale/de/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/es
-#usr/java/lib/locale/es/LC_MESSAGES
-#usr/java/lib/locale/es/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/fr
-#usr/java/lib/locale/fr/LC_MESSAGES
-#usr/java/lib/locale/fr/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/it
-#usr/java/lib/locale/it/LC_MESSAGES
-#usr/java/lib/locale/it/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/ja
-#usr/java/lib/locale/ja/LC_MESSAGES
-#usr/java/lib/locale/ja/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/ko
-#usr/java/lib/locale/ko.UTF-8
-#usr/java/lib/locale/ko.UTF-8/LC_MESSAGES
-#usr/java/lib/locale/ko.UTF-8/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/ko/LC_MESSAGES
-#usr/java/lib/locale/ko/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/sv
-#usr/java/lib/locale/sv/LC_MESSAGES
-#usr/java/lib/locale/sv/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/zh
-#usr/java/lib/locale/zh.GBK
-#usr/java/lib/locale/zh.GBK/LC_MESSAGES
-#usr/java/lib/locale/zh.GBK/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/zh/LC_MESSAGES
-#usr/java/lib/locale/zh/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/zh_HK.BIG5HK
-#usr/java/lib/locale/zh_HK.BIG5HK/LC_MESSAGES
-#usr/java/lib/locale/zh_HK.BIG5HK/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/zh_TW
-#usr/java/lib/locale/zh_TW.BIG5
-#usr/java/lib/locale/zh_TW.BIG5/LC_MESSAGES
-#usr/java/lib/locale/zh_TW.BIG5/LC_MESSAGES/sunw_java_plugin.mo
-#usr/java/lib/locale/zh_TW/LC_MESSAGES
-#usr/java/lib/locale/zh_TW/LC_MESSAGES/sunw_java_plugin.mo
-usr/java/lib/logging.properties
-usr/java/lib/management
-usr/java/lib/management-agent.jar
-#usr/java/lib/management/jmxremote.access
-#usr/java/lib/management/jmxremote.password.template
-#usr/java/lib/management/management.properties
-#usr/java/lib/management/snmp.acl.template
-usr/java/lib/meta-index
-usr/java/lib/net.properties
-#usr/java/lib/oblique-fonts
-#usr/java/lib/oblique-fonts/LucidaSansDemiOblique.ttf
-#usr/java/lib/oblique-fonts/LucidaSansOblique.ttf
-#usr/java/lib/oblique-fonts/LucidaTypewriterBoldOblique.ttf
-#usr/java/lib/oblique-fonts/LucidaTypewriterOblique.ttf
-#usr/java/lib/oblique-fonts/fonts.dir
-usr/java/lib/plugin.jar
-#usr/java/lib/psfont.properties.ja
-#usr/java/lib/psfontj2d.properties
-usr/java/lib/resources.jar
-usr/java/lib/rt.jar
-usr/java/lib/security
-usr/java/lib/security/US_export_policy.jar
-usr/java/lib/security/cacerts
-usr/java/lib/security/java.policy
-usr/java/lib/security/java.security
-usr/java/lib/security/javaws.policy
-usr/java/lib/security/local_policy.jar
-usr/java/lib/servicetag
-usr/java/lib/servicetag/jdk_header.png
-usr/java/lib/servicetag/registration.xml
-#usr/java/lib/sound.properties
-#usr/java/lib/zi
-#usr/java/lib/zi/Africa
-#usr/java/lib/zi/Africa/Abidjan
-#usr/java/lib/zi/Africa/Accra
-#usr/java/lib/zi/Africa/Addis_Ababa
-#usr/java/lib/zi/Africa/Algiers
-#usr/java/lib/zi/Africa/Asmara
-#usr/java/lib/zi/Africa/Bamako
-#usr/java/lib/zi/Africa/Bangui
-#usr/java/lib/zi/Africa/Banjul
-#usr/java/lib/zi/Africa/Bissau
-#usr/java/lib/zi/Africa/Blantyre
-#usr/java/lib/zi/Africa/Brazzaville
-#usr/java/lib/zi/Africa/Bujumbura
-#usr/java/lib/zi/Africa/Cairo
-#usr/java/lib/zi/Africa/Casablanca
-#usr/java/lib/zi/Africa/Ceuta
-#usr/java/lib/zi/Africa/Conakry
-#usr/java/lib/zi/Africa/Dakar
-#usr/java/lib/zi/Africa/Dar_es_Salaam
-#usr/java/lib/zi/Africa/Djibouti
-#usr/java/lib/zi/Africa/Douala
-#usr/java/lib/zi/Africa/El_Aaiun
-#usr/java/lib/zi/Africa/Freetown
-#usr/java/lib/zi/Africa/Gaborone
-#usr/java/lib/zi/Africa/Harare
-#usr/java/lib/zi/Africa/Johannesburg
-#usr/java/lib/zi/Africa/Kampala
-#usr/java/lib/zi/Africa/Khartoum
-#usr/java/lib/zi/Africa/Kigali
-#usr/java/lib/zi/Africa/Kinshasa
-#usr/java/lib/zi/Africa/Lagos
-#usr/java/lib/zi/Africa/Libreville
-#usr/java/lib/zi/Africa/Lome
-#usr/java/lib/zi/Africa/Luanda
-#usr/java/lib/zi/Africa/Lubumbashi
-#usr/java/lib/zi/Africa/Lusaka
-#usr/java/lib/zi/Africa/Malabo
-#usr/java/lib/zi/Africa/Maputo
-#usr/java/lib/zi/Africa/Maseru
-#usr/java/lib/zi/Africa/Mbabane
-#usr/java/lib/zi/Africa/Mogadishu
-#usr/java/lib/zi/Africa/Monrovia
-#usr/java/lib/zi/Africa/Nairobi
-#usr/java/lib/zi/Africa/Ndjamena
-#usr/java/lib/zi/Africa/Niamey
-#usr/java/lib/zi/Africa/Nouakchott
-#usr/java/lib/zi/Africa/Ouagadougou
-#usr/java/lib/zi/Africa/Porto-Novo
-#usr/java/lib/zi/Africa/Sao_Tome
-#usr/java/lib/zi/Africa/Tripoli
-#usr/java/lib/zi/Africa/Tunis
-#usr/java/lib/zi/Africa/Windhoek
-#usr/java/lib/zi/America
-#usr/java/lib/zi/America/Adak
-#usr/java/lib/zi/America/Anchorage
-#usr/java/lib/zi/America/Anguilla
-#usr/java/lib/zi/America/Antigua
-#usr/java/lib/zi/America/Araguaina
-#usr/java/lib/zi/America/Argentina
-#usr/java/lib/zi/America/Argentina/Buenos_Aires
-#usr/java/lib/zi/America/Argentina/Catamarca
-#usr/java/lib/zi/America/Argentina/Cordoba
-#usr/java/lib/zi/America/Argentina/Jujuy
-#usr/java/lib/zi/America/Argentina/La_Rioja
-#usr/java/lib/zi/America/Argentina/Mendoza
-#usr/java/lib/zi/America/Argentina/Rio_Gallegos
-#usr/java/lib/zi/America/Argentina/Salta
-#usr/java/lib/zi/America/Argentina/San_Juan
-#usr/java/lib/zi/America/Argentina/San_Luis
-#usr/java/lib/zi/America/Argentina/Tucuman
-#usr/java/lib/zi/America/Argentina/Ushuaia
-#usr/java/lib/zi/America/Aruba
-#usr/java/lib/zi/America/Asuncion
-#usr/java/lib/zi/America/Atikokan
-#usr/java/lib/zi/America/Bahia
-#usr/java/lib/zi/America/Barbados
-#usr/java/lib/zi/America/Belem
-#usr/java/lib/zi/America/Belize
-#usr/java/lib/zi/America/Blanc-Sablon
-#usr/java/lib/zi/America/Boa_Vista
-#usr/java/lib/zi/America/Bogota
-#usr/java/lib/zi/America/Boise
-#usr/java/lib/zi/America/Cambridge_Bay
-#usr/java/lib/zi/America/Campo_Grande
-#usr/java/lib/zi/America/Cancun
-#usr/java/lib/zi/America/Caracas
-#usr/java/lib/zi/America/Cayenne
-#usr/java/lib/zi/America/Cayman
-#usr/java/lib/zi/America/Chicago
-#usr/java/lib/zi/America/Chihuahua
-#usr/java/lib/zi/America/Costa_Rica
-#usr/java/lib/zi/America/Cuiaba
-#usr/java/lib/zi/America/Curacao
-#usr/java/lib/zi/America/Danmarkshavn
-#usr/java/lib/zi/America/Dawson
-#usr/java/lib/zi/America/Dawson_Creek
-#usr/java/lib/zi/America/Denver
-#usr/java/lib/zi/America/Detroit
-#usr/java/lib/zi/America/Dominica
-#usr/java/lib/zi/America/Edmonton
-#usr/java/lib/zi/America/Eirunepe
-#usr/java/lib/zi/America/El_Salvador
-#usr/java/lib/zi/America/Fortaleza
-#usr/java/lib/zi/America/Glace_Bay
-#usr/java/lib/zi/America/Godthab
-#usr/java/lib/zi/America/Goose_Bay
-#usr/java/lib/zi/America/Grand_Turk
-#usr/java/lib/zi/America/Grenada
-#usr/java/lib/zi/America/Guadeloupe
-#usr/java/lib/zi/America/Guatemala
-#usr/java/lib/zi/America/Guayaquil
-#usr/java/lib/zi/America/Guyana
-#usr/java/lib/zi/America/Halifax
-#usr/java/lib/zi/America/Havana
-#usr/java/lib/zi/America/Hermosillo
-#usr/java/lib/zi/America/Indiana
-#usr/java/lib/zi/America/Indiana/Indianapolis
-#usr/java/lib/zi/America/Indiana/Knox
-#usr/java/lib/zi/America/Indiana/Marengo
-#usr/java/lib/zi/America/Indiana/Petersburg
-#usr/java/lib/zi/America/Indiana/Tell_City
-#usr/java/lib/zi/America/Indiana/Vevay
-#usr/java/lib/zi/America/Indiana/Vincennes
-#usr/java/lib/zi/America/Indiana/Winamac
-#usr/java/lib/zi/America/Inuvik
-#usr/java/lib/zi/America/Iqaluit
-#usr/java/lib/zi/America/Jamaica
-#usr/java/lib/zi/America/Juneau
-#usr/java/lib/zi/America/Kentucky
-#usr/java/lib/zi/America/Kentucky/Louisville
-#usr/java/lib/zi/America/Kentucky/Monticello
-#usr/java/lib/zi/America/La_Paz
-#usr/java/lib/zi/America/Lima
-#usr/java/lib/zi/America/Los_Angeles
-#usr/java/lib/zi/America/Maceio
-#usr/java/lib/zi/America/Managua
-#usr/java/lib/zi/America/Manaus
-#usr/java/lib/zi/America/Martinique
-#usr/java/lib/zi/America/Mazatlan
-#usr/java/lib/zi/America/Menominee
-#usr/java/lib/zi/America/Merida
-#usr/java/lib/zi/America/Mexico_City
-#usr/java/lib/zi/America/Miquelon
-#usr/java/lib/zi/America/Moncton
-#usr/java/lib/zi/America/Monterrey
-#usr/java/lib/zi/America/Montevideo
-#usr/java/lib/zi/America/Montreal
-#usr/java/lib/zi/America/Montserrat
-#usr/java/lib/zi/America/Nassau
-#usr/java/lib/zi/America/New_York
-#usr/java/lib/zi/America/Nipigon
-#usr/java/lib/zi/America/Nome
-#usr/java/lib/zi/America/Noronha
-#usr/java/lib/zi/America/North_Dakota
-#usr/java/lib/zi/America/North_Dakota/Center
-#usr/java/lib/zi/America/North_Dakota/New_Salem
-#usr/java/lib/zi/America/Panama
-#usr/java/lib/zi/America/Pangnirtung
-#usr/java/lib/zi/America/Paramaribo
-#usr/java/lib/zi/America/Phoenix
-#usr/java/lib/zi/America/Port-au-Prince
-#usr/java/lib/zi/America/Port_of_Spain
-#usr/java/lib/zi/America/Porto_Velho
-#usr/java/lib/zi/America/Puerto_Rico
-#usr/java/lib/zi/America/Rainy_River
-#usr/java/lib/zi/America/Rankin_Inlet
-#usr/java/lib/zi/America/Recife
-#usr/java/lib/zi/America/Regina
-#usr/java/lib/zi/America/Resolute
-#usr/java/lib/zi/America/Rio_Branco
-#usr/java/lib/zi/America/Santarem
-#usr/java/lib/zi/America/Santiago
-#usr/java/lib/zi/America/Santo_Domingo
-#usr/java/lib/zi/America/Sao_Paulo
-#usr/java/lib/zi/America/Scoresbysund
-#usr/java/lib/zi/America/St_Johns
-#usr/java/lib/zi/America/St_Kitts
-#usr/java/lib/zi/America/St_Lucia
-#usr/java/lib/zi/America/St_Thomas
-#usr/java/lib/zi/America/St_Vincent
-#usr/java/lib/zi/America/Swift_Current
-#usr/java/lib/zi/America/Tegucigalpa
-#usr/java/lib/zi/America/Thule
-#usr/java/lib/zi/America/Thunder_Bay
-#usr/java/lib/zi/America/Tijuana
-#usr/java/lib/zi/America/Toronto
-#usr/java/lib/zi/America/Tortola
-#usr/java/lib/zi/America/Vancouver
-#usr/java/lib/zi/America/Whitehorse
-#usr/java/lib/zi/America/Winnipeg
-#usr/java/lib/zi/America/Yakutat
-#usr/java/lib/zi/America/Yellowknife
-#usr/java/lib/zi/Antarctica
-#usr/java/lib/zi/Antarctica/Casey
-#usr/java/lib/zi/Antarctica/Davis
-#usr/java/lib/zi/Antarctica/DumontDUrville
-#usr/java/lib/zi/Antarctica/Mawson
-#usr/java/lib/zi/Antarctica/McMurdo
-#usr/java/lib/zi/Antarctica/Palmer
-#usr/java/lib/zi/Antarctica/Rothera
-#usr/java/lib/zi/Antarctica/Syowa
-#usr/java/lib/zi/Antarctica/Vostok
-#usr/java/lib/zi/Asia
-#usr/java/lib/zi/Asia/Aden
-#usr/java/lib/zi/Asia/Almaty
-#usr/java/lib/zi/Asia/Amman
-#usr/java/lib/zi/Asia/Anadyr
-#usr/java/lib/zi/Asia/Aqtau
-#usr/java/lib/zi/Asia/Aqtobe
-#usr/java/lib/zi/Asia/Ashgabat
-#usr/java/lib/zi/Asia/Baghdad
-#usr/java/lib/zi/Asia/Bahrain
-#usr/java/lib/zi/Asia/Baku
-#usr/java/lib/zi/Asia/Bangkok
-#usr/java/lib/zi/Asia/Beirut
-#usr/java/lib/zi/Asia/Bishkek
-#usr/java/lib/zi/Asia/Brunei
-#usr/java/lib/zi/Asia/Choibalsan
-#usr/java/lib/zi/Asia/Chongqing
-#usr/java/lib/zi/Asia/Colombo
-#usr/java/lib/zi/Asia/Damascus
-#usr/java/lib/zi/Asia/Dhaka
-#usr/java/lib/zi/Asia/Dili
-#usr/java/lib/zi/Asia/Dubai
-#usr/java/lib/zi/Asia/Dushanbe
-#usr/java/lib/zi/Asia/Gaza
-#usr/java/lib/zi/Asia/Harbin
-#usr/java/lib/zi/Asia/Ho_Chi_Minh
-#usr/java/lib/zi/Asia/Hong_Kong
-#usr/java/lib/zi/Asia/Hovd
-#usr/java/lib/zi/Asia/Irkutsk
-#usr/java/lib/zi/Asia/Jakarta
-#usr/java/lib/zi/Asia/Jayapura
-#usr/java/lib/zi/Asia/Jerusalem
-#usr/java/lib/zi/Asia/Kabul
-#usr/java/lib/zi/Asia/Kamchatka
-#usr/java/lib/zi/Asia/Karachi
-#usr/java/lib/zi/Asia/Kashgar
-#usr/java/lib/zi/Asia/Katmandu
-#usr/java/lib/zi/Asia/Kolkata
-#usr/java/lib/zi/Asia/Krasnoyarsk
-#usr/java/lib/zi/Asia/Kuala_Lumpur
-#usr/java/lib/zi/Asia/Kuching
-#usr/java/lib/zi/Asia/Kuwait
-#usr/java/lib/zi/Asia/Macau
-#usr/java/lib/zi/Asia/Magadan
-#usr/java/lib/zi/Asia/Makassar
-#usr/java/lib/zi/Asia/Manila
-#usr/java/lib/zi/Asia/Muscat
-#usr/java/lib/zi/Asia/Nicosia
-#usr/java/lib/zi/Asia/Novosibirsk
-#usr/java/lib/zi/Asia/Omsk
-#usr/java/lib/zi/Asia/Oral
-#usr/java/lib/zi/Asia/Phnom_Penh
-#usr/java/lib/zi/Asia/Pontianak
-#usr/java/lib/zi/Asia/Pyongyang
-#usr/java/lib/zi/Asia/Qatar
-#usr/java/lib/zi/Asia/Qyzylorda
-#usr/java/lib/zi/Asia/Rangoon
-#usr/java/lib/zi/Asia/Riyadh
-#usr/java/lib/zi/Asia/Riyadh87
-#usr/java/lib/zi/Asia/Riyadh88
-#usr/java/lib/zi/Asia/Riyadh89
-#usr/java/lib/zi/Asia/Sakhalin
-#usr/java/lib/zi/Asia/Samarkand
-#usr/java/lib/zi/Asia/Seoul
-#usr/java/lib/zi/Asia/Shanghai
-#usr/java/lib/zi/Asia/Singapore
-#usr/java/lib/zi/Asia/Taipei
-#usr/java/lib/zi/Asia/Tashkent
-#usr/java/lib/zi/Asia/Tbilisi
-#usr/java/lib/zi/Asia/Tehran
-#usr/java/lib/zi/Asia/Thimphu
-#usr/java/lib/zi/Asia/Tokyo
-#usr/java/lib/zi/Asia/Ulaanbaatar
-#usr/java/lib/zi/Asia/Urumqi
-#usr/java/lib/zi/Asia/Vientiane
-#usr/java/lib/zi/Asia/Vladivostok
-#usr/java/lib/zi/Asia/Yakutsk
-#usr/java/lib/zi/Asia/Yekaterinburg
-#usr/java/lib/zi/Asia/Yerevan
-#usr/java/lib/zi/Atlantic
-#usr/java/lib/zi/Atlantic/Azores
-#usr/java/lib/zi/Atlantic/Bermuda
-#usr/java/lib/zi/Atlantic/Canary
-#usr/java/lib/zi/Atlantic/Cape_Verde
-#usr/java/lib/zi/Atlantic/Faroe
-#usr/java/lib/zi/Atlantic/Madeira
-#usr/java/lib/zi/Atlantic/Reykjavik
-#usr/java/lib/zi/Atlantic/South_Georgia
-#usr/java/lib/zi/Atlantic/St_Helena
-#usr/java/lib/zi/Atlantic/Stanley
-#usr/java/lib/zi/Australia
-#usr/java/lib/zi/Australia/Adelaide
-#usr/java/lib/zi/Australia/Brisbane
-#usr/java/lib/zi/Australia/Broken_Hill
-#usr/java/lib/zi/Australia/Currie
-#usr/java/lib/zi/Australia/Darwin
-#usr/java/lib/zi/Australia/Eucla
-#usr/java/lib/zi/Australia/Hobart
-#usr/java/lib/zi/Australia/Lindeman
-#usr/java/lib/zi/Australia/Lord_Howe
-#usr/java/lib/zi/Australia/Melbourne
-#usr/java/lib/zi/Australia/Perth
-#usr/java/lib/zi/Australia/Sydney
-#usr/java/lib/zi/CET
-#usr/java/lib/zi/CST6CDT
-#usr/java/lib/zi/EET
-#usr/java/lib/zi/EST
-#usr/java/lib/zi/EST5EDT
-#usr/java/lib/zi/Etc
-#usr/java/lib/zi/Etc/GMT
-#usr/java/lib/zi/Etc/GMT+1
-#usr/java/lib/zi/Etc/GMT+10
-#usr/java/lib/zi/Etc/GMT+11
-#usr/java/lib/zi/Etc/GMT+12
-#usr/java/lib/zi/Etc/GMT+2
-#usr/java/lib/zi/Etc/GMT+3
-#usr/java/lib/zi/Etc/GMT+4
-#usr/java/lib/zi/Etc/GMT+5
-#usr/java/lib/zi/Etc/GMT+6
-#usr/java/lib/zi/Etc/GMT+7
-#usr/java/lib/zi/Etc/GMT+8
-#usr/java/lib/zi/Etc/GMT+9
-#usr/java/lib/zi/Etc/GMT-1
-#usr/java/lib/zi/Etc/GMT-10
-#usr/java/lib/zi/Etc/GMT-11
-#usr/java/lib/zi/Etc/GMT-12
-#usr/java/lib/zi/Etc/GMT-13
-#usr/java/lib/zi/Etc/GMT-14
-#usr/java/lib/zi/Etc/GMT-2
-#usr/java/lib/zi/Etc/GMT-3
-#usr/java/lib/zi/Etc/GMT-4
-#usr/java/lib/zi/Etc/GMT-5
-#usr/java/lib/zi/Etc/GMT-6
-#usr/java/lib/zi/Etc/GMT-7
-#usr/java/lib/zi/Etc/GMT-8
-#usr/java/lib/zi/Etc/GMT-9
-#usr/java/lib/zi/Etc/UCT
-#usr/java/lib/zi/Etc/UTC
-#usr/java/lib/zi/Europe
-#usr/java/lib/zi/Europe/Amsterdam
-#usr/java/lib/zi/Europe/Andorra
-#usr/java/lib/zi/Europe/Athens
-#usr/java/lib/zi/Europe/Belgrade
-#usr/java/lib/zi/Europe/Berlin
-#usr/java/lib/zi/Europe/Brussels
-#usr/java/lib/zi/Europe/Bucharest
-#usr/java/lib/zi/Europe/Budapest
-#usr/java/lib/zi/Europe/Chisinau
-#usr/java/lib/zi/Europe/Copenhagen
-#usr/java/lib/zi/Europe/Dublin
-#usr/java/lib/zi/Europe/Gibraltar
-#usr/java/lib/zi/Europe/Helsinki
-#usr/java/lib/zi/Europe/Istanbul
-#usr/java/lib/zi/Europe/Kaliningrad
-#usr/java/lib/zi/Europe/Kiev
-#usr/java/lib/zi/Europe/Lisbon
-#usr/java/lib/zi/Europe/London
-#usr/java/lib/zi/Europe/Luxembourg
-#usr/java/lib/zi/Europe/Madrid
-#usr/java/lib/zi/Europe/Malta
-#usr/java/lib/zi/Europe/Minsk
-#usr/java/lib/zi/Europe/Monaco
-#usr/java/lib/zi/Europe/Moscow
-#usr/java/lib/zi/Europe/Oslo
-#usr/java/lib/zi/Europe/Paris
-#usr/java/lib/zi/Europe/Prague
-#usr/java/lib/zi/Europe/Riga
-#usr/java/lib/zi/Europe/Rome
-#usr/java/lib/zi/Europe/Samara
-#usr/java/lib/zi/Europe/Simferopol
-#usr/java/lib/zi/Europe/Sofia
-#usr/java/lib/zi/Europe/Stockholm
-#usr/java/lib/zi/Europe/Tallinn
-#usr/java/lib/zi/Europe/Tirane
-#usr/java/lib/zi/Europe/Uzhgorod
-#usr/java/lib/zi/Europe/Vaduz
-#usr/java/lib/zi/Europe/Vienna
-#usr/java/lib/zi/Europe/Vilnius
-#usr/java/lib/zi/Europe/Volgograd
-#usr/java/lib/zi/Europe/Warsaw
-#usr/java/lib/zi/Europe/Zaporozhye
-#usr/java/lib/zi/Europe/Zurich
-#usr/java/lib/zi/GMT
-#usr/java/lib/zi/HST
-#usr/java/lib/zi/Indian
-#usr/java/lib/zi/Indian/Antananarivo
-#usr/java/lib/zi/Indian/Chagos
-#usr/java/lib/zi/Indian/Christmas
-#usr/java/lib/zi/Indian/Cocos
-#usr/java/lib/zi/Indian/Comoro
-#usr/java/lib/zi/Indian/Kerguelen
-#usr/java/lib/zi/Indian/Mahe
-#usr/java/lib/zi/Indian/Maldives
-#usr/java/lib/zi/Indian/Mauritius
-#usr/java/lib/zi/Indian/Mayotte
-#usr/java/lib/zi/Indian/Reunion
-#usr/java/lib/zi/MET
-#usr/java/lib/zi/MST
-#usr/java/lib/zi/MST7MDT
-#usr/java/lib/zi/PST8PDT
-#usr/java/lib/zi/Pacific
-#usr/java/lib/zi/Pacific/Apia
-#usr/java/lib/zi/Pacific/Auckland
-#usr/java/lib/zi/Pacific/Chatham
-#usr/java/lib/zi/Pacific/Easter
-#usr/java/lib/zi/Pacific/Efate
-#usr/java/lib/zi/Pacific/Enderbury
-#usr/java/lib/zi/Pacific/Fakaofo
-#usr/java/lib/zi/Pacific/Fiji
-#usr/java/lib/zi/Pacific/Funafuti
-#usr/java/lib/zi/Pacific/Galapagos
-#usr/java/lib/zi/Pacific/Gambier
-#usr/java/lib/zi/Pacific/Guadalcanal
-#usr/java/lib/zi/Pacific/Guam
-#usr/java/lib/zi/Pacific/Honolulu
-#usr/java/lib/zi/Pacific/Johnston
-#usr/java/lib/zi/Pacific/Kiritimati
-#usr/java/lib/zi/Pacific/Kosrae
-#usr/java/lib/zi/Pacific/Kwajalein
-#usr/java/lib/zi/Pacific/Majuro
-#usr/java/lib/zi/Pacific/Marquesas
-#usr/java/lib/zi/Pacific/Midway
-#usr/java/lib/zi/Pacific/Nauru
-#usr/java/lib/zi/Pacific/Niue
-#usr/java/lib/zi/Pacific/Norfolk
-#usr/java/lib/zi/Pacific/Noumea
-#usr/java/lib/zi/Pacific/Pago_Pago
-#usr/java/lib/zi/Pacific/Palau
-#usr/java/lib/zi/Pacific/Pitcairn
-#usr/java/lib/zi/Pacific/Ponape
-#usr/java/lib/zi/Pacific/Port_Moresby
-#usr/java/lib/zi/Pacific/Rarotonga
-#usr/java/lib/zi/Pacific/Saipan
-#usr/java/lib/zi/Pacific/Tahiti
-#usr/java/lib/zi/Pacific/Tarawa
-#usr/java/lib/zi/Pacific/Tongatapu
-#usr/java/lib/zi/Pacific/Truk
-#usr/java/lib/zi/Pacific/Wake
-#usr/java/lib/zi/Pacific/Wallis
-#usr/java/lib/zi/SystemV
-#usr/java/lib/zi/SystemV/AST4
-#usr/java/lib/zi/SystemV/AST4ADT
-#usr/java/lib/zi/SystemV/CST6
-#usr/java/lib/zi/SystemV/CST6CDT
-#usr/java/lib/zi/SystemV/EST5
-#usr/java/lib/zi/SystemV/EST5EDT
-#usr/java/lib/zi/SystemV/HST10
-#usr/java/lib/zi/SystemV/MST7
-#usr/java/lib/zi/SystemV/MST7MDT
-#usr/java/lib/zi/SystemV/PST8
-#usr/java/lib/zi/SystemV/PST8PDT
-#usr/java/lib/zi/SystemV/YST9
-#usr/java/lib/zi/SystemV/YST9YDT
-#usr/java/lib/zi/WET
-#usr/java/lib/zi/ZoneInfoMappings
-#usr/java/licenses
-#usr/java/licenses/COPYRIGHT
-#usr/java/licenses/LICENSE
-#usr/java/licenses/README
-#usr/java/licenses/THIRDPARTYLICENSEREADME.txt
-#usr/java/licenses/Welcome.html
-#usr/java/man
-#usr/java/man/ja
-#usr/java/man/ja_JP.eucJP
-#usr/java/man/ja_JP.eucJP/man1
-#usr/java/man/ja_JP.eucJP/man1/java.1
-#usr/java/man/ja_JP.eucJP/man1/javaws.1
-#usr/java/man/ja_JP.eucJP/man1/keytool.1
-#usr/java/man/ja_JP.eucJP/man1/orbd.1
-#usr/java/man/ja_JP.eucJP/man1/pack200.1
-#usr/java/man/ja_JP.eucJP/man1/policytool.1
-#usr/java/man/ja_JP.eucJP/man1/rmid.1
-#usr/java/man/ja_JP.eucJP/man1/rmiregistry.1
-#usr/java/man/ja_JP.eucJP/man1/servertool.1
-#usr/java/man/ja_JP.eucJP/man1/tnameserv.1
-#usr/java/man/ja_JP.eucJP/man1/unpack200.1
-#usr/java/man/man1
-#usr/java/man/man1/java.1
-#usr/java/man/man1/javaws.1
-#usr/java/man/man1/keytool.1
-#usr/java/man/man1/orbd.1
-#usr/java/man/man1/pack200.1
-#usr/java/man/man1/policytool.1
-#usr/java/man/man1/rmid.1
-#usr/java/man/man1/rmiregistry.1
-#usr/java/man/man1/servertool.1
-#usr/java/man/man1/tnameserv.1
-#usr/java/man/man1/unpack200.1
-#usr/java/plugin
-#usr/java/plugin/desktop
-#usr/java/plugin/desktop/sun_java.desktop
-#usr/java/plugin/desktop/sun_java.png
-#usr/java/plugin/i386
-#usr/java/plugin/i386/ns7
-#usr/java/plugin/i386/ns7-gcc29
-#usr/java/plugin/i386/ns7-gcc29/libjavaplugin_oji.so
-#usr/java/plugin/i386/ns7/libjavaplugin_oji.so
-usr/java/version
diff --git a/config/rootfiles/packages/libsatsolver b/config/rootfiles/packages/libsatsolver
deleted file mode 100644 (file)
index 212eeea..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#usr/include/satsolver
-#usr/include/satsolver/bitmap.h
-#usr/include/satsolver/chksum.h
-#usr/include/satsolver/dirpool.h
-#usr/include/satsolver/evr.h
-#usr/include/satsolver/hash.h
-#usr/include/satsolver/knownid.h
-#usr/include/satsolver/md5.h
-#usr/include/satsolver/policy.h
-#usr/include/satsolver/pool.h
-#usr/include/satsolver/pool_fileconflicts.h
-#usr/include/satsolver/poolarch.h
-#usr/include/satsolver/poolid.h
-#usr/include/satsolver/pooltypes.h
-#usr/include/satsolver/poolvendor.h
-#usr/include/satsolver/problems.h
-#usr/include/satsolver/queue.h
-#usr/include/satsolver/repo.h
-#usr/include/satsolver/repo_content.h
-#usr/include/satsolver/repo_deb.h
-#usr/include/satsolver/repo_deltainfoxml.h
-#usr/include/satsolver/repo_helix.h
-#usr/include/satsolver/repo_products.h
-#usr/include/satsolver/repo_releasefile_products.h
-#usr/include/satsolver/repo_repomdxml.h
-#usr/include/satsolver/repo_rpmdb.h
-#usr/include/satsolver/repo_rpmmd.h
-#usr/include/satsolver/repo_solv.h
-#usr/include/satsolver/repo_susetags.h
-#usr/include/satsolver/repo_updateinfoxml.h
-#usr/include/satsolver/repo_write.h
-#usr/include/satsolver/repo_zyppdb.h
-#usr/include/satsolver/repodata.h
-#usr/include/satsolver/repopage.h
-#usr/include/satsolver/rules.h
-#usr/include/satsolver/sat_xfopen.h
-#usr/include/satsolver/satversion.h
-#usr/include/satsolver/sha1.h
-#usr/include/satsolver/sha2.h
-#usr/include/satsolver/solvable.h
-#usr/include/satsolver/solver.h
-#usr/include/satsolver/solverdebug.h
-#usr/include/satsolver/strpool.h
-#usr/include/satsolver/tools_util.h
-#usr/include/satsolver/transaction.h
-#usr/include/satsolver/util.h
-usr/lib/libsatsolver.so
-usr/lib/libsatsolver.so.0
-usr/lib/libsatsolver.so.0.16
-usr/lib/libsatsolverext.so
-usr/lib/libsatsolverext.so.0
-usr/lib/libsatsolverext.so.0.16
diff --git a/config/rootfiles/packages/libsolv b/config/rootfiles/packages/libsolv
new file mode 100644 (file)
index 0000000..587d514
--- /dev/null
@@ -0,0 +1,47 @@
+#usr/include/solv
+#usr/include/solv/bitmap.h
+#usr/include/solv/chksum.h
+#usr/include/solv/dirpool.h
+#usr/include/solv/evr.h
+#usr/include/solv/hash.h
+#usr/include/solv/knownid.h
+#usr/include/solv/policy.h
+#usr/include/solv/pool.h
+#usr/include/solv/pool_fileconflicts.h
+#usr/include/solv/poolarch.h
+#usr/include/solv/poolid.h
+#usr/include/solv/pooltypes.h
+#usr/include/solv/poolvendor.h
+#usr/include/solv/problems.h
+#usr/include/solv/queue.h
+#usr/include/solv/repo.h
+#usr/include/solv/repo_content.h
+#usr/include/solv/repo_deb.h
+#usr/include/solv/repo_deltainfoxml.h
+#usr/include/solv/repo_helix.h
+#usr/include/solv/repo_products.h
+#usr/include/solv/repo_releasefile_products.h
+#usr/include/solv/repo_repomdxml.h
+#usr/include/solv/repo_rpmdb.h
+#usr/include/solv/repo_rpmmd.h
+#usr/include/solv/repo_solv.h
+#usr/include/solv/repo_susetags.h
+#usr/include/solv/repo_updateinfoxml.h
+#usr/include/solv/repo_write.h
+#usr/include/solv/repo_zyppdb.h
+#usr/include/solv/repodata.h
+#usr/include/solv/repopage.h
+#usr/include/solv/rules.h
+#usr/include/solv/solv_xfopen.h
+#usr/include/solv/solvable.h
+#usr/include/solv/solver.h
+#usr/include/solv/solverdebug.h
+#usr/include/solv/solvversion.h
+#usr/include/solv/strpool.h
+#usr/include/solv/tools_util.h
+#usr/include/solv/transaction.h
+#usr/include/solv/util.h
+usr/lib/libsolv.so
+usr/lib/libsolv.so.0
+usr/lib/libsolvext.so
+usr/lib/libsolvext.so.0
diff --git a/config/rootfiles/packages/python-satsolver b/config/rootfiles/packages/python-satsolver
deleted file mode 100644 (file)
index 6b5e576..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/lib/python2.7/site-packages/_satsolver.so
-usr/lib/python2.7/site-packages/satsolver.py
index d061319fdd95a31120e3601f4bb84aaff5f4da88..50620663a059e9de2d0e63f90798c5d8b6c0a292 100644 (file)
@@ -1,10 +1,12 @@
 #etc/qemu
 etc/qemu/target-x86_64.conf
 usr/bin/qemu
+usr/bin/qemu-ga
 usr/bin/qemu-i386
 usr/bin/qemu-img
 usr/bin/qemu-io
 usr/bin/qemu-nbd
+usr/bin/qemu-system-arm
 #usr/share/doc/qemu
 #usr/share/doc/qemu/qemu-doc.html
 #usr/share/doc/qemu/qemu-tech.html
@@ -14,7 +16,7 @@ usr/bin/qemu-nbd
 usr/share/qemu
 usr/share/qemu/bamboo.dtb
 usr/share/qemu/bios.bin
-usr/share/qemu/gpxe-eepro100-80861209.rom
+usr/share/qemu/extboot.bin
 usr/share/qemu/keymaps
 usr/share/qemu/keymaps/ar
 usr/share/qemu/keymaps/common
@@ -52,18 +54,24 @@ usr/share/qemu/keymaps/sv
 usr/share/qemu/keymaps/th
 usr/share/qemu/keymaps/tr
 usr/share/qemu/linuxboot.bin
+usr/share/qemu/mpc8544ds.dtb
 usr/share/qemu/multiboot.bin
 usr/share/qemu/openbios-ppc
 usr/share/qemu/openbios-sparc32
 usr/share/qemu/openbios-sparc64
+usr/share/qemu/petalogix-ml605.dtb
 usr/share/qemu/petalogix-s3adsp1800.dtb
 usr/share/qemu/ppc_rom.bin
-usr/share/qemu/pxe-e1000.bin
-usr/share/qemu/pxe-ne2k_pci.bin
-usr/share/qemu/pxe-pcnet.bin
-usr/share/qemu/pxe-rtl8139.bin
-usr/share/qemu/pxe-virtio.bin
+usr/share/qemu/pxe-e1000.rom
+usr/share/qemu/pxe-eepro100.rom
+usr/share/qemu/pxe-ne2k_pci.rom
+usr/share/qemu/pxe-pcnet.rom
+usr/share/qemu/pxe-rtl8139.rom
+usr/share/qemu/pxe-virtio.rom
 usr/share/qemu/s390-zipl.rom
+usr/share/qemu/slof.bin
+usr/share/qemu/spapr-rtas.bin
+usr/share/qemu/vapic.bin
 usr/share/qemu/vgabios-cirrus.bin
 usr/share/qemu/vgabios-qxl.bin
 usr/share/qemu/vgabios-stdvga.bin
index d59f1f3ddc5df04230300aa7ab1f076ec9c5094a..d182dbb440b3a34358f58aa8ec395bfd9af0c2d1 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -97,6 +96,7 @@ WARNING: translation string unused: custom networks
 WARNING: translation string unused: custom services
 WARNING: translation string unused: daily firewallhits
 WARNING: translation string unused: dat without key
+WARNING: translation string unused: day-graph
 WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
@@ -144,6 +144,8 @@ WARNING: translation string unused: error external access
 WARNING: translation string unused: expected
 WARNING: translation string unused: exportkey
 WARNING: translation string unused: external access rule changed
+WARNING: translation string unused: extrahd unable to read
+WARNING: translation string unused: extrahd unable to write
 WARNING: translation string unused: filename
 WARNING: translation string unused: firewall graphs
 WARNING: translation string unused: firewall log viewer
@@ -167,6 +169,7 @@ WARNING: translation string unused: hint
 WARNING: translation string unused: host
 WARNING: translation string unused: host configuration
 WARNING: translation string unused: hostname and domain already in use
+WARNING: translation string unused: hour-graph
 WARNING: translation string unused: hours2
 WARNING: translation string unused: ibod for dual isdn only
 WARNING: translation string unused: icmp selected but no type
@@ -194,7 +197,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -243,6 +245,7 @@ WARNING: translation string unused: modem on com3
 WARNING: translation string unused: modem on com4
 WARNING: translation string unused: modem on com5
 WARNING: translation string unused: modulation
+WARNING: translation string unused: month-graph
 WARNING: translation string unused: monthly firewallhits
 WARNING: translation string unused: monthly start day bad
 WARNING: translation string unused: monthly traffic bad
@@ -276,8 +279,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -307,6 +308,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -454,11 +456,17 @@ WARNING: translation string unused: vpn on green
 WARNING: translation string unused: vpn on orange
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
+WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
+WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
 WARNING: untranslated string: new
 WARNING: untranslated string: outgoing firewall reserved groupname
 WARNING: untranslated string: qos add subclass
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
index 3df8ad27256978651873a1af477bcd50379b0bb7..3ae364c9e552061b3c1bdd297fe6b0c38d0d1ad0 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -118,6 +117,7 @@ WARNING: translation string unused: custom networks
 WARNING: translation string unused: custom services
 WARNING: translation string unused: daily firewallhits
 WARNING: translation string unused: dat without key
+WARNING: translation string unused: day-graph
 WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
@@ -168,6 +168,8 @@ WARNING: translation string unused: error external access
 WARNING: translation string unused: expected
 WARNING: translation string unused: exportkey
 WARNING: translation string unused: external access rule changed
+WARNING: translation string unused: extrahd unable to read
+WARNING: translation string unused: extrahd unable to write
 WARNING: translation string unused: filename
 WARNING: translation string unused: firewall graphs
 WARNING: translation string unused: firewall log viewer
@@ -193,6 +195,7 @@ WARNING: translation string unused: hint
 WARNING: translation string unused: host
 WARNING: translation string unused: host configuration
 WARNING: translation string unused: hostname and domain already in use
+WARNING: translation string unused: hour-graph
 WARNING: translation string unused: hours2
 WARNING: translation string unused: ibod for dual isdn only
 WARNING: translation string unused: icmp selected but no type
@@ -221,7 +224,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -270,6 +272,7 @@ WARNING: translation string unused: modem on com3
 WARNING: translation string unused: modem on com4
 WARNING: translation string unused: modem on com5
 WARNING: translation string unused: modulation
+WARNING: translation string unused: month-graph
 WARNING: translation string unused: monthly firewallhits
 WARNING: translation string unused: monthly start day bad
 WARNING: translation string unused: monthly traffic bad
@@ -304,8 +307,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -335,6 +336,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -487,10 +489,16 @@ WARNING: translation string unused: vpn on green
 WARNING: translation string unused: vpn on orange
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
+WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
+WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
 WARNING: untranslated string: new
 WARNING: untranslated string: outgoing firewall reserved groupname
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
index ae69c6faba5513ed1ba082f5191e3e367dcbdf7c..6b2ab8ee66fbc98a6fad62c742c7355f2ebd7e62 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -118,6 +117,7 @@ WARNING: translation string unused: custom networks
 WARNING: translation string unused: custom services
 WARNING: translation string unused: daily firewallhits
 WARNING: translation string unused: dat without key
+WARNING: translation string unused: day-graph
 WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
@@ -168,6 +168,8 @@ WARNING: translation string unused: error external access
 WARNING: translation string unused: expected
 WARNING: translation string unused: exportkey
 WARNING: translation string unused: external access rule changed
+WARNING: translation string unused: extrahd unable to read
+WARNING: translation string unused: extrahd unable to write
 WARNING: translation string unused: filename
 WARNING: translation string unused: firewall graphs
 WARNING: translation string unused: firewall log viewer
@@ -193,6 +195,7 @@ WARNING: translation string unused: hint
 WARNING: translation string unused: host
 WARNING: translation string unused: host configuration
 WARNING: translation string unused: hostname and domain already in use
+WARNING: translation string unused: hour-graph
 WARNING: translation string unused: hours2
 WARNING: translation string unused: ibod for dual isdn only
 WARNING: translation string unused: icmp selected but no type
@@ -221,7 +224,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -270,6 +272,7 @@ WARNING: translation string unused: modem on com3
 WARNING: translation string unused: modem on com4
 WARNING: translation string unused: modem on com5
 WARNING: translation string unused: modulation
+WARNING: translation string unused: month-graph
 WARNING: translation string unused: monthly firewallhits
 WARNING: translation string unused: monthly start day bad
 WARNING: translation string unused: monthly traffic bad
@@ -304,8 +307,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -336,6 +337,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -488,8 +490,10 @@ WARNING: translation string unused: vpn on green
 WARNING: translation string unused: vpn on orange
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
+WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
+WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Async logging enabled
 WARNING: untranslated string: Scan for Songs
@@ -514,6 +518,16 @@ WARNING: untranslated string: fireinfo why read more
 WARNING: untranslated string: fireinfo your profile id
 WARNING: untranslated string: minute
 WARNING: untranslated string: new
+WARNING: untranslated string: openvpn default
+WARNING: untranslated string: openvpn destination port used
+WARNING: untranslated string: openvpn disabled
+WARNING: untranslated string: openvpn enabled
+WARNING: untranslated string: openvpn fragment allowed with udp
+WARNING: untranslated string: openvpn mssfix allowed with udp
+WARNING: untranslated string: openvpn prefix local subnet
+WARNING: untranslated string: openvpn prefix openvpn subnet
+WARNING: untranslated string: openvpn prefix remote subnet
+WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: outgoing firewall add ip group
 WARNING: untranslated string: outgoing firewall add mac group
 WARNING: untranslated string: outgoing firewall edit ip group
@@ -530,4 +544,10 @@ WARNING: untranslated string: outgoing firewall p2p description 3
 WARNING: untranslated string: outgoing firewall reserved groupname
 WARNING: untranslated string: outgoing firewall view group
 WARNING: untranslated string: pakfire ago
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
+WARNING: untranslated string: static routes
 WARNING: untranslated string: system information
+WARNING: untranslated string: vpn keyexchange
index cb58f420224b688884bbedddc97fac5e22adc945..b1a94a1b455bf437bfd9048822cedad3eaf0f17e 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -118,6 +117,7 @@ WARNING: translation string unused: custom networks
 WARNING: translation string unused: custom services
 WARNING: translation string unused: daily firewallhits
 WARNING: translation string unused: dat without key
+WARNING: translation string unused: day-graph
 WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
@@ -168,7 +168,8 @@ WARNING: translation string unused: error external access
 WARNING: translation string unused: expected
 WARNING: translation string unused: exportkey
 WARNING: translation string unused: external access rule changed
-WARNING: translation string unused: extrahd founded drives
+WARNING: translation string unused: extrahd unable to read
+WARNING: translation string unused: extrahd unable to write
 WARNING: translation string unused: filename
 WARNING: translation string unused: firewall graphs
 WARNING: translation string unused: firewall log viewer
@@ -194,6 +195,7 @@ WARNING: translation string unused: hint
 WARNING: translation string unused: host
 WARNING: translation string unused: host configuration
 WARNING: translation string unused: hostname and domain already in use
+WARNING: translation string unused: hour-graph
 WARNING: translation string unused: hours2
 WARNING: translation string unused: ibod for dual isdn only
 WARNING: translation string unused: icmp selected but no type
@@ -222,7 +224,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -271,6 +272,7 @@ WARNING: translation string unused: modem on com3
 WARNING: translation string unused: modem on com4
 WARNING: translation string unused: modem on com5
 WARNING: translation string unused: modulation
+WARNING: translation string unused: month-graph
 WARNING: translation string unused: monthly firewallhits
 WARNING: translation string unused: monthly start day bad
 WARNING: translation string unused: monthly traffic bad
@@ -305,8 +307,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -336,6 +336,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -490,13 +491,14 @@ WARNING: translation string unused: vpn on green
 WARNING: translation string unused: vpn on orange
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
+WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
+WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
 WARNING: untranslated string: dns address deleted txt
-WARNING: untranslated string: extrahd detected drives
 WARNING: untranslated string: fireinfo ipfire version
 WARNING: untranslated string: fireinfo is disabled
 WARNING: untranslated string: fireinfo is enabled
@@ -518,13 +520,29 @@ WARNING: untranslated string: minute
 WARNING: untranslated string: new
 WARNING: untranslated string: ntp common settings
 WARNING: untranslated string: ntp sync
+WARNING: untranslated string: openvpn default
+WARNING: untranslated string: openvpn destination port used
+WARNING: untranslated string: openvpn disabled
+WARNING: untranslated string: openvpn enabled
+WARNING: untranslated string: openvpn fragment allowed with udp
+WARNING: untranslated string: openvpn mssfix allowed with udp
+WARNING: untranslated string: openvpn prefix local subnet
+WARNING: untranslated string: openvpn prefix openvpn subnet
+WARNING: untranslated string: openvpn prefix remote subnet
+WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: outgoing firewall reserved groupname
 WARNING: untranslated string: pakfire ago
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
 WARNING: untranslated string: snort working
+WARNING: untranslated string: static routes
 WARNING: untranslated string: system information
 WARNING: untranslated string: upload new ruleset
 WARNING: untranslated string: urlfilter file ext block
 WARNING: untranslated string: urlfilter mode block
+WARNING: untranslated string: vpn keyexchange
 WARNING: untranslated string: wlanap access point
 WARNING: untranslated string: wlanap channel
 WARNING: untranslated string: wlanap debugging
index ae69c6faba5513ed1ba082f5191e3e367dcbdf7c..6b2ab8ee66fbc98a6fad62c742c7355f2ebd7e62 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -118,6 +117,7 @@ WARNING: translation string unused: custom networks
 WARNING: translation string unused: custom services
 WARNING: translation string unused: daily firewallhits
 WARNING: translation string unused: dat without key
+WARNING: translation string unused: day-graph
 WARNING: translation string unused: dbfile
 WARNING: translation string unused: ddns help dnsmadeeasy
 WARNING: translation string unused: ddns help freedns
@@ -168,6 +168,8 @@ WARNING: translation string unused: error external access
 WARNING: translation string unused: expected
 WARNING: translation string unused: exportkey
 WARNING: translation string unused: external access rule changed
+WARNING: translation string unused: extrahd unable to read
+WARNING: translation string unused: extrahd unable to write
 WARNING: translation string unused: filename
 WARNING: translation string unused: firewall graphs
 WARNING: translation string unused: firewall log viewer
@@ -193,6 +195,7 @@ WARNING: translation string unused: hint
 WARNING: translation string unused: host
 WARNING: translation string unused: host configuration
 WARNING: translation string unused: hostname and domain already in use
+WARNING: translation string unused: hour-graph
 WARNING: translation string unused: hours2
 WARNING: translation string unused: ibod for dual isdn only
 WARNING: translation string unused: icmp selected but no type
@@ -221,7 +224,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -270,6 +272,7 @@ WARNING: translation string unused: modem on com3
 WARNING: translation string unused: modem on com4
 WARNING: translation string unused: modem on com5
 WARNING: translation string unused: modulation
+WARNING: translation string unused: month-graph
 WARNING: translation string unused: monthly firewallhits
 WARNING: translation string unused: monthly start day bad
 WARNING: translation string unused: monthly traffic bad
@@ -304,8 +307,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -336,6 +337,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -488,8 +490,10 @@ WARNING: translation string unused: vpn on green
 WARNING: translation string unused: vpn on orange
 WARNING: translation string unused: warn when traffic reaches
 WARNING: translation string unused: web proxy configuration
+WARNING: translation string unused: week-graph
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
+WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Async logging enabled
 WARNING: untranslated string: Scan for Songs
@@ -514,6 +518,16 @@ WARNING: untranslated string: fireinfo why read more
 WARNING: untranslated string: fireinfo your profile id
 WARNING: untranslated string: minute
 WARNING: untranslated string: new
+WARNING: untranslated string: openvpn default
+WARNING: untranslated string: openvpn destination port used
+WARNING: untranslated string: openvpn disabled
+WARNING: untranslated string: openvpn enabled
+WARNING: untranslated string: openvpn fragment allowed with udp
+WARNING: untranslated string: openvpn mssfix allowed with udp
+WARNING: untranslated string: openvpn prefix local subnet
+WARNING: untranslated string: openvpn prefix openvpn subnet
+WARNING: untranslated string: openvpn prefix remote subnet
+WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: outgoing firewall add ip group
 WARNING: untranslated string: outgoing firewall add mac group
 WARNING: untranslated string: outgoing firewall edit ip group
@@ -530,4 +544,10 @@ WARNING: untranslated string: outgoing firewall p2p description 3
 WARNING: untranslated string: outgoing firewall reserved groupname
 WARNING: untranslated string: outgoing firewall view group
 WARNING: untranslated string: pakfire ago
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
+WARNING: untranslated string: static routes
 WARNING: untranslated string: system information
+WARNING: untranslated string: vpn keyexchange
index f6cdbb95c33d991b3287c1eb91ed04da0677d1aa..ee678735613f03fcc52a4c1ed0278eba420e2301 100644 (file)
@@ -1,4 +1,3 @@
-WARNING: translation string unused: Act as
 WARNING: translation string unused: Client status and controlc
 WARNING: translation string unused: ConnSched scheduler
 WARNING: translation string unused: ConnSched select profile
@@ -174,7 +173,6 @@ WARNING: translation string unused: firewall log viewer
 WARNING: translation string unused: firmware
 WARNING: translation string unused: firmware upload
 WARNING: translation string unused: force update
-WARNING: translation string unused: frequency
 WARNING: translation string unused: fritzdsl help
 WARNING: translation string unused: fritzdsl upload
 WARNING: translation string unused: from email adr
@@ -221,7 +219,6 @@ WARNING: translation string unused: invalid upstream proxy username or password
 WARNING: translation string unused: invert
 WARNING: translation string unused: ip address in use
 WARNING: translation string unused: ipfire side
-WARNING: translation string unused: ipfire side is invalid
 WARNING: translation string unused: iptable rules
 WARNING: translation string unused: isdn
 WARNING: translation string unused: isdn settings
@@ -304,8 +301,6 @@ WARNING: translation string unused: o-no
 WARNING: translation string unused: o-yes
 WARNING: translation string unused: online help en
 WARNING: translation string unused: only red
-WARNING: translation string unused: openvpn client
-WARNING: translation string unused: openvpn server
 WARNING: translation string unused: optional data
 WARNING: translation string unused: optionsfw portlist hint
 WARNING: translation string unused: optionsfw warning
@@ -335,6 +330,7 @@ WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
+WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire updates
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
@@ -490,8 +486,36 @@ WARNING: translation string unused: web proxy configuration
 WARNING: translation string unused: weekly firewallhits
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: Add a route
+WARNING: untranslated string: Edit an existing route
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
+WARNING: untranslated string: disk access per
+WARNING: untranslated string: extrahd because there is already a device mounted
+WARNING: untranslated string: extrahd cant umount
+WARNING: untranslated string: extrahd install or load driver
+WARNING: untranslated string: extrahd maybe the device is in use
+WARNING: untranslated string: extrahd to
+WARNING: untranslated string: extrahd to root
+WARNING: untranslated string: extrahd you cant mount
+WARNING: untranslated string: incoming traffic in bytes per second
 WARNING: untranslated string: minute
 WARNING: untranslated string: new
+WARNING: untranslated string: openvpn default
+WARNING: untranslated string: openvpn destination port used
+WARNING: untranslated string: openvpn disabled
+WARNING: untranslated string: openvpn enabled
+WARNING: untranslated string: openvpn fragment allowed with udp
+WARNING: untranslated string: openvpn mssfix allowed with udp
+WARNING: untranslated string: openvpn prefix local subnet
+WARNING: untranslated string: openvpn prefix openvpn subnet
+WARNING: untranslated string: openvpn prefix remote subnet
+WARNING: untranslated string: openvpn subnet is used
 WARNING: untranslated string: outgoing firewall reserved groupname
+WARNING: untranslated string: outgoing traffic in bytes per second
+WARNING: untranslated string: route config changed
+WARNING: untranslated string: routing config added
+WARNING: untranslated string: routing config changed
+WARNING: untranslated string: routing table
+WARNING: untranslated string: static routes
+WARNING: untranslated string: vpn keyexchange
index ed4494223b51acc6d986e193d69e80bf09f87e7d..16e3ba56462477336c40f0c49514024dfd5e6a53 100644 (file)
@@ -11,7 +11,6 @@
 # Checking cgi-bin translations for language: fr                           #
 ############################################################################
 < dns address deleted txt
-< extrahd detected drives
 < fireinfo ipfire version
 < fireinfo is disabled
 < fireinfo is enabled
 < minute
 < ntp common settings
 < ntp sync
+< openvpn default
+< openvpn destination port used
+< openvpn disabled
+< openvpn enabled
+< openvpn fragment allowed with udp
+< openvpn mssfix allowed with udp
+< openvpn prefix local subnet
+< openvpn prefix openvpn subnet
+< openvpn prefix remote subnet
+< openvpn subnet is used
 < snort working
+< static routes
 < system information
 < upload new ruleset
 < urlfilter file ext block
 < urlfilter mode block
+< vpn keyexchange
 < wlanap access point
 < wlanap channel
 < wlanap debugging
 < fireinfo why read more
 < fireinfo your profile id
 < minute
+< openvpn default
+< openvpn destination port used
+< openvpn disabled
+< openvpn enabled
+< openvpn fragment allowed with udp
+< openvpn mssfix allowed with udp
+< openvpn prefix local subnet
+< openvpn prefix openvpn subnet
+< openvpn prefix remote subnet
+< openvpn subnet is used
 < outgoing firewall add ip group
 < outgoing firewall add mac group
 < outgoing firewall edit ip group
 < outgoing firewall p2p description 3
 < outgoing firewall view group
 < Set time on boot
+< static routes
 < system information
+< vpn keyexchange
 ############################################################################
 # Checking install/setup translations for language: pl                     #
 ############################################################################
 ############################################################################
 # Checking cgi-bin translations for language: pl                           #
 ############################################################################
+< extrahd because there is already a device mounted
+< extrahd cant umount
+< extrahd install or load driver
+< extrahd maybe the device is in use
+< extrahd to
+< extrahd to root
+< extrahd unable to read
+< extrahd unable to write
+< extrahd you cant mount
 < minute
+< openvpn default
+< openvpn destination port used
+< openvpn disabled
+< openvpn enabled
+< openvpn fragment allowed with udp
+< openvpn mssfix allowed with udp
+< openvpn prefix local subnet
+< openvpn prefix openvpn subnet
+< openvpn prefix remote subnet
+< openvpn subnet is used
+< static routes
+< vpn keyexchange
 ############################################################################
 # Checking install/setup translations for language: ru                     #
 ############################################################################
 ############################################################################
 # Checking cgi-bin translations for language: ru                           #
 ############################################################################
+< Add a route
+< day-graph
+< disk access per
+< Edit an existing route
+< extrahd because there is already a device mounted
+< extrahd cant umount
+< extrahd install or load driver
+< extrahd maybe the device is in use
+< extrahd to
+< extrahd to root
+< extrahd unable to read
+< extrahd unable to write
+< extrahd you cant mount
+< frequency
+< hour-graph
+< incoming traffic in bytes per second
 < minute
+< month-graph
+< openvpn default
+< openvpn destination port used
+< openvpn disabled
+< openvpn enabled
+< openvpn fragment allowed with udp
+< openvpn mssfix allowed with udp
+< openvpn prefix local subnet
+< openvpn prefix openvpn subnet
+< openvpn prefix remote subnet
+< openvpn subnet is used
+< outgoing traffic in bytes per second
+< static routes
+< vpn keyexchange
+< week-graph
+< year-graph
index f7ae56852d8b4da6cb3c2513ecb6c7eca034dc47..4453542475ac6a0cd6996cb148c8bcadd9403778 100644 (file)
@@ -139,11 +139,13 @@ if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
        }
        
        # Permit an empty HOSTNAME for the nsupdate, regfish, dyndns, enom, ovh, zoneedit, no-ip, easydns
+       #and namecheap
         unless ($settings{'SERVICE'} eq 'zoneedit.com' || $settings{'SERVICE'} eq 'nsupdate' || 
                $settings{'SERVICE'} eq 'dyndns-custom'|| $settings{'SERVICE'} eq 'regfish.com' || 
                $settings{'SERVICE'} eq 'enom.com' || $settings{'SERVICE'} eq 'dnspark.com' ||
                $settings{'SERVICE'} eq 'ovh.com' || $settings{'HOSTNAME'} ne '' ||
-               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com' ) {
+               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com'  ||
+               $settings{'SERVICE'} eq 'namecheap.com' )       {
            $errormessage = $Lang::tr{'hostname not set'};
        }
        unless ($settings{'HOSTNAME'} eq '' || $settings{'HOSTNAME'} =~ /^[a-zA-Z_0-9-]+$/) {
@@ -243,6 +245,7 @@ $checked{'SERVICE'}{'easydns.com'} = '';
 $checked{'SERVICE'}{'enom.com'} = '';
 $checked{'SERVICE'}{'freedns.afraid.org'} = '';
 $checked{'SERVICE'}{'hn.org'} = '';
+$checked{'SERVICE'}{'namecheap.com'} = '';
 $checked{'SERVICE'}{'no-ip.com'} = '';
 $checked{'SERVICE'}{'nsupdate'} = '';
 $checked{'SERVICE'}{'ovh.com'} = '';
@@ -336,6 +339,7 @@ print <<END
     <option $checked{'SERVICE'}{'enom.com'}>enom.com</option>
     <option $checked{'SERVICE'}{'freedns.afraid.org'}>freedns.afraid.org</option>
     <option $checked{'SERVICE'}{'hn.org'}>hn.org</option>
+       <option $checked{'SERVICE'}{'namecheap.com'}>namecheap.com</option>
     <option $checked{'SERVICE'}{'no-ip.com'}>no-ip.com</option>
     <option $checked{'SERVICE'}{'nsupdate'}>nsupdate</option>
     <option $checked{'SERVICE'}{'ovh.com'}>ovh.com</option>
index 3bb6afd8deade3e0905751dea9762c3146985e6d..86b0de5c37e6cfff31d2f87ca064f025bf73ddc7 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2011  IPFire Team  <info@ipfire.org>                          #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -79,11 +79,11 @@ if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'})
                @deviceline = split( /\;/, $deviceentry );
                if ( "$extrahdsettings{'PATH'}" eq "$deviceline[2]" ) {
                        $ok = "false";
-                       $errormessage = "You can't mount $extrahdsettings{'DEVICE'} to $extrahdsettings{'PATH'}, because there is already a device mounted.";
+                       $errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd because there is already a device mounted'}.";
                }
                if ( "$extrahdsettings{'PATH'}" eq "/" ) {
                        $ok = "false";
-                       $errormessage = "You can't mount $extrahdsettings{'DEVICE'} to root /.";
+                       $errormessage = "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'DEVICE'} $Lang::tr{'extrahd to root'}.";
                }
        }
 
@@ -113,7 +113,7 @@ elsif ($extrahdsettings{'ACTION'} eq $Lang::tr{'delete'})
                }
                close FILE;
        } else {
-               $errormessage = "Can't umount $extrahdsettings{'PATH'}. Maybe the device is in use?";
+               $errormessage = "$Lang::tr{'extrahd cant umount'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd maybe the device is in use'}?";
        }
 }
 
@@ -143,10 +143,10 @@ END
                        $color=$Header::colourgreen;
                }
                print <<END
-                       <tr><td colspan="5">&nbsp;
-                       <tr><td align='center'><font color=$color><b>$deviceline[0]</b></font>
-                               <td align='center'>$deviceline[1]
-                               <td align='center'>$deviceline[2]
+                       <tr><td colspan="4">&nbsp;</td></tr>
+                       <tr><td align='left'><font color=$color><b>$deviceline[0]</b></font></td>
+                               <td align='left'>$deviceline[1]</td>
+                               <td align='left'>$deviceline[2]</td>
                                <td align='center'>
                                        <form method='post' action='$ENV{'SCRIPT_NAME'}'>
                                                <input type='hidden' name='DEVICE' value='$deviceline[0]' />
@@ -154,7 +154,7 @@ END
                                                <input type='hidden' name='PATH' value='$deviceline[2]' />
                                                <input type='hidden' name='ACTION' value=$Lang::tr{'delete'} />
                                                <input type='image' alt=$Lang::tr{'delete'} src='/images/delete.gif' />
-                                       </form>
+                                       </form></td></tr>
 END
 ;
        }
@@ -179,21 +179,26 @@ END
        foreach $scanentry (sort @scans)
        {
                @scanline = split( /\;/, $scanentry );
-               print <<END
-                       <tr><td colspan="5">&nbsp;
-                       <tr><td align='left' colspan="2"><b>/dev/$scanline[0]</b>
-                               <td align='center' colspan="2">$scanline[1]
+               # remove wrong entries like usb controller name
+               if ($scanline[1] ne "\n")
+               {
+                       print <<END
+                               <tr><td colspan="5">&nbsp;</td></tr>
+                               <tr><td align='left' colspan="2"><b>/dev/$scanline[0]</b></td>
+                               <td align='center' colspan="2">$scanline[1]</td>
 END
 ;
+
+               }
                foreach $partitionentry (sort @partitions)
                {
                        @partitionline = split( /\;/, $partitionentry );
                        if ( "$partitionline[0]" eq "$scanline[0]" ) {
                                $size = int($partitionline[1] / 1024);
                                print <<END
-                               <td align='center'>$Lang::tr{'size'} $size MB
-                               <td>&nbsp;
-                               <tr><td colspan="5">&nbsp;
+                               <td align='center'>$Lang::tr{'size'} $size MB</td>
+                               <td>&nbsp;</td></tr>
+                               <tr><td colspan="5">&nbsp;</td></tr>
 END
 ;
                        }
@@ -206,24 +211,27 @@ END
                                $size = int($partitionline[1] / 1024);
                                print <<END
                                <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-                               <tr><td align="left" colspan=5><b>UUID=$partitionline[2]</b></td></tr>
+                               <tr><td align="left" colspan=5><strong>UUID=$partitionline[2]</strong></td></tr>
                                <tr>
                                <td align="list">/dev/$partitionline[0]</td>
-                               <td align="center">$Lang::tr{'size'} $size MB
+                               <td align="center">$Lang::tr{'size'} $size MB</td>
                                <td align="center"><select name="FS">
                                                                                <option value="auto">auto</option>
                                                                                <option value="ext3">ext3</option>
+                                                                               <option value="ext4">ext4</option>
                                                                                <option value="reiserfs">reiserfs</option>
                                                                                <option value="vfat">fat</option>
                                                                                <option value="ntfs-3g">ntfs (experimental)</option>
-                                                                          </select>
-                               <td align="center"><input type='text' name='PATH' value=/mnt/harddisk />
+                                                                          </select></td>
+                               <td align="center"><input type='text' name='PATH' value=/mnt/harddisk /></td>
                                <td align="center">
                                        <input type='hidden' name='DEVICE' value='$partitionline[0]' />
                                        <input type='hidden' name='UUID' value='$partitionline[2]' />
                                        <input type='hidden' name='ACTION' value=$Lang::tr{'add'} />
                                        <input type='image' alt=$Lang::tr{'add'} src='/images/add.gif' />
-                               </form>
+                               </form></td></tr>
+END
+;
 
 END
 ;
@@ -232,7 +240,9 @@ END
        }
 
        print <<END
-       <tr><td align="center" colspan="5">If your device isn't listed here, you need to install or load the driver.<br />If you can see your device but no partitions you have to create them first.
+       <tr><td align="center" colspan="5">&nbsp;</td></tr>
+       <tr><td align="center" colspan="5">&nbsp;</td></tr>
+       <tr><td align="center" colspan="5">$Lang::tr{'extrahd install or load driver'}</td></tr>
        </table>
 END
 ;
index 0dcadb0b2223de184030087642135b1a189c7b5c..b325250a58e9b0d37fe316692028e71856e4050f 100644 (file)
@@ -369,7 +369,9 @@ END
                            $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
                        } else {
                            foreach my $line (@status) {
-                               if ($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) {
+                               if (($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) ||
+                                   ($line =~/$confighash{$key}[1]\{.*INSTALLED/ ))
+                                   {
                                    $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
                                }
                           }
index e757ca08afb11f2a840f36995c2452e23809f73c..1c3d6952cd2a601906467328027756437f7030e4 100644 (file)
@@ -87,6 +87,8 @@ if ($outgrpsettings{'ACTION'} eq 'newipgroup')
 
        if ( -e "$configpath/macgroups/$outgrpsettings{'ipgroup'}" ){
                $errormessage =  "$Lang::tr{'outgoing firewall group error'}";
+       } elsif ( $outgrpsettings{'ipgroup'} =~ /\W/ ){
+               $errormessage = $Lang::tr{'name must only contain characters'}." - ".$outgrpsettings{'ipgroup'};
        } elsif ( $outgrpsettings{'ipgroup'} eq "all" || $outgrpsettings{'ipgroup'} eq "red" || $outgrpsettings{'ipgroup'} eq "blue" ||
                        $outgrpsettings{'ipgroup'} eq "green" || $outgrpsettings{'ipgroup'} eq "orange" || $outgrpsettings{'ipgroup'} eq "ip" ||
                        $outgrpsettings{'ipgroup'} eq "mac" || $outgrpsettings{'ipgroup'} eq "ovpn" || $outgrpsettings{'ipgroup'} eq "ipsec" ) {
@@ -112,6 +114,8 @@ if ($outgrpsettings{'ACTION'} eq 'newmacgroup')
 
        if ( -e "$configpath/ipgroups/$outgrpsettings{'macgroup'}" ){
                $errormessage =  "$Lang::tr{'outgoing firewall group error'}";
+       } elsif ( $outgrpsettings{'macgroup'} =~ /\W/ ){
+               $errormessage = $Lang::tr{'name must only contain characters'}." - ".$outgrpsettings{'macgroup'};
        } elsif ( $outgrpsettings{'macgroup'} eq "all" || $outgrpsettings{'macgroup'} eq "red" || $outgrpsettings{'macgroup'} eq "blue" ||
                        $outgrpsettings{'macgroup'} eq "green" || $outgrpsettings{'macgroup'} eq "orange" || $outgrpsettings{'macgroup'} eq "ip" ||
                        $outgrpsettings{'macgroup'} eq "mac" || $outgrpsettings{'macgroup'} eq "ovpn" || $outgrpsettings{'macgroup'} eq "ipsec" ) {
index c99e7beaebd0d0890a55d84cfa3f6f6c32bd264f..b6c5fc0ade3c326f8e45c110a02edcb8004d7595 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -22,6 +22,7 @@
 use CGI;
 use CGI qw/:standard/;
 use Net::DNS;
+use Net::Ping;
 use File::Copy;
 use File::Temp qw/ tempfile tempdir /;
 use strict;
@@ -72,6 +73,7 @@ $cgiparams{'DHCP_WINS'} = '';
 $cgiparams{'DCOMPLZO'} = 'off';
 $cgiparams{'MSSFIX'} = '';
 
+
 &Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
 
 # prepare openvpn config file
@@ -395,6 +397,22 @@ sub emptyserverlog{
 
 }
 
+###
+# m.a.d net2net
+###
+
+sub validdotmask
+{
+       my $ipdotmask = $_[0];
+       if (&General::validip($ipdotmask)) { return 0; }
+       if (!($ipdotmask =~ /^(.*?)\/(.*?)$/)) {  }
+       my $mask = $2;
+       if (($mask =~ /\./ )) { return 0; }     
+  return 1;
+}
+
+
 #hier die refresh page
 if ( -e "${General::swroot}/ovpn/gencanow") {
     my $refresh = '';
@@ -514,12 +532,166 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
     &writeserverconf();#hier ok
 }
 
+###
+# m.a.d net2net
+###
 
+if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq 'net' && $cgiparams{'SIDE'} eq 'server')
+{
 
+my @remsubnet = split(/\//,$cgiparams{'REMOTE_SUBNET'});
+my @ovsubnettemp =  split(/\./,$cgiparams{'OVPN_SUBNET'});
+my $ovsubnet =  "@ovsubnettemp[0].@ovsubnettemp[1].@ovsubnettemp[2]";
+my $tunmtu =  '';
+
+unless(-d "${General::swroot}/ovpn/n2nconf/"){mkdir "${General::swroot}/ovpn/n2nconf", 0755 or die "Unable to create dir $!";}
+unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}", 0770 or die "Unable to create dir $!";}   
+
+  open(SERVERCONF,    ">${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Unable to open ${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf: $!";
+  
+  flock SERVERCONF, 2;
+  print SERVERCONF "# IPFire n2n Open VPN Server Config by ummeegge und m.a.d\n"; 
+  print SERVERCONF "\n"; 
+  print SERVERCONF "# User Security\n";
+  print SERVERCONF "user nobody\n";
+  print SERVERCONF "group nobody\n";
+  print SERVERCONF "persist-tun\n";
+  print SERVERCONF "persist-key\n";
+  print SERVERCONF "script-security 2\n";
+  print SERVERCONF "# IP/DNS for remote Server Gateway\n"; 
+  print SERVERCONF "remote $cgiparams{'REMOTE'}\n";
+  print SERVERCONF "float\n";
+  print SERVERCONF "# IP adresses of the VPN Subnet\n"; 
+  print SERVERCONF "ifconfig $ovsubnet.1 $ovsubnet.2\n"; 
+  print SERVERCONF "# Client Gateway Network\n"; 
+  print SERVERCONF "route @remsubnet[0] @remsubnet[1]\n";
+  print SERVERCONF "# tun Device\n"; 
+  print SERVERCONF "dev tun\n"; 
+  print SERVERCONF "# Port and Protokol\n"; 
+  print SERVERCONF "port $cgiparams{'DEST_PORT'}\n"; 
+  
+  if ($cgiparams{'PROTOCOL'} eq 'tcp') {
+  print SERVERCONF "proto tcp-server\n";
+  print SERVERCONF "# Packet size\n";
+  if ($cgiparams{'MTU'} eq '') {$tunmtu = '1400'} else {$tunmtu = $cgiparams{'MTU'}};
+  print SERVERCONF "tun-mtu $tunmtu\n";
+  }
+  
+  if ($cgiparams{'PROTOCOL'} eq 'udp') {
+  print SERVERCONF "proto udp\n"; 
+  print SERVERCONF "# Paketsize\n";
+  if ($cgiparams{'MTU'} eq '') {$tunmtu = '1500'} else {$tunmtu = $cgiparams{'MTU'}};
+  print SERVERCONF "tun-mtu $tunmtu\n";
+  if ($cgiparams{'FRAGMENT'} ne '')  {print SERVERCONF "fragment $cgiparams{'FRAGMENT'}\n";}
+  if ($cgiparams{'MSSFIX'} eq 'on') {print SERVERCONF "mssfix\n";}
+  }
+   
+  print SERVERCONF "# Auth. Server\n"; 
+  print SERVERCONF "tls-server\n"; 
+  print SERVERCONF "ca ${General::swroot}/ovpn/ca/cacert.pem\n"; 
+  print SERVERCONF "cert ${General::swroot}/ovpn/certs/servercert.pem\n"; 
+  print SERVERCONF "key ${General::swroot}/ovpn/certs/serverkey.pem\n"; 
+  print SERVERCONF "dh ${General::swroot}/ovpn/ca/dh1024.pem\n"; 
+  print SERVERCONF "# Cipher\n"; 
+  print SERVERCONF "cipher AES-256-CBC\n"; 
+  if ($cgiparams{'COMPLZO'} eq 'on') {
+   print SERVERCONF "# Enable Compression\n";
+   print SERVERCONF "comp-lzo\r\n";
+     }
+  print SERVERCONF "# Debug Level\n"; 
+  print SERVERCONF "verb 3\n"; 
+  print SERVERCONF "# Tunnel check\n"; 
+  print SERVERCONF "keepalive 10 60\n"; 
+  print SERVERCONF "# Start as daemon\n"; 
+  print SERVERCONF "daemon $cgiparams{'NAME'}n2n\n"; 
+  print SERVERCONF "writepid /var/run/$cgiparams{'NAME'}n2n.pid\n"; 
+  print SERVERCONF "# Activate Management Interface and Port\n"; 
+  print SERVERCONF "#management localhost 4711\n";
+  close(SERVERCONF);
 
+}
+
+###
+# m.a.d net2net
+###
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq 'net' && $cgiparams{'SIDE'} eq 'client')
+{
+        my @ovsubnettemp =  split(/\./,$cgiparams{'OVPN_SUBNET'});
+        my $ovsubnet =  "@ovsubnettemp[0].@ovsubnettemp[1].@ovsubnettemp[2]";
+        my @remsubnet =  split(/\//,$cgiparams{'REMOTE_SUBNET'});
+        my $tunmtu =  '';
+           
+unless(-d "${General::swroot}/ovpn/n2nconf/"){mkdir "${General::swroot}/ovpn/n2nconf", 0755 or die "Unable to create dir $!";}
+unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}", 0770 or die "Unable to create dir $!";}
+  
+  open(CLIENTCONF,    ">${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Unable to open ${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf: $!";
+  
+  flock CLIENTCONF, 2;
+  print CLIENTCONF "# IPFire rewritten n2n Open VPN Client Config by ummeegge und m.a.d\n";
+  print CLIENTCONF "#\n"; 
+  print CLIENTCONF "# User Security\n";
+  print CLIENTCONF "user nobody\n";
+  print CLIENTCONF "group nobody\n";
+  print CLIENTCONF "persist-tun\n";
+  print CLIENTCONF "persist-key\n";
+  print CLIENTCONF "script-security 2\n";
+  print CLIENTCONF "# IP/DNS for remote Server Gateway\n"; 
+  print CLIENTCONF "remote $cgiparams{'REMOTE'}\n";
+  print CLIENTCONF "float\n";
+  print CLIENTCONF "# IP adresses of the VPN Subnet\n"; 
+  print CLIENTCONF "ifconfig $ovsubnet.2 $ovsubnet.1\n"; 
+  print CLIENTCONF "# Server Gateway Network\n"; 
+  print CLIENTCONF "route @remsubnet[0] @remsubnet[1]\n"; 
+  print CLIENTCONF "# tun Device\n"; 
+  print CLIENTCONF "dev tun\n"; 
+  print CLIENTCONF "# Port and Protokol\n"; 
+  print CLIENTCONF "port $cgiparams{'DEST_PORT'}\n"; 
+
+  if ($cgiparams{'PROTOCOL'} eq 'tcp') {
+  print CLIENTCONF "proto tcp-client\n";
+  print CLIENTCONF "# Packet size\n";
+  if ($cgiparams{'MTU'} eq '') {$tunmtu = '1400'} else {$tunmtu = $cgiparams{'MTU'}};
+  print CLIENTCONF "tun-mtu $tunmtu\n";
+  print CLIENTCONF "ns-cert-type server\n";
+  }
+  
+  if ($cgiparams{'PROTOCOL'} eq 'udp') {
+  print CLIENTCONF "proto udp\n"; 
+  print CLIENTCONF "# Paketsize\n";
+  if ($cgiparams{'MTU'} eq '') {$tunmtu = '1500'} else {$tunmtu = $cgiparams{'MTU'}};
+  print CLIENTCONF "tun-mtu $tunmtu\n";
+  if ($cgiparams{'FRAGMENT'} ne '')  {print CLIENTCONF "fragment $cgiparams{'FRAGMENT'}\n";}
+  if ($cgiparams{'MSSFIX'} eq 'on') {print CLIENTCONF "mssfix\n";}
+  }
+     
+  print CLIENTCONF "# Auth. Client\n"; 
+  print CLIENTCONF "tls-client\n"; 
+  print CLIENTCONF "# Cipher\n"; 
+  print CLIENTCONF "cipher AES-256-CBC\n"; 
+  print CLIENTCONF "pkcs12 ${General::swroot}/ovpn/certs/$cgiparams{'NAME'}.p12\r\n";
+  if ($cgiparams{'COMPLZO'} eq 'on') {
+   print CLIENTCONF "# Enable Compression\n";
+   print CLIENTCONF "comp-lzo\r\n";
+     }
+  print CLIENTCONF "# Debug Level\n"; 
+  print CLIENTCONF "verb 3\n"; 
+  print CLIENTCONF "# Tunnel check\n"; 
+  print CLIENTCONF "keepalive 10 60\n"; 
+  print CLIENTCONF "# Start as daemon\n"; 
+  print CLIENTCONF "daemon $cgiparams{'NAME'}n2n\n";
+  print CLIENTCONF "writepid /var/run/$cgiparams{'NAME'}n2n.pid\n"; 
+  print CLIENTCONF "# Activate Management Interface and Port\n"; 
+  print CLIENTCONF "# management localhost 4711\n";
+  close(CLIENTCONF);
+
+}
+  
 ###
 ### Save main settings
 ###
+
+
 if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     #DAN do we really need (to to check) this value? Besides if we listen on blue and orange too,
@@ -1314,36 +1486,50 @@ END
 ###
 ### Enable/Disable connection
 ###
+
+###
+# m.a.d net2net
+###
+
 }elsif ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
     
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-
+#    my $n2nactive = '';
+    my $n2nactive = `/bin/ps ax|grep $confighash{$cgiparams{'KEY'}}[1]|grep -v grep|awk \'{print \$1}\'`;
+    
     if ($confighash{$cgiparams{'KEY'}}) {
-       if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
+
+
+       if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
            $confighash{$cgiparams{'KEY'}}[0] = 'on';
            &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-           #&writeserverconf();
-#          if ($vpnsettings{'ENABLED'} eq 'on' ||
-#              $vpnsettings{'ENABLED_BLUE'} eq 'on') {
-#              system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
-#          }
-       } else {
+
+     if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
+                 system('/usr/local/bin/openvpnctrl', '-sn2n', $confighash{$cgiparams{'KEY'}}[1]);
+          }
+  } else {
+
            $confighash{$cgiparams{'KEY'}}[0] = 'off';
-#          if ($vpnsettings{'ENABLED'} eq 'on' ||
-#              $vpnsettings{'ENABLED_BLUE'} eq 'on') {
-#              system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'});
-#          }
-           &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-           #&writeserverconf();
-       }
-    } else {
-       $errormessage = $Lang::tr{'invalid key'};
-    }
+      &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+
+          if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
+                    if ($n2nactive ne ''){                             
+                    system('/usr/local/bin/openvpnctrl', '-kn2n', $confighash{$cgiparams{'KEY'}}[1]);
+           }
+          } else {
+                 $errormessage = $Lang::tr{'invalid key'};
+          }
+      }
+  }
 
 ###
 ### Download OpenVPN client package
 ###
+
+
 } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'dl client arch'}) {
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
@@ -1352,9 +1538,108 @@ END
     my @fileholder;
     my $tempdir = tempdir( CLEANUP => 1 );
     my $zippath = "$tempdir/";
-    my $zipname = "$confighash{$cgiparams{'KEY'}}[1]-TO-IPFire.zip";
-    my $zippathname = "$zippath$zipname";
-    $clientovpn = "$confighash{$cgiparams{'KEY'}}[1]-TO-IPFire.ovpn";
+
+###
+# m.a.d net2net
+###
+
+if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
+        
+        my $zipname = "$confighash{$cgiparams{'KEY'}}[1]-Client.zip";
+        my $zippathname = "$zippath$zipname";
+        $clientovpn = "$confighash{$cgiparams{'KEY'}}[1].conf";  
+        my @ovsubnettemp =  split(/\./,$confighash{$cgiparams{'KEY'}}[27]);
+        my $ovsubnet =  "@ovsubnettemp[0].@ovsubnettemp[1].@ovsubnettemp[2]";
+        my $tunmtu = ''; 
+        my @remsubnet = split(/\//,$confighash{$cgiparams{'KEY'}}[8]);
+        
+    open(CLIENTCONF, ">$tempdir/$clientovpn") or die "Unable to open tempfile: $!";
+    flock CLIENTCONF, 2;
+    
+    my $zip = Archive::Zip->new();
+   print CLIENTCONF "# IPFire n2n Open VPN Client Config by ummeegge und m.a.d\n";
+   print CLIENTCONF "# \n";
+   print CLIENTCONF "# User Security\n";
+   print CLIENTCONF "user nobody\n";
+   print CLIENTCONF "group nobody\n";
+   print CLIENTCONF "persist-tun\n";
+   print CLIENTCONF "persist-key\n";
+   print CLIENTCONF "script-security 2\n";
+   print CLIENTCONF "# IP/DNS for remote Server Gateway\n"; 
+   print CLIENTCONF "remote $vpnsettings{'VPN_IP'}\n";
+   print CLIENTCONF "float\n";
+   print CLIENTCONF "# IP adresses of the VPN Subnet\n"; 
+   print CLIENTCONF "ifconfig $ovsubnet.2 $ovsubnet.1\n"; 
+   print CLIENTCONF "# Server Gateway Network\n"; 
+   print CLIENTCONF "route $remsubnet[0] $remsubnet[1]\n";
+   print CLIENTCONF "# tun Device\n"; 
+   print CLIENTCONF "dev $vpnsettings{'DDEVICE'}\n"; 
+   print CLIENTCONF "# Port and Protokoll\n"; 
+   print CLIENTCONF "port $confighash{$cgiparams{'KEY'}}[29]\n"; 
+   
+   if ($confighash{$cgiparams{'KEY'}}[28] eq 'tcp') {
+   print CLIENTCONF "proto tcp-client\n";
+   print CLIENTCONF "# Packet size\n";
+   if ($confighash{$cgiparams{'KEY'}}[31] eq '') {$tunmtu = '1400'} else {$tunmtu = $confighash{$cgiparams{'KEY'}}[31]};
+   print CLIENTCONF "tun-mtu $tunmtu\n";
+   print CLIENTCONF "ns-cert-type server\n";
+   }
+  
+   if ($confighash{$cgiparams{'KEY'}}[28] eq 'udp') {
+   print CLIENTCONF "proto udp\n"; 
+   print CLIENTCONF "# Paketsize\n";
+   if ($confighash{$cgiparams{'KEY'}}[31] eq '') {$tunmtu = '1500'} else {$tunmtu = $confighash{$cgiparams{'KEY'}}[31]};
+   print CLIENTCONF "tun-mtu $tunmtu\n";
+   if ($cgiparams{'FRAGMENT'} ne '')  {print CLIENTCONF "fragment $cgiparams{'FRAGMENT'}\n";}
+   if ($confighash{$cgiparams{'KEY'}}[23] eq 'on') {print CLIENTCONF "mssfix\n";}
+   }
+      
+   print CLIENTCONF "# Auth. Client\n"; 
+   print CLIENTCONF "tls-client\n"; 
+   print CLIENTCONF "# Cipher\n"; 
+   print CLIENTCONF "cipher AES-256-CBC\n"; 
+    if ($confighash{$cgiparams{'KEY'}}[4] eq 'cert' && -f "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12") { 
+        print CLIENTCONF "pkcs12 ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12\r\n";
+     $zip->addFile( "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12", "$confighash{$cgiparams{'KEY'}}[1].p12") or die "Can't add file $confighash{$cgiparams{'KEY'}}[1].p12\n";
+   } 
+    if ($confighash{$cgiparams{'KEY'}}[30] eq 'on') {
+   print CLIENTCONF "# Enable Compression\n";
+   print CLIENTCONF "comp-lzo\r\n";
+     }
+   print CLIENTCONF "# Debug Level\n"; 
+   print CLIENTCONF "verb 3\n"; 
+   print CLIENTCONF "# Tunnel check\n"; 
+   print CLIENTCONF "keepalive 10 60\n"; 
+   print CLIENTCONF "# Start as daemon\n"; 
+   print CLIENTCONF "daemon $confighash{$cgiparams{'KEY'}}[1]n2n\n"; 
+   print CLIENTCONF "writepid /var/run/$confighash{$cgiparams{'KEY'}}[1]n2n.pid\n"; 
+   print CLIENTCONF "# Activate Management Interface and Port\n"; 
+   print CLIENTCONF "# management localhost 4711\n";
+   print CLIENTCONF "# remsub $confighash{$cgiparams{'KEY'}}[11]\n";
+  
+
+    close(CLIENTCONF);
+        
+    $zip->addFile( "$tempdir/$clientovpn", $clientovpn) or die "Can't add file $clientovpn\n";
+    my $status = $zip->writeToFileNamed($zippathname);
+
+    open(DLFILE, "<$zippathname") or die "Unable to open $zippathname: $!";
+    @fileholder = <DLFILE>;
+    print "Content-Type:application/x-download\n";
+    print "Content-Disposition:attachment;filename=$zipname\n\n";
+    print @fileholder;
+    exit (0);
+}
+else
+{
+        my $zipname = "$confighash{$cgiparams{'KEY'}}[1]-TO-IPFire.zip";
+        my $zippathname = "$zippath$zipname";
+        $clientovpn = "$confighash{$cgiparams{'KEY'}}[1]-TO-IPFire.ovpn";
+
+###
+# m.a.d net2net
+###
+  
     open(CLIENTCONF, ">$tempdir/$clientovpn") or die "Unable to open tempfile: $!";
     flock CLIENTCONF, 2;
     
@@ -1410,6 +1695,7 @@ END
        print CLIENTCONF "fragment $vpnsettings{'FRAGMENT'}\r\n";
     }
     close(CLIENTCONF);
+        
     $zip->addFile( "$tempdir/$clientovpn", $clientovpn) or die "Can't add file $clientovpn\n";
     my $status = $zip->writeToFileNamed($zippathname);
 
@@ -1419,10 +1705,15 @@ END
     print "Content-Disposition:attachment;filename=$zipname\n\n";
     print @fileholder;
     exit (0);
-
+   }
+   
+   
+   
 ###
 ### Remove connection
 ###
+
+
 } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) {
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
@@ -1434,7 +1725,22 @@ END
 #      }
 #
        my $temp = `/usr/bin/openssl ca -revoke ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
-       unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+
+###
+# m.a.d net2net
+###
+
+ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
+
+       my $conffile = glob("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]/$confighash{$cgiparams{'KEY'}}[1].conf");
+  my $certfile = glob("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
+  unlink ($certfile) or die "Removing $certfile fail: $!";
+  unlink ($conffile) or die "Removing $conffile fail: $!";
+  rmdir ("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]") || die "Kann Verzeichnis nicht loeschen: $!";
+  
+}
+
+  unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
        unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
        delete $confighash{$cgiparams{'KEY'}};
        my $temp2 = `/usr/bin/openssl ca -gencrl -out ${General::swroot}/ovpn/crls/cacrl.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
@@ -1443,6 +1749,8 @@ END
     } else {
        $errormessage = $Lang::tr{'invalid key'};
     }
+
+
 ###
 ### Download PKCS12 file
 ###
@@ -1609,8 +1917,8 @@ ADV_ERROR:
        <tr>
          <td class='base'>fragment <br></td>
          <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td>
-         <td>Default: <span class="base">1300</span></td>
-         </tr>
+        <td>Default: <span class="base">1300</span></td>
+      </tr>
        <tr>
          <td class='base'>mssfix</td>
          <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
@@ -1799,13 +2107,14 @@ END
 ###
 ### Enable/Disable connection
 ###
+
 } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
     
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
     if ($confighash{$cgiparams{'KEY'}}) {
-       if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
+          if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
            $confighash{$cgiparams{'KEY'}}[0] = 'on';
            &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
            #&writeserverconf();
@@ -1862,6 +2171,358 @@ END
     } else {
        $errormessage = $Lang::tr{'invalid key'};
     }
+#test33
+
+###
+### Choose between adding a host-net or net-net connection
+###
+
+###
+# m.a.d net2net
+###
+
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'add'} && $cgiparams{'TYPE'} eq '') {
+       &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
+       &Header::showhttpheaders();
+       &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', '');
+       &Header::openbox('100%', 'LEFT', $Lang::tr{'connection type'});
+
+if ( -s "${General::swroot}/ovpn/settings") {
+
+       print <<END
+           <b>$Lang::tr{'connection type'}:</b><br />
+           <table><form method='post' ENCTYPE="multipart/form-data">
+           <tr><td><input type='radio' name='TYPE' value='host' checked /></td>
+               <td class='base'>$Lang::tr{'host to net vpn'}</td></tr>
+           <tr><td><input type='radio' name='TYPE' value='net' /></td>
+               <td class='base'>$Lang::tr{'net to net vpn'}</td></tr>
+               <tr><td><input type='radio' name='TYPE' value='net2net' /></td>         
+               <td class='base'>$Lang::tr{'net to net vpn'} (Upload Client Package)</td></tr>
+         <tr><td>&nbsp;</td><td class='base'><input type='file' name='FH' size='30'></td></tr>
+         <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
+           </form></table>
+END
+       ;
+
+} else {
+       print <<END
+                   <b>$Lang::tr{'connection type'}:</b><br />
+           <table><form method='post' ENCTYPE="multipart/form-data">
+           <tr><td><input type='radio' name='TYPE' value='host' checked /></td> <td class='base'>$Lang::tr{'host to net vpn'}</td></tr>
+           <tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' /></td></tr>
+           </form></table>
+END
+       ;
+
+}
+
+       &Header::closebox();
+       &Header::closebigbox();
+       &Header::closepage();
+       exit (0);
+
+###
+# m.a.d net2net
+###
+
+}  elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) && ($cgiparams{'TYPE'} eq 'net2net')){
+
+       my @firen2nconf;
+       my @confdetails;
+       my $uplconffilename ='';
+       my $uplp12name = '';
+       my @rem_subnet;
+       my @rem_subnet2;
+       my @tmposupnet3;        
+       my $key;
+
+       &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);    
+
+# Check if a file is uploaded
+
+       if (ref ($cgiparams{'FH'}) ne 'Fh') {
+               $errormessage = $Lang::tr{'there was no file upload'};
+               goto N2N_ERROR;
+    }
+
+# Move uploaded IPfire n2n package to temporary file
+
+    (my $fh, my $filename) = tempfile( );
+    if (copy ($cgiparams{'FH'}, $fh) != 1) {
+               $errormessage = $!;
+               goto N2N_ERROR;
+    }
+
+       my $zip = Archive::Zip->new();
+       my $zipName = $filename;
+       my $status = $zip->read( $zipName );
+       if ($status != AZ_OK) {   
+               $errormessage = "Read of $zipName failed\n";
+               goto N2N_ERROR;
+       }
+
+       my $tempdir = tempdir( CLEANUP => 1 );
+       my @files = $zip->memberNames();
+       for(@files) {
+       $zip->extractMemberWithoutPaths($_,"$tempdir/$_");
+       }
+       my $countfiles = @files;
+
+# Check if we have not more then 2 files
+
+       if ( $countfiles == 2){
+               foreach (@files){
+                       if ( $_ =~ /.conf$/){
+                               $uplconffilename = $_;
+                       }
+                       if ( $_ =~ /.p12$/){
+                               $uplp12name = $_;
+                       }                       
+               }
+               if (($uplconffilename eq '') || ($uplp12name eq '')){
+                       $errormessage = "Either no *.conf or no *.p12 file found\n";
+                       goto N2N_ERROR;
+               }
+
+               open(FILE, "$tempdir/$uplconffilename") or die 'Unable to open*.conf file';
+               @firen2nconf = <FILE>;
+               close (FILE);
+               chomp(@firen2nconf);
+
+       } else {
+
+               $errormessage = "Filecount does not match only 2 files are allowed\n";
+               goto N2N_ERROR;
+       }
+
+###
+# m.a.d net2net
+###
+
+ my @n2nname = split(/\./,$uplconffilename);
+    $n2nname[0] =~ s/\n|\r//g;
+
+    unless(-d "${General::swroot}/ovpn/n2nconf/"){mkdir "${General::swroot}/ovpn/n2nconf", 0755 or die "Unable to create dir $!";}
+    unless(-d "${General::swroot}/ovpn/n2nconf/$n2nname[0]"){mkdir "${General::swroot}/ovpn/n2nconf/$n2nname[0]", 0770 or die "Unable to create dir $!";}   
+
+       move("$tempdir/$uplconffilename", "${General::swroot}/ovpn/n2nconf/$n2nname[0]/$uplconffilename");
+
+       if ($? ne 0) {
+           $errormessage = "*.conf move failed: $!";
+           unlink ($filename);
+           goto N2N_ERROR;
+       }
+       
+       move("$tempdir/$uplp12name", "${General::swroot}/ovpn/certs/$uplp12name");
+       chmod 0600, "${General::swroot}/ovpn/certs/$uplp12name";
+       
+       if ($? ne 0) {
+           $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+           unlink ($filename);
+           goto N2N_ERROR;
+       }       
+       
+my $complzoactive;
+my $mssfixactive;
+my $n2nfragment;
+my @n2nproto2 = split(/ /, (grep { /^proto/ } @firen2nconf)[0]);
+my @n2nproto = split(/-/, @n2nproto2[1]);
+my @n2nport = split(/ /, (grep { /^port/ } @firen2nconf)[0]);
+my @n2ntunmtu = split(/ /, (grep { /^tun-mtu/ } @firen2nconf)[0]);
+my @n2ncomplzo = grep { /^comp-lzo/ } @firen2nconf;
+if ($n2ncomplzo[0] =~ /comp-lzo/){$complzoactive = "on";} else {$complzoactive = "off";}       
+my @n2nmssfix  = grep { /^mssfix/ } @firen2nconf;
+if ($n2nmssfix[0] =~ /mssfix/){$mssfixactive = "on";} else {$mssfixactive = "off";}
+my @n2nfragment = split(/ /, (grep { /^fragment/ } @firen2nconf)[0]);
+my @n2nremote = split(/ /, (grep { /^remote/ } @firen2nconf)[0]);
+my @n2novpnsuball = split(/ /, (grep { /^ifconfig/ } @firen2nconf)[0]);
+my @n2novpnsub =  split(/\./,$n2novpnsuball[1]);
+my @n2nremsub = split(/ /, (grep { /^route/ } @firen2nconf)[0]);
+my @n2nlocalsub  = split(/ /, (grep { /^# remsub/ } @firen2nconf)[0]);
+
+
+###
+# m.a.d delete CR and LF from arrays for this chomp doesnt work
+###
+
+$n2nremote[1] =~ s/\n|\r//g;
+$n2novpnsub[0] =~ s/\n|\r//g;
+$n2novpnsub[1] =~ s/\n|\r//g;
+$n2novpnsub[2] =~ s/\n|\r//g;
+$n2nproto[0] =~ s/\n|\r//g;
+$n2nport[1] =~ s/\n|\r//g;
+$n2ntunmtu[1] =~ s/\n|\r//g;
+$n2nremsub[1] =~ s/\n|\r//g;
+$n2nremsub[2] =~ s/\n|\r//g;
+$n2nlocalsub[2] =~ s/\n|\r//g;
+$n2nfragment[1] =~ s/\n|\r//g;
+chomp ($complzoactive);
+chomp ($mssfixactive);
+
+###
+# m.a.d net2net
+###
+
+###
+# Check if there is no other entry with this name
+###
+
+       foreach my $dkey (keys %confighash) {
+               if ($confighash{$dkey}[1] eq $n2nname[0]) {
+                       $errormessage = $Lang::tr{'a connection with this name already exists'};
+                       unlink ("${General::swroot}/ovpn/n2nconf/$n2nname[0]/$n2nname[0].conf") or die "Removing Configfile fail: $!";
+           unlink ("${General::swroot}/ovpn/certs/$n2nname[0].p12") or die "Removing Certfile fail: $!";
+      rmdir ("${General::swroot}/ovpn/n2nconf/$n2nname[0]") || die "Removing Directory fail: $!";
+                       goto N2N_ERROR;                 
+               }
+       }
+
+###
+# Check if OpenVPN Subnet is valid
+###
+
+foreach my $dkey (keys %confighash) {
+               if ($confighash{$dkey}[27] eq "$n2novpnsub[0].$n2novpnsub[1].$n2novpnsub[2].0/255.255.255.0") {
+                       $errormessage = 'The OpenVPN Subnet is already in use';
+                       unlink ("${General::swroot}/ovpn/n2nconf/$n2nname[0]/$n2nname[0].conf") or die "Removing Configfile fail: $!";
+           unlink ("${General::swroot}/ovpn/certs/$n2nname[0].p12") or die "Removing Certfile fail: $!";
+      rmdir ("${General::swroot}/ovpn/n2nconf/$n2nname[0]") || die "Removing Directory fail: $!";
+                       goto N2N_ERROR;                 
+               }
+       }
+
+###
+# Check im Dest Port is vaild
+###
+
+foreach my $dkey (keys %confighash) {
+               if ($confighash{$dkey}[29] eq $n2nport[1] ) {
+                       $errormessage = 'The OpenVPN Port is already in use';
+                       unlink ("${General::swroot}/ovpn/n2nconf/$n2nname[0]/$n2nname[0].conf") or die "Removing Configfile fail: $!";
+           unlink ("${General::swroot}/ovpn/certs/$n2nname[0].p12") or die "Removing Certfile fail: $!";
+      rmdir ("${General::swroot}/ovpn/n2nconf/$n2nname[0]") || die "Removing Directory fail: $!";
+                       goto N2N_ERROR;                 
+               }
+       }
+       
+       
+       
+  $key = &General::findhasharraykey (\%confighash);
+
+       foreach my $i (0 .. 31) { $confighash{$key}[$i] = "";}
+       $confighash{$key}[0] = 'off';
+       $confighash{$key}[1] = $n2nname[0];
+  $confighash{$key}[2] = $n2nname[0];  
+       $confighash{$key}[3] = 'net';
+       $confighash{$key}[4] = 'cert';  
+       $confighash{$key}[6] = 'client';                
+       $confighash{$key}[8] =  $n2nlocalsub[2];
+  $confighash{$key}[10] = $n2nremote[1];
+  $confighash{$key}[11] = "$n2nremsub[1]/$n2nremsub[2]";               
+       $confighash{$key}[23] = $mssfixactive;
+       $confighash{$key}[24] = $n2nfragment[1];
+  $confighash{$key}[25] = 'IPFire n2n Client';
+       $confighash{$key}[26] = 'red';
+  $confighash{$key}[27] = "$n2novpnsub[0].$n2novpnsub[1].$n2novpnsub[2].0/255.255.255.0";
+  $confighash{$key}[28] = $n2nproto[0];
+  $confighash{$key}[29] = $n2nport[1];
+  $confighash{$key}[30] = $complzoactive;
+  $confighash{$key}[31] = $n2ntunmtu[1];
+
+
+  &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+  N2N_ERROR:
+               
+       &Header::showhttpheaders();
+       &Header::openpage('Validate imported configuration', 1, '');
+       &Header::openbigbox('100%', 'LEFT', '', $errormessage);
+       if ($errormessage) {
+           &Header::openbox('100%', 'LEFT', $Lang::tr{'error messages'});
+           print "<class name='base'>$errormessage";
+           print "&nbsp;</class>";
+           &Header::closebox();                
+
+       } else 
+  {            
+               &Header::openbox('100%', 'LEFT', 'import ipfire net2net config');
+       }
+       if ($errormessage eq ''){
+               print <<END             
+               <!-- ipfire net2net config gui -->
+               <table width='100%'>
+               <tr><td width='25%'>&nbsp;</td><td width='25%'>&nbsp;</td></tr>
+    <tr><td class='boldbase'>$Lang::tr{'name'}:</td><td><b>$n2nname[0]</b></td></tr>
+    <tr><td>&nbsp;</td><td>&nbsp;</td></tr>    
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td><td><b>$confighash{$key}[6]</b></td></tr>                                                              
+               <tr><td class='boldbase' nowrap='nowrap'>Remote Host </td><td><b>$confighash{$key}[10]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td><td><b>$confighash{$key}[8]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td><td><b>$confighash{$key}[11]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td><td><b>$confighash{$key}[27]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'protocol'}</td><td><b>$confighash{$key}[28]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'destination port'}:</td><td><b>$confighash{$key}[29]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'}</td><td><b>$confighash{$key}[30]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>MSSFIX </td><td><b>$confighash{$key}[23]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>Fragment </td><td><b>$confighash{$key}[24]</b></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}</td><td><b>$confighash{$key}[31]</b></td></tr>
+               <tr><td>&nbsp;</td><td>&nbsp;</td></tr> 
+    </table>
+END
+;      
+               &Header::closebox();
+       }
+
+       if ($errormessage) {
+               print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
+       } else {        
+               print "<div align='center'><form method='post' ENCTYPE='multipart/form-data'><input type='submit' name='ACTION' value='$Lang::tr{'add'}' />";           
+               print "<input type='hidden' name='TYPE' value='net2netakn' />";
+               print "<input type='hidden' name='KEY' value='$key' />";                        
+               print "<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></div></form>";
+       }       
+       &Header::closebigbox();
+       &Header::closepage();
+       exit(0);        
+
+
+##
+### Accept IPFire n2n Package Settings
+###
+
+  }  elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) && ($cgiparams{'TYPE'} eq 'net2netakn')){
+
+###
+### Discard and Rollback IPFire n2n Package Settings
+###
+
+  }  elsif (($cgiparams{'ACTION'} eq $Lang::tr{'cancel'}) && ($cgiparams{'TYPE'} eq 'net2netakn')){
+     
+     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+
+if ($confighash{$cgiparams{'KEY'}}) {
+
+     my $conffile = glob("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]/$confighash{$cgiparams{'KEY'}}[1].conf");
+     my $certfile = glob("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
+     unlink ($certfile) or die "Removing $certfile fail: $!";
+     unlink ($conffile) or die "Removing $conffile fail: $!";
+     rmdir ("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]") || die "Kann Verzeichnis nicht loeschen: $!";
+     delete $confighash{$cgiparams{'KEY'}};
+    &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);      
+
+     } else {
+               $errormessage = $Lang::tr{'invalid key'};
+   }   
+    
+
+###
+# m.a.d net2net
+###
+
+
+###
+### Adding a new connection
+###
 } elsif (($cgiparams{'ACTION'} eq $Lang::tr{'add'}) ||
         ($cgiparams{'ACTION'} eq $Lang::tr{'edit'}) ||
         ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'ADVANCED'} eq '')) {
@@ -1875,16 +2536,18 @@ END
            $errormessage = $Lang::tr{'invalid key'};
            goto VPNCONF_END;
        }
-
        $cgiparams{'ENABLED'}   = $confighash{$cgiparams{'KEY'}}[0];
        $cgiparams{'NAME'}      = $confighash{$cgiparams{'KEY'}}[1];
-       $cgiparams{'TYPE'}      = 'host';
+       $cgiparams{'TYPE'}      = $confighash{$cgiparams{'KEY'}}[3];
        $cgiparams{'AUTH'}      = $confighash{$cgiparams{'KEY'}}[4];
        $cgiparams{'PSK'}       = $confighash{$cgiparams{'KEY'}}[5];
        $cgiparams{'SIDE'}      = $confighash{$cgiparams{'KEY'}}[6];
        $cgiparams{'LOCAL_SUBNET'} = $confighash{$cgiparams{'KEY'}}[8];
-       $cgiparams{'REMOTE'}    = $confighash{$cgiparams{'KEY'}}[10];
-       $cgiparams{'REMOTE_SUBNET'} = $confighash{$cgiparams{'KEY'}}[11];
+  $cgiparams{'REMOTE'} = $confighash{$cgiparams{'KEY'}}[10];
+  $cgiparams{'REMOTE_SUBNET'} = $confighash{$cgiparams{'KEY'}}[11];
+# n2n m.a.d new fields
+  $cgiparams{'MSSFIX'} = $confighash{$cgiparams{'KEY'}}[23];
+  $cgiparams{'FRAGMENT'} = $confighash{$cgiparams{'KEY'}}[24];
        $cgiparams{'REMARK'}    = $confighash{$cgiparams{'KEY'}}[25];
        $cgiparams{'INTERFACE'} = $confighash{$cgiparams{'KEY'}}[26];
 #new fields    
@@ -1893,49 +2556,149 @@ END
        $cgiparams{'DEST_PORT'}   = $confighash{$cgiparams{'KEY'}}[29];
        $cgiparams{'COMPLZO'}     = $confighash{$cgiparams{'KEY'}}[30];
        $cgiparams{'MTU'}         = $confighash{$cgiparams{'KEY'}}[31];
+
 #new fields
 #ab hiere error uebernehmen
+
     } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
        $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'});
-       if ($cgiparams{'TYPE'} !~ /^(host|net)$/) {
+       
+  if ($cgiparams{'TYPE'} !~ /^(host|net)$/) {
            $errormessage = $Lang::tr{'connection type is invalid'};
+           if ($cgiparams{'TYPE'} eq 'net') {
+      unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      }
            goto VPNCONF_ERROR;
        }
 
 
        if ($cgiparams{'NAME'} !~ /^[a-zA-Z0-9]+$/) {
            $errormessage = $Lang::tr{'name must only contain characters'};
-           goto VPNCONF_ERROR;
-       }
+      if ($cgiparams{'TYPE'} eq 'net') {
+      unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      }
+      goto VPNCONF_ERROR;
+  }
 
        if ($cgiparams{'NAME'} =~ /^(host|01|block|private|clear|packetdefault)$/) {
            $errormessage = $Lang::tr{'name is invalid'};
+           if ($cgiparams{'TYPE'} eq 'net') {
+      unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      }
            goto VPNCONF_ERROR;
        }
 
        if (length($cgiparams{'NAME'}) >60) {
            $errormessage = $Lang::tr{'name too long'};
+           if ($cgiparams{'TYPE'} eq 'net') {
+      unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      }
            goto VPNCONF_ERROR;
        }
 
+###
+# m.a.d net2net
+###
+
+if ($cgiparams{'TYPE'} eq 'net') {
+               
+    if ($cgiparams{'DEST_PORT'} eq  $vpnsettings{'DDEST_PORT'}) {
+                       $errormessage = $Lang::tr{'openvpn destination port used'};
+                       unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      goto VPNCONF_ERROR;                      
+               }
+
+    if ($cgiparams{'OVPN_SUBNET'} eq  $vpnsettings{'DOVPN_SUBNET'}) {
+                       $errormessage = $Lang::tr{'openvpn subnet is used'};
+                       unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+                       goto VPNCONF_ERROR;                     
+               }
+
+         if (($cgiparams{'PROTOCOL'} eq 'tcp') && ($cgiparams{'MSSFIX'} eq 'on')) {
+           $errormessage = $Lang::tr{'openvpn mssfix allowed with udp'};
+           unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+           goto VPNCONF_ERROR;
+    }
+     
+    if (($cgiparams{'PROTOCOL'} eq 'tcp') && ($cgiparams{'FRAGMENT'} ne '')) {
+           $errormessage = $Lang::tr{'openvpn fragment allowed with udp'};
+           unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+           goto VPNCONF_ERROR;
+    }
+
+    if ( &validdotmask ($cgiparams{'LOCAL_SUBNET'}))  {
+                 $errormessage = $Lang::tr{'openvpn prefix local subnet'};
+                 unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+                 goto VPNCONF_ERROR;
+               } 
+    
+    if ( &validdotmask ($cgiparams{'OVPN_SUBNET'}))  {
+                 $errormessage = $Lang::tr{'openvpn prefix openvpn subnet'};
+                 unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+                 goto VPNCONF_ERROR;
+               } 
+    
+    if ( &validdotmask ($cgiparams{'REMOTE_SUBNET'}))  {
+                 $errormessage = $Lang::tr{'openvpn prefix remote subnet'};
+                 unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+                 goto VPNCONF_ERROR;
+               } 
+}
+
+#      if (($cgiparams{'TYPE'} eq 'net') && ($cgiparams{'SIDE'} !~ /^(left|right)$/)) {
+#          $errormessage = $Lang::tr{'ipfire side is invalid'};
+#          goto VPNCONF_ERROR;
+#      }
+
        # Check if there is no other entry with this name
        if (! $cgiparams{'KEY'}) {
            foreach my $key (keys %confighash) {
                if ($confighash{$key}[1] eq $cgiparams{'NAME'}) {
                    $errormessage = $Lang::tr{'a connection with this name already exists'};
+                   if ($cgiparams{'TYPE'} eq 'net') {
+        unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+             rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+        }
                    goto VPNCONF_ERROR;
                }
            }
        }
 
+       if (($cgiparams{'TYPE'} eq 'net') && (! $cgiparams{'REMOTE'})) {
+           $errormessage = $Lang::tr{'invalid input for remote host/ip'};
+           if ($cgiparams{'TYPE'} eq 'net') {
+      unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+           rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+      }
+           goto VPNCONF_ERROR;
+       }
+
        if ($cgiparams{'REMOTE'}) {
            if (! &General::validip($cgiparams{'REMOTE'})) {
                if (! &General::validfqdn ($cgiparams{'REMOTE'}))  {
                    $errormessage = $Lang::tr{'invalid input for remote host/ip'};
+                   if ($cgiparams{'TYPE'} eq 'net') {
+        unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+             rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+        }
                    goto VPNCONF_ERROR;
                } else {
                    if (&valid_dns_host($cgiparams{'REMOTE'})) {
                        $warnmessage = "$Lang::tr{'check vpn lr'} $cgiparams{'REMOTE'}. $Lang::tr{'dns check failed'}";
+                       if ($cgiparams{'TYPE'} eq 'net') {
+
+      }
                    }
                }
            }
@@ -1943,6 +2706,10 @@ END
        if ($cgiparams{'TYPE'} ne 'host') {
             unless (&General::validipandmask($cgiparams{'LOCAL_SUBNET'})) {
                    $errormessage = $Lang::tr{'local subnet is invalid'}; 
+                   if ($cgiparams{'TYPE'} eq 'net') {
+              unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+                   rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+              }
                        goto VPNCONF_ERROR;}
        }
        # Check if there is no other entry without IP-address and PSK
@@ -1956,6 +2723,12 @@ END
                }
            }
        }
+       if (($cgiparams{'TYPE'} eq 'net') && (! &General::validipandmask($cgiparams{'REMOTE_SUBNET'}))) {
+                $errormessage = $Lang::tr{'remote subnet is invalid'};
+                unlink ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}/$cgiparams{'NAME'}.conf") or die "Removing Configfile fail: $!";
+                     rmdir ("${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}") || die "Removing Directory fail: $!";
+               goto VPNCONF_ERROR;
+       }
 
        if ($cgiparams{'ENABLED'} !~ /^(on|off)$/) {
            $errormessage = $Lang::tr{'invalid input'};
@@ -2079,9 +2852,6 @@ END
                goto VPNCONF_ERROR;
            }
        } elsif ($cgiparams{'AUTH'} eq 'certgen') {
-       
-           $cgiparams{'CERT_NAME'} =~ s/ //g;
-       
            if ($cgiparams{'KEY'}) {
                $errormessage = $Lang::tr{'cant change certificates'};
                goto VPNCONF_ERROR;
@@ -2240,15 +3010,21 @@ END
        if ((! $cgiparams{'KEY'}) && $cgiparams{'AUTH'} ne 'psk') {
            $confighash{$key}[2] = $cgiparams{'CERT_NAME'};
        }
-       $confighash{$key}[3] = 'host';
+       $confighash{$key}[3] = $cgiparams{'TYPE'};
        if ($cgiparams{'AUTH'} eq 'psk') {
            $confighash{$key}[4] = 'psk';
            $confighash{$key}[5] = $cgiparams{'PSK'};
        } else {
            $confighash{$key}[4] = 'cert';
        }
+       if ($cgiparams{'TYPE'} eq 'net') {
+           $confighash{$key}[6] = $cgiparams{'SIDE'};
+           $confighash{$key}[11] = $cgiparams{'REMOTE_SUBNET'};
+       }
        $confighash{$key}[8] = $cgiparams{'LOCAL_SUBNET'};
        $confighash{$key}[10] = $cgiparams{'REMOTE'};
+  $confighash{$key}[23] = $cgiparams{'MSSFIX'};
+  $confighash{$key}[24] = $cgiparams{'FRAGMENT'};
        $confighash{$key}[25] = $cgiparams{'REMARK'};
        $confighash{$key}[26] = $cgiparams{'INTERFACE'};
 # new fields   
@@ -2259,6 +3035,33 @@ END
        $confighash{$key}[31] = $cgiparams{'MTU'};
 # new fileds   
        &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+
+###
+# m.a.d n2n begin
+###
+       
+       if ($cgiparams{'TYPE'} eq 'net') {
+       
+       if (-e "/var/run/$confighash{$key}[1]n2n.pid") {
+  system('/usr/local/bin/openvpnctrl', '-kn2n', $confighash{$cgiparams{'KEY'}}[1]);
+       
+  &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+       my $key = $cgiparams{'KEY'};
+       if (! $key) {
+           $key = &General::findhasharraykey (\%confighash);
+           foreach my $i (0 .. 31) { $confighash{$key}[$i] = "";}
+           }
+  $confighash{$key}[0] = 'on';
+  &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+  
+  system('/usr/local/bin/openvpnctrl', '-sn2n', $confighash{$cgiparams{'KEY'}}[1]);
+        }          
+  }
+
+###
+# m.a.d n2n end
+###    
+
        if ($cgiparams{'EDIT_ADVANCED'} eq 'on') {
            $cgiparams{'KEY'} = $key;
            $cgiparams{'ACTION'} = $Lang::tr{'advanced'};
@@ -2300,6 +3103,11 @@ END
     $selected{'SIDE'}{'server'} = '';
     $selected{'SIDE'}{'client'} = '';
     $selected{'SIDE'}{$cgiparams{'SIDE'}} = 'SELECTED';
+    
+    $selected{'PROTOCOL'}{'udp'} = '';
+    $selected{'PROTOCOL'}{'tcp'} = '';
+    $selected{'PROTOCOL'}{$cgiparams{'PROTOCOL'}} = 'SELECTED';
+
 
     $checked{'AUTH'}{'psk'} = '';
     $checked{'AUTH'}{'certreq'} = '';
@@ -2313,6 +3121,10 @@ END
     $checked{'COMPLZO'}{'on'} = '';
     $checked{'COMPLZO'}{$cgiparams{'COMPLZO'}} = 'CHECKED';
 
+    $checked{'MSSFIX'}{'off'} = '';
+    $checked{'MSSFIX'}{'on'} = '';
+    $checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED';
+
 
     if (1) {
        &Header::showhttpheaders();
@@ -2333,7 +3145,7 @@ END
        }
 
        print "<form method='post' enctype='multipart/form-data'>";
-       print "<input type='hidden' name='TYPE' value='host' />";
+       print "<input type='hidden' name='TYPE' value='$cgiparams{'TYPE'}' />";
 
        if ($cgiparams{'KEY'}) {
            print "<input type='hidden' name='KEY' value='$cgiparams{'KEY'}' />";
@@ -2343,6 +3155,7 @@ END
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'connection'}:");
        print "<table width='100%'>\n";
        print "<tr><td width='25%' class='boldbase'>$Lang::tr{'name'}:</td>";
+       if ($cgiparams{'TYPE'} eq 'host') {
            if ($cgiparams{'KEY'}) {
                print "<td width='35%' class='base'><input type='hidden' name='NAME' value='$cgiparams{'NAME'}' />$cgiparams{'NAME'}</td>\n";
            } else {
@@ -2358,12 +3171,59 @@ END
 #          print "<option value='ORANGE' $selected{'INTERFACE'}{'ORANGE'}>ORANGE</option>";
 #          print "</select></td></tr>";
 #          print <<END
+       } else {
+           print "<input type='hidden' name='INTERFACE' value='red' />";
+           if ($cgiparams{'KEY'}) {
+               print "<td width='25%' class='base' nowrap='nowrap'><input type='hidden' name='NAME' value='$cgiparams{'NAME'}' />$cgiparams{'NAME'}</td>";
+           } else {
+               print "<td width='25%'><input type='text' name='NAME' value='$cgiparams{'NAME'}' maxlength='20' /></td>";
+           }
+           print <<END
+                   <td width='25%'>&nbsp;</td>
+                   <td width='25%'>&nbsp;</td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'Act as'}</td>
+                   <td><select name='SIDE'><option value='server' $selected{'SIDE'}{'server'}>$Lang::tr{'openvpn server'}</option>
+                                           <option value='client' $selected{'SIDE'}{'client'}>$Lang::tr{'openvpn client'}</option></select></td>
+                   <td class='boldbase'>$Lang::tr{'remote host/ip'}:</td>
+                   <td><input type='TEXT' name='REMOTE' value='$cgiparams{'REMOTE'}' /></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'local subnet'}</td>
+                   <td><input type='TEXT' name='LOCAL_SUBNET' value='$cgiparams{'LOCAL_SUBNET'}' /></td>
+                   <td class='boldbase' nowrap='nowrap'>$Lang::tr{'remote subnet'}</td>
+                   <td><input type='text' name='REMOTE_SUBNET' value='$cgiparams{'REMOTE_SUBNET'}' /></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td>
+                   <td><input type='TEXT' name='OVPN_SUBNET' value='$cgiparams{'OVPN_SUBNET'}' /></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'protocol'}</td>
+                
+     <td><select name='PROTOCOL'><option value='udp' $selected{'PROTOCOL'}{'udp'}>UDP</option>
+                                               <option value='tcp' $selected{'PROTOCOL'}{'tcp'}>TCP</option></select></td>   
+                   
+        <td class='boldbase'>$Lang::tr{'destination port'}:</td>
+                   <td><input type='TEXT' name='DEST_PORT' value='$cgiparams{'DEST_PORT'}' size='5' /></td></tr>
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'comp-lzo'} &nbsp;<img src='/blob.gif'</td>
+                   <td><input type='checkbox' name='COMPLZO' $checked{'COMPLZO'}{'on'} /></td>
+                   
+                     <tr><td class='boldbase' nowrap='nowrap'>mssfix &nbsp;<img src='/blob.gif' /></td>
+                   <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
+                   
+                     <tr><td class='boldbase' nowrap='nowrap'>fragment &nbsp;<img src='/blob.gif' /></td>
+                   <td><input type='TEXT' name='FRAGMENT' VALUE='$cgiparams{'FRAGMENT'}'size='5' /></td>
+                   <td>$Lang::tr{'openvpn default'}: <span class="base">1300</span></td>
+                   
+               <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'MTU'}&nbsp;<img src='/blob.gif' /></td>
+                   <td> <input type='TEXT' name='MTU' VALUE='$cgiparams{'MTU'}'size='5' /></TD>
+
+END
+           ;
+       }
+
        print "<tr><td class='boldbase'>$Lang::tr{'remark title'}&nbsp;<img src='/blob.gif' /></td>";
        print "<td colspan='3'><input type='text' name='REMARK' value='$cgiparams{'REMARK'}' size='55' maxlength='50' /></td></tr>";
        
-#      if ($cgiparams{'TYPE'} eq 'net') {
-           print "<tr><td>$Lang::tr{'enabled'} <input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\n";
-       
+       if ($cgiparams{'TYPE'} eq 'host') {
+
+      print "<tr><td>$Lang::tr{'enabled'} <input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>\n";
+         }     
+
 #          if ($cgiparams{'KEY'}) {
 #              print "<td colspan='3'>&nbsp;</td></tr></table>";
 #          } else {
@@ -2394,41 +3254,54 @@ END
            if ( ! -f "${General::swroot}/ovpn/ca/cakey.pem" ) { $cakeydisabled = "disabled='disabled'" } else { $cakeydisabled = "" };
            if ( ! -f "${General::swroot}/ovpn/ca/cacert.pem" ) { $cacrtdisabled = "disabled='disabled'" } else { $cacrtdisabled = "" };
            &Header::openbox('100%', 'LEFT', $Lang::tr{'authentication'});
-           print <<END
+ if ($cgiparams{'TYPE'} eq 'host') {
+
+print <<END
            <table width='100%' cellpadding='0' cellspacing='5' border='0'>
            <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' border='0' /></td></tr>
-           <tr><td><input type='radio' name='AUTH' value='certreq' $checked{'AUTH'}{'certreq'} $cakeydisabled /></td>
-               <td class='base'>$Lang::tr{'upload a certificate request'}</td>
-               <td class='base' rowspan='2'><input type='file' name='FH' size='30' $cacrtdisabled></td></tr>
-           <tr><td><input type='radio' name='AUTH' value='certfile' $checked{'AUTH'}{'certfile'} $cacrtdisabled /></td>
-               <td class='base'>$Lang::tr{'upload a certificate'}</td></tr>
+           <tr><td><input type='radio' name='AUTH' value='certreq' $checked{'AUTH'}{'certreq'} $cakeydisabled /></td><td class='base'>$Lang::tr{'upload a certificate request'}</td><td class='base' rowspan='2'><input type='file' name='FH' size='30' $cacrtdisabled></td></tr>
+           <tr><td><input type='radio' name='AUTH' value='certfile' $checked{'AUTH'}{'certfile'} $cacrtdisabled /></td><td class='base'>$Lang::tr{'upload a certificate'}</td></tr>
            <tr><td colspan='3' bgcolor='#000000'><img src='/images/null.gif' width='1' height='1' BORDER='0' /></td></tr>
-           <tr><td><input type='radio' name='AUTH' value='certgen' $checked{'AUTH'}{'certgen'} $cakeydisabled /></td>
-               <td class='base'>$Lang::tr{'generate a certificate'}</td><td>&nbsp;</td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'users fullname or system hostname'}:</td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_NAME' value='$cgiparams{'CERT_NAME'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'users email'}:&nbsp;<img src='/blob.gif' /></td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_EMAIL' value='$cgiparams{'CERT_EMAIL'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'users department'}:&nbsp;<img src='/blob.gif' /></td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_OU' value='$cgiparams{'CERT_OU'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'organization name'}:&nbsp;<img src='/blob.gif' /></td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_ORGANIZATION' value='$cgiparams{'CERT_ORGANIZATION'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif'></td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_CITY' value='$cgiparams{'CERT_CITY'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' /></td>
-               <td class='base' nowrap='nowrap'><input type='text' name='CERT_STATE' value='$cgiparams{'CERT_STATE'}' SIZE='32' $cakeydisabled /></td></tr>
-           <tr><td>&nbsp;</td>
-               <td class='base'>$Lang::tr{'country'}:</td>
-               <td class='base'><select name='CERT_COUNTRY' $cakeydisabled>
+           <tr><td><input type='radio' name='AUTH' value='certgen' $checked{'AUTH'}{'certgen'} $cakeydisabled /></td><td class='base'>$Lang::tr{'generate a certificate'}</td><td>&nbsp;</td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users fullname or system hostname'}:</td><td class='base' nowrap='nowrap'><input type='text' name='CERT_NAME' value='$cgiparams{'CERT_NAME'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users email'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_EMAIL' value='$cgiparams{'CERT_EMAIL'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users department'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_OU' value='$cgiparams{'CERT_OU'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'organization name'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_ORGANIZATION' value='$cgiparams{'CERT_ORGANIZATION'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif'></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_CITY' value='$cgiparams{'CERT_CITY'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_STATE' value='$cgiparams{'CERT_STATE'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'country'}:</td><td class='base'><select name='CERT_COUNTRY' $cakeydisabled>
 END
+;
+
+###
+# m.a.d net2net
+###
+
+} else {
+
+print <<END
+           <table width='100%' cellpadding='0' cellspacing='5' border='0'>
+      
+           <tr><td><input type='radio' name='AUTH' value='certgen' $checked{'AUTH'}{'certgen'} $cakeydisabled /></td><td class='base'>$Lang::tr{'generate a certificate'}</td><td>&nbsp;</td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users fullname or system hostname'}:</td><td class='base' nowrap='nowrap'><input type='text' name='CERT_NAME' value='$cgiparams{'CERT_NAME'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users email'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_EMAIL' value='$cgiparams{'CERT_EMAIL'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'users department'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_OU' value='$cgiparams{'CERT_OU'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'organization name'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_ORGANIZATION' value='$cgiparams{'CERT_ORGANIZATION'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'city'}:&nbsp;<img src='/blob.gif'></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_CITY' value='$cgiparams{'CERT_CITY'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'state or province'}:&nbsp;<img src='/blob.gif' /></td><td class='base' nowrap='nowrap'><input type='text' name='CERT_STATE' value='$cgiparams{'CERT_STATE'}' SIZE='32' $cakeydisabled /></td></tr>
+           <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'country'}:</td><td class='base'><select name='CERT_COUNTRY' $cakeydisabled>
+
+END
+;
+
+}
+
+###
+# m.a.d net2net
+###
 
-           ;
            foreach my $country (sort keys %{Countries::countries}) {
                print "<option value='$Countries::countries{$country}'";
                if ( $Countries::countries{$country} eq $cgiparams{'CERT_COUNTRY'} ) {
@@ -2436,20 +3309,36 @@ END
                }
                print ">$country</option>";
            }
+###
+# m.a.d net2net
+###
+
+if ($cgiparams{'TYPE'} eq 'host') {
            print <<END
            </select></td></tr>
-           <tr><td>&nbsp;</td>
-               
-               <td class='base'>$Lang::tr{'valid till'} (days):</td>
-               <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr>            
-               
-               <tr><td>&nbsp;</td>
+
+       <td class='base'>$Lang::tr{'valid till'} (days):</td>
+       <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr>
+   <tr><td>&nbsp;</td>
                <td class='base'>$Lang::tr{'pkcs12 file password'}:</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>
            <tr><td>&nbsp;</td><td class='base'>$Lang::tr{'pkcs12 file password'}:<BR>($Lang::tr{'confirmation'})</td>
                <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>
-           </table>
+     </table>
+END
+}else{
+           print <<END
+           </select></td></tr>
+   <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
+        <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
+       </table>
 END
+}
+
+###
+# m.a.d net2net
+###
            ;
            &Header::closebox();
        }
@@ -2517,9 +3406,6 @@ END
     $checked{'ENABLED_ORANGE'}{'off'} = '';
     $checked{'ENABLED_ORANGE'}{'on'} = '';
     $checked{'ENABLED_ORANGE'}{$cgiparams{'ENABLED_ORANGE'}} = 'CHECKED';
-    
-
-#new settings
     $selected{'DDEVICE'}{'tun'} = '';
     $selected{'DDEVICE'}{'tap'} = '';
     $selected{'DDEVICE'}{$cgiparams{'DDEVICE'}} = 'SELECTED';
@@ -2544,7 +3430,10 @@ END
     $checked{'DCOMPLZO'}{'off'} = '';
     $checked{'DCOMPLZO'}{'on'} = '';
     $checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED';
-
+# m.a.d
+    $checked{'MSSFIX'}{'off'} = '';
+    $checked{'MSSFIX'}{'on'} = '';
+    $checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED';
 #new settings
     &Header::showhttpheaders();
     &Header::openpage($Lang::tr{'status ovpn'}, 1, '');
@@ -2791,8 +3680,15 @@ END
        print "<div align='center'><form method='post'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' /></div></form>\n";
     }      
     if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
+
+###
+# m.a.d net2net
+###
+
     &Header::openbox('100%', 'LEFT', $Lang::tr{'Client status and controlc' });
     print <<END
+
+
     <table width='100%' border='0' cellspacing='1' cellpadding='0'>
 <tr>
     <td width='10%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>
@@ -2827,13 +3723,40 @@ END
        $cavalid    = $1;
        print "<td align='center'>$cavalid</td>";
        print "<td align='center'>$confighash{$key}[25]</td>";
+
        my $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+
        if ($confighash{$key}[0] eq 'off') {
-           $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
+           $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourblue}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'openvpn disabled'}</font></b></td></tr></table>";
        } else {
-           my $cn;
+
+###
+# m.a.d net2net
+###       
+       
+       if ($confighash{$key}[3] eq 'net') {
+#        my @tempovpnsubnet = split("\/",$confighash{$key}[27]);
+#                       my @ovpnip = split /\./,$tempovpnsubnet[0];
+#                         my $pingip = "";
+#               if ($confighash{$key}[6] eq 'server') {
+#                               $pingip = "$ovpnip[0].$ovpnip[1].$ovpnip[2].2";
+#                               } else {
+#                               $pingip = "$ovpnip[0].$ovpnip[1].$ovpnip[2].1";
+#                               }
+#        my $p = Net::Ping->new("udp",1);
+#        if ($p->ping($pingip)) {
+#                         $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
+#                         }    
+#                         $p->close(); 
+
+       if (-e "/var/run/$confighash{$key}[1]n2n.pid") {
+       $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'openvpn enabled'}</font></b></td></tr></table>";
+       } 
+    }  
+
+               my $cn;
            my @match = ();     
-           foreach my $line (@status) {
+         foreach my $line (@status) {
                chomp($line);
                if ( $line =~ /^(.+),(\d+\.\d+\.\d+\.\d+\:\d+),(\d+),(\d+),(.+)/) {
                    @match = split(m/^(.+),(\d+\.\d+\.\d+\.\d+\:\d+),(\d+),(\d+),(.+)/, $line);
@@ -2844,9 +3767,13 @@ END
                    if ($cn eq "$confighash{$key}[2]") {
                        $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
                    }
-               }    
-           }
+
+      
        }
+}
+}
+
+
        my $disable_clientdl = "disabled='disabled'";
        if (( $cgiparams{'ENABLED'} eq 'on') || 
            ( $cgiparams{'ENABLED_BLUE'} eq 'on') ||
@@ -2958,3 +3885,6 @@ END
     &Header::closebox();
 }
 &Header::closepage();
+
+
+
index 124f912cf7155c27dff0872875ad1ce75ec689d0..5903d8525939d02ba3c2c4c770fd79699907ddda 100644 (file)
@@ -43,7 +43,6 @@ $pakfiresettings{'VALID'} = '';
 $pakfiresettings{'INSPAKS'} = '';
 $pakfiresettings{'DELPAKS'} = '';
 $pakfiresettings{'AUTOUPDATE'} = 'off';
-$pakfiresettings{'AUTOUPGRADE'} = 'off';
 $pakfiresettings{'HEALTHCHECK'} = 'on';
 $pakfiresettings{'UUID'} = 'on';
 
@@ -153,12 +152,6 @@ END
                system("/usr/local/bin/pakfire disable updates  >/dev/null 2>&1");
        }
 
-       if ($pakfiresettings{'AUTOUPGRADE'} eq 'on') {
-               system("/usr/local/bin/pakfire enable upgrades >/dev/null 2>&1");
-       } else {
-               system("/usr/local/bin/pakfire disable upgrades >/dev/null 2>&1");
-       }
-
        &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings);
 }
 
@@ -170,9 +163,6 @@ my %checked=();
 $checked{'AUTOUPDATE'}{'off'} = '';
 $checked{'AUTOUPDATE'}{'on'} = '';
 $checked{'AUTOUPDATE'}{$pakfiresettings{'AUTOUPDATE'}} = "checked='checked'";
-$checked{'AUTOUPGRADE'}{'off'} = '';
-$checked{'AUTOUPGRADE'}{'on'} = '';
-$checked{'AUTOUPGRADE'}{$pakfiresettings{'AUTOUPGRADE'}} = "checked='checked'";
 $checked{'HEALTHCHECK'}{'off'} = '';
 $checked{'HEALTHCHECK'}{'on'} = '';
 $checked{'HEALTHCHECK'}{$pakfiresettings{'HEALTHCHECK'}} = "checked='checked'";
@@ -302,9 +292,6 @@ print <<END;
                        <tr><td align='left' width='45%'>$Lang::tr{'pakfire update daily'}</td><td width="55%" align="left">
           on <input type='radio' name='AUTOUPDATE' value='on' $checked{'AUTOUPDATE'}{'on'} /> |
           <input type='radio' name='AUTOUPDATE' value='off' $checked{'AUTOUPDATE'}{'off'} /> off </td></tr>
-                       <tr><td align='left' width='45%'>$Lang::tr{'pakfire core update auto'}</td><td align="left">
-          on <input type='radio' name='AUTOUPGRADE' value='on' $checked{'AUTOUPGRADE'}{'on'} /> |
-          <input type='radio' name='AUTOUPGRADE' value='off' $checked{'AUTOUPGRADE'}{'off'} /> off </td></tr>
                        <tr><td align='left' width='45%'>$Lang::tr{'pakfire health check'}</td><td align="left">
           on <input type='radio' name='HEALTHCHECK' value='on' $checked{'HEALTHCHECK'}{'on'} /> |
           <input type='radio' name='HEALTHCHECK' value='off' $checked{'HEALTHCHECK'}{'off'} /> off </td></tr>          
index a0aa1acd34e3d8f5981a3de84f7b7bf3feec02fa..6d0fe545e3b4798f67c1bc86dea613253160354e 100644 (file)
@@ -3147,6 +3147,7 @@ END
 
                if ($proxysettings{'AUTH_METHOD'} eq 'ldap')
                {
+                       print FILE "auth_param basic utf8 on\n";
                        print FILE "auth_param basic program $authdir/squid_ldap_auth -b \"$proxysettings{'LDAP_BASEDN'}\"";
                        if (!($proxysettings{'LDAP_BINDDN_USER'} eq '')) { print FILE " -D \"$proxysettings{'LDAP_BINDDN_USER'}\""; }
                        if (!($proxysettings{'LDAP_BINDDN_PASS'} eq '')) { print FILE " -w $proxysettings{'LDAP_BINDDN_PASS'}"; }
diff --git a/html/cgi-bin/routing.cgi b/html/cgi-bin/routing.cgi
new file mode 100644 (file)
index 0000000..86e0429
--- /dev/null
@@ -0,0 +1,446 @@
+#!/usr/bin/perl
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program 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 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colouryellow} );
+undef (@dummy);
+
+# Files used
+my $setting = "${General::swroot}/main/settings";
+our $datafile = "${General::swroot}/main/routing";             #(our: used in subroutine)
+
+my %color = ();
+my %mainsettings = ();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+
+our %settings = ();
+
+$settings{'EN'} = '';                  # reuse for dummy field in position zero
+$settings{'IP'} = '';
+$settings{'GATEWAY'} = '';
+$settings{'REMARK'} = '';
+my @nosaved=('EN','IP','GATEWAY','REMARK');    # List here ALL setting2 fields. Mandatory
+    
+$settings{'ACTION'} = '';              # add/edit/remove
+$settings{'KEY1'} = '';                        # point record for ACTION
+
+#Define each field that can be used to sort columns
+my $sortstring='^IP|^GATEWAY|^REMARK';
+$settings{'SORT_GATEWAYLIST'} = 'GATEWAY';
+my $errormessage = '';
+my $warnmessage = '';
+
+&Header::showhttpheaders();
+
+#Get GUI values
+&Header::getcgihash(\%settings);
+
+###############
+# DEBUG DEBUG
+#&Header::openbox('100%', 'left', 'DEBUG');
+#my $debugCount = 0;
+#foreach my $line (sort keys %settings) {
+#print "$line = $settings{$line}<br />\n";
+# $debugCount++;
+#}
+#print "&nbsp;Count: $debugCount\n";
+#&Header::closebox();
+# DEBUG DEBUG
+###############
+
+# Load multiline data
+our @current = ();
+if (open(FILE, "$datafile")) {
+    @current = <FILE>;
+    close (FILE);
+}
+
+## Settings1 Box not used...
+&General::readhash("${General::swroot}/main/settings", \%settings);
+
+
+## Now manipulate the multi-line list with Settings2
+# Basic actions are:
+#      toggle the check box
+#      add/update a new line
+#      begin editing a line
+#      remove a line
+
+
+# Toggle enable/disable field.  Field is in second position
+if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) {
+    #move out new line
+    chomp(@current[$settings{'KEY1'}]);
+    my @temp = split(/\,/,@current[$settings{'KEY1'}]);
+
+    $temp[0] = $temp[0] ne '' ? '' : 'on';             # Toggle the field
+    @current[$settings{'KEY1'}] = join (',',@temp)."\n";
+    $settings{'KEY1'} = '';                            # End edit mode
+    
+    &General::log($Lang::tr{'routing config changed'});
+
+    #Save current
+    open(FILE, ">$datafile") or die 'routing datafile error';
+    print FILE @current;
+    close(FILE);
+       
+    # Rebuild configuration file
+    &BuildConfiguration;
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
+
+# Validate inputs
+       if (( !&General::validip($settings{'IP'})) and ( !&General::validipandmask($settings{'IP'}))){
+       $errormessage = $Lang::tr{'invalid ip'}." / ".$Lang::tr{'invalid netmask'};
+       }
+
+       if ($settings{'IP'} =~ /0.0.0.0/){
+       $errormessage = $Lang::tr{'invalid ip'}." - 0.0.0.0";
+       }
+
+       if( !&General::validip($settings{'GATEWAY'}) ) {
+       $errormessage = $Lang::tr{'invalid ip'}. " - ".$Lang::tr{'gateway ip'};
+       }
+
+    unless ($errormessage) {
+       if ($settings{'KEY1'} eq '') { #add or edit ?
+           unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'GATEWAY'},$settings{'REMARK'}\n");
+           &General::log($Lang::tr{'routing config added'});
+       } else {
+           @current[$settings{'KEY1'}] = "$settings{'EN'},$settings{'IP'},$settings{'GATEWAY'},$settings{'REMARK'}\n";
+           $settings{'KEY1'} = '';       # End edit mode
+           &General::log($Lang::tr{'routing config changed'});
+       }
+
+        # Write changes to config file.
+        &SortDataFile;                         # sort newly added/modified entry
+        &BuildConfiguration;                   # then re-build routing
+       
+       #map ($settings{$_}='' ,@nosaved);      # Clear fields
+    }
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
+    #move out new line
+    my $line = @current[$settings{'KEY1'}];    # KEY1 is the index in current
+    chomp($line);
+    my @temp = split(/\,/, $line);
+    $settings{'EN'}=$temp[0];                  # Prepare the screen for editing
+    $settings{'IP'}=$temp[1];
+    $settings{'GATEWAY'}=$temp[2];
+    $settings{'REMARK'}=$temp[3];
+    &BuildConfiguration;
+}
+
+if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
+    splice (@current,$settings{'KEY1'},1);             # Delete line 
+    open(FILE, ">$datafile") or die 'route datafile error';
+    print FILE @current;
+    close(FILE);
+    $settings{'KEY1'} = '';                            # End remove mode
+    &General::log($Lang::tr{'route config changed'});
+
+    &BuildConfiguration;                               # then re-build conf which use new data
+}
+
+##  Check if sorting is asked
+# If same column clicked, reverse the sort.
+if ($ENV{'QUERY_STRING'} =~ /$sortstring/ ) {
+    my $newsort=$ENV{'QUERY_STRING'};
+    my $actual=$settings{'SORT_GATEWAYLIST'};
+    #Reverse actual sort ?
+    if ($actual =~ $newsort) {
+       my $Rev='';
+       if ($actual !~ 'Rev') {
+           $Rev='Rev';
+       }
+       $newsort.=$Rev;
+    }
+    $settings{'SORT_GATEWAYLIST'}=$newsort;
+    map (delete ($settings{$_}) ,(@nosaved,'ACTION','KEY1'));# Must never be saved
+    &General::writehash($setting, \%settings);
+    &SortDataFile;
+    $settings{'ACTION'} = 'SORT';                      # Create an 'ACTION'
+    map ($settings{$_} = '' ,@nosaved,'KEY1');         # and reinit vars to empty
+}
+
+if ($settings{'ACTION'} eq '' ) { # First launch from GUI
+    # Place here default value when nothing is initialized
+    $settings{'EN'} = 'on';
+    $settings{'GATEWAY'} = '';
+    $settings{'IP'} = '';
+}
+
+&Header::openpage($Lang::tr{'routing table entries'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
+my %checked=();     # Checkbox manipulations
+
+if ($errormessage) {
+    &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+    print "<font class='base'>$errormessage&nbsp;</font>";
+    &Header::closebox();
+}
+
+#
+
+$checked{'EN'}{'on'} = ($settings{'EN'} eq '' ) ? '' : "checked='checked'";
+
+my $buttontext = $Lang::tr{'add'};
+if ($settings{'KEY1'} ne '') {
+    $buttontext = $Lang::tr{'update'};
+    &Header::openbox('100%', 'left', $Lang::tr{'Edit an existing route'});
+} else {
+    &Header::openbox('100%', 'left', $Lang::tr{'Add a route'});
+}
+
+#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
+<table width='100%'>
+<tr>
+    <td class='base'>$Lang::tr{'host ip'} / $Lang::tr{'network'}:&nbsp;</td>
+    <td><input type='text' name='IP' value='$settings{'IP'}' size='25'/></td>
+</tr><tr>
+    <td class='base'>$Lang::tr{'gateway'}:&nbsp;</td>
+    <td><input type='text' name='GATEWAY' value='$settings{'GATEWAY'}' size='25'/></td>
+    <td class='base'>$Lang::tr{'enabled'}</td>
+    <td><input type='checkbox' name='EN' $checked{'EN'}{'on'} /></td>
+</tr>
+</tr>
+    <td class='base'>$Lang::tr{'remark'}:&nbsp;</td>
+    <td><input type='text' name='REMARK' value='$settings{'REMARK'}' size='25'/></td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+    <td width='50%' align='center'><input type='hidden' name='ACTION' value='$Lang::tr{'add'}' /><input type='submit' name='SUBMIT' value='$buttontext' /></td>
+</tr>
+</table>
+</form>
+END
+;
+&Header::closebox();
+
+&Header::openbox('100%', 'left', $Lang::tr{'routing table'});
+print <<END
+<hr />
+<table width='100%'>
+<tr>
+    <td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'host ip'} / $Lang::tr{'network'}</b></a></td>
+    <td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?GATEWAY'><b>$Lang::tr{'gateway'}</b></a></td>
+    <td width='30%' align='center'><a href='$ENV{'SCRIPT_NAME'}?REMARK'><b>$Lang::tr{'remark'}</b></a></td>
+    <td width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></td>
+</tr>
+END
+;
+
+#
+# Print each line of @current list
+#
+
+my $key = 0;
+foreach my $line (@current) {
+    chomp($line);                              # remove newline
+    my @temp=split(/\,/,$line);
+    $temp[2] ='' unless defined $temp[2]; # not always populated
+    $temp[3] ='' unless defined $temp[2]; # not always populated
+
+    #Choose icon for checkbox
+    my $gif = '';
+    my $gdesc = '';
+    if ($temp[0] ne '' ) {
+       $gif = 'on.gif';
+       $gdesc = $Lang::tr{'click to disable'};
+    } else {
+       $gif = 'off.gif';
+       $gdesc = $Lang::tr{'click to enable'}; 
+    }
+
+    #Colorize each line
+    if ($settings{'KEY1'} eq $key) {
+       print "<tr bgcolor='${Header::colouryellow}'>";
+    } elsif ($key % 2) {
+       print "<tr bgcolor='$color{'color22'}'>";
+    } else {
+       print "<tr bgcolor='$color{'color20'}'>"; 
+    }
+    print <<END
+<td align='center'>$temp[1]</td>
+<td align='center'>$temp[2]</td>
+<td align='center'>$temp[3]</td>
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'toggle enable disable'}' />
+<input type='image' name='$Lang::tr{'toggle enable disable'}' src='/images/$gif' alt='$gdesc' title='$gdesc' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'edit'}' />
+<input type='image' name='$Lang::tr{'edit'}' src='/images/edit.gif' alt='$Lang::tr{'edit'}' title='$Lang::tr{'edit'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+
+<td align='center'>
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<input type='hidden' name='ACTION' value='$Lang::tr{'remove'}' />
+<input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' />
+<input type='hidden' name='KEY1' value='$key' />
+</form>
+</td>
+</tr>
+END
+;
+    $key++;
+}
+print "</table>";
+
+# If table contains entries, print 'Key to action icons'
+if ($key) {
+print <<END
+<table>
+<tr>
+    <td class='boldbase'>&nbsp;<b>$Lang::tr{'legend'}:&nbsp;</b></td>
+    <td><img src='/images/on.gif' alt='$Lang::tr{'click to disable'}' /></td>
+    <td class='base'>$Lang::tr{'click to disable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td>
+    <td class='base'>$Lang::tr{'click to enable'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td>
+    <td class='base'>$Lang::tr{'edit'}</td>
+    <td>&nbsp;&nbsp;</td>
+    <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td>
+    <td class='base'>$Lang::tr{'remove'}</td>
+</tr>
+</table>
+END
+;
+}
+
+&Header::closebox();
+
+my $output = `/sbin/ip route show table static`;
+$output = &Header::cleanhtml($output,"y");
+
+if ( $output != "" ) {
+       &Header::openbox('100%', 'left', $Lang::tr{'routing table entries'});
+       print "<pre>$output</pre>\n";
+       &Header::closebox();
+}
+
+&Header::closebigbox();
+&Header::closepage();
+
+## Ouf it's the end !
+
+# Sort the "current" array according to choices
+sub SortDataFile
+{
+    our %entries = ();
+    
+    # Sort pair of record received in $a $b special vars.
+    # When IP is specified use numeric sort else alpha.
+    # If sortname ends with 'Rev', do reverse sort.
+    #
+    sub fixedleasesort {
+       my $qs='';             # The sort field specified minus 'Rev'
+       if (rindex ($settings{'SORT_GATEWAYLIST'},'Rev') != -1) {
+           $qs=substr ($settings{'SORT_GATEWAYLIST'},0,length($settings{'SORT_GATEWAYLIST'})-3);
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($b[0]<=>$a[0]) ||
+               ($b[1]<=>$a[1]) ||
+               ($b[2]<=>$a[2]) ||
+               ($b[3]<=>$a[3]);
+           } else {
+               $entries{$b}->{$qs} cmp $entries{$a}->{$qs};
+           }
+       } else { #not reverse
+           $qs=$settings{'SORT_GATEWAYLIST'};
+           if ($qs eq 'IP') {
+               my @a = split(/\./,$entries{$a}->{$qs});
+               my @b = split(/\./,$entries{$b}->{$qs});
+               ($a[0]<=>$b[0]) ||
+               ($a[1]<=>$b[1]) ||
+               ($a[2]<=>$b[2]) ||
+               ($a[3]<=>$b[3]);
+           } else {
+               $entries{$a}->{$qs} cmp $entries{$b}->{$qs};
+           }
+       }
+    }
+
+    #Use an associative array (%entries)
+    my $key = 0;
+    foreach my $line (@current) {
+       chomp( $line); #remove newline because can be on field 5 or 6 (addition of REMARK)
+       my @temp = ( '','','', '');
+       @temp = split (',',$line);
+
+       # Build a pair 'Field Name',value for each of the data dataline.
+       # Each SORTABLE field must have is pair.
+       # Other data fields (non sortable) can be grouped in one
+       
+       my @record = ('KEY',$key++,'EN',$temp[0],'IP',$temp[1],'GATEWAY',$temp[2],'REMARK',$temp[3]);
+       my $record = {};                                # create a reference to empty hash
+       %{$record} = @record;                           # populate that hash with @record
+       $entries{$record->{KEY}} = $record;             # add this to a hash of hashes
+    }
+    
+    open(FILE, ">$datafile") or die 'routing datafile error';
+
+    # Each field value is printed , with the newline ! Don't forget separator and order of them.
+    foreach my $entry (sort fixedleasesort keys %entries) {
+       print FILE "$entries{$entry}->{EN},$entries{$entry}->{IP},$entries{$entry}->{GATEWAY},$entries{$entry}->{REMARK}\n";
+    }
+
+    close(FILE);
+    # Reload sorted  @current
+    open (FILE, "$datafile");
+    @current = <FILE>;
+    close (FILE);
+}
+
+#
+# Build the configuration file
+#
+sub BuildConfiguration {
+    system '/usr/local/bin/rebuildroutes';
+}
\ No newline at end of file
index 76b408d10f11ead61e7c852220f26d90ae3125ba..e1a82009452d629b0a092ac933c4a7f8946ea15d 100644 (file)
@@ -111,6 +111,7 @@ $cgiparams{'ROOTCERT_EMAIL'} = '';
 $cgiparams{'ROOTCERT_OU'} = '';
 $cgiparams{'ROOTCERT_CITY'} = '';
 $cgiparams{'ROOTCERT_STATE'} = '';
+$cgiparams{'RW_NET'} = '';
 
 &Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
 
@@ -395,8 +396,11 @@ sub writeipsecfiles {
            print CONF "\tpfsgroup=$lconfighash{$key}[23]\n";
        }
 
-       # IKE V1
-       print CONF "\tkeyexchange=ikev1\n";
+       # IKE V1 or V2
+       if (! $lconfighash{$key}[29]) {
+          $lconfighash{$key}[29] = "ikev1";
+       }
+       print CONF "\tkeyexchange=$lconfighash{$key}[29]\n";
 
        # Lifetimes
        print CONF "\tikelifetime=$lconfighash{$key}[16]h\n" if ($lconfighash{$key}[16]);
@@ -435,6 +439,7 @@ sub writeipsecfiles {
        # Automatically start only if a net-to-net connection
        if ($lconfighash{$key}[3] eq 'host') {
            print CONF "\tauto=add\n";
+           print CONF "\trightsourceip=$lvpnsettings{'RW_NET'}\n";
        } else {
            print CONF "\tauto=start\n";
        }
@@ -471,6 +476,11 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
        goto SAVE_ERROR;
     }
 
+    if ( $cgiparams{'RW_NET'} ne '' and !&General::validipandmask($cgiparams{'RW_NET'}) ) {
+       $errormessage = $Lang::tr{'urlfilter invalid ip or mask error'};
+       goto SAVE_ERROR;
+    }
+
     map ($vpnsettings{$_} = $cgiparams{$_},
        ('ENABLED','DBG_CRYPT','DBG_PARSING','DBG_EMITTING','DBG_CONTROL',
         'DBG_DNS'));
@@ -479,6 +489,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
     $vpnsettings{'VPN_DELAYED_START'} = $cgiparams{'VPN_DELAYED_START'};
     $vpnsettings{'VPN_OVERRIDE_MTU'} = $cgiparams{'VPN_OVERRIDE_MTU'};
     $vpnsettings{'VPN_WATCH'} = $cgiparams{'VPN_WATCH'};
+    $vpnsettings{'RW_NET'} = $cgiparams{'RW_NET'};
     &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);
     &writeipsecfiles();
     if (&vpnenabled) {
@@ -1288,6 +1299,7 @@ END
        $cgiparams{'REMARK'}            = $confighash{$cgiparams{'KEY'}}[25];
        $cgiparams{'INTERFACE'}         = $confighash{$cgiparams{'KEY'}}[26];
        $cgiparams{'DPD_ACTION'}        = $confighash{$cgiparams{'KEY'}}[27];
+       $cgiparams{'IKE_VERSION'}       = $confighash{$cgiparams{'KEY'}}[29];
        $cgiparams{'IKE_ENCRYPTION'}    = $confighash{$cgiparams{'KEY'}}[18];
        $cgiparams{'IKE_INTEGRITY'}     = $confighash{$cgiparams{'KEY'}}[19];
        $cgiparams{'IKE_GROUPTYPE'}     = $confighash{$cgiparams{'KEY'}}[20];
@@ -1790,6 +1802,7 @@ END
        $confighash{$key}[25] = $cgiparams{'REMARK'};
        $confighash{$key}[26] = $cgiparams{'INTERFACE'};
        $confighash{$key}[27] = $cgiparams{'DPD_ACTION'};
+       $confighash{$key}[29] = $cgiparams{'IKE_VERSION'};
 
        #dont forget advanced value
        $confighash{$key}[18] = $cgiparams{'IKE_ENCRYPTION'};
@@ -1845,6 +1858,11 @@ END
            $cgiparams{'DPD_ACTION'} = 'restart';
        }
 
+       # Default IKE Version to V1
+       if (! $cgiparams{'IKE_VERSION'}) {
+           $cgiparams{'IKE_VERSION'} = 'ikev1';
+       }
+
        # Default is yes for 'pfs'
        $cgiparams{'PFS'}     = 'on';
        
@@ -1895,6 +1913,10 @@ END
     $selected{'DPD_ACTION'}{'restart'} = '';
     $selected{'DPD_ACTION'}{$cgiparams{'DPD_ACTION'}} = "selected='selected'";
 
+    $selected{'IKE_VERSION'}{'ikev1'} = '';
+    $selected{'IKE_VERSION'}{'ikev2'} = '';
+    $selected{'IKE_VERSION'}{$cgiparams{'IKE_VERSION'}} = "selected='selected'";
+
     &Header::showhttpheaders();
     &Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
     &Header::openbigbox('100%', 'left', '', $errormessage);
@@ -1974,6 +1996,12 @@ END
            <td><input type='text' name='REMOTE_ID' value='$cgiparams{'REMOTE_ID'}' /></td>
        </tr><tr>
        </tr><td><br /></td><tr>
+           <td>$Lang::tr{'vpn keyexchange'}:</td>
+           <td><select name='IKE_VERSION'>
+               <option value='ikev1' $selected{'IKE_VERSION'}{'ikev1'}>IKEv1</option>
+               <option value='ikev2' $selected{'IKE_VERSION'}{'ikev2'}>IKEv2</option>
+               </select></a>
+           </td>
            <td>$Lang::tr{'dpd action'}:</td>
            <td><select name='DPD_ACTION'>
                <option value='clear' $selected{'DPD_ACTION'}{'clear'}>clear</option>
@@ -2458,6 +2486,10 @@ print <<END
        <td  class='base' nowrap='nowrap'>$Lang::tr{'vpn delayed start'}:&nbsp;<img src='/blob.gif' alt='*' /><img src='/blob.gif' alt='*' /></td>
        <td ><input type='text' name='VPN_DELAYED_START' value='$cgiparams{'VPN_DELAYED_START'}' /></td>
     </tr>
+    <tr>
+       <td  class='base' nowrap='nowrap'>$Lang::tr{'host to net vpn'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td ><input type='text' name='RW_NET' value='$cgiparams{'RW_NET'}' /></td>
+    </tr>
  </table>
 <p>$Lang::tr{'vpn watch'}:<input type='checkbox' name='VPN_WATCH' $checked{'VPN_WATCH'} /></p>
 <p>PLUTO DEBUG&nbsp;=
@@ -2507,7 +2539,7 @@ END
            print "<tr bgcolor='$color{'color22'}'>\n";
        }
        print "<td align='center' nowrap='nowrap'>$confighash{$key}[1]</td>";
-       print "<td align='center' nowrap='nowrap'>" . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")</td>";
+       print "<td align='center' nowrap='nowrap'>" . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") $confighash{$key}[29]</td>";
        if ($confighash{$key}[2] eq '%auth-dn') {
            print "<td align='left' nowrap='nowrap'>$confighash{$key}[9]</td>";
        } elsif ($confighash{$key}[4] eq 'cert') {
@@ -2519,7 +2551,9 @@ END
        # get real state
        my $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b></td></tr></table>";
        foreach my $line (@status) {
-           if ($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) {
+           if (($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) ||
+              ($line =~ /$confighash{$key}[1]\{.*INSTALLED/))
+           {
                $active = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourgreen}' width='100%'><tr><td align='center'><b><font color='#FFFFFF'>$Lang::tr{'capsopen'}</font></b></td></tr></table>";
            }
        }
index e6d451fe7f700b369888ae630bc3f8dff06c48f1..727470fba98873a12e302effd9f98cfe1f48b3f5 100644 (file)
@@ -5,6 +5,7 @@
 'Add Level7 rule' => 'Level7-Regel hinzufügen',
 'Add Port Rule' => 'Port Regel hinzufügen',
 'Add Rule' => 'Regel hinzufügen',
+'Add a route' => 'Eine Route hinzufügen',
 'Async logging enabled' => 'Aktiviere asynchrones schreiben des Syslogs',
 'Choose Rule' => 'Wählen sie <u>eine</u> der untenstehenden Regeln aus.',
 'Class' => 'Klasse',
@@ -24,6 +25,7 @@
 'ConnSched time' => 'Zeit:',
 'ConnSched up' => 'Hoch',
 'ConnSched weekdays' => 'Wochentage:',
+'Edit an existing route' => 'Eine existierende Route editieren',
 'Enter TOS' => 'Aktivieren oder deaktivieren sie die TOS-Bits <br /> und klicken Sie danach auf <i>Speichern</i>.',
 'Existing Files' => 'Dateien in der Datenbank',
 'HDD temperature' => 'HDD-Temperatur',
 'day' => 'Tag',
 'day after' => 'Tag danach',
 'day before' => 'Tag davor',
+'day-graph' => 'Tag',
 'days' => 'Tage',
 'dbfile' => 'Dbfile',
 'ddns help dnsmadeeasy' => 'Tragen Sie Ihre ID (oder ID Liste durch ; getrennt) in das Feld "Hostname" ein',
 'external access rule removed' => ' Regel für externen Zugang entfernt; Starte Zugangskontroller neu',
 'external aliases configuration' => 'Externe Alias-Konfiguration',
 'extrahd' => 'ExtraHD',
+'extrahd because there is already a device mounted' => ' mounten, weil bereits ein Geräte gemountet ist',
+'extrahd cant umount' => 'Konnte',
 'extrahd detected drives' => 'gefundene Laufwerke',
+'extrahd install or load driver' => 'Wenn Ihre Festplatte nicht angezeigt wird, müssen Sie zuerst den Treiber laden oder ggf. auch nach installieren. Wenn diese jedoch angezeigt wird, aber keine Partitionen zu sehen sind, müssen diese erst angelegt werden.',
+'extrahd maybe the device is in use' => 'nicht mounten. Vielleicht wird das Gerät bereits verwendet',
+'extrahd to' => 'nicht nach',
+'extrahd to root' => 'nicht nach root mounten',
+'extrahd unable to read' => 'Lesefehler von',
+'extrahd unable to write' => 'Schreibfehler von',
+'extrahd you cant mount' => 'Sie können',
 'false classnumber' => 'Die Klassennummer passt nicht zum angegebenen Interface.',
 'false max bandwith' => 'Maximalbandbreite ist ungültig.',
 'false min bandwith' => 'Mindestbandbreite ist ungültig.',
 'hosts config added' => 'Hosts-Konfiguration hinzugefügt',
 'hosts config changed' => 'Hosts-Konfiguration geändert',
 'hour' => 'Stunde',
+'hour-graph' => 'Stunde',
 'hours' => 'Stunden',
 'hours2' => 'Stunden',
 'ibod for dual isdn only' => 'iBOD kann nur bei ISDN-Kanalbündelung genutzt werden.',
 'modulation' => 'Modulation',
 'monday' => 'Montag',
 'month' => 'Monat',
+'month-graph' => 'Monat',
 'monthly firewallhits' => 'monatliche Firewalltreffer',
 'monthly start day bad' => 'Monatlicher Starttag ist nicht gültig',
 'monthly traffic bad' => 'Monatliches Volumen ist nicht gültig',
 'only red' => 'Nur ROT',
 'open to all' => 'Überschreibe externen Zugang zu ALL',
 'openssl produced an error' => 'OpenSSL hat einen Fehler verursacht',
-'openvpn client' => 'OpenVPN Client',
+'openvpn client' => 'OpenVPN-Client',
+'openvpn default' => 'Vorgabe',
+'openvpn destination port used' => 'Der Zielport wird bereits von einer anderen OpenVPN-Server-Instanz genutzt.',
+'openvpn disabled' => 'DEAKTIVIERT',
+'openvpn enabled' => 'AKTIVIERT',
+'openvpn fragment allowed with udp' => '"fragment" kann nur in Kombination mit dem UDP-Protokoll genutzt werden.',
 'openvpn log' => 'OpenVPN Log',
-'openvpn server' => 'OpenVPN Server',
+'openvpn mssfix allowed with udp' => '"mssfix" kann nur in Kombination mit dem UDP-Protokoll genutzt werden.',
+'openvpn prefix local subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim lokalen Subnetz ein wie z.B. 255.255.255.0.',
+'openvpn prefix openvpn subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim OpenVPN-Subnetz ein wie z.B. 255.255.255.0.',
+'openvpn prefix remote subnet' => 'Die Prefix-Notation wird nicht unterstützt. Bitte geben Sie eine Subnetzmaske beim entfernten Subnetz ein wie z.B. 255.255.255.0.',
+'openvpn server' => 'OpenVPN-Server',
+'openvpn subnet is used' => 'Das angegebene Subnetz wird bereits von einer anderen OpenVPN-Server-Instanz genutzt.',
 'optional at cmd' => 'zusätzlicher Modembefehl',
 'optional data' => '3. Optionale Einstellungen',
 'options' => 'Optionen',
 'start ovpn server' => 'Starte OpenVPN Server',
 'state or province' => 'Bundesstat oder Provinz',
 'static ip' => 'Statisch IP',
+'static routes' => 'Statische Routen',
 'status' => 'Status',
 'status information' => 'Statusinformationen',
 'status ovpn' => 'OpenVPN',
 'vpn delayed start' => 'Verzögerung bevor VPN gestartet wird (Sekunden)',
 'vpn delayed start help' => 'Falls notwendig, kann diese Verzögerung dazu verwendet werden, um Dynamic DNS Updates ordnungsgemäß anzuwenden. 60 ist ein gängiger Wert, wenn ROT (RED) eine dynamische IP Adresse ist.',
 'vpn incompatible use of defaultroute' => 'Hostname=%defaultroute nicht zulässig',
+'vpn keyexchange' => 'Schlüsseltausch',
 'vpn local id' => 'Lokale ID',
 'vpn missing remote id' => 'Sie müssen einen korrekten Distinguished Name (DN) für diese Authentifikation eingeben.',
 'vpn mtu invalid' => 'MTU muß ein numerischer Wert sein!',
 'website' => 'Website',
 'wednesday' => 'Mittwoch',
 'week' => 'Woche',
+'week-graph' => 'Woche',
 'weekly firewallhits' => 'wöchentliche Firewalltreffer',
 'weeks' => 'Wochen',
 'wildcards' => 'Wildcards',
 'xtaccess all error' => 'Sie können einen externen Zugang nicht auf \'ALL\' setzen - dies erfolgt in den Port-Weiterleitungsregeln.',
 'xtaccess bad transfert' => 'Wenn Sie einen Port Zielbereich angeben, muss der Quellbereich identisch sein!',
 'year' => 'Jahr',
+'year-graph' => 'Jahr',
 'yearly firewallhits' => 'jährliche Firewalltreffer',
 'yes' => 'Ja',
 'you can only define one roadwarrior connection when using pre-shared key authentication' => 'Sie können nur eine Roadwarrior Verbindung definieren, wenn die Pre-shared Schlüsselauthentifizierung verwendet wird.<br/>Entweder haben Sie bereits eine Roadwarrior Verbindung mit Pre-shared Schlüsselauthentifizierung, oder Sie versuchen gerade eine hinzuzufügen.',
index 247814505a94244f141749e5298de2486a8dce1a..16df2b96fd868246f372468e5f9661cc4ba8da5c 100644 (file)
@@ -5,6 +5,7 @@
 'Add Level7 rule' => 'Add Level7 rule',
 'Add Port Rule' => 'Add port rule',
 'Add Rule' => 'Add rule',
+'Add a route' => 'Add a route',
 'Async logging enabled' => 'Enable asynchronous writing of the syslog file',
 'Choose Rule' => 'Choose <u>one</u> of the following rules.',
 'Class' => 'Class',
@@ -24,6 +25,7 @@
 'ConnSched time' => 'Time:',
 'ConnSched up' => 'Up',
 'ConnSched weekdays' => 'Days of the week:',
+'Edit an existing route' => 'Edit an existing route',
 'Enter TOS' => 'Activate or deactivate TOS-bits <br /> and then press <i>Save</i>.',
 'Existing Files' => 'Files in database',
 'HDD temperature' => 'HDD temperature',
 'day' => 'Day',
 'day after' => 'Day after',
 'day before' => 'Day before',
+'day-graph' => 'Day',
 'days' => 'days.',
 'dbfile' => 'Dbfile',
 'ddns help dnsmadeeasy' => 'In the field for hostname enter your ID (or a list of IDs seperated by;)',
 'external access rule removed' => ' External access rule removed; restarting access controller',
 'external aliases configuration' => 'External aliases configuration',
 'extrahd' => 'ExtraHD',
+'extrahd because there is already a device mounted' => ', because there is already a device mounted',
+'extrahd cant umount' => 'Can\'t umount',
 'extrahd detected drives' => 'detected drives',
+'extrahd install or load driver' => 'If your device isn\'t listed here, you need to install or load the driver.<br />If you can see your device but no partitions you have to create them first.',
+'extrahd maybe the device is in use' => '. Maybe the device is in use',
+'extrahd to' => 'to',
+'extrahd to root' => 'to root',
+'extrahd unable to read' => 'Unable to read',
+'extrahd unable to write' => 'Unable to write',
+'extrahd you cant mount' => 'You can\'t mount',
 'false classnumber' => 'The Class-Number does not match the interface.',
 'false max bandwith' => 'Maximum bandwith is false.',
 'false min bandwith' => 'Minimum bandwith is false.',
 'hosts config added' => 'Hosts config added',
 'hosts config changed' => 'Hosts config changed',
 'hour' => 'Hour',
+'hour-graph' => 'Hour',
 'hours' => 'hours',
 'hours2' => 'Hours',
 'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.',
 'modulation' => 'Modulation',
 'monday' => 'Monday',
 'month' => 'Month',
+'month-graph' => 'Month',
 'monthly firewallhits' => 'monthly firewallhits',
 'monthly start day bad' => 'Monthly start day is not correct',
 'monthly traffic bad' => 'Monthly volume is not correct',
 'only red' => 'Only RED',
 'open to all' => 'Override external access to ALL',
 'openssl produced an error' => 'OpenSSL produced an error',
-'openvpn client' => 'OpenVPN Client',
+'openvpn client' => 'OpenVPN client',
+'openvpn default' => 'Default',
+'openvpn destination port used' => 'The destination port is already used by another OpenVPN server.',
+'openvpn disabled' => 'DISABLED',
+'openvpn enabled' => 'ENABLED',
+'openvpn fragment allowed with udp' => 'Using fragment is only allowed when using the UDP protocol.',
 'openvpn log' => 'OpenVPN Log',
-'openvpn server' => 'OpenVPN Server',
+'openvpn mssfix allowed with udp' => 'Using "mssfix" is only allowed when using the UDP protocol.',
+'openvpn prefix local subnet' => 'Using the prefix notation is not supported for the local subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn prefix openvpn subnet' => 'Using the prefix notation is not supported for the OpenVPN subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn prefix remote subnet' => 'Using the prefix notation is not supported for the remote subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn server' => 'OpenVPN server',
+'openvpn subnet is used' => 'The given subnet is used by another OpenVPN server.',
 'optional at cmd' => 'optional AT command',
 'optional data' => '3. Optional Settings:',
 'options' => 'Options',
 'start ovpn server' => 'Start OpenVPN Server',
 'state or province' => 'State or Province',
 'static ip' => 'Static IP',
+'static routes' => 'Static routes',
 'status' => 'Status',
 'status information' => 'Status information',
 'status ovpn' => '4. OpenVPN Status / Configuration:',
 'vpn delayed start' => 'Delay before launching VPN (seconds)',
 'vpn delayed start help' => 'If required, this delay can be used to allow dynamic DNS updates to propagate properly. 60 is a common value when RED is a dynamic IP.',
 'vpn incompatible use of defaultroute' => 'hostname=%defaultroute not allowed',
+'vpn keyexchange' => 'Keyexchange',
 'vpn local id' => 'Local ID',
 'vpn missing remote id' => 'You must specify a correct Distinguished Name (DN) for this authentication.',
 'vpn mtu invalid' => 'MTU must be a numeric value!',
 'website' => 'Website',
 'wednesday' => 'Wednesday',
 'week' => 'Week',
+'week-graph' => 'Week',
 'weekly firewallhits' => 'weekly firewallhits',
 'weeks' => 'weeks',
 'wildcards' => 'Wildcards',
 'xtaccess all error' => 'You cannot set an external access to ALL, that is done in the port forwarding record.',
 'xtaccess bad transfert' => 'If you specify a port destination range, the source range must be identical !',
 'year' => 'Year',
+'year-graph' => 'Year',
 'yearly firewallhits' => 'yearly firewallhits',
 'yes' => 'Yes',
 'you can only define one roadwarrior connection when using pre-shared key authentication' => 'You can only define one Roadwarrior connection when using pre-shared key authentication.<br />Either you already have a Roadwarrior connection with pre-shared key authentication, or you\'re trying to add one now.',
index 861ff2a2a6fde0b9c901534e6a44e74fc5d3d8a4..365630a6e4d47e111446a44d441b7000190d987d 100644 (file)
@@ -5,6 +5,7 @@
 'Add Level7 rule' => 'añadir regla de Nivel 7',
 'Add Port Rule' => 'Añadir Regla de Puerto',
 'Add Rule' => 'Añadir Regla',
+'Add a route' => 'Añadir una route',
 'Choose Rule' => 'Seleccione <u>una</u> de las siguientes reglas.',
 'Class' => 'Clase',
 'Class was deleted' => 'con subclases potenciales fué eliminado',
@@ -23,6 +24,7 @@
 'ConnSched time' => 'Tiempo:',
 'ConnSched up' => 'Arriba',
 'ConnSched weekdays' => 'Días de las semana:',
+'Edit an existing route' => 'Editar una route existente',
 'Enter TOS' => 'Activar o desactivar bits TOS<br /> y después presione <i>Guardar</i>',
 'Existing Files' => 'Archivos en la base de datos',
 'HDD temperature' => 'Temperatura de HDD',
 'day' => 'Día',
 'day after' => 'Día después',
 'day before' => 'Día anterior',
+'day-graph' => 'Dia',
 'days' => 'dias.',
 'dbfile' => 'Dbfile',
 'ddns help dnsmadeeasy' => '"En el campo nombre de host introduzca si ID (o una lista de Ids separados por ; )"',
 'external access rule removed' => '"Reglas de acceso externo eliminadas; reiniciando controlador de acceso"',
 'external aliases configuration' => 'Configuración de Alias externo',
 'extrahd' => 'Disco duro Adicional',
+'extrahd because there is already a device mounted' => ', because there is already a device mounted',
+'extrahd cant umount' => 'Can\'t umount',
 'extrahd detected drives' => 'Unidades encontradas',
+'extrahd install or load driver' => 'If your device isn\'t listed here, you need to install or load the driver.<br />If you can see your device but no partitions you have to create them first.',
+'extrahd maybe the device is in use' => '. Maybe the device is in use',
+'extrahd to' => 'to',
+'extrahd to root' => 'to root',
+'extrahd unable to read' => 'Unable to read',
+'extrahd unable to write' => 'Unable to write',
+'extrahd you cant mount' => 'You can\'t mount',
 'false classnumber' => 'El número de clase no coincide con la interfaz',
 'false max bandwith' => 'El ancho de banda máximo es falso',
 'false min bandwith' => 'El ancho de banda mínimo es falso',
 'hosts config added' => 'Configuración de hosts agregada',
 'hosts config changed' => 'Configuración de hosts ha cambiado',
 'hour' => 'Hora',
+'hour-graph' => 'Hora',
 'hours' => 'horas',
 'hours2' => 'Horas',
 'ibod for dual isdn only' => 'iBPD sólo puede usarse con ISDN dual',
 'modulation' => 'Modulación',
 'monday' => 'Lun',
 'month' => 'Mes',
+'month-graph' => 'Mes',
 'monthly firewallhits' => 'Hits al firewall mensuales',
 'monthly start day bad' => 'Fecha de inicio mensual incorrecta',
 'monthly traffic bad' => 'Volúmen mensual incorrecto',
 'website' => 'Website',
 'wednesday' => 'Miércoles',
 'week' => 'Semana',
+'week-graph' => 'Semana',
 'weekly firewallhits' => 'Hits semanales al firewall',
 'weeks' => 'Semanas',
 'wildcards' => 'Comodines',
 'xtaccess all error' => 'No puede establecer un acceso externo para TODOS, eso se hace en el registro de reenvío-de-puertos.',
 'xtaccess bad transfert' => '¡Si ud. especifica un rango de puerto de destino, el rango de origen debe ser idéntico!',
 'year' => 'Año',
+'year-graph' => 'Ano',
 'yearly firewallhits' => 'Hits anuales al Firewall',
 'yes' => 'Si',
 'you can only define one roadwarrior connection when using pre-shared key authentication' => 'Solamente puede definir una conexion Roadwarrior cuando utiliza una autenticación por llave pre-compartida.<br />Puede ser que ya cuente con una conexión Roadwarrior abierta con autenticación por llave pre-compartida, o ud está intentando añadir una nueva ahora',
index 778d9d5ae42a3ae99197d3e1768ef88aaae23fd0..04edb257c61df33413551a68b4c1de686b427b16 100644 (file)
@@ -5,6 +5,7 @@
 'Add Level7 rule' => 'Ajouter une règle Level7',
 'Add Port Rule' => 'Ajouter une règle de port',
 'Add Rule' => 'Ajouter une règle',
+'Add a route' => 'Ajouter une route',
 'Async logging enabled' => 'Activer l\'écriture asynchrone du fichier syslog',
 'Choose Rule' => 'Choisissez <u>une</u> des règles suivantes.',
 'Class' => 'Classe',
@@ -24,6 +25,7 @@
 'ConnSched time' => 'Temps :',
 'ConnSched up' => 'Actif',
 'ConnSched weekdays' => 'Jours de la semaine :',
+'Edit an existing route' => 'Modifier une route existante',
 'Enter TOS' => 'Activer ou désactiver TOS-Bits <br /> puis appuyez sur <i> Enregistrer </i>.',
 'Existing Files' => 'Fichiers dans la base de donnée',
 'HDD temperature' => 'Température Disque Dur',
 'day' => 'Jour',
 'day after' => 'Jour d\'après',
 'day before' => 'Jour d\'avant',
+'day-graph' => 'Jour',
 'days' => 'jours.',
 'dbfile' => 'Dbfile',
 'ddns help dnsmadeeasy' => 'Entrez votre identifiant dans ce champ pour noms d\'hôtes (ou une liste d\'identifiants séparés par des ;)',
 'external access rule removed' => 'Règle d\'accès externe supprimée; redémarrage du controleur d\'accès',
 'external aliases configuration' => 'Configuration des alias externes',
 'extrahd' => 'ExtraHD',
-'extrahd founded drives' => 'Périphériques trouvés',
+'extrahd because there is already a device mounted' => ' car vous avez déjà un support de monté',
+'extrahd cant umount' => 'Impossible de démonter',
+'extrahd detected drives' => 'Périphériques trouvés',
+'extrahd install or load driver' => 'Si votre support n\'est pas visible ici, vous devez installer ou charger son pilote.<br />Si vous voyez votre support mais pas de partitions, vous devez tout d\'abord les créer.',
+'extrahd maybe the device is in use' => '. Votre support est peut-être en cours d\'utilisation',
+'extrahd to' => 'vers',
+'extrahd to root' => 'vers root',
+'extrahd unable to read' => 'Impossible de lire',
+'extrahd unable to write' => 'Impossible d\'écrire',
+'extrahd you cant mount' => 'Vous ne pouvez pas monter',
 'false classnumber' => 'Le numéro de classe ne correspond pas à l\'interface.',
 'false max bandwith' => 'La bande passante maximum est fausse.',
 'false min bandwith' => 'La bande passante minimum est fausse.',
 'hosts config added' => 'configuration de l\'hôte ajoutée',
 'hosts config changed' => 'configuration de l\'hôte changée',
 'hour' => 'Heure',
+'hour-graph' => 'Heure',
 'hours' => 'heures',
 'hours2' => 'Heures',
 'ibod for dual isdn only' => 'iBOD peut seulement être utilisé avec un double ISDN.',
 'modulation' => 'Modulation',
 'monday' => 'Lundi',
 'month' => 'Mois',
+'month-graph' => 'Mois',
 'monthly firewallhits' => 'Attaques mensuelle du pare-feu',
 'monthly start day bad' => 'Le jour de début du mois est incorrect',
 'monthly traffic bad' => 'Le trafic mensuel est incorrect',
 'website' => 'Site Web',
 'wednesday' => 'Mercredi',
 'week' => 'Semaine',
+'week-graph' => 'Semaine',
 'weekly firewallhits' => 'Hits hebdomadaire du pare-feu',
 'weeks' => 'semaines',
 'wildcards' => 'Jokers',
 'xtaccess all error' => 'Vous ne pouvez pas donner l\'accès externe à tout ce qui se fait dans le dossier de redirection de port.',
 'xtaccess bad transfert' => 'Si vous spécifiez une plage de ports de destination, la plage source doit être identique !',
 'year' => 'Année',
+'year-graph' => 'Annee',
 'yearly firewallhits' => 'Hits annuels du pare-feu',
 'yes' => 'Oui',
 'you can only define one roadwarrior connection when using pre-shared key authentication' => 'vous ne pouvez définir qu\'une connexion roadwarrior lors de l\'utilisation par pré-authentification par clé partagée.<br />Soit vous avez déjà une connexion RoadWarrior avec pré-authentification par clé partagée, ou vous essayez d\'en ajouter une maintenant.',
index 43599843b8f570084b733ea41fa025417aa69316..12439e4453581406710825c77940ab676bda9ba1 100644 (file)
@@ -5,6 +5,7 @@
 'Add Level7 rule' => 'Dodaj regułę L7',
 'Add Port Rule' => 'Dodaj regułę portu',
 'Add Rule' => 'Dodaj regułę',
+'Add a route' => 'Dodaj trase',
 'Async logging enabled' => 'Włącz asynchroniczny zapis do pliku syslog',
 'Choose Rule' => 'Wybierz <u>jedną</u> z poniższych reguł.',
 'Class' => 'Klasa',
@@ -24,6 +25,7 @@
 'ConnSched time' => 'Czas:',
 'ConnSched up' => 'Wyżej',
 'ConnSched weekdays' => 'Dni tygodnia:',
+'Edit an existing route' => 'Edytuj istniejaca trase',
 'Enter TOS' => 'Aktywuj lub deaktywuj bity TOS <br /> a następnie kliknij <i>Zapisz</i>.',
 'Existing Files' => 'Plików w bazie',
 'HDD temperature' => 'Temperatura HDD',
 'day' => 'Dzien',
 'day after' => 'Dzień po',
 'day before' => 'Dzień przed',
+'day-graph' => 'Dzien',
 'days' => 'dni.',
 'dbfile' => 'Dbfile',
 'ddns help dnsmadeeasy' => 'W polu nazwa hosta wprowadź twoje ID (lub listę ID oddzielanych średnikami)',
 'hosts config added' => 'Dodana konfiguracja hostów',
 'hosts config changed' => 'Zmieniona konfiguracja hostów',
 'hour' => 'Godzina',
+'hour-graph' => 'Godzina',
 'hours' => 'Godziny',
 'hours2' => 'Godziny',
 'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.',
 'modulation' => 'Modulacja',
 'monday' => 'Poniedziałek',
 'month' => 'Miesiac',
+'month-graph' => 'Miesiac',
 'monthly firewallhits' => 'miesięczne zdarzenia zapory',
 'monthly start day bad' => 'Początek okresu miesięcznego jest niepoprawny',
 'monthly traffic bad' => 'Monthly volume is not correct',
 'website' => 'Stron WWW',
 'wednesday' => 'Środa',
 'week' => 'Tydzien',
+'week-graph' => 'Tydzien',
 'weekly firewallhits' => 'zdarzeń zapory tygodniowo',
 'weeks' => 'tygodnie',
 'wildcards' => 'Maski',
 'xtaccess all error' => 'Nie możesz ustawić zdalnego dostępu dla wszystkich - to robi wpis przekierowujący porty.',
 'xtaccess bad transfert' => 'Jeżeli określisz zakres portów docelowy musisz ustawić identyczny zakres portów źródłowych !',
 'year' => 'Rok',
+'year-graph' => 'Rok',
 'yearly firewallhits' => 'zdarzeń zapory w toku',
 'yes' => 'Tak',
 'you can only define one roadwarrior connection when using pre-shared key authentication' => 'Możesz zdefiniować tylko jedno połączenie typu Roadwarrior jeżeli używasz autentykacji kluczem współdzielony (pre-shared key).<br />Albo połączenie typu Roadwarrior uwierzytelniane kluczem współdzielonym już istnieje, albo próbujesz dodać je teraz.',
index 946e302d907f9691f4de8d20f3ccc99a30ea34db..18c1349150dcf1a4a16c66b5ab9cc55b9274cdb0 100644 (file)
 'credits' => 'О Проекте',
 'crl' => 'Список отозванных сертификатов',
 'cron server' => 'CRON Сервер',
-'current' => 'Текущий',
+'current' => 'Current',
 'current aliases' => 'Действующие псевдонимы:',
 'current class' => 'Текущий класс',
 'current devices' => 'Текущие устройства',
 'dat without key' => 'Зашифрованный архив не может быть использован без ключа.',
 'date' => 'Дата',
 'date not in logs' => 'На запрошеный день журналы не найдены или они частично недоступны',
-'day' => 'Day',
+'day' => 'Сутки',
 'day after' => 'Следующий День',
 'day before' => 'Предыдущий День',
 'days' => 'Дни.',
 'disabled' => 'отключён',
 'disconnect' => 'OVPN Остановить / Отключить',
 'disconnects' => 'Отключает',
-'disk access per' => 'Доступ к диску по',
 'disk usage' => 'Использование дисков',
 'display' => 'Экран',
 'display charset' => 'Таблица символов',
 'forwarding rule removed' => 'Forwarding rule removed; restarting forwarder',
 'forwarding rule updated' => 'Forwarding rule updated; restarting forwarder',
 'free' => 'Свободно',
-'free memory' => 'Свободно Памяти    ',
-'free swap' => 'Свободно Swap',
-'frequency' => 'Частота',
+'free memory' => 'Free memory',
+'free swap' => 'Free Swap',
 'friday' => 'Пятница',
 'fritzdsl help' => 'To utilise one of Fritz!DSL fcdsl / fcdslsl / fcdsl2 / fcdslusb / fcdslslusb modem, you must upload a package to your IPFire box. Please download the tarball corresponding to your version from the IPFire website and then upload the entire <b>fcdsl-(your_version).tgz</b> using the form below.',
 'fritzdsl upload' => 'Upload Fritz!DSL driver',
 'inactive' => 'inactive',
 'include logfiles' => 'Включить файлы логов',
 'incoming' => 'Входящий',
-'incoming traffic in bytes per second' => 'Incoming Traffic',
 'incorrect password' => 'Incorrect password',
 'info' => 'Info',
 'init string' => 'Init:',
 'max retries not set' => 'Не указано максимальное число попыток.',
 'max size' => 'Максимальный размер объекта (KB):',
 'max throughput' => 'Максимальная пропускная способность',
-'maximal' => 'Максимум',
+'maximal' => 'Maximal',
 'maximum retries' => 'Максимальное число попыток:',
 'may' => 'Май',
 'mbmon display' => 'Показать',
 'outgoing firewall reset' => 'Сбросить всё',
 'outgoing firewall view group' => 'Посмотреть группу',
 'outgoing firewall warning' => 'Если не указывать ip или mac, то они будут игнорироваться',
-'outgoing traffic in bytes per second' => 'Исходящий трафик',
 'override mtu' => 'Перезаписать MTU по умолчанию',
 'ovpn' => 'OpenVPN',
 'ovpn con stat' => 'Статистика подключений OpenVPN',
 'use ipfire red ip' => 'Для подключения IPFire использует классический RED IP',
 'use only proposed settings' => 'Пожалуйста используйте только предлагаемые настройки.',
 'used' => 'Использовано',
-'used memory' => 'Использовано памяти    ',
-'used swap' => 'Использовано Swap',
+'used memory' => 'Used memory',
+'used swap' => 'Used swap',
 'user' => 'Пользователь',
 'user log' => 'Журнал пользователя',
 'user proxy logs' => 'Журнал proxy пользователя',
index 80e96b724f88d4e2f57a5c44da8dbeeffe22ea2a..c5fd754291726bbbf2cf76fe5bb90ad94c834c41 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011   IPFire Team  <info@ipfire.org>                    #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -25,7 +25,7 @@
 
 include Config
 
-VER        = 2.2.19
+VER        = 2.2.20
 
 THISAPP    = httpd-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -47,7 +47,7 @@ objects = $(DL_FILE) \
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 httpd-2.2.2-config-1.patch = $(DL_FROM)/httpd-2.2.2-config-1.patch
 
-$(DL_FILE)_MD5 = 832f96a6ec4b8fc7cf49b9efd4e89060
+$(DL_FILE)_MD5 = 1ac251431c8c4285f6b085c1d156bb56
 httpd-2.2.2-config-1.patch_MD5 = e02a3ec5925eb9e111400b9aa229f822
 
 install : $(TARGET)
index 976d42517fb2655a61e56ea03087b63d5dcc3552..afdb511f1373eef4b7035b22913dbebfe89ccbd9 100644 (file)
--- a/lfs/bash
+++ b/lfs/bash
@@ -48,6 +48,8 @@ else
   EXTRA_INSTALL = 
 endif
 
+EXTRA_CONFIG += --build=$(BUILDTARGET)
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index c1b660b58380a148c64c6e20e3bbc3460f756074..e0d039800aff4986938167a26a083225ba23ba10 100644 (file)
 
 include Config
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       VER = 2.18
-else
-       VER = 2.17
-endif
+VER        = 2.18
 
 THISAPP    = binutils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -41,23 +37,10 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 # Normal build or /tools build.
 #
 ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "install"
-  TARGET = $(DIR_INFO)/$(THISAPP)-install
-  EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \
-               --build=$(MACHINE)-pc-linux-gnu \
-               --host=$(MACHINE)-pc-linux-gnu \
-               --target=$(MACHINE)-linux-uclibc \
-               --disable-nls \
-               --enable-multilib \
-               --disable-werror
-  EXTRA_MAKE = all
-  EXTRA_INSTALL = 
-else
   TARGET = $(DIR_INFO)/$(THISAPP)
   EXTRA_CONFIG = --prefix=/usr --enable-shared --disable-nls
   EXTRA_MAKE = tooldir=/usr
   EXTRA_INSTALL = tooldir=/usr
-endif
 else
 ifeq "$(PASS)" "1"
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
@@ -79,6 +62,8 @@ ifeq "$(MACHINE_TYPE)" "arm"
                --target=$(BUILDTARGET) \
                --with-abi=aapcs-linux \
                --with-float=soft
+else
+       EXTRA_CONFIG += --build=$(BUILDTARGET)
 endif
 
 ###############################################################################
@@ -89,11 +74,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       $(DL_FILE)_MD5 = 9d22ee4dafa3a194457caf4706f9cf01
-else
-       $(DL_FILE)_MD5 = e26e2e06b6e4bf3acf1dc8688a94c0d1
-endif
+$(DL_FILE)_MD5 = 9d22ee4dafa3a194457caf4706f9cf01
 
 install : $(TARGET)
 
@@ -124,6 +105,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/binutils-build
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-configure-1.patch
        cd $(DIR_SRC)/binutils-build && MACHINE= $(DIR_APP)/configure $(EXTRA_CONFIG)
 ifeq "$(PASS)" "1"
        cd $(DIR_SRC)/binutils-build && make configure-host MAKEINFO=makeinfo MACHINE=
@@ -131,9 +113,7 @@ endif
        cd $(DIR_SRC)/binutils-build && make $(EXTRA_MAKE) $(MAKETUNING) MAKEINFO=makeinfo MACHINE=
        cd $(DIR_SRC)/binutils-build && make $(EXTRA_INSTALL) install MAKEINFO=makeinfo MACHINE=
 ifeq "$(ROOT)" ""
-ifneq "$(LFS_PASS)" "install"
        cp -v $(DIR_APP)/include/libiberty.h /usr/include
-endif
 else
 ifeq "$(PASS)" "1"
        cd $(DIR_SRC)/binutils-build && make -C ld clean MACHINE=
index 24073209d4e6b5ed613a03d97b6baebde5d3bef2..6ae52330ac29e7ecc496a5f7d261dfc5c847247b 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.1
+VER        = 3.1.6
 
 THISAPP    = ccache-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7961852e1e36f11559039c32142f58df
+$(DL_FILE)_MD5 = 343dc9b642e1d2af1e6bd8e474dde92e
 
 install : $(TARGET)
 
index 79d5db40a8a9149ac4ba45d2691c0556e7aaea9b..306b781c2f97a5952302f6956c374c86692b3148 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -29,11 +29,7 @@ VER        = ipfire
 THISAPP    = cleanup-toolchain
 TARGET     = $(DIR_INFO)/$(THISAPP)-$(PASS)-tools
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       GCC_VER = 4.1.2
-else
-       GCC_VER = 4.0.4
-endif
+GCC_VER    = 4.1.2
 
 ###############################################################################
 # Top-level Rules
index 8ae00dd0d96929d39b15aefcd2aa8d36ca3fafe0..4e97dabf8402624d9e45f1170f0c601af5299867 100644 (file)
@@ -34,7 +34,7 @@ else
 endif
 endif
 
-VER        = 2.6.39-1-sn
+VER        = 3.0-2
 
 THISAPP    = compat-wireless-$(VER)
 DL_FILE    = compat-wireless-$(VER).tar.bz2
@@ -51,7 +51,7 @@ objects = $(DL_FILE) asix-3.5.0a.tar.bz2
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 asix-3.5.0a.tar.bz2 = $(DL_FROM)/asix-3.5.0a.tar.bz2
 
-$(DL_FILE)_MD5 = ac2b20607d75de8ce2b30b74995383a6
+$(DL_FILE)_MD5 = 7f2d0de30bf9c3e9a941d9e67971e9b3
 asix-3.5.0a.tar.bz2_MD5=cc57513505d3ad1a43b58add91d2bba7
 
 install : $(TARGET)
index 43c2d21558d9fe4140273e123fbf25eebd0647ff..f35361469d4d99212339ebacc7b067d90bcc3817 100644 (file)
@@ -65,7 +65,7 @@ $(TARGET) :
            certs/index.txt ddns/config ddns/noipsettings ddns/settings ddns/ipcache dhcp/settings \
            dhcp/fixleases dhcp/advoptions dhcp/dhcpd.conf.local dmzholes/config dns/settings ethernet/aliases ethernet/settings ethernet/known_nics ethernet/scanned_nics \
            extrahd/scan extrahd/devices extrahd/partitions extrahd/settings fwlogs/ipsettings fwlogs/portsettings \
-           isdn/settings mac/settings main/disable_nf_sip main/hosts main/settings net-traffic/settings optionsfw/settings outgoing/settings outgoing/rules \
+           isdn/settings mac/settings main/disable_nf_sip main/hosts main/routing main/settings net-traffic/settings optionsfw/settings outgoing/settings outgoing/rules \
            pakfire/settings portfw/config ppp/settings-1 ppp/settings-2 ppp/settings-3 ppp/settings-4 \
            ppp/settings-5 ppp/settings proxy/settings proxy/advanced/settings proxy/advanced/cre/enable remote/settings qos/settings qos/classes qos/subclasses qos/level7config qos/portconfig \
            qos/tosconfig snort/settings tripwire/settings upnp/settings vpn/config vpn/settings vpn/ipsec.conf \
index c4aa9db02b1cdef45d6353455d0ab9e205f154f4..d5c437dd102b31c938b853a211132d91cb5705cf 100644 (file)
@@ -45,6 +45,8 @@ else
   EXTRA_INSTALL = 
 endif
 
+EXTRA_CONFIG += --build=$(BUILDTARGET)
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index 00b4a13e53b03a7b85625af11809a90571aeec6e..15f0419d868ac29e2afe5416ea4d870d04b861fd 100644 (file)
 
 include Config
 
-VER        = 3
+VER        = 3.0
 
 THISAPP    = ethtool-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b4e71f7fa2629250677eefcb338442c5
+$(DL_FILE)_MD5 = cb129398cbbf39859901b55ecac101da
 
 install : $(TARGET)
 
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
diff --git a/lfs/gcc b/lfs/gcc
index 6605d5b9351b6e06e9669254aefd1b696fb0651d..785b965cf1410a9e3306a03cb11b193615ec4029 100644 (file)
--- a/lfs/gcc
+++ b/lfs/gcc
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       VER = 4.1.2
-else
-       VER = 4.0.4
-endif
+VER        = 4.1.2
 
 THISAPP    = gcc-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-CFLAGS     =
-CXXFLAGS   =
-TARGET_PATH = /opt/$(MACHINE)-uClibc/bin:$(PATH)
 
 # Normal build or /tools build.
 #
 ifeq "$(ROOT)" ""
-ifeq "$(INST)" "1"
-  TARGET = $(DIR_INFO)/$(THISAPP)-install1
-  EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \
-               --build=$(MACHINE)-pc-linux-gnu \
-               --host=$(MACHINE)-pc-linux-gnu \
-               --target=$(MACHINE)-linux-uclibc \
-               --enable-languages=c \
-               --with-sysroot=$(DIR_SRC)/uClibc_dev \
-               --disable-__cxa_atexit \
-               --enable-target-optspace \
-               --with-gnu-ld \
-               --disable-shared \
-               --enable-threads \
-               --enable-multilib \
-               --disable-nls
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
-else
-ifeq "$(INST)" "2"
-  TARGET = $(DIR_INFO)/$(THISAPP)-install2
-  EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \
-               --build=$(MACHINE)-pc-linux-gnu \
-               --host=$(MACHINE)-pc-linux-gnu \
-               --target=$(MACHINE)-linux-uclibc \
-               --enable-languages=c,c++ \
-               --with-sysroot=$(DIR_SRC)/uClibc_dev \
-               --disable-__cxa_atexit \
-               --enable-target-optspace \
-               --with-gnu-ld \
-               --enable-shared \
-               --disable-nls \
-               --enable-threads \
-               --enable-multilib
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
-else
   TARGET = $(DIR_INFO)/$(THISAPP)
   EXTRA_CONFIG = --prefix=/usr \
                --libexecdir=/usr/lib \
@@ -88,8 +45,6 @@ else
                --disable-nls
   EXTRA_MAKE =
   EXTRA_INSTALL =
-endif
-endif
 else
 ifeq "$(PASS)" "1"
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
@@ -100,7 +55,6 @@ ifeq "$(PASS)" "1"
                --enable-languages=c \
                --disable-bootstrap
   EXTRA_MAKE = 
-  #bootstrap BOOT_LDFLAGS="-static"
   EXTRA_INSTALL = 
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools2
@@ -131,6 +85,9 @@ ifeq "$(MACHINE_TYPE)" "arm"
                --enable-c99 \
                --enable-__cxa_atexit \
                --disable-multilib
+else
+       EXTRA_CONFIG += --build=$(BUILDTARGET) --host=$(BUILDTARGET) \
+               --target=$(BUILDTARGET)
 endif
 
 export XCFLAGS = $(CFLAGS)
@@ -143,11 +100,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       $(DL_FILE)_MD5 = a4a3eb15c96030906d8494959eeda23c
-else
-       $(DL_FILE)_MD5 = 8970debbc55bea85ee80961d733080f0
-endif
+$(DL_FILE)_MD5 = a4a3eb15c96030906d8494959eeda23c
 
 install : $(TARGET)
 
@@ -177,35 +130,13 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-fix_linker_version_detection.patch
        @mkdir $(DIR_SRC)/gcc-build
 
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.1.2-gcc_eh.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.1.2-arm-linux-soft-float.patch
 
 ifeq "$(ROOT)" ""
-ifeq "$(INST)" "1"
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-conf.patch
-       cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make $(MAKETUNING) all-gcc
-       cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make install-gcc
-       cd /opt/$(MACHINE)-uClibc/bin && for i in `ls -w1 $(MACHINE)-linux-uclibc-*`; do \
-               ln -svf $$i $(MACHINE)-linux-`echo $$i | cut -c 19-`; \
-       done
-       ln -svf $(MACHINE)-linux-uclibc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux
-       ln -svf gcc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/bin/cc
-else
-ifeq "$(INST)" "2"
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-conf.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-locale.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-libstdc++-pic.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-sdk-libstdc++-includes.patch
-       ln -snf ../include /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/sys-include
-       cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make install $(EXTRA_INSTALL)
-       cp -f /opt/$(MACHINE)-uClibc/lib/libgcc_s.so /lib
-       cd /lib && ln -sf libgcc_s.so libgcc_s.so.1
-else
        cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
        cd $(DIR_APP) && sed -i 's/^XCFLAGS =$$/& -fomit-frame-pointer/' gcc/Makefile.in
        cd $(DIR_APP) && sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
@@ -216,8 +147,6 @@ else
        cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
        ln -sfv ../usr/bin/cpp /lib
        ln -sfv gcc /usr/bin/cc
-endif
-endif
 else
 ifeq "$(PASS)" "1"
        cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
index 5950b1c4e59f980d44c7fd3918fe0b917a7af63f..702aa05f8f62fd346c67d012afc77168dec28138 100644 (file)
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -61,6 +61,8 @@ ifeq "$(MACHINE_TYPE)" "arm"
                --build=arm \
                --host=$(BUILDTARGET) \
                --without-fp
+else
+       EXTRA_CONFIG += --build=$(BUILDTARGET)
 endif
 
 ###############################################################################
index a3d13a1608183d2b3bd8ecd92d3c40ada6b492e5..3c36edcc11c32c02c4c722c7cbd0e3f796ea667a 100644 (file)
--- a/lfs/groff
+++ b/lfs/groff
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.18.1.1
+VER        = 1.21
 
 THISAPP    = groff-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 511dbd64b67548c99805f1521f82cc5e
+$(DL_FILE)_MD5 = 8b8cd29385b97616a0f0d96d0951c5bf
 
 install : $(TARGET)
 
@@ -77,7 +77,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && PAGE=A4 ./configure --prefix=/usr --enable-multibyte --disable-nls
        cd $(DIR_APP) && make
        cd $(DIR_APP) && make install
-       ln -sv eqn /usr/bin/geqn
-       ln -sv tbl /usr/bin/gtbl
+       ln -svf eqn /usr/bin/geqn
+       ln -svf tbl /usr/bin/gtbl
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 3cc684483b711da7df627a2e4c4e90171e81cb56..50ccf40df3014209153c13f5460aaca6770595b6 100644 (file)
@@ -76,5 +76,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make $(MAKETUNING) SBINDIR=/sbin
        cd $(DIR_APP) && make SBINDIR=/sbin install
        cd $(DIR_APP) && mv -v /sbin/arpd /usr/sbin
+
+       # Add table for static routing
+       echo "200       static" >> /etc/iproute2/rt_tables
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/java b/lfs/java
deleted file mode 100644 (file)
index 7c8d834..0000000
--- a/lfs/java
+++ /dev/null
@@ -1,83 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program 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 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.6.0_12
-
-THISAPP    = java-$(VER)-for-ipfire
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = java
-PAK_VER    = 2
-
-DEPS       = ""
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 260b644b3b9f5c4ddba09444db45e19e
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC)
-       tar zxf $(DIR_DL)/$(DL_FILE) -C /usr
-       ln -s /usr/java/bin/java /usr/bin/java
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 94d9e844972605df1567207122008f7f287c3d53..fad1c59ad9466867a0460757b8f0890d7ced4a8e 100644 (file)
@@ -34,7 +34,7 @@ else
 endif
 endif
 
-VER        = 2.6.38.6
+VER        = 3.0b
 
 THISAPP    = kvm-kmod-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -51,7 +51,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b631ba6ba7b0d3c07de870c6104ffbd5
+$(DL_FILE)_MD5 = 19792041adc25779b31ea5c5fdca7d8c
 
 install : $(TARGET)
 
@@ -84,7 +84,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)_remove_pvclock_scale_delta_redifinition.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)_remove_pvclock_scale_delta_redefinition.patch
        cd $(DIR_APP) && ./configure --kerneldir=/usr/src/linux
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && install -m 644 x86/*.ko \
similarity index 84%
rename from lfs/libsatsolver
rename to lfs/libsolv
index 778375a2e64c70af7fb20f0160fac0ce6f2e6e04..b602095caa894e18d7e733d1b316017034f580d2 100644 (file)
 
 include Config
 
-VER        = 0.16.4
+VER        = 0.0.0-0db9d7f
 
-THISAPP    = libsatsolver-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+THISAPP    = libsolv-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-PROG       = libsatsolver
+PROG       = libsolv
 DEPS       = ""
 PAK_VER    = 1
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 563414330c29e9b49be0e43358185a78
+$(DL_FILE)_MD5 = ba95c404d807bc71297c508a7127a3d9
 
 install : $(TARGET)
 
@@ -76,17 +76,19 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Build-only-libraries.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Create-linker-scripts-that-do-only-export-the-needed.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 
        # Who releases code with -Werror?
        cd $(DIR_APP) && sed -e "s/-Werror//g" -i CMakeLists.txt
 
+       # Disable bindings, examples and tools.
+       cd $(DIR_APP) && sed "/bindings/d" -i CMakeLists.txt
+       cd $(DIR_APP) && sed "/examples/d" -i CMakeLists.txt
+       cd $(DIR_APP) && sed "/tools/d" -i CMakeLists.txt
+
        # Make sure that libsatsolverext is linked properly to all needed
        # libraries.
-       cd $(DIR_APP) && echo "TARGET_LINK_LIBRARIES(satsolverext satsolver \$${EXPAT_LIBRARY} \$${ZLIB_LIBRARY})" \
+       cd $(DIR_APP) && echo "TARGET_LINK_LIBRARIES(libsolvext libsolv \$${EXPAT_LIBRARY} \$${ZLIB_LIBRARY})" \
                >> ext/CMakeLists.txt
 
        # Remove the RPM stuff when we build with -DFEDORA=1 because we
index 3c7be4d0e85b3637949aec567eaf0273d7df2dde..0b7bbb7860244b48b9e6ba002c7e2bb4b17df207 100644 (file)
@@ -48,6 +48,8 @@ else
   EXTRA_INSTALL = 
 endif
 
+EXTRA_CONFIG += --build=$(BUILDTARGET)
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index 792de60dab18452df2ced2797e156df90d021343..41594b70914139e1ffbbe4e6735066c6a748ba9b 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1.2
+VER        = 2.2.1
 
 THISAPP    = openvpn-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 543a30dafcdefe1d67c0e47b80741755
+$(DL_FILE)_MD5 = 500bee5449b29906150569aaf2eb2730
 
 install : $(TARGET)
 
@@ -77,8 +77,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && cp -Rvf $(DIR_SRC)/config/ovpn /var/ipfire
        cd $(DIR_APP)/plugin/auth-pam && make
        cp -pvf $(DIR_APP)/plugin/auth-pam/openvpn-auth-pam.so /lib/
+       cd $(DIR_APP)/plugin/down-root && make
+       cp -pvf $(DIR_APP)/plugin/down-root/openvpn-down-root.so /lib/
        -mkdir -vp /var/ipfire/ovpn/ca
        -mkdir -vp /var/ipfire/ovpn/crls
+       -mkdir -vp /var/ipfire/ovpn/n2nconf
        touch /var/ipfire/ovpn/ovpn-leases.db
        chmod 700 /var/ipfire/ovpn/ovpn-leases.db
        chown -R nobody:nobody /var/ipfire/ovpn
index f507544c425456944db3a40ae4ad5c027d6c0403..c4ddc8e7604e5157e5de4126288daeb87e7e78cf 100644 (file)
--- a/lfs/perl
+++ b/lfs/perl
@@ -80,6 +80,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 ifneq "$(ROOT)" ""
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-libc-2.patch
 endif
+       cd $(DIR_APP) && sed -i -e 's|-fstack-protector|-fno-stack-protector|g' Configure
 ifeq "$(ROOT)" ""
        cd $(DIR_APP) && ./configure.gnu --prefix=/usr -Dman1dir=/usr/share/man/man1 \
                -Dman3dir=/usr/share/man/man3 -Dpager="/usr/bin/less -isR" -Dusethreads
diff --git a/lfs/python-satsolver b/lfs/python-satsolver
deleted file mode 100644 (file)
index 0974a15..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program 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 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.16.0-20110429-868eae9
-
-THISAPP    = sat-solver-bindings-$(VER)
-DL_FILE    = $(THISAPP).tar.xz
-DL_FROM    = http://source.ipfire.org/source-3.x
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-PROG       = python-satsolver
-DEPS       = "libsatsolver"
-PAK_VER    = 1
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 479f3b57a9f9a59c7b24e37aedda7469
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist :
-       $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-
-       # Workaround for weak tarball
-       @rm -rf $(DIR_APP) && mkdir $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE) -C $(DIR_APP)
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/python-satsover-fix-building-without-rpm.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/python-satsolver-only-python-bindings.patch
-
-       # Aaaahh!
-       cd $(DIR_APP) && sed -e "s/-Werror//g" -i CMakeLists.txt
-
-       cd $(DIR_APP) && mkdir build
-       cd $(DIR_APP)/build && cmake .. -DDEBIAN=1 \
-               -DCMAKE_INSTALL_PREFIX=/usr \
-               -DCMAKE_BUILD_TYPE=Release \
-               -DCMAKE_SKIP_RPATH=1 \
-               -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so \
-               -DPYTHON_INCLUDE_PATH=/usr/include/python2.7
-
-       cd $(DIR_APP)/build && make $(PARALELLISMFLAGS)
-
-       # Install only the python bindings. That's all we need.
-       cd $(DIR_APP)/build/bindings/python && make install
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 049efff3eaf9b87b6847ec62c5de96489412c41e..da2ea34ba24421d9c12d52497dd54bd3cfc79c24 100644 (file)
--- a/lfs/qemu
+++ b/lfs/qemu
 
 include Config
 
-VER        = 0.14.1
+VER        = 0.15.0
 
-THISAPP    = qemu-$(VER)
+THISAPP    = qemu-kvm-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = i586
 PROG       = qemu
-PAK_VER    = 11
+PAK_VER    = 13
 
 DEPS       = "sdl"
 
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b6c713a8db638e173af53a62d5178640
+$(DL_FILE)_MD5 = b45b0deebba4ce47dcaaab3807f6ed47
 
 install : $(TARGET)
 
@@ -79,10 +79,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-0.14.1_missing_ATFCWD_hack.patch
+       cd $(DIR_APP) && sed -i -e 's|CFLAGS+="-march=i486"|CFLAGS+=""|g' configure
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-0.15.0_missing_definitions_hack.patch
 
        cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
-               --target-list="i386-linux-user i386-softmmu"
+               --target-list="i386-linux-user i386-softmmu arm-softmmu"
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index f85b5e9a8029cf47df49042843b0f5cd5ce341c5..a29109fc49662ed3cd5a070aa658f00f866970e3 100644 (file)
--- a/lfs/squid
+++ b/lfs/squid
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.1.14
+VER        = 3.1.15
 
 THISAPP    = squid-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 8f82a451b04c3bf3c29202c548d2f2dd
+$(DL_FILE)_MD5 = 73d47363ddccc400bc0fb2f814c63a92
 
 install : $(TARGET)
 
index 380d351d9fd864aed723ca18f5d3d970080503a0..1efd283bbed4c9d19e43dd050b5981cb255eadc8 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.5.0
+VER        = 4.5.3
 
 THISAPP    = strongswan-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = cfbd6efef87830a2e7cc4175bde7ac84
+$(DL_FILE)_MD5 = ee7c50a90c91307b111e8085f2479890
 
 install : $(TARGET)
 
index 3046171bb5665ae8e331c2f83c8a2f673292428f..e5ae0ed791690309c24baa7c64df38616bd176e3 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.1.6
+VER        = 1.1.9
 
 THISAPP    = usb-modeswitch-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = be3c7fc908e6ab50eb9fd29d187ad176
+$(DL_FILE)_MD5 = 76f6978f18cac41f269a346a5d0f1052
 
 install : $(TARGET)
 
@@ -73,6 +73,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make clean
        cd $(DIR_APP) && make all $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
-       cp -f $(DIR_APP)/device_reference.txt /etc/usb_modeswitch.setup.example
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index f32208039f453e7e04f2d2f0610e6f8a02601ebe..486aa2d8da905f204f7d3787afb55b887fefc942 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 20101222
+VER        = 20110805
 
 THISAPP    = usb-modeswitch-data-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e386386bc389c2a8184c7ea4136fde0e
+$(DL_FILE)_MD5 = 0ed8a28f8efd3177a128ecd46fc8bf9f
 
 install : $(TARGET)
 
@@ -70,6 +70,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       # don't reload udev rules
+       cd $(DIR_APP) && sed -i -e "s|/issue|&-off|g" Makefile
        cd $(DIR_APP) && make clean
        cd $(DIR_APP) && make all $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
index caef9725fcff60332758f086cf6a0d4ecff37829..1b123a72dae4905229cbcf506ce44294d9312f3f 100644 (file)
@@ -155,10 +155,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        sed -i -e "s|^thermal|#thermal|g" $(MNThdd)/etc/sysconfig/modules
        sed -i -e "s|^video|#video|g" $(MNThdd)/etc/sysconfig/modules
 
-       #Change pakfire trunk
-       sed -i -e "s|$(VERSION)|$(VERSION)-xen|g" \
-               $(MNThdd)/opt/pakfire/etc/pakfire.conf
-
        #Copy initramdisk, kernel and config
        #cp -f $(MNThdd)/boot/ipfirerd-$(KVER)-xen.img \
        #       /install/images/$(SNAME)/boot
diff --git a/make.sh b/make.sh
index b3abaceb4fb60ac783de334c4d1052c0f75186bf..e229b98fa959515014a8abb8544ed7b5b502e4d8 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -24,9 +24,9 @@
 
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
-VERSION="2.9"                                                  # Version number
-CORE="52"                                                      # Core Level (Filename)
-PAKFIRE_CORE="51"                                              # Core Level (PAKFIRE)
+VERSION="2.11"                                                 # Version number
+CORE="53"                                                      # Core Level (Filename)
+PAKFIRE_CORE="52"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git status | head -n1 | cut -d" " -f4`             # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -286,6 +286,7 @@ buildtoolchain() {
     lfsmake1 tar
     lfsmake1 texinfo
     lfsmake1 util-linux
+    lfsmake1 strip
     lfsmake1 cleanup-toolchain PASS=2
     export PATH=$ORG_PATH
 }
@@ -557,7 +558,6 @@ buildipfire() {
   ipfiremake wireless
   ipfiremake libsafe
   ipfiremake pakfire
-  ipfiremake java
   ipfiremake spandsp
   ipfiremake lzo
   ipfiremake openvpn
@@ -713,8 +713,7 @@ buildipfire() {
   ipfiremake python-m2crypto
   ipfiremake wireless-regdb
   ipfiremake crda
-  ipfiremake libsatsolver
-  ipfiremake python-satsolver
+  ipfiremake libsolv
   ipfiremake python-distutils-extra
   ipfiremake python-lzma
   ipfiremake python-progressbar
@@ -730,7 +729,7 @@ buildipfire() {
   echo >> $BASEDIR/build/var/ipfire/firebuild
   cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
   echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
-  if [ "$GIT_BRANCH" = "master" ]; then
+  if [ "$GIT_BRANCH" = "next" ]; then
        echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release
   else
        echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
@@ -845,7 +844,7 @@ ipfirepackages() {
 case "$1" in 
 build)
        clear
-       PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1`
+       PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz 2> /dev/null | head -n 1`
        #only restore on a clean disk
        if [ ! -f log/cleanup-toolchain-2-tools ]; then
                if [ ! -n "$PACKAGE" ]; then
@@ -978,27 +977,27 @@ toolchain)
        prepareenv
        beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
        buildtoolchain
-       echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE
+       echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
-       cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \
+       cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
                build/{bin,etc,usr/bin,usr/local} \
                build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
                log >> $LOGFILE
-       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \
-               > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.md5
+       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
+               > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
        stdumount
        ;;
 gettoolchain)
        # arbitrary name to be updated in case of new toolchain package upload
-       PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE
+       PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE
        if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then
                URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'`
                test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
-               echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE
+               echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
                cd $BASEDIR/cache/toolchains
                wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
                if [ $? -ne 0 ]; then
-                       echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE
+                       echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $MACHINE machine" | tee -a $LOGFILE
                else
                        if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then
                                echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE
index 7f27a65a8cb6c589678cfb7545de230b1eff9335..55422143371ca7c3dc61ccbd4a6503671b4c14b8 100644 (file)
@@ -51,6 +51,7 @@ init_networking() {
        fi
 
        /etc/rc.d/init.d/dnsmasq start
+       /etc/rc.d/init.d/static-routes start
 }
 
 DO="${1}"
index 1e4af55af812f3520196d270674c37ab78be6f51..2b342c8a0334428f09b2283b5f993c69a36dcb13 100644 (file)
@@ -458,7 +458,7 @@ case "${1}" in
                        PPP_STD_OPTIONS+=" default-asyncmap hide-password nodetach mtu ${MTU}"
                        PPP_STD_OPTIONS+=" mru ${MRU} noaccomp nodeflate nopcomp novj novjccomp"
                        PPP_STD_OPTIONS+=" nobsdcomp user ${USERNAME} lcp-echo-interval 20"
-                       PPP_STD_OPTIONS+=" lcp-echo-failure 3 ${AUTH}"
+                       PPP_STD_OPTIONS+=" lcp-echo-failure 5 ${AUTH}"
                                
                        ### Debugging
                        #
index 59e95addf4719b86a260dda53dd4d01bae3ef121..948d7b276adf43f686ce3fce123e81e1538f03ab 100644 (file)
@@ -1,5 +1,6 @@
 #!/bin/bash
 
 /usr/local/bin/openvpnctrl -k &
+/usr/local/bin/openvpnctrl -kn2n &
 
 exit 0
index a53b9207c827fbafddf7daff8a580827e9084251..f3db648bc1c4f25f092331879a7ed38f3c232628 100644 (file)
@@ -1,5 +1,6 @@
 #!/bin/bash
 
 /usr/local/bin/openvpnctrl -s > /dev/null 2>&1
+/usr/local/bin/openvpnctrl -sn2n > /dev/null 2>&1
 
 exit 0
diff --git a/src/initscripts/init.d/static-routes b/src/initscripts/init.d/static-routes
new file mode 100644 (file)
index 0000000..940a7b4
--- /dev/null
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+
+function init_table() {
+       # Check if table does already exist. If not we add it.
+       if (ip rule | grep -q "static" >/dev/null 2>&1); then
+               return
+       fi
+
+       ip rule add table static
+}
+
+function create_all_routes() {
+       local file=${1}
+       shift
+
+       # Remote all routes.
+       ip route flush table static >/dev/null 2>&1
+
+       local status
+       local network
+       local gateway
+       local remark
+
+       # Read all routes from the configuration file and add the enabled ones
+       # immediately.
+       while IFS=, read status network gateway remark; do
+               [ "${status}" = "on" ] || continue
+
+               if [ -z "${network}" -o -z "${gateway}" ]; then
+                       # Silently skipping invalid routes.
+                       continue
+               fi
+
+               ip route add ${network} via ${gateway} table static proto static
+       done < ${file}
+}
+
+CONFIGFILE="/var/ipfire/main/routing"
+
+case "${1}" in
+       start)
+               boot_mesg "Adding static routes..."
+
+               # First, initialize the table
+               init_table
+
+               # Add all routes
+               create_all_routes ${CONFIGFILE}
+
+               evaluate_retval
+               ;;
+
+       stop)
+               boot_mesg "Removing static routes..."
+               ip route flush table static >/dev/null 2>&1
+               evaluate_retval
+               ;;
+
+       *)
+               echo "Usage: ${0} {start|stop}"
+               exit 1
+               ;;
+esac
index 348f91c7437111fe42b03edf77fd4bb3cf6248f5..9f1e3f0006d16b3dac3ac93e8bc95af8fbd2c191 100644 (file)
@@ -32,7 +32,7 @@ SUID_PROGS = setdmzholes setportfw setxtaccess \
        wirelessctrl getipstat getiptstate qosctrl launch-ether-wake \
        redctrl syslogdctrl extrahdctrl sambactrl upnpctrl tripwirectrl \
        smartctrl clamavctrl addonctrl pakfire mpfirectrl wlanapctrl \
-       setaliases urlfilterctrl updxlratorctrl fireinfoctrl
+       setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes
 SUID_UPDX = updxsetperms
 
 install : all
@@ -158,3 +158,5 @@ updxsetperms: updxsetperms.c setuid.o ../install+setup/libsmooth/varval.o
 fireinfoctrl: fireinfoctrl.c setuid.o ../install+setup/libsmooth/varval.o
        $(COMPILE) -I../install+setup/libsmooth/ fireinfoctrl.c setuid.o ../install+setup/libsmooth/varval.o -o $@
 
+rebuildroutes: rebuildroutes.c setuid.o ../install+setup/libsmooth/varval.o
+       $(COMPILE) -I../install+setup/libsmooth/ rebuildroutes.c setuid.o ../install+setup/libsmooth/varval.o -o $@
index 51f6b5a30190a1472afb4b5ae09096fec16e17ab..0b0517713d031d1e481559d7148aeb54c562aaee 100644 (file)
@@ -59,9 +59,9 @@ void open_physical (char *interface, int nat_traversal_port) {
 //        safe_system(str);
         // IKE
 
-        sprintf(str, "/sbin/iptables -D IPSECINPUT -p udp -i %s --sport 500 --dport 500 -j ACCEPT >/dev/null 2>&1", interface);
+        sprintf(str, "/sbin/iptables -D IPSECINPUT -p udp -i %s --dport 500 -j ACCEPT >/dev/null 2>&1", interface);
         safe_system(str);
-        sprintf(str, "/sbin/iptables -A IPSECINPUT -p udp -i %s --sport 500 --dport 500 -j ACCEPT", interface);
+        sprintf(str, "/sbin/iptables -A IPSECINPUT -p udp -i %s --dport 500 -j ACCEPT", interface);
         safe_system(str);
 
         if (! nat_traversal_port) 
@@ -142,10 +142,42 @@ int decode_line (char *s,
 */
 void turn_connection_on (char *name, char *type) {
 /*
-    if you find a way to start a single connection without changing all add it
-    here. Change also vpn-watch.
+       Rename the connection and run ipsec update and rename it back to readd
+       a deleted connection. Because ipsec update ignores connection that have
+       not changed since last load.
 */
-        safe_system("/etc/rc.d/init.d/ipsec restart >/dev/null");
+        char command[STRING_SIZE];
+        memset(command, 0, STRING_SIZE);
+        snprintf(command, STRING_SIZE - 1, 
+                "sed -i -e 's|^conn %s$|conn %s-renamed|g' /var/ipfire/vpn/ipsec.conf >/dev/null", name, name);
+        safe_system(command);
+
+       // Down and delete IKEv2 Tunnel before ipsec update
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke down %s >/dev/null", name);
+        safe_system(command);
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke delete %s >/dev/null", name);
+        safe_system(command);
+
+        safe_system("/etc/rc.d/init.d/ipsec update >/dev/null");
+
+       sleep(1);
+
+       // Back to original name
+       snprintf(command, STRING_SIZE - 1, 
+                "sed -i -e 's|^conn %s-renamed$|conn %s|g' /var/ipfire/vpn/ipsec.conf >/dev/null", name, name);
+        safe_system(command);
+
+       // Down and delete IKEv2 Tunnel before ipsec update
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke down %s-renamed >/dev/null", name);
+        safe_system(command);
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke delete %s-renamed >/dev/null", name);
+        safe_system(command);
+
+        safe_system("/etc/rc.d/init.d/ipsec update >/dev/null");
 }
 /*
     issue ipsec commmands to turn off connection 'name'
@@ -156,7 +188,16 @@ void turn_connection_off (char *name) {
         snprintf(command, STRING_SIZE - 1, 
                 "/usr/sbin/ipsec whack --delete --name %s >/dev/null", name);
         safe_system(command);
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke down %s >/dev/null", name);
+        safe_system(command);
+        snprintf(command, STRING_SIZE - 1, 
+                "/usr/sbin/ipsec stroke delete %s >/dev/null", name);
+        safe_system(command);
+
         safe_system("/usr/sbin/ipsec whack --rereadall >/dev/null");
+        safe_system("/usr/sbin/ipsec stroke rereadall >/dev/null");
+
 }
 
 
@@ -178,11 +219,13 @@ int main(int argc, char *argv[]) {
 
         if (strcmp(argv[1], "I") == 0) {
                 safe_system("/usr/sbin/ipsec whack --status");
+                safe_system("/usr/sbin/ipsec stroke status");
                 exit(0);
         }
 
         if (strcmp(argv[1], "R") == 0) {
                 safe_system("/usr/sbin/ipsec whack --rereadall >/dev/null");
+                safe_system("/usr/sbin/ipsec stroke rereadall >/dev/null");
                 exit(0);
         }
 
index 93aff3e052495516da923d434d1cf1b9477e5f6c..5207c240fbc58bd87bc0ad90f5cac8082f737c0b 100644 (file)
@@ -1,3 +1,4 @@
+#include <signal.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -24,7 +25,17 @@ char enableorange[STRING_SIZE] = "off";
 char OVPNRED[STRING_SIZE] = "OVPN";
 char OVPNBLUE[STRING_SIZE] = "OVPN_BLUE_";
 char OVPNORANGE[STRING_SIZE] = "OVPN_ORANGE_";
-char WRAPPERVERSION[STRING_SIZE] = "2.0.1.6";
+char WRAPPERVERSION[STRING_SIZE] = "ipfire-2.2.1";
+
+struct connection_struct {
+       char name[STRING_SIZE];
+       char type[STRING_SIZE];
+       char proto[STRING_SIZE];
+       int port;
+       struct connection_struct *next;
+};
+
+typedef struct connection_struct connection;
 
 void exithandler(void)
 {
@@ -37,9 +48,9 @@ void exithandler(void)
 void usage(void)
 {
 #ifdef ovpndebug
-       printf("Wrapper for OpenVPN v%s-debug\n", WRAPPERVERSION);
+       printf("Wrapper for OpenVPN %s-debug\n", WRAPPERVERSION);
 #else
-       printf("Wrapper for OpenVPN v%s\n", WRAPPERVERSION);
+       printf("Wrapper for OpenVPN %s\n", WRAPPERVERSION);
 #endif
        printf("openvpnctrl <option>\n");
        printf(" Valid options are:\n");
@@ -49,6 +60,12 @@ void usage(void)
        printf("      kills/stops OpenVPN\n");
        printf(" -r   --restart\n");
        printf("      restarts OpenVPN (implicitly creates chains and firewall rules)\n");
+       printf(" -sn2n --start-net-2-net\n");
+       printf("      starts all net2net connections\n");
+       printf("      you may pass a connection name to the switch to only start a specific one\n");
+       printf(" -kn2n --kill-net-2-net\n");
+       printf("      kills all net2net connections\n");
+       printf("      you may pass a connection name to the switch to only start a specific one\n");
        printf(" -d   --display\n");
        printf("      displays OpenVPN status to syslog\n");
        printf(" -fwr --firewall-rules\n");
@@ -62,6 +79,85 @@ void usage(void)
        exit(1);
 }
 
+connection *getConnections() {
+       FILE *fp = NULL;
+
+       if (!(fp = fopen(CONFIG_ROOT "/ovpn/ovpnconfig", "r"))) {
+               fprintf(stderr, "Could not open openvpn n2n configuration file.\n");
+               exit(1);
+       }
+
+       char line[STRING_SIZE] = "";
+       char result[STRING_SIZE] = "";
+       char *resultptr;
+       int count;
+       connection *conn_first = NULL;
+       connection *conn_last = NULL;
+       connection *conn_curr;
+
+       while ((fgets(line, STRING_SIZE, fp) != NULL)) {
+               if (line[strlen(line) - 1] == '\n')
+                       line[strlen(line) - 1] = '\0';
+
+               conn_curr = (connection *)malloc(sizeof(connection));
+               memset(conn_curr, 0, sizeof(connection));
+
+               if (conn_first == NULL) {
+                       conn_first = conn_curr;
+               } else {
+                       conn_last->next = conn_curr;
+               }
+               conn_last = conn_curr;
+
+               count = 0;
+               char *lineptr = &line;
+               while (1) {
+                       if (*lineptr == NULL)
+                               break;
+
+                       resultptr = result;
+                       while (*lineptr != NULL) {
+                               if (*lineptr == ',') {
+                                       lineptr++;
+                                       break;
+                               }
+                               *resultptr++ = *lineptr++;
+                       }
+                       *resultptr = '\0';
+
+                       if (count == 2) {
+                               strcpy(conn_curr->name, result);
+                       } else if (count == 4) {
+                               strcpy(conn_curr->type, result);
+                       } else if (count == 29) {
+                               strcpy(conn_curr->proto, result);
+                       } else if (count == 30) {
+                               conn_curr->port = atoi(result);
+                       }
+
+                       count++;
+               }
+       }
+
+       fclose(fp);
+
+       return conn_first;
+}
+
+int readPidFile(const char *pidfile) {
+       FILE *fp = fopen(pidfile, "r");
+       if (fp == NULL) {
+               fprintf(stderr, "PID file not found: '%s'\n", pidfile);
+               exit(1);
+       }
+
+       int pid = 0;
+       fscanf(fp, "%d", &pid);
+       fclose(fp);
+
+       return pid;
+}
+
 void ovpnInit(void) {
        
        // Read OpenVPN configuration
@@ -139,7 +235,7 @@ void executeCommand(char *command) {
 void setChainRules(char *chain, char *interface, char *protocol, char *port)
 {
        char str[STRING_SIZE];
-       
+
        sprintf(str, "/sbin/iptables -A %sINPUT -i %s -p %s --dport %s -j ACCEPT", chain, interface, protocol, port);
        executeCommand(str);
        sprintf(str, "/sbin/iptables -A %sINPUT -i tun+ -j ACCEPT", chain);
@@ -208,39 +304,34 @@ void createChain(char *chain) {
 }
 
 void createAllChains(void) {
-       if (!((strcmp(enablered, "on")==0) || (strcmp(enableblue, "on")==0) || (strcmp(enableorange, "on")==0))){
-               fprintf(stderr, "OpenVPN is not enabled on any interface\n");
-               exit(1);
-       } else {
-               // create chain and chain references
-               if (!strcmp(enableorange, "on")) {
-                       if (strlen(orangeif)) {
-                               createChain(OVPNORANGE);
-                               createChainReference(OVPNORANGE);
-                       } else {
-                               fprintf(stderr, "OpenVPN enabled on orange but no orange interface found\n");
-                               //exit(1);
-                       }
+       // create chain and chain references
+       if (!strcmp(enableorange, "on")) {
+               if (strlen(orangeif)) {
+                       createChain(OVPNORANGE);
+                       createChainReference(OVPNORANGE);
+               } else {
+                       fprintf(stderr, "OpenVPN enabled on orange but no orange interface found\n");
+                       //exit(1);
                }
-       
-               if (!strcmp(enableblue, "on")) {
-                       if (strlen(blueif)) {
-                               createChain(OVPNBLUE);
-                               createChainReference(OVPNBLUE);
-                       } else {
-                               fprintf(stderr, "OpenVPN enabled on blue but no blue interface found\n");
-                               //exit(1);
-                       }
+       }
+
+       if (!strcmp(enableblue, "on")) {
+               if (strlen(blueif)) {
+                       createChain(OVPNBLUE);
+                       createChainReference(OVPNBLUE);
+               } else {
+                       fprintf(stderr, "OpenVPN enabled on blue but no blue interface found\n");
+                       //exit(1);
                }
-       
-               if (!strcmp(enablered, "on")) {
-                       if (strlen(redif)) {
-                               createChain(OVPNRED);
-                               createChainReference(OVPNRED);
-                       } else {
-                               fprintf(stderr, "OpenVPN enabled on red but no red interface found\n");
-                               //exit(1);
-                       }
+       }
+
+       if (!strcmp(enablered, "on")) {
+               if (strlen(redif)) {
+                       createChain(OVPNRED);
+                       createChainReference(OVPNRED);
+               } else {
+                       fprintf(stderr, "OpenVPN enabled on red but no red interface found\n");
+                       //exit(1);
                }
        }
 }
@@ -250,12 +341,6 @@ void setFirewallRules(void) {
        char dport[STRING_SIZE] = "";
        char dovpnip[STRING_SIZE] = "";
 
-       /* check if it makes sence to proceed further */
-       if (!((strcmp(enablered, "on")==0) || (strcmp(enableblue, "on")==0) || (strcmp(enableorange, "on")==0))){
-               fprintf(stderr, "Config error, at least one device must be enabled\n");
-               exit(1);
-       }
-
        kv = initkeyvalues();
        if (!readkeyvalues(kv, CONFIG_ROOT "/ovpn/settings"))
        {
@@ -280,6 +365,11 @@ void setFirewallRules(void) {
        }
        freekeyvalues(kv);
 
+       // Flush all chains.
+       flushChain(OVPNRED);
+       flushChain(OVPNBLUE);
+       flushChain(OVPNORANGE);
+
        // set firewall rules
        if (!strcmp(enablered, "on") && strlen(redif))
                setChainRules(OVPNRED, redif, protocol, dport);
@@ -287,17 +377,36 @@ void setFirewallRules(void) {
                setChainRules(OVPNBLUE, blueif, protocol, dport);
        if (!strcmp(enableorange, "on") && strlen(orangeif))
                setChainRules(OVPNORANGE, orangeif, protocol, dport);
+
+       // read connection configuration
+       connection *conn = getConnections();
+
+       // set firewall rules for n2n connections
+       char command[STRING_SIZE];
+       while (conn != NULL) {
+               if (strcmp(conn->type, "net") == 0) {
+                       sprintf(command, "/sbin/iptables -A %sINPUT -i %s -p %s --dport %d -j ACCEPT",
+                               OVPNRED, redif, conn->proto, conn->port);
+                       executeCommand(command);
+               }
+
+               conn = conn->next;
+       }
 }
 
 void stopDaemon(void) {
        char command[STRING_SIZE];
 
-       snprintf(command, STRING_SIZE - 1, "/bin/killall openvpn");
-       executeCommand(command);
+       int pid = readPidFile("/var/run/openvpn.pid");
+       if (!pid > 0) {
+               exit(1);
+       }
+
+       fprintf(stderr, "Killing PID %d.\n", pid);
+       kill(pid, SIGTERM);
+
        snprintf(command, STRING_SIZE - 1, "/bin/rm -f /var/run/openvpn.pid");
        executeCommand(command);
-       snprintf(command, STRING_SIZE-1, "/sbin/modprobe -r tun");
-       executeCommand(command);
 }
 
 void startDaemon(void) {
@@ -314,6 +423,106 @@ void startDaemon(void) {
        }
 }
 
+void startNet2Net(char *name) {
+       connection *conn = NULL;
+       connection *conn_iter;
+
+       conn_iter = getConnections();
+
+       while (conn_iter) {
+               if ((strcmp(conn_iter->type, "net") == 0) && (strcmp(conn_iter->name, name) == 0)) {
+                       conn = conn_iter;
+                       break;
+               }
+               conn_iter = conn_iter->next;
+       }
+
+       if (conn == NULL) {
+               fprintf(stderr, "Connection not found.\n");
+               exit(1);
+       }
+
+       char configfile[STRING_SIZE];
+       snprintf(configfile, STRING_SIZE - 1, CONFIG_ROOT "/ovpn/n2nconf/%s/%s.conf",
+               conn->name, conn->name);
+
+       FILE *fp = fopen(configfile, "r");
+       if (fp == NULL) {
+               fprintf(stderr, "Could not find configuration file for connection '%s' at '%s'.\n",
+                       conn->name, configfile);
+               exit(2);
+       }
+       fclose(fp);
+
+       // Make sure all firewall rules are up to date.
+       setFirewallRules();
+
+       char command[STRING_SIZE];
+       snprintf(command, STRING_SIZE-1, "/sbin/modprobe tun");
+       executeCommand(command);
+       snprintf(command, STRING_SIZE-1, "/usr/sbin/openvpn --config %s", configfile);
+       executeCommand(command);
+}
+
+void killNet2Net(char *name) {
+       connection *conn = NULL;
+       connection *conn_iter;
+
+       conn_iter = getConnections();
+
+       while (conn_iter) {
+               if (strcmp(conn_iter->name, name) == 0) {
+                       conn = conn_iter;
+                       break;
+               }
+               conn_iter = conn_iter->next;
+       }
+
+       if (conn == NULL) {
+               fprintf(stderr, "Connection not found.\n");
+               exit(1);
+       }
+
+       char pidfile[STRING_SIZE];
+       snprintf(pidfile, STRING_SIZE - 1, "/var/run/%sn2n.pid", conn->name);
+
+       int pid = readPidFile(pidfile);
+       if (!pid > 0) {
+               exit(1);
+       }
+
+       fprintf(stderr, "Killing PID %d.\n", pid);
+       kill(pid, SIGTERM);
+
+       char command[STRING_SIZE];
+       snprintf(command, STRING_SIZE - 1, "/bin/rm -f %s", pidfile);
+       executeCommand(command);
+
+       exit(0);
+}
+
+void startAllNet2Net() {
+       connection *conn = getConnections();
+
+       while(conn) {
+               startNet2Net(conn->name);
+               conn = conn->next;
+       }
+
+       exit(0);
+}
+
+void killAllNet2Net() {
+       connection *conn = getConnections();
+
+       while(conn) {
+               killNet2Net(conn->name);
+               conn = conn->next;
+       }
+
+       exit(0);
+}
+
 void displayopenvpn(void) {
        char command[STRING_SIZE];
 
@@ -326,8 +535,23 @@ int main(int argc, char *argv[]) {
            exit(1);
        if(argc < 2)
            usage();
-       
-       if(argc == 2) {
+
+       if(argc == 3) {
+               ovpnInit();
+
+               if( (strcmp(argv[1], "-sn2n") == 0) || (strcmp(argv[1], "--start-net-2-net") == 0) ) {
+                       startNet2Net(argv[2]);
+                       return 0;
+               }
+               else if( (strcmp(argv[1], "-kn2n") == 0) || (strcmp(argv[1], "--kill-net-2-net") == 0) ) {
+                       killNet2Net(argv[2]);
+                       return 0;
+               } else {
+                       usage();
+                       return 1;
+               }
+       }
+       else if(argc == 2) {
                if( (strcmp(argv[1], "-k") == 0) || (strcmp(argv[1], "--kill") == 0) ) {
                        stopDaemon();
                        return 0;
@@ -350,6 +574,14 @@ int main(int argc, char *argv[]) {
                                startDaemon();
                                return 0;
                        }
+                       else if( (strcmp(argv[1], "-sn2n") == 0) || (strcmp(argv[1], "--start-net-2-net") == 0) ) {
+                               startAllNet2Net();
+                               return 0;
+                       }
+                       else if( (strcmp(argv[1], "-kn2n") == 0) || (strcmp(argv[1], "--kill-net-2-net") == 0) ) {
+                               killAllNet2Net();
+                               return 0;
+                       }
                        else if( (strcmp(argv[1], "-sdo") == 0) || (strcmp(argv[1], "--start-daemon-only") == 0) ) {
                                startDaemon();
                                return 0;
diff --git a/src/misc-progs/rebuildroutes.c b/src/misc-progs/rebuildroutes.c
new file mode 100644 (file)
index 0000000..3655692
--- /dev/null
@@ -0,0 +1,17 @@
+/* IPFire helper program - rebuildroutes
+ *
+ * This program is distributed under the terms of the GNU General Public
+ * Licence.  See the file COPYING for details.
+ */
+
+#include "libsmooth.h"
+#include "setuid.h"
+
+int main(int argc, char *argv[]) {
+       if (!(initsetuid()))
+               exit(1);
+
+       safe_system("/etc/init.d/static-routes start >/dev/null 2>&1");
+
+       return 0;
+}
index c408a6aaa933a1c073a9376a42cdfe4d2e5f04b6..be75bf5a00ca00d086554b6328ce4a5425462196 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2011  IPFire Team  <info@ipfire.org>                          #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
diff --git a/src/patches/binutils-2.18-configure-1.patch b/src/patches/binutils-2.18-configure-1.patch
new file mode 100644 (file)
index 0000000..ae6aaa3
--- /dev/null
@@ -0,0 +1,19 @@
+Submitted By: Matt Burgess (matthew at linuxfromscratch dot org)
+Date: 2007-11-19
+Initial Package Version: 2.18
+Origin: Upstream (http://sourceware.org/cgi-bin/cvsweb.cgi/src/configure.diff?r1=1.268&r2=1.268.2.1&cvsroot=src)
+Upstream Status: Applied
+Description: Fixes the configure script to correctly dictate Texinfo > 4.9.
+
+diff -Naur binutils-2.18.orig/configure binutils-2.18/configure
+--- binutils-2.18.orig/configure       2007-08-06 20:29:40.000000000 +0000
++++ binutils-2.18/configure    2007-11-18 22:37:58.000000000 +0000
+@@ -6128,7 +6128,7 @@
+     # For an installed makeinfo, we require it to be from texinfo 4.4 or
+     # higher, else we use the "missing" dummy.
+     if ${MAKEINFO} --version \
+-       | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
++       | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+       :
+     else
+       MAKEINFO="$MISSING makeinfo"
diff --git a/src/patches/gcc-4.1.2-fix_linker_version_detection.patch b/src/patches/gcc-4.1.2-fix_linker_version_detection.patch
new file mode 100644 (file)
index 0000000..c2f43be
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur gcc-4.1.2.org/libstdc++-v3/configure gcc-4.1.2/libstdc++-v3/configure
+--- gcc-4.1.2.org/libstdc++-v3/configure       2007-01-29 11:51:01.000000000 +0100
++++ gcc-4.1.2/libstdc++-v3/configure   2011-08-29 19:25:22.973430586 +0200
+@@ -8281,7 +8281,7 @@
+   if test x"$with_gnu_ld" = x"yes"; then
+     ldver=`$LD --version 2>/dev/null | head -1 | \
+-           sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
++           sed -e 's/GNU ld (GNU binutils) \([0-9.][0-9.]*\).*/\1/'`
+     glibcxx_gnu_ld_version=`echo $ldver | \
+            $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
diff --git a/src/patches/kvm-kmod-3.0b_remove_pvclock_scale_delta_redefinition.patch b/src/patches/kvm-kmod-3.0b_remove_pvclock_scale_delta_redefinition.patch
new file mode 100644 (file)
index 0000000..87effb3
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur kvm-kmod-3.0b.org/x86/external-module-compat.h kvm-kmod-3.0b/x86/external-module-compat.h
+--- kvm-kmod-3.0b.org/x86/external-module-compat.h     2011-07-23 16:39:10.000000000 +0200
++++ kvm-kmod-3.0b/x86/external-module-compat.h 2011-08-13 21:37:56.046677541 +0200
+@@ -1095,7 +1095,7 @@
+ #endif /* >= 2.6.36 */
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) || \
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) && \
+     (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32) && KERNEL_EXTRAVERSION < 40)
+ static inline u64 pvclock_scale_delta(u64 delta, u32 mul_frac, int shift)
+ {
diff --git a/src/patches/libsatsolver-Build-only-libraries.patch b/src/patches/libsatsolver-Build-only-libraries.patch
deleted file mode 100644 (file)
index 47e24e4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Nur old/CMakeLists.txt new/CMakeLists.txt
---- old/CMakeLists.txt 2011-04-10 23:55:09.506257000 +0200
-+++ new/CMakeLists.txt 2011-04-10 23:46:30.612257002 +0200
-@@ -32,7 +32,7 @@
- INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake )
- FIND_PACKAGE(EXPAT REQUIRED)
--FIND_PACKAGE(Check REQUIRED)
-+#FIND_PACKAGE(Check REQUIRED)
- FIND_PACKAGE(ZLIB REQUIRED)
- IF ( FEDORA )
-@@ -190,10 +190,10 @@
- ADD_SUBDIRECTORY(src)
- ADD_SUBDIRECTORY(ext)
--ADD_SUBDIRECTORY(tools)
--ADD_SUBDIRECTORY(tests)
--ADD_SUBDIRECTORY(examples)
--ADD_SUBDIRECTORY(doc)
-+#ADD_SUBDIRECTORY(tools)
-+#ADD_SUBDIRECTORY(tests)
-+#ADD_SUBDIRECTORY(examples)
-+#ADD_SUBDIRECTORY(doc)
- MESSAGE(STATUS "version: ${VERSION}")
diff --git a/src/patches/libsatsolver-Create-linker-scripts-that-do-only-export-the-needed.patch b/src/patches/libsatsolver-Create-linker-scripts-that-do-only-export-the-needed.patch
deleted file mode 100644 (file)
index 5ba4fa2..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
->From a42d7e17fa3e39a8306126c19f1b3b54f1fdd79e Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Thu, 21 Apr 2011 16:40:11 +0200
-Subject: [PATCH] Create linker-scripts that do only export the needed symbols
- of libsatsolver{,ext}.
-
-See these posts for reference:
-       http://lists.opensuse.org/zypp-devel/2011-04/msg00012.html
-       http://lists.opensuse.org/zypp-devel/2011-04/msg00014.html
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- ext/CMakeLists.txt      |    1 +
- ext/libsatsolverext.ver |   25 ++++
- src/CMakeLists.txt      |    1 +
- src/libsatsolver.ver    |  355 +++++++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 382 insertions(+), 0 deletions(-)
- create mode 100644 ext/libsatsolverext.ver
- create mode 100644 src/libsatsolver.ver
-
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index 68e1c3c..d51a43b 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -21,6 +21,7 @@ SET(libsatsolverext_HEADERS
-     tools_util.h repo_deb.h sat_xfopen.h)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS} -Wl,--version-script=${satsolver_SOURCE_DIR}/ext/libsatsolverext.ver")
- INSTALL(FILES ${libsatsolverext_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/satsolver")
- INSTALL(TARGETS satsolverext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-diff --git a/ext/libsatsolverext.ver b/ext/libsatsolverext.ver
-new file mode 100644
-index 0000000..4869d37
---- /dev/null
-+++ b/ext/libsatsolverext.ver
-@@ -0,0 +1,25 @@
-+EXT1.0 {
-+      global:
-+              repo_add_code11_products;
-+              repo_add_content;
-+              repo_add_deb;
-+              repo_add_debdb;
-+              repo_add_debpackages;
-+              repo_add_debs;
-+              repo_add_deltainfoxml;
-+              repo_add_helix;
-+              repo_add_products;
-+              repo_add_releasefile_products;
-+              repo_add_repomdxml;
-+              repo_add_rpmmd;
-+              repo_add_susetags;
-+              repo_add_updateinfoxml;
-+              repo_add_zyppdb_products;
-+              repodata_write;
-+              repo_write;
-+              repo_write_stdkeyfilter;
-+              sat_xfopen;
-+              sat_xfopen_fd;
-+      local:
-+              *;
-+};
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 6a14d10..b54d01d 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@ SET(libsatsolver_HEADERS
-     chksum.h md5.h sha1.h sha2.h ${CMAKE_BINARY_DIR}/src/satversion.h)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-+SET(CMAKE_SHARED_LINKER_FLAGS "${LINK_FLAGS} -Wl,--version-script=${satsolver_SOURCE_DIR}/src/libsatsolver.ver")
- INSTALL(FILES ${libsatsolver_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/satsolver")
- INSTALL(TARGETS satsolver LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-diff --git a/src/libsatsolver.ver b/src/libsatsolver.ver
-new file mode 100644
-index 0000000..dab3576
---- /dev/null
-+++ b/src/libsatsolver.ver
-@@ -0,0 +1,355 @@
-+SAT1.0 {
-+      global:
-+              dataiterator_clonepos;
-+              dataiterator_entersub;
-+              dataiterator_free;
-+              dataiterator_init;
-+              dataiterator_init_clone;
-+              dataiterator_jump_to_repo;
-+              dataiterator_jump_to_solvid;
-+              dataiterator_match;
-+              dataiterator_prepend_keyname;
-+              dataiterator_seek;
-+              dataiterator_set_keyname;
-+              dataiterator_set_match;
-+              dataiterator_setpos;
-+              dataiterator_setpos_parent;
-+              dataiterator_set_search;
-+              dataiterator_skip_attribute;
-+              dataiterator_skip_repo;
-+              dataiterator_skip_solvable;
-+              dataiterator_step;
-+              datamatcher_free;
-+              datamatcher_init;
-+              datamatcher_match;
-+              data_read_idarray;
-+              data_read_rel_idarray;
-+              data_skip_key;
-+              dep2str;
-+              dirpool_add_dir;
-+              dirpool_free;
-+              dirpool_init;
-+              dirpool_make_dirtraverse;
-+              evrcmp;
-+              evrmatch;
-+              id2str;
-+              map_free;
-+              map_grow;
-+              map_init;
-+              map_init_clone;
-+              policy_create_obsolete_index;
-+              policy_filter_unwanted;
-+              policy_findupdatepackages;
-+              policy_illegal2str;
-+              policy_illegal_archchange;
-+              policy_illegal_vendorchange;
-+              policy_is_illegal;
-+              pool_add_fileconflicts_deps;
-+              pool_addfileprovides;
-+              pool_addfileprovides_ids;
-+              pool_addrelproviders;
-+              pool_add_solvable;
-+              pool_add_solvable_block;
-+              pool_alloctmpspace;
-+              pool_arch2color_slow;
-+              pool_bin2hex;
-+              pool_calc_duchanges;
-+              pool_calc_installsizechange;
-+              pool_clear_pos;
-+              pool_create;
-+              pool_create_state_maps;
-+              pool_createwhatprovides;
-+              pool_debug;
-+              pool_free;
-+              pool_freeidhashes;
-+              pool_free_solvable_block;
-+              pool_freetmpspace;
-+              pool_freewhatprovides;
-+              pool_id2langid;
-+              pool_job2str;
-+              pool_lookup_bin_checksum;
-+              pool_lookup_checksum;
-+              pool_lookup_id;
-+              pool_lookup_num;
-+              pool_lookup_str;
-+              pool_lookup_void;
-+              pool_match_dep;
-+              pool_match_nevr_rel;
-+              pool_queuetowhatprovides;
-+              pool_search;
-+              pool_setarch;
-+              pool_setarchpolicy;
-+              pool_setdebuglevel;
-+              pool_set_installed;
-+              pool_set_languages;
-+              pool_setvendorclasses;
-+              pool_shrink_rels;
-+              pool_shrink_strings;
-+              pool_tmpappend;
-+              pool_tmpjoin;
-+              pool_trivial_installable;
-+              pool_trivial_installable_noobsoletesmap;
-+              pool_vendor2mask;
-+              prune_best_arch_name_version;
-+              prune_to_best_arch;
-+              prune_to_best_version;
-+              queue_alloc_one;
-+              queue_alloc_one_head;
-+              queue_delete;
-+              queue_delete2;
-+              queue_deleten;
-+              queue_free;
-+              queue_init;
-+              queue_init_buffer;
-+              queue_init_clone;
-+              queue_insert;
-+              queue_insert2;
-+              queue_insertn;
-+              rel2id;
-+              repo_addid;
-+              repo_addid_dep;
-+              repo_add_poolstr_array;
-+              repo_add_repodata;
-+              repo_add_solv;
-+              repo_add_solv_flags;
-+              repo_create;
-+              repodata_add_dirnumnum;
-+              repodata_add_dirstr;
-+              repodata_add_fixarray;
-+              repodata_add_flexarray;
-+              repodata_add_idarray;
-+              repodata_add_poolstr_array;
-+              repodata_chk2str;
-+              repodata_create;
-+              repodata_create_stubs;
-+              repodata_delete;
-+              repodata_delete_uninternalized;
-+              repodata_dir2str;
-+              repodata_disable_paging;
-+              repodata_empty;
-+              repodata_extend;
-+              repodata_extend_block;
-+              repodata_filelistfilter_matches;
-+              repodata_free;
-+              repodata_freedata;
-+              repodata_free_schemahash;
-+              repodata_globalize_id;
-+              repodata_initdata;
-+              repodata_internalize;
-+              repodata_key2id;
-+              repodata_localize_id;
-+              repodata_lookup_bin_checksum;
-+              repodata_lookup_id;
-+              repodata_lookup_idarray;
-+              repodata_lookup_num;
-+              repodata_lookup_str;
-+              repodata_lookup_type;
-+              repodata_lookup_void;
-+              repodata_merge_attrs;
-+              repodata_merge_some_attrs;
-+              repodata_new_handle;
-+              repodata_schema2id;
-+              repodata_search;
-+              repodata_set_binary;
-+              repodata_set_bin_checksum;
-+              repodata_set_checksum;
-+              repodata_set_constant;
-+              repodata_set_constantid;
-+              repodata_set_id;
-+              repodata_set_idarray;
-+              repodata_set_location;
-+              repodata_set_num;
-+              repodata_set_poolstr;
-+              repodata_setpos_kv;
-+              repodata_set_str;
-+              repodata_set_void;
-+              repodata_shrink;
-+              repodata_str2dir;
-+              repodata_stringify;
-+              repo_disable_paging;
-+              repo_empty;
-+              repo_fix_conflicts;
-+              repo_fix_supplements;
-+              repo_free;
-+              repo_freeallrepos;
-+              repo_free_solvable_block;
-+              repo_internalize;
-+              repo_last_repodata;
-+              repo_lookup_bin_checksum;
-+              repo_lookup_checksum;
-+              repo_lookup_id;
-+              repo_lookup_idarray;
-+              repo_lookup_num;
-+              repo_lookup_str;
-+              repo_lookup_type;
-+              repo_lookup_void;
-+              repo_matchvalue;
-+              repopagestore_compress_page;
-+              repopagestore_disable_paging;
-+              repopagestore_free;
-+              repopagestore_init;
-+              repopagestore_load_page_range;
-+              repopagestore_read_or_setup_pages;
-+              repo_reserve_ids;
-+              repo_search;
-+              repo_set_id;
-+              repo_set_num;
-+              repo_set_poolstr;
-+              repo_set_str;
-+              repo_sidedata_create;
-+              repo_sidedata_extend;
-+              sat_bin2hex;
-+              sat_calloc;
-+              sat_chksum_add;
-+              sat_chksum_create;
-+              sat_chksum_create_from_bin;
-+              sat_chksum_free;
-+              sat_chksum_get;
-+              sat_chksum_get_type;
-+              sat_chksum_isfinished;
-+              sat_chksum_str2type;
-+              sat_chksum_type2str;
-+              sat_dupappend;
-+              sat_dupjoin;
-+              sat_free;
-+              sat_hex2bin;
-+              sat_malloc;
-+              sat_malloc2;
-+              sat_MD5_Final;
-+              sat_MD5_Init;
-+              sat_MD5_Update;
-+              sat_oom;
-+              sat_realloc;
-+              sat_realloc2;
-+              sat_SHA1_Final;
-+              sat_SHA1_Init;
-+              sat_SHA1_Update;
-+              sat_SHA256_Data;
-+              sat_SHA256_End;
-+              sat_SHA256_Final;
-+              sat_SHA256_Init;
-+              sat_SHA256_Update;
-+              sat_SHA384_Data;
-+              sat_SHA384_End;
-+              sat_SHA384_Final;
-+              sat_SHA384_Init;
-+              sat_SHA384_Update;
-+              sat_SHA512_Data;
-+              sat_SHA512_End;
-+              sat_SHA512_Final;
-+              sat_SHA512_Init;
-+              sat_SHA512_Update;
-+              sat_sort;
-+              sat_timems;
-+              sat_version;
-+              sat_version_major;
-+              sat_version_minor;
-+              sat_version_patch;
-+              solvable2str;
-+              solvable_get_location;
-+              solvable_identical;
-+              solvable_lookup_bin_checksum;
-+              solvable_lookup_bool;
-+              solvable_lookup_checksum;
-+              solvable_lookup_id;
-+              solvable_lookup_idarray;
-+              solvable_lookup_num;
-+              solvable_lookup_str;
-+              solvable_lookup_str_lang;
-+              solvable_lookup_str_poollang;
-+              solvable_lookup_void;
-+              solvable_selfprovidedep;
-+              solvable_trivial_installable_map;
-+              solvable_trivial_installable_queue;
-+              solvable_trivial_installable_repo;
-+              solver_addchoicerules;
-+              solver_addduprules;
-+              solver_addinfarchrules;
-+              solver_addrpmrulesforsolvable;
-+              solver_addrpmrulesforupdaters;
-+              solver_addrpmrulesforweak;
-+              solver_addrule;
-+              solver_addupdaterule;
-+              solver_allruleinfos;
-+              solver_calc_duchanges;
-+              solver_calc_installsizechange;
-+              solver_calculate_noobsmap;
-+              solver_create;
-+              solver_create_decisions_obsoletesmap;
-+              solver_createdupmaps;
-+              solver_dep_installed;
-+              solver_disablechoicerules;
-+              solver_disablepolicyrules;
-+              solver_disableproblem;
-+              solver_enableproblem;
-+              solver_findallproblemrules;
-+              solver_findproblemrule;
-+              solver_free;
-+              solver_freedupmaps;
-+              solver_next_problem;
-+              solver_next_solution;
-+              solver_next_solutionelement;
-+              solver_prepare_solutions;
-+              solver_printallsolutions;
-+              solver_printcompleteprobleminfo;
-+              solver_printdecisionq;
-+              solver_printdecisions;
-+              solver_printproblem;
-+              solver_printprobleminfo;
-+              solver_printproblemruleinfo;
-+              solver_printrule;
-+              solver_printruleclass;
-+              solver_printruleelement;
-+              solver_printsolution;
-+              solver_printtransaction;
-+              solver_printtrivial;
-+              solver_printwatches;
-+              solver_problem_count;
-+              solver_problemruleinfo;
-+              solver_problemruleinfo2str;
-+              solver_reenablepolicyrules;
-+              solver_reset;
-+              solver_ruleinfo;
-+              solver_run_sat;
-+              solver_samerule;
-+              solver_select2str;
-+              solver_solution_count;
-+              solver_solutionelement2str;
-+              solver_solutionelement_count;
-+              solver_solve;
-+              solver_splitprovides;
-+              solver_take_solution;
-+              solver_take_solutionelement;
-+              solver_trivial_installable;
-+              solver_unifyrules;
-+              str2id;
-+              strn2id;
-+              stringpool_clone;
-+              stringpool_free;
-+              stringpool_freehash;
-+              stringpool_init;
-+              stringpool_init_empty;
-+              stringpool_shrink;
-+              stringpool_str2id;
-+              stringpool_strn2id;
-+              transaction_add_obsoleted;
-+              transaction_all_obs_pkgs;
-+              transaction_calc_duchanges;
-+              transaction_calc_installsizechange;
-+              transaction_calculate;
-+              transaction_check_order;
-+              transaction_classify;
-+              transaction_classify_pkgs;
-+              transaction_free;
-+              transaction_free_orderdata;
-+              transaction_init;
-+              transaction_init_clone;
-+              transaction_installedresult;
-+              transaction_obs_pkg;
-+              transaction_order;
-+              transaction_order_add_choices;
-+              transaction_type;
-+              vercmp;
-+      local:
-+              *;
-+};
--- 
-1.7.4.4
-
diff --git a/src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch b/src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
deleted file mode 100644 (file)
index 449275c..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
->From 1f9659b55013f222046b9d161fd5a0f2fc399cb8 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Thu, 21 Apr 2011 12:48:41 +0200
-Subject: [PATCH] Make libsatsolver{,ext} a versioned shared lib.
-
-Most distributions only do accept shared libraries because of
-relro and hardening stuff.
-
-Previously, libsatsolver was statically compiled because the ABI
-was assumed to be changed from time to time but has now become
-very stable.
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- ext/CMakeLists.txt   |    6 +++++-
- src/CMakeLists.txt   |    6 +++++-
- tools/CMakeLists.txt |   12 ++++++------
- 3 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index 8e71eee..68e1c3c 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -8,7 +8,11 @@ SET(libsatsolverext_SRCS
-     ${libsatsolverext_SRCS} pool_fileconflicts.c repo_rpmdb.c)
- ENDIF (NOT DEBIAN)
--ADD_LIBRARY(satsolverext STATIC ${libsatsolverext_SRCS})
-+ADD_LIBRARY(satsolverext SHARED ${libsatsolverext_SRCS})
-+SET_TARGET_PROPERTIES(satsolverext PROPERTIES
-+        VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
-+        SOVERSION "${LIBSATSOLVER_MAJOR}"
-+)
- SET(libsatsolverext_HEADERS
-     pool_fileconflicts.h repo_content.h repo_deltainfoxml.h repo_helix.h repo_products.h
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 9bd0fde..6a14d10 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -6,7 +6,11 @@ SET(libsatsolver_SRCS
-     transaction.c rules.c problems.c
-     chksum.c md5.c sha1.c sha2.c satversion.c)
--ADD_LIBRARY(satsolver STATIC ${libsatsolver_SRCS})
-+ADD_LIBRARY(satsolver SHARED ${libsatsolver_SRCS})
-+SET_TARGET_PROPERTIES(satsolver PROPERTIES
-+      VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
-+      SOVERSION "${LIBSATSOLVER_MAJOR}"
-+)
- SET(libsatsolver_HEADERS
-     bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h
-diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
-index 79d4890..7696612 100644
---- a/tools/CMakeLists.txt
-+++ b/tools/CMakeLists.txt
-@@ -20,19 +20,19 @@ ADD_EXECUTABLE(rpmmd2solv rpmmd2solv.c)
- TARGET_LINK_LIBRARIES(rpmmd2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(helix2solv helix2solv.c)
--TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
-+TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(susetags2solv susetags2solv.c)
--TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${ZLIB_LIBRARY})
-+TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(updateinfoxml2solv updateinfoxml2solv.c)
--TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
-+TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(deltainfoxml2solv deltainfoxml2solv.c)
--TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
-+TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(repomdxml2solv repomdxml2solv.c)
--TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
-+TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- ADD_EXECUTABLE(installcheck installcheck.c)
- TARGET_LINK_LIBRARIES(installcheck satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
-@@ -44,7 +44,7 @@ ADD_EXECUTABLE(dumpsolv dumpsolv.c )
- TARGET_LINK_LIBRARIES(dumpsolv satsolver)
- ADD_EXECUTABLE(mergesolv mergesolv.c )
--TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver)
-+TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
- install(TARGETS
-     mergesolv
--- 
-1.7.4.4
-
diff --git a/src/patches/qemu-0.15.0_missing_definitions_hack.patch b/src/patches/qemu-0.15.0_missing_definitions_hack.patch
new file mode 100644 (file)
index 0000000..4ff2c08
--- /dev/null
@@ -0,0 +1,40 @@
+diff -Naur qemu-kvm-0.15.0.org/hw/9pfs/virtio-9p-local.c qemu-kvm-0.15.0/hw/9pfs/virtio-9p-local.c
+--- qemu-kvm-0.15.0.org/hw/9pfs/virtio-9p-local.c      2011-08-09 14:40:29.000000000 +0200
++++ qemu-kvm-0.15.0/hw/9pfs/virtio-9p-local.c  2011-08-14 10:31:22.711480316 +0200
+@@ -21,6 +21,16 @@
+ #include <sys/un.h>
+ #include <attr/xattr.h>
++#ifndef AT_FDCWD
++/* Copied from linux/include/linux/fcntl.h * because direct include fails */
++#define AT_FDCWD              -100    /* Special value used to indicate
++                                           openat should use the current
++                                           working directory. */
++#define AT_SYMLINK_NOFOLLOW   0x100   /* Do not follow symbolic links.  */
++#define AT_REMOVEDIR          0x200   /* Remove directory instead of
++                                           unlinking file.  */
++#define AT_SYMLINK_FOLLOW     0x400   /* Follow symbolic links.  */
++#endif
+ static int local_lstat(FsContext *fs_ctx, const char *path, struct stat *stbuf)
+ {
+diff -Naur qemu-kvm-0.15.0.org/linux-user/syscall.c qemu-kvm-0.15.0/linux-user/syscall.c
+--- qemu-kvm-0.15.0.org/linux-user/syscall.c   2011-08-09 14:40:29.000000000 +0200
++++ qemu-kvm-0.15.0/linux-user/syscall.c       2011-08-14 12:43:43.190231600 +0200
+@@ -971,6 +971,16 @@
+     return result;
+ }
++/* Copied from linux/include/asm/resource.h * because direct include fails */
++
++#ifndef RLIMIT_NICE
++#define RLIMIT_NICE           13      /* max nice prio allowed to raise to
++                                         0-39 for nice level 19 .. -20 */
++#endif
++#ifndef RLIMIT_RTPRIO
++#define RLIMIT_RTPRIO         14      /* maximum realtime priority */
++#endif
++
+ static inline int target_to_host_resource(int code)
+ {
+     switch (code) {
index 426c1e45fb9c7be66eefa2b65594bdfb2c87ecc1..6bea85578b80553fc3e7f8d6bf732bb4ddd0b681 100644 (file)
@@ -2,8 +2,8 @@
 
 COREVER=`cat /opt/pakfire/db/core/mine`
 # FIXME: edit this lines before release
-URL=http://download.ipfire.org/releases/ipfire-2.x/2.9-core$COREVER/
-ISO=ipfire-2.9.i586-full-core$COREVER.iso
+URL=http://download.ipfire.org/releases/ipfire-2.x/2.11-core$COREVER/
+ISO=ipfire-2.11.i586-full-core$COREVER.iso
 
 if [ -z "$1" ]; then 
        echo usage: $0 backup-file
index 2c7c947f548d68f903e2034e0d93f7125d232cdc..f66b841d7ac9697c51d5553d84faf4fb45f49ab9 100644 (file)
@@ -515,6 +515,36 @@ if ($ip ne $ipcache) {
                                &General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server)");
                            }
                        }
+                       #namecheap test
+                       elsif ($settings{'SERVICE'} eq 'namecheap') {
+                               # use proxy ?
+                               my %proxysettings;
+                               &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
+                               if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
+                                       my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
+                                       Net::SSLeay::set_proxy($peer,$peerport,$proxysettings{'UPSTREAM_USER'},$proxysettings{'UPSTREAM_PASSWORD'} );
+                               }
+
+                               my ($out, $response) = Net::SSLeay::get_https(  'dynamicdns.park-your-domain.com',
+                                                               443,
+                                                               "/update?host=$settings{'HOSTNAME'}&domain=$settings{'DOMAIN'}&password=$settings{'PASSWORD'}&ip=$ip",
+                                                               Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
+                                                               );
+                                       #Valid responses from service are:
+                                       # wait confirmation!!
+                                       if ($response =~ m%HTTP/1\.. 200 OK%) {
+                                               if ( $out !~ m/<ErrCount>0<\/ErrCount>/ ) {
+                                                       $out =~ m/<Err1>(.*)<\/Err1>/;
+                                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure ($1)");
+                                               } else {
+                                                       &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : success");
+                                                       $success++;
+                                               }
+                                       } else {
+                                               &General::log("Dynamic DNS ip-update for $settings{'HOSTNAME'}.$settings{'DOMAIN'} : failure (could not connect to server)");
+                               }
+                       }
+                       #end namecheap test
                        elsif ($settings{'SERVICE'} eq 'dynu') {
                            # use proxy ?
                            my %proxysettings;
index af646adce8b8f98fa2277a1287cd38571728e8f7..7eae873cea81f1820920a058cdd85a895f265dac 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl 
 ##################################################
-#####     VPN-Watch.pl     Version 0.6a      #####
+#####     VPN-Watch.pl     Version 0.      #####
 ##################################################
 #                                                #
 #   VPN-Watch is part of the IPFire Firewall     #
@@ -31,18 +31,19 @@ while ( $i == 0){
 
   $round++;
 
-   # Reset roundcounter after 60 min. To do established check.
-  if ($round > 59) { $round=0; }
+   # Reset roundcounter after 10 min. To do established check.
+  if ($round > 9) { $round=0; }
 
   if (open(FILE, "<${General::swroot}/vpn/config")) {    @vpnsettings = <FILE>;
     close(FILE);
     unless(@vpnsettings) {exit 1;}
   }
 
-my $status = `ipsec whack --status`;
+my $status = `ipsec status`;
 foreach (@vpnsettings){
  my @settings = split(/,/,$_);
-
+  
+  chomp($settings[30]);
   if ($settings[27] ne 'RED'){next;}
   if ($settings[4] ne 'net'){next;}  
   if ($settings[1] ne 'on'){next;}chomp($settings[29]);
@@ -55,15 +56,13 @@ foreach (@vpnsettings){
   my $remoteip = `/usr/bin/ping -c 1 $remotehostname 2>/dev/null | head -n1 | awk '{print \$3}' | tr -d '()' | tr -d ':'`;chomp($remoteip);
   if ($remoteip eq ""){next;if ($debug){logger("Unable to resolve $remotehostname.");}}
   my $ipmatch= `echo "$status" | grep '$remoteip' | grep '$settings[2]'`;
-  my $established= `echo "$status" | grep '$settings[2]' | grep 'erouted;'`;
+  my $established= `echo "$status" | grep '$settings[2]' | grep -e 'erouted;' -e 'INSTALLED'`;
   my $known= `echo "$status" | grep '$settings[2]'`;
 
   if ( $ipmatch eq '' && $known ne '' ){
     logger("Remote IP for host $remotehostname($remoteip) has changed, restarting ipsec.");
     system("/usr/local/bin/ipsecctrl S $settings[0]");
     $round=0;
-    last; #all connections will reloaded
-          #remove this if ipsecctrl can restart single con again
   }
 
   if ($debug){logger("Round=".$round." and established=".$established);}
@@ -72,8 +71,6 @@ foreach (@vpnsettings){
     logger("Connection to $remotehostname($remoteip) not erouted, restarting ipsec.");
     system("/usr/local/bin/ipsecctrl S $settings[0]");
     $round=0;
-    last; #all connections will reloaded
-          #remove this if ipsecctrl can restart single con again
 
   }
  }