Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit

This commit is contained in:
Dirk Wagner
2014-06-14 09:41:59 +02:00
101 changed files with 13688 additions and 1075 deletions

View File

@@ -0,0 +1 @@
/etc/icinga

View File

@@ -1,11 +1,16 @@
Listen 1009
<VirtualHost *:1009>
DocumentRoot /usr/share/cacti
Include /etc/httpd/conf/conf.d/php*.conf
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti>
Options FollowSymLinks
AllowOverride None
</Directory>
RewriteEngine on
RewriteRule ^/$ /cacti/ [R]
</VirtualHost>

View File

@@ -0,0 +1,6 @@
/var/log/cacti/cacti.log {
missingok
monthly
notifempty
compress
}

BIN
config/cacti/d.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
config/cacti/d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
config/cacti/throbber.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -10,7 +10,7 @@ kmem:x:9:
wheel:x:10:root
mail:x:12:mail
uucp:x:14:
dialout:x:16:
dialout:x:16:nobody
floppy:x:19:
tape:x:20:
utmp:x:22:

View File

@@ -57,6 +57,9 @@ HAVE_OPENVPN="true"
# INPUT
# Allow access from GREEN
iptables -A POLICYIN -i "${GREEN_DEV}" -j ACCEPT
# IPsec INPUT
case "${HAVE_IPSEC},${POLICY}" in
true,MODE1) ;;

37
config/icinga/icinga.conf Normal file
View File

@@ -0,0 +1,37 @@
Listen 1010
<VirtualHost *:1010>
ScriptAlias /icinga/cgi-bin /usr/share/icinga/cgi-bin
Alias /icinga /usr/share/icinga/
RewriteEngine on
RewriteRule ^/$ /icinga/ [R]
<Directory /usr/share/icinga/cgi-bin>
Options ExecCGI
AllowOverride None
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/htpasswd.users
Order allow,deny
Allow from all
Require valid-user
</Directory>
<Directory /usr/share/icinga/>
Options None
AllowOverride All
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/htpasswd.users
Order allow,deny
Allow from all
Require valid-user
</Directory>
</VirtualHost>

View File

@@ -953,6 +953,7 @@ CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

View File

@@ -1142,6 +1142,7 @@ CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

View File

@@ -888,6 +888,7 @@ CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

View File

@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.10.33 Kernel Configuration
# Linux/x86 3.10.40-ipfire Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -582,29 +582,29 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
# x86 CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_CPB is not set
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=y
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
CONFIG_X86_GX_SUSPMOD=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_SMI=y
CONFIG_X86_P4_CLOCKMOD=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
CONFIG_X86_LONGRUN=y
# CONFIG_X86_LONGHAUL is not set
CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
CONFIG_X86_CPUFREQ_NFORCE2=m
CONFIG_X86_LONGRUN=m
CONFIG_X86_LONGHAUL=m
# CONFIG_X86_E_POWERSAVER is not set
#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -913,6 +913,8 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
CONFIG_NETFILTER_XT_MATCH_LAYER7=m
# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
@@ -931,8 +933,6 @@ CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_LAYER7=m
# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
@@ -1140,6 +1140,7 @@ CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

View File

@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.10.33 Kernel Configuration
# Linux/x86 3.10.40-ipfire Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -594,29 +594,29 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
# x86 CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_CPB is not set
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=y
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
CONFIG_X86_GX_SUSPMOD=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_SMI=y
CONFIG_X86_P4_CLOCKMOD=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
CONFIG_X86_LONGRUN=y
# CONFIG_X86_LONGHAUL is not set
CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
CONFIG_X86_CPUFREQ_NFORCE2=m
CONFIG_X86_LONGRUN=m
CONFIG_X86_LONGHAUL=m
# CONFIG_X86_E_POWERSAVER is not set
#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -925,6 +925,8 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
CONFIG_NETFILTER_XT_MATCH_LAYER7=m
# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
@@ -943,8 +945,6 @@ CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_LAYER7=m
# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
@@ -1152,6 +1152,7 @@ CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

View File

@@ -34,7 +34,6 @@ etc/rc.d/init.d/functions
#etc/rc.d/init.d/gnump3d
etc/rc.d/init.d/halt
#etc/rc.d/init.d/hostapd
#etc/rc.d/init.d/icecream
#etc/rc.d/init.d/imspector
etc/rc.d/init.d/ipsec
#etc/rc.d/init.d/keepalived

View File

@@ -2243,6 +2243,7 @@ lib/modules/KVER-ipfire-kirkwood
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_mqprio.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_multiq.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_netem.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_pie.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_plug.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_prio.ko
#lib/modules/KVER-ipfire-kirkwood/kernel/net/sched/sch_qfq.ko

View File

@@ -2195,6 +2195,7 @@ lib/modules/KVER-ipfire-multi
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_mqprio.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_multiq.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_netem.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_pie.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_plug.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_prio.ko
#lib/modules/KVER-ipfire-multi/kernel/net/sched/sch_qfq.ko

View File

@@ -1804,6 +1804,7 @@ lib/modules/KVER-ipfire-rpi
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_mqprio.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_multiq.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_netem.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_pie.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_plug.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_prio.ko
#lib/modules/KVER-ipfire-rpi/kernel/net/sched/sch_qfq.ko

View File

@@ -233,6 +233,7 @@ usr/sbin/rtcwake
#usr/share/man/man1/ipcmk.1
#usr/share/man/man1/ipcrm.1
#usr/share/man/man1/ipcs.1
#usr/share/man/man1/logger.1
#usr/share/man/man1/look.1
#usr/share/man/man1/lscpu.1
#usr/share/man/man1/mcookie.1

View File

@@ -0,0 +1,9 @@
bin/dnsdomainname
bin/domainname
bin/hostname
bin/nisdomainname
bin/ypdomainname
#usr/share/man/man1/dnsdomainname.1
#usr/share/man/man1/domainname.1
#usr/share/man/man1/nisdomainname.1
#usr/share/man/man1/ypdomainname.1

View File

@@ -36,7 +36,6 @@ etc/rc.d/init.d/functions
#etc/rc.d/init.d/gnump3d
etc/rc.d/init.d/halt
#etc/rc.d/init.d/hostapd
#etc/rc.d/init.d/icecream
#etc/rc.d/init.d/imspector
etc/rc.d/init.d/ipsec
#etc/rc.d/init.d/keepalived

View File

@@ -240,10 +240,25 @@ lib/modules/KVER-ipfire
#lib/modules/KVER-ipfire/kernel/drivers/clocksource/cs5535-clockevt.ko
#lib/modules/KVER-ipfire/kernel/drivers/clocksource/scx200_hrt.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/acpi-cpufreq.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq-nforce2.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_conservative.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_ondemand.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_powersave.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cpufreq_stats.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/gx-suspmod.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/longhaul.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/longrun.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/mperf.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/p4-clockmod.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/pcc-cpufreq.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k6.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k7.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/powernow-k8.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-ich.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-lib.ko
#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/speedstep-smi.ko
#lib/modules/KVER-ipfire/kernel/drivers/crypto
#lib/modules/KVER-ipfire/kernel/drivers/crypto/geode-aes.ko
#lib/modules/KVER-ipfire/kernel/drivers/crypto/hifn_795x.ko
@@ -2663,6 +2678,7 @@ lib/modules/KVER-ipfire
#lib/modules/KVER-ipfire/kernel/net/sched/sch_mqprio.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_multiq.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_netem.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_pie.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_plug.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_prio.ko
#lib/modules/KVER-ipfire/kernel/net/sched/sch_qfq.ko

View File

@@ -234,6 +234,7 @@ usr/share/bash-completion
#usr/share/man/man1/ipcmk.1
#usr/share/man/man1/ipcrm.1
#usr/share/man/man1/ipcs.1
#usr/share/man/man1/logger.1
#usr/share/man/man1/look.1
#usr/share/man/man1/lscpu.1
#usr/share/man/man1/mcookie.1
@@ -303,4 +304,3 @@ usr/share/bash-completion
#usr/share/man/man8/umount.8
#usr/share/man/man8/wdctl.8
#usr/share/man/man8/wipefs.8

View File

@@ -1,38 +0,0 @@
bin/ping
#usr/bin/ftp
#usr/bin/rcp
#usr/bin/rlogin
#usr/bin/rsh
#usr/bin/talk
#usr/bin/tftp
#usr/sbin/ftpd
#usr/sbin/inetd
#usr/sbin/rexecd
#usr/sbin/rlogind
#usr/sbin/rshd
#usr/sbin/talkd
#usr/sbin/tftpd
#usr/sbin/uucpd
#usr/share/info/inetutils.info
#usr/share/info/inetutils.info-1
#usr/share/info/inetutils.info-2
#usr/share/info/inetutils.info-3
#usr/share/man/man1/ftp.1
#usr/share/man/man1/logger.1
#usr/share/man/man1/rcp.1
#usr/share/man/man1/rlogin.1
#usr/share/man/man1/rsh.1
#usr/share/man/man1/talk.1
#usr/share/man/man1/telnet.1
#usr/share/man/man1/tftp.1
#usr/share/man/man5/syslog.conf.5
#usr/share/man/man8/ftpd.8
#usr/share/man/man8/inetd.8
#usr/share/man/man8/ping.8
#usr/share/man/man8/rexecd.8
#usr/share/man/man8/rlogind.8
#usr/share/man/man8/rshd.8
#usr/share/man/man8/syslogd.8
#usr/share/man/man8/talkd.8
#usr/share/man/man8/telnetd.8
#usr/share/man/man8/tftpd.8

View File

@@ -1 +1,2 @@
bin/ping
usr/bin/ping

View File

@@ -1,9 +1,4 @@
bin/dnsdomainname
bin/domainname
bin/hostname
bin/netstat
#bin/nisdomainname
#bin/ypdomainname
sbin/arp
sbin/ifconfig
#sbin/ipmaddr
@@ -14,10 +9,6 @@ sbin/nameif
sbin/rarp
sbin/route
sbin/slattach
#usr/share/man/man1/dnsdomainname.1
#usr/share/man/man1/domainname.1
#usr/share/man/man1/nisdomainname.1
#usr/share/man/man1/ypdomainname.1
#usr/share/man/man5/ethers.5
#usr/share/man/man8/arp.8
#usr/share/man/man8/ifconfig.8

View File

@@ -1,5 +1,6 @@
etc/system-release
etc/issue
etc/rc.d/init.d/sshd
srv/web/ipfire/cgi-bin/ddns.cgi
srv/web/ipfire/cgi-bin/ids.cgi
srv/web/ipfire/cgi-bin/logs.cgi/firewalllogcountry.dat
@@ -8,6 +9,9 @@ srv/web/ipfire/cgi-bin/modem-status.cgi
srv/web/ipfire/cgi-bin/ovpnmain.cgi
srv/web/ipfire/cgi-bin/proxy.cgi
srv/web/ipfire/html/themes/ipfire/include/functions.pl
usr/bin/squidGuard
usr/sbin/redirect_wrapper
usr/sbin/updxlrator
usr/local/bin/setddns.pl
var/ipfire/langs
var/ipfire/menu.d/20-status.menu

View File

@@ -0,0 +1 @@
../../../common/hostname

View File

@@ -0,0 +1 @@
../../../common/sudo

View File

@@ -165,10 +165,17 @@ if [ $BOOTSPACE -lt 1000 ]; then
esac
fi
# Update ping
rm -f /bin/ping
ln -sf ../usr/bin/ping /bin/ping
chmod 4755 /usr/bin/ping
# Update Language cache
perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
# Add nobody to group dialout
usermod -a -G dialout nobody
#
# Start services
#

View File

@@ -1,5 +1,7 @@
etc/fcron.cyclic/cacti.cron
etc/httpd/conf/vhosts.d/cacti.conf
#etc/logrotate.d
etc/logrotate.d/cacti
#usr/share/cacti
#usr/share/cacti/LICENSE
#usr/share/cacti/README
@@ -27,6 +29,7 @@ usr/share/cacti/cli/poller_graphs_reapply_names.php
usr/share/cacti/cli/poller_output_empty.php
usr/share/cacti/cli/poller_reindex_hosts.php
usr/share/cacti/cli/rebuild_poller_cache.php
usr/share/cacti/cli/reorder_data_query.php
usr/share/cacti/cli/repair_database.php
usr/share/cacti/cli/repair_templates.php
usr/share/cacti/cli/structure_rra_paths.php
@@ -191,12 +194,17 @@ usr/share/cacti/images/cacti_logo.gif
usr/share/cacti/images/calendar.gif
usr/share/cacti/images/delete_icon.gif
usr/share/cacti/images/delete_icon_large.gif
usr/share/cacti/images/disable_icon.png
usr/share/cacti/images/enable_icon.png
usr/share/cacti/images/enable_icon_disabled.png
usr/share/cacti/images/favicon.ico
usr/share/cacti/images/graph_page_top.gif
usr/share/cacti/images/graph_properties.gif
usr/share/cacti/images/graph_query.png
usr/share/cacti/images/graph_zoom.gif
usr/share/cacti/images/hide.gif
usr/share/cacti/images/install_icon.png
usr/share/cacti/images/install_icon_disabled.png
usr/share/cacti/images/left_border.gif
usr/share/cacti/images/menu_line.gif
usr/share/cacti/images/menuarrow.gif
@@ -222,6 +230,8 @@ usr/share/cacti/images/tab_mode_tree_down.gif
usr/share/cacti/images/tab_settings.gif
usr/share/cacti/images/tab_settings_down.gif
usr/share/cacti/images/transparent_line.gif
usr/share/cacti/images/uninstall_icon.gif
usr/share/cacti/images/view_none.gif
#usr/share/cacti/include
usr/share/cacti/include/auth.php
usr/share/cacti/include/bottom_footer.php
@@ -231,10 +241,28 @@ usr/share/cacti/include/global_arrays.php
usr/share/cacti/include/global_constants.php
usr/share/cacti/include/global_form.php
usr/share/cacti/include/global_settings.php
#usr/share/cacti/include/jscalendar
usr/share/cacti/include/js
usr/share/cacti/include/js/jquery
usr/share/cacti/include/js/jquery/colorpicker.js
usr/share/cacti/include/js/jquery/jquery-ui.js
usr/share/cacti/include/js/jquery/jquery.cookie.js
usr/share/cacti/include/js/jquery/jquery.dd.js
usr/share/cacti/include/js/jquery/jquery.dropdown.js
usr/share/cacti/include/js/jquery/jquery.js
usr/share/cacti/include/js/jquery/jquery.jstree.js
usr/share/cacti/include/js/jquery/jquery.tablednd.js
usr/share/cacti/include/js/jquery/jquery.timepicker.js
usr/share/cacti/include/js/jquery/jquery.zoom.js
usr/share/cacti/include/js/jquery/themes
usr/share/cacti/include/js/jquery/themes/default
usr/share/cacti/include/js/jquery/themes/default/d.gif
usr/share/cacti/include/js/jquery/themes/default/d.png
usr/share/cacti/include/js/jquery/themes/default/style.css
usr/share/cacti/include/js/jquery/themes/default/throbber.gif
usr/share/cacti/include/jscalendar
usr/share/cacti/include/jscalendar/calendar-setup.js
usr/share/cacti/include/jscalendar/calendar.js
#usr/share/cacti/include/jscalendar/lang
usr/share/cacti/include/jscalendar/lang
usr/share/cacti/include/jscalendar/lang/calendar-af.js
usr/share/cacti/include/jscalendar/lang/calendar-al.js
usr/share/cacti/include/jscalendar/lang/calendar-bg.js
@@ -280,20 +308,9 @@ usr/share/cacti/include/jscalendar/lang/calendar-zh.js
usr/share/cacti/include/jscalendar/lang/cn_utf8.js
usr/share/cacti/include/layout.js
usr/share/cacti/include/main.css
usr/share/cacti/include/plugins.php
usr/share/cacti/include/top_graph_header.php
usr/share/cacti/include/top_header.php
#usr/share/cacti/include/treeview
usr/share/cacti/include/treeview/ftiens4.js
usr/share/cacti/include/treeview/ftiens4_export.js
usr/share/cacti/include/treeview/ftv2blank.gif
usr/share/cacti/include/treeview/ftv2lastnode.gif
usr/share/cacti/include/treeview/ftv2mlastnode.gif
usr/share/cacti/include/treeview/ftv2mnode.gif
usr/share/cacti/include/treeview/ftv2node.gif
usr/share/cacti/include/treeview/ftv2plastnode.gif
usr/share/cacti/include/treeview/ftv2pnode.gif
usr/share/cacti/include/treeview/ftv2vertline.gif
usr/share/cacti/include/treeview/ua.js
usr/share/cacti/include/zoom.js
usr/share/cacti/index.php
#usr/share/cacti/install
@@ -318,6 +335,10 @@ usr/share/cacti/install/0_8_7d_to_0_8_7e.php
usr/share/cacti/install/0_8_7e_to_0_8_7f.php
usr/share/cacti/install/0_8_7f_to_0_8_7g.php
usr/share/cacti/install/0_8_7g_to_0_8_7h.php
usr/share/cacti/install/0_8_7h_to_0_8_7i.php
usr/share/cacti/install/0_8_7i_to_0_8_8.php
usr/share/cacti/install/0_8_8_to_0_8_8a.php
usr/share/cacti/install/0_8_8_to_0_8_8b.php
usr/share/cacti/install/0_8_to_0_8_1.php
usr/share/cacti/install/index.php
usr/share/cacti/install/install_finish.gif
@@ -338,7 +359,7 @@ usr/share/cacti/lib/adodb/adodb-php4.inc.php
usr/share/cacti/lib/adodb/adodb-time.inc.php
usr/share/cacti/lib/adodb/adodb-xmlschema.inc.php
usr/share/cacti/lib/adodb/adodb.inc.php
#usr/share/cacti/lib/adodb/datadict
usr/share/cacti/lib/adodb/datadict
usr/share/cacti/lib/adodb/datadict/datadict-access.inc.php
usr/share/cacti/lib/adodb/datadict/datadict-db2.inc.php
usr/share/cacti/lib/adodb/datadict/datadict-firebird.inc.php
@@ -351,7 +372,7 @@ usr/share/cacti/lib/adodb/datadict/datadict-oci8.inc.php
usr/share/cacti/lib/adodb/datadict/datadict-postgres.inc.php
usr/share/cacti/lib/adodb/datadict/datadict-sapdb.inc.php
usr/share/cacti/lib/adodb/datadict/datadict-sybase.inc.php
#usr/share/cacti/lib/adodb/drivers
usr/share/cacti/lib/adodb/drivers
usr/share/cacti/lib/adodb/drivers/adodb-access.inc.php
usr/share/cacti/lib/adodb/drivers/adodb-ado.inc.php
usr/share/cacti/lib/adodb/drivers/adodb-ado5.inc.php
@@ -392,7 +413,7 @@ usr/share/cacti/lib/adodb/drivers/adodb-sqlite.inc.php
usr/share/cacti/lib/adodb/drivers/adodb-sqlitepo.inc.php
usr/share/cacti/lib/adodb/drivers/adodb-sybase.inc.php
usr/share/cacti/lib/adodb/drivers/adodb-vfp.inc.php
#usr/share/cacti/lib/adodb/lang
usr/share/cacti/lib/adodb/lang
usr/share/cacti/lib/adodb/lang/adodb-ar.inc.php
usr/share/cacti/lib/adodb/lang/adodb-bg.inc.php
usr/share/cacti/lib/adodb/lang/adodb-bgutf8.inc.php
@@ -437,6 +458,7 @@ usr/share/cacti/lib/html_validate.php
usr/share/cacti/lib/import.php
usr/share/cacti/lib/ldap.php
usr/share/cacti/lib/ping.php
usr/share/cacti/lib/plugins.php
usr/share/cacti/lib/poller.php
usr/share/cacti/lib/rrd.php
usr/share/cacti/lib/snmp.php
@@ -450,6 +472,9 @@ usr/share/cacti/lib/variables.php
usr/share/cacti/lib/xml.php
usr/share/cacti/log
usr/share/cacti/logout.php
usr/share/cacti/plugins
usr/share/cacti/plugins.php
usr/share/cacti/plugins/index.php
usr/share/cacti/poller.php
usr/share/cacti/poller_commands.php
usr/share/cacti/poller_export.php

View File

@@ -1,23 +0,0 @@
#opt/icecream
#opt/icecream/bin
#opt/icecream/bin/c++
#opt/icecream/bin/cc
#opt/icecream/bin/g++
#opt/icecream/bin/gcc
#opt/icecream/bin/icecc
#opt/icecream/bin/icerun
#opt/icecream/include
#opt/icecream/include/icecc
#opt/icecream/include/icecc/comm.h
#opt/icecream/include/icecc/job.h
#opt/icecream/lib
#opt/icecream/lib/icecc
#opt/icecream/lib/icecc/icecc-create-env
#opt/icecream/lib/libicecc.a
#opt/icecream/lib/libicecc.la
#opt/icecream/lib/pkgconfig
#opt/icecream/lib/pkgconfig/icecc.pc
#opt/icecream/sbin
opt/icecream/sbin/icecc-scheduler
opt/icecream/sbin/iceccd
etc/rc.d/init.d/icecream

File diff suppressed because it is too large Load Diff

View File

@@ -238,10 +238,25 @@ lib/modules/KVER-ipfire-pae
#lib/modules/KVER-ipfire-pae/kernel/drivers/clocksource
#lib/modules/KVER-ipfire-pae/kernel/drivers/clocksource/cs5535-clockevt.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/acpi-cpufreq.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/amd_freq_sensitivity.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq-nforce2.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_conservative.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_ondemand.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_powersave.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/cpufreq_stats.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/gx-suspmod.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/longhaul.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/longrun.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/mperf.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/p4-clockmod.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/pcc-cpufreq.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k6.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k7.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/powernow-k8.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-ich.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-lib.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/cpufreq/speedstep-smi.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/crypto
#lib/modules/KVER-ipfire-pae/kernel/drivers/crypto/geode-aes.ko
#lib/modules/KVER-ipfire-pae/kernel/drivers/crypto/padlock-aes.ko
@@ -2675,6 +2690,7 @@ lib/modules/KVER-ipfire-pae
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_mqprio.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_multiq.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_netem.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_pie.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_plug.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_prio.ko
#lib/modules/KVER-ipfire-pae/kernel/net/sched/sch_qfq.ko

View File

@@ -34,6 +34,7 @@ usr/lib/nagios
#usr/lib/nagios/check_file_age
#usr/lib/nagios/check_flexlm
#usr/lib/nagios/check_ftp
#usr/lib/nagios/check_hpjd
#usr/lib/nagios/check_http
#usr/lib/nagios/check_icmp
#usr/lib/nagios/check_ide_smart
@@ -69,6 +70,7 @@ usr/lib/nagios
#usr/lib/nagios/check_sensors
#usr/lib/nagios/check_simap
#usr/lib/nagios/check_smtp
#usr/lib/nagios/check_snmp
#usr/lib/nagios/check_spop
#usr/lib/nagios/check_ssh
#usr/lib/nagios/check_ssmtp

View File

@@ -36,6 +36,7 @@ etc/sane.d/hp5400.conf
etc/sane.d/hs2p.conf
etc/sane.d/ibm.conf
etc/sane.d/kodak.conf
etc/sane.d/kodakaio.conf
etc/sane.d/leo.conf
etc/sane.d/lexmark.conf
etc/sane.d/ma1509.conf
@@ -79,427 +80,440 @@ usr/bin/gamma4scanimage
usr/bin/sane-config
usr/bin/sane-find-scanner
usr/bin/scanimage
usr/doc/sane-1.0.22
usr/doc/sane-1.0.22/AUTHORS
usr/doc/sane-1.0.22/COPYING
usr/doc/sane-1.0.22/ChangeLog
usr/doc/sane-1.0.22/LICENSE
usr/doc/sane-1.0.22/NEWS
usr/doc/sane-1.0.22/PROBLEMS
usr/doc/sane-1.0.22/PROJECTS
usr/doc/sane-1.0.22/README
#usr/doc/sane-1.0.22/README.aix
#usr/doc/sane-1.0.22/README.beos
#usr/doc/sane-1.0.22/README.darwin
usr/doc/sane-1.0.22/README.djpeg
#usr/doc/sane-1.0.22/README.freebsd
#usr/doc/sane-1.0.22/README.hp-ux
usr/doc/sane-1.0.22/README.linux
#usr/doc/sane-1.0.22/README.netbsd
#usr/doc/sane-1.0.22/README.openbsd
#usr/doc/sane-1.0.22/README.os2
#usr/doc/sane-1.0.22/README.solaris
#usr/doc/sane-1.0.22/README.unixware2
#usr/doc/sane-1.0.22/README.unixware7
#usr/doc/sane-1.0.22/README.windows
#usr/doc/sane-1.0.22/README.zeta
#usr/doc/sane-1.0.22/backend-writing.txt
usr/doc/sane-1.0.22/canon
usr/doc/sane-1.0.22/canon/canon.changes
usr/doc/sane-1.0.22/canon/canon.install2700F.txt
#usr/doc/sane-1.0.22/gt68xx
usr/doc/sane-1.0.22/gt68xx/gt68xx.CHANGES
usr/doc/sane-1.0.22/gt68xx/gt68xx.TODO
#usr/doc/sane-1.0.22/leo
usr/doc/sane-1.0.22/leo/leo.txt
#usr/doc/sane-1.0.22/matsushita
usr/doc/sane-1.0.22/matsushita/matsushita.txt
#usr/doc/sane-1.0.22/mustek
usr/doc/sane-1.0.22/mustek/mustek.CHANGES
#usr/doc/sane-1.0.22/mustek_usb
usr/doc/sane-1.0.22/mustek_usb/mustek_usb.CHANGES
usr/doc/sane-1.0.22/mustek_usb/mustek_usb.TODO
#usr/doc/sane-1.0.22/mustek_usb2
usr/doc/sane-1.0.22/mustek_usb2/mustek_usb2.CHANGES
usr/doc/sane-1.0.22/mustek_usb2/mustek_usb2.TODO
#usr/doc/sane-1.0.22/niash
usr/doc/sane-1.0.22/niash/niash.TODO
#usr/doc/sane-1.0.22/plustek
usr/doc/sane-1.0.22/plustek/FAQ
usr/doc/sane-1.0.22/plustek/MakeModule.sh
#usr/doc/sane-1.0.22/plustek/Makefile.kernel24
usr/doc/sane-1.0.22/plustek/Makefile.kernel26
usr/doc/sane-1.0.22/plustek/Plustek-PARPORT-TODO.txt
usr/doc/sane-1.0.22/plustek/Plustek-PARPORT.changes
usr/doc/sane-1.0.22/plustek/Plustek-PARPORT.txt
usr/doc/sane-1.0.22/plustek/Plustek-USB-TODO.txt
usr/doc/sane-1.0.22/plustek/Plustek-USB.changes
usr/doc/sane-1.0.22/plustek/Plustek-USB.txt
usr/doc/sane-1.0.22/sane-backends-external.html
usr/doc/sane-1.0.22/sane-backends.html
usr/doc/sane-1.0.22/sane-mfgs-external.html
usr/doc/sane-1.0.22/sane-mfgs.html
#usr/doc/sane-1.0.22/sceptre
usr/doc/sane-1.0.22/sceptre/s1200.txt
#usr/doc/sane-1.0.22/teco
usr/doc/sane-1.0.22/teco/teco1.txt
usr/doc/sane-1.0.22/teco/teco2.txt
usr/doc/sane-1.0.22/teco/teco3.txt
#usr/doc/sane-1.0.22/u12
usr/doc/sane-1.0.22/u12/U12.changes
usr/doc/sane-1.0.22/u12/U12.todo
#usr/doc/sane-1.0.22/umax
usr/doc/sane-1.0.22/umax/negative-types.txt
usr/doc/sane-1.0.22/umax/sane-logo.jpg
usr/doc/sane-1.0.22/umax/sane-umax-advanced-options-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-advanced.jpg
usr/doc/sane-1.0.22/umax/sane-umax-astra-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-config-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-histogram.jpg
usr/doc/sane-1.0.22/umax/sane-umax-mirage-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-not-listed-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-others-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-parport-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-powerlook-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-scanner-clones-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-speed-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-standard-options-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-standard.jpg
usr/doc/sane-1.0.22/umax/sane-umax-text.jpg
usr/doc/sane-1.0.22/umax/sane-umax-text2.jpg
usr/doc/sane-1.0.22/umax/sane-umax-text4.jpg
usr/doc/sane-1.0.22/umax/sane-umax-uc-doc.html
usr/doc/sane-1.0.22/umax/sane-umax-vista-doc.html
usr/doc/sane-1.0.22/umax/sane-umax.jpg
usr/doc/sane-1.0.22/umax/umax.BUGS
usr/doc/sane-1.0.22/umax/umax.CHANGES
usr/doc/sane-1.0.22/umax/umax.FAQ
usr/doc/sane-1.0.22/umax/umax.TODO
usr/doc/sane-1.0.24
#usr/doc/sane-1.0.24/AUTHORS
#usr/doc/sane-1.0.24/COPYING
#usr/doc/sane-1.0.24/ChangeLog
#usr/doc/sane-1.0.24/LICENSE
#usr/doc/sane-1.0.24/NEWS
#usr/doc/sane-1.0.24/PROBLEMS
#usr/doc/sane-1.0.24/PROJECTS
#usr/doc/sane-1.0.24/README
#usr/doc/sane-1.0.24/README.aix
#usr/doc/sane-1.0.24/README.beos
#usr/doc/sane-1.0.24/README.darwin
#usr/doc/sane-1.0.24/README.djpeg
#usr/doc/sane-1.0.24/README.freebsd
#usr/doc/sane-1.0.24/README.hp-ux
#usr/doc/sane-1.0.24/README.linux
#usr/doc/sane-1.0.24/README.netbsd
#usr/doc/sane-1.0.24/README.openbsd
#usr/doc/sane-1.0.24/README.os2
#usr/doc/sane-1.0.24/README.solaris
#usr/doc/sane-1.0.24/README.unixware2
#usr/doc/sane-1.0.24/README.unixware7
#usr/doc/sane-1.0.24/README.windows
#usr/doc/sane-1.0.24/README.zeta
#usr/doc/sane-1.0.24/backend-writing.txt
#usr/doc/sane-1.0.24/canon
#usr/doc/sane-1.0.24/canon/canon.changes
#usr/doc/sane-1.0.24/canon/canon.install2700F.txt
#usr/doc/sane-1.0.24/gt68xx
#usr/doc/sane-1.0.24/gt68xx/gt68xx.CHANGES
#usr/doc/sane-1.0.24/gt68xx/gt68xx.TODO
#usr/doc/sane-1.0.24/leo
#usr/doc/sane-1.0.24/leo/leo.txt
#usr/doc/sane-1.0.24/matsushita
#usr/doc/sane-1.0.24/matsushita/matsushita.txt
#usr/doc/sane-1.0.24/mustek
#usr/doc/sane-1.0.24/mustek/mustek.CHANGES
#usr/doc/sane-1.0.24/mustek_usb
#usr/doc/sane-1.0.24/mustek_usb/mustek_usb.CHANGES
#usr/doc/sane-1.0.24/mustek_usb/mustek_usb.TODO
#usr/doc/sane-1.0.24/mustek_usb2
#usr/doc/sane-1.0.24/mustek_usb2/mustek_usb2.CHANGES
#usr/doc/sane-1.0.24/mustek_usb2/mustek_usb2.TODO
#usr/doc/sane-1.0.24/niash
#usr/doc/sane-1.0.24/niash/niash.TODO
#usr/doc/sane-1.0.24/plustek
#usr/doc/sane-1.0.24/plustek/FAQ
#usr/doc/sane-1.0.24/plustek/MakeModule.sh
#usr/doc/sane-1.0.24/plustek/Makefile.kernel24
#usr/doc/sane-1.0.24/plustek/Makefile.kernel26
#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT-TODO.txt
#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT.changes
#usr/doc/sane-1.0.24/plustek/Plustek-PARPORT.txt
#usr/doc/sane-1.0.24/plustek/Plustek-USB-TODO.txt
#usr/doc/sane-1.0.24/plustek/Plustek-USB.changes
#usr/doc/sane-1.0.24/plustek/Plustek-USB.txt
#usr/doc/sane-1.0.24/sane-backends-external.html
#usr/doc/sane-1.0.24/sane-backends.html
#usr/doc/sane-1.0.24/sane-mfgs-external.html
#usr/doc/sane-1.0.24/sane-mfgs.html
#usr/doc/sane-1.0.24/sceptre
#usr/doc/sane-1.0.24/sceptre/s1200.txt
#usr/doc/sane-1.0.24/teco
#usr/doc/sane-1.0.24/teco/teco1.txt
#usr/doc/sane-1.0.24/teco/teco2.txt
#usr/doc/sane-1.0.24/teco/teco3.txt
#usr/doc/sane-1.0.24/u12
#usr/doc/sane-1.0.24/u12/U12.changes
#usr/doc/sane-1.0.24/u12/U12.todo
#usr/doc/sane-1.0.24/umax
#usr/doc/sane-1.0.24/umax/negative-types.txt
#usr/doc/sane-1.0.24/umax/sane-logo.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-advanced-options-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-advanced.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-astra-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-config-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-histogram.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-mirage-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-not-listed-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-others-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-parport-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-powerlook-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-scanner-clones-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-speed-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-standard-options-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-standard.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-text.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-text2.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-text4.jpg
#usr/doc/sane-1.0.24/umax/sane-umax-uc-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax-vista-doc.html
#usr/doc/sane-1.0.24/umax/sane-umax.jpg
#usr/doc/sane-1.0.24/umax/umax.BUGS
#usr/doc/sane-1.0.24/umax/umax.CHANGES
#usr/doc/sane-1.0.24/umax/umax.FAQ
#usr/doc/sane-1.0.24/umax/umax.TODO
#usr/include/sane
usr/include/sane/sane.h
usr/include/sane/saneopts.h
#usr/lib/libsane.la
usr/lib/libsane.so
usr/lib/libsane.so.1
usr/lib/libsane.so.1.0.22
usr/lib/libsane.so.1.0.24
#usr/lib/pkgconfig/sane-backends.pc
#usr/lib/sane
#usr/lib/sane/libsane-abaton.la
usr/lib/sane/libsane-abaton.so
usr/lib/sane/libsane-abaton.so.1
usr/lib/sane/libsane-abaton.so.1.0.22
usr/lib/sane/libsane-abaton.so.1.0.24
#usr/lib/sane/libsane-agfafocus.la
usr/lib/sane/libsane-agfafocus.so
usr/lib/sane/libsane-agfafocus.so.1
usr/lib/sane/libsane-agfafocus.so.1.0.22
usr/lib/sane/libsane-agfafocus.so.1.0.24
#usr/lib/sane/libsane-apple.la
usr/lib/sane/libsane-apple.so
usr/lib/sane/libsane-apple.so.1
usr/lib/sane/libsane-apple.so.1.0.22
usr/lib/sane/libsane-apple.so.1.0.24
#usr/lib/sane/libsane-artec.la
usr/lib/sane/libsane-artec.so
usr/lib/sane/libsane-artec.so.1
usr/lib/sane/libsane-artec.so.1.0.22
usr/lib/sane/libsane-artec.so.1.0.24
#usr/lib/sane/libsane-artec_eplus48u.la
usr/lib/sane/libsane-artec_eplus48u.so
usr/lib/sane/libsane-artec_eplus48u.so.1
usr/lib/sane/libsane-artec_eplus48u.so.1.0.22
usr/lib/sane/libsane-artec_eplus48u.so.1.0.24
#usr/lib/sane/libsane-as6e.la
usr/lib/sane/libsane-as6e.so
usr/lib/sane/libsane-as6e.so.1
usr/lib/sane/libsane-as6e.so.1.0.22
usr/lib/sane/libsane-as6e.so.1.0.24
#usr/lib/sane/libsane-avision.la
usr/lib/sane/libsane-avision.so
usr/lib/sane/libsane-avision.so.1
usr/lib/sane/libsane-avision.so.1.0.22
usr/lib/sane/libsane-avision.so.1.0.24
#usr/lib/sane/libsane-bh.la
usr/lib/sane/libsane-bh.so
usr/lib/sane/libsane-bh.so.1
usr/lib/sane/libsane-bh.so.1.0.22
usr/lib/sane/libsane-bh.so.1.0.24
#usr/lib/sane/libsane-canon.la
usr/lib/sane/libsane-canon.so
usr/lib/sane/libsane-canon.so.1
usr/lib/sane/libsane-canon.so.1.0.22
usr/lib/sane/libsane-canon.so.1.0.24
#usr/lib/sane/libsane-canon630u.la
usr/lib/sane/libsane-canon630u.so
usr/lib/sane/libsane-canon630u.so.1
usr/lib/sane/libsane-canon630u.so.1.0.22
usr/lib/sane/libsane-canon630u.so.1.0.24
#usr/lib/sane/libsane-canon_dr.la
usr/lib/sane/libsane-canon_dr.so
usr/lib/sane/libsane-canon_dr.so.1
usr/lib/sane/libsane-canon_dr.so.1.0.22
usr/lib/sane/libsane-canon_dr.so.1.0.24
#usr/lib/sane/libsane-cardscan.la
usr/lib/sane/libsane-cardscan.so
usr/lib/sane/libsane-cardscan.so.1
usr/lib/sane/libsane-cardscan.so.1.0.22
usr/lib/sane/libsane-cardscan.so.1.0.24
#usr/lib/sane/libsane-coolscan.la
usr/lib/sane/libsane-coolscan.so
usr/lib/sane/libsane-coolscan.so.1
usr/lib/sane/libsane-coolscan.so.1.0.22
usr/lib/sane/libsane-coolscan.so.1.0.24
#usr/lib/sane/libsane-coolscan2.la
usr/lib/sane/libsane-coolscan2.so
usr/lib/sane/libsane-coolscan2.so.1
usr/lib/sane/libsane-coolscan2.so.1.0.22
usr/lib/sane/libsane-coolscan2.so.1.0.24
#usr/lib/sane/libsane-coolscan3.la
usr/lib/sane/libsane-coolscan3.so
usr/lib/sane/libsane-coolscan3.so.1
usr/lib/sane/libsane-coolscan3.so.1.0.22
usr/lib/sane/libsane-coolscan3.so.1.0.24
#usr/lib/sane/libsane-dc210.la
usr/lib/sane/libsane-dc210.so
usr/lib/sane/libsane-dc210.so.1
usr/lib/sane/libsane-dc210.so.1.0.22
usr/lib/sane/libsane-dc210.so.1.0.24
#usr/lib/sane/libsane-dc240.la
usr/lib/sane/libsane-dc240.so
usr/lib/sane/libsane-dc240.so.1
usr/lib/sane/libsane-dc240.so.1.0.22
usr/lib/sane/libsane-dc240.so.1.0.24
#usr/lib/sane/libsane-dc25.la
usr/lib/sane/libsane-dc25.so
usr/lib/sane/libsane-dc25.so.1
usr/lib/sane/libsane-dc25.so.1.0.22
usr/lib/sane/libsane-dc25.so.1.0.24
#usr/lib/sane/libsane-dell1600n_net.la
usr/lib/sane/libsane-dell1600n_net.so
usr/lib/sane/libsane-dell1600n_net.so.1
usr/lib/sane/libsane-dell1600n_net.so.1.0.22
usr/lib/sane/libsane-dell1600n_net.so.1.0.24
#usr/lib/sane/libsane-dll.la
usr/lib/sane/libsane-dll.so
usr/lib/sane/libsane-dll.so.1
usr/lib/sane/libsane-dll.so.1.0.22
usr/lib/sane/libsane-dll.so.1.0.24
#usr/lib/sane/libsane-dmc.la
usr/lib/sane/libsane-dmc.so
usr/lib/sane/libsane-dmc.so.1
usr/lib/sane/libsane-dmc.so.1.0.22
usr/lib/sane/libsane-dmc.so.1.0.24
#usr/lib/sane/libsane-epjitsu.la
usr/lib/sane/libsane-epjitsu.so
usr/lib/sane/libsane-epjitsu.so.1
usr/lib/sane/libsane-epjitsu.so.1.0.22
usr/lib/sane/libsane-epjitsu.so.1.0.24
#usr/lib/sane/libsane-epson.la
usr/lib/sane/libsane-epson.so
usr/lib/sane/libsane-epson.so.1
usr/lib/sane/libsane-epson.so.1.0.22
usr/lib/sane/libsane-epson.so.1.0.24
#usr/lib/sane/libsane-epson2.la
usr/lib/sane/libsane-epson2.so
usr/lib/sane/libsane-epson2.so.1
usr/lib/sane/libsane-epson2.so.1.0.22
usr/lib/sane/libsane-epson2.so.1.0.24
#usr/lib/sane/libsane-fujitsu.la
usr/lib/sane/libsane-fujitsu.so
usr/lib/sane/libsane-fujitsu.so.1
usr/lib/sane/libsane-fujitsu.so.1.0.22
usr/lib/sane/libsane-fujitsu.so.1.0.24
#usr/lib/sane/libsane-genesys.la
usr/lib/sane/libsane-genesys.so
usr/lib/sane/libsane-genesys.so.1
usr/lib/sane/libsane-genesys.so.1.0.22
usr/lib/sane/libsane-genesys.so.1.0.24
#usr/lib/sane/libsane-gt68xx.la
usr/lib/sane/libsane-gt68xx.so
usr/lib/sane/libsane-gt68xx.so.1
usr/lib/sane/libsane-gt68xx.so.1.0.22
usr/lib/sane/libsane-gt68xx.so.1.0.24
#usr/lib/sane/libsane-hp.la
usr/lib/sane/libsane-hp.so
usr/lib/sane/libsane-hp.so.1
usr/lib/sane/libsane-hp.so.1.0.22
usr/lib/sane/libsane-hp.so.1.0.24
#usr/lib/sane/libsane-hp3500.la
usr/lib/sane/libsane-hp3500.so
usr/lib/sane/libsane-hp3500.so.1
usr/lib/sane/libsane-hp3500.so.1.0.22
usr/lib/sane/libsane-hp3500.so.1.0.24
#usr/lib/sane/libsane-hp3900.la
usr/lib/sane/libsane-hp3900.so
usr/lib/sane/libsane-hp3900.so.1
usr/lib/sane/libsane-hp3900.so.1.0.22
usr/lib/sane/libsane-hp3900.so.1.0.24
#usr/lib/sane/libsane-hp4200.la
usr/lib/sane/libsane-hp4200.so
usr/lib/sane/libsane-hp4200.so.1
usr/lib/sane/libsane-hp4200.so.1.0.22
usr/lib/sane/libsane-hp4200.so.1.0.24
#usr/lib/sane/libsane-hp5400.la
usr/lib/sane/libsane-hp5400.so
usr/lib/sane/libsane-hp5400.so.1
usr/lib/sane/libsane-hp5400.so.1.0.22
usr/lib/sane/libsane-hp5400.so.1.0.24
#usr/lib/sane/libsane-hp5590.la
usr/lib/sane/libsane-hp5590.so
usr/lib/sane/libsane-hp5590.so.1
usr/lib/sane/libsane-hp5590.so.1.0.22
usr/lib/sane/libsane-hp5590.so.1.0.24
#usr/lib/sane/libsane-hpljm1005.la
usr/lib/sane/libsane-hpljm1005.so
usr/lib/sane/libsane-hpljm1005.so.1
usr/lib/sane/libsane-hpljm1005.so.1.0.22
usr/lib/sane/libsane-hpljm1005.so.1.0.24
#usr/lib/sane/libsane-hs2p.la
usr/lib/sane/libsane-hs2p.so
usr/lib/sane/libsane-hs2p.so.1
usr/lib/sane/libsane-hs2p.so.1.0.22
usr/lib/sane/libsane-hs2p.so.1.0.24
#usr/lib/sane/libsane-ibm.la
usr/lib/sane/libsane-ibm.so
usr/lib/sane/libsane-ibm.so.1
usr/lib/sane/libsane-ibm.so.1.0.22
usr/lib/sane/libsane-ibm.so.1.0.24
#usr/lib/sane/libsane-kodak.la
usr/lib/sane/libsane-kodak.so
usr/lib/sane/libsane-kodak.so.1
usr/lib/sane/libsane-kodak.so.1.0.22
usr/lib/sane/libsane-kodak.so.1.0.24
#usr/lib/sane/libsane-kodakaio.la
usr/lib/sane/libsane-kodakaio.so
usr/lib/sane/libsane-kodakaio.so.1
usr/lib/sane/libsane-kodakaio.so.1.0.24
#usr/lib/sane/libsane-kvs1025.la
usr/lib/sane/libsane-kvs1025.so
usr/lib/sane/libsane-kvs1025.so.1
usr/lib/sane/libsane-kvs1025.so.1.0.22
usr/lib/sane/libsane-kvs1025.so.1.0.24
#usr/lib/sane/libsane-kvs20xx.la
usr/lib/sane/libsane-kvs20xx.so
usr/lib/sane/libsane-kvs20xx.so.1
usr/lib/sane/libsane-kvs20xx.so.1.0.22
usr/lib/sane/libsane-kvs20xx.so.1.0.24
#usr/lib/sane/libsane-kvs40xx.la
usr/lib/sane/libsane-kvs40xx.so
usr/lib/sane/libsane-kvs40xx.so.1
usr/lib/sane/libsane-kvs40xx.so.1.0.24
#usr/lib/sane/libsane-leo.la
usr/lib/sane/libsane-leo.so
usr/lib/sane/libsane-leo.so.1
usr/lib/sane/libsane-leo.so.1.0.22
usr/lib/sane/libsane-leo.so.1.0.24
#usr/lib/sane/libsane-lexmark.la
usr/lib/sane/libsane-lexmark.so
usr/lib/sane/libsane-lexmark.so.1
usr/lib/sane/libsane-lexmark.so.1.0.22
usr/lib/sane/libsane-lexmark.so.1.0.24
#usr/lib/sane/libsane-ma1509.la
usr/lib/sane/libsane-ma1509.so
usr/lib/sane/libsane-ma1509.so.1
usr/lib/sane/libsane-ma1509.so.1.0.22
usr/lib/sane/libsane-ma1509.so.1.0.24
#usr/lib/sane/libsane-magicolor.la
usr/lib/sane/libsane-magicolor.so
usr/lib/sane/libsane-magicolor.so.1
usr/lib/sane/libsane-magicolor.so.1.0.22
usr/lib/sane/libsane-magicolor.so.1.0.24
#usr/lib/sane/libsane-matsushita.la
usr/lib/sane/libsane-matsushita.so
usr/lib/sane/libsane-matsushita.so.1
usr/lib/sane/libsane-matsushita.so.1.0.22
usr/lib/sane/libsane-matsushita.so.1.0.24
#usr/lib/sane/libsane-microtek.la
usr/lib/sane/libsane-microtek.so
usr/lib/sane/libsane-microtek.so.1
usr/lib/sane/libsane-microtek.so.1.0.22
usr/lib/sane/libsane-microtek.so.1.0.24
#usr/lib/sane/libsane-microtek2.la
usr/lib/sane/libsane-microtek2.so
usr/lib/sane/libsane-microtek2.so.1
usr/lib/sane/libsane-microtek2.so.1.0.22
usr/lib/sane/libsane-microtek2.so.1.0.24
#usr/lib/sane/libsane-mustek.la
usr/lib/sane/libsane-mustek.so
usr/lib/sane/libsane-mustek.so.1
usr/lib/sane/libsane-mustek.so.1.0.22
usr/lib/sane/libsane-mustek.so.1.0.24
#usr/lib/sane/libsane-mustek_pp.la
usr/lib/sane/libsane-mustek_pp.so
usr/lib/sane/libsane-mustek_pp.so.1
usr/lib/sane/libsane-mustek_pp.so.1.0.22
usr/lib/sane/libsane-mustek_pp.so.1.0.24
#usr/lib/sane/libsane-mustek_usb.la
usr/lib/sane/libsane-mustek_usb.so
usr/lib/sane/libsane-mustek_usb.so.1
usr/lib/sane/libsane-mustek_usb.so.1.0.22
usr/lib/sane/libsane-mustek_usb.so.1.0.24
#usr/lib/sane/libsane-mustek_usb2.la
usr/lib/sane/libsane-mustek_usb2.so
usr/lib/sane/libsane-mustek_usb2.so.1
usr/lib/sane/libsane-mustek_usb2.so.1.0.24
#usr/lib/sane/libsane-nec.la
usr/lib/sane/libsane-nec.so
usr/lib/sane/libsane-nec.so.1
usr/lib/sane/libsane-nec.so.1.0.22
usr/lib/sane/libsane-nec.so.1.0.24
#usr/lib/sane/libsane-net.la
usr/lib/sane/libsane-net.so
usr/lib/sane/libsane-net.so.1
usr/lib/sane/libsane-net.so.1.0.22
usr/lib/sane/libsane-net.so.1.0.24
#usr/lib/sane/libsane-niash.la
usr/lib/sane/libsane-niash.so
usr/lib/sane/libsane-niash.so.1
usr/lib/sane/libsane-niash.so.1.0.22
usr/lib/sane/libsane-niash.so.1.0.24
#usr/lib/sane/libsane-p5.la
usr/lib/sane/libsane-p5.so
usr/lib/sane/libsane-p5.so.1
usr/lib/sane/libsane-p5.so.1.0.22
usr/lib/sane/libsane-p5.so.1.0.24
#usr/lib/sane/libsane-pie.la
usr/lib/sane/libsane-pie.so
usr/lib/sane/libsane-pie.so.1
usr/lib/sane/libsane-pie.so.1.0.22
usr/lib/sane/libsane-pie.so.1.0.24
#usr/lib/sane/libsane-pixma.la
usr/lib/sane/libsane-pixma.so
usr/lib/sane/libsane-pixma.so.1
usr/lib/sane/libsane-pixma.so.1.0.22
usr/lib/sane/libsane-pixma.so.1.0.24
#usr/lib/sane/libsane-plustek.la
usr/lib/sane/libsane-plustek.so
usr/lib/sane/libsane-plustek.so.1
usr/lib/sane/libsane-plustek.so.1.0.22
usr/lib/sane/libsane-plustek.so.1.0.24
#usr/lib/sane/libsane-plustek_pp.la
usr/lib/sane/libsane-plustek_pp.so
usr/lib/sane/libsane-plustek_pp.so.1
usr/lib/sane/libsane-plustek_pp.so.1.0.22
usr/lib/sane/libsane-plustek_pp.so.1.0.24
#usr/lib/sane/libsane-qcam.la
usr/lib/sane/libsane-qcam.so
usr/lib/sane/libsane-qcam.so.1
usr/lib/sane/libsane-qcam.so.1.0.22
usr/lib/sane/libsane-qcam.so.1.0.24
#usr/lib/sane/libsane-ricoh.la
usr/lib/sane/libsane-ricoh.so
usr/lib/sane/libsane-ricoh.so.1
usr/lib/sane/libsane-ricoh.so.1.0.22
usr/lib/sane/libsane-ricoh.so.1.0.24
#usr/lib/sane/libsane-rts8891.la
usr/lib/sane/libsane-rts8891.so
usr/lib/sane/libsane-rts8891.so.1
usr/lib/sane/libsane-rts8891.so.1.0.22
usr/lib/sane/libsane-rts8891.so.1.0.24
#usr/lib/sane/libsane-s9036.la
usr/lib/sane/libsane-s9036.so
usr/lib/sane/libsane-s9036.so.1
usr/lib/sane/libsane-s9036.so.1.0.22
usr/lib/sane/libsane-s9036.so.1.0.24
#usr/lib/sane/libsane-sceptre.la
usr/lib/sane/libsane-sceptre.so
usr/lib/sane/libsane-sceptre.so.1
usr/lib/sane/libsane-sceptre.so.1.0.22
usr/lib/sane/libsane-sceptre.so.1.0.24
#usr/lib/sane/libsane-sharp.la
usr/lib/sane/libsane-sharp.so
usr/lib/sane/libsane-sharp.so.1
usr/lib/sane/libsane-sharp.so.1.0.22
usr/lib/sane/libsane-sharp.so.1.0.24
#usr/lib/sane/libsane-sm3600.la
usr/lib/sane/libsane-sm3600.so
usr/lib/sane/libsane-sm3600.so.1
usr/lib/sane/libsane-sm3600.so.1.0.22
usr/lib/sane/libsane-sm3600.so.1.0.24
#usr/lib/sane/libsane-sm3840.la
usr/lib/sane/libsane-sm3840.so
usr/lib/sane/libsane-sm3840.so.1
usr/lib/sane/libsane-sm3840.so.1.0.22
usr/lib/sane/libsane-sm3840.so.1.0.24
#usr/lib/sane/libsane-snapscan.la
usr/lib/sane/libsane-snapscan.so
usr/lib/sane/libsane-snapscan.so.1
usr/lib/sane/libsane-snapscan.so.1.0.22
usr/lib/sane/libsane-snapscan.so.1.0.24
#usr/lib/sane/libsane-sp15c.la
usr/lib/sane/libsane-sp15c.so
usr/lib/sane/libsane-sp15c.so.1
usr/lib/sane/libsane-sp15c.so.1.0.22
usr/lib/sane/libsane-sp15c.so.1.0.24
#usr/lib/sane/libsane-st400.la
usr/lib/sane/libsane-st400.so
usr/lib/sane/libsane-st400.so.1
usr/lib/sane/libsane-st400.so.1.0.22
usr/lib/sane/libsane-st400.so.1.0.24
#usr/lib/sane/libsane-stv680.la
usr/lib/sane/libsane-stv680.so
usr/lib/sane/libsane-stv680.so.1
usr/lib/sane/libsane-stv680.so.1.0.22
usr/lib/sane/libsane-stv680.so.1.0.24
#usr/lib/sane/libsane-tamarack.la
usr/lib/sane/libsane-tamarack.so
usr/lib/sane/libsane-tamarack.so.1
usr/lib/sane/libsane-tamarack.so.1.0.22
usr/lib/sane/libsane-tamarack.so.1.0.24
#usr/lib/sane/libsane-teco1.la
usr/lib/sane/libsane-teco1.so
usr/lib/sane/libsane-teco1.so.1
usr/lib/sane/libsane-teco1.so.1.0.22
usr/lib/sane/libsane-teco1.so.1.0.24
#usr/lib/sane/libsane-teco2.la
usr/lib/sane/libsane-teco2.so
usr/lib/sane/libsane-teco2.so.1
usr/lib/sane/libsane-teco2.so.1.0.22
usr/lib/sane/libsane-teco2.so.1.0.24
#usr/lib/sane/libsane-teco3.la
usr/lib/sane/libsane-teco3.so
usr/lib/sane/libsane-teco3.so.1
usr/lib/sane/libsane-teco3.so.1.0.22
usr/lib/sane/libsane-teco3.so.1.0.24
#usr/lib/sane/libsane-test.la
usr/lib/sane/libsane-test.so
usr/lib/sane/libsane-test.so.1
usr/lib/sane/libsane-test.so.1.0.22
usr/lib/sane/libsane-test.so.1.0.24
#usr/lib/sane/libsane-u12.la
usr/lib/sane/libsane-u12.so
usr/lib/sane/libsane-u12.so.1
usr/lib/sane/libsane-u12.so.1.0.22
usr/lib/sane/libsane-u12.so.1.0.24
#usr/lib/sane/libsane-umax.la
usr/lib/sane/libsane-umax.so
usr/lib/sane/libsane-umax.so.1
usr/lib/sane/libsane-umax.so.1.0.22
usr/lib/sane/libsane-umax.so.1.0.24
#usr/lib/sane/libsane-umax1220u.la
usr/lib/sane/libsane-umax1220u.so
usr/lib/sane/libsane-umax1220u.so.1
usr/lib/sane/libsane-umax1220u.so.1.0.22
usr/lib/sane/libsane-umax1220u.so.1.0.24
#usr/lib/sane/libsane-umax_pp.la
usr/lib/sane/libsane-umax_pp.so
usr/lib/sane/libsane-umax_pp.so.1
usr/lib/sane/libsane-umax_pp.so.1.0.22
usr/lib/sane/libsane-umax_pp.so.1.0.24
#usr/lib/sane/libsane-xerox_mfp.la
usr/lib/sane/libsane-xerox_mfp.so
usr/lib/sane/libsane-xerox_mfp.so.1
usr/lib/sane/libsane-xerox_mfp.so.1.0.22
usr/lib/sane/libsane-xerox_mfp.so.1.0.24
usr/sbin/saned
#usr/share/locale/bg/LC_MESSAGES/sane-backends.mo
#usr/share/locale/cs/LC_MESSAGES/sane-backends.mo
@@ -560,8 +574,10 @@ usr/share/locale/de/LC_MESSAGES/sane-backends.mo
#usr/share/man/man5/sane-hs2p.5
#usr/share/man/man5/sane-ibm.5
#usr/share/man/man5/sane-kodak.5
#usr/share/man/man5/sane-kodakaio.5
#usr/share/man/man5/sane-kvs1025.5
#usr/share/man/man5/sane-kvs20xx.5
#usr/share/man/man5/sane-kvs40xx.5
#usr/share/man/man5/sane-leo.5
#usr/share/man/man5/sane-lexmark.5
#usr/share/man/man5/sane-ma1509.5
@@ -572,6 +588,7 @@ usr/share/locale/de/LC_MESSAGES/sane-backends.mo
#usr/share/man/man5/sane-mustek.5
#usr/share/man/man5/sane-mustek_pp.5
#usr/share/man/man5/sane-mustek_usb.5
#usr/share/man/man5/sane-mustek_usb2.5
#usr/share/man/man5/sane-nec.5
#usr/share/man/man5/sane-net.5
#usr/share/man/man5/sane-niash.5
@@ -611,7 +628,6 @@ usr/share/sane/artec_eplus48u
usr/share/sane/epjitsu
usr/share/sane/gt68xx
usr/share/sane/snapscan
#usr/var
#usr/var/lock
usr/var/lock/sane
var/ipfire/backup/addons/includes/sane

View File

@@ -1,6 +1,6 @@
etc/rc.d/init.d/tftpd
usr/bin/tftp
#usr/man/man1/tftp.1
#usr/man/man8/in.tftpd.8
#usr/man/man8/tftpd.8
usr/sbin/tftpd
#var/tftpboot
etc/rc.d/init.d/tftpd

View File

@@ -0,0 +1,4 @@
etc/sysconfig/vdr-plugins.d/vnsiserver5.conf
etc/vdr/plugins/vnsiserver5
etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
usr/lib/vdr/libvdr-vnsiserver5.so.2.0.0

View File

@@ -70,7 +70,7 @@ while (<>) {
$username = $tmp[2]; if ($username eq '') { $username='-'; };
$method = $tmp[3];
$xlrator_url = $source_url;
$xlrator_url = "";
if (($method eq 'GET') || ($method eq 'HEAD'))
{
@@ -212,9 +212,11 @@ while (<>) {
# ----------- ADD NEW SOURCES BEFORE THIS LINE !!! ------------------
}
$request="$xlrator_url $hostaddr $username $method\n";
print $request;
if ($xlrator_url) {
print "OK rewrite-url=\"$xlrator_url\"\n";
} else {
print "ERR\n";
}
}
# -------------------------------------------------------------------

View File

@@ -100,7 +100,7 @@ while($line = <>) {
}
# break if redirector changes data
if($return ne "\n" and $return ne $line ){
if($return ne "ERR\n" and $return ne $line ){
if ( $redirectors->[$i] ne "/usr/sbin/updxlrator"){
if ($debug){
writetolog($redirectors->[$i]." is stopping querry because block was found.");

View File

@@ -0,0 +1,5 @@
# Configuration snippet for vdr-vnsiserver5 -*- sh -*-
#
# Add command line options to pass to the vnsiserver5 plugin to PLUGIN_OPTIONS.
PLUGIN_OPTIONS=""

View File

@@ -18,3 +18,7 @@ other usefull commands from the Dom0:
- shutdown the fire: "xm shutdown ipfire-xen"
- reset the fire: "xm destroy ipfire-xen"
- look what is going on: "xm top" or "xm list"
This script can also build a Citrix XenCenter xva image.
- run "XEN_IMG_TYPE=xva sh xen-image-maker.sh" to build an xva image.
- import the vm with "xe vm-import file=ipfire.xfa"

View File

@@ -17,8 +17,8 @@ vif = [
disk = [
'file:/mnt/test/ipfire-boot.img,xvda1,w',
'file:/mnt/test/ipfire-swap.img,xvda2,w',
'file:/mnt/test/ipfire-root.img,xvda3,w',
'file:/mnt/test/ipfire-var.img,xvda4,w'
'file:./ipfire-boot.img,xvda1,w',
'file:./ipfire-swap.img,xvda2,w',
'file:./ipfire-root.img,xvda3,w',
'file:./ipfire-var.img,xvda4,w'
] #### Change path

View File

@@ -28,23 +28,12 @@ KVER=xxxKVERxxx
KERN_PACK=xxxKERN_PACKxxx
KRNDOWN=http://mirror0.ipfire.org/pakfire2/$VERSION/paks
CONSOLE=hvc0
###############################################################################
# If you really want to use outdated legacy kernel uncomment this lines. #####
# Not recommended!!! ##########################################################
######################
#KERN_TYPE=xen
#KVER=2.6.32.61
#KERN_PACK=29
#KRNDOWN=http://mirror0.ipfire.org/pakfire2/2.15/paks
#CONSOLE=xvc0
###############################################################################
SIZEboot=64
SIZEswap=512
SIZEroot=1024
SIZEvar=1024
# ct'server does not support ext4 so change this to ext3.
FSTYPE=ext4
FSTYPE=ext3
##############################################################################
@@ -62,6 +51,25 @@ IMGvar=./$SNAME-var.img
KERNEL=linux-$KERN_TYPE-$KVER-$KERN_PACK.ipfire
if [ "$XEN_IMG_TYPE" == "xva" ]; then
# download xva.py if it not exist.
if [ ! -e xva.py ]; then
wget http://source.ipfire.org/source-2.x/xva.py
fi
# XenCenter use other devicenames and
# xvdd seems to be reserved (converter bug?).
P1=xvda
P2=xvdb
P3=xvdc
P4=xvde
else
# old style xen image partition names
P1=xvda1
P2=xvda2
P3=xvda3
P4=xvda4
fi
rm -rf $TMPDIR && mkdir -p $MNThdd && mkdir -p $ISODIR
echo --------------------------------------------------------
echo - Download $SOURCEISO ...
@@ -108,7 +116,8 @@ mount -o loop $IMGboot $MNThdd/boot
mount -o loop $IMGvar $MNThdd/var
# Install IPFire without kernel modules
tar -C $MNThdd/ -xvf $ISODIR/$SNAME-$VERSION.tlz --lzma \
xz -d < $ISODIR/$SNAME-$VERSION.tlz > $TMPDIR/$SNAME-$VERSION.tar
tar -C $MNThdd/ -xvf $TMPDIR/$SNAME-$VERSION.tar \
--exclude=lib/modules* --exclude=boot* --numeric-owner
#Install Kernel
@@ -121,7 +130,7 @@ mkdir $MNThdd/boot/grub
echo "timeout 10" > $MNThdd/boot/grub/grub.conf
echo "default 0" >> $MNThdd/boot/grub/grub.conf
echo "title IPFire ($KERN_TYPE-kernel)" >> $MNThdd/boot/grub/grub.conf
echo " kernel /vmlinuz-$KVER-ipfire-$KERN_TYPE root=/dev/xvda3 rootdelay=10 panic=10 console=$CONSOLE ro" \
echo " kernel /vmlinuz-$KVER-ipfire-$KERN_TYPE root=/dev/$P3 rootdelay=10 panic=10 console=$CONSOLE ro" \
>> $MNThdd/boot/grub/grub.conf
echo " initrd /ipfirerd-$KVER-$KERN_TYPE.img" >> $MNThdd/boot/grub/grub.conf
echo "# savedefault 0" >> $MNThdd/boot/grub/grub.conf
@@ -129,16 +138,16 @@ echo "# savedefault 0" >> $MNThdd/boot/grub/grub.conf
ln -s grub.conf $MNThdd/boot/grub/menu.lst
#create the meta-info of linux-kernel package
echo "" > $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
echo "ProgVersion: $KVER" >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
echo "Release: $KERN_PACK" >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
echo "" >> $MNThdd/opt/pakfire/db/meta/linux-$KERN_TYPE
echo "" > $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
echo "ProgVersion: $KVER" >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
echo "Release: $KERN_PACK" >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
echo "" >> $MNThdd/opt/pakfire/db/installed/linux-$KERN_TYPE
echo "" > $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
echo "ProgVersion: $KVER" >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
echo "Release: $KERN_PACK" >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
echo "" >> $MNThdd/opt/pakfire/db/meta/meta-linux-$KERN_TYPE
echo "" > $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
echo "Name: linux-$KERN_TYPE" >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
echo "ProgVersion: $KVER" >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
echo "Release: $KERN_PACK" >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
echo "" >> $MNThdd/opt/pakfire/db/installed/meta-linux-$KERN_TYPE
#Set default configuration
echo "LANGUAGE=en" >> $MNThdd/var/ipfire/main/settings
@@ -150,10 +159,10 @@ mount --bind /proc $MNThdd/proc
mount --bind /dev $MNThdd/dev
mount --bind /sys $MNThdd/sys
chroot $MNThdd /usr/bin/perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
sed -i -e "s|DEVICE1|/dev/xvda1|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE2|/dev/xvda2|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE3|/dev/xvda3|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE4|/dev/xvda4|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE1|/dev/$P1|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE2|/dev/$P2|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE3|/dev/$P3|g" $MNThdd/etc/fstab
sed -i -e "s|DEVICE4|/dev/$P4|g" $MNThdd/etc/fstab
sed -i -e "s|FSTYPE|$FSTYPE|g" $MNThdd/etc/fstab
@@ -192,6 +201,11 @@ umount $MNThdd
umount $ISODIR
rm -rf ./ipfire-tmp
if [ "$XEN_IMG_TYPE" == "xva" ]; then
python xva.py --sparse -c $SNAME.cfg -f $SNAME.xva
rm -f $SNAME*.img
fi
echo --------------------------------------------------------
echo - Done.
echo --------------------------------------------------------

View File

@@ -615,7 +615,6 @@ WARNING: untranslated string: addons
WARNING: untranslated string: bytes
WARNING: untranslated string: community rules
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: dns servers
WARNING: untranslated string: downlink
WARNING: untranslated string: emerging rules
WARNING: untranslated string: first

View File

@@ -647,7 +647,6 @@ WARNING: translation string unused: year-graph
WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
WARNING: untranslated string: dns servers
WARNING: untranslated string: downlink
WARNING: untranslated string: first
WARNING: untranslated string: fwhost err hostip

View File

@@ -632,12 +632,14 @@ WARNING: untranslated string: countries
WARNING: untranslated string: country codes and flags
WARNING: untranslated string: countrycode
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: default
WARNING: untranslated string: deprecated fs warn
WARNING: untranslated string: details
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: dnat address
WARNING: untranslated string: dns servers
WARNING: untranslated string: dnsforward
@@ -648,6 +650,7 @@ WARNING: untranslated string: dnsforward entries
WARNING: untranslated string: dnsforward forward_server
WARNING: untranslated string: dnsforward zone
WARNING: untranslated string: downlink
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: dpd delay
WARNING: untranslated string: dpd timeout
WARNING: untranslated string: drop action

View File

@@ -642,12 +642,14 @@ WARNING: untranslated string: countries
WARNING: untranslated string: country codes and flags
WARNING: untranslated string: countrycode
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: default
WARNING: untranslated string: deprecated fs warn
WARNING: untranslated string: details
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: dnat address
WARNING: untranslated string: dns address deleted txt
WARNING: untranslated string: dns servers
@@ -659,6 +661,7 @@ WARNING: untranslated string: dnsforward entries
WARNING: untranslated string: dnsforward forward_server
WARNING: untranslated string: dnsforward zone
WARNING: untranslated string: downlink
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: dpd delay
WARNING: untranslated string: dpd timeout
WARNING: untranslated string: drop action

View File

@@ -650,11 +650,14 @@ WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: atm device
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
WARNING: untranslated string: default
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: dns servers
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: drop outgoing
WARNING: untranslated string: firewall logs country
WARNING: untranslated string: fwhost err hostip

View File

@@ -632,12 +632,14 @@ WARNING: untranslated string: countries
WARNING: untranslated string: country codes and flags
WARNING: untranslated string: countrycode
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: default
WARNING: untranslated string: deprecated fs warn
WARNING: untranslated string: details
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: dnat address
WARNING: untranslated string: dns servers
WARNING: untranslated string: dnsforward
@@ -648,6 +650,7 @@ WARNING: untranslated string: dnsforward entries
WARNING: untranslated string: dnsforward forward_server
WARNING: untranslated string: dnsforward zone
WARNING: untranslated string: downlink
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: dpd delay
WARNING: untranslated string: dpd timeout
WARNING: untranslated string: drop action

View File

@@ -636,12 +636,14 @@ WARNING: untranslated string: countries
WARNING: untranslated string: country codes and flags
WARNING: untranslated string: countrycode
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: default
WARNING: untranslated string: deprecated fs warn
WARNING: untranslated string: details
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: disk access per
WARNING: untranslated string: dnat address
WARNING: untranslated string: dns servers
@@ -653,6 +655,7 @@ WARNING: untranslated string: dnsforward entries
WARNING: untranslated string: dnsforward forward_server
WARNING: untranslated string: dnsforward zone
WARNING: untranslated string: downlink
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: dpd delay
WARNING: untranslated string: dpd timeout
WARNING: untranslated string: drop action

View File

@@ -648,10 +648,13 @@ WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
WARNING: untranslated string: default
WARNING: untranslated string: dh
WARNING: untranslated string: dh key move failed
WARNING: untranslated string: dh key warn
WARNING: untranslated string: dh key warn1
WARNING: untranslated string: dh parameter
WARNING: untranslated string: download dh parameter
WARNING: untranslated string: firewall logs country
WARNING: untranslated string: fwhost err hostip
WARNING: untranslated string: gen dh

View File

@@ -76,6 +76,7 @@
< countries
< countrycode
< country codes and flags
< default
< default ip
< deprecated fs warn
< details
@@ -83,6 +84,7 @@
< dh key move failed
< dh key warn
< dh key warn1
< dh parameter
< dnat address
< dns address deleted txt
< dnsforward
@@ -92,6 +94,8 @@
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
< dns servers
< download dh parameter
< dpd delay
< dpd timeout
< drop action
@@ -592,6 +596,7 @@
< countries
< countrycode
< country codes and flags
< default
< default ip
< deprecated fs warn
< details
@@ -599,6 +604,7 @@
< dh key move failed
< dh key warn
< dh key warn1
< dh parameter
< dnat address
< dnsforward
< dnsforward add a new entry
@@ -607,6 +613,8 @@
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
< dns servers
< download dh parameter
< dpd delay
< dpd timeout
< drop action
@@ -1099,6 +1107,7 @@
< countries
< countrycode
< country codes and flags
< default
< default ip
< deprecated fs warn
< details
@@ -1106,6 +1115,7 @@
< dh key move failed
< dh key warn
< dh key warn1
< dh parameter
< dnat address
< dnsforward
< dnsforward add a new entry
@@ -1114,6 +1124,8 @@
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
< dns servers
< download dh parameter
< dpd delay
< dpd timeout
< drop action
@@ -1584,6 +1596,7 @@
< countrycode
< country codes and flags
< day-graph
< default
< default ip
< deprecated fs warn
< details
@@ -1591,6 +1604,7 @@
< dh key move failed
< dh key warn
< dh key warn1
< dh parameter
< disk access per
< dnat address
< dnsforward
@@ -1600,6 +1614,8 @@
< dnsforward entries
< dnsforward forward_server
< dnsforward zone
< dns servers
< download dh parameter
< dpd delay
< dpd timeout
< drop action

View File

@@ -13,3 +13,11 @@ Maintainer / advanced commands
toolchain : Create our own toolchain package to save 20% of build time.
shell : Enter a shell inside the chroot, used to tune lfs script
and / or during kernel upgrade to rebuild a new .config
Options:
--target=[armv5tel|i586] : Cross-compile for this target architecture.
Uses the QEMU emulator if needed to virtualise
the desired target architecture.
Can be permanently set with TARGET_ARCH= in
.config.

View File

@@ -172,105 +172,6 @@ sub deletebackupcert
unlink ("${General::swroot}/ovpn/certs/$hexvalue.pem");
}
}
sub checkportfw {
my $DPORT = shift;
my $DPROT = shift;
my %natconfig =();
my $confignat = "${General::swroot}/firewall/config";
$DPROT= uc ($DPROT);
&General::readhasharray($confignat, \%natconfig);
foreach my $key (sort keys %natconfig){
my @portarray = split (/\|/,$natconfig{$key}[30]);
foreach my $value (@portarray){
if ($value =~ /:/i){
my ($a,$b) = split (":",$value);
if ($DPROT eq $natconfig{$key}[12] && $DPORT gt $a && $DPORT lt $b){
$errormessage= "$Lang::tr{'source port in use'} $DPORT";
}
}else{
if ($DPROT eq $natconfig{$key}[12] && $DPORT eq $value){
$errormessage= "$Lang::tr{'source port in use'} $DPORT";
}
}
}
}
return;
}
sub checkportoverlap
{
my $portrange1 = $_[0]; # New port range
my $portrange2 = $_[1]; # existing port range
my @tempr1 = split(/\:/,$portrange1);
my @tempr2 = split(/\:/,$portrange2);
unless (&checkportinc($tempr1[0], $portrange2)){ return 0;}
unless (&checkportinc($tempr1[1], $portrange2)){ return 0;}
unless (&checkportinc($tempr2[0], $portrange1)){ return 0;}
unless (&checkportinc($tempr2[1], $portrange1)){ return 0;}
return 1; # Everything checks out!
}
# Darren Critchley - we want to make sure that a port entry is not within an already existing range
sub checkportinc
{
my $port1 = $_[0]; # Port
my $portrange2 = $_[1]; # Port range
my @tempr1 = split(/\:/,$portrange2);
if ($port1 < $tempr1[0] || $port1 > $tempr1[1]) {
return 1;
} else {
return 0;
}
}
# Darren Critchley - certain ports are reserved for IPFire
# TCP 67,68,81,222,444
# UDP 67,68
# Params passed in -> port, rangeyn, protocol
sub disallowreserved
{
# port 67 and 68 same for tcp and udp, don't bother putting in an array
my $msg = "";
my @tcp_reserved = (81,222,444);
my $prt = $_[0]; # the port or range
my $ryn = $_[1]; # tells us whether or not it is a port range
my $prot = $_[2]; # protocol
my $srcdst = $_[3]; # source or destination
if ($ryn) { # disect port range
if ($srcdst eq "src") {
$msg = "$Lang::tr{'rsvd src port overlap'}";
} else {
$msg = "$Lang::tr{'rsvd dst port overlap'}";
}
my @tmprng = split(/\:/,$prt);
unless (67 < $tmprng[0] || 67 > $tmprng[1]) { $errormessage="$msg 67"; return; }
unless (68 < $tmprng[0] || 68 > $tmprng[1]) { $errormessage="$msg 68"; return; }
if ($prot eq "tcp") {
foreach my $prange (@tcp_reserved) {
unless ($prange < $tmprng[0] || $prange > $tmprng[1]) { $errormessage="$msg $prange"; return; }
}
}
} else {
if ($srcdst eq "src") {
$msg = "$Lang::tr{'reserved src port'}";
} else {
$msg = "$Lang::tr{'reserved dst port'}";
}
if ($prt == 67) { $errormessage="$msg 67"; return; }
if ($prt == 68) { $errormessage="$msg 68"; return; }
if ($prot eq "tcp") {
foreach my $prange (@tcp_reserved) {
if ($prange == $prt) { $errormessage="$msg $prange"; return; }
}
}
}
return;
}
sub writeserverconf {
my %sovpnsettings = ();
@@ -369,7 +270,7 @@ sub writeserverconf {
print CONF "auth $sovpnsettings{'DAUTH'}\n";
}
if ($sovpnsettings{'TLSAUTH'} eq 'on') {
print CONF "tls-auth ${General::swroot}/ovpn/ca/ta.key 0\n";
print CONF "tls-auth ${General::swroot}/ovpn/certs/ta.key\n";
}
if ($sovpnsettings{DCOMPLZO} eq 'on') {
print CONF "comp-lzo\n";
@@ -810,13 +711,6 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
$vpnsettings{'MSSFIX'} = $cgiparams{'MSSFIX'};
}
# Create ta.key for tls-auth if not presant
if ($cgiparams{'TLSAUTH'} eq 'on') {
if ( ! -e "${General::swroot}/ovpn/ca/ta.key") {
system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/ca/ta.key")
}
}
if (($cgiparams{'PMTU_DISCOVERY'} eq 'yes') ||
($cgiparams{'PMTU_DISCOVERY'} eq 'maybe') ||
($cgiparams{'PMTU_DISCOVERY'} eq 'no' )) {
@@ -915,6 +809,16 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
$errormessage = $Lang::tr{'invalid input for keepalive 1:2'};
goto ADV_ERROR;
}
# Create ta.key for tls-auth if not presant
if ($cgiparams{'TLSAUTH'} eq 'on') {
if ( ! -e "${General::swroot}/ovpn/certs/ta.key") {
system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
if ($?) {
$errormessage = "$Lang::tr{'openssl produced an error'}: $?";
goto ADV_ERROR;
}
}
}
&General::writehash("${General::swroot}/ovpn/settings", \%vpnsettings);
&writeserverconf();#hier ok
@@ -1119,7 +1023,6 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
### Save main settings
###
if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {
&General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
#DAN do we really need (to to check) this value? Besides if we listen on blue and orange too,
@@ -1130,13 +1033,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
goto SETTINGS_ERROR;
}
}
if ($errormessage) { goto SETTINGS_ERROR; }
if ($cgiparams{'ENABLED'} eq 'on'){
&checkportfw($cgiparams{'DDEST_PORT'},$cgiparams{'DPROTOCOL'});
}
if ($errormessage) { goto SETTINGS_ERROR; }
if (! &General::validipandmask($cgiparams{'DOVPN_SUBNET'})) {
$errormessage = $Lang::tr{'ovpn subnet is invalid'};
goto SETTINGS_ERROR;
@@ -1621,6 +1518,18 @@ END
print `/usr/bin/openssl x509 -in ${General::swroot}/ovpn/certs/servercert.pem`;
exit(0);
}
###
### Download Diffie-Hellman parameter
###
}elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download dh parameter'}) {
if ( -f "${General::swroot}/ovpn/ca/dh1024.pem" ) {
print "Content-Type: application/octet-stream\r\n";
print "Content-Disposition: filename=dh1024.pem\r\n\r\n";
print `/usr/bin/openssl dhparam -in ${General::swroot}/ovpn/ca/dh1024.pem`;
exit(0);
}
###
### Form for generating a root certificate
###
@@ -1944,7 +1853,14 @@ END
goto ROOTCERT_ERROR;
# } else {
# &cleanssldatabase();
}
}
# Create ta.key for tls-auth
system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
if ($?) {
$errormessage = "$Lang::tr{'openssl produced an error'}: $?";
&cleanssldatabase();
goto ROOTCERT_ERROR;
}
goto ROOTCERT_SUCCESS;
}
ROOTCERT_ERROR:
@@ -2286,8 +2202,8 @@ else
print CLIENTCONF "auth $vpnsettings{'DAUTH'}\r\n";
}
if ($vpnsettings{'TLSAUTH'} eq 'on') {
print CLIENTCONF "tls-auth ta.key 1\r\n";
$zip->addFile( "${General::swroot}/ovpn/ca/ta.key", "ta.key") or die "Can't add file ta.key\n";
print CLIENTCONF "tls-auth ta.key\r\n";
$zip->addFile( "${General::swroot}/ovpn/certs/ta.key", "ta.key") or die "Can't add file ta.key\n";
}
if ($vpnsettings{DCOMPLZO} eq 'on') {
print CLIENTCONF "comp-lzo\r\n";
@@ -2511,20 +2427,8 @@ ADV_ERROR:
if ($cgiparams{'DAUTH'} eq '') {
$cgiparams{'DAUTH'} = 'SHA1';
}
if ($cgiparams{'DAUTH'} eq '') {
$cgiparams{'DAUTH'} = 'SHA1';
}
if ($cgiparams{'ENGINES'} eq '') {
$cgiparams{'ENGINES'} = 'disabled';
}
if ($cgiparams{'TLSAUTH'} eq '') {
$cgiparams{'TLSAUTH'} = 'off';
}
if ($cgiparams{'DAUTH'} eq '') {
$cgiparams{'DAUTH'} = 'SHA1';
}
if ($cgiparams{'TLSAUTH'} eq '') {
$cgiparams{'TLSAUTH'} = 'off';
$cgiparams{'TLSAUTH'} = 'off';
}
$checked{'CLIENT2CLIENT'}{'off'} = '';
$checked{'CLIENT2CLIENT'}{'on'} = '';
@@ -4576,7 +4480,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
<option value='CAMELLIA-256-CBC' $selected{'DCIPHER'}{'CAMELLIA-256-CBC'}>CAMELLIA-CBC (256 $Lang::tr{'bit'})</option>
<option value='CAMELLIA-192-CBC' $selected{'DCIPHER'}{'CAMELLIA-192-CBC'}>CAMELLIA-CBC (192 $Lang::tr{'bit'})</option>
<option value='CAMELLIA-128-CBC' $selected{'DCIPHER'}{'CAMELLIA-128-CBC'}>CAMELLIA-CBC (128 $Lang::tr{'bit'})</option>
<option value='AES-256-CBC' $selected{'DCIPHER'}{'AES-256-CBC'}>AES-CBC (256 $Lang::tr{'bit'})</option>
<option value='AES-256-CBC' $selected{'DCIPHER'}{'AES-256-CBC'}>AES-CBC (256 $Lang::tr{'bit'}, $Lang::tr{'default'})</option>
<option value='AES-192-CBC' $selected{'DCIPHER'}{'AES-192-CBC'}>AES-CBC (192 $Lang::tr{'bit'})</option>
<option value='AES-128-CBC' $selected{'DCIPHER'}{'AES-128-CBC'}>AES-CBC (128 $Lang::tr{'bit'})</option>
<option value='DES-EDE3-CBC' $selected{'DCIPHER'}{'DES-EDE3-CBC'}>DES-EDE3-CBC (192 $Lang::tr{'bit'})</option>
@@ -4927,9 +4831,6 @@ END
if ($cgiparams{'DAUTH'} eq '') {
$cgiparams{'DAUTH'} = 'SHA1';
}
if ($cgiparams{'ENGINES'} eq '') {
$cgiparams{'ENGINES'} = 'disabled';
}
if ($cgiparams{'DOVPN_SUBNET'} eq '') {
$cgiparams{'DOVPN_SUBNET'} = '10.' . int(rand(256)) . '.' . int(rand(256)) . '.0/255.255.255.0';
}
@@ -5325,7 +5226,9 @@ END
END
;
my $col1="bgcolor='$color{'color22'}'";
my $col2="bgcolor='$color{'color20'}'";
my $col2="bgcolor='$color{'color20'}'";
my $col3="bgcolor='$color{'color22'}'";
if (-f "${General::swroot}/ovpn/ca/cacert.pem") {
my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/cacert.pem`;
$casubject =~ /Subject: (.*)[\n]/;
@@ -5391,6 +5294,39 @@ END
;
}
# Adding DH parameter to chart
if (-f "${General::swroot}/ovpn/ca/dh1024.pem") {
my $dhsubject = `/usr/bin/openssl dhparam -text -in ${General::swroot}/ovpn/ca/dh1024.pem`;
$dhsubject =~ /PKCS#3 (.*)[\n]/;
$dhsubject = $1;
print <<END;
<tr>
<td class='base' $col3>$Lang::tr{'dh parameter'}</td>
<td class='base' $col3>$dhsubject</td>
<form method='post' name='frmdhparam'><td width='3%' align='center' $col3>
<input type='hidden' name='ACTION' value='$Lang::tr{'show dh'}' />
<input type='image' name='$Lang::tr{'show dh'}' src='/images/info.gif' alt='$Lang::tr{'show dh'}' title='$Lang::tr{'show dh'}' width='20' height='20' border='0' />
</td></form>
<form method='post' name='frmdhparam'><td width='3%' align='center' $col3>
<input type='image' name="$Lang::tr{'download dh parameter'}" src='/images/media-floppy.png' alt="$Lang::tr{'download dh parameter'}" title="$Lang::tr{'download dh parameter'}" border='0' />
<input type='hidden' name='ACTION' value="$Lang::tr{'download dh parameter'}" />
</td></form>
<td width='4%' $col3>&nbsp;</td></tr>
END
;
} else {
# Nothing
print <<END;
<tr>
<td width='25%' class='base' $col3>$Lang::tr{'dh parameter'}:</td>
<td class='base' $col3>$Lang::tr{'not present'}</td>
</td><td colspan='3' $col3>&nbsp;</td></tr>
END
;
}
if (! -f "${General::swroot}/ovpn/ca/cacert.pem") {
print "<tr><td colspan='5' align='center'><form method='post'>";
print "<input type='submit' name='ACTION' value='$Lang::tr{'generate root/host certificates'}' />";
@@ -5462,7 +5398,7 @@ END
<tr><td colspan=4><hr /></td></tr><tr>
<tr>
<td class'base'><b>$Lang::tr{'ovpn dh parameters'}:</b></td>
<td class'base'><b>$Lang::tr{'ovpn dh parameters'}</b></td>
</tr>
<tr>
@@ -5476,9 +5412,6 @@ END
<td nowrap='nowrap'><size='15' align='left'/></td>
<td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'generate dh key'}' /></td>
</tr>
<tr>
<td colspan='4' align='right'><input type='submit' name='ACTION' value='$Lang::tr{'show dh'}' /></td>
</tr>
</table>
<tr><td colspan=4><hr /></td></tr><tr>

View File

@@ -635,6 +635,7 @@
'december' => 'Dezember',
'deep scan directories' => 'rekursiv scannen',
'def lease time' => 'Standardzeit für Zuordnung',
'default' => 'Voreinstellung',
'default ip' => 'Standard IP-Adresse',
'default lease time' => 'Haltezeit-Voreinstellung in min:',
'default networks' => 'Standard Netzwerke',
@@ -666,6 +667,7 @@
'dh key move failed' => 'Verschieben der Diffie-Hellman-Parameter fehlgeschlagen.',
'dh key warn' => 'Das Generieren der Diffie-Hellman-Parameter mit 1024 oder 2048 Bit dauert üblicherweise mehrere Minuten. Schlüssellängen von 3072 oder 4096 Bit beanspruchen mehrere Stunden. Bitte haben Sie etwas Geduld.',
'dh key warn1' => 'Bei schwachen Systemen oder Systeme mit wenig Entropie wird empfohlen lange Diffie-Hellman-Parameter über die Upload-Funktion hochzuladen.',
'dh parameter' => 'Diffie-Hellman-Parameter',
'dhcp advopt add' => 'DHCP Option hinzufügen',
'dhcp advopt added' => 'DHCP Option hinzugefügt',
'dhcp advopt blank value' => 'Wert für DHCP Option darf nicht leer sein',
@@ -739,6 +741,7 @@
'dns saved' => 'Erfolgreich gespeichert!',
'dns saved txt' => 'Die beiden eingegebenen DNS-Server-Adressen wurde erfolgreich gespeichert.<br/>Um die Änderung wirksam zu machen, müssen Sie neustarten oder wiederverbinden!',
'dns server' => 'DNS Server',
'dns servers' => 'DNS-Server',
'dns title' => 'Domain Name System',
'dnsforward' => 'DNS-Weiterleitung',
'dnsforward add a new entry' => 'Neuen Eintrag hinzufügen',
@@ -767,6 +770,7 @@
'download' => 'herunterladen',
'download ca certificate' => 'CA-Zertifikat herunterladen',
'download certificate' => 'Zertifikate herunterladen',
'download dh parameter' => 'Diffie-Hellman-Parameter herunterladen',
'download host certificate' => 'Host-Zertifikat herunterladen',
'download new ruleset' => 'Neuen Regelsatz herunterladen',
'download pkcs12 file' => 'PKCS12-Datei herunterladen',

View File

@@ -657,6 +657,7 @@
'december' => 'December',
'deep scan directories' => 'Scan recursive',
'def lease time' => 'Default Lease Time',
'default' => 'Default',
'default ip' => 'Default IP address',
'default lease time' => 'Default lease time (mins):',
'default networks' => 'Default networks',
@@ -689,6 +690,7 @@
'dh key warn' => 'Creating Diffie-Hellman parameters with lengths of 1024 or 2048 bits takes up to several minutes. Lengths of 3072 or 4096 bits might needs several hours. Please be patient.',
'dh key warn1' => 'For weak systems or systems with little entropy, it is recommended to upload long Diffie-Hellman parameters by usage of the upload function.',
'dh name is invalid' => 'Name is invalid, please use "dh1024.pem".',
'dh parameter' => 'Diffie-Hellman parameters',
'dhcp advopt add' => 'Add a DHCP option',
'dhcp advopt added' => 'DHCP option added',
'dhcp advopt blank value' => 'DHCP Option value cannot be empty.',
@@ -764,6 +766,7 @@
'dns saved' => 'Successfully saved!',
'dns saved txt' => 'The two entered DNS server addresses have been saved successfully.<br />You have to reboot or reconnect that the changes have effect!',
'dns server' => 'DNS Server',
'dns servers' => 'DNS Servers',
'dns title' => 'Domain Name System',
'dnsforward' => 'DNS Forwarding',
'dnsforward add a new entry' => 'Add a new entry',
@@ -793,6 +796,7 @@
'download' => 'download',
'download ca certificate' => 'Download CA certificate',
'download certificate' => 'Download certificate',
'download dh parameter' => 'Download Diffie-Hellman parameters',
'download host certificate' => 'Download host certificate',
'download new ruleset' => 'Download new ruleset',
'download pkcs12 file' => 'Download PKCS12 file',

View File

@@ -57,8 +57,6 @@ DIR_CONF = $(LFS_BASEDIR)/config
DIR_INFO = $(LFS_BASEDIR)/log
DIR_TMP = /tmp
KGCC = gcc
###############################################################################
# Common Macro Definitions
###############################################################################

View File

@@ -24,7 +24,7 @@
include Config
VER = 0.8.7h
VER = 0.8.8b
THISAPP = cacti-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = cacti
PAK_VER = 4
PAK_VER = 5
DEPS = "netsnmpd mysql"
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 58c9371341f49a190ae11a85118e598d
$(DL_FILE)_MD5 = acb40deae073ca22e5c01a8e3ba389fb
install : $(TARGET)
@@ -54,7 +54,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
@@ -78,6 +77,21 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-legal.patch
cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch
cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-html-injection.patch
cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch
cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-rra-comments.patch
cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch
cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch
cp -vf \
$(DIR_SRC)/config/cacti/d.gif \
$(DIR_SRC)/config/cacti/d.png \
$(DIR_SRC)/config/cacti/throbber.gif \
$(DIR_APP)/include/js/jquery/themes/default/
cd $(DIR_APP) && rm -rf include/treeview
@rm -rf /var/cacti /usr/share/cacti
mkdir -pv /var/cacti /usr/share/cacti
@@ -92,6 +106,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
ln -s /var/cacti/log /usr/share/cacti/log
ln -s /var/cacti/rra /usr/share/cacti/rra
-mkdir -pv /etc/logrotate.d
install -v -m 644 $(DIR_SRC)/config/cacti/cacti.logrotate /etc/logrotate.d/cacti
chown -R nobody:nobody /var/cacti/rra /var/cacti/log
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/e1000e
VER = 2.5.4
VER = 3.0.4
THISAPP = e1000e-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 8a57fc73335bf1ab0e16a02ecccdae76
$(DL_FILE)_MD5 = 2d8364cd2043ef5c71291a4ca8b8084e
install : $(TARGET)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2009 Michael Tremer & Christian Schmidt #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,17 +24,13 @@
include Config
VER = 0.9.7
VER = 3.15
THISAPP = icecc-$(VER)
DL_FILE = $(THISAPP).tar.bz2
THISAPP = hostname_$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
DIR_APP = $(DIR_SRC)/hostname
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = icecc
PAK_VER = 3
DEPS = ""
###############################################################################
# Top-level Rules
@@ -44,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = c06900c2f4011428d0d48826a04f74fb
$(DL_FILE)_MD5 = f93c87de2517850de5f47234e3bcb563
install : $(TARGET)
@@ -54,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
@@ -76,12 +69,9 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/icecream-rename-scheduler.patch
cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/icecream-0.9.7-platform-arm.patch
cd $(DIR_APP) && ./configure \
--prefix=/opt/icecream
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/hostname-rh.patch
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install BINDIR=/bin
@rm -rf $(DIR_APP)
@$(POSTBUILD)

137
lfs/icinga Normal file
View File

@@ -0,0 +1,137 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 1.11.4
PLUGIN_VER = 2.0.2
THISAPP = icinga-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = icinga
PAK_VER = 1
DEPS = ""
CFLAGS += -fno-strict-aliasing
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE) nagios-plugins-$(PLUGIN_VER).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
nagios-plugins-$(PLUGIN_VER).tar.gz = \
$(DL_FROM)/nagios-plugins-$(PLUGIN_VER).tar.gz
$(DL_FILE)_MD5 = cfe64b91ec84f5431e53959e31ff07b5
nagios-plugins-$(PLUGIN_VER).tar.gz_MD5 = 2f6d9c43adcf9f024175e48a44d099d4
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
@rm -rf $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && cd $(DIR_SRC) && \
tar axf $(DIR_DL)/nagios-plugins-$(PLUGIN_VER).tar.gz
# Compile core
cd $(DIR_APP) && \
./configure \
--prefix=/usr \
--sysconfdir=/etc/icinga \
--datadir=/usr/share/icinga \
--datarootdir=/usr/share/icinga \
--sbindir=/usr/share/icinga/cgi-bin \
--localstatedir=/var/icinga \
--libdir=/usr/lib/icinga \
--libexecdir=/usr/lib/icinga/plugins \
--with-lockfile=/var/run/icinga.pid \
--with-httpd-conf=/etc/httpd/conf/conf.d \
--with-icinga-user=nobody \
--with-icinga-group=nobody \
--enable-event-broker \
--enable-embedded-perl \
--disable-idoutils
cd $(DIR_APP) && make all $(MAKETUNING)
# Compile plugins
cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && \
./configure \
--prefix=/usr \
--libexecdir=/usr/lib/icinga/plugins \
--with-nagios-user=nobody \
--with-nagios-group=nobody
cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make $(MAKETUNING)
# Install core
cd $(DIR_APP) && make \
install install-init install-commandmode install-config \
install-webconf install-eventhandlers
rm -vf /etc/httpd/conf/conf.d/icinga.conf
install -v -m 644 $(DIR_SRC)/config/icinga/icinga.conf \
/etc/httpd/conf/vhosts.d/icinga.conf
# Install plugins
cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make install
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc3.d/S67icinga
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc0.d/K33icinga
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc6.d/K33icinga
install -v -m 644 $(DIR_SRC)/config/backup/includes/icinga \
/var/ipfire/backup/addons/includes/icinga
@rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER)
@$(POSTBUILD)

View File

@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/intel/igb/
VER = 5.0.6
VER = 5.1.2
THISAPP = igb-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 701717fbbba6065af4ff5138bd3a3a9c
$(DL_FILE)_MD5 = c222b04f7e43afffc105d0d0db60c6c0
install : $(TARGET)

View File

@@ -74,6 +74,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/iputils-20020927-rh.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/iputils-glibckernheaders.patch
cd $(DIR_APP) && make ping
cd $(DIR_APP) && install -m 0755 ping /usr/bin
cd $(DIR_APP) && install -m 4755 ping /usr/bin
# Some scripts expect ping in /bin/ping.
ln -svf ../usr/bin/ping /bin/ping
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -24,10 +24,10 @@
include Config
VER = 3.10.39
VER = 3.10.41
RPI_PATCHES = linux-3.10.38-grsec-1b49b45
GRS_PATCHES = grsecurity-2.9.1-3.10.39-ipfire1.patch.xz
GRS_PATCHES = grsecurity-2.9.1-3.10.41-ipfire1.patch.xz
THISAPP = linux-$(VER)
DL_FILE = linux-$(VER).tar.xz
@@ -36,7 +36,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
CFLAGS =
CXXFLAGS =
PAK_VER = 44
PAK_VER = 46
DEPS = ""
VERSUFIX=ipfire$(KCFG)
@@ -74,9 +74,9 @@ $(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz
$(GRS_PATCHES) = $(URL_IPFIRE)/$(GRS_PATCHES)
$(DL_FILE)_MD5 = 74db7cc558a1a72ebf5044d286e2bc47
$(DL_FILE)_MD5 = 08631db3e6b4328b0315f59ef3fa7b0a
rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = a7408e8bad57b4b2cb677dd5a0bfb7ff
$(GRS_PATCHES)_MD5 = 6296b7ec4146544249075249e338ceb3
$(GRS_PATCHES)_MD5 = de48891a35952a3c6de5beea694f7557
install : $(TARGET)
@@ -120,6 +120,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Layer7-patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10-layer7-filter.patch
# pie packet scheduler
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.39-pie_packet_sch.patch
# Grsecurity-patches
ifneq "$(KCFG)" "-headers"
cd $(DIR_APP) && xz -c -d $(DIR_DL)/$(GRS_PATCHES) | patch -Np1
@@ -250,26 +253,26 @@ else
# Cleanup kernel source
cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE)-$(VERSUFIX) $(DIR_APP)/.config
cd $(DIR_APP) && make CC="$(KGCC)" oldconfig
cd $(DIR_APP) && make CC="$(KGCC)" clean
cd $(DIR_APP) && make oldconfig
cd $(DIR_APP) && make clean
cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =.*/EXTRAVERSION\ =\ -$(VERSUFIX)/' Makefile
ifeq "$(KCFG)" "-kirkwood"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" uImage modules
cd $(DIR_APP) && make $(MAKETUNING) uImage modules
cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/uImage-$(VERSUFIX)
else
ifeq "$(KCFG)" "-multi"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" zImage modules
cd $(DIR_APP) && make $(MAKETUNING) zImage modules
cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/zImage-$(VERSUFIX)
else
ifeq "$(KCFG)" "-rpi"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" zImage modules
cd $(DIR_APP) && make $(MAKETUNING) zImage modules
cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/kernel.img
else
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage modules
cd $(DIR_APP) && make $(MAKETUNING) bzImage modules
cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
ln -sf vmlinuz-$(VER)-$(VERSUFIX) /boot/vmlinuz-$(VERSUFIX)
endif
@@ -278,11 +281,11 @@ endif
cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v .config /boot/config-$(VER)-$(VERSUFIX)
ln -sf System.map-$(VER)-$(VERSUFIX) /boot/System.map-$(VERSUFIX)
cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) firmware_install
cd $(DIR_APP) && make $(MAKETUNING) modules_install
cd $(DIR_APP) && make $(MAKETUNING) firmware_install
ifeq "$(MACHINE_TYPE)" "arm"
cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) dtbs
cd $(DIR_APP) && make $(MAKETUNING) dtbs
cd $(DIR_APP) && for f in $$(find arch/arm/boot/dts/ -name *.dtb); do \
mkdir -p /boot/dtb-$(VER)-$(VERSUFIX) ; \
install -m 644 $$f /boot/dtb-$(VER)-$(VERSUFIX)/ ; \

View File

@@ -69,6 +69,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/net-tools-1.60-no-hostname.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-gcc34-3.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-kernel_headers-3.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/$(THISAPP)-mii_ioctl-1.patch

View File

@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = i586
PROG = qemu
PAK_VER = 13
PAK_VER = 14
DEPS = "sdl"

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
VER = 1.0.22
VER = 1.0.24
THISAPP = sane-$(VER)
DL_FILE = sane-backends-$(VER).tar.gz
@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/sane-backends-$(VER)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = sane
PAK_VER = 2
PAK_VER = 3
DEPS = "libtiff"
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = fadf56a60f4776bfb24491f66b617cf5
$(DL_FILE)_MD5 = 1ca68e536cd7c1852322822f5f6ac3a4
install : $(TARGET)

View File

@@ -118,7 +118,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--disable-wccpv2 \
--enable-icap-client \
--disable-esi \
--enable-zph-qos
--enable-zph-qos \
--disable-arch-native
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = squidclamav
PAK_VER = 17
PAK_VER = 19
DEPS = "clamav"
@@ -78,6 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-dont_use_ipv6.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-squid-helper-protocol.patch
cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make install
install -v -m 664 $(DIR_CONF)/squidclamav/squidclamav.conf /etc/squidclamav.conf

View File

@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squidguard-1.4-squid-helper-protocol.patch
cd $(DIR_APP) && ./configure --prefix=/usr --datadir=/usr/share \
--sysconfdir=/etc --localstatedir=/var --infodir=/usr/info --mandir=/usr/man \
--with-sg-config=/var/ipfire/urlfilter/squidGuard.conf \

View File

@@ -24,7 +24,7 @@
include Config
VER = 1.8.10p1
VER = 1.8.10p3
THISAPP = sudo-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 1d9c2bc5aaf02608343d17b9a666e8e1
$(DL_FILE)_MD5 = fcd8d0d9f9f0397d076ee901e242ed39
install : $(TARGET)
@@ -79,7 +79,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--with-env-editor \
--with-ignore-dot \
--with-tty-tickets \
--with-passpromt="[sudo] password for %p: "
--with-passpromt="[sudo] password for %p: " \
--without-pam
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2013 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
VER = 2.82
VER = 2.83
THISAPP = transmission-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = transmission
PAK_VER = 9
PAK_VER = 10
DEPS = "libevent2"
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = a5ef870c0410b12d10449c2d36fa4661
$(DL_FILE)_MD5 = 4620cfbfefee2ce55a6fa12c3ec330a7
install : $(TARGET)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# Copyright (C) 2007-2013 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,13 +24,23 @@
include Config
VER = 1.4.2
THISAPP = inetutils-$(VER)
VER = 1.0.0
THISAPP = vdr-vnsiserver5-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = vdr_vnsiserver5
PAK_VER = 1
DEPS = "vdr"
VDRPLUGVER = 2.0.0
EXTRA_FLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
CFLAGS += $(EXTRA_FLAGS)
CXXFLAGS += $(EXTRA_FLAGS)
###############################################################################
# Top-level Rules
@@ -38,18 +48,21 @@ TARGET = $(DIR_INFO)/$(THISAPP)
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = df0909a586ddac2b7a0d62795eea4206
$(DL_FILE)_MD5 = 3d1a0b21d11187e43a56f9e4cf7cb1c9
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
download : $(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
@@ -70,19 +83,17 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4_fixes-3.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-daemon_fixes-1.patch
cd $(DIR_APP) && sed -i '/#include/a #include <stdlib.h>' libicmp/icmp_timestamp.c
cd $(DIR_APP) && ./configure --prefix=/usr --libexecdir=/usr/sbin \
--sysconfdir=/etc --localstatedir=/var \
--mandir=/usr/share/man --infodir=/usr/share/info \
--disable-logger --disable-syslogd --disable-telnet --disable-telnetd
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
mv -v /usr/bin/ping /bin
# Don't use whois command from here.
rm -vf /usr/bin/whois
cd $(DIR_APP) && make $(MAKE_TUNING) LIBDIR=. VDRDIR=/usr/lib/vdr \
CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
LOCALEDIR=$$(pwd)/locale all
-mkdir -pv /etc/vdr/plugins/vnsiserver5
cd $(DIR_APP) && install -m 755 libvdr-vnsiserver5.so \
/usr/lib/vdr/libvdr-vnsiserver5.so.$(VDRPLUGVER)
ln -svf ../../svdrphosts.conf /etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
install -m 644 $(DIR_SRC)/config/vdr/plugins.d/vnsiserver5.conf \
/etc/sysconfig/vdr-plugins.d
@rm -rf $(DIR_APP)
@$(POSTBUILD)

145
make.sh
View File

@@ -26,7 +26,7 @@ NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.15" # Version number
CORE="78" # Core Level (Filename)
PAKFIRE_CORE="77" # Core Level (PAKFIRE)
PAKFIRE_CORE="78" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
@@ -34,16 +34,13 @@ NICE=10 # Nice level
MAX_RETRIES=1 # prefetch/check loop
BUILD_IMAGES=1 # Flash and Xen Downloader
KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
MACHINE=`uname -m`
GIT_TAG=$(git tag | tail -1) # Git Tag
GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
TOOLCHAINVER=7
BUILDMACHINE=$MACHINE
if [ "$MACHINE" = "x86_64" ]; then
BUILDMACHINE="i686";
fi
# New architecture variables
BUILD_ARCH="$(uname -m)"
BUILDMACHINE="${BUILD_ARCH}"
# Debian specific settings
if [ ! -e /etc/debian_version ]; then
@@ -72,6 +69,12 @@ if [ -f .config ]; then
. .config
fi
if [ -n "${TARGET_ARCH}" ]; then
configure_target "${TARGET_ARCH}"
else
configure_target "default"
fi
if [ -z $EDITOR ]; then
for i in nano emacs vi; do
EDITOR=$(which $i 2>/dev/null)
@@ -241,7 +244,7 @@ prepareenv() {
buildtoolchain() {
local error=false
case "${MACHINE}:$(uname -m)" in
case "${TARGET_ARCH}:${BUILD_ARCH}" in
# x86
i586:i586|i586:i686|i586:x86_64)
# These are working.
@@ -352,7 +355,7 @@ buildbase() {
lfsmake2 groff
lfsmake2 gperf
lfsmake2 gzip
lfsmake2 inetutils
lfsmake2 hostname
lfsmake2 iproute2
lfsmake2 jwhois
lfsmake2 kbd
@@ -399,61 +402,62 @@ buildipfire() {
ipfiremake bc
ipfiremake u-boot
if [ "${MACHINE_TYPE}" != "arm" ]; then
case "${TARGET_ARCH}" in
i586)
# x86-pae (Native and new XEN) kernel build
ipfiremake linux KCFG="-pae"
# ipfiremake kvm-kmod KCFG="-pae"
# ipfiremake v4l-dvb KCFG="-pae"
# ipfiremake mISDN KCFG="-pae"
ipfiremake cryptodev KCFG="-pae"
# ipfiremake compat-drivers KCFG="-pae"
# ipfiremake r8169 KCFG="-pae"
# ipfiremake r8168 KCFG="-pae"
# ipfiremake r8101 KCFG="-pae"
ipfiremake e1000e KCFG="-pae"
ipfiremake igb KCFG="-pae"
# x86-pae (Native and new XEN) kernel build
ipfiremake linux KCFG="-pae"
# ipfiremake kvm-kmod KCFG="-pae"
# ipfiremake v4l-dvb KCFG="-pae"
# ipfiremake mISDN KCFG="-pae"
ipfiremake cryptodev KCFG="-pae"
# ipfiremake compat-drivers KCFG="-pae"
# ipfiremake r8169 KCFG="-pae"
# ipfiremake r8168 KCFG="-pae"
# ipfiremake r8101 KCFG="-pae"
ipfiremake e1000e KCFG="-pae"
ipfiremake igb KCFG="-pae"
# x86 kernel build
ipfiremake linux KCFG=""
# ipfiremake kvm-kmod KCFG=""
# ipfiremake v4l-dvb KCFG=""
# ipfiremake mISDN KCFG=""
ipfiremake cryptodev KCFG=""
# ipfiremake compat-drivers KCFG=""
# ipfiremake r8169 KCFG=""
# ipfiremake r8168 KCFG=""
# ipfiremake r8101 KCFG=""
ipfiremake e1000e KCFG=""
ipfiremake igb KCFG=""
;;
# x86 kernel build
ipfiremake linux KCFG=""
# ipfiremake kvm-kmod KCFG=""
# ipfiremake v4l-dvb KCFG=""
# ipfiremake mISDN KCFG=""
ipfiremake cryptodev KCFG=""
# ipfiremake compat-drivers KCFG=""
# ipfiremake r8169 KCFG=""
# ipfiremake r8168 KCFG=""
# ipfiremake r8101 KCFG=""
ipfiremake e1000e KCFG=""
ipfiremake igb KCFG=""
armv5tel)
# arm-rpi (Raspberry Pi) kernel build
ipfiremake linux KCFG="-rpi"
# ipfiremake v4l-dvb KCFG="-rpi"
# ipfiremake mISDN KCFG="-rpi" NOPCI=1
ipfiremake cryptodev KCFG="-rpi"
# ipfiremake compat-drivers KCFG="-rpi"
else
# arm-rpi (Raspberry Pi) kernel build
ipfiremake linux KCFG="-rpi"
# ipfiremake v4l-dvb KCFG="-rpi"
# ipfiremake mISDN KCFG="-rpi" NOPCI=1
ipfiremake cryptodev KCFG="-rpi"
# ipfiremake compat-drivers KCFG="-rpi"
# arm multi platform (Panda, Wandboard ...) kernel build
ipfiremake linux KCFG="-multi"
ipfiremake cryptodev KCFG="-multi"
ipfiremake e1000e KCFG="-multi"
ipfiremake igb KCFG="-multi"
# arm multi platform (Panda, Wandboard ...) kernel build
ipfiremake linux KCFG="-multi"
ipfiremake cryptodev KCFG="-multi"
ipfiremake e1000e KCFG="-multi"
ipfiremake igb KCFG="-multi"
# arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
ipfiremake linux KCFG="-kirkwood"
# ipfiremake v4l-dvb KCFG="-kirkwood"
# ipfiremake mISDN KCFG="-kirkwood"
ipfiremake cryptodev KCFG="-kirkwood"
# ipfiremake compat-drivers KCFG="-kirkwood"
# ipfiremake r8169 KCFG="-kirkwood"
# ipfiremake r8168 KCFG="-kirkwood"
# ipfiremake r8101 KCFG="-kirkwood"
# ipfiremake e1000e KCFG="-kirkwood"
ipfiremake igb KCFG="-kirkwood"
fi
# arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
ipfiremake linux KCFG="-kirkwood"
# ipfiremake v4l-dvb KCFG="-kirkwood"
# ipfiremake mISDN KCFG="-kirkwood"
ipfiremake cryptodev KCFG="-kirkwood"
# ipfiremake compat-drivers KCFG="-kirkwood"
# ipfiremake r8169 KCFG="-kirkwood"
# ipfiremake r8168 KCFG="-kirkwood"
# ipfiremake r8101 KCFG="-kirkwood"
# ipfiremake e1000e KCFG="-kirkwood"
ipfiremake igb KCFG="-kirkwood"
;;
esac
ipfiremake pkg-config
ipfiremake linux-atm
ipfiremake cpio
@@ -669,8 +673,10 @@ buildipfire() {
ipfiremake netpbm
ipfiremake phpSANE
ipfiremake tunctl
ipfiremake netsnmpd
ipfiremake nagios
ipfiremake nagios_nrpe
ipfiremake icinga
ipfiremake ebtables
ipfiremake directfb
ipfiremake dfb++
@@ -678,6 +684,7 @@ buildipfire() {
ipfiremake ffmpeg
ipfiremake vdr
ipfiremake vdr_streamdev
ipfiremake vdr_vnsiserver5
ipfiremake vdr_vnsiserver3
ipfiremake vdr_epgsearch
ipfiremake vdr_dvbapi
@@ -715,13 +722,11 @@ buildipfire() {
ipfiremake perl-Sort-Naturally
ipfiremake vdradmin
ipfiremake miau
ipfiremake netsnmpd
ipfiremake perl-DBI
ipfiremake perl-DBD-mysql
ipfiremake perl-DBD-SQLite
ipfiremake perl-File-ReadBackwards
ipfiremake cacti
ipfiremake icecc
ipfiremake openvmtools
ipfiremake nagiosql
ipfiremake iftop
@@ -898,6 +903,22 @@ ipfirepackages() {
rm -rf $BASEDIR/build/install/packages/*
}
while [ $# -gt 0 ]; do
case "${1}" in
--target=*)
configure_target "${1#--target=}"
;;
-*)
exiterror "Unknown configuration option: ${1}"
;;
*)
# Found a command, so exit options parsing.
break
;;
esac
shift
done
# See what we're supposed to do
case "$1" in
build)

View File

@@ -120,10 +120,10 @@ iptables_init() {
iptables -N IPTVFORWARD
iptables -A FORWARD -j IPTVFORWARD
# filtering from GUI
iptables -N GUIINPUT
iptables -A INPUT -j GUIINPUT
iptables -A GUIINPUT -p icmp --icmp-type 8 -j ACCEPT
# Allow to ping the firewall.
iptables -N ICMPINPUT
iptables -A INPUT -j ICMPINPUT
iptables -A ICMPINPUT -p icmp --icmp-type 8 -j ACCEPT
# Accept everything on loopback
iptables -N LOOPBACK
@@ -179,7 +179,10 @@ iptables_init() {
iptables -t nat -A POSTROUTING -j IPSECNAT
# localhost and ethernet.
iptables -A INPUT -i $GREEN_DEV -m conntrack --ctstate NEW -j ACCEPT ! -p icmp
# Always allow accessing the web GUI from GREEN.
iptables -N GUIINPUT
iptables -A INPUT -j GUIINPUT
iptables -A GUIINPUT -i "${GREEN_DEV}" -p tcp --dport 444 -j ACCEPT
# WIRELESS chains
iptables -N WIRELESSINPUT

View File

@@ -1,62 +0,0 @@
#!/bin/sh
########################################################################
# Begin $rc_base/init.d/icecream
#
# Description : This is a script that starts the icecream daemon.
#
# Authors : Michael Tremer (mitch@ipfire.org)
#
# Version : 01.00
#
# Notes :
#
########################################################################
. /etc/sysconfig/rc
. ${rc_functions}
#SCHEDULER=minerva.ipfire.org
ENABLE_SCHEDULER=on
JOBS=8
case "${1}" in
start)
boot_mesg "Starting Icecream Daemon..."
ARGS="-d -m ${JOBS}"
if [ -n "${SCHEDULER}" ]; then
ARGS="${ARGS} -s ${SCHEDULER}"
fi
/opt/icecream/sbin/iceccd ${ARGS}
evaluate_retval
if [ "${ENABLE_SCHEDULER}" = "on" ]; then
/opt/icecream/sbin/icecc-scheduler -d
fi
;;
stop)
boot_mesg "Stopping Icecream Daemon..."
killproc /opt/icecream/sbin/iceccd
if [ "${ENABLE_SCHEDULER}" = "on" ]; then
killproc /opt/icecream/sbin/icecc-scheduler
fi
;;
restart)
${0} stop
sleep 1
${0} start
;;
status)
statusproc /opt/icecream/sbin/iceccd
;;
*)
echo "Usage: ${0} {start|stop|reload|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/icecream

View File

@@ -43,10 +43,7 @@ case "$1" in
(
sleep 3
pid=$(cat /var/run/sshd.pid 2>/dev/null)
[ -n "${pid}" ] && [ -e "/proc/${pid}/oom_score_adj" ] && \
echo "-16" > "/proc/${pid}/oom_score_adj" || \
[ -e "/proc/${pid}/oom_adj" ] && \
echo "-16" > "/proc/${pid}/oom_adj"
[ -n "${pid}" ] && echo "-16" > "/proc/${pid}/oom_score_adj"
) &
;;

View File

@@ -321,10 +321,10 @@ int main(int argc, char *argv[])
swap_file = memory / 4;
/* Calculating Root-Size dependend of Max Disk Space */
if ( disk < 756 )
root_partition = 200;
else if ( disk >= 756 && disk <= 3072 )
root_partition = 512;
if ( disk < 2048 )
root_partition = 1024;
else if ( disk >= 2048 && disk <= 3072 )
root_partition = 1536;
else
root_partition = 2048;

View File

@@ -23,7 +23,4 @@
#
. /opt/pakfire/lib/functions.sh
extract_files
mysqladmin --user=root -pmysqlfire create cacti
mysql --user=root -pmysqlfire cacti < /usr/share/cacti/cacti.sql
mysql --user=root -pmysqlfire -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';" mysql
/etc/init.d/apache restart

View File

@@ -22,5 +22,6 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
stop_service vdr
extract_files
start_service --delay 90 --background icecream
start_service --background vdr

View File

@@ -22,5 +22,6 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
stop_service icecream
stop_service vdr
remove_files
start_service vdr --background

View File

@@ -22,5 +22,5 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
/etc/init.d/icecream stop
./uninstall.sh
./install.sh

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,607 @@
Description: treeview has a license issue, cacti upstream is going to replace it
with functionality from jquery.jstree.
.
This patch implements the changes needed for an upstream layout where the
necessary code is in cacti/include/js/jquery/ but the code in that path is
not included in this patch.
.
The necessary jquery scripts and theme info can come from cacti upstream and from
debian packages (libjs-jquery and libjs-jquery-cookie) The version used when
creating this patch can be found here:
http://svn.cacti.net/viewvc/cacti/branches/0.8.9/include/js/jquery/jquery.js?pathrev=7324
http://svn.cacti.net/viewvc/cacti/branches/0.8.9/include/js/jquery/jquery.jstree.js?pathrev=7324
http://svn.cacti.net/viewvc/cacti/branches/main/include/js/jquery/themes/default/?pathrev=7324
http://anonscm.debian.org/gitweb/?p=pkg-javascript/jquery-goodies.git;a=blob;f=cookie/jquery.cookie.js;hb=c50e1a2d599cb48893e8d77470e71e83e44dfdb5
.
This patch does NOT implement the changes needed for the Debian package of
cacti.
.
This patch was updated with the patch from Jan Zalesak <zalesak@jaw.cz> in
http://bugs.debian.org/702690 which was further improved to also cover
lib/graph_export.php and to keep tag alignment consistent.
Bug: http://bugs.cacti.net/view.php?id=2228
Bug-Debian: http://bugs.debian.org/679980
Author: Paul Gevers <elbrus@debian.org>
Date: Sun, 31 Mar 2013 11:59:05 +0200
--- a/include/top_graph_header.php
+++ b/include/top_graph_header.php
@@ -84,8 +84,9 @@
<link href="<?php echo $config['url_path']; ?>include/main.css" type="text/css" rel="stylesheet">
<link href="<?php echo $config['url_path']; ?>images/favicon.ico" rel="shortcut icon"/>
<script type="text/javascript" src="<?php echo $config['url_path']; ?>include/layout.js"></script>
- <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/treeview/ua.js"></script>
- <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/treeview/ftiens4.js"></script>
+ <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.js" language="javascript"></script>
+ <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.cookie.js" language="javascript"></script>
+ <script type="text/javascript" src="<?php echo $config['url_path']; ?>include/js/jquery/jquery.jstree.js"></script>
<script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/calendar.js"></script>
<script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/lang/calendar-en.js"></script>
<script type="text/javascript" src="<?php echo $config['url_path']; ?>include/jscalendar/calendar-setup.js"></script>
@@ -178,7 +179,6 @@
<td valign="top" style="padding: 5px; border-right: #aaaaaa 1px solid;background-repeat:repeat-y;background-color:#efefef;" bgcolor='#efefef' width='<?php print htmlspecialchars(read_graph_config_option("default_dual_pane_width"));?>' class='noprint'>
<table border=0 cellpadding=0 cellspacing=0><tr><td><a style="font-size:7pt;text-decoration:none;color:silver" href="http://www.treemenu.net/" target=_blank></a></td></tr></table>
<?php grow_dhtml_trees(); ?>
- <script type="text/javascript">initializeDocument();</script>
<?php if (isset($_GET["select_first"])) { ?>
<script type="text/javascript">
--- a/lib/graph_export.php
+++ b/lib/graph_export.php
@@ -1365,15 +1365,6 @@
/* create the treeview representation for the html data */
grow_dhtml_trees_export($fp,$tree_id);
- fwrite($fp,"<script type='text/javascript'>initializeDocument();</script>\n");
- fwrite($fp,"<script type='text/javascript'>\n");
- fwrite($fp,"var obj;\n");
- fwrite($fp,"obj = findObj(1);\n");
- fwrite($fp,"if (!obj.isOpen) {\n");
- fwrite($fp,"clickOnNode(1);\n");
- fwrite($fp,"}\n");
- fwrite($fp,"clickOnLink(2,'','main');\n");
- fwrite($fp,"</script>\n");
fwrite($fp,"</td>\n");
fwrite($fp,"<td valign='top'>\n");
}
@@ -1383,16 +1374,7 @@
include_once($config["library_path"] . "/tree.php");
include_once($config["library_path"] . "/data_query.php");
- fwrite($fp, "<script type='text/javascript'>\n");
- fwrite($fp, "<!--
- USETEXTLINKS = 1
- STARTALLOPEN = 0
- USEFRAMES = 0
- USEICONS = 0
- WRAPTEXT = 1
- ICONPATH = 'treeview/'
- PERSERVESTATE = 1
- HIGHLIGHT = 1\n");
+ fwrite($fp, "<div id=\"jtree\">\n");
if (read_config_option("export_tree_isolation") == "off") {
$dhtml_tree_base = 0;
@@ -1413,9 +1395,34 @@
}
}
- fwrite($fp,"foldersTree.treeID = \"t2\"
- //-->\n
- </script>\n");
+ fwrite($fp, "</div>\n");
+ fwrite($fp, "<script type=\"text/javascript\">\n");
+ fwrite($fp, "$(function () {
+ $(\"#jtree\")
+ .jstree({
+ \"plugins\" : [\"ui\",\"themes\",\"html_data\",\"cookies\"],
+ \"themes\" : {\"icons\" : false,
+ \"url\" : \"./js/style.css\"},
+ \"cookies\" : {
+ \"save_opened\" : \"Cacti_jstree_open\",
+ \"save_selected\" : \"Cacti_jstree_select\"
+ }
+
+ })
+
+ // Make sure that the nodes are actually used as links
+ // We need reselect to prevent endless loops
+ // https://groups.google.com/d/topic/jstree/j6XNq9hQdeA/discussion
+ .bind(\"reselect.jstree\", function (e, data) {
+ data.inst.get_container().bind(\"select_node.jstree\", function (e, data) {
+ // data.rstl.obj is the object that was selected.
+ document.location.href = data.rslt.obj.children(\"a\").attr(\"href\");
+ });
+ });
+
+});\n");
+ fwrite($fp, "</script>\n");
+
}
/* get_graph_tree_array_export - returns a list of graph trees taking permissions into account if
@@ -1478,8 +1485,7 @@
$dhtml_tree = array();
$dhtml_tree[0] = $start;
$dhtml_tree[1] = read_graph_config_option("expand_hosts");
- $dhtml_tree[2] = "foldersTree = gFld(\"\", \"\")\n";
- $i = 2;
+ $i = 1;
$tree_list = get_graph_tree_array_export();
@@ -1499,7 +1505,6 @@
if (((read_config_option("export_tree_isolation") == "on") && ($tree_id == $tree["id"])) ||
(read_config_option("export_tree_isolation") == "off")) {
- $i++;
$hier_sql = "SELECT DISTINCT
graph_tree_items.id,
@@ -1522,19 +1527,53 @@
$dhtml_tree_id = 0;
if (sizeof($hierarchy) > 0) {
+ $last_tier = 1;
+ $openli = false;
+ $lasthost = false;
+ $opentree = false;
foreach ($hierarchy as $leaf) {
if ($dhtml_tree_id <> $tree["id"]) {
- $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . get_tree_name($tree["id"]) . "\", \"" . clean_up_export_name(get_tree_name($tree["id"])) . "_leaf.html\"))\n";
+ if ($opentree) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t</li>\n\t</ul>\n";
+ }
+ $i++;
+ $clean_id = clean_up_export_name(get_tree_name($tree["id"]));
+ $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . "_leaf.html\">" . get_tree_name($tree["id"]) . "</a>\n\t\t\t<ul>\n";
+ $opentree = true;
}
$dhtml_tree_id = $tree["id"];
- $i++;
$tier = tree_tier($leaf["order_key"]);
if ($leaf["host_id"] > 0) { //It's a host
- $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . ($tier-1) . ", gFld(\"Host: " . $leaf["hostname"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_" . $leaf["id"]) . ".html\"))\n";
+ if ($tier > $last_tier) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t<ul>\n";
+ } elseif ($tier < $last_tier) {
+ if (!$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ }
+ for ($x = $tier; $x < $last_tier; $x++) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ } elseif ($openli && !$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ $last_tier = $tier;
+ $lasthost = true;
+ $i++;
+ $clean_id = clean_up_export_name($leaf["hostname"] . "_" . $leaf["id"]);
+ $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">Host: " . htmlspecialchars($leaf["hostname"]) . "</a>\n";
if (read_config_option("export_tree_expand_hosts") == "on") {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t<ul>\n";
if ($leaf["host_grouping_type"] == HOST_GROUPING_GRAPH_TEMPLATE) {
$graph_templates = db_fetch_assoc("SELECT
graph_templates.id,
@@ -1552,7 +1591,8 @@
if (sizeof($graph_templates) > 0) {
foreach ($graph_templates as $graph_template) {
$i++;
- $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . $graph_template["name"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_gt_" . $leaf["id"]) . "_" . $graph_template["id"] . ".html\"))\n";
+ $clean_id = clean_up_export_name($leaf["hostname"] . "_gt_" . $leaf["id"] . "_" . $graph_template["id"]);
+ $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($graph_template["name"]) . "</a></li>\n";
}
}
}else if ($leaf["host_grouping_type"] == HOST_GROUPING_DATA_QUERY_INDEX) {
@@ -1567,36 +1607,77 @@
array_push($data_queries, array(
"id" => "0",
- "name" => "Graph Template Based"
+ "name" => "Non Query Based"
));
if (sizeof($data_queries) > 0) {
- foreach ($data_queries as $data_query) {
- $i++;
-
- $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . $data_query["name"] . "\", \"" . clean_up_export_name($leaf["hostname"] . "_dq_" . $leaf["title"] . "_" . $leaf["id"]) . "_" . $data_query["id"] . ".html\"))\n";
+ foreach ($data_queries as $data_query) {
+ $i++;
+ $clean_id = clean_up_export_name($leaf["hostname"] . "_dq_" . $leaf["title"] . "_" . $leaf["id"] . "_" . $data_query["id"]);
+ $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($data_query["name"]) . "</a>\n";
- /* fetch a list of field names that are sorted by the preferred sort field */
- $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
+ /* fetch a list of field names that are sorted by the preferred sort field */
+ $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
- if ($data_query["id"] > 0) {
- while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
+ if ($data_query["id"] > 0) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t<ul>\n";
+ while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
+ $i++;
+ $clean_id = clean_up_export_name($leaf["hostname"] . "_dqi_" . $leaf["id"] . "_" . $data_query["id"] . "_" . $snmp_index);
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . ".html\">" . htmlspecialchars($sort_field_value) . "</a></li>\n";
+ }
$i++;
- $dhtml_tree[$i] = "ou" . ($tier+2) . " = insFld(ou" . ($tier+1) . ", gFld(\" " . $sort_field_value . "\", \"" . clean_up_export_name($leaf["hostname"] . "_dqi_" . $leaf["title"] . "_" . $leaf["id"]) . "_" . $data_query["id"] . "_" . $snmp_index . ".html\"))\n";
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t</ul>\n";
}
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
}
}
- }
}
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n";
}
- }else {
- $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . ($tier-1) . ", gFld(\"" . $leaf["title"] . "\", \"" . clean_up_export_name(get_tree_name($tree["id"]) . "_" . $leaf["title"] . "_" . $leaf["id"]) . "_leaf.html\"))\n";
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ }else { //It's not a host
+ if ($tier > $last_tier) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t<ul>\n";
+ } elseif ($tier < $last_tier) {
+ if (!$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "</li>\n";
+ }
+ for ($x = $tier; $x < $last_tier; $x++) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</ul>\n\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ } elseif ($openli && !$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "</li>\n";
+ $openli = false;
+ }
+ $last_tier = $tier;
+ $i++;
+ $clean_id = clean_up_export_name(get_tree_name($tree["id"]) . "_" . $leaf["title"] . "_" . $leaf["id"]);
+ $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . $clean_id . "\"><a href=\"" . $clean_id . "_leaf.html\">" . htmlspecialchars($leaf["title"]) . "</a>\n";
+ $openli = true;
+ $lasthost = false;
}
}
+ for ($x = $last_tier; $x > 1; $x--) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n\t\t\t\t</li>\n";
+ }
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t</li>\n\t</ul>\n";
}else{
if ($dhtml_tree_id <> $tree["id"]) {
- $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . get_tree_name($tree["id"]) . "\", \"" . clean_up_export_name(get_tree_name($tree["id"])) . "_leaf.html\"))\n";
$i++;
+ $clean_id = clean_up_export_name(get_tree_name($tree["id"]));
+ $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . $clean_id . "_leaf\"><a href=\"" . $clean_id . "_leaf.html\">" . get_tree_name($tree["id"]) . "</a></li>\n\t</ul>";
}
}
}
@@ -1612,10 +1693,10 @@
$dir - the export directory where graphs will either be staged or located.
*/
function create_export_directory_structure($cacti_root_path, $dir) {
- /* create the treeview sub-directory */
- if (!is_dir("$dir/treeview")) {
- if (!mkdir("$dir/treeview", 0755)) {
- export_fatal("Create directory '" . $dir . "/treeview' failed. Can not continue");
+ /* create the jquery sub-directory */
+ if (!is_dir("$dir/js")) {
+ if (!mkdir("$dir/js", 0755)) {
+ export_fatal("Create directory '" . $dir . "/js' failed. Can not continue");
}
}
@@ -1626,8 +1707,6 @@
}
}
- $treeview_dir = $dir . "/treeview";
-
/* css */
copy("$cacti_root_path/include/main.css", "$dir/main.css");
@@ -1639,18 +1718,15 @@
copy("$cacti_root_path/images/shadow_gray.gif", "$dir/shadow_gray.gif");
/* java scripts for the tree */
- copy("$cacti_root_path/include/treeview/ftiens4_export.js", "$treeview_dir/ftiens4.js");
- copy("$cacti_root_path/include/treeview/ua.js", "$treeview_dir/ua.js");
-
- /* images for the tree */
- copy("$cacti_root_path/include/treeview/ftv2blank.gif", "$treeview_dir/ftv2blank.gif");
- copy("$cacti_root_path/include/treeview/ftv2lastnode.gif", "$treeview_dir/ftv2lastnode.gif");
- copy("$cacti_root_path/include/treeview/ftv2mlastnode.gif", "$treeview_dir/ftv2mlastnode.gif");
- copy("$cacti_root_path/include/treeview/ftv2mnode.gif", "$treeview_dir/ftv2mnode.gif");
- copy("$cacti_root_path/include/treeview/ftv2node.gif", "$treeview_dir/ftv2node.gif");
- copy("$cacti_root_path/include/treeview/ftv2plastnode.gif", "$treeview_dir/ftv2plastnode.gif");
- copy("$cacti_root_path/include/treeview/ftv2pnode.gif", "$treeview_dir/ftv2pnode.gif");
- copy("$cacti_root_path/include/treeview/ftv2vertline.gif", "$treeview_dir/ftv2vertline.gif");
+ copy("$cacti_root_path/include/js/jquery/jquery.js", "$dir/js/jquery.js");
+ copy("$cacti_root_path/include/js/jquery/jquery.jstree.js", "$dir/js/jquery.jstree.js");
+ copy("$cacti_root_path/include/js/jquery/jquery.cookie.js", "$dir/js/jquery.cookie.js");
+
+ /* theme info for java scripts */
+ copy("$cacti_root_path/include/js/jquery/themes/default/style.css", "$dir/js/style.css");
+ copy("$cacti_root_path/include/js/jquery/themes/default/d.png", "$dir/js/d.png");
+ copy("$cacti_root_path/include/js/jquery/themes/default/d.gif", "$dir/js/d.gif");
+ copy("$cacti_root_path/include/js/jquery/themes/default/throbber.gif", "$dir/js/throbber.gif");
}
function get_host_description($host_id) {
@@ -1738,8 +1814,9 @@
<meta http-equiv=refresh content='300'; url='index.html'>
<meta http-equiv=Pragma content=no-cache>
<meta http-equiv=cache-control content=no-cache>
- <script type=\"text/javascript\" src=\"./treeview/ua.js\"></script>
- <script type=\"text/javascript\" src=\"./treeview/ftiens4.js\"></script>
+ <script type=\"text/javascript\" src=\"./js/jquery.js\" language=\"javascript\"></script>
+ <script type=\"text/javascript\" src=\"./js/jquery.cookie.js\" language=\"javascript\"></script>
+ <script type=\"text/javascript\" src=\"./js/jquery.jstree.js\" language=\"javascript\"></script>
</head>
<body>
<table style='width:100%;height:100%;' cellspacing='0' cellpadding='0'>
--- a/lib/html_tree.php
+++ b/lib/html_tree.php
@@ -495,17 +495,9 @@
include_once($config["library_path"] . "/data_query.php");
?>
- <script type="text/javascript">
- <!--
- USETEXTLINKS = 1
- STARTALLOPEN = 0
- USEFRAMES = 0
- USEICONS = 0
- WRAPTEXT = 1
- PERSERVESTATE = 1
- HIGHLIGHT = 1
<?php
/* get current time */
+/* Probably not needed anymore as jstree uses jquery.cookies
list($micro,$seconds) = explode(" ", microtime());
$current_time = $seconds + $micro;
$expand_hosts = read_graph_config_option("expand_hosts");
@@ -522,6 +514,8 @@
$dhtml_tree = $_SESSION['dhtml_tree'];
}
}
+*/
+ $dhtml_tree = create_dhtml_tree();
$total_tree_items = sizeof($dhtml_tree) - 1;
@@ -529,8 +523,31 @@
print $dhtml_tree[$i];
}
?>
- //-->
- </script>
+<script type="text/javascript">
+$(function () {
+ $("#jtree")
+ .jstree({
+ "plugins" : ["ui","themes","html_data","cookies"],
+ "themes" : {"icons" : false,
+ "url" : "<?php echo $config['url_path']; ?>include/js/jquery/themes/default/style.css"},
+ "cookies" : {
+ "save_opened" : "Cacti_jstree_open",
+ "save_selected" : "Cacti_jstree_select"
+ }
+ })
+
+ // Make sure that the nodes are actually used as links
+ // We need reselect to prevent endless loops
+ // https://groups.google.com/d/topic/jstree/j6XNq9hQdeA/discussion
+ .bind("reselect.jstree", function (e, data) {
+ data.inst.get_container().bind("select_node.jstree", function (e, data) {
+ // data.rstl.obj is the object that was selected.
+ document.location.href = data.rslt.obj.children("a").attr("href");
+ });
+ });
+
+});
+</script>
<?php
}
@@ -543,9 +560,8 @@
$dhtml_tree[0] = $start;
$dhtml_tree[1] = read_graph_config_option("expand_hosts");
- $dhtml_tree[2] = "foldersTree = gFld(\"\", \"\")\n";
- $dhtml_tree[3] = "foldersTree.xID = \"root\"\n";
- $i = 3;
+ $dhtml_tree[2] = "\n<div id=\"jtree\">\n";
+ $i = 2;
$tree_list = get_graph_tree_array();
@@ -567,7 +583,6 @@
if (sizeof($tree_list) > 0) {
foreach ($tree_list as $tree) {
- $i++;
$hierarchy = db_fetch_assoc("select
graph_tree_items.id,
graph_tree_items.title,
@@ -583,21 +598,45 @@
and graph_tree_items.local_graph_id = 0
order by graph_tree_items.order_key");
- $dhtml_tree[$i] = "ou0 = insFld(foldersTree, gFld(\"" . htmlspecialchars($tree["name"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"]) . "\"))\n";
$i++;
- $dhtml_tree[$i] = "ou0.xID = \"tree_" . $tree["id"] . "\"\n";
+ $dhtml_tree[$i] = "\t<ul>\n\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"]) . "\">" . htmlspecialchars($tree["name"]) . "</a>\n";
if (sizeof($hierarchy) > 0) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t<ul>\n";
+ $last_tier = 1;
+ $openli = false;
+ $lasthost = false;
foreach ($hierarchy as $leaf) {
- $i++;
$tier = tree_tier($leaf["order_key"]);
- if ($leaf["host_id"] > 0) {
- $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . abs(($tier-1)) . ", gFld(\"" . "Host: " . htmlspecialchars($leaf["hostname"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\"))\n";
+ if ($leaf["host_id"] > 0) { //It's a host
+ if ($tier > $last_tier) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t<ul>\n";
+ } elseif ($tier < $last_tier) {
+ if (!$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ }
+ for ($x = $tier; $x < $last_tier; $x++) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t</ul>\n\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ } elseif ($openli && !$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ $last_tier = $tier;
+ $lasthost = true;
$i++;
- $dhtml_tree[$i] = "ou" . ($tier) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "\"\n";
+ $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\">Host: " . htmlspecialchars($leaf["hostname"]) . "</a>\n";
if (read_graph_config_option("expand_hosts") == "on") {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t<ul>\n";
if ($leaf["host_grouping_type"] == HOST_GROUPING_GRAPH_TEMPLATE) {
$graph_templates = db_fetch_assoc("select
graph_templates.id,
@@ -612,9 +651,7 @@
if (sizeof($graph_templates) > 0) {
foreach ($graph_templates as $graph_template) {
$i++;
- $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . htmlspecialchars($graph_template["name"]) . "\", \"graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=graph_template:" . $graph_template["id"] . "\"))\n";
- $i++;
- $dhtml_tree[$i] = "ou" . ($tier+1) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_gt_" . $graph_template["id"] . "\"\n";
+ $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_gt_" . $graph_template["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=graph_template:" . $graph_template["id"]) . "\">" . htmlspecialchars($graph_template["name"]) . "</a></li>\n";
}
}
}else if ($leaf["host_grouping_type"] == HOST_GROUPING_DATA_QUERY_INDEX) {
@@ -645,33 +682,71 @@
if ((($data_query["id"] == 0) && ($non_template_graphs > 0)) ||
(($data_query["id"] > 0) && (sizeof($sort_field_data) > 0))) {
$i++;
- $dhtml_tree[$i] = "ou" . ($tier+1) . " = insFld(ou" . ($tier) . ", gFld(\" " . htmlspecialchars($data_query["name"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query:" . $data_query["id"]) . "\"))\n";
- $i++;
- $dhtml_tree[$i] = "ou" . ($tier+1) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dq_" . $data_query["id"] . "\"\n";
-
+ $dhtml_tree[$i] = "\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dq_" . $data_query["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query:" . $data_query["id"]) . "\">" . htmlspecialchars($data_query["name"]) . "</a>\n";
if ($data_query["id"] > 0) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t<ul>\n";
while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
$i++;
- $dhtml_tree[$i] = "ou" . ($tier+2) . " = insFld(ou" . ($tier+1) . ", gFld(\" " . htmlspecialchars($sort_field_value) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query_index:" . $data_query["id"] . ":" . urlencode($snmp_index)) . "\"))\n";
- $i++;
- $dhtml_tree[$i] = "ou" . ($tier+2) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dqi" . $data_query["id"] . "_" . urlencode($snmp_index) . "\"\n";
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "_hgd_dqi" . $data_query["id"]) . "_" . urlencode($snmp_index) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"] . "&host_group_data=data_query_index:" . $data_query["id"] . ":" . urlencode($snmp_index)) . "\">" . htmlspecialchars($sort_field_value) . "</a></li>\n";
}
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t</ul>\n";
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
}
}
}
}
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t\t</li>\n";
+ }
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n";
+ }
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</li>\n";
+ }else{ //It's not a host
+ if ($tier > $last_tier) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t<ul>\n";
+ } elseif ($tier < $last_tier) {
+ if (!$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "</li>\n";
}
+ for ($x = $tier; $x < $last_tier; $x++) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t</ul>\n\t\t\t\t</li>\n";
+ $openli = false;
+ }
+ } elseif ($openli && !$lasthost) {
+ $i++;
+ $dhtml_tree[$i] = "</li>\n";
+ $openli = false;
}
- }else{
- $dhtml_tree[$i] = "ou" . ($tier) . " = insFld(ou" . abs(($tier-1)) . ", gFld(\"" . htmlspecialchars($leaf["title"]) . "\", \"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\"))\n";
+ $last_tier = $tier;
$i++;
- $dhtml_tree[$i] = "ou" . ($tier) . ".xID = \"tree_" . $tree["id"] . "_leaf_" . $leaf["id"] . "\"\n";
+ $dhtml_tree[$i] = "\t\t\t\t<li id=\"" . htmlspecialchars("tree_" . $tree["id"] . "_leaf_" . $leaf["id"]) . "\"><a href=\"" . htmlspecialchars("graph_view.php?action=tree&tree_id=" . $tree["id"] . "&leaf_id=" . $leaf["id"]) . "\">" . htmlspecialchars($leaf["title"]) . "</a>\n";
+ $openli = true;
+ $lasthost = false;
}
}
+ for ($x = $last_tier; $x > 1; $x--) {
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t\t\t</ul>\n\t\t\t\t</li>\n";
+ }
+ $i++;
+ $dhtml_tree[$i] = "\t\t\t</ul>\n";
}
+ $i++;
+ $dhtml_tree[$i] = "\t\t</li>\n\t</ul>\n";
}
}
+ $i++;
+ $dhtml_tree[$i] = "</div>\n";
+
return $dhtml_tree;
}
@@ -758,14 +833,6 @@
}
}
- print "<script type=\"text/javascript\">\n";
- print "<!--\n";
- print "myNode = findObj(\"$nodeid\")\n";
- print "myNode.forceOpeningOfAncestorFolders();\n";
- print "highlightObjLink(myNode)\n";
- print "//-->\n";
- print "</script>";
-
/* ================= input validation ================= */
input_validate_input_number(get_request_var_post("graphs"));
input_validate_input_number(get_request_var_post("page"));

View File

@@ -0,0 +1,19 @@
------------------------------------------------------------------------
r7443 | rony | 2014-03-30 18:43:28 -0500 (Sun, 30 Mar 2014) | 2 lines
bug#0002431: CVE-2014-2326 Unspecified HTML Injection Vulnerability
------------------------------------------------------------------------
Index: branches/0.8.8/cdef.php
===================================================================
--- branches/0.8.8/cdef.php (revision 7442)
+++ branches/0.8.8/cdef.php (revision 7443)
@@ -431,7 +431,7 @@
<a class="linkEditMain" href="<?php print htmlspecialchars("cdef.php?action=item_edit&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>">Item #<?php print htmlspecialchars($i);?></a>
</td>
<td>
- <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print get_cdef_item_name($cdef_item["id"]);?></strong>
+ <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print htmlspecialchars(get_cdef_item_name($cdef_item["id"]));?></strong>
</td>
<td>
<a href="<?php print htmlspecialchars("cdef.php?action=item_movedown&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>"><img src="images/move_down.gif" border="0" alt="Move Down"></a>

View File

@@ -0,0 +1,28 @@
------------------------------------------------------------------------
r7442 | rony | 2014-03-30 18:41:56 -0500 (Sun, 30 Mar 2014) | 2 lines
bug#0002433: CVE-2014-2328 Unspecified Remote Command Execution Vulnerability
------------------------------------------------------------------------
Index: branches/0.8.8/lib/graph_export.php
===================================================================
--- branches/0.8.8/lib/graph_export.php (revision 7441)
+++ branches/0.8.8/lib/graph_export.php (revision 7442)
@@ -339,7 +339,7 @@
chdir($stExportDir);
/* set the initial command structure */
- $stExecute = 'ncftpput -R -V -r 1 -u '.$aFtpExport['username'].' -p '.$aFtpExport['password'];
+ $stExecute = 'ncftpput -R -V -r 1 -u ' . cacti_escapeshellarg($aFtpExport['username']) . ' -p ' . cacti_escapeshellarg($aFtpExport['password']);
/* if the user requested passive mode, use it */
if ($aFtpExport['passive']) {
@@ -347,7 +347,7 @@
}
/* setup the port, server, remote directory and all files */
- $stExecute .= ' -P ' . $aFtpExport['port'] . ' ' . $aFtpExport['server'] . ' ' . $aFtpExport['remotedir'] . ".";
+ $stExecute .= ' -P ' . cacti_escapeshellarg($aFtpExport['port']) . ' ' . cacti_escapeshellarg($aFtpExport['server']) . ' ' . cacti_escapeshellarg($aFtpExport['remotedir']) . ".";
/* run the command */
$iExecuteReturns = 0;

View File

@@ -0,0 +1,42 @@
------------------------------------------------------------------------
r7418 | gandalf | 2013-08-13 13:32:49 -0600 (Tue, 13 Aug 2013) | 1 line
fix COMMENT handling, even in case COMMENT is empty, with or without HR and with variable substitution
------------------------------------------------------------------------
Index: branches/0.8.8/lib/rrd.php
===================================================================
--- branches/0.8.8/lib/rrd.php (revision 7417)
+++ branches/0.8.8/lib/rrd.php (revision 7418)
@@ -1343,20 +1343,20 @@
$need_rrd_nl = TRUE;
if ($graph_item_types{$graph_item["graph_type_id"]} == "COMMENT") {
+ # perform variable substitution first (in case this will yield an empty results or brings command injection problems)
+ $comment_arg = rrd_substitute_host_query_data($graph_variables["text_format"][$graph_item_id], $graph, $graph_item);
+ # next, compute the argument of the COMMENT statement and perform injection counter measures
+ if (trim($comment_arg) == '') { # an empty COMMENT must be treated with care
+ $comment_arg = cacti_escapeshellarg(' ' . $hardreturn[$graph_item_id]);
+ } else {
+ $comment_arg = cacti_escapeshellarg($comment_arg . $hardreturn[$graph_item_id]);
+ }
+
+ # create rrdtool specific command line
if (read_config_option("rrdtool_version") != "rrd-1.0.x") {
- $comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id])) . " ";
- if (trim($comment_string) == 'COMMENT:"\n"') {
- $txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
- } else if (trim($comment_string) != "COMMENT:\"\"") {
- $txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
- }
+ $txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", $comment_arg) . " ";
}else {
- $comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id]) . " ";
- if (trim($comment_string) == 'COMMENT:"\n"') {
- $txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
- } else if (trim($comment_string) != "COMMENT:\"\"") {
- $txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
- }
+ $txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . $comment_arg . " ";
}
}elseif (($graph_item_types{$graph_item["graph_type_id"]} == "GPRINT") && (!isset($graph_data_array["graph_nolegend"]))) {
$graph_variables["text_format"][$graph_item_id] = str_replace(":", "\:", $graph_variables["text_format"][$graph_item_id]); /* escape colons */

View File

@@ -0,0 +1,155 @@
------------------------------------------------------------------------
r7420 | cigamit | 2013-08-17 21:41:24 -0600 (Sat, 17 Aug 2013) | 1 line
Bug #0002383 : Sanitize the step and id variables
------------------------------------------------------------------------
Index: branches/0.8.8/host.php
===================================================================
--- branches/0.8.8/host.php (revision 7419)
+++ branches/0.8.8/host.php (revision 7420)
@@ -149,6 +149,9 @@
if ($_POST["snmp_version"] == 3 && ($_POST["snmp_password"] != $_POST["snmp_password_confirm"])) {
raise_message(4);
}else{
+ input_validate_input_number(get_request_var_post("id"));
+ input_validate_input_number(get_request_var_post("host_template_id"));
+
$host_id = api_device_save($_POST["id"], $_POST["host_template_id"], $_POST["description"],
trim($_POST["hostname"]), $_POST["snmp_community"], $_POST["snmp_version"],
$_POST["snmp_username"], $_POST["snmp_password"],
Index: branches/0.8.8/lib/api_device.php
===================================================================
--- branches/0.8.8/lib/api_device.php (revision 7419)
+++ branches/0.8.8/lib/api_device.php (revision 7420)
@@ -107,7 +107,7 @@
$_host_template_id = db_fetch_cell("select host_template_id from host where id=$id");
}
- $save["id"] = $id;
+ $save["id"] = form_input_validate($id, "id", "^[0-9]+$", false, 3);
$save["host_template_id"] = form_input_validate($host_template_id, "host_template_id", "^[0-9]+$", false, 3);
$save["description"] = form_input_validate($description, "description", "", false, 3);
$save["hostname"] = form_input_validate(trim($hostname), "hostname", "", false, 3);
Index: branches/0.8.8/install/index.php
===================================================================
--- branches/0.8.8/install/index.php (revision 7419)
+++ branches/0.8.8/install/index.php (revision 7420)
@@ -310,27 +310,28 @@
}
/* pre-processing that needs to be done for each step */
-if (empty($_REQUEST["step"])) {
- $_REQUEST["step"] = 1;
-}else{
- if ($_REQUEST["step"] == "1") {
- $_REQUEST["step"] = "2";
- }elseif (($_REQUEST["step"] == "2") && ($_REQUEST["install_type"] == "1")) {
- $_REQUEST["step"] = "3";
- }elseif (($_REQUEST["step"] == "2") && ($_REQUEST["install_type"] == "3")) {
- $_REQUEST["step"] = "8";
- }elseif (($_REQUEST["step"] == "8") && ($old_version_index <= array_search("0.8.5a", $cacti_versions))) {
- $_REQUEST["step"] = "9";
- }elseif ($_REQUEST["step"] == "8") {
- $_REQUEST["step"] = "3";
- }elseif ($_REQUEST["step"] == "9") {
- $_REQUEST["step"] = "3";
- }elseif ($_REQUEST["step"] == "3") {
- $_REQUEST["step"] = "4";
+if (isset($_REQUEST["step"]) && $_REQUEST["step"] > 0) {
+ $step = intval($_REQUEST["step"]);
+ if ($step == "1") {
+ $step = "2";
+ } elseif (($step == "2") && ($_REQUEST["install_type"] == "1")) {
+ $step = "3";
+ } elseif (($step == "2") && ($_REQUEST["install_type"] == "3")) {
+ $step = "8";
+ } elseif (($step == "8") && ($old_version_index <= array_search("0.8.5a", $cacti_versions))) {
+ $step = "9";
+ } elseif ($step == "8") {
+ $step = "3";
+ } elseif ($step == "9") {
+ $step = "3";
+ } elseif ($step == "3") {
+ $step = "4";
}
+} else {
+ $step = 1;
}
-if ($_REQUEST["step"] == "4") {
+if ($step == "4") {
include_once("../lib/data_query.php");
include_once("../lib/utility.php");
@@ -366,7 +367,7 @@
header ("Location: ../index.php");
exit;
-}elseif (($_REQUEST["step"] == "8") && ($_REQUEST["install_type"] == "3")) {
+}elseif (($step == "8") && ($_REQUEST["install_type"] == "3")) {
/* if the version is not found, die */
if (!is_int($old_version_index)) {
print " <p style='font-family: Verdana, Arial; font-size: 16px; font-weight: bold; color: red;'>Error</p>
@@ -505,7 +506,7 @@
</tr>
<tr>
<td width="100%" style="font-size: 12px;">
- <?php if ($_REQUEST["step"] == "1") { ?>
+ <?php if ($step == "1") { ?>
<p>Thanks for taking the time to download and install cacti, the complete graphing
solution for your network. Before you can start making cool graphs, there are a few
@@ -530,7 +531,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.</p>
- <?php }elseif ($_REQUEST["step"] == "2") { ?>
+ <?php }elseif ($step == "2") { ?>
<p>Please select the type of installation</p>
@@ -551,7 +552,7 @@
print "Server Operating System Type: " . $config["cacti_server_os"] . "<br>"; ?>
</p>
- <?php }elseif ($_REQUEST["step"] == "3") { ?>
+ <?php }elseif ($step == "3") { ?>
<p>Make sure all of these values are correct before continuing.</p>
<?php
@@ -609,7 +610,7 @@
is an upgrade. You can change any of the settings on this screen at a later
time by going to "Cacti Settings" from within Cacti.</p>
- <?php }elseif ($_REQUEST["step"] == "8") { ?>
+ <?php }elseif ($step == "8") { ?>
<p>Upgrade results:</p>
@@ -659,7 +660,7 @@
print $upgrade_results;
?>
- <?php }elseif ($_REQUEST["step"] == "9") { ?>
+ <?php }elseif ($step == "9") { ?>
<p style='font-size: 16px; font-weight: bold; color: red;'>Important Upgrade Notice</p>
@@ -673,7 +674,7 @@
<?php }?>
- <p align="right"><input type="image" src="install_<?php if ($_REQUEST["step"] == "3") {?>finish<?php }else{?>next<?php }?>.gif" alt="<?php if ($_REQUEST["step"] == "3"){?>Finish<?php }else{?>Next<?php }?>"></p>
+ <p align="right"><input type="image" src="install_<?php if ($step == "3") {?>finish<?php }else{?>next<?php }?>.gif" alt="<?php if ($step == "3"){?>Finish<?php }else{?>Next<?php }?>"></p>
</td>
</tr>
</table>
@@ -681,7 +682,7 @@
</tr>
</table>
-<input type="hidden" name="step" value="<?php print $_REQUEST["step"];?>">
+<input type="hidden" name="step" value="<?php print $step;?>">
</form>

View File

@@ -0,0 +1,117 @@
------------------------------------------------------------------------
r7439 | rony | 2014-03-30 17:52:10 -0500 (Sun, 30 Mar 2014) | 5 lines
bug#0002405: SQL injection in graph_xport.php
- Fixed form input validation problems
- Fixed rrd export and graph shell escape issues
------------------------------------------------------------------------
Index: branches/0.8.8/graph_xport.php
===================================================================
--- branches/0.8.8/graph_xport.php (revision 7438)
+++ branches/0.8.8/graph_xport.php (revision 7439)
@@ -47,43 +47,48 @@
$graph_data_array = array();
+/* ================= input validation ================= */
+input_validate_input_number(get_request_var("local_graph_id"));
+input_validate_input_number(get_request_var("rra_id"));
+/* ==================================================== */
+
/* override: graph start time (unix time) */
-if (!empty($_GET["graph_start"]) && $_GET["graph_start"] < 1600000000) {
- $graph_data_array["graph_start"] = $_GET["graph_start"];
+if (!empty($_GET["graph_start"]) && is_numeric($_GET["graph_start"] && $_GET["graph_start"] < 1600000000)) {
+ $graph_data_array["graph_start"] = get_request_var("graph_start");
}
/* override: graph end time (unix time) */
-if (!empty($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
- $graph_data_array["graph_end"] = $_GET["graph_end"];
+if (!empty($_GET["graph_end"]) && is_numeric($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
+ $graph_data_array["graph_end"] = get_request_var("graph_end");
}
/* override: graph height (in pixels) */
-if (!empty($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
- $graph_data_array["graph_height"] = $_GET["graph_height"];
+if (!empty($_GET["graph_height"]) && is_numeric($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
+ $graph_data_array["graph_height"] = get_request_var("graph_height");
}
/* override: graph width (in pixels) */
-if (!empty($_GET["graph_width"]) && $_GET["graph_width"] < 3000) {
- $graph_data_array["graph_width"] = $_GET["graph_width"];
+if (!empty($_GET["graph_width"]) && is_numeric($_GET["graph_width"]) && $_GET["graph_width"] < 3000) {
+ $graph_data_array["graph_width"] = get_request_var("graph_width");
}
/* override: skip drawing the legend? */
if (!empty($_GET["graph_nolegend"])) {
- $graph_data_array["graph_nolegend"] = $_GET["graph_nolegend"];
+ $graph_data_array["graph_nolegend"] = get_request_var("graph_nolegend");
}
/* print RRDTool graph source? */
if (!empty($_GET["show_source"])) {
- $graph_data_array["print_source"] = $_GET["show_source"];
+ $graph_data_array["print_source"] = get_request_var("show_source");
}
-$graph_info = db_fetch_row("SELECT * FROM graph_templates_graph WHERE local_graph_id='" . $_REQUEST["local_graph_id"] . "'");
+$graph_info = db_fetch_row("SELECT * FROM graph_templates_graph WHERE local_graph_id='" . get_request_var("local_graph_id") . "'");
/* for bandwidth, NThPercentile */
$xport_meta = array();
/* Get graph export */
-$xport_array = @rrdtool_function_xport($_GET["local_graph_id"], $_GET["rra_id"], $graph_data_array, $xport_meta);
+$xport_array = @rrdtool_function_xport($_GET["local_graph_id"], get_request_var("rra_id"), $graph_data_array, $xport_meta);
/* Make graph title the suggested file name */
if (is_array($xport_array["meta"])) {
Index: branches/0.8.8/lib/rrd.php
===================================================================
--- branches/0.8.8/lib/rrd.php (revision 7438)
+++ branches/0.8.8/lib/rrd.php (revision 7439)
@@ -865,13 +865,13 @@
/* basic graph options */
$graph_opts .=
"--imgformat=" . $image_types{$graph["image_format_id"]} . RRD_NL .
- "--start=$graph_start" . RRD_NL .
- "--end=$graph_end" . RRD_NL .
+ "--start=" . cacti_escapeshellarg($graph_start) . RRD_NL .
+ "--end=" . cacti_escapeshellarg($graph_end) . RRD_NL .
"--title=" . cacti_escapeshellarg($graph["title_cache"]) . RRD_NL .
"$rigid" .
- "--base=" . $graph["base_value"] . RRD_NL .
- "--height=$graph_height" . RRD_NL .
- "--width=$graph_width" . RRD_NL .
+ "--base=" . cacti_escapeshellarg($graph["base_value"]) . RRD_NL .
+ "--height=" . cacti_escapeshellarg($graph_height) . RRD_NL .
+ "--width=" . cacti_escapeshellarg($graph_width) . RRD_NL .
"$scale" .
"$unit_value" .
"$unit_exponent_value" .
@@ -1606,8 +1606,8 @@
/* basic export options */
$xport_opts =
- "--start=$xport_start" . RRD_NL .
- "--end=$xport_end" . RRD_NL .
+ "--start=" . cacti_escapeshellarg($xport_start) . RRD_NL .
+ "--end=" . cacti_escapeshellarg($xport_end) . RRD_NL .
"--maxrows=10000" . RRD_NL;
$xport_defs = "";
@@ -1997,7 +1997,7 @@
$stacked_columns["col" . $j] = ($graph_item_types{$xport_item["graph_type_id"]} == "STACK") ? 1 : 0;
$j++;
- $txt_xport_items .= "XPORT:" . $data_source_name . ":" . str_replace(":", "", cacti_escapeshellarg($legend_name)) ;
+ $txt_xport_items .= "XPORT:" . cacti_escapeshellarg($data_source_name) . ":" . str_replace(":", "", cacti_escapeshellarg($legend_name)) ;
}else{
$need_rrd_nl = FALSE;
}

View File

@@ -0,0 +1,69 @@
diff -up hostname/Makefile.rh hostname/Makefile
--- hostname/Makefile.rh 2013-11-04 10:12:59.670379153 +0100
+++ hostname/Makefile 2013-11-04 10:15:04.957314495 +0100
@@ -10,21 +10,17 @@ OBJS=hostname.o
hostname: $(OBJS)
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) -lnsl
- ln -fs hostname dnsdomainname
- ln -fs hostname domainname
- ln -fs hostname ypdomainname
- ln -fs hostname nisdomainname
install: hostname
install -d ${BASEDIR}$(MANDIR)/man1
- install -o root -g root -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
+ install -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/dnsdomainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/domainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/ypdomainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/nisdomainname.1
install -d ${BASEDIR}$(BINDIR)
- install -o root -g root -m 0755 hostname ${BASEDIR}$(BINDIR)
+ install -m 0755 hostname ${BASEDIR}$(BINDIR)
ln -fs hostname ${BASEDIR}$(BINDIR)/dnsdomainname
ln -fs hostname ${BASEDIR}$(BINDIR)/domainname
ln -fs hostname ${BASEDIR}$(BINDIR)/nisdomainname
diff -up hostname/hostname.1.rh hostname/hostname.1
--- hostname/hostname.1.rh 2013-11-03 15:24:23.000000000 +0100
+++ hostname/hostname.1 2013-11-04 10:12:59.670379153 +0100
@@ -80,6 +80,28 @@ complete FQDN of the system is returned
.B "THE FQDN"
below).
+.LP
+The function
+.BR gethostname(2)
+is used to get the hostname. When the
+.BR "hostname \-a, \-d, \-f or \-i"
+is called will
+.BR gethostbyname(3)
+be called. The difference in
+.BR gethostname(2)
+and
+.BR gethostbyname(3)
+is that
+.BR gethostbyname(3)
+is network aware, so it consults
+.IR /etc/nsswitch.conf
+and
+.IR /etc/host.conf
+to decide whether to read information in
+.IR /etc/hostname
+or
+.IR /etc/hosts
+
.SS "SET NAME"
When called with one argument or with the
.B \-\-file
@@ -105,8 +127,7 @@ command (see
.B "THE FQDN"
below).
.LP
-The host name is usually set once at system startup in
-.I /etc/init.d/hostname.sh
+The host name is usually set once at system startup
(normally by reading the contents of a file which contains
the host name, e.g.
.IR /etc/hostname ).

View File

@@ -1,22 +0,0 @@
Index: services/scheduler.cpp
===================================================================
--- services/scheduler.cpp (revision 1310078)
+++ services/scheduler.cpp (working copy)
@@ -52,7 +52,7 @@
#include "config.h"
#include "bench.h"
-#define DEBUG_SCHEDULER 0
+#define DEBUG_SCHEDULER 1
/* TODO:
* leak check
@@ -613,6 +613,8 @@
platform_map.insert( make_pair( string( "ppc" ), string( "ppc64" ) ) );
platform_map.insert( make_pair( string( "s390" ), string( "s390x" ) ) );
+
+ platform_map.insert( make_pair( string( "armv5tel"), string( "armv7l" ) ) );
}
multimap<string, string>::const_iterator end = platform_map.upper_bound( target );

View File

@@ -1,107 +0,0 @@
Index: icecc-0.9.6/doc/man-scheduler.1.docbook
===================================================================
--- icecc-0.9.6.orig/doc/man-scheduler.1.docbook
+++ icecc-0.9.6/doc/man-scheduler.1.docbook
@@ -23,13 +23,13 @@
</refmeta>
<refnamediv>
- <refname>scheduler</refname>
+ <refname>icecc-scheduler</refname>
<refpurpose>Icecream scheduler</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
-<command>scheduler</command>
+<command>icecc-scheduler</command>
<group>
<arg choice="opt">
<option>-n</option>
@@ -151,7 +151,7 @@ need to run the scheduler with root righ
<refsect1>
<title>See Also</title>
-<para>icecream, scheduler, iceccd, icemon</para>
+<para>icecream, icecc-scheduler, iceccd, icemon</para>
</refsect1>
<refsect1>
Index: icecc-0.9.6/services/Makefile.am
===================================================================
--- icecc-0.9.6.orig/services/Makefile.am
+++ icecc-0.9.6/services/Makefile.am
@@ -11,9 +11,9 @@ ice_HEADERS = job.h comm.h
noinst_HEADERS = bench.h exitcode.h getifaddrs.h logging.h tempfile.h platform.h
icedir = $(includedir)/icecc
-sbin_PROGRAMS = scheduler
-scheduler_SOURCES = scheduler.cpp
-scheduler_LDADD = libicecc.la
+sbin_PROGRAMS = icecc-scheduler
+icecc_scheduler_SOURCES = scheduler.cpp
+icecc_scheduler_LDADD = libicecc.la
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = icecc.pc
Index: icecc-0.9.6/services/Makefile.in
===================================================================
--- icecc-0.9.6.orig/services/Makefile.in
+++ icecc-0.9.6/services/Makefile.in
@@ -37,7 +37,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-sbin_PROGRAMS = scheduler$(EXEEXT)
+sbin_PROGRAMS = icecc-scheduler$(EXEEXT)
subdir = services
DIST_COMMON = $(ice_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/icecc.pc.in
@@ -82,9 +82,9 @@ libicecc_la_LINK = $(LIBTOOL) --tag=CXX
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libicecc_la_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
PROGRAMS = $(sbin_PROGRAMS)
-am_scheduler_OBJECTS = scheduler.$(OBJEXT)
-scheduler_OBJECTS = $(am_scheduler_OBJECTS)
-scheduler_DEPENDENCIES = libicecc.la
+am_icecc_scheduler_OBJECTS = scheduler.$(OBJEXT)
+icecc_scheduler_OBJECTS = $(am_icecc_scheduler_OBJECTS)
+icecc_scheduler_DEPENDENCIES = libicecc.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -107,8 +107,8 @@ CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(libicecc_la_SOURCES) $(scheduler_SOURCES)
-DIST_SOURCES = $(libicecc_la_SOURCES) $(scheduler_SOURCES)
+SOURCES = $(libicecc_la_SOURCES) $(icecc_scheduler_SOURCES)
+DIST_SOURCES = $(libicecc_la_SOURCES) $(icecc_scheduler_SOURCES)
DATA = $(pkgconfig_DATA)
HEADERS = $(ice_HEADERS) $(noinst_HEADERS)
ETAGS = etags
@@ -242,8 +242,8 @@ libicecc_la_CXXFLAGS = -fPIC -DPIC
ice_HEADERS = job.h comm.h
noinst_HEADERS = bench.h exitcode.h getifaddrs.h logging.h tempfile.h platform.h
icedir = $(includedir)/icecc
-scheduler_SOURCES = scheduler.cpp
-scheduler_LDADD = libicecc.la
+icecc_scheduler_SOURCES = scheduler.cpp
+icecc_scheduler_LDADD = libicecc.la
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = icecc.pc
all: all-am
@@ -358,9 +358,9 @@ clean-sbinPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-scheduler$(EXEEXT): $(scheduler_OBJECTS) $(scheduler_DEPENDENCIES)
- @rm -f scheduler$(EXEEXT)
- $(CXXLINK) $(scheduler_OBJECTS) $(scheduler_LDADD) $(LIBS)
+icecc-scheduler$(EXEEXT): $(icecc_scheduler_OBJECTS) $(icecc_scheduler_DEPENDENCIES)
+ @rm -f icecc-scheduler$(EXEEXT)
+ $(CXXLINK) $(icecc_scheduler_OBJECTS) $(icecc_scheduler_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)

View File

@@ -1,166 +0,0 @@
Submitted By: Randy McMurchy <randy_at_linuxfromscratch_dot_org>
Date: 2005-03-23
Initial Package Version: 1.4.2
Upstream Status: Not sure
Origin: Internet (URL's are now lost)
Description: Fix the rexecd daemon so that it understands shadow
passwords. Fix the rshd daemon so that it properly
resolves hostnames.
diff -Naur inetutils-1.4.2-orig/rexecd/rexecd.c inetutils-1.4.2/rexecd/rexecd.c
--- inetutils-1.4.2-orig/rexecd/rexecd.c 2002-12-11 12:38:00.000000000 +0000
+++ inetutils-1.4.2/rexecd/rexecd.c 2005-02-22 19:53:44.146962264 +0000
@@ -79,6 +79,10 @@
#include <varargs.h>
#endif
+#ifdef HAVE_SHADOW_H
+#include <shadow.h>
+#endif
+
void error __P ((const char *fmt, ...));
/*
* remote execute server:
@@ -127,6 +131,10 @@
char *cmdbuf, *cp, *namep;
char *user, *pass;
struct passwd *pwd;
+#ifdef HAVE_SHADOW_H
+ struct spwd *spwd;
+ char *pw_field;
+#endif
int s;
u_short port;
int pv[2], pid, cc;
@@ -186,6 +194,24 @@
exit(1);
}
endpwent();
+
+#ifdef HAVE_SHADOW_H
+ // Get encrypted password from /etc/shadow if possible,
+ // else from /etc/passwd.
+ spwd = getspnam(user);
+ if (spwd) {
+ pw_field = spwd->sp_pwdp;
+ } else {
+ pw_field = pwd->pw_passwd;
+ }
+ if (*pw_field != '\0') {
+ namep = CRYPT (pass, pw_field);
+ if (strcmp(namep, pw_field)) {
+ error("Password incorrect.\n");
+ exit(1);
+ }
+ }
+#else
if (*pwd->pw_passwd != '\0') {
namep = CRYPT (pass, pwd->pw_passwd);
if (strcmp(namep, pwd->pw_passwd)) {
@@ -193,6 +219,7 @@
exit(1);
}
}
+#endif
write(STDERR_FILENO, "\0", 1);
if (port) {
pipe(pv);
diff -Naur inetutils-1.4.2-orig/rshd/rshd.c inetutils-1.4.2/rshd/rshd.c
--- inetutils-1.4.2-orig/rshd/rshd.c 2002-12-11 12:38:00.000000000 +0000
+++ inetutils-1.4.2/rshd/rshd.c 2005-02-22 19:54:33.162510768 +0000
@@ -443,7 +443,7 @@
dup2 (sockfd, STDERR_FILENO);
}
- /* Get the "name" of the clent form its Internet address.
+ /* Get the "name" of the client form its Internet address.
* This is used for the autentication below
*/
errorstr = NULL;
@@ -457,52 +457,49 @@
* in a remote net; look up the name and check that this
* address corresponds to the name.
*/
- hostname = strdup (hp->h_name);
+ const char *remotehost = strdup(hp->h_name);
#ifdef KERBEROS
if (!use_kerberos)
#endif
- if (check_all || local_domain (hp->h_name))
+ if (! remotehost)
+ errorstr = "Out of memory\n";
+ else if (check_all || local_domain (remotehost))
{
- char *remotehost = (char *) alloca (strlen (hp->h_name) + 1);
- if (! remotehost)
- errorstr = "Out of memory\n";
- else
+ errorhost = remotehost;
+ hp = gethostbyname (remotehost);
+ if (hp == NULL)
{
- strcpy (remotehost, hp->h_name);
- errorhost = remotehost;
- hp = gethostbyname (remotehost);
- if (hp == NULL)
+ syslog (LOG_INFO,
+ "Couldn't look up address for %s", remotehost);
+ errorstr = "Couldn't look up address for your host (%s)\n";
+ hostname = strdup(inet_ntoa(fromp->sin_addr));
+ }
+ else
+ {
+ for (; ; hp->h_addr_list++)
{
- syslog (LOG_INFO,
- "Couldn't look up address for %s", remotehost);
- errorstr = "Couldn't look up address for your host (%s)\n";
- hostname = inet_ntoa (fromp->sin_addr);
+ if (hp->h_addr_list[0] == NULL)
+ {
+ syslog (LOG_NOTICE,
+ "Host addr %s not listed for host %s",
+ inet_ntoa (fromp->sin_addr), hp->h_name);
+ errorstr = "Host address mismatch for %s\n";
+ hostname = strdup(inet_ntoa(fromp->sin_addr));
+ break;
+ }
+ if (!memcmp (hp->h_addr_list[0],
+ (caddr_t)&fromp->sin_addr,
+ sizeof fromp->sin_addr))
+ {
+ hostname = strdup(hp->h_name);
+ break; /* equal, OK */
+ }
}
- else
- for (; ; hp->h_addr_list++)
- {
- if (hp->h_addr_list[0] == NULL)
- {
- syslog (LOG_NOTICE,
- "Host addr %s not listed for host %s",
- inet_ntoa (fromp->sin_addr), hp->h_name);
- errorstr = "Host address mismatch for %s\n";
- hostname = inet_ntoa (fromp->sin_addr);
- break;
- }
- if (!memcmp (hp->h_addr_list[0],
- (caddr_t)&fromp->sin_addr,
- sizeof fromp->sin_addr))
- {
- hostname = hp->h_name;
- break; /* equal, OK */
- }
- }
- }
+ }
}
}
else
- errorhost = hostname = inet_ntoa (fromp->sin_addr);
+ errorhost = hostname = strdup(inet_ntoa(fromp->sin_addr));
#ifdef KERBEROS
if (use_kerberos)

View File

@@ -1,37 +0,0 @@
Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
Date: 2005-08-30
Initial Package Version: 1.4.2
Upstream Status: From upstream
Origin: Greg Schafer <gschafer@zip.com.au> (http://www.diy-linux.org/downloads/patches/GCC4/inetutils-1.4.2-gcc4-fixes-1.patch)
Description: Fix compilation issues with gcc4
diff -Naur inetutils-1.4.2.orig/ftp/ftp_var.h inetutils-1.4.2/ftp/ftp_var.h
--- inetutils-1.4.2.orig/ftp/ftp_var.h 2000-07-08 01:00:53.000000000 +0000
+++ inetutils-1.4.2/ftp/ftp_var.h 2005-08-30 20:25:27.205932304 +0000
@@ -36,8 +36,6 @@
#include <sys/param.h>
#include <setjmp.h>
-#include "extern.h"
-
#ifndef FTP_EXTERN
#define FTP_EXTERN extern
#endif
@@ -129,3 +127,5 @@
FTP_EXTERN int macnum; /* number of defined macros */
FTP_EXTERN struct macel macros[16];
FTP_EXTERN char macbuf[4096];
+
+#include "extern.h"
diff -Naur inetutils-1.4.2.orig/libinetutils/ttymsg.c inetutils-1.4.2/libinetutils/ttymsg.c
--- inetutils-1.4.2.orig/libinetutils/ttymsg.c 2001-11-01 15:52:19.000000000 +0000
+++ inetutils-1.4.2/libinetutils/ttymsg.c 2005-08-30 20:24:27.168059448 +0000
@@ -132,7 +132,7 @@
}
if (wret)
{
- (char *)iov->iov_base += wret;
+ iov->iov_base = (char *)iov->iov_base + wret;
iov->iov_len -= wret;
}
continue;

View File

@@ -0,0 +1,674 @@
From d4b36210c2e6ecef0ce52fb6c18c51144f5c2d88 Mon Sep 17 00:00:00 2001
From: Vijay Subramanian <vijaynsu@cisco.com>
Date: Sat, 4 Jan 2014 17:33:55 -0800
Subject: net: pkt_sched: PIE AQM scheme
Proportional Integral controller Enhanced (PIE) is a scheduler to address the
bufferbloat problem.
>From the IETF draft below:
" Bufferbloat is a phenomenon where excess buffers in the network cause high
latency and jitter. As more and more interactive applications (e.g. voice over
IP, real time video streaming and financial transactions) run in the Internet,
high latency and jitter degrade application performance. There is a pressing
need to design intelligent queue management schemes that can control latency and
jitter; and hence provide desirable quality of service to users.
We present here a lightweight design, PIE(Proportional Integral controller
Enhanced) that can effectively control the average queueing latency to a target
value. Simulation results, theoretical analysis and Linux testbed results have
shown that PIE can ensure low latency and achieve high link utilization under
various congestion situations. The design does not require per-packet
timestamp, so it incurs very small overhead and is simple enough to implement
in both hardware and software. "
Many thanks to Dave Taht for extensive feedback, reviews, testing and
suggestions. Thanks also to Stephen Hemminger and Eric Dumazet for reviews and
suggestions. Naeem Khademi and Dave Taht independently contributed to ECN
support.
For more information, please see technical paper about PIE in the IEEE
Conference on High Performance Switching and Routing 2013. A copy of the paper
can be found at ftp://ftpeng.cisco.com/pie/.
Please also refer to the IETF draft submission at
http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
All relevant code, documents and test scripts and results can be found at
ftp://ftpeng.cisco.com/pie/.
For problems with the iproute2/tc or Linux kernel code, please contact Vijay
Subramanian (vijaynsu@cisco.com or subramanian.vijay@gmail.com) Mythili Prabhu
(mysuryan@cisco.com)
Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: Mythili Prabhu <mysuryan@cisco.com>
CC: Dave Taht <dave.taht@bufferbloat.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff -Naur linux-3.10.39.org/include/uapi/linux/pkt_sched.h linux-3.10.39/include/uapi/linux/pkt_sched.h
--- linux-3.10.39.org/include/uapi/linux/pkt_sched.h 2014-05-06 16:56:24.000000000 +0200
+++ linux-3.10.39/include/uapi/linux/pkt_sched.h 2014-05-15 10:33:08.296828477 +0200
@@ -744,4 +744,29 @@
};
};
+/* PIE */
+enum {
+ TCA_PIE_UNSPEC,
+ TCA_PIE_TARGET,
+ TCA_PIE_LIMIT,
+ TCA_PIE_TUPDATE,
+ TCA_PIE_ALPHA,
+ TCA_PIE_BETA,
+ TCA_PIE_ECN,
+ TCA_PIE_BYTEMODE,
+ __TCA_PIE_MAX
+};
+#define TCA_PIE_MAX (__TCA_PIE_MAX - 1)
+
+struct tc_pie_xstats {
+ __u32 prob; /* current probability */
+ __u32 delay; /* current delay in ms */
+ __u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */
+ __u32 packets_in; /* total number of packets enqueued */
+ __u32 dropped; /* packets dropped due to pie_action */
+ __u32 overlimit; /* dropped due to lack of space in queue */
+ __u32 maxq; /* maximum queue size */
+ __u32 ecn_mark; /* packets marked with ecn*/
+};
+
#endif
diff -Naur linux-3.10.39.org/net/sched/Kconfig linux-3.10.39/net/sched/Kconfig
--- linux-3.10.39.org/net/sched/Kconfig 2014-05-06 16:56:24.000000000 +0200
+++ linux-3.10.39/net/sched/Kconfig 2014-05-15 09:30:29.866632326 +0200
@@ -272,6 +272,19 @@
If unsure, say N.
+config NET_SCH_PIE
+ tristate "Proportional Integral controller Enhanced (PIE) scheduler"
+ help
+ Say Y here if you want to use the Proportional Integral controller
+ Enhanced scheduler packet scheduling algorithm.
+ For more information, please see
+ http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
+
+ To compile this driver as a module, choose M here: the module
+ will be called sch_pie.
+
+ If unsure, say N.
+
config NET_SCH_INGRESS
tristate "Ingress Qdisc"
depends on NET_CLS_ACT
diff -Naur linux-3.10.39.org/net/sched/Makefile linux-3.10.39/net/sched/Makefile
--- linux-3.10.39.org/net/sched/Makefile 2014-05-06 16:56:24.000000000 +0200
+++ linux-3.10.39/net/sched/Makefile 2014-05-15 10:34:55.533502406 +0200
@@ -39,6 +39,7 @@
obj-$(CONFIG_NET_SCH_QFQ) += sch_qfq.o
obj-$(CONFIG_NET_SCH_CODEL) += sch_codel.o
obj-$(CONFIG_NET_SCH_FQ_CODEL) += sch_fq_codel.o
+obj-$(CONFIG_NET_SCH_PIE) += sch_pie.o
obj-$(CONFIG_NET_CLS_U32) += cls_u32.o
obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o
diff -Naur linux-3.10.39.org/net/sched/sch_pie.c linux-3.10.39/net/sched/sch_pie.c
--- linux-3.10.39.org/net/sched/sch_pie.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.39/net/sched/sch_pie.c 2014-05-15 09:30:29.869966724 +0200
@@ -0,0 +1,555 @@
+/* Copyright (C) 2013 Cisco Systems, Inc, 2013.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Author: Vijay Subramanian <vijaynsu@cisco.com>
+ * Author: Mythili Prabhu <mysuryan@cisco.com>
+ *
+ * ECN support is added by Naeem Khademi <naeemk@ifi.uio.no>
+ * University of Oslo, Norway.
+ */
+
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/skbuff.h>
+#include <net/pkt_sched.h>
+#include <net/inet_ecn.h>
+
+#define QUEUE_THRESHOLD 10000
+#define DQCOUNT_INVALID -1
+#define MAX_PROB 0xffffffff
+#define PIE_SCALE 8
+
+/* parameters used */
+struct pie_params {
+ psched_time_t target; /* user specified target delay in pschedtime */
+ u32 tupdate; /* timer frequency (in jiffies) */
+ u32 limit; /* number of packets that can be enqueued */
+ u32 alpha; /* alpha and beta are between -4 and 4 */
+ u32 beta; /* and are used for shift relative to 1 */
+ bool ecn; /* true if ecn is enabled */
+ bool bytemode; /* to scale drop early prob based on pkt size */
+};
+
+/* variables used */
+struct pie_vars {
+ u32 prob; /* probability but scaled by u32 limit. */
+ psched_time_t burst_time;
+ psched_time_t qdelay;
+ psched_time_t qdelay_old;
+ u64 dq_count; /* measured in bytes */
+ psched_time_t dq_tstamp; /* drain rate */
+ u32 avg_dq_rate; /* bytes per pschedtime tick,scaled */
+ u32 qlen_old; /* in bytes */
+};
+
+/* statistics gathering */
+struct pie_stats {
+ u32 packets_in; /* total number of packets enqueued */
+ u32 dropped; /* packets dropped due to pie_action */
+ u32 overlimit; /* dropped due to lack of space in queue */
+ u32 maxq; /* maximum queue size */
+ u32 ecn_mark; /* packets marked with ECN */
+};
+
+/* private data for the Qdisc */
+struct pie_sched_data {
+ struct pie_params params;
+ struct pie_vars vars;
+ struct pie_stats stats;
+ struct timer_list adapt_timer;
+};
+
+static void pie_params_init(struct pie_params *params)
+{
+ params->alpha = 2;
+ params->beta = 20;
+ params->tupdate = usecs_to_jiffies(30 * USEC_PER_MSEC); /* 30 ms */
+ params->limit = 1000; /* default of 1000 packets */
+ params->target = PSCHED_NS2TICKS(20 * NSEC_PER_MSEC); /* 20 ms */
+ params->ecn = false;
+ params->bytemode = false;
+}
+
+static void pie_vars_init(struct pie_vars *vars)
+{
+ vars->dq_count = DQCOUNT_INVALID;
+ vars->avg_dq_rate = 0;
+ /* default of 100 ms in pschedtime */
+ vars->burst_time = PSCHED_NS2TICKS(100 * NSEC_PER_MSEC);
+}
+
+static bool drop_early(struct Qdisc *sch, u32 packet_size)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ u32 rnd;
+ u32 local_prob = q->vars.prob;
+ u32 mtu = psched_mtu(qdisc_dev(sch));
+
+ /* If there is still burst allowance left skip random early drop */
+ if (q->vars.burst_time > 0)
+ return false;
+
+ /* If current delay is less than half of target, and
+ * if drop prob is low already, disable early_drop
+ */
+ if ((q->vars.qdelay < q->params.target / 2)
+ && (q->vars.prob < MAX_PROB / 5))
+ return false;
+
+ /* If we have fewer than 2 mtu-sized packets, disable drop_early,
+ * similar to min_th in RED
+ */
+ if (sch->qstats.backlog < 2 * mtu)
+ return false;
+
+ /* If bytemode is turned on, use packet size to compute new
+ * probablity. Smaller packets will have lower drop prob in this case
+ */
+ if (q->params.bytemode && packet_size <= mtu)
+ local_prob = (local_prob / mtu) * packet_size;
+ else
+ local_prob = q->vars.prob;
+
+ rnd = net_random();
+ if (rnd < local_prob)
+ return true;
+
+ return false;
+}
+
+static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ bool enqueue = false;
+
+ if (unlikely(qdisc_qlen(sch) >= sch->limit)) {
+ q->stats.overlimit++;
+ goto out;
+ }
+
+ if (!drop_early(sch, skb->len)) {
+ enqueue = true;
+ } else if (q->params.ecn && (q->vars.prob <= MAX_PROB / 10) &&
+ INET_ECN_set_ce(skb)) {
+ /* If packet is ecn capable, mark it if drop probability
+ * is lower than 10%, else drop it.
+ */
+ q->stats.ecn_mark++;
+ enqueue = true;
+ }
+
+ /* we can enqueue the packet */
+ if (enqueue) {
+ q->stats.packets_in++;
+ if (qdisc_qlen(sch) > q->stats.maxq)
+ q->stats.maxq = qdisc_qlen(sch);
+
+ return qdisc_enqueue_tail(skb, sch);
+ }
+
+out:
+ q->stats.dropped++;
+ return qdisc_drop(skb, sch);
+}
+
+static const struct nla_policy pie_policy[TCA_PIE_MAX + 1] = {
+ [TCA_PIE_TARGET] = {.type = NLA_U32},
+ [TCA_PIE_LIMIT] = {.type = NLA_U32},
+ [TCA_PIE_TUPDATE] = {.type = NLA_U32},
+ [TCA_PIE_ALPHA] = {.type = NLA_U32},
+ [TCA_PIE_BETA] = {.type = NLA_U32},
+ [TCA_PIE_ECN] = {.type = NLA_U32},
+ [TCA_PIE_BYTEMODE] = {.type = NLA_U32},
+};
+
+static int pie_change(struct Qdisc *sch, struct nlattr *opt)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ struct nlattr *tb[TCA_PIE_MAX + 1];
+ unsigned int qlen;
+ int err;
+
+ if (!opt)
+ return -EINVAL;
+
+ err = nla_parse_nested(tb, TCA_PIE_MAX, opt, pie_policy);
+ if (err < 0)
+ return err;
+
+ sch_tree_lock(sch);
+
+ /* convert from microseconds to pschedtime */
+ if (tb[TCA_PIE_TARGET]) {
+ /* target is in us */
+ u32 target = nla_get_u32(tb[TCA_PIE_TARGET]);
+
+ /* convert to pschedtime */
+ q->params.target = PSCHED_NS2TICKS((u64)target * NSEC_PER_USEC);
+ }
+
+ /* tupdate is in jiffies */
+ if (tb[TCA_PIE_TUPDATE])
+ q->params.tupdate = usecs_to_jiffies(nla_get_u32(tb[TCA_PIE_TUPDATE]));
+
+ if (tb[TCA_PIE_LIMIT]) {
+ u32 limit = nla_get_u32(tb[TCA_PIE_LIMIT]);
+
+ q->params.limit = limit;
+ sch->limit = limit;
+ }
+
+ if (tb[TCA_PIE_ALPHA])
+ q->params.alpha = nla_get_u32(tb[TCA_PIE_ALPHA]);
+
+ if (tb[TCA_PIE_BETA])
+ q->params.beta = nla_get_u32(tb[TCA_PIE_BETA]);
+
+ if (tb[TCA_PIE_ECN])
+ q->params.ecn = nla_get_u32(tb[TCA_PIE_ECN]);
+
+ if (tb[TCA_PIE_BYTEMODE])
+ q->params.bytemode = nla_get_u32(tb[TCA_PIE_BYTEMODE]);
+
+ /* Drop excess packets if new limit is lower */
+ qlen = sch->q.qlen;
+ while (sch->q.qlen > sch->limit) {
+ struct sk_buff *skb = __skb_dequeue(&sch->q);
+
+ sch->qstats.backlog -= qdisc_pkt_len(skb);
+ qdisc_drop(skb, sch);
+ }
+ qdisc_tree_decrease_qlen(sch, qlen - sch->q.qlen);
+
+ sch_tree_unlock(sch);
+ return 0;
+}
+
+static void pie_process_dequeue(struct Qdisc *sch, struct sk_buff *skb)
+{
+
+ struct pie_sched_data *q = qdisc_priv(sch);
+ int qlen = sch->qstats.backlog; /* current queue size in bytes */
+
+ /* If current queue is about 10 packets or more and dq_count is unset
+ * we have enough packets to calculate the drain rate. Save
+ * current time as dq_tstamp and start measurement cycle.
+ */
+ if (qlen >= QUEUE_THRESHOLD && q->vars.dq_count == DQCOUNT_INVALID) {
+ q->vars.dq_tstamp = psched_get_time();
+ q->vars.dq_count = 0;
+ }
+
+ /* Calculate the average drain rate from this value. If queue length
+ * has receded to a small value viz., <= QUEUE_THRESHOLD bytes,reset
+ * the dq_count to -1 as we don't have enough packets to calculate the
+ * drain rate anymore The following if block is entered only when we
+ * have a substantial queue built up (QUEUE_THRESHOLD bytes or more)
+ * and we calculate the drain rate for the threshold here. dq_count is
+ * in bytes, time difference in psched_time, hence rate is in
+ * bytes/psched_time.
+ */
+ if (q->vars.dq_count != DQCOUNT_INVALID) {
+ q->vars.dq_count += skb->len;
+
+ if (q->vars.dq_count >= QUEUE_THRESHOLD) {
+ psched_time_t now = psched_get_time();
+ u32 dtime = now - q->vars.dq_tstamp;
+ u32 count = q->vars.dq_count << PIE_SCALE;
+
+ if (dtime == 0)
+ return;
+
+ count = count / dtime;
+
+ if (q->vars.avg_dq_rate == 0)
+ q->vars.avg_dq_rate = count;
+ else
+ q->vars.avg_dq_rate =
+ (q->vars.avg_dq_rate -
+ (q->vars.avg_dq_rate >> 3)) + (count >> 3);
+
+ /* If the queue has receded below the threshold, we hold
+ * on to the last drain rate calculated, else we reset
+ * dq_count to 0 to re-enter the if block when the next
+ * packet is dequeued
+ */
+ if (qlen < QUEUE_THRESHOLD)
+ q->vars.dq_count = DQCOUNT_INVALID;
+ else {
+ q->vars.dq_count = 0;
+ q->vars.dq_tstamp = psched_get_time();
+ }
+
+ if (q->vars.burst_time > 0) {
+ if (q->vars.burst_time > dtime)
+ q->vars.burst_time -= dtime;
+ else
+ q->vars.burst_time = 0;
+ }
+ }
+ }
+}
+
+static void calculate_probability(struct Qdisc *sch)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ u32 qlen = sch->qstats.backlog; /* queue size in bytes */
+ psched_time_t qdelay = 0; /* in pschedtime */
+ psched_time_t qdelay_old = q->vars.qdelay; /* in pschedtime */
+ s32 delta = 0; /* determines the change in probability */
+ u32 oldprob;
+ u32 alpha, beta;
+ bool update_prob = true;
+
+ q->vars.qdelay_old = q->vars.qdelay;
+
+ if (q->vars.avg_dq_rate > 0)
+ qdelay = (qlen << PIE_SCALE) / q->vars.avg_dq_rate;
+ else
+ qdelay = 0;
+
+ /* If qdelay is zero and qlen is not, it means qlen is very small, less
+ * than dequeue_rate, so we do not update probabilty in this round
+ */
+ if (qdelay == 0 && qlen != 0)
+ update_prob = false;
+
+ /* Add ranges for alpha and beta, more aggressive for high dropping
+ * mode and gentle steps for light dropping mode
+ * In light dropping mode, take gentle steps; in medium dropping mode,
+ * take medium steps; in high dropping mode, take big steps.
+ */
+ if (q->vars.prob < MAX_PROB / 100) {
+ alpha =
+ (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 7;
+ beta =
+ (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 7;
+ } else if (q->vars.prob < MAX_PROB / 10) {
+ alpha =
+ (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 5;
+ beta =
+ (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 5;
+ } else {
+ alpha =
+ (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 4;
+ beta =
+ (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 4;
+ }
+
+ /* alpha and beta should be between 0 and 32, in multiples of 1/16 */
+ delta += alpha * ((qdelay - q->params.target));
+ delta += beta * ((qdelay - qdelay_old));
+
+ oldprob = q->vars.prob;
+
+ /* to ensure we increase probability in steps of no more than 2% */
+ if (delta > (s32) (MAX_PROB / (100 / 2)) &&
+ q->vars.prob >= MAX_PROB / 10)
+ delta = (MAX_PROB / 100) * 2;
+
+ /* Non-linear drop:
+ * Tune drop probability to increase quickly for high delays(>= 250ms)
+ * 250ms is derived through experiments and provides error protection
+ */
+
+ if (qdelay > (PSCHED_NS2TICKS(250 * NSEC_PER_MSEC)))
+ delta += MAX_PROB / (100 / 2);
+
+ q->vars.prob += delta;
+
+ if (delta > 0) {
+ /* prevent overflow */
+ if (q->vars.prob < oldprob) {
+ q->vars.prob = MAX_PROB;
+ /* Prevent normalization error. If probability is at
+ * maximum value already, we normalize it here, and
+ * skip the check to do a non-linear drop in the next
+ * section.
+ */
+ update_prob = false;
+ }
+ } else {
+ /* prevent underflow */
+ if (q->vars.prob > oldprob)
+ q->vars.prob = 0;
+ }
+
+ /* Non-linear drop in probability: Reduce drop probability quickly if
+ * delay is 0 for 2 consecutive Tupdate periods.
+ */
+
+ if ((qdelay == 0) && (qdelay_old == 0) && update_prob)
+ q->vars.prob = (q->vars.prob * 98) / 100;
+
+ q->vars.qdelay = qdelay;
+ q->vars.qlen_old = qlen;
+
+ /* We restart the measurement cycle if the following conditions are met
+ * 1. If the delay has been low for 2 consecutive Tupdate periods
+ * 2. Calculated drop probability is zero
+ * 3. We have atleast one estimate for the avg_dq_rate ie.,
+ * is a non-zero value
+ */
+ if ((q->vars.qdelay < q->params.target / 2) &&
+ (q->vars.qdelay_old < q->params.target / 2) &&
+ (q->vars.prob == 0) &&
+ (q->vars.avg_dq_rate > 0))
+ pie_vars_init(&q->vars);
+}
+
+static void pie_timer(unsigned long arg)
+{
+ struct Qdisc *sch = (struct Qdisc *)arg;
+ struct pie_sched_data *q = qdisc_priv(sch);
+ spinlock_t *root_lock = qdisc_lock(qdisc_root_sleeping(sch));
+
+ spin_lock(root_lock);
+ calculate_probability(sch);
+
+ /* reset the timer to fire after 'tupdate'. tupdate is in jiffies. */
+ if (q->params.tupdate)
+ mod_timer(&q->adapt_timer, jiffies + q->params.tupdate);
+ spin_unlock(root_lock);
+
+}
+
+static int pie_init(struct Qdisc *sch, struct nlattr *opt)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+
+ pie_params_init(&q->params);
+ pie_vars_init(&q->vars);
+ sch->limit = q->params.limit;
+
+ setup_timer(&q->adapt_timer, pie_timer, (unsigned long)sch);
+ mod_timer(&q->adapt_timer, jiffies + HZ / 2);
+
+ if (opt) {
+ int err = pie_change(sch, opt);
+
+ if (err)
+ return err;
+ }
+
+ return 0;
+}
+
+static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ struct nlattr *opts;
+
+ opts = nla_nest_start(skb, TCA_OPTIONS);
+ if (opts == NULL)
+ goto nla_put_failure;
+
+ /* convert target from pschedtime to us */
+ if (nla_put_u32(skb, TCA_PIE_TARGET,
+ ((u32) PSCHED_TICKS2NS(q->params.target)) /
+ NSEC_PER_USEC) ||
+ nla_put_u32(skb, TCA_PIE_LIMIT, sch->limit) ||
+ nla_put_u32(skb, TCA_PIE_TUPDATE, jiffies_to_usecs(q->params.tupdate)) ||
+ nla_put_u32(skb, TCA_PIE_ALPHA, q->params.alpha) ||
+ nla_put_u32(skb, TCA_PIE_BETA, q->params.beta) ||
+ nla_put_u32(skb, TCA_PIE_ECN, q->params.ecn) ||
+ nla_put_u32(skb, TCA_PIE_BYTEMODE, q->params.bytemode))
+ goto nla_put_failure;
+
+ return nla_nest_end(skb, opts);
+
+nla_put_failure:
+ nla_nest_cancel(skb, opts);
+ return -1;
+
+}
+
+static int pie_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ struct tc_pie_xstats st = {
+ .prob = q->vars.prob,
+ .delay = ((u32) PSCHED_TICKS2NS(q->vars.qdelay)) /
+ NSEC_PER_USEC,
+ /* unscale and return dq_rate in bytes per sec */
+ .avg_dq_rate = q->vars.avg_dq_rate *
+ (PSCHED_TICKS_PER_SEC) >> PIE_SCALE,
+ .packets_in = q->stats.packets_in,
+ .overlimit = q->stats.overlimit,
+ .maxq = q->stats.maxq,
+ .dropped = q->stats.dropped,
+ .ecn_mark = q->stats.ecn_mark,
+ };
+
+ return gnet_stats_copy_app(d, &st, sizeof(st));
+}
+
+static struct sk_buff *pie_qdisc_dequeue(struct Qdisc *sch)
+{
+ struct sk_buff *skb;
+ skb = __qdisc_dequeue_head(sch, &sch->q);
+
+ if (!skb)
+ return NULL;
+
+ pie_process_dequeue(sch, skb);
+ return skb;
+}
+
+static void pie_reset(struct Qdisc *sch)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ qdisc_reset_queue(sch);
+ pie_vars_init(&q->vars);
+}
+
+static void pie_destroy(struct Qdisc *sch)
+{
+ struct pie_sched_data *q = qdisc_priv(sch);
+ q->params.tupdate = 0;
+ del_timer_sync(&q->adapt_timer);
+}
+
+static struct Qdisc_ops pie_qdisc_ops __read_mostly = {
+ .id = "pie",
+ .priv_size = sizeof(struct pie_sched_data),
+ .enqueue = pie_qdisc_enqueue,
+ .dequeue = pie_qdisc_dequeue,
+ .peek = qdisc_peek_dequeued,
+ .init = pie_init,
+ .destroy = pie_destroy,
+ .reset = pie_reset,
+ .change = pie_change,
+ .dump = pie_dump,
+ .dump_stats = pie_dump_stats,
+ .owner = THIS_MODULE,
+};
+
+static int __init pie_module_init(void)
+{
+ return register_qdisc(&pie_qdisc_ops);
+}
+
+static void __exit pie_module_exit(void)
+{
+ unregister_qdisc(&pie_qdisc_ops);
+}
+
+module_init(pie_module_init);
+module_exit(pie_module_exit);
+
+MODULE_DESCRIPTION("Proportional Integral controller Enhanced (PIE) scheduler");
+MODULE_AUTHOR("Vijay Subramanian");
+MODULE_AUTHOR("Mythili Prabhu");
+MODULE_LICENSE("GPL");

View File

@@ -0,0 +1,52 @@
--- a/Makefile.bak 2014-06-03 19:01:39.758845492 +0000
+++ b/Makefile 2014-06-03 19:02:34.119171419 +0000
@@ -76,7 +76,7 @@
NET_LIB_PATH = lib
NET_LIB_NAME = net-tools
-PROGS := ifconfig hostname arp netstat route rarp slattach plipconfig nameif
+PROGS := ifconfig arp netstat route rarp slattach plipconfig nameif
-include config.make
ifeq ($(HAVE_IP_TOOLS),1)
@@ -190,9 +190,6 @@
nameif: nameif.o
$(CC) $(LDFLAGS) -o nameif nameif.o
-hostname: hostname.o
- $(CC) $(LDFLAGS) -o hostname hostname.o $(DNLIB)
-
route: $(NET_LIB) route.o
$(CC) $(LDFLAGS) -o route route.o $(NLIB) $(RESLIB)
@@ -224,7 +221,6 @@
install -m 0755 -d ${BASEDIR}/sbin
install -m 0755 -d ${BASEDIR}/bin
install -m 0755 arp ${BASEDIR}/sbin
- install -m 0755 hostname ${BASEDIR}/bin
install -m 0755 ifconfig ${BASEDIR}/sbin
install -m 0755 nameif ${BASEDIR}/sbin
install -m 0755 netstat ${BASEDIR}/bin
@@ -239,21 +235,11 @@
ifeq ($(HAVE_MII),1)
install -m 0755 mii-tool $(BASEDIR)/sbin
endif
- ln -fs hostname $(BASEDIR)/bin/dnsdomainname
- ln -fs hostname $(BASEDIR)/bin/ypdomainname
- ln -fs hostname $(BASEDIR)/bin/nisdomainname
- ln -fs hostname $(BASEDIR)/bin/domainname
-ifeq ($(HAVE_AFDECnet),1)
- ln -fs hostname $(BASEDIR)/bin/nodename
-endif
savebin:
@for i in ${BASEDIR}/sbin/arp ${BASEDIR}/sbin/ifconfig \
${BASEDIR}/bin/netstat \
- ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route \
- ${BASEDIR}/bin/hostname ${BASEDIR}/bin/ypdomainname \
- ${BASEDIR}/bin/dnsdomainname ${BASEDIR}/bin/nisdomainname \
- ${BASEDIR}/bin/domainname ; do \
+ ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route; do \
[ -f $$i ] && cp -f $$i $$i.old ; done ; echo Saved.
installdata:

View File

@@ -0,0 +1,185 @@
diff -Naur squidclamav-5.11.org/src/squidclamav.c squidclamav-5.11/src/squidclamav.c
--- squidclamav-5.11.org/src/squidclamav.c 2012-10-29 09:46:06.000000000 +0100
+++ squidclamav-5.11/src/squidclamav.c 2014-06-03 12:26:36.215696508 +0200
@@ -483,7 +483,7 @@
aren't appropriate, then just echo back the line from stdin */
if (buff_status == 1) {
logit(log_file, "DEBUG Invalid input buffer, aborting: %s\n", sbuff);
- puts("");
+ puts("BH message=\"Invalid input buffer\"");
fflush(stdout);
continue;
}
@@ -496,7 +496,7 @@
logit(log_file, "DEBUG No squidguard and no antivir check (TRUSTUSER match) for user: %s\n", in_buff.ident);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"TRUSTUSER match\"");
fflush(stdout);
continue;
}
@@ -508,7 +508,7 @@
logit(log_file, "DEBUG No squidguard and no antivir check (TRUSTCLIENT match) for address: %s/%s\n",in_buff.ipaddress, in_buff.fqdn);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"TRUSTCLIENT match\"");
fflush(stdout);
continue;
}
@@ -520,7 +520,7 @@
logit(log_file, "DEBUG No squidguard and no antivir check (WHITELIST match) for url: %s\n", in_buff.url);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"WHITLIST match\"");
fflush(stdout);
continue;
}
@@ -536,7 +536,7 @@
if ((sockd = dconnect ()) < 0)
{
logit(log_file, "ERROR Can't connect to Clamd daemon, fallback to Squid.\n");
- puts("");
+ puts("BH message=\"Cannot connect to clamd\"");
fflush(stdout);
continue;
}
@@ -546,7 +546,7 @@
if (write (sockd, "zINSTREAM", 10) <= 0)
{
logit(log_file, "ERROR Can't write to Clamd socket.\n");
- puts("");
+ puts("BG message=\"Cannot write to clamd socket\"");
fflush(stdout);
continue;
}
@@ -614,8 +614,7 @@
logit(log_file, "Squid Cache purged of url %s.\n", in_buff.url);
}
}
- fprintf (stdout, "%s %s %s %s\n", urlredir,
- in_buff.src_address, in_buff.ident, in_buff.method);
+ fprintf (stdout, "OK rewrite-url=\"%s\"\n", urlredir);
fflush(stdout);
xfree(urlredir);
if (debug != 0)
@@ -675,7 +674,7 @@
continue operation (so that Squid still works!),
we simply echo stdin to stdout - i.e. "bridge mode" :-) */
if (bridge_mode == 1) {
- puts("");
+ puts("ERR message=\"brigde mode\"");
fflush(stdout);
continue;
}
@@ -685,7 +684,7 @@
if (buff_status == -1) {
if (debug > 2)
logit(log_file, "DEBUG method is not GET skipping virus scan.\n");
- puts("");
+ puts("ERR message=\"method is not GET skipping virus scan\"");
fflush(stdout);
continue;
}
@@ -699,7 +698,7 @@
timeit(g_start, "Total");
/* no replacement for the URL was found */
- puts("");
+ puts("ERR message=\"ABORT match\"");
fflush(stdout);
continue;
@@ -750,7 +749,7 @@
logit(log_file, "DEBUG HIT Cache found, trust cache enabled, skipping...\n");
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"cache hit found\"");
fflush(stdout);
continue;
}
@@ -762,7 +761,7 @@
logit(log_file, "ERROR No content length from url %s\n", in_buff.url);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"no content length from URL\"");
fflush(stdout);
continue;
}
@@ -775,7 +774,7 @@
logit(log_file, "DEBUG No antivir check (Content length is upper than maxsize): %'.2f > %'.2f\n", usize, maxsize);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"content length is upper than maxsize\"");
fflush(stdout);
continue;
}
@@ -787,7 +786,7 @@
in_buff.url);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"no content type from URL\"");
fflush(stdout);
continue;
}
@@ -799,7 +798,7 @@
logit(log_file, "DEBUG No antivir check (ABORTCONTENT match) for content-type: %s\n", content_type);
if (statit == 1)
timeit(g_start, "Total");
- puts("");
+ puts("ERR message=\"ABORTCONTENT match\"");
fflush(stdout);
continue;
}
@@ -814,7 +813,7 @@
if ((sockd = dconnect ()) < 0)
{
logit(log_file, "ERROR Can't connect to Clamd daemon, fallback to Squid.\n");
- puts("");
+ puts("BH message=\"cannot connect clamd daemon\"");
fflush(stdout);
continue;
}
@@ -824,7 +823,7 @@
if (write (sockd, "zINSTREAM", 10) <= 0)
{
logit(log_file, "ERROR Can't write to Clamd socket.\n");
- puts("");
+ puts("BH message=\"cannot write to clamd socket\"");
fflush(stdout);
continue;
}
@@ -844,7 +843,7 @@
close (sockd);
if (debug > 1)
logit(log_file, "DEBUG Connection to clamd closed.\n");
- puts("");
+ puts("ERR message=\"connection to clamd closed\"");
fflush(stdout);
if (statit == 1)
timeit(g_start, "Total");
@@ -892,8 +891,7 @@
logit(log_file, "Squid Cache purged of url %s.\n", in_buff.url);
}
}
- fprintf (stdout, "%s %s %s %s\n", urlredir,
- in_buff.src_address, in_buff.ident, in_buff.method);
+ fprintf (stdout, "OK rewrite-url=\"%s\"\n", urlredir);
fflush(stdout);
xfree(urlredir);
if (debug != 0)
@@ -911,7 +909,7 @@
if (virusfound == 0) {
if (debug != 0)
logit(log_file, "DEBUG No virus detected.\n");
- puts("");
+ puts("ERR message=\"no virus detected\"");
fflush(stdout);
}
}

View File

@@ -0,0 +1,75 @@
http://bugs.squid-cache.org/show_bug.cgi?id=3978
--- squidGuard-1.4.orig/src/main.c 2013-12-11 17:42:15.000000000 +1300
+++ squidGuard-1.4.orig/src/main.c 2013-12-11 19:04:09.000000000 +1300
@@ -175,7 +175,7 @@
sgReloadConfig();
}
if(failsafe_mode) {
- puts("");
+ puts("ERR message=\"squidGuard failsafe mode\"");
fflush(stdout);
if(sig_hup){
sgReloadConfig();
@@ -184,7 +184,7 @@
}
if(parseLine(buf,&squidInfo) != 1){
sgLogError("Error parsing squid line: %s",buf);
- puts("");
+ puts("BH message=\"squidGuard error parsing squid line\"");
}
else {
src = Source;
@@ -196,14 +196,14 @@
acl = sgAclCheckSource(src);
if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
if(src == NULL || src->cont_search == 0){
- puts("");
+ puts("ERR");
break;
} else
if(src->next != NULL){
src = src->next;
continue;
} else {
- puts("");
+ puts("ERR");
break;
}
} else {
@@ -215,9 +215,10 @@
squidInfo.ident[0] = '-';
squidInfo.ident[1] = '\0';
}
- fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
- squidInfo.srcDomain,squidInfo.ident,
- squidInfo.method);
+ if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) && redirect[3]==':') {
+ fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", redirect[0], redirect[1], redirect[2], &redirect[4]);
+ } else
+ fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
/* sgLogError("%s %s/%s %s %s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method); */
break;
}
--- squidGuard-1.4.orig/src/sgDiv.c 2013-12-11 17:42:15.000000000 +1300
+++ squidGuard-1.4.orig/src/sgDiv.c 2013-12-11 18:58:33.000000000 +1300
@@ -771,7 +771,7 @@
}
sgLogError("Going into emergency mode");
while(fgets(buf, MAX_BUF, stdin) != NULL){
- puts("");
+ puts("ERR");
fflush(stdout);
}
sgLogError("ending emergency mode, stdin empty");
--- squidGuard-1.4.orig/src/sgDiv.c.in 2013-12-11 17:42:15.000000000 +1300
+++ squidGuard-1.4.orig/src/sgDiv.c.in 2013-12-11 18:58:40.000000000 +1300
@@ -782,7 +782,7 @@
}
sgLogError("Going into emergency mode");
while(fgets(buf, MAX_BUF, stdin) != NULL){
- puts("");
+ puts("ERR");
fflush(stdout);
}
sgLogError("ending emergency mode, stdin empty");

View File

@@ -651,7 +651,7 @@ if ($ip ne $ipcache) {
&General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server)");
}
}
elsif ($settings{'SERVICE'} eq 'udmedia.de') {
elsif ($settings{'SERVICE'} eq 'udmedia') {
# use proxy ?
my %proxysettings;
&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
@@ -685,7 +685,7 @@ if ($ip ne $ipcache) {
&General::log("Dynamic DNS ip-update for $settings{'HOSTDOMAIN'} : failure (could not connect to server, check your credentials---$out-$response--)");
}
}
elsif ($settings{'SERVICE'} eq 'twodns.de') {
elsif ($settings{'SERVICE'} eq 'twodns') {
# use proxy ?
my %proxysettings;
&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);

Some files were not shown because too many files have changed in this diff Show More