Revision: 7799 http://sourceforge.net/p/ipcop/svn/7799 Author: owes Date: 2015-01-08 08:55:13 +0000 (Thu, 08 Jan 2015) Log Message: ----------- Merge latest trunk changes
Modified Paths: -------------- ipcop/branches/toolchain/config/rootfiles/common/groff ipcop/branches/toolchain/config/rootfiles/common/openldap ipcop/branches/toolchain/lfs/glibc ipcop/branches/toolchain/lfs/groff ipcop/branches/toolchain/lfs/make ipcop/branches/toolchain/lfs/tar ipcop/branches/toolchain/lfs/usb-modeswitch ipcop/branches/toolchain/lfs/usb-modeswitch-data ipcop/branches/toolchain/updates/2.1.8/ROOTFILES.i486-2.1.8 ipcop/branches/toolchain/updates/2.1.8/information.xml ipcop/branches/toolchain/updates/2.1.8/setup Added Paths: ----------- ipcop/branches/toolchain/doc/template.cgi ipcop/branches/toolchain/src/patches/glibc-2.11.3_make-version.patch Removed Paths: ------------- ipcop/branches/toolchain/doc/base.cgi ipcop/branches/toolchain/src/libs/multilines.pl Property Changed: ---------------- ipcop/branches/toolchain/ ipcop/branches/toolchain/config/cfgroot/nic-modules-list ipcop/branches/toolchain/config/etc/modprobe.d/aliases.conf ipcop/branches/toolchain/config/gcc/startfiles ipcop/branches/toolchain/config/rootfiles/arch_i486/CnxADSL ipcop/branches/toolchain/config/rootfiles/arch_i486/wanpipe_SKIP ipcop/branches/toolchain/config/rootfiles/common/capi4k-utils ipcop/branches/toolchain/config/rootfiles/common/usb-modeswitch ipcop/branches/toolchain/config/ssl/openvpn.cnf ipcop/branches/toolchain/html/cgi-bin/logconfig.cgi ipcop/branches/toolchain/html/cgi-bin/logfirewall.cgi ipcop/branches/toolchain/html/cgi-bin/logproxy.cgi ipcop/branches/toolchain/html/cgi-bin/logsummary.cgi ipcop/branches/toolchain/html/cgi-bin/logsystem.cgi ipcop/branches/toolchain/html/cgi-bin/openvpn.cgi ipcop/branches/toolchain/html/html/images/openvpnzip.gif ipcop/branches/toolchain/lfs/check_files ipcop/branches/toolchain/lfs/usb-modeswitch ipcop/branches/toolchain/src/patches/glibc-2.11.1_notimestamp.patch ipcop/branches/toolchain/src/patches/klibc-1.5.17_Kbuild-install.patch ipcop/branches/toolchain/src/patches/klibc-1.5.17_insmod.patch ipcop/branches/toolchain/src/patches/ntp-4.2.6_droproot.patch ipcop/branches/toolchain/src/patches/rsyslog-5.8.9_stack-size.patch ipcop/branches/toolchain/src/progs/ipcoprestore.c ipcop/branches/toolchain/src/scripts/disk-partition.sh ipcop/branches/toolchain/src/scripts/upgrade.sh Index: ipcop/branches/toolchain =================================================================== --- ipcop/branches/toolchain 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain ___________________________________________________________________ Modified: svn:mergeinfo ## -1,2 +1,2 ## /ipcop/tags/release-2.0.3:6791-6796,6799-6804 -/ipcop/trunk:7773-7784 +/ipcop/trunk:7773-7798 \ No newline at end of property Index: ipcop/branches/toolchain/config/cfgroot/nic-modules-list =================================================================== --- ipcop/branches/toolchain/config/cfgroot/nic-modules-list 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/cfgroot/nic-modules-list 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/cfgroot/nic-modules-list ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/cfgroot/nic-modules-list:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/etc/modprobe.d/aliases.conf =================================================================== --- ipcop/branches/toolchain/config/etc/modprobe.d/aliases.conf 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/etc/modprobe.d/aliases.conf 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/etc/modprobe.d/aliases.conf ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/etc/modprobe.d/aliases.conf:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/gcc/startfiles =================================================================== --- ipcop/branches/toolchain/config/gcc/startfiles 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/gcc/startfiles 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/gcc/startfiles ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/gcc/startfiles:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/rootfiles/arch_i486/CnxADSL =================================================================== --- ipcop/branches/toolchain/config/rootfiles/arch_i486/CnxADSL 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/arch_i486/CnxADSL 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/rootfiles/arch_i486/CnxADSL ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/rootfiles/arch_i486/CnxADSL:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/rootfiles/arch_i486/wanpipe_SKIP =================================================================== --- ipcop/branches/toolchain/config/rootfiles/arch_i486/wanpipe_SKIP 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/arch_i486/wanpipe_SKIP 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/rootfiles/arch_i486/wanpipe_SKIP ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/rootfiles/arch_i486/wanpipe_SKIP:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/rootfiles/common/capi4k-utils =================================================================== --- ipcop/branches/toolchain/config/rootfiles/common/capi4k-utils 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/common/capi4k-utils 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/rootfiles/common/capi4k-utils ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/rootfiles/common/capi4k-utils:7773-7784 \ No newline at end of property Modified: ipcop/branches/toolchain/config/rootfiles/common/groff =================================================================== --- ipcop/branches/toolchain/config/rootfiles/common/groff 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/common/groff 2015-01-08 08:55:13 UTC (rev 7799) @@ -1,5 +1,3 @@ -## groff-1.22.2 -## #usr/bin/addftinfo #usr/bin/afmtodit #usr/bin/chem @@ -7,6 +5,9 @@ #usr/bin/eqn2graph #usr/bin/gdiffmk #usr/bin/geqn +#usr/bin/glilypond +#usr/bin/gperl +#usr/bin/gpinyin #usr/bin/grap2graph #usr/bin/grn #usr/bin/grodvi @@ -46,12 +47,23 @@ #usr/bin/tfmtodit #usr/bin/troff #usr/lib/groff +#usr/lib/groff/glilypond +#usr/lib/groff/glilypond/args.pl +#usr/lib/groff/glilypond/oop_fh.pl +#usr/lib/groff/glilypond/subs.pl +#usr/lib/groff/gpinyin +#usr/lib/groff/gpinyin/subs.pl +#usr/lib/groff/groff_opts_no_arg.txt +#usr/lib/groff/groff_opts_with_arg.txt #usr/lib/groff/groffer -#usr/lib/groff/groffer/func.pl +#usr/lib/groff/groffer/main_subs.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/subs.pl #usr/lib/groff/groffer/version.sh +#usr/lib/groff/grog +#usr/lib/groff/grog/subs.pl +#usr/lib/groff/refer #usr/lib/groff/site-tmac #usr/share/doc/groff #usr/share/doc/groff/html @@ -81,382 +93,384 @@ #usr/share/doc/groff/html/mom/version-2.html #usr/share/doc/groff/meintro.me #usr/share/doc/groff/meintro.ps +#usr/share/doc/groff/meintro_fr.me +#usr/share/doc/groff/meintro_fr.ps #usr/share/doc/groff/meref.me #usr/share/doc/groff/meref.ps -#usr/share/doc/groff/pdf -#usr/share/doc/groff/pdf/mom-pdf.pdf #usr/share/doc/groff/pic.ms #usr/share/doc/groff/pic.ps #usr/share/groff -#usr/share/groff/1.22.2 -#usr/share/groff/1.22.2/eign -#usr/share/groff/1.22.2/font -#usr/share/groff/1.22.2/font/devascii -#usr/share/groff/1.22.2/font/devascii/B -#usr/share/groff/1.22.2/font/devascii/BI -#usr/share/groff/1.22.2/font/devascii/DESC -#usr/share/groff/1.22.2/font/devascii/I -#usr/share/groff/1.22.2/font/devascii/R -#usr/share/groff/1.22.2/font/devdvi -#usr/share/groff/1.22.2/font/devdvi/CW -#usr/share/groff/1.22.2/font/devdvi/CWEC -#usr/share/groff/1.22.2/font/devdvi/CWI -#usr/share/groff/1.22.2/font/devdvi/CWIEC -#usr/share/groff/1.22.2/font/devdvi/CWITC -#usr/share/groff/1.22.2/font/devdvi/CWTC -#usr/share/groff/1.22.2/font/devdvi/DESC -#usr/share/groff/1.22.2/font/devdvi/EX -#usr/share/groff/1.22.2/font/devdvi/HB -#usr/share/groff/1.22.2/font/devdvi/HBEC -#usr/share/groff/1.22.2/font/devdvi/HBI -#usr/share/groff/1.22.2/font/devdvi/HBIEC -#usr/share/groff/1.22.2/font/devdvi/HBITC -#usr/share/groff/1.22.2/font/devdvi/HBTC -#usr/share/groff/1.22.2/font/devdvi/HI -#usr/share/groff/1.22.2/font/devdvi/HIEC -#usr/share/groff/1.22.2/font/devdvi/HITC -#usr/share/groff/1.22.2/font/devdvi/HR -#usr/share/groff/1.22.2/font/devdvi/HREC -#usr/share/groff/1.22.2/font/devdvi/HRTC -#usr/share/groff/1.22.2/font/devdvi/MI -#usr/share/groff/1.22.2/font/devdvi/S -#usr/share/groff/1.22.2/font/devdvi/SA -#usr/share/groff/1.22.2/font/devdvi/SB -#usr/share/groff/1.22.2/font/devdvi/SC -#usr/share/groff/1.22.2/font/devdvi/TB -#usr/share/groff/1.22.2/font/devdvi/TBEC -#usr/share/groff/1.22.2/font/devdvi/TBI -#usr/share/groff/1.22.2/font/devdvi/TBIEC -#usr/share/groff/1.22.2/font/devdvi/TBITC -#usr/share/groff/1.22.2/font/devdvi/TBTC -#usr/share/groff/1.22.2/font/devdvi/TI -#usr/share/groff/1.22.2/font/devdvi/TIEC -#usr/share/groff/1.22.2/font/devdvi/TITC -#usr/share/groff/1.22.2/font/devdvi/TR -#usr/share/groff/1.22.2/font/devdvi/TREC -#usr/share/groff/1.22.2/font/devdvi/TRTC -#usr/share/groff/1.22.2/font/devdvi/generate -#usr/share/groff/1.22.2/font/devdvi/generate/CompileFonts -#usr/share/groff/1.22.2/font/devdvi/generate/Makefile -#usr/share/groff/1.22.2/font/devdvi/generate/ec.map -#usr/share/groff/1.22.2/font/devdvi/generate/msam.map -#usr/share/groff/1.22.2/font/devdvi/generate/msbm.map -#usr/share/groff/1.22.2/font/devdvi/generate/tc.map -#usr/share/groff/1.22.2/font/devdvi/generate/texb.map -#usr/share/groff/1.22.2/font/devdvi/generate/texex.map -#usr/share/groff/1.22.2/font/devdvi/generate/texi.map -#usr/share/groff/1.22.2/font/devdvi/generate/texmi.map -#usr/share/groff/1.22.2/font/devdvi/generate/texr.map -#usr/share/groff/1.22.2/font/devdvi/generate/texsy.map -#usr/share/groff/1.22.2/font/devdvi/generate/textex.map -#usr/share/groff/1.22.2/font/devdvi/generate/textt.map -#usr/share/groff/1.22.2/font/devhtml -#usr/share/groff/1.22.2/font/devhtml/B -#usr/share/groff/1.22.2/font/devhtml/BI -#usr/share/groff/1.22.2/font/devhtml/CB -#usr/share/groff/1.22.2/font/devhtml/CBI -#usr/share/groff/1.22.2/font/devhtml/CI -#usr/share/groff/1.22.2/font/devhtml/CR -#usr/share/groff/1.22.2/font/devhtml/DESC -#usr/share/groff/1.22.2/font/devhtml/I -#usr/share/groff/1.22.2/font/devhtml/R -#usr/share/groff/1.22.2/font/devhtml/S -#usr/share/groff/1.22.2/font/devlatin1 -#usr/share/groff/1.22.2/font/devlatin1/B -#usr/share/groff/1.22.2/font/devlatin1/BI -#usr/share/groff/1.22.2/font/devlatin1/DESC -#usr/share/groff/1.22.2/font/devlatin1/I -#usr/share/groff/1.22.2/font/devlatin1/R -#usr/share/groff/1.22.2/font/devlbp -#usr/share/groff/1.22.2/font/devlbp/CB -#usr/share/groff/1.22.2/font/devlbp/CI -#usr/share/groff/1.22.2/font/devlbp/CR -#usr/share/groff/1.22.2/font/devlbp/DESC -#usr/share/groff/1.22.2/font/devlbp/EB -#usr/share/groff/1.22.2/font/devlbp/EI -#usr/share/groff/1.22.2/font/devlbp/ER -#usr/share/groff/1.22.2/font/devlbp/HB -#usr/share/groff/1.22.2/font/devlbp/HBI -#usr/share/groff/1.22.2/font/devlbp/HI -#usr/share/groff/1.22.2/font/devlbp/HNB -#usr/share/groff/1.22.2/font/devlbp/HNBI -#usr/share/groff/1.22.2/font/devlbp/HNI -#usr/share/groff/1.22.2/font/devlbp/HNR -#usr/share/groff/1.22.2/font/devlbp/HR -#usr/share/groff/1.22.2/font/devlbp/TB -#usr/share/groff/1.22.2/font/devlbp/TBI -#usr/share/groff/1.22.2/font/devlbp/TI -#usr/share/groff/1.22.2/font/devlbp/TR -#usr/share/groff/1.22.2/font/devlj4 -#usr/share/groff/1.22.2/font/devlj4/AB -#usr/share/groff/1.22.2/font/devlj4/ABI -#usr/share/groff/1.22.2/font/devlj4/AI -#usr/share/groff/1.22.2/font/devlj4/ALBB -#usr/share/groff/1.22.2/font/devlj4/ALBR -#usr/share/groff/1.22.2/font/devlj4/AOB -#usr/share/groff/1.22.2/font/devlj4/AOI -#usr/share/groff/1.22.2/font/devlj4/AOR -#usr/share/groff/1.22.2/font/devlj4/AR -#usr/share/groff/1.22.2/font/devlj4/CB -#usr/share/groff/1.22.2/font/devlj4/CBI -#usr/share/groff/1.22.2/font/devlj4/CI -#usr/share/groff/1.22.2/font/devlj4/CLARENDON -#usr/share/groff/1.22.2/font/devlj4/CORONET -#usr/share/groff/1.22.2/font/devlj4/CR -#usr/share/groff/1.22.2/font/devlj4/DESC -#usr/share/groff/1.22.2/font/devlj4/GB -#usr/share/groff/1.22.2/font/devlj4/GBI -#usr/share/groff/1.22.2/font/devlj4/GI -#usr/share/groff/1.22.2/font/devlj4/GR -#usr/share/groff/1.22.2/font/devlj4/LGB -#usr/share/groff/1.22.2/font/devlj4/LGI -#usr/share/groff/1.22.2/font/devlj4/LGR -#usr/share/groff/1.22.2/font/devlj4/MARIGOLD -#usr/share/groff/1.22.2/font/devlj4/OB -#usr/share/groff/1.22.2/font/devlj4/OBI -#usr/share/groff/1.22.2/font/devlj4/OI -#usr/share/groff/1.22.2/font/devlj4/OR -#usr/share/groff/1.22.2/font/devlj4/S -#usr/share/groff/1.22.2/font/devlj4/SYMBOL -#usr/share/groff/1.22.2/font/devlj4/TB -#usr/share/groff/1.22.2/font/devlj4/TBI -#usr/share/groff/1.22.2/font/devlj4/TI -#usr/share/groff/1.22.2/font/devlj4/TNRB -#usr/share/groff/1.22.2/font/devlj4/TNRBI -#usr/share/groff/1.22.2/font/devlj4/TNRI -#usr/share/groff/1.22.2/font/devlj4/TNRR -#usr/share/groff/1.22.2/font/devlj4/TR -#usr/share/groff/1.22.2/font/devlj4/UB -#usr/share/groff/1.22.2/font/devlj4/UBI -#usr/share/groff/1.22.2/font/devlj4/UCB -#usr/share/groff/1.22.2/font/devlj4/UCBI -#usr/share/groff/1.22.2/font/devlj4/UCI -#usr/share/groff/1.22.2/font/devlj4/UCR -#usr/share/groff/1.22.2/font/devlj4/UI -#usr/share/groff/1.22.2/font/devlj4/UR -#usr/share/groff/1.22.2/font/devlj4/WINGDINGS -#usr/share/groff/1.22.2/font/devlj4/generate -#usr/share/groff/1.22.2/font/devlj4/generate/Makefile -#usr/share/groff/1.22.2/font/devlj4/generate/special.awk -#usr/share/groff/1.22.2/font/devlj4/generate/special.map -#usr/share/groff/1.22.2/font/devlj4/generate/symbol.map -#usr/share/groff/1.22.2/font/devlj4/generate/text.map -#usr/share/groff/1.22.2/font/devlj4/generate/wingdings.map -#usr/share/groff/1.22.2/font/devpdf -#usr/share/groff/1.22.2/font/devpdf/CB -#usr/share/groff/1.22.2/font/devpdf/CBI -#usr/share/groff/1.22.2/font/devpdf/CI -#usr/share/groff/1.22.2/font/devpdf/CR -#usr/share/groff/1.22.2/font/devpdf/DESC -#usr/share/groff/1.22.2/font/devpdf/EURO -#usr/share/groff/1.22.2/font/devpdf/Foundry -#usr/share/groff/1.22.2/font/devpdf/HB -#usr/share/groff/1.22.2/font/devpdf/HBI -#usr/share/groff/1.22.2/font/devpdf/HI -#usr/share/groff/1.22.2/font/devpdf/HR -#usr/share/groff/1.22.2/font/devpdf/S -#usr/share/groff/1.22.2/font/devpdf/TB -#usr/share/groff/1.22.2/font/devpdf/TBI -#usr/share/groff/1.22.2/font/devpdf/TI -#usr/share/groff/1.22.2/font/devpdf/TR -#usr/share/groff/1.22.2/font/devpdf/ZD -#usr/share/groff/1.22.2/font/devpdf/download -#usr/share/groff/1.22.2/font/devpdf/enc -#usr/share/groff/1.22.2/font/devpdf/enc/text.enc -#usr/share/groff/1.22.2/font/devpdf/map -#usr/share/groff/1.22.2/font/devpdf/map/dingbats.map -#usr/share/groff/1.22.2/font/devpdf/map/symbolchars -#usr/share/groff/1.22.2/font/devpdf/map/symbolmap -#usr/share/groff/1.22.2/font/devpdf/map/textmap -#usr/share/groff/1.22.2/font/devps -#usr/share/groff/1.22.2/font/devps/AB -#usr/share/groff/1.22.2/font/devps/ABI -#usr/share/groff/1.22.2/font/devps/AI -#usr/share/groff/1.22.2/font/devps/AR -#usr/share/groff/1.22.2/font/devps/BMB -#usr/share/groff/1.22.2/font/devps/BMBI -#usr/share/groff/1.22.2/font/devps/BMI -#usr/share/groff/1.22.2/font/devps/BMR -#usr/share/groff/1.22.2/font/devps/CB -#usr/share/groff/1.22.2/font/devps/CBI -#usr/share/groff/1.22.2/font/devps/CI -#usr/share/groff/1.22.2/font/devps/CR -#usr/share/groff/1.22.2/font/devps/DESC -#usr/share/groff/1.22.2/font/devps/EURO -#usr/share/groff/1.22.2/font/devps/HB -#usr/share/groff/1.22.2/font/devps/HBI -#usr/share/groff/1.22.2/font/devps/HI -#usr/share/groff/1.22.2/font/devps/HNB -#usr/share/groff/1.22.2/font/devps/HNBI -#usr/share/groff/1.22.2/font/devps/HNI -#usr/share/groff/1.22.2/font/devps/HNR -#usr/share/groff/1.22.2/font/devps/HR -#usr/share/groff/1.22.2/font/devps/NB -#usr/share/groff/1.22.2/font/devps/NBI -#usr/share/groff/1.22.2/font/devps/NI -#usr/share/groff/1.22.2/font/devps/NR -#usr/share/groff/1.22.2/font/devps/PB -#usr/share/groff/1.22.2/font/devps/PBI -#usr/share/groff/1.22.2/font/devps/PI -#usr/share/groff/1.22.2/font/devps/PR -#usr/share/groff/1.22.2/font/devps/S -#usr/share/groff/1.22.2/font/devps/SS -#usr/share/groff/1.22.2/font/devps/TB -#usr/share/groff/1.22.2/font/devps/TBI -#usr/share/groff/1.22.2/font/devps/TI -#usr/share/groff/1.22.2/font/devps/TR -#usr/share/groff/1.22.2/font/devps/ZCMI -#usr/share/groff/1.22.2/font/devps/ZD -#usr/share/groff/1.22.2/font/devps/ZDR -#usr/share/groff/1.22.2/font/devps/download -#usr/share/groff/1.22.2/font/devps/freeeuro.afm -#usr/share/groff/1.22.2/font/devps/freeeuro.pfa -#usr/share/groff/1.22.2/font/devps/generate -#usr/share/groff/1.22.2/font/devps/generate/Makefile -#usr/share/groff/1.22.2/font/devps/generate/afmname -#usr/share/groff/1.22.2/font/devps/generate/dingbats.map -#usr/share/groff/1.22.2/font/devps/generate/dingbats.rmap -#usr/share/groff/1.22.2/font/devps/generate/lgreekmap -#usr/share/groff/1.22.2/font/devps/generate/symbol.sed -#usr/share/groff/1.22.2/font/devps/generate/symbolchars -#usr/share/groff/1.22.2/font/devps/generate/symbolsl.afm -#usr/share/groff/1.22.2/font/devps/generate/textmap -#usr/share/groff/1.22.2/font/devps/prologue -#usr/share/groff/1.22.2/font/devps/symbolsl.pfa -#usr/share/groff/1.22.2/font/devps/text.enc -#usr/share/groff/1.22.2/font/devps/zapfdr.pfa -#usr/share/groff/1.22.2/font/devutf8 -#usr/share/groff/1.22.2/font/devutf8/B -#usr/share/groff/1.22.2/font/devutf8/BI -#usr/share/groff/1.22.2/font/devutf8/DESC -#usr/share/groff/1.22.2/font/devutf8/I -#usr/share/groff/1.22.2/font/devutf8/R -#usr/share/groff/1.22.2/oldfont -#usr/share/groff/1.22.2/oldfont/devps -#usr/share/groff/1.22.2/oldfont/devps/CB -#usr/share/groff/1.22.2/oldfont/devps/CBI -#usr/share/groff/1.22.2/oldfont/devps/CI -#usr/share/groff/1.22.2/oldfont/devps/CR -#usr/share/groff/1.22.2/oldfont/devps/HB -#usr/share/groff/1.22.2/oldfont/devps/HBI -#usr/share/groff/1.22.2/oldfont/devps/HI -#usr/share/groff/1.22.2/oldfont/devps/HNB -#usr/share/groff/1.22.2/oldfont/devps/HNBI -#usr/share/groff/1.22.2/oldfont/devps/HNI -#usr/share/groff/1.22.2/oldfont/devps/HNR -#usr/share/groff/1.22.2/oldfont/devps/HR -#usr/share/groff/1.22.2/oldfont/devps/NB -#usr/share/groff/1.22.2/oldfont/devps/NBI -#usr/share/groff/1.22.2/oldfont/devps/NI -#usr/share/groff/1.22.2/oldfont/devps/NR -#usr/share/groff/1.22.2/oldfont/devps/PB -#usr/share/groff/1.22.2/oldfont/devps/PBI -#usr/share/groff/1.22.2/oldfont/devps/PI -#usr/share/groff/1.22.2/oldfont/devps/PR -#usr/share/groff/1.22.2/oldfont/devps/S -#usr/share/groff/1.22.2/oldfont/devps/SS -#usr/share/groff/1.22.2/oldfont/devps/TB -#usr/share/groff/1.22.2/oldfont/devps/TBI -#usr/share/groff/1.22.2/oldfont/devps/TI -#usr/share/groff/1.22.2/oldfont/devps/TR -#usr/share/groff/1.22.2/oldfont/devps/symbol.afm -#usr/share/groff/1.22.2/oldfont/devps/symbolsl.afm -#usr/share/groff/1.22.2/oldfont/devps/zapfdr.afm -#usr/share/groff/1.22.2/oldfont/devps/zapfdr.ps -#usr/share/groff/1.22.2/pic -#usr/share/groff/1.22.2/pic/chem.pic -#usr/share/groff/1.22.2/tmac -#usr/share/groff/1.22.2/tmac/62bit.tmac -#usr/share/groff/1.22.2/tmac/X.tmac -#usr/share/groff/1.22.2/tmac/Xps.tmac -#usr/share/groff/1.22.2/tmac/a4.tmac -#usr/share/groff/1.22.2/tmac/an-ext.tmac -#usr/share/groff/1.22.2/tmac/an-old.tmac -#usr/share/groff/1.22.2/tmac/an.tmac -#usr/share/groff/1.22.2/tmac/andoc.tmac -#usr/share/groff/1.22.2/tmac/composite.tmac -#usr/share/groff/1.22.2/tmac/cp1047.tmac -#usr/share/groff/1.22.2/tmac/cs.tmac -#usr/share/groff/1.22.2/tmac/de.tmac -#usr/share/groff/1.22.2/tmac/den.tmac -#usr/share/groff/1.22.2/tmac/devtag.tmac -#usr/share/groff/1.22.2/tmac/doc-old.tmac -#usr/share/groff/1.22.2/tmac/doc.tmac -#usr/share/groff/1.22.2/tmac/dvi.tmac -#usr/share/groff/1.22.2/tmac/e.tmac -#usr/share/groff/1.22.2/tmac/ec.tmac -#usr/share/groff/1.22.2/tmac/eqnrc -#usr/share/groff/1.22.2/tmac/europs.tmac -#usr/share/groff/1.22.2/tmac/fallbacks.tmac -#usr/share/groff/1.22.2/tmac/fr.tmac -#usr/share/groff/1.22.2/tmac/hdmisc.tmac -#usr/share/groff/1.22.2/tmac/hdtbl.tmac -#usr/share/groff/1.22.2/tmac/html-end.tmac -#usr/share/groff/1.22.2/tmac/html.tmac -#usr/share/groff/1.22.2/tmac/hyphen.cs -#usr/share/groff/1.22.2/tmac/hyphen.den -#usr/share/groff/1.22.2/tmac/hyphen.det -#usr/share/groff/1.22.2/tmac/hyphen.fr -#usr/share/groff/1.22.2/tmac/hyphen.sv -#usr/share/groff/1.22.2/tmac/hyphen.us -#usr/share/groff/1.22.2/tmac/hyphenex.cs -#usr/share/groff/1.22.2/tmac/hyphenex.det -#usr/share/groff/1.22.2/tmac/hyphenex.us -#usr/share/groff/1.22.2/tmac/ja.tmac -#usr/share/groff/1.22.2/tmac/latin1.tmac -#usr/share/groff/1.22.2/tmac/latin2.tmac -#usr/share/groff/1.22.2/tmac/latin5.tmac -#usr/share/groff/1.22.2/tmac/latin9.tmac -#usr/share/groff/1.22.2/tmac/lbp.tmac -#usr/share/groff/1.22.2/tmac/lj4.tmac -#usr/share/groff/1.22.2/tmac/m.tmac -#usr/share/groff/1.22.2/tmac/man.tmac -#usr/share/groff/1.22.2/tmac/mandoc.tmac -#usr/share/groff/1.22.2/tmac/mdoc -#usr/share/groff/1.22.2/tmac/mdoc.tmac -#usr/share/groff/1.22.2/tmac/mdoc/doc-common -#usr/share/groff/1.22.2/tmac/mdoc/doc-ditroff -#usr/share/groff/1.22.2/tmac/mdoc/doc-nroff -#usr/share/groff/1.22.2/tmac/mdoc/doc-syms -#usr/share/groff/1.22.2/tmac/me.tmac -#usr/share/groff/1.22.2/tmac/mm -#usr/share/groff/1.22.2/tmac/mm.tmac -#usr/share/groff/1.22.2/tmac/mm/0.MT -#usr/share/groff/1.22.2/tmac/mm/4.MT -#usr/share/groff/1.22.2/tmac/mm/5.MT -#usr/share/groff/1.22.2/tmac/mm/locale -#usr/share/groff/1.22.2/tmac/mm/ms.cov -#usr/share/groff/1.22.2/tmac/mm/se_locale -#usr/share/groff/1.22.2/tmac/mm/se_ms.cov -#usr/share/groff/1.22.2/tmac/mmse.tmac -#usr/share/groff/1.22.2/tmac/mom.tmac -#usr/share/groff/1.22.2/tmac/ms.tmac -#usr/share/groff/1.22.2/tmac/mse.tmac -#usr/share/groff/1.22.2/tmac/om.tmac -#usr/share/groff/1.22.2/tmac/papersize.tmac -#usr/share/groff/1.22.2/tmac/pdf.tmac -#usr/share/groff/1.22.2/tmac/pdfmark.tmac -#usr/share/groff/1.22.2/tmac/pic.tmac -#usr/share/groff/1.22.2/tmac/ps.tmac -#usr/share/groff/1.22.2/tmac/psatk.tmac -#usr/share/groff/1.22.2/tmac/psold.tmac -#usr/share/groff/1.22.2/tmac/pspic.tmac -#usr/share/groff/1.22.2/tmac/refer-me.tmac -#usr/share/groff/1.22.2/tmac/refer-mm.tmac -#usr/share/groff/1.22.2/tmac/refer-ms.tmac -#usr/share/groff/1.22.2/tmac/refer.tmac -#usr/share/groff/1.22.2/tmac/s.tmac -#usr/share/groff/1.22.2/tmac/safer.tmac -#usr/share/groff/1.22.2/tmac/spdf.tmac -#usr/share/groff/1.22.2/tmac/sv.tmac -#usr/share/groff/1.22.2/tmac/trace.tmac -#usr/share/groff/1.22.2/tmac/trans.tmac -#usr/share/groff/1.22.2/tmac/troffrc -#usr/share/groff/1.22.2/tmac/troffrc-end -#usr/share/groff/1.22.2/tmac/tty-char.tmac -#usr/share/groff/1.22.2/tmac/tty.tmac -#usr/share/groff/1.22.2/tmac/unicode.tmac -#usr/share/groff/1.22.2/tmac/www.tmac +#usr/share/groff/1.22.3 +#usr/share/groff/1.22.3/eign +#usr/share/groff/1.22.3/font +#usr/share/groff/1.22.3/font/devascii +#usr/share/groff/1.22.3/font/devascii/B +#usr/share/groff/1.22.3/font/devascii/BI +#usr/share/groff/1.22.3/font/devascii/DESC +#usr/share/groff/1.22.3/font/devascii/I +#usr/share/groff/1.22.3/font/devascii/R +#usr/share/groff/1.22.3/font/devdvi +#usr/share/groff/1.22.3/font/devdvi/CW +#usr/share/groff/1.22.3/font/devdvi/CWEC +#usr/share/groff/1.22.3/font/devdvi/CWI +#usr/share/groff/1.22.3/font/devdvi/CWIEC +#usr/share/groff/1.22.3/font/devdvi/CWITC +#usr/share/groff/1.22.3/font/devdvi/CWTC +#usr/share/groff/1.22.3/font/devdvi/DESC +#usr/share/groff/1.22.3/font/devdvi/EX +#usr/share/groff/1.22.3/font/devdvi/HB +#usr/share/groff/1.22.3/font/devdvi/HBEC +#usr/share/groff/1.22.3/font/devdvi/HBI +#usr/share/groff/1.22.3/font/devdvi/HBIEC +#usr/share/groff/1.22.3/font/devdvi/HBITC +#usr/share/groff/1.22.3/font/devdvi/HBTC +#usr/share/groff/1.22.3/font/devdvi/HI +#usr/share/groff/1.22.3/font/devdvi/HIEC +#usr/share/groff/1.22.3/font/devdvi/HITC +#usr/share/groff/1.22.3/font/devdvi/HR +#usr/share/groff/1.22.3/font/devdvi/HREC +#usr/share/groff/1.22.3/font/devdvi/HRTC +#usr/share/groff/1.22.3/font/devdvi/MI +#usr/share/groff/1.22.3/font/devdvi/S +#usr/share/groff/1.22.3/font/devdvi/SA +#usr/share/groff/1.22.3/font/devdvi/SB +#usr/share/groff/1.22.3/font/devdvi/SC +#usr/share/groff/1.22.3/font/devdvi/TB +#usr/share/groff/1.22.3/font/devdvi/TBEC +#usr/share/groff/1.22.3/font/devdvi/TBI +#usr/share/groff/1.22.3/font/devdvi/TBIEC +#usr/share/groff/1.22.3/font/devdvi/TBITC +#usr/share/groff/1.22.3/font/devdvi/TBTC +#usr/share/groff/1.22.3/font/devdvi/TI +#usr/share/groff/1.22.3/font/devdvi/TIEC +#usr/share/groff/1.22.3/font/devdvi/TITC +#usr/share/groff/1.22.3/font/devdvi/TR +#usr/share/groff/1.22.3/font/devdvi/TREC +#usr/share/groff/1.22.3/font/devdvi/TRTC +#usr/share/groff/1.22.3/font/devdvi/generate +#usr/share/groff/1.22.3/font/devdvi/generate/CompileFonts +#usr/share/groff/1.22.3/font/devdvi/generate/Makefile +#usr/share/groff/1.22.3/font/devdvi/generate/ec.map +#usr/share/groff/1.22.3/font/devdvi/generate/msam.map +#usr/share/groff/1.22.3/font/devdvi/generate/msbm.map +#usr/share/groff/1.22.3/font/devdvi/generate/tc.map +#usr/share/groff/1.22.3/font/devdvi/generate/texb.map +#usr/share/groff/1.22.3/font/devdvi/generate/texex.map +#usr/share/groff/1.22.3/font/devdvi/generate/texi.map +#usr/share/groff/1.22.3/font/devdvi/generate/texmi.map +#usr/share/groff/1.22.3/font/devdvi/generate/texr.map +#usr/share/groff/1.22.3/font/devdvi/generate/texsy.map +#usr/share/groff/1.22.3/font/devdvi/generate/textex.map +#usr/share/groff/1.22.3/font/devdvi/generate/textt.map +#usr/share/groff/1.22.3/font/devhtml +#usr/share/groff/1.22.3/font/devhtml/B +#usr/share/groff/1.22.3/font/devhtml/BI +#usr/share/groff/1.22.3/font/devhtml/CB +#usr/share/groff/1.22.3/font/devhtml/CBI +#usr/share/groff/1.22.3/font/devhtml/CI +#usr/share/groff/1.22.3/font/devhtml/CR +#usr/share/groff/1.22.3/font/devhtml/DESC +#usr/share/groff/1.22.3/font/devhtml/I +#usr/share/groff/1.22.3/font/devhtml/R +#usr/share/groff/1.22.3/font/devhtml/S +#usr/share/groff/1.22.3/font/devlatin1 +#usr/share/groff/1.22.3/font/devlatin1/B +#usr/share/groff/1.22.3/font/devlatin1/BI +#usr/share/groff/1.22.3/font/devlatin1/DESC +#usr/share/groff/1.22.3/font/devlatin1/I +#usr/share/groff/1.22.3/font/devlatin1/R +#usr/share/groff/1.22.3/font/devlbp +#usr/share/groff/1.22.3/font/devlbp/CB +#usr/share/groff/1.22.3/font/devlbp/CI +#usr/share/groff/1.22.3/font/devlbp/CR +#usr/share/groff/1.22.3/font/devlbp/DESC +#usr/share/groff/1.22.3/font/devlbp/EB +#usr/share/groff/1.22.3/font/devlbp/EI +#usr/share/groff/1.22.3/font/devlbp/ER +#usr/share/groff/1.22.3/font/devlbp/HB +#usr/share/groff/1.22.3/font/devlbp/HBI +#usr/share/groff/1.22.3/font/devlbp/HI +#usr/share/groff/1.22.3/font/devlbp/HNB +#usr/share/groff/1.22.3/font/devlbp/HNBI +#usr/share/groff/1.22.3/font/devlbp/HNI +#usr/share/groff/1.22.3/font/devlbp/HNR +#usr/share/groff/1.22.3/font/devlbp/HR +#usr/share/groff/1.22.3/font/devlbp/TB +#usr/share/groff/1.22.3/font/devlbp/TBI +#usr/share/groff/1.22.3/font/devlbp/TI +#usr/share/groff/1.22.3/font/devlbp/TR +#usr/share/groff/1.22.3/font/devlj4 +#usr/share/groff/1.22.3/font/devlj4/AB +#usr/share/groff/1.22.3/font/devlj4/ABI +#usr/share/groff/1.22.3/font/devlj4/AI +#usr/share/groff/1.22.3/font/devlj4/ALBB +#usr/share/groff/1.22.3/font/devlj4/ALBR +#usr/share/groff/1.22.3/font/devlj4/AOB +#usr/share/groff/1.22.3/font/devlj4/AOI +#usr/share/groff/1.22.3/font/devlj4/AOR +#usr/share/groff/1.22.3/font/devlj4/AR +#usr/share/groff/1.22.3/font/devlj4/CB +#usr/share/groff/1.22.3/font/devlj4/CBI +#usr/share/groff/1.22.3/font/devlj4/CI +#usr/share/groff/1.22.3/font/devlj4/CLARENDON +#usr/share/groff/1.22.3/font/devlj4/CORONET +#usr/share/groff/1.22.3/font/devlj4/CR +#usr/share/groff/1.22.3/font/devlj4/DESC +#usr/share/groff/1.22.3/font/devlj4/GB +#usr/share/groff/1.22.3/font/devlj4/GBI +#usr/share/groff/1.22.3/font/devlj4/GI +#usr/share/groff/1.22.3/font/devlj4/GR +#usr/share/groff/1.22.3/font/devlj4/LGB +#usr/share/groff/1.22.3/font/devlj4/LGI +#usr/share/groff/1.22.3/font/devlj4/LGR +#usr/share/groff/1.22.3/font/devlj4/MARIGOLD +#usr/share/groff/1.22.3/font/devlj4/OB +#usr/share/groff/1.22.3/font/devlj4/OBI +#usr/share/groff/1.22.3/font/devlj4/OI +#usr/share/groff/1.22.3/font/devlj4/OR +#usr/share/groff/1.22.3/font/devlj4/S +#usr/share/groff/1.22.3/font/devlj4/SYMBOL +#usr/share/groff/1.22.3/font/devlj4/TB +#usr/share/groff/1.22.3/font/devlj4/TBI +#usr/share/groff/1.22.3/font/devlj4/TI +#usr/share/groff/1.22.3/font/devlj4/TNRB +#usr/share/groff/1.22.3/font/devlj4/TNRBI +#usr/share/groff/1.22.3/font/devlj4/TNRI +#usr/share/groff/1.22.3/font/devlj4/TNRR +#usr/share/groff/1.22.3/font/devlj4/TR +#usr/share/groff/1.22.3/font/devlj4/UB +#usr/share/groff/1.22.3/font/devlj4/UBI +#usr/share/groff/1.22.3/font/devlj4/UCB +#usr/share/groff/1.22.3/font/devlj4/UCBI +#usr/share/groff/1.22.3/font/devlj4/UCI +#usr/share/groff/1.22.3/font/devlj4/UCR +#usr/share/groff/1.22.3/font/devlj4/UI +#usr/share/groff/1.22.3/font/devlj4/UR +#usr/share/groff/1.22.3/font/devlj4/WINGDINGS +#usr/share/groff/1.22.3/font/devlj4/generate +#usr/share/groff/1.22.3/font/devlj4/generate/Makefile +#usr/share/groff/1.22.3/font/devlj4/generate/special.awk +#usr/share/groff/1.22.3/font/devlj4/generate/special.map +#usr/share/groff/1.22.3/font/devlj4/generate/symbol.map +#usr/share/groff/1.22.3/font/devlj4/generate/text.map +#usr/share/groff/1.22.3/font/devlj4/generate/wingdings.map +#usr/share/groff/1.22.3/font/devpdf +#usr/share/groff/1.22.3/font/devpdf/CB +#usr/share/groff/1.22.3/font/devpdf/CBI +#usr/share/groff/1.22.3/font/devpdf/CI +#usr/share/groff/1.22.3/font/devpdf/CR +#usr/share/groff/1.22.3/font/devpdf/DESC +#usr/share/groff/1.22.3/font/devpdf/EURO +#usr/share/groff/1.22.3/font/devpdf/Foundry +#usr/share/groff/1.22.3/font/devpdf/HB +#usr/share/groff/1.22.3/font/devpdf/HBI +#usr/share/groff/1.22.3/font/devpdf/HI +#usr/share/groff/1.22.3/font/devpdf/HR +#usr/share/groff/1.22.3/font/devpdf/S +#usr/share/groff/1.22.3/font/devpdf/TB +#usr/share/groff/1.22.3/font/devpdf/TBI +#usr/share/groff/1.22.3/font/devpdf/TI +#usr/share/groff/1.22.3/font/devpdf/TR +#usr/share/groff/1.22.3/font/devpdf/ZD +#usr/share/groff/1.22.3/font/devpdf/download +#usr/share/groff/1.22.3/font/devpdf/enc +#usr/share/groff/1.22.3/font/devpdf/enc/text.enc +#usr/share/groff/1.22.3/font/devpdf/map +#usr/share/groff/1.22.3/font/devpdf/map/dingbats.map +#usr/share/groff/1.22.3/font/devpdf/map/symbolchars +#usr/share/groff/1.22.3/font/devpdf/map/symbolmap +#usr/share/groff/1.22.3/font/devpdf/map/textmap +#usr/share/groff/1.22.3/font/devpdf/util +#usr/share/groff/1.22.3/font/devpdf/util/BuildFoundries +#usr/share/groff/1.22.3/font/devps +#usr/share/groff/1.22.3/font/devps/AB +#usr/share/groff/1.22.3/font/devps/ABI +#usr/share/groff/1.22.3/font/devps/AI +#usr/share/groff/1.22.3/font/devps/AR +#usr/share/groff/1.22.3/font/devps/BMB +#usr/share/groff/1.22.3/font/devps/BMBI +#usr/share/groff/1.22.3/font/devps/BMI +#usr/share/groff/1.22.3/font/devps/BMR +#usr/share/groff/1.22.3/font/devps/CB +#usr/share/groff/1.22.3/font/devps/CBI +#usr/share/groff/1.22.3/font/devps/CI +#usr/share/groff/1.22.3/font/devps/CR +#usr/share/groff/1.22.3/font/devps/DESC +#usr/share/groff/1.22.3/font/devps/EURO +#usr/share/groff/1.22.3/font/devps/HB +#usr/share/groff/1.22.3/font/devps/HBI +#usr/share/groff/1.22.3/font/devps/HI +#usr/share/groff/1.22.3/font/devps/HNB +#usr/share/groff/1.22.3/font/devps/HNBI +#usr/share/groff/1.22.3/font/devps/HNI +#usr/share/groff/1.22.3/font/devps/HNR +#usr/share/groff/1.22.3/font/devps/HR +#usr/share/groff/1.22.3/font/devps/NB +#usr/share/groff/1.22.3/font/devps/NBI +#usr/share/groff/1.22.3/font/devps/NI +#usr/share/groff/1.22.3/font/devps/NR +#usr/share/groff/1.22.3/font/devps/PB +#usr/share/groff/1.22.3/font/devps/PBI +#usr/share/groff/1.22.3/font/devps/PI +#usr/share/groff/1.22.3/font/devps/PR +#usr/share/groff/1.22.3/font/devps/S +#usr/share/groff/1.22.3/font/devps/SS +#usr/share/groff/1.22.3/font/devps/TB +#usr/share/groff/1.22.3/font/devps/TBI +#usr/share/groff/1.22.3/font/devps/TI +#usr/share/groff/1.22.3/font/devps/TR +#usr/share/groff/1.22.3/font/devps/ZCMI +#usr/share/groff/1.22.3/font/devps/ZD +#usr/share/groff/1.22.3/font/devps/ZDR +#usr/share/groff/1.22.3/font/devps/download +#usr/share/groff/1.22.3/font/devps/freeeuro.afm +#usr/share/groff/1.22.3/font/devps/freeeuro.pfa +#usr/share/groff/1.22.3/font/devps/generate +#usr/share/groff/1.22.3/font/devps/generate/Makefile +#usr/share/groff/1.22.3/font/devps/generate/afmname +#usr/share/groff/1.22.3/font/devps/generate/dingbats.map +#usr/share/groff/1.22.3/font/devps/generate/dingbats.rmap +#usr/share/groff/1.22.3/font/devps/generate/lgreekmap +#usr/share/groff/1.22.3/font/devps/generate/symbol.sed +#usr/share/groff/1.22.3/font/devps/generate/symbolchars +#usr/share/groff/1.22.3/font/devps/generate/symbolsl.afm +#usr/share/groff/1.22.3/font/devps/generate/textmap +#usr/share/groff/1.22.3/font/devps/prologue +#usr/share/groff/1.22.3/font/devps/symbolsl.pfa +#usr/share/groff/1.22.3/font/devps/text.enc +#usr/share/groff/1.22.3/font/devps/zapfdr.pfa +#usr/share/groff/1.22.3/font/devutf8 +#usr/share/groff/1.22.3/font/devutf8/B +#usr/share/groff/1.22.3/font/devutf8/BI +#usr/share/groff/1.22.3/font/devutf8/DESC +#usr/share/groff/1.22.3/font/devutf8/I +#usr/share/groff/1.22.3/font/devutf8/R +#usr/share/groff/1.22.3/oldfont +#usr/share/groff/1.22.3/oldfont/devps +#usr/share/groff/1.22.3/oldfont/devps/CB +#usr/share/groff/1.22.3/oldfont/devps/CBI +#usr/share/groff/1.22.3/oldfont/devps/CI +#usr/share/groff/1.22.3/oldfont/devps/CR +#usr/share/groff/1.22.3/oldfont/devps/HB +#usr/share/groff/1.22.3/oldfont/devps/HBI +#usr/share/groff/1.22.3/oldfont/devps/HI +#usr/share/groff/1.22.3/oldfont/devps/HNB +#usr/share/groff/1.22.3/oldfont/devps/HNBI +#usr/share/groff/1.22.3/oldfont/devps/HNI +#usr/share/groff/1.22.3/oldfont/devps/HNR +#usr/share/groff/1.22.3/oldfont/devps/HR +#usr/share/groff/1.22.3/oldfont/devps/NB +#usr/share/groff/1.22.3/oldfont/devps/NBI +#usr/share/groff/1.22.3/oldfont/devps/NI +#usr/share/groff/1.22.3/oldfont/devps/NR +#usr/share/groff/1.22.3/oldfont/devps/PB +#usr/share/groff/1.22.3/oldfont/devps/PBI +#usr/share/groff/1.22.3/oldfont/devps/PI +#usr/share/groff/1.22.3/oldfont/devps/PR +#usr/share/groff/1.22.3/oldfont/devps/S +#usr/share/groff/1.22.3/oldfont/devps/SS +#usr/share/groff/1.22.3/oldfont/devps/TB +#usr/share/groff/1.22.3/oldfont/devps/TBI +#usr/share/groff/1.22.3/oldfont/devps/TI +#usr/share/groff/1.22.3/oldfont/devps/TR +#usr/share/groff/1.22.3/oldfont/devps/symbol.afm +#usr/share/groff/1.22.3/oldfont/devps/symbolsl.afm +#usr/share/groff/1.22.3/oldfont/devps/zapfdr.afm +#usr/share/groff/1.22.3/oldfont/devps/zapfdr.ps +#usr/share/groff/1.22.3/pic +#usr/share/groff/1.22.3/pic/chem.pic +#usr/share/groff/1.22.3/tmac +#usr/share/groff/1.22.3/tmac/62bit.tmac +#usr/share/groff/1.22.3/tmac/X.tmac +#usr/share/groff/1.22.3/tmac/Xps.tmac +#usr/share/groff/1.22.3/tmac/a4.tmac +#usr/share/groff/1.22.3/tmac/an-ext.tmac +#usr/share/groff/1.22.3/tmac/an-old.tmac +#usr/share/groff/1.22.3/tmac/an.tmac +#usr/share/groff/1.22.3/tmac/andoc.tmac +#usr/share/groff/1.22.3/tmac/composite.tmac +#usr/share/groff/1.22.3/tmac/cp1047.tmac +#usr/share/groff/1.22.3/tmac/cs.tmac +#usr/share/groff/1.22.3/tmac/de.tmac +#usr/share/groff/1.22.3/tmac/den.tmac +#usr/share/groff/1.22.3/tmac/devtag.tmac +#usr/share/groff/1.22.3/tmac/doc-old.tmac +#usr/share/groff/1.22.3/tmac/doc.tmac +#usr/share/groff/1.22.3/tmac/dvi.tmac +#usr/share/groff/1.22.3/tmac/e.tmac +#usr/share/groff/1.22.3/tmac/ec.tmac +#usr/share/groff/1.22.3/tmac/eqnrc +#usr/share/groff/1.22.3/tmac/europs.tmac +#usr/share/groff/1.22.3/tmac/fallbacks.tmac +#usr/share/groff/1.22.3/tmac/fr.tmac +#usr/share/groff/1.22.3/tmac/hdmisc.tmac +#usr/share/groff/1.22.3/tmac/hdtbl.tmac +#usr/share/groff/1.22.3/tmac/html-end.tmac +#usr/share/groff/1.22.3/tmac/html.tmac +#usr/share/groff/1.22.3/tmac/hyphen.cs +#usr/share/groff/1.22.3/tmac/hyphen.den +#usr/share/groff/1.22.3/tmac/hyphen.det +#usr/share/groff/1.22.3/tmac/hyphen.fr +#usr/share/groff/1.22.3/tmac/hyphen.sv +#usr/share/groff/1.22.3/tmac/hyphen.us +#usr/share/groff/1.22.3/tmac/hyphenex.cs +#usr/share/groff/1.22.3/tmac/hyphenex.det +#usr/share/groff/1.22.3/tmac/hyphenex.us +#usr/share/groff/1.22.3/tmac/ja.tmac +#usr/share/groff/1.22.3/tmac/latin1.tmac +#usr/share/groff/1.22.3/tmac/latin2.tmac +#usr/share/groff/1.22.3/tmac/latin5.tmac +#usr/share/groff/1.22.3/tmac/latin9.tmac +#usr/share/groff/1.22.3/tmac/lbp.tmac +#usr/share/groff/1.22.3/tmac/lj4.tmac +#usr/share/groff/1.22.3/tmac/m.tmac +#usr/share/groff/1.22.3/tmac/man.tmac +#usr/share/groff/1.22.3/tmac/mandoc.tmac +#usr/share/groff/1.22.3/tmac/mdoc +#usr/share/groff/1.22.3/tmac/mdoc.tmac +#usr/share/groff/1.22.3/tmac/mdoc/doc-common +#usr/share/groff/1.22.3/tmac/mdoc/doc-ditroff +#usr/share/groff/1.22.3/tmac/mdoc/doc-nroff +#usr/share/groff/1.22.3/tmac/mdoc/doc-syms +#usr/share/groff/1.22.3/tmac/me.tmac +#usr/share/groff/1.22.3/tmac/mm +#usr/share/groff/1.22.3/tmac/mm.tmac +#usr/share/groff/1.22.3/tmac/mm/0.MT +#usr/share/groff/1.22.3/tmac/mm/4.MT +#usr/share/groff/1.22.3/tmac/mm/5.MT +#usr/share/groff/1.22.3/tmac/mm/locale +#usr/share/groff/1.22.3/tmac/mm/ms.cov +#usr/share/groff/1.22.3/tmac/mm/se_locale +#usr/share/groff/1.22.3/tmac/mm/se_ms.cov +#usr/share/groff/1.22.3/tmac/mmse.tmac +#usr/share/groff/1.22.3/tmac/mom.tmac +#usr/share/groff/1.22.3/tmac/ms.tmac +#usr/share/groff/1.22.3/tmac/mse.tmac +#usr/share/groff/1.22.3/tmac/om.tmac +#usr/share/groff/1.22.3/tmac/papersize.tmac +#usr/share/groff/1.22.3/tmac/pdf.tmac +#usr/share/groff/1.22.3/tmac/pdfmark.tmac +#usr/share/groff/1.22.3/tmac/pic.tmac +#usr/share/groff/1.22.3/tmac/ps.tmac +#usr/share/groff/1.22.3/tmac/psatk.tmac +#usr/share/groff/1.22.3/tmac/psold.tmac +#usr/share/groff/1.22.3/tmac/pspic.tmac +#usr/share/groff/1.22.3/tmac/refer-me.tmac +#usr/share/groff/1.22.3/tmac/refer-mm.tmac +#usr/share/groff/1.22.3/tmac/refer-ms.tmac +#usr/share/groff/1.22.3/tmac/refer.tmac +#usr/share/groff/1.22.3/tmac/s.tmac +#usr/share/groff/1.22.3/tmac/safer.tmac +#usr/share/groff/1.22.3/tmac/spdf.tmac +#usr/share/groff/1.22.3/tmac/sv.tmac +#usr/share/groff/1.22.3/tmac/trace.tmac +#usr/share/groff/1.22.3/tmac/trans.tmac +#usr/share/groff/1.22.3/tmac/troffrc +#usr/share/groff/1.22.3/tmac/troffrc-end +#usr/share/groff/1.22.3/tmac/tty-char.tmac +#usr/share/groff/1.22.3/tmac/tty.tmac +#usr/share/groff/1.22.3/tmac/unicode.tmac +#usr/share/groff/1.22.3/tmac/www.tmac #usr/share/groff/current #usr/share/groff/site-font #usr/share/groff/site-tmac @@ -465,13 +479,15 @@ #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/glilypond.1 +#usr/share/man/man1/gperl.1 +#usr/share/man/man1/gpinyin.1 #usr/share/man/man1/grap2graph.1 #usr/share/man/man1/grn.1 #usr/share/man/man1/grodvi.1 @@ -516,6 +532,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_filenames.7 #usr/share/man/man7/groff_hdtbl.7 #usr/share/man/man7/groff_man.7 #usr/share/man/man7/groff_mdoc.7 Modified: ipcop/branches/toolchain/config/rootfiles/common/openldap =================================================================== --- ipcop/branches/toolchain/config/rootfiles/common/openldap 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/common/openldap 2015-01-08 08:55:13 UTC (rev 7799) @@ -22,259 +22,11 @@ #usr/include/ldif.h #usr/include/slapi-plugin.h usr/lib/liblber-2.4.so.2 -usr/lib/liblber-2.4.so.2.10.2 +usr/lib/liblber-2.4.so.2.10.3 #usr/lib/liblber.so usr/lib/libldap-2.4.so.2 -usr/lib/libldap-2.4.so.2.10.2 +usr/lib/libldap-2.4.so.2.10.3 #usr/lib/libldap.so #usr/lib/libldap_r-2.4.so.2 -#usr/lib/libldap_r-2.4.so.2.10.2 +#usr/lib/libldap_r-2.4.so.2.10.3 #usr/lib/libldap_r.so -#usr/share/man/man1/ldapadd.1 -#usr/share/man/man1/ldapcompare.1 -#usr/share/man/man1/ldapdelete.1 -#usr/share/man/man1/ldapexop.1 -#usr/share/man/man1/ldapmodify.1 -#usr/share/man/man1/ldapmodrdn.1 -#usr/share/man/man1/ldappasswd.1 -#usr/share/man/man1/ldapsearch.1 -#usr/share/man/man1/ldapurl.1 -#usr/share/man/man1/ldapwhoami.1 -#usr/share/man/man3/ber_alloc_t.3 -#usr/share/man/man3/ber_bvarray_add.3 -#usr/share/man/man3/ber_bvarray_free.3 -#usr/share/man/man3/ber_bvdup.3 -#usr/share/man/man3/ber_bvecadd.3 -#usr/share/man/man3/ber_bvecfree.3 -#usr/share/man/man3/ber_bvfree.3 -#usr/share/man/man3/ber_bvstr.3 -#usr/share/man/man3/ber_bvstrdup.3 -#usr/share/man/man3/ber_dupbv.3 -#usr/share/man/man3/ber_first_element.3 -#usr/share/man/man3/ber_flush.3 -#usr/share/man/man3/ber_free.3 -#usr/share/man/man3/ber_get_bitstring.3 -#usr/share/man/man3/ber_get_boolean.3 -#usr/share/man/man3/ber_get_enum.3 -#usr/share/man/man3/ber_get_int.3 -#usr/share/man/man3/ber_get_next.3 -#usr/share/man/man3/ber_get_null.3 -#usr/share/man/man3/ber_get_stringa.3 -#usr/share/man/man3/ber_get_stringb.3 -#usr/share/man/man3/ber_next_element.3 -#usr/share/man/man3/ber_peek_tag.3 -#usr/share/man/man3/ber_printf.3 -#usr/share/man/man3/ber_put_enum.3 -#usr/share/man/man3/ber_put_int.3 -#usr/share/man/man3/ber_put_null.3 -#usr/share/man/man3/ber_put_ostring.3 -#usr/share/man/man3/ber_put_seq.3 -#usr/share/man/man3/ber_put_set.3 -#usr/share/man/man3/ber_put_string.3 -#usr/share/man/man3/ber_scanf.3 -#usr/share/man/man3/ber_skip_tag.3 -#usr/share/man/man3/ber_start_set.3 -#usr/share/man/man3/ber_str2bv.3 -#usr/share/man/man3/lber-decode.3 -#usr/share/man/man3/lber-encode.3 -#usr/share/man/man3/lber-memory.3 -#usr/share/man/man3/lber-sockbuf.3 -#usr/share/man/man3/lber-types.3 -#usr/share/man/man3/ld_errno.3 -#usr/share/man/man3/ldap.3 -#usr/share/man/man3/ldap_abandon.3 -#usr/share/man/man3/ldap_abandon_ext.3 -#usr/share/man/man3/ldap_add.3 -#usr/share/man/man3/ldap_add_ext.3 -#usr/share/man/man3/ldap_add_ext_s.3 -#usr/share/man/man3/ldap_add_s.3 -#usr/share/man/man3/ldap_attributetype2name.3 -#usr/share/man/man3/ldap_attributetype2str.3 -#usr/share/man/man3/ldap_attributetype_free.3 -#usr/share/man/man3/ldap_bind.3 -#usr/share/man/man3/ldap_bind_s.3 -#usr/share/man/man3/ldap_compare.3 -#usr/share/man/man3/ldap_compare_ext.3 -#usr/share/man/man3/ldap_compare_ext_s.3 -#usr/share/man/man3/ldap_compare_s.3 -#usr/share/man/man3/ldap_control_create.3 -#usr/share/man/man3/ldap_control_dup.3 -#usr/share/man/man3/ldap_control_find.3 -#usr/share/man/man3/ldap_control_free.3 -#usr/share/man/man3/ldap_controls.3 -#usr/share/man/man3/ldap_controls_dup.3 -#usr/share/man/man3/ldap_controls_free.3 -#usr/share/man/man3/ldap_count_entries.3 -#usr/share/man/man3/ldap_count_messages.3 -#usr/share/man/man3/ldap_count_references.3 -#usr/share/man/man3/ldap_count_values.3 -#usr/share/man/man3/ldap_count_values_len.3 -#usr/share/man/man3/ldap_dcedn2dn.3 -#usr/share/man/man3/ldap_delete.3 -#usr/share/man/man3/ldap_delete_ext.3 -#usr/share/man/man3/ldap_delete_ext_s.3 -#usr/share/man/man3/ldap_delete_s.3 -#usr/share/man/man3/ldap_destroy.3 -#usr/share/man/man3/ldap_dn2ad_canonical.3 -#usr/share/man/man3/ldap_dn2dcedn.3 -#usr/share/man/man3/ldap_dn2str.3 -#usr/share/man/man3/ldap_dn2ufn.3 -#usr/share/man/man3/ldap_dnfree.3 -#usr/share/man/man3/ldap_dup.3 -#usr/share/man/man3/ldap_err2string.3 -#usr/share/man/man3/ldap_errlist.3 -#usr/share/man/man3/ldap_error.3 -#usr/share/man/man3/ldap_explode_dn.3 -#usr/share/man/man3/ldap_explode_rdn.3 -#usr/share/man/man3/ldap_extended_operation.3 -#usr/share/man/man3/ldap_extended_operation_s.3 -#usr/share/man/man3/ldap_first_attribute.3 -#usr/share/man/man3/ldap_first_entry.3 -#usr/share/man/man3/ldap_first_message.3 -#usr/share/man/man3/ldap_first_reference.3 -#usr/share/man/man3/ldap_free_urldesc.3 -#usr/share/man/man3/ldap_get_dn.3 -#usr/share/man/man3/ldap_get_option.3 -#usr/share/man/man3/ldap_get_values.3 -#usr/share/man/man3/ldap_get_values_len.3 -#usr/share/man/man3/ldap_init.3 -#usr/share/man/man3/ldap_init_fd.3 -#usr/share/man/man3/ldap_initialize.3 -#usr/share/man/man3/ldap_install_tls.3 -#usr/share/man/man3/ldap_is_ldap_url.3 -#usr/share/man/man3/ldap_matchingrule2name.3 -#usr/share/man/man3/ldap_matchingrule2str.3 -#usr/share/man/man3/ldap_matchingrule_free.3 -#usr/share/man/man3/ldap_memalloc.3 -#usr/share/man/man3/ldap_memcalloc.3 -#usr/share/man/man3/ldap_memfree.3 -#usr/share/man/man3/ldap_memory.3 -#usr/share/man/man3/ldap_memrealloc.3 -#usr/share/man/man3/ldap_memvfree.3 -#usr/share/man/man3/ldap_modify.3 -#usr/share/man/man3/ldap_modify_ext.3 -#usr/share/man/man3/ldap_modify_ext_s.3 -#usr/share/man/man3/ldap_modify_s.3 -#usr/share/man/man3/ldap_modrdn.3 -#usr/share/man/man3/ldap_modrdn2.3 -#usr/share/man/man3/ldap_modrdn2_s.3 -#usr/share/man/man3/ldap_modrdn_s.3 -#usr/share/man/man3/ldap_mods_free.3 -#usr/share/man/man3/ldap_msgfree.3 -#usr/share/man/man3/ldap_msgid.3 -#usr/share/man/man3/ldap_msgtype.3 -#usr/share/man/man3/ldap_next_attribute.3 -#usr/share/man/man3/ldap_next_entry.3 -#usr/share/man/man3/ldap_next_message.3 -#usr/share/man/man3/ldap_next_reference.3 -#usr/share/man/man3/ldap_objectclass2name.3 -#usr/share/man/man3/ldap_objectclass2str.3 -#usr/share/man/man3/ldap_objectclass_free.3 -#usr/share/man/man3/ldap_open.3 -#usr/share/man/man3/ldap_parse_extended_result.3 -#usr/share/man/man3/ldap_parse_reference.3 -#usr/share/man/man3/ldap_parse_result.3 -#usr/share/man/man3/ldap_parse_sasl_bind_result.3 -#usr/share/man/man3/ldap_parse_sort_control.3 -#usr/share/man/man3/ldap_parse_vlv_control.3 -#usr/share/man/man3/ldap_perror.3 -#usr/share/man/man3/ldap_rename.3 -#usr/share/man/man3/ldap_rename_s.3 -#usr/share/man/man3/ldap_result.3 -#usr/share/man/man3/ldap_result2error.3 -#usr/share/man/man3/ldap_sasl_bind.3 -#usr/share/man/man3/ldap_sasl_bind_s.3 -#usr/share/man/man3/ldap_schema.3 -#usr/share/man/man3/ldap_scherr2str.3 -#usr/share/man/man3/ldap_search.3 -#usr/share/man/man3/ldap_search_ext.3 -#usr/share/man/man3/ldap_search_ext_s.3 -#usr/share/man/man3/ldap_search_s.3 -#usr/share/man/man3/ldap_search_st.3 -#usr/share/man/man3/ldap_set_option.3 -#usr/share/man/man3/ldap_set_rebind_proc.3 -#usr/share/man/man3/ldap_set_urllist_proc.3 -#usr/share/man/man3/ldap_simple_bind.3 -#usr/share/man/man3/ldap_simple_bind_s.3 -#usr/share/man/man3/ldap_sort.3 -#usr/share/man/man3/ldap_sort_entries.3 -#usr/share/man/man3/ldap_sort_strcasecmp.3 -#usr/share/man/man3/ldap_sort_values.3 -#usr/share/man/man3/ldap_start_tls.3 -#usr/share/man/man3/ldap_start_tls_s.3 -#usr/share/man/man3/ldap_str2attributetype.3 -#usr/share/man/man3/ldap_str2dn.3 -#usr/share/man/man3/ldap_str2matchingrule.3 -#usr/share/man/man3/ldap_str2objectclass.3 -#usr/share/man/man3/ldap_str2syntax.3 -#usr/share/man/man3/ldap_strdup.3 -#usr/share/man/man3/ldap_sync.3 -#usr/share/man/man3/ldap_syntax2name.3 -#usr/share/man/man3/ldap_syntax2str.3 -#usr/share/man/man3/ldap_syntax_free.3 -#usr/share/man/man3/ldap_tls.3 -#usr/share/man/man3/ldap_tls_inplace.3 -#usr/share/man/man3/ldap_unbind.3 -#usr/share/man/man3/ldap_unbind_ext.3 -#usr/share/man/man3/ldap_unbind_ext_s.3 -#usr/share/man/man3/ldap_unbind_s.3 -#usr/share/man/man3/ldap_url.3 -#usr/share/man/man3/ldap_url_parse.3 -#usr/share/man/man3/ldap_value_free.3 -#usr/share/man/man3/ldap_value_free_len.3 -#usr/share/man/man5/ldap.conf.5 -#usr/share/man/man5/ldif.5 -#usr/share/man/man5/slapd-bdb.5 -#usr/share/man/man5/slapd-config.5 -#usr/share/man/man5/slapd-dnssrv.5 -#usr/share/man/man5/slapd-hdb.5 -#usr/share/man/man5/slapd-ldap.5 -#usr/share/man/man5/slapd-ldbm.5 -#usr/share/man/man5/slapd-ldif.5 -#usr/share/man/man5/slapd-mdb.5 -#usr/share/man/man5/slapd-meta.5 -#usr/share/man/man5/slapd-monitor.5 -#usr/share/man/man5/slapd-ndb.5 -#usr/share/man/man5/slapd-null.5 -#usr/share/man/man5/slapd-passwd.5 -#usr/share/man/man5/slapd-perl.5 -#usr/share/man/man5/slapd-relay.5 -#usr/share/man/man5/slapd-shell.5 -#usr/share/man/man5/slapd-sock.5 -#usr/share/man/man5/slapd-sql.5 -#usr/share/man/man5/slapd.access.5 -#usr/share/man/man5/slapd.backends.5 -#usr/share/man/man5/slapd.conf.5 -#usr/share/man/man5/slapd.overlays.5 -#usr/share/man/man5/slapd.plugin.5 -#usr/share/man/man5/slapo-accesslog.5 -#usr/share/man/man5/slapo-auditlog.5 -#usr/share/man/man5/slapo-chain.5 -#usr/share/man/man5/slapo-collect.5 -#usr/share/man/man5/slapo-constraint.5 -#usr/share/man/man5/slapo-dds.5 -#usr/share/man/man5/slapo-dyngroup.5 -#usr/share/man/man5/slapo-dynlist.5 -#usr/share/man/man5/slapo-memberof.5 -#usr/share/man/man5/slapo-pbind.5 -#usr/share/man/man5/slapo-pcache.5 -#usr/share/man/man5/slapo-ppolicy.5 -#usr/share/man/man5/slapo-refint.5 -#usr/share/man/man5/slapo-retcode.5 -#usr/share/man/man5/slapo-rwm.5 -#usr/share/man/man5/slapo-sock.5 -#usr/share/man/man5/slapo-sssvlv.5 -#usr/share/man/man5/slapo-syncprov.5 -#usr/share/man/man5/slapo-translucent.5 -#usr/share/man/man5/slapo-unique.5 -#usr/share/man/man5/slapo-valsort.5 -#usr/share/man/man8/slapacl.8 -#usr/share/man/man8/slapadd.8 -#usr/share/man/man8/slapauth.8 -#usr/share/man/man8/slapcat.8 -#usr/share/man/man8/slapd.8 -#usr/share/man/man8/slapdn.8 -#usr/share/man/man8/slapindex.8 -#usr/share/man/man8/slappasswd.8 -#usr/share/man/man8/slapschema.8 -#usr/share/man/man8/slaptest.8 Index: ipcop/branches/toolchain/config/rootfiles/common/usb-modeswitch =================================================================== --- ipcop/branches/toolchain/config/rootfiles/common/usb-modeswitch 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/rootfiles/common/usb-modeswitch 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/rootfiles/common/usb-modeswitch ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/rootfiles/common/usb-modeswitch:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/config/ssl/openvpn.cnf =================================================================== --- ipcop/branches/toolchain/config/ssl/openvpn.cnf 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/config/ssl/openvpn.cnf 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/config/ssl/openvpn.cnf ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/config/ssl/openvpn.cnf:7773-7784 \ No newline at end of property Deleted: ipcop/branches/toolchain/doc/base.cgi =================================================================== --- ipcop/branches/toolchain/doc/base.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/doc/base.cgi 2015-01-08 08:55:13 UTC (rev 7799) @@ -1,599 +0,0 @@ -#!/usr/bin/perl -# -# IPCop CGI's - base.cgi -# -# This code is distributed under the terms of the GPL -# -# (c) place a name here -# -# $Id$ -# -# -# This file is a starting base for writting a new GUI screen using the three box model -# Box 1 : global settings with no repetition -# Box 2 : line editor for multiple data line -# Box 3 : the list of data line, with edit/remove buttons -# -# This example do the following -# Read global settings: -# a NAME and an interface (ITF) -# Lines of data composed of: -# an ipaddress (IP), an enabled/disabled options (CB), a comment (CO) -# -# It uses the multiline module for ALL config-data reading and writing -# Every GUI module must be converted to this behavior -# Addons should also use this model -# -# All you need to do is -# replace 'XY' with your app name -# define your global $settings{'var name'} -# define your strings translations -# write validation code for Settings1 and Settings2 -# complete box Settings1 and Settings2 with your fields -# adapt the sort function (numeric, IP, ....) -# write the configuration file for your app if needed -# -# -use strict; - -# to troubleshot your code, uncomment warnings and CGI::Carp 'fatalsToBrowser' -use warnings; -no warnings 'once'; # 'redefine', 'uninitialized'; -use CGI::Carp 'fatalsToBrowser'; - -# this may help to uncomment diagnostics, Carp and cluck lines but need some files added -# use diagnostics; # need to add the file /usr/lib/perl5/5.8.x/pods/perldiag.pod before to work -# next look at /var/log/httpd/error_log , http://www.perl.com/pub/a/2002/05/07/mod_perl.html may help -#use Carp (); -#local $SIG{__WARN__} = \&Carp::cluck; - -require '/usr/lib/ipcop/general-functions.pl'; -require '/usr/lib/ipcop/lang.pl'; -require '/usr/lib/ipcop/header.pl'; -require '/usr/lib/ipcop/multilines.pl'; - -# Files used -our $settingsfile = '/var/ipcop/XY/settings'; # global settings with no repetition -my $datafile = '/var/ipcop/XY/data'; # repeted settings (multilines) -our $configfile = '/var/ipcop/XY/XY.conf'; # Config file for application XY - -# for testing purpose of base code only, autoconfiguration the file -if (-w '/var/ipcop/XY') { - mkdir('/var/ipcop/XY'); - open(FILE, ">$settingsfile") or die "Unable to create $settingsfile\n"; - close(FILE); - open(FILE, ">$datafile") or die "Unable to create $datafile\n"; - close(FILE); - open(FILE, ">$configfile") or die "Unable to create $configfile\n"; - close(FILE); -} - -# strings to add to languages databases or in addon language file -# this is not efficient to require different text with same translation like 'add data', 'edit data' -$Lang::tr{'XY title'} = 'XY service'; -$Lang::tr{'XY settings'} = 'XY setup'; -$Lang::tr{'XY add data'} = 'add data'; -$Lang::tr{'XY edit data'} = 'edit data'; -$Lang::tr{'XY data'} = 'XY data'; - -# information & log strings, no translation required -my $msg_added = 'XY added'; -my $msg_modified = 'XY modified'; -my $msg_deleted = 'XY removed'; -my $msg_datafileerror = 'XY data file error'; -our $msg_configfileerror = 'XY configuration file error'; - -my %settings = (); - -# Global settings -$settings{'NAME'} = ''; # a text field whose content will be checked to be 'foo' or 'bar' later -$settings{'ITF'} = ''; # an option field to select color interface -$settings{'TURBO'} = 'off'; # a checkbox field to enable something - -# Repeted settings for editing the multi-line list -# Must not be saved by writehash ! -$settings{'IP'} = ''; # datalines are: IPaddress,enable,comment -$settings{'CB'} = 'off'; # Every check box must be set to off -$settings{'COMMENT'} = ''; -my @nosaved = ('IP', 'CB', 'COMMENT'); # List here ALL repeted fields. Mandatory - -$settings{'ACTION'} = ''; # add/edit/remove.... -$settings{'KEY1'} = ''; # point record for ACTION - -# Define each field that can be used to sort columns -# as well as a visual indicators variable for each. -my $sortstring = '^IP|^COMMENT'; -our $sort_IP = ''; -our $sort_COMMENT = ''; - -# Error handling -my $errormessage = ''; -my $warnmessage = ''; - -&Header::showhttpheaders(); - -# Read needed Ipcop settings (exemple) -my %mainsettings = (); -&General::readhash('/var/ipcop/main/settings', \%mainsettings); - -# Get GUI values -&Header::getcgihash(\%settings); - -# Load multiline data. Do it before use in save action -our $f = new Multilines( - filename => $datafile, - fields => [ 'IP', 'CB', 'COMMENT' ], - comment => 1, - debug => 1, - debugtag => 'App XY', -); - -## -## SAVE global settings -## -# Remove if no global settings are needed -if ($settings{'ACTION'} eq $Lang::tr{'save'}) { - - #Validate each fields - if (($settings{"NAME"} ne "foo") && ($settings{"NAME"} ne "bar")) { - $errormessage = 'Enter foo or bar in Name field'; - } - - #if (validip - - unless ($errormessage) { # Everything is ok, save settings - map (delete($settings{$_}), (@nosaved, 'ACTION', 'KEY1')); # Must never be saved - &General::writehash($settingsfile, \%settings); # Save settings - $settings{'ACTION'} = $Lang::tr{'save'}; # Recreate 'ACTION' - map ($settings{$_} = '', (@nosaved, 'KEY1')); # and reinit var to empty - - # Rebuild configuration file if needed - &BuildConfiguration; - } - -ERROR: # Leave the faulty field untouched -} -else { - &General::readhash($settingsfile, \%settings); # Get saved settings in case we not just write them -} - -## Now manipulate the multiline list with Settings2 -# Basic actions are: -# toggle the check box -# add/update a new line -# begin editing a line -# remove a line -# $KEY1 contains the index of the line manipulated - -## Toggle CB field. -if ($settings{'ACTION'} eq $Lang::tr{'toggle enable disable'}) { - $f->togglebyfields($settings{'KEY1'}, 'CB'); # toggle checkbox - $settings{'KEY1'} = ''; # End edit mode - &General::log($msg_modified); - - # save changes - $f->savedata || die "$msg_datafileerror"; - - # Rebuild configuration file - &BuildConfiguration; -} - -## -## ADD/UPDATE a line of configuration from Settings2 -if ($settings{'ACTION'} eq $Lang::tr{'add'}) { - - # Validate inputs - if (!&General::validip($settings{'IP'})) { $errormessage = "Specify an IP value !" } - if (!$settings{'COMMENT'}) { $warnmessage = "no comment specified" } - - unless ($errormessage) { - if ($settings{'KEY1'} eq '') { #add or edit ? - # insert new data line - $f->writeline(-1, $settings{'IP'}, $settings{'CB'}, $settings{'COMMENT'}); - &General::log($msg_added); - } - else { - - # modify data line - $f->writedata($settings{'KEY1'}, $settings{'IP'}, $settings{'CB'}, $settings{'COMMENT'}); - $settings{'KEY1'} = ''; # End edit mode - &General::log($msg_modified); - } - - # save changes - $f->savedata || die "$msg_datafileerror"; - - # Rebuild configuration file - &BuildConfiguration; - - # if entering data line is a repetitive task, choose here to not erase fields between each addition - map ($settings{$_} = '', @nosaved); - } -} - -## begin EDIT: move data fields to Settings2 controls -if ($settings{'ACTION'} eq $Lang::tr{'edit'}) { - $f->readline($settings{'KEY1'}, $settings{'IP'}, $settings{'CB'}, $settings{'COMMENT'}); -} -## REMOVE: remove selected line -if ($settings{'ACTION'} eq $Lang::tr{'remove'}) { - $f->deleteline($settings{'KEY1'}); - $settings{'KEY1'} = ''; # End remove mode - &General::log($msg_deleted); - - # save changes - $f->savedata || die "$msg_datafileerror"; - - # Rebuild configuration file - &BuildConfiguration; -} - -## Check if sorting is asked -if ($ENV{'QUERY_STRING'} =~ /$sortstring/) { - my $newsort = $ENV{'QUERY_STRING'}; - my $actual = $settings{'SORT_XY'}; - - # Reverse actual sort or choose new column ? - if ($actual =~ $newsort) { - $f->setsortorder($newsort, rindex($actual, '_Rev')); - $newsort .= rindex($actual, '_Rev') == -1 ? '_Rev' : ''; - } - else { - $f->setsortorder($newsort, 1); - } - $f->savedata; # Synchronise file & display - $settings{'SORT_XY'} = $newsort; - map (delete($settings{$_}), (@nosaved, 'ACTION', 'KEY1')); # Must never be saved - &General::writehash($settingsfile, \%settings); - $settings{'ACTION'} = 'SORT'; # Recreate an 'ACTION' - map ($settings{$_} = '', (@nosaved,, 'KEY1')); # and reinit var to empty -} - -# Evaluate the visual sort indicator. Only one variable can contain an 'arrow'! All others are blank. -{ - my $arrow = $Header::sortup; - my $sortfield = 'sort_' . $settings{'SORT_XY'}; - if (rindex($sortfield, '_Rev') != -1) { - $arrow = $Header::sortdn; - $sortfield =~ s/_Rev//; # cleanup the variable name - } - no strict; # next line evaluate as the variable name - ${$sortfield} = $arrow; # then assign it the sortup or sortdn symbol -} - -&Header::openpage($Lang::tr{'XY title'}, 1, ''); -### Remove if no Settings1 needed -&Header::openbigbox('100%', 'left', '', $errormessage); -if ($settings{'ACTION'} eq '') { # First launch from GUI - # Place here default value when nothing is initialized - -} -my %checked = (); # Checkbox manipulations - -if ($errormessage) { - &Header::openbox('100%', 'left', "$Lang::tr{'error messages'}:"); - print "<font class='base'>$errormessage </font>"; - &Header::closebox(); -} - -## Change with 1.4: it is bad method to code interface names/properties inside the cgis. Another layer -## must be inserted! I have no idea on what it could be, so I use multilines to build a list of -## interfaces with properties. You can also use a simple thing like -## @ITFS =('RED','ORANGE','BLUE','GREEN') with a foreach loop; -## -my $ITFS = &buildipcopinterface; - -## First box Settings1. Remove if not needed -$warnmessage = "<font color=${Header::colourred}><b>$Lang::tr{'capswarning'}</b></font>: $warnmessage" - if ($warnmessage); - -&Header::openbox('100%', 'left', $Lang::tr{'XY settings'}); -print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>"; - -$checked{'TURBO'} = ($settings{'TURBO'} eq 'on') ? "checked='checked'" : ''; - -print <<END -<table width='100%'> -<tr> - <td class='base'>Name:</td> - <td><input type='text' name='NAME' value='$settings{'NAME'}' /></td> - <td align='right'>Turbo:<input type='checkbox' name='TURBO' $checked{'TURBO'} /></td> - <td align='right'>INTERFACE</td> - <td>empty</td> -</tr> -END - ; - -# The bad method to remove: -# $checked{'ITF'}{'RED'} = ''; -# $checked{'ITF'}{'GREEN'} = ''; -# $checked{'ITF'}{'ORANGE'} = ''; -# $checked{'ITF'}{'BLUE'} = ''; - -# Create a radiobutton for each interface -$ITFS->readreset; -while (my ($DEV) = $ITFS->readbyfieldsseq('DEVICE')) { - $checked{'ITF'}{$DEV} = $settings{'ITF'} eq $DEV ? "checked='checked'" : ''; - print -"<tr><td colspan='5'></td><td><input type='radio' name='ITF' value='$DEV' $checked{'ITF'}{$DEV} />$DEV</td></tr>"; -} -print "</table><br />"; - -print <<END -<table width='100%'> -<hr /> -<tr> - <td class='base' width='25%'><img src='/blob.gif' align='top' alt='*' /> $Lang::tr{'this field may be blank'}</td> - <td class='base' width='25%'>$warnmessage</td> - <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'save'}' /></td> -</tr> -</table> -</form> -END - ; -&Header::closebox(); # end of Settings1 -### -### End Of Remove if no Settings1 needed - -## Second box is for editing an item of the list -$checked{'CB'} = ($settings{'CB'} eq 'on') ? "checked='checked'" : ''; - -my $buttontext = $Lang::tr{'add'}; -if ($settings{'KEY1'} ne '') { - $buttontext = $Lang::tr{'update'}; - &Header::openbox('100%', 'left', $Lang::tr{'XY edit data'}); -} -else { - &Header::openbox('100%', 'left', $Lang::tr{'XY add data'}); -} - -# 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{'ip address'}:</td> - <td><input type='text' name='IP' value='$settings{'IP'}' /></td> - <td class='base'>$Lang::tr{'enabled'}:</td> - <td><input type='checkbox' name='CB' $checked{'CB'} /></td> - <td class='base'>$Lang::tr{'remark'}: <img src='/blob.gif' alt='*' /></td> - <td><input type 'text' name='COMMENT' value='$settings{'COMMENT'}' /></td> -</tr> -</table> -<hr /> -<table width='100%'> -<tr> - <td class='base' width='50%'><img src='/blob.gif' align='top' alt='*' /> $Lang::tr{'this field may be blank'}</td> - <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(); - -## -## Third box shows the list -## - -# Columns headers may be a sort link. In this case it must be named in $sortstring (don't forget visual sort indicator) -&Header::openbox('100%', 'left', $Lang::tr{'XY data'}); -print <<END -<table width='100%'> -<tr> - <th width='20%' align='center'><a href='$ENV{'SCRIPT_NAME'}?IP'><b>$Lang::tr{'ip address'}</b></a>$sort_IP</th> - <th width='70%' align='center'><a href='$ENV{'SCRIPT_NAME'}?COMMENT'><b>$Lang::tr{'remark'}</b></a>$sort_COMMENT</th> - <th width='10%' colspan='3' class='boldbase' align='center'><b>$Lang::tr{'action'}</b></th> -</tr> -END - ; - -## Print each line of @current list -my $key = 0; -$f->readreset; # beginning of data -for ($key = 0; $key < $f->getlinecount; $key++) { - my ($cb, $comment, $ip) = $f->readbyfields($key, 'CB', 'COMMENT', 'IP'); - - #Choose icon for checkbox - my $gif = ''; - my $gdesc = ''; - if ($cb eq "on") { - $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 class='selectcolour'>"; - } - else { - print "<tr class='table".int(($key % 2) + 1)."colour'>"; - } - print <<END - <td align='center'>$ip</td> - <td align='center'>$comment</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 - ; -} -print "</table>"; - -# If table contains entries, print 'Key to action icons' -if ($key) { - print <<END -<table> -<tr> - <td class='boldbase'> <b>$Lang::tr{'legend'}: </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> </td> - <td><img src='/images/off.gif' alt='$Lang::tr{'click to enable'}' /></td> - <td class='base'>$Lang::tr{'click to enable'}</td> - <td> </td> - <td><img src='/images/edit.gif' alt='$Lang::tr{'edit'}' /></td> - <td class='base'>$Lang::tr{'edit'}</td> - <td> </td> - <td><img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td> - <td class='base'>$Lang::tr{'remove'}</td> -</tr> -</table> -END - ; -} - -&Header::closebox(); -&example(); -&Header::closebigbox(); -&Header::closepage(); - -## Build the configuration file for application XY -## -sub BuildConfiguration { - open(FILE, ">/$configfile") or die "$msg_configfileerror\n"; - flock(FILE, 2); - - #Global settings - print FILE "#\n# Configuration file for application XY\n#\n\n"; - print FILE "# do not edit manually\n"; - print FILE "# build for Ipcop:$mainsettings{'HOSTNAME'}\n\n\n"; - print FILE "service=$settings{'NAME'}\n"; - print FILE "activate-turbo\n" if $settings{'TURBO'} eq 'on'; - print FILE "interface=$settings{'ITF'}\n\n\n"; - - #write data line - { - my ($IP, $CB, $COMMENT); - $f->readreset; - while (defined($f->readlineseq($IP, $CB, $COMMENT))) { - if ($CB eq "on") { - print FILE "$IP\t\t\t\t\t#$COMMENT\n"; - } - else { - print FILE "#DISABLED $IP\t\t\t\t#$COMMENT\n"; - } - } - } - close FILE; - - # Restart service - #if (system '/usr/local/bin/restartyourhelper') { - $errormessage = 'failure to...'; -} - -# -# Build a fake database representing some IPcop interfaces. -sub buildipcopinterface { - my $itfs = new Multilines( - filename => '', # in memory only - fields => [ 'ACTIVE', 'NAME', 'DEVICE', 'CLASSCOLOR', 'IP', 'DHCPSERVER', 'TIMESERVER', 'COMMENT' ], - comment => 1, - debug => 1, - debugtag => 'ITFS' - ); - - # Illustrate two ways for populating the data - - # Add a line at end (-1) with all fields specified - $itfs->writeline(-1, 'on', 'Internet', 'eth0', 'RED', '134.0.0.1', 0, 0, 'Connect to internet'); - $itfs->writeline(-1, 'on', 'Internet2', 'eth1', 'RED', '0.0.0.0', 0, 0, 'Backup to internet'); - - # Add by field names - $itfs->writebyfields( - -1, #insert at end - 'ACTIVE' => 'off', - 'DEVICE' => 'eth0:0', - 'CLASSCOLOR' => 'ORANGE', - 'IP' => '', - 'DHCPSERVER' => 0, - 'TIMESERVER' => 0, - 'NAME' => 'DMZ-0', - 'COMMENT', => 'share same device as Internet' - ); - $itfs->writebyfields( - -1, #insert at end - 'ACTIVE' => 'on', - 'DEVICE' => 'eth2', - 'CLASSCOLOR' => 'GREEN', - 'IP' => '10.0.0.100/16', - 'DHCPSERVER' => 1, - 'TIMESERVER' => 1, - 'NAME' => 'Green1', - 'COMMENT', => 'The secretary pool of green machine ' - ); - - $itfs->writebyfields( - -1, #insert at end - 'ACTIVE' => 'on', - 'DEVICE' => 'eth3', - 'CLASSCOLOR' => 'GREEN', - 'IP' => '10.1.0.100/16', - 'DHCPSERVER' => 1, - 'TIMESERVER' => 1, - 'NAME' => 'Green2', - 'COMMENT', => 'The factory pool of green machine ' - ); - $itfs->writebyfields( - -1, #insert at end - 'ACTIVE' => 'on', - 'DEVICE' => 'eth4', - 'CLASSCOLOR' => 'BLUE', - 'IP' => '10.2.0.100/16;10.2.0.10', - 'DHCPSERVER' => 0, - 'TIMESERVER' => 1, - 'NAME' => 'Wifi', - 'COMMENT', => 'Roadwarriors' - ); - return $itfs; -} - -sub example() { - &Header::openbox('100%', 'left', 'Interface summary'); - $ITFS->readreset; - while (my ($DEV, $ACTIVE, $CLASSCOLOR, $IP, $DH, $TI, $NAME, $COMMENT) = - $ITFS->readbyfieldsseq('DEVICE', 'ACTIVE', 'CLASSCOLOR', 'IP', 'DHCPSERVER', 'TIMESERVER', 'NAME', 'COMMENT')) - { - print "<p>"; - print "$NAME ($COMMENT) "; - if ($ACTIVE eq 'on') { - print "have ip:$IP and is class $CLASSCOLOR "; - print "is dhcp server " if ($DH); - print "is time server " if ($TI); - } - else { - print " is disabled"; - } - print "</p>"; - } - &Header::closebox(); -} - -1 Copied: ipcop/branches/toolchain/doc/template.cgi (from rev 7795, ipcop/trunk/doc/template.cgi) =================================================================== --- ipcop/branches/toolchain/doc/template.cgi (rev 0) +++ ipcop/branches/toolchain/doc/template.cgi 2015-01-08 08:55:13 UTC (rev 7799) @@ -0,0 +1,85 @@ +#!/usr/bin/perl +# +# This file is part of the IPCop Firewall. +# +# IPCop is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# IPCop is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with IPCop. If not, see <http://www.gnu.org/licenses/>. +# +# (c) place a name here +# +# $Id$ +# +# TODO: explanation of how this stuff works +# +# Notes: +# ====== +# Run updatemenu.pl on IPCop to rebuild the menu after GUI modifications. +# Make sure the .CGI file has proper mode and owner +# chown root.root /home/httpd/cgi-bin/base.cgi +# chmod 755 /home/httpd/cgi-bin/base.cgi +# Look at /var/log/httpd/error_log for troubleshoothing + + +# Add entry in menu +# MENUENTRY services 001 "GUI page" "great stuff" +# +# Make sure translation exists $Lang::tr{'GUI page'} $Lang::tr{'great stuff'} + +use strict; + +# to troubleshoot your code, uncomment use warnings and CGI::Carp 'fatalsToBrowser' +#use warnings; +no warnings 'once'; +#use CGI::Carp 'fatalsToBrowser'; + +require '/usr/lib/ipcop/general-functions.pl'; +require '/usr/lib/ipcop/lang.pl'; +require '/usr/lib/ipcop/header.pl'; + +# Language texts. This should be handled differently. +# TODO: further explanation +$Lang::tr{'GUI page'} = 'GUI page'; +$Lang::tr{'great stuff'} = 'great stuff'; + +my %settings = (); + +# Global settings +$settings{'NAME'} = ''; # a text field whose content will be checked to be 'foo' or 'bar' later +$settings{'ITF'} = ''; # an option field to select color interface +$settings{'TURBO'} = 'off'; # a checkbox field to enable something + +# Error handling +my $errormessage = ''; +my $warnmessage = ''; + +&Header::showhttpheaders(); + +# Read needed IPCop settings (example) +my %mainsettings = (); +&General::readhash('/var/ipcop/main/settings', \%mainsettings); + +# Get GUI values +&General::getcgihash(\%settings); + +&Header::openpage($Lang::tr{'GUI page'}, 1, ''); +&Header::openbigbox('100%', 'left', ''); +my %checked = (); + +if ($errormessage) { + &Header::openbox('100%', 'left', "$Lang::tr{'error messages'}:", 'error'); + print "<font class='base'>$errormessage </font>"; + &Header::closebox(); +} + +&Header::closebigbox(); +&Header::closepage(); Index: ipcop/branches/toolchain/html/cgi-bin/logconfig.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/logconfig.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/logconfig.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/logconfig.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/logconfig.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/cgi-bin/logfirewall.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/logfirewall.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/logfirewall.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/logfirewall.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/logfirewall.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/cgi-bin/logproxy.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/logproxy.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/logproxy.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/logproxy.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/logproxy.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/cgi-bin/logsummary.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/logsummary.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/logsummary.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/logsummary.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/logsummary.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/cgi-bin/logsystem.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/logsystem.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/logsystem.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/logsystem.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/logsystem.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/cgi-bin/openvpn.cgi =================================================================== --- ipcop/branches/toolchain/html/cgi-bin/openvpn.cgi 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/cgi-bin/openvpn.cgi 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/cgi-bin/openvpn.cgi ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/cgi-bin/openvpn.cgi:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/html/html/images/openvpnzip.gif =================================================================== --- ipcop/branches/toolchain/html/html/images/openvpnzip.gif 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/html/html/images/openvpnzip.gif 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/html/html/images/openvpnzip.gif ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/html/html/images/openvpnzip.gif:7773-7784 \ No newline at end of property Index: ipcop/branches/toolchain/lfs/check_files =================================================================== --- ipcop/branches/toolchain/lfs/check_files 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/check_files 2015-01-08 08:55:13 UTC (rev 7799) Property changes on: ipcop/branches/toolchain/lfs/check_files ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/lfs/check_files:7773-7784 \ No newline at end of property Modified: ipcop/branches/toolchain/lfs/glibc =================================================================== --- ipcop/branches/toolchain/lfs/glibc 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/glibc 2015-01-08 08:55:13 UTC (rev 7799) @@ -108,6 +108,8 @@ @$(PREBUILD) @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build @cd $(DIR_SRC) && xz -dc $(DIR_DL)/$(DL_FILE) | tar xf - + # Patch configure so glibc can be compiled with make 4.1 (and newer) + cd $(DIR_APP) && patch -p1 -i $(DIR_PATCHES)/glibc-2.11.3_make-version.patch # Toolchain and final glibc need to share exact same code, or random error/segfault may occure. # This happen particulary as toolchain tcl for now is used to test final packages. # If glibc code is patched, bumping toolchain number may be required. Modified: ipcop/branches/toolchain/lfs/groff =================================================================== --- ipcop/branches/toolchain/lfs/groff 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/groff 2015-01-08 08:55:13 UTC (rev 7799) @@ -33,7 +33,7 @@ include Config PKG_NAME = groff -VER = 1.22.2 +VER = 1.22.3 HOST_ARCH = all OTHER_SRC = yes @@ -51,7 +51,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 9f4cd592a5efc7e36481d8d8d8af6d16 +$(DL_FILE)_MD5 = cc825fa64bc7306a885f2fb2268d3ec5 install : $(TARGET) @@ -83,7 +83,7 @@ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && PAGE=letter ./configure --prefix=/usr --docdir=/usr/share/doc/groff - cd $(DIR_APP) && make -j $(PARALLELISM) + cd $(DIR_APP) && make cd $(DIR_APP) && make install # and remove examples to make the list shorter rm -rf /usr/share/doc/groff/examples Modified: ipcop/branches/toolchain/lfs/make =================================================================== --- ipcop/branches/toolchain/lfs/make 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/make 2015-01-08 08:55:13 UTC (rev 7799) @@ -33,7 +33,7 @@ include Config PKG_NAME = make -VER = 3.82 +VER = 4.1 HOST_ARCH = all OTHER_SRC = yes @@ -43,19 +43,15 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP) -PATCH1 := $(THISAPP)-upstream_fixes-3.patch - ############################################################################### # Top-level Rules ############################################################################### -objects = $(DL_FILE) $(PATCH1) +objects = $(DL_FILE) -$(DL_FILE) := $(DL_FROM)/$(DL_FILE) -$(PATCH1) := $(URL_LFS)/$(PKG_NAME)/$(PATCH1) +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 := 1a11100f3c63fcf5753818e59d63088f -$(PATCH1)_MD5 := 95027ab5b53d01699845d9b7e1dc878d +$(DL_FILE)_MD5 = 57a7a224a822f94789a587ccbcedff69 install : $(TARGET) @@ -85,11 +81,10 @@ $(TARGET) : $(firstword $(MAKEFILE_LIST)) $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -p1 -i $(DIR_DL)/$(PATCH1) ifeq "$(STAGE)" "toolchain" # use --disable-nls just to be smaller - cd $(DIR_APP) && ./configure --prefix=/$(TOOLS_DIR) --disable-nls + cd $(DIR_APP) && ./configure --prefix=/$(TOOLS_DIR) --disable-nls --without-guile cd $(DIR_APP) && make -j $(PARALLELISM) cd $(DIR_APP) && make install-exec endif Modified: ipcop/branches/toolchain/lfs/tar =================================================================== --- ipcop/branches/toolchain/lfs/tar 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/tar 2015-01-08 08:55:13 UTC (rev 7799) @@ -33,7 +33,7 @@ include Config PKG_NAME = tar -VER = 1.27.1 +VER = 1.28 HOST_ARCH = all OTHER_SRC = yes @@ -53,7 +53,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = e0382a4064e09a4943f3adeff1435978 +$(DL_FILE)_MD5 = 49b6306167724fe48f419a33a5beb857 install : $(TARGET) Modified: ipcop/branches/toolchain/lfs/usb-modeswitch =================================================================== --- ipcop/branches/toolchain/lfs/usb-modeswitch 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/usb-modeswitch 2015-01-08 08:55:13 UTC (rev 7799) @@ -33,7 +33,7 @@ include Config PKG_NAME = usb-modeswitch -VER = 2.1.1 +VER = 2.2.0 HOST_ARCH = all OTHER_SRC = yes @@ -52,7 +52,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 1f0dc900df88254bd1102444cb73efbc +$(DL_FILE)_MD5 = f323fe700edd6ea404c40934ddf32b22 install : $(TARGET) Property changes on: ipcop/branches/toolchain/lfs/usb-modeswitch ___________________________________________________________________ Deleted: svn:mergeinfo ## -1 +0,0 ## -/ipcop/trunk/lfs/usb-modeswitch:7773-7784 \ No newline at end of property Modified: ipcop/branches/toolchain/lfs/usb-modeswitch-data =================================================================== --- ipcop/branches/toolchain/lfs/usb-modeswitch-data 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/lfs/usb-modeswitch-data 2015-01-08 08:55:13 UTC (rev 7799) @@ -33,7 +33,7 @@ include Config PKG_NAME = usb-modeswitch-data -VER = 20140327 +VER = 20140529 HOST_ARCH = all OTHER_SRC = yes @@ -51,7 +51,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = bbbc0a8e6a98bde2c6e119b3826658fb +$(DL_FILE)_MD5 = dff94177781298aaf0b3c2a3c3dea6b2 install : $(TARGET) Deleted: ipcop/branches/toolchain/src/libs/multilines.pl =================================================================== --- ipcop/branches/toolchain/src/libs/multilines.pl 2015-01-08 08:47:33 UTC (rev 7798) +++ ipcop/branches/toolchain/src/libs/multilines.pl 2015-01-08 08:55:13 UTC (rev 7799) @@ -1,795 +0,0 @@ -#!/usr/bin/perl -# -# This file is part of the IPCop Firewall. -# -# IPCop is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# IPCop is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with IPCop; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Copyright (C) 2005-10-25 Franck Bourdonnec -# -# $Id$ -# -# -package Multilines; -use strict; - -# -# PURPOSE: manipulation of repetitive config lines -# -# +----start of text file-- -# | x,y,z -# | a,b,c -# +----end of text file -- -# -# This example file contains two lines, three fields in each line, comma separated. -# - -# -# log ("tag","message") -# -sub log ($,$) -{ - my $tag = shift; - $_ = shift; - $_ =~ /([\w\W]*)/; - system('logger', '-t', $tag, $1); -} - -# -# create the object -# -# parameters are passed in a hash form, eg 'var'=>'value'; -# my $L = new multines( -# filename=>'the data file' needed! -# fields=>\@list, by ref, contains a list a fields name, optional -# debug=>0, set to 1 to print some debug message -# debugtag=>'config', use a tag for debug message -# separator=>',' default to ',' but can be tab or a any string -# autosave=>'0' issue a savedata() after each edition of a line. -# sort=>'' specify a field name to sort on when reading -# sortrev='1' set to >0 up, <0 down -# comment='0' set to 1 add description of the file -# commenttext='' optional text added -# commentchar='#' line beginning with this are ignored -# -# -sub new($) -{ - my $type = shift; # (object programming) - my $this = {}; # create the object in a hash (classic) - bless $this, $type; # 'tag' the object - - my %p = @_; # store remaining params in a hash; - $this->{_filename} = $p{filename} || ''; - $this->{_fields} = $p{fields}; - $this->{_debug} = $p{debug} || 0; - $this->{_debugtag} = $p{debugtag} || 'config'; - - if ($this->{_debug}) { - &log($this->{_debugtag}, "Data file: $this->{_filename}"); - $this->listfields; - } - - # init other values - $this->{_sep} = $p{separator} || ','; - $this->{_autosave} = $p{autosave} || '0'; - $this->{_modified} = 0; # true when modified - $this->{_toggle} = $p{toggle} || 'off,on'; # default value for boolean fields - $this->{_sort} = $p{sort} || ''; # a sort field when reading lines - $this->{_sortrev} = $p{sortrev} || '1'; # a sort field when reading lines - $this->{_sorted} = 0; # not sorted - $this->{_comment} = $p{comment} || '0'; - $this->{_commenttext} = $p{commenttext} || ''; - $this->{_commentchar} = defined $p{commentchar} ? $p{commentchar} : '#'; - my @lines = (); # the line are here - $this->{_lines} = \@lines; # ref to @lines - #load the file - $this->readfile; - $this->readreset; - return $this; # return the object -} - -# -# Add lines from a file. This can be used to collect lines from multiple source. Remenber -# that it results only in a one file when saving -# -# Optional param: filemane to load -# -sub readfile($) -{ - my $this = shift; - my $fn = shift || $this->{_filename}; - return if (!$fn); - - #read in the file if present - if (!open(FILE, $fn)) { - &log($this->{_debugtag}, "File not found:$fn ") if ($this->{_debug}); - } - else { - my @lines = <FILE>; # read in data - close(FILE); - - # remove end of line character - chomp(@lines); - - # remove commented lines - if ($this->{_commentchar} ne '') { - for (my $y = @lines - 1; $y >= 0; $y--) { - splice(@lines, $y, 1) if ($lines[$y] =~ /^[ \t]*$this->{_commentchar}/); - } - } - @{$this->{_lines}} = (@{$this->{_lines}}, @lines); # add new lines to existing list - if ($this->{_debug}) { - &log($this->{_debugtag}, "Read " . @lines . " more lines"); - $this->listlines; # I know this lists all lines, not only added lines! - } - $this->{_sorted} = 0; - } -} - -# -# Used in conjunction with readdataseq/readbyfieldsseq. Position read pointer to first line. -sub readreset($) -{ - my $this = shift; - $this->{_index} = 0; # for sequential read/loop - $this->sortdata; -} - -# -# Get/Set index line used by readdataseq -sub index() -{ - my ($this, $v) = @_; - $this->{_index} = $v if ((@_ > 1) && ($v < @{$this->{_lines}}) && ($v >= 0)); - return $this->{_index}; # for sequential read/loop -} - -# -# Return the number of lines in the list -sub getlinecount($) -{ - my $this = shift; - return scalar(@{$this->{_lines}}); -} - -# -# setsortorder -# -# Params: fieldname, [rev] -sub setsortorder -{ - my $this = shift; - $this->{_sort} = shift || ''; - $this->{_sortrev} = shift || 1; - $this->{_sorted} = 0; - $this->{_modified} = 1; #not really but keep in sync memory represention and real file - $this->readreset; -} - -# -# deletefields (fieldname,...); -# Use this to delete an entire column of data -# -sub deletefields($) -{ - my $this = shift; - if (scalar(@_) > 1) { # a least one field! - foreach my $col (@_) { - my $f_index = 0; # locate fields index first - foreach my $f (@{$this->{_fields}}) { - last if ($col eq $f); - $f_index++; - } - if ($f_index == @{$this->{_fields}}) { - &log($this->{_debugtag}, "Unknown field $col in deletefields.") if ($this->{_debug}); - } - else { - - #delete - splice(@{$this->{_fields}}, $f_index, 1); # kill field name - if ($col eq $this->{_sort}) { # no more a sort field - $this->{_sort} = ''; - $this->{_sortrev} = 1; - $this->{_sorted} = 0; - } - - # delete field data in each lines - for (my $line = 0; $line < @{$this->{_lines}}; $line++) { - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - splice(@fields, $f_index, 1); # kill field - $this->{_lines}->[$line] = join($this->{_sep}, @fields); - } - $this->{_modified} = 1; # modified - } - $this->savedata() if ($this->{_autosave}); - } - return 1; #why 1 what does it mean, we should standardize to 0=success everything else is error or special - } - return 0; -} - -# -# get a line of data. Each field of the line fills the passed parameters in sequence. -# return the index of the line read -# return undef when last line is read -# $L->readreset; -# while ( defined( $z=$L->readlineseq($x,$y) ) ) { -# print "ligne $z contains $x, $y\n"; -# }; -# -# Calling 'new' or 'readreset' moves read pointer to first line. -# This sub is for sequential access -# -sub readlineseq($) -{ - my $this = shift; - if ($this->{_index} < @{$this->{_lines}}) { # end of table reached ? - #split line in separate field, then copy each field into passed parameters - my @fields = split($this->{_sep}, $this->{_lines}->[ $this->{_index} ]); - for my $index (0 .. scalar(@_)) { #how many variable passed to readdata? - @_[$index] = ($index < scalar(@fields)) ? $fields[$index] : undef; - } - return $this->{_index}++; # return index of the line - } - else { - - # $this->readreset; # prepare next loop - return undef; # nothing more to read - } -} - -# -# Read a line -# readline(index,arglist...); -# fields values are returned in passed args -# Returns 1 when success -# we should standardize to 0=success 1 or greater=failure -# -sub readline($) -{ - my $this = shift; - if (scalar(@_) > 0) { - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= 0)) { - - # valid line requested ? - #split line in separate field, then copy each field into passed parameters - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - for my $index (0 .. scalar(@_)) { - - #how many variable passed to readdata? - @_[$index] = ($index < scalar(@fields)) ? $fields[$index] : undef; - } - return 1; # we should standardize to 0=success everything else is error or special - } - } - return 0; -} - -# -# Write a full line a data. -# writeline (index, argslist...); -# index: select the line to be modified. index 0 points first line. -# if index is -1, then insert a new line a data a end of list. -# return 1 if successfull. -# arglists: -# pass any data here. They fill fields sequentially. -# -# return 0 if index is outbound. -# we should standardize to 0=success everything else is error or special -sub writeline -{ - my $this = shift; - if (scalar(@_) > 1) { # a least a field and the line index needed! - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= -1)) { - - # valid line requested ? - $line = @{$this->{_lines}} if ($line == -1); # if -1 then insert a new line - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - - #copy each field from passed parameters - for my $index (0 .. scalar(@_) - 1) { - - # how many variable passed to writeline? - $fields[$index] = @_[$index]; - } - $this->{_modified} = 1; # modified (optimize:if values doestn't change=>0) - $this->{_sorted} = 0; # not sorted - $this->{_lines}->[$line] = join($this->{_sep}, @fields); - $this->savedata() if ($this->{_autosave}); - return 1; - } - } - return 0; -} - -# -# Insert a full line a data. -# insertline (index, argslist...); -# index: position of the line to be inserted. Use getlinecount to insert a last position. -# arglists: -# pass any data here. They fill fields sequentially. -# -# return 0 if index is outbound. -# -sub insertline -{ - my $this = shift; - if (scalar(@_) > 1) { - - # a least a value to change and the line index needed! - my $line = shift; - if (($line <= @{$this->{_lines}}) && ($line >= 0)) { # valid line requested ? - my @fields = (); - - #copy each field from passed parameters - for my $index (0 .. scalar(@_) - 1) { # how many variable passed to insertline? - $fields[$index] = @_[$index]; - } - $this->{_modified} = 1; # modified - $this->{_sorted} = 0; # not sorted - splice(@{$this->{_lines}}, $line, 0, join($this->{_sep}, @fields)); - $this->savedata() if ($this->{_autosave}); - return 1; - } - } - return 0; -} - -# -# Swap two lines. -# swaplines (index, index); -# index: position of the line to be inserted. Use getlinecount to insert a last position. -# arglists: -# pass any data here. They fill fields sequentially. -# -# return 0 if line not found. -# -sub swaplines -{ - my $this = shift; - if (scalar(@_) > 1) { - - # a least a value to change and the line index needed! - my $line1 = shift; - my $line2 = shift; - if ( ($line1 <= @{$this->{_lines}}) - && ($line1 >= 0) - && ($line2 <= @{$this->{_lines}}) - && ($line2 >= 0) - && ($line1 != $line2)) - { - - # valid line requested ? - ($this->{_lines}->[$line2], $this->{_lines}->[$line1]) = - ($this->{_lines}->[$line1], $this->{_lines}->[$line2]); - $this->{_modified} = 1; # modified - $this->{_sorted} = 0; # not sorted - $this->savedata() if ($this->{_autosave}); - return 1; - } - } - return 0; -} - -# -# deleteline (index) -sub deleteline -{ - my $this = shift; - if (scalar(@_) == 1) { # only line index needed - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= 0)) { - - # valid line requested - splice(@{$this->{'_lines'}}, $line, 1); - $this->{_modified} = 1; # modified - $this->savedata() if ($this->{_autosave}); - return @{$this->{'_lines'}}; # number of remaining lines - } - } - return 0; -} - -# -# Call a callback for each lines with fields passed as parameters -# sub callback { my ($a,$b,$c)=@_; print "field1=$a, field2=$b, field3=$c\n";} -# $L->foreachline (\&callback); -sub foreachline($ $) -{ - my $this = shift; - my $proc = shift; - return if (ref($proc) ne 'CODE'); - foreach my $line (@{$this->{_lines}}) { - &$proc(split($this->{_sep}, $line)); - } -} - -# -#Get value by field names. Fields names must match those provided at object creation -# $L->readreset; -# while ( ($f1,$f2,$f3) = $L->readbyfields('field_name3','field_nameX') ) { -# print "field_name3=$f1 field_nameX=$f2 \n"; -# } -# last variable ($f3), if specified, contain the line index. -sub readbyfieldsseq -{ - my $this = shift; - if ($this->{_index} < @{$this->{_lines}}) { - - # end of table reached - my @fields = split($this->{_sep}, $this->{_lines}->[ $this->{_index} ]); - my @response = (); - - # lookup if a field asked exists - foreach my $x (@_) { - my $f_index = 0; - my $xx = $x; - foreach my $f (@{$this->{_fields}}) { - if ($x eq $f) { - push(@response, $fields[$f_index]); - $xx = ''; # for debugging - last; - } - $f_index++; - } - &log($this->{_debugtag}, "Unknown field $xx in readbyfieldsseq.") if ($xx && $this->{_debug}); - } - return (@response, $this->{_index}++); - } - else { - $this->readreset; # prepare next loop - return (); # empty list, indicate to caller it's done. - } -} - -sub readbyfields -{ - my $this = shift; - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= 0)) { - - # valid line requested ? - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - my @response = (); - - # lookup if a field asked exists - foreach my $x (@_) { - my $f_index = 0; - my $xx = $x; - foreach my $f (@{$this->{_fields}}) { - if ($x eq $f) { - push(@response, $fields[$f_index]); - $xx = ''; # for debugging - last; - } - $f_index++; - } - &log($this->{_debugtag}, "Unknown field $xx in readbyfields.") if ($xx && $this->{_debug}); - } - return (@response); - } - else { - return (); - } -} - -# -# Write a some fields in line a data. -# writebyfields (index, argslist) -# index: select the line to be modified. index 0 points first line. -# if index is -1, then insert a new line a data a end of list. -# return 1 if successfull. -# arglists: -# 'field_name'=>'value',... -# -# return 0 if line not found. -sub writebyfields -{ - my $this = shift; - if (scalar(@_) > 1) { - - # a least a value to change and the line index needed! - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= -1)) { - - # valid line requested - # if -1 then insert a new line - $line = @{$this->{_lines}} if ($line == -1); - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - my %p = @_; - foreach my $x (keys %p) { - my $f_index = 0; - my $xx = $x; - foreach my $f (@{$this->{_fields}}) { - if ($x eq $f) { - $fields[$f_index] = $p{$x}; - $this->{_modified} = 1; # modified - $this->{_sorted} = 0; # not sorted - $xx = ''; # for debugging - last; - } - $f_index++; - } - &log($this->{_debugtag}, "Unknown field $xx in writebyfields.") if ($xx && $this->{_debug}); - } - $this->{_lines}->[$line] = join($this->{_sep}, @fields); - $this->savedata() if ($this->{_autosave}); - return 1; - } - } - return 0; -} - -# -# toggle a 'boolean' field. -# togglebyfields (index, filedlist) -# index: select the line to be modified. index 0 points first line. -# arglists: -# 'field_name',... -# -# return 0 if line not found. -sub togglebyfields -{ - my $this = shift; - if (scalar(@_) > 1) { - - # a least a value to change and the line index needed! - my $line = shift; - if (($line < @{$this->{_lines}}) && ($line >= 0)) { - - # valid line requested ? - my @fields = split($this->{_sep}, $this->{_lines}->[$line]); - my @states = split(',', $this->{_toggle}); - foreach my $x (@_) { - my $f_index = 0; - my $xx = $x; - foreach my $f (@{$this->{_fields}}) { - if ($x eq $f) { - $fields[$f_index] = ($fields[$f_index] eq $states[1]) ? $states[0] : $states[1]; @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ Ipcop-svn mailing list Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn