--- /dev/null
+/var/log/asterisk/messages /var/log/asterisk/full /var/log/asterisk/security /var/log/asterisk/*_log {
+ weekly
+ missingok
+ rotate 4
+ sharedscripts
+ postrotate
+ /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
+ endscript
+}
+++ /dev/null
-MENUSELECT_ADDONS=format_mp3
-MENUSELECT_APPS=app_flash app_meetme app_page app_dahdiras app_fax app_jack app_osplookup app_dahdibarge
-MENUSELECT_BRIDGES=
-MENUSELECT_CDR=cdr_adaptive_odbc cdr_odbc cdr_pgsql cdr_radius cdr_tds cdr_sqlite
-MENUSELECT_CEL=cel_odbc cel_pgsql cel_radius cel_tds
-MENUSELECT_CHANNELS=chan_dahdi chan_console chan_gtalk chan_jingle chan_misdn chan_nbs chan_vpb chan_h323
-MENUSELECT_CODECS=codec_dahdi codec_resample codec_speex
-MENUSELECT_FORMATS=
-MENUSELECT_FUNCS=func_odbc func_speex
-MENUSELECT_PBX=pbx_lua
-MENUSELECT_RES=res_calendar_caldav res_calendar_ews res_calendar_exchange res_calendar_icalendar res_config_odbc res_http_post res_odbc res_srtp res_timing_dahdi res_ais res_config_pgsql res_config_sqlite res_jabber res_timing_kqueue
-MENUSELECT_TESTS=test_acl test_amihooks test_aoc test_app test_ast_format_str_reduce test_astobj2 test_config test_db test_devicestate test_dlinklists test_event test_expr test_func_file test_gosub test_heap test_linkedlists test_locale test_logger test_netsock2 test_pbx test_poll test_sched test_security_events test_skel test_stringfields test_strings test_substitution test_time test_utils
-MENUSELECT_CFLAGS=LOADABLE_MODULES
-MENUSELECT_OPTS_app_voicemail=FILE_STORAGE
-MENUSELECT_UTILS=astcanary aelparse astman check_expr check_expr2 conf2ael hashtest hashtest2 muted refcounter smsq stereorize streamplayer
-MENUSELECT_AGIS=
-MENUSELECT_EMBED=
-MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-GSM
-MENUSELECT_MOH=MOH-OPSOUND-GSM
-MENUSELECT_EXTRA_SOUNDS=EXTRA-SOUNDS-EN-GSM
-MENUSELECT_BUILD_DEPS=chan_local app_voicemail res_monitor res_agi res_adsi res_smdi res_crypto res_pktccops res_ael_share res_fax G711_NEW_ALGORITHM
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_flash
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_meetme
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_page
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_dahdiras
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_jack
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_osplookup
-MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_dahdibarge
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_adaptive_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_pgsql
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_radius
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_tds
-MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_sqlite
-MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_pgsql
-MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_radius
-MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_tds
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_dahdi
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_console
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_gtalk
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_jingle
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_misdn
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_nbs
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_vpb
-MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_h323
-MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_dahdi
-MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_resample
-MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_speex
-MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_speex
-MENUSELECT_DEPSFAILED=MENUSELECT_PBX=pbx_lua
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_caldav
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_ews
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_exchange
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_icalendar
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_http_post
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_odbc
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_srtp
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_dahdi
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_ais
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_pgsql
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_sqlite
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_jabber
-MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_kqueue
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_acl
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_amihooks
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aoc
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_app
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_ast_format_str_reduce
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_astobj2
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_config
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_db
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_devicestate
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dlinklists
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_event
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_expr
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_func_file
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_gosub
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_heap
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_linkedlists
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_locale
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_logger
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_netsock2
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_pbx
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_poll
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sched
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_security_events
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_skel
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stringfields
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_strings
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_substitution
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_time
-MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_utils
-MENUSELECT_DEPSFAILED=MENUSELECT_CFLAGS=BUILD_NATIVE
+++ /dev/null
-ktiv;Mon;Tue;Wed;Thu;Fri;;;05:00\r
-Channel: SIP/536\r
-MaxRetries: 3\r
-RetryTime: 45\r
-WaitTime: 30\r
-Context: service\r
-Extension: 609\r
-Callerid: WakeUP <536>\r
+++ /dev/null
-Aktiv;Mon;Tue;Wed;Thu;Fri;Sat;Sun;05:00\r
-Channel: SIP/536\r
-MaxRetries: 3\r
-RetryTime: 45\r
-WaitTime: 30\r
-Context: service\r
-Extension: 609\r
-Callerid: WakeUP <536>\r
+++ /dev/null
-#!/bin/bash
-
-CALL_P=/var/spool/asterisk/outgoing/
-SOURCE=/var/ipfire/asterisk/wakeup/source/
-TMP=/var/ipfire/asterisk/wakeup/tmp/
-EXT=".call"
-DAY=$(/bin/date '+%a')
-NOW=$(/bin/date '+%H:%M')
-
-for f in $(/bin/find ${SOURCE} -type f -name "*${EXT}")
-do
- if $(/bin/head -1 $f | /bin/egrep -i -q "aktiv")
- then
- if [ "${1}#" = "debug#" ]; then echo "File Aktiv"; fi
- BASEN=$(/usr/bin/basename $f)
- if $(/bin/head -1 $f | /bin/egrep -i -q "${DAY}")
- then
- if [ "${1}#" = "debug#" ]; then echo "Tag vorhanden in ${BASEN}"; fi
- NOW2=$(cat $f | head -1 | sed 's/.*;//g' | sed 's/\r//g')
- if test "${NOW}#" = "${NOW2}#"
- then
- if [ "${1}#" = "debug#" ]; then echo "Weckruf wird gestartet"; fi
- LAENG=$(wc -l $f)
- if [ "${1}#" = "debug#" ]; then echo "/usr/bin/tail -n$(( ${LAENG%% *}-1 )) $f >${TMP}${BASEN}"; else /usr/bin/tail -n$(( ${LAENG%% *}-1 )) $f >${TMP}${BASEN}; fi
- if [ "${1}#" = "debug#" ]; then echo /bin/mv ${TMP}${BASEN} ${CALL_P}; else /bin/mv ${TMP}${BASEN} ${CALL_P}; fi
- else if [ "${1}#" = "debug#" ]; then echo "Tag ok aber Zeit noch nicht #${NOW}!=${NOW2}#"; fi
- fi
- else if [ "${1}#" = "debug#" ]; then echo "Tag nicht vorhanden in ${f}"; fi
- fi
- else if [ "${1}#" = "debug#" ]; then echo "File ${f} nicht aktiv"; fi
- fi
-done
-
-# /usr/bin/logger -t ipfire Asterisk Wakeup Run
-
-# wenn als erster Parameter debug mit gegeben wird, wird alles nur via echo behandelt
-# Infos unter: http://www.das-asterisk-buch.de/unstable/call-file.html
-# oder: http://www.voip-info.org/wiki-Asterisk+auto-dial+out
-
-##EOF##
print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR;
}
+sub updatevpngraph {
+ my $interface = $_[0];
+ my $period = $_[1];
+ RRDs::graph(
+ "-",
+ "--start",
+ "-1".$period,
+ "-aPNG",
+ "-i",
+ "-z",
+ "-W www.ipfire.org",
+ "--alt-y-grid",
+ "-w 600",
+ "-h 125",
+ "-r",
+ "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
+ "-v ".$Lang::tr{'bytes per second'},
+ "--color=SHADEA".$color{"color19"},
+ "--color=SHADEB".$color{"color19"},
+ "--color=BACK".$color{"color21"},
+ "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:rx:AVERAGE",
+ "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:tx:AVERAGE",
+ "CDEF:outgoingn=outgoing,-1,*",
+ "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j",
+ "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}),
+ "GPRINT:incoming:MAX:%8.1lf %sBps",
+ "GPRINT:incoming:AVERAGE:%8.1lf %sBps",
+ "GPRINT:incoming:MIN:%8.1lf %sBps",
+ "GPRINT:incoming:LAST:%8.1lf %sBps\\j",
+ "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}),
+ "GPRINT:outgoing:MAX:%8.1lf %sBps",
+ "GPRINT:outgoing:AVERAGE:%8.1lf %sBps",
+ "GPRINT:outgoing:MIN:%8.1lf %sBps",
+ "GPRINT:outgoing:LAST:%8.1lf %sBps\\j",
+ );
+ $ERROR = RRDs::error;
+ print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR;
+}
+
+sub updatevpnn2ngraph {
+ my $interface = $_[0];
+ my $period = $_[1];
+ RRDs::graph(
+ "-",
+ "--start",
+ "-1".$period,
+ "-aPNG",
+ "-i",
+ "-z",
+ "-W www.ipfire.org",
+ "--alt-y-grid",
+ "-w 600",
+ "-h 125",
+ "-r",
+ "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"},
+ "-v ".$Lang::tr{'bytes per second'},
+ "--color=SHADEA".$color{"color19"},
+ "--color=SHADEB".$color{"color19"},
+ "--color=BACK".$color{"color21"},
+ "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:rx:AVERAGE",
+ "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:tx:AVERAGE",
+ "DEF:overhead_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:rx:AVERAGE",
+ "DEF:overhead_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:tx:AVERAGE",
+ "DEF:compression_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_in.rrd:uncompressed:AVERAGE",
+ "DEF:compression_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_out.rrd:uncompressed:AVERAGE",
+ "CDEF:outgoingn=outgoing,-1,*",
+ "CDEF:overhead_outn=overhead_out,-1,*",
+ "CDEF:compression_outn=compression_out,-1,*",
+ "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'average'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}),
+ "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j",
+ "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}),
+ "GPRINT:incoming:MAX:%8.1lf %sBps",
+ "GPRINT:incoming:AVERAGE:%8.1lf %sBps",
+ "GPRINT:incoming:MIN:%8.1lf %sBps",
+ "GPRINT:incoming:LAST:%8.1lf %sBps\\j",
+ "STACK:overhead_in#116B11:".sprintf("%-20s",$Lang::tr{'incoming overhead in bytes per second'}),
+ "GPRINT:overhead_in:MAX:%8.1lf %sBps",
+ "GPRINT:overhead_in:AVERAGE:%8.1lf %sBps",
+ "GPRINT:overhead_in:MIN:%8.1lf %sBps",
+ "GPRINT:overhead_in:LAST:%8.1lf %sBps\\j",
+ "LINE1:compression_in#ff00ff:".sprintf("%-20s",$Lang::tr{'incoming compression in bytes per second'}),
+ "GPRINT:compression_in:MAX:%8.1lf %sBps",
+ "GPRINT:compression_in:AVERAGE:%8.1lf %sBps",
+ "GPRINT:compression_in:MIN:%8.1lf %sBps",
+ "GPRINT:compression_in:LAST:%8.1lf %sBps\\j",
+ "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}),
+ "GPRINT:outgoing:MAX:%8.1lf %sBps",
+ "GPRINT:outgoing:AVERAGE:%8.1lf %sBps",
+ "GPRINT:outgoing:MIN:%8.1lf %sBps",
+ "GPRINT:outgoing:LAST:%8.1lf %sBps\\j",
+ "STACK:overhead_outn#870C0C:".sprintf("%-20s",$Lang::tr{'outgoing overhead in bytes per second'}),
+ "GPRINT:overhead_out:MAX:%8.1lf %sBps",
+ "GPRINT:overhead_out:AVERAGE:%8.1lf %sBps",
+ "GPRINT:overhead_out:MIN:%8.1lf %sBps",
+ "GPRINT:overhead_out:LAST:%8.1lf %sBps\\j",
+ "LINE1:compression_outn#000000:".sprintf("%-20s",$Lang::tr{'outgoing compression in bytes per second'}),
+ "GPRINT:compression_out:MAX:%8.1lf %sBps",
+ "GPRINT:compression_out:AVERAGE:%8.1lf %sBps",
+ "GPRINT:compression_out:MIN:%8.1lf %sBps",
+ "GPRINT:compression_out:LAST:%8.1lf %sBps\\j",
+ );
+ $ERROR = RRDs::error;
+ print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR;
+}
+
# Generate the Firewall Graph for the current period of time for values given by collecd
sub updatefwhitsgraph {
#include "/etc/collectd.thermal"
include "/etc/collectd.custom"
+include "/etc/collectd.vpn"
--- /dev/null
+LoadPlugin openvpn
+
+<Plugin openvpn>
+StatusFile "/var/run/ovpnserver.log"
+</Plugin>
'title' => "$Lang::tr{'network other'}",
'enabled' => 1,
};
+ $substatus->{'53.networkovpn'} = {
+ 'caption' => "$Lang::tr{'openvpn client'}",
+ 'uri' => '/cgi-bin/netovpnrw.cgi',
+ 'title' => "$Lang::tr{'openvpn client'}",
+ 'enabled' => 1,
+ };
+ $substatus->{'54.networkovpnsrv'} = {
+ 'caption' => "$Lang::tr{'openvpn server'}",
+ 'uri' => '/cgi-bin/netovpnsrv.cgi',
+ 'title' => "$Lang::tr{'openvpn server'}",
+ 'enabled' => 1,
+ };
$substatus->{'60.hardwaregraphs'} = {
'caption' => "$Lang::tr{'hardware graphs'}",
'uri' => '/cgi-bin/hardwaregraphs.cgi',
srv/web/ipfire/cgi-bin/netexternal.cgi
srv/web/ipfire/cgi-bin/netinternal.cgi
srv/web/ipfire/cgi-bin/netother.cgi
+srv/web/ipfire/cgi-bin/netovpnrw.cgi
+srv/web/ipfire/cgi-bin/netovpnsrv.cgi
srv/web/ipfire/cgi-bin/optionsfw.cgi
srv/web/ipfire/cgi-bin/ovpnmain.cgi
srv/web/ipfire/cgi-bin/p2p-block.cgi
etc/collectd.custom
etc/collectd.precache
etc/collectd.thermal
+etc/collectd.vpn
etc/rc.d/init.d/collectd
etc/rc.d/rc0.d/K50collectd
etc/rc.d/rc3.d/S29collectd
#usr/lib/libdaq.la
#usr/lib/libdaq.so
usr/lib/libdaq.so.2
-usr/lib/libdaq.so.2.0.2
+usr/lib/libdaq.so.2.0.4
#usr/lib/libdaq_static.a
#usr/lib/libdaq_static.la
#usr/lib/libdaq_static_modules.a
usr/lib/python2.7/site-packages/ddns/__version__.py
usr/lib/python2.7/site-packages/ddns/__version__.pyc
usr/lib/python2.7/site-packages/ddns/__version__.pyo
+usr/lib/python2.7/site-packages/ddns/database.py
+usr/lib/python2.7/site-packages/ddns/database.pyc
+usr/lib/python2.7/site-packages/ddns/database.pyo
usr/lib/python2.7/site-packages/ddns/errors.py
usr/lib/python2.7/site-packages/ddns/errors.pyc
usr/lib/python2.7/site-packages/ddns/errors.pyo
usr/bin/fcronsighup
usr/bin/fcrontab
usr/sbin/fcron
-#usr/share/doc/fcron-3.0.4
-#usr/share/doc/fcron-3.0.4/en
-#usr/share/doc/fcron-3.0.4/en/HTML
-#usr/share/doc/fcron-3.0.4/en/HTML/LEGALNOTICE.html
-#usr/share/doc/fcron-3.0.4/en/HTML/changes.html
-#usr/share/doc/fcron-3.0.4/en/HTML/faq.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fcron.8.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fcron.conf.5.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fcrondyn.1.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fcrontab.1.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fcrontab.5.html
-#usr/share/doc/fcron-3.0.4/en/HTML/fdl.html
-#usr/share/doc/fcron-3.0.4/en/HTML/gpl.html
-#usr/share/doc/fcron-3.0.4/en/HTML/how-and-why.html
-#usr/share/doc/fcron-3.0.4/en/HTML/index.html
-#usr/share/doc/fcron-3.0.4/en/HTML/install.html
-#usr/share/doc/fcron-3.0.4/en/HTML/manpages.html
-#usr/share/doc/fcron-3.0.4/en/HTML/readme.html
-#usr/share/doc/fcron-3.0.4/en/HTML/relnotes.html
-#usr/share/doc/fcron-3.0.4/en/HTML/thanks.html
-#usr/share/doc/fcron-3.0.4/en/HTML/todo.html
-#usr/share/doc/fcron-3.0.4/en/HTML/using-fcron.html
-#usr/share/doc/fcron-3.0.4/en/txt
-#usr/share/doc/fcron-3.0.4/en/txt/changes.txt
-#usr/share/doc/fcron-3.0.4/en/txt/faq.txt
-#usr/share/doc/fcron-3.0.4/en/txt/gpl.txt
-#usr/share/doc/fcron-3.0.4/en/txt/install.txt
-#usr/share/doc/fcron-3.0.4/en/txt/readme.txt
-#usr/share/doc/fcron-3.0.4/en/txt/relnotes.txt
-#usr/share/doc/fcron-3.0.4/en/txt/thanks.txt
-#usr/share/doc/fcron-3.0.4/en/txt/todo.txt
-#usr/share/doc/fcron-3.0.4/fr
-#usr/share/doc/fcron-3.0.4/fr/HTML
-#usr/share/doc/fcron-3.0.4/fr/HTML/LEGALNOTICE.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/changes.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/faq.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fcron.8.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fcron.conf.5.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fcrondyn.1.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fcrontab.1.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fcrontab.5.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/fdl.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/gpl.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/how-and-why.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/index.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/install.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/manpages.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/readme.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/relnotes.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/thanks.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/todo.html
-#usr/share/doc/fcron-3.0.4/fr/HTML/using-fcron.html
-#usr/share/doc/fcron-3.0.4/fr/txt
-#usr/share/doc/fcron-3.0.4/fr/txt/changes.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/faq.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/gpl.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/install.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/readme.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/relnotes.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/thanks.txt
-#usr/share/doc/fcron-3.0.4/fr/txt/todo.txt
+#usr/share/doc/fcron-3.2.0
+#usr/share/doc/fcron-3.2.0/en
+#usr/share/doc/fcron-3.2.0/en/HTML
+#usr/share/doc/fcron-3.2.0/en/HTML/LEGALNOTICE.html
+#usr/share/doc/fcron-3.2.0/en/HTML/changes.html
+#usr/share/doc/fcron-3.2.0/en/HTML/faq.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fcron.8.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fcron.conf.5.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fcrondyn.1.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fcrontab.1.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fcrontab.5.html
+#usr/share/doc/fcron-3.2.0/en/HTML/fdl.html
+#usr/share/doc/fcron-3.2.0/en/HTML/gpl.html
+#usr/share/doc/fcron-3.2.0/en/HTML/how-and-why.html
+#usr/share/doc/fcron-3.2.0/en/HTML/index.html
+#usr/share/doc/fcron-3.2.0/en/HTML/install.html
+#usr/share/doc/fcron-3.2.0/en/HTML/manpages.html
+#usr/share/doc/fcron-3.2.0/en/HTML/readme.html
+#usr/share/doc/fcron-3.2.0/en/HTML/relnotes.html
+#usr/share/doc/fcron-3.2.0/en/HTML/thanks.html
+#usr/share/doc/fcron-3.2.0/en/HTML/todo.html
+#usr/share/doc/fcron-3.2.0/en/HTML/using-fcron.html
+#usr/share/doc/fcron-3.2.0/en/txt
+#usr/share/doc/fcron-3.2.0/en/txt/changes.txt
+#usr/share/doc/fcron-3.2.0/en/txt/faq.txt
+#usr/share/doc/fcron-3.2.0/en/txt/gpl.txt
+#usr/share/doc/fcron-3.2.0/en/txt/install.txt
+#usr/share/doc/fcron-3.2.0/en/txt/readme.txt
+#usr/share/doc/fcron-3.2.0/en/txt/relnotes.txt
+#usr/share/doc/fcron-3.2.0/en/txt/thanks.txt
+#usr/share/doc/fcron-3.2.0/en/txt/todo.txt
+#usr/share/doc/fcron-3.2.0/fr
+#usr/share/doc/fcron-3.2.0/fr/HTML
+#usr/share/doc/fcron-3.2.0/fr/HTML/LEGALNOTICE.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/changes.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/faq.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fcron.8.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fcron.conf.5.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fcrondyn.1.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fcrontab.1.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fcrontab.5.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/fdl.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/gpl.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/how-and-why.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/index.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/install.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/manpages.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/readme.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/relnotes.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/thanks.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/todo.html
+#usr/share/doc/fcron-3.2.0/fr/HTML/using-fcron.html
+#usr/share/doc/fcron-3.2.0/fr/txt
+#usr/share/doc/fcron-3.2.0/fr/txt/changes.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/faq.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/gpl.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/install.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/readme.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/relnotes.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/thanks.txt
+#usr/share/doc/fcron-3.2.0/fr/txt/todo.txt
#usr/share/man/fr
#usr/share/man/fr/man1
#usr/share/man/fr/man1/fcrondyn.1
#usr/lib/libart_lgpl_2.la
usr/lib/libart_lgpl_2.so
usr/lib/libart_lgpl_2.so.2
-usr/lib/libart_lgpl_2.so.2.3.17
+usr/lib/libart_lgpl_2.so.2.3.21
#usr/lib/pkgconfig/libart-2.0.pc
lib/libcap.so
lib/libcap.so.1
lib/libcap.so.2
-lib/libcap.so.2.19
+lib/libcap.so.2.24
lib/security/pam_cap.so
sbin/capsh
sbin/getcap
sbin/getpcaps
sbin/setcap
#usr/include/sys/capability.h
+#usr/lib/pkgconfig/libcap.pc
#usr/share/man/man1/capsh.1
#usr/share/man/man3/cap_clear.3
#usr/share/man/man3/cap_clear_flag.3
#usr/share/man/man3/cap_compare.3
#usr/share/man/man3/cap_copy_ext.3
#usr/share/man/man3/cap_copy_int.3
+#usr/share/man/man3/cap_drop_bound.3
#usr/share/man/man3/cap_dup.3
#usr/share/man/man3/cap_free.3
#usr/share/man/man3/cap_from_name.3
#usr/share/man/man3/cap_from_text.3
+#usr/share/man/man3/cap_get_bound.3
#usr/share/man/man3/cap_get_fd.3
#usr/share/man/man3/cap_get_file.3
#usr/share/man/man3/cap_get_flag.3
-#usr/lib/libffi-3.0.11
-#usr/lib/libffi-3.0.11/include
-#usr/lib/libffi-3.0.11/include/ffi.h
-#usr/lib/libffi-3.0.11/include/ffitarget.h
+#usr/lib/libffi-3.2.1
+#usr/lib/libffi-3.2.1/include
+#usr/lib/libffi-3.2.1/include/ffi.h
+#usr/lib/libffi-3.2.1/include/ffitarget.h
#usr/lib/libffi.a
#usr/lib/libffi.la
#usr/lib/libffi.so
usr/lib/libffi.so.6
-usr/lib/libffi.so.6.0.0
+usr/lib/libffi.so.6.0.4
#usr/lib/pkgconfig/libffi.pc
#usr/share/info/libffi.info
#usr/share/man/man3/ffi.3
#usr/bin/pcap-config
#usr/include/pcap
-#usr/include/pcap/bluetooth.h
#usr/include/pcap-bpf.h
-#usr/include/pcap-int.h
-#usr/include/pcap/ipnet.h
#usr/include/pcap-namedb.h
#usr/include/pcap.h
+#usr/include/pcap/bluetooth.h
#usr/include/pcap/bpf.h
+#usr/include/pcap/ipnet.h
#usr/include/pcap/namedb.h
+#usr/include/pcap/nflog.h
#usr/include/pcap/pcap.h
#usr/include/pcap/sll.h
#usr/include/pcap/usb.h
#usr/lib/libpcap.a
usr/lib/libpcap.so
usr/lib/libpcap.so.1
-usr/lib/libpcap.so.1.4.0
+usr/lib/libpcap.so.1.6.2
#usr/share/man/man1/pcap-config.1
#usr/share/man/man3/pcap.3pcap
#usr/share/man/man3/pcap_activate.3pcap
#usr/share/man/man3/pcap_fileno.3pcap
#usr/share/man/man3/pcap_findalldevs.3pcap
#usr/share/man/man3/pcap_fopen_offline.3pcap
+#usr/share/man/man3/pcap_fopen_offline_with_tstamp_precision.3pcap
#usr/share/man/man3/pcap_free_datalinks.3pcap
#usr/share/man/man3/pcap_free_tstamp_types.3pcap
#usr/share/man/man3/pcap_freealldevs.3pcap
#usr/share/man/man3/pcap_freecode.3pcap
#usr/share/man/man3/pcap_get_selectable_fd.3pcap
+#usr/share/man/man3/pcap_get_tstamp_precision.3pcap
#usr/share/man/man3/pcap_geterr.3pcap
#usr/share/man/man3/pcap_getnonblock.3pcap
#usr/share/man/man3/pcap_inject.3pcap
#usr/share/man/man3/pcap_next_ex.3pcap
#usr/share/man/man3/pcap_offline_filter.3pcap
#usr/share/man/man3/pcap_open_dead.3pcap
+#usr/share/man/man3/pcap_open_dead_with_tstamp_precision.3pcap
#usr/share/man/man3/pcap_open_live.3pcap
#usr/share/man/man3/pcap_open_offline.3pcap
+#usr/share/man/man3/pcap_open_offline_with_tstamp_precision.3pcap
#usr/share/man/man3/pcap_perror.3pcap
#usr/share/man/man3/pcap_sendpacket.3pcap
#usr/share/man/man3/pcap_set_buffer_size.3pcap
#usr/share/man/man3/pcap_set_datalink.3pcap
+#usr/share/man/man3/pcap_set_immediate_mode.3pcap
#usr/share/man/man3/pcap_set_promisc.3pcap
#usr/share/man/man3/pcap_set_rfmon.3pcap
#usr/share/man/man3/pcap_set_snaplen.3pcap
#usr/share/man/man3/pcap_set_timeout.3pcap
+#usr/share/man/man3/pcap_set_tstamp_precision.3pcap
#usr/share/man/man3/pcap_set_tstamp_type.3pcap
#usr/share/man/man3/pcap_setdirection.3pcap
#usr/share/man/man3/pcap_setfilter.3pcap
#usr/share/man/man3/pcap_statustostr.3pcap
#usr/share/man/man3/pcap_strerror.3pcap
#usr/share/man/man3/pcap_tstamp_type_name_to_val.3pcap
+#usr/share/man/man3/pcap_tstamp_type_val_to_description.3pcap
#usr/share/man/man3/pcap_tstamp_type_val_to_name.3pcap
#usr/share/man/man5/pcap-savefile.5
#usr/share/man/man7/pcap-filter.7
#usr/lib/libpcre.la
usr/lib/libpcre.so
usr/lib/libpcre.so.1
-usr/lib/libpcre.so.1.0.1
+usr/lib/libpcre.so.1.2.4
#usr/lib/libpcrecpp.la
usr/lib/libpcrecpp.so
usr/lib/libpcrecpp.so.0
-usr/lib/libpcrecpp.so.0.0.0
+usr/lib/libpcrecpp.so.0.0.1
#usr/lib/libpcreposix.la
usr/lib/libpcreposix.so
usr/lib/libpcreposix.so.0
-usr/lib/libpcreposix.so.0.0.1
+usr/lib/libpcreposix.so.0.0.3
#usr/lib/pkgconfig/libpcre.pc
#usr/lib/pkgconfig/libpcrecpp.pc
#usr/lib/pkgconfig/libpcreposix.pc
#usr/share/doc/pcre/NEWS
#usr/share/doc/pcre/README
#usr/share/doc/pcre/html
+#usr/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt
+#usr/share/doc/pcre/html/README.txt
#usr/share/doc/pcre/html/index.html
#usr/share/doc/pcre/html/pcre-config.html
#usr/share/doc/pcre/html/pcre.html
#usr/share/doc/pcre/html/pcre16.html
+#usr/share/doc/pcre/html/pcre32.html
#usr/share/doc/pcre/html/pcre_assign_jit_stack.html
#usr/share/doc/pcre/html/pcre_compile.html
#usr/share/doc/pcre/html/pcre_compile2.html
#usr/share/doc/pcre/html/pcre_get_stringtable_entries.html
#usr/share/doc/pcre/html/pcre_get_substring.html
#usr/share/doc/pcre/html/pcre_get_substring_list.html
+#usr/share/doc/pcre/html/pcre_jit_exec.html
#usr/share/doc/pcre/html/pcre_jit_stack_alloc.html
#usr/share/doc/pcre/html/pcre_jit_stack_free.html
#usr/share/doc/pcre/html/pcre_maketables.html
#usr/share/doc/pcre/html/pcre_refcount.html
#usr/share/doc/pcre/html/pcre_study.html
#usr/share/doc/pcre/html/pcre_utf16_to_host_byte_order.html
+#usr/share/doc/pcre/html/pcre_utf32_to_host_byte_order.html
#usr/share/doc/pcre/html/pcre_version.html
#usr/share/doc/pcre/html/pcreapi.html
#usr/share/doc/pcre/html/pcrebuild.html
#usr/share/man/man3/pcre16_get_stringtable_entries.3
#usr/share/man/man3/pcre16_get_substring.3
#usr/share/man/man3/pcre16_get_substring_list.3
+#usr/share/man/man3/pcre16_jit_exec.3
#usr/share/man/man3/pcre16_jit_stack_alloc.3
#usr/share/man/man3/pcre16_jit_stack_free.3
#usr/share/man/man3/pcre16_maketables.3
#usr/share/man/man3/pcre16_study.3
#usr/share/man/man3/pcre16_utf16_to_host_byte_order.3
#usr/share/man/man3/pcre16_version.3
+#usr/share/man/man3/pcre32.3
+#usr/share/man/man3/pcre32_assign_jit_stack.3
+#usr/share/man/man3/pcre32_compile.3
+#usr/share/man/man3/pcre32_compile2.3
+#usr/share/man/man3/pcre32_config.3
+#usr/share/man/man3/pcre32_copy_named_substring.3
+#usr/share/man/man3/pcre32_copy_substring.3
+#usr/share/man/man3/pcre32_dfa_exec.3
+#usr/share/man/man3/pcre32_exec.3
+#usr/share/man/man3/pcre32_free_study.3
+#usr/share/man/man3/pcre32_free_substring.3
+#usr/share/man/man3/pcre32_free_substring_list.3
+#usr/share/man/man3/pcre32_fullinfo.3
+#usr/share/man/man3/pcre32_get_named_substring.3
+#usr/share/man/man3/pcre32_get_stringnumber.3
+#usr/share/man/man3/pcre32_get_stringtable_entries.3
+#usr/share/man/man3/pcre32_get_substring.3
+#usr/share/man/man3/pcre32_get_substring_list.3
+#usr/share/man/man3/pcre32_jit_exec.3
+#usr/share/man/man3/pcre32_jit_stack_alloc.3
+#usr/share/man/man3/pcre32_jit_stack_free.3
+#usr/share/man/man3/pcre32_maketables.3
+#usr/share/man/man3/pcre32_pattern_to_host_byte_order.3
+#usr/share/man/man3/pcre32_refcount.3
+#usr/share/man/man3/pcre32_study.3
+#usr/share/man/man3/pcre32_utf32_to_host_byte_order.3
+#usr/share/man/man3/pcre32_version.3
#usr/share/man/man3/pcre_assign_jit_stack.3
#usr/share/man/man3/pcre_compile.3
#usr/share/man/man3/pcre_compile2.3
#usr/share/man/man3/pcre_get_stringtable_entries.3
#usr/share/man/man3/pcre_get_substring.3
#usr/share/man/man3/pcre_get_substring_list.3
+#usr/share/man/man3/pcre_jit_exec.3
#usr/share/man/man3/pcre_jit_stack_alloc.3
#usr/share/man/man3/pcre_jit_stack_free.3
#usr/share/man/man3/pcre_maketables.3
#usr/share/man/man3/pcre_refcount.3
#usr/share/man/man3/pcre_study.3
#usr/share/man/man3/pcre_utf16_to_host_byte_order.3
+#usr/share/man/man3/pcre_utf32_to_host_byte_order.3
#usr/share/man/man3/pcre_version.3
#usr/share/man/man3/pcreapi.3
#usr/share/man/man3/pcrebuild.3
#usr/share/man/man3/pcrecallout.3
#usr/share/man/man3/pcrecompat.3
#usr/share/man/man3/pcrecpp.3
+#usr/share/man/man3/pcredemo.3
#usr/share/man/man3/pcrejit.3
#usr/share/man/man3/pcrelimits.3
#usr/share/man/man3/pcrematching.3
etc/screenrc
usr/bin/screen
-usr/bin/screen-4.0.3
+usr/bin/screen-4.2.1
#usr/info/screen.info
#usr/info/screen.info-1
#usr/info/screen.info-2
#usr/info/screen.info-4
#usr/info/screen.info-5
#usr/man/man1/screen.1
+#usr/share/info/screen.info
+#usr/share/man/man1/screen.1
#usr/share/screen
#usr/share/screen/utf8encodings
#usr/share/screen/utf8encodings/01
#usr/etc/rc.d/init.d
#usr/etc/rc.d/init.d/smartd
#usr/etc/smartd.conf
+#usr/etc/smartd_warning.d
#usr/etc/smartd_warning.sh
usr/sbin/smartctl
#usr/sbin/smartd
#usr/share/doc/smartmontools/examplescripts/Example2
#usr/share/doc/smartmontools/examplescripts/Example3
#usr/share/doc/smartmontools/examplescripts/Example4
+#usr/share/doc/smartmontools/examplescripts/Example5
+#usr/share/doc/smartmontools/examplescripts/Example6
#usr/share/doc/smartmontools/examplescripts/README
#usr/share/doc/smartmontools/smartd.conf
#usr/share/man/man5/smartd.conf.5
#usr/share/man/man8/smartctl.8
#usr/share/man/man8/smartd.8
+#usr/share/man/man8/update-smart-drivedb.8
#usr/share/smartmontools
usr/share/smartmontools/drivedb.h
#usr/include/snort/dynamic_output/snort_debug.h
#usr/include/snort/dynamic_output/stream_api.h
#usr/include/snort/dynamic_preproc
+#usr/include/snort/dynamic_preproc/appId.h
#usr/include/snort/dynamic_preproc/bitop.h
#usr/include/snort/dynamic_preproc/cpuclock.h
#usr/include/snort/dynamic_preproc/file_api.h
+#usr/include/snort/dynamic_preproc/file_mail_common.h
#usr/include/snort/dynamic_preproc/idle_processing.h
#usr/include/snort/dynamic_preproc/ipv6_port.h
#usr/include/snort/dynamic_preproc/mempool.h
+#usr/include/snort/dynamic_preproc/mpse_methods.h
#usr/include/snort/dynamic_preproc/obfuscation.h
+#usr/include/snort/dynamic_preproc/packet_time.h
#usr/include/snort/dynamic_preproc/preprocids.h
#usr/include/snort/dynamic_preproc/profiler.h
#usr/include/snort/dynamic_preproc/segment_mem.h
+#usr/include/snort/dynamic_preproc/session_api.h
#usr/include/snort/dynamic_preproc/sfPolicy.h
#usr/include/snort/dynamic_preproc/sfPolicyUserData.h
#usr/include/snort/dynamic_preproc/sf_decompression.h
#usr/include/snort/dynamic_preproc/sf_snort_plugin_api.h
#usr/include/snort/dynamic_preproc/sfcommon.h
#usr/include/snort/dynamic_preproc/sfcontrol.h
+#usr/include/snort/dynamic_preproc/sfdebug.h
#usr/include/snort/dynamic_preproc/sfrt.h
#usr/include/snort/dynamic_preproc/sfrt_dir.h
#usr/include/snort/dynamic_preproc/sfrt_flat.h
#usr/include/snort/dynamic_preproc/sfrt_flat_dir.h
#usr/include/snort/dynamic_preproc/sfrt_trie.h
+#usr/include/snort/dynamic_preproc/sidechannel_define.h
+#usr/include/snort/dynamic_preproc/sip_common.h
#usr/include/snort/dynamic_preproc/snort_bounds.h
#usr/include/snort/dynamic_preproc/snort_debug.h
#usr/include/snort/dynamic_preproc/ssl.h
+#usr/include/snort/dynamic_preproc/ssl_config.h
+#usr/include/snort/dynamic_preproc/ssl_ha.h
+#usr/include/snort/dynamic_preproc/ssl_include.h
+#usr/include/snort/dynamic_preproc/ssl_inspect.h
+#usr/include/snort/dynamic_preproc/ssl_session.h
#usr/include/snort/dynamic_preproc/str_search.h
#usr/include/snort/dynamic_preproc/stream_api.h
#usr/lib/pkgconfig/snort.pc
#usr/share/doc/snort/CREDITS
#usr/share/doc/snort/INSTALL
#usr/share/doc/snort/NEWS
+#usr/share/doc/snort/OpenDetectorDeveloperGuide.pdf
#usr/share/doc/snort/PROBLEMS
#usr/share/doc/snort/README
#usr/share/doc/snort/README.GTP
#usr/share/doc/snort/README.WIN32
#usr/share/doc/snort/README.active
#usr/share/doc/snort/README.alert_order
+#usr/share/doc/snort/README.appid
#usr/share/doc/snort/README.asn1
#usr/share/doc/snort/README.counts
#usr/share/doc/snort/README.csv
#usr/share/doc/snort/README.ppm
#usr/share/doc/snort/README.reload
#usr/share/doc/snort/README.reputation
-#usr/share/doc/snort/README.rzb_saac
#usr/share/doc/snort/README.sensitive_data
#usr/share/doc/snort/README.sfportscan
#usr/share/doc/snort/README.sip
#usr/share/info/tar.info
#usr/share/info/tar.info-1
#usr/share/info/tar.info-2
+#usr/share/info/tar.info-3
+#usr/share/man/man1/tar.1
+#usr/share/man/man8/rmt.8
#usr/sbin/rmt
+
lib/libz.so
lib/libz.so.1
-lib/libz.so.1.2.7
+lib/libz.so.1.2.8
#usr/include/zconf.h
#usr/include/zlib.h
#usr/lib/libz.a
-#usr/lib/libz.so
#usr/lib/pkgconfig
#usr/lib/pkgconfig/zlib.pc
#usr/share/man/man3/zlib.3
--- /dev/null
+boot/config.txt
+etc/collectd.custom
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/ovpn
+var/log/cache
+var/state/dhcp/dhcpd.leases
+var/updatecache
--- /dev/null
+../../../common/daq
\ No newline at end of file
--- /dev/null
+../../../common/ddns
\ No newline at end of file
--- /dev/null
+../../../common/dnsmasq
\ No newline at end of file
--- /dev/null
+../../../common/ethtool
\ No newline at end of file
--- /dev/null
+../../../common/fcron
\ No newline at end of file
--- /dev/null
+../../../common/file
\ No newline at end of file
--- /dev/null
+etc/system-release
+etc/issue
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+var/ipfire/langs
--- /dev/null
+../../../common/gnupg
\ No newline at end of file
--- /dev/null
+../../../common/grep
\ No newline at end of file
--- /dev/null
+../../../common/hdparm
\ No newline at end of file
--- /dev/null
+../../../common/libart
\ No newline at end of file
--- /dev/null
+../../../common/libcap
\ No newline at end of file
--- /dev/null
+../../../common/libffi
\ No newline at end of file
--- /dev/null
+../../../common/libpcap
\ No newline at end of file
--- /dev/null
+../../../common/pcre
\ No newline at end of file
--- /dev/null
+../../../common/screen
\ No newline at end of file
--- /dev/null
+../../../common/smartmontools
\ No newline at end of file
--- /dev/null
+../../../common/snort
\ No newline at end of file
--- /dev/null
+../../../common/sqlite
\ No newline at end of file
--- /dev/null
+../../../common/squid
\ No newline at end of file
--- /dev/null
+../../../common/tar
\ No newline at end of file
--- /dev/null
+../../../common/wget
\ No newline at end of file
--- /dev/null
+../../../common/zlib
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2014 IPFire-Team <info@ipfire.org>. #
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+# Remove old core updates from pakfire cache to save space...
+core=87
+for (( i=1; i<=$core; i++ ))
+do
+ rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+
+# Remove old files
+
+# Extract files
+extract_files
+
+# Start services
+
+# Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+# Uninstall the sqlite package.
+rm -f \
+ /opt/pakfire/db/installed/meta-sqlite \
+ /opt/pakfire/db/rootfiles/sqlite
+
+sync
+
+# This update need a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Don't report the exitcode last command
+exit 0
+usr/lib/libsrtp.so
etc/asterisk
-etc/fcron.minutely/wakeup.sh
+etc/logrotate.d/asterisk
etc/rc.d/rc0.d/K30asterisk
etc/rc.d/rc3.d/S30asterisk
etc/rc.d/rc6.d/K30asterisk
#usr/include/asterisk/ccss.h
#usr/include/asterisk/cdr.h
#usr/include/asterisk/cel.h
+#usr/include/asterisk/celt.h
#usr/include/asterisk/channel.h
+#usr/include/asterisk/channel_internal.h
#usr/include/asterisk/channelstate.h
#usr/include/asterisk/chanvars.h
#usr/include/asterisk/cli.h
#usr/include/asterisk/compat.h
#usr/include/asterisk/compiler.h
#usr/include/asterisk/config.h
+#usr/include/asterisk/config_options.h
#usr/include/asterisk/crypto.h
#usr/include/asterisk/data.h
#usr/include/asterisk/datastore.h
#usr/include/asterisk/extconf.h
#usr/include/asterisk/features.h
#usr/include/asterisk/file.h
+#usr/include/asterisk/format.h
+#usr/include/asterisk/format_cap.h
+#usr/include/asterisk/format_pref.h
#usr/include/asterisk/frame.h
#usr/include/asterisk/frame_defs.h
#usr/include/asterisk/framehook.h
#usr/include/asterisk/hashtab.h
#usr/include/asterisk/heap.h
#usr/include/asterisk/http.h
+#usr/include/asterisk/http_websocket.h
#usr/include/asterisk/image.h
#usr/include/asterisk/indications.h
#usr/include/asterisk/inline_api.h
#usr/include/asterisk/logger.h
#usr/include/asterisk/manager.h
#usr/include/asterisk/md5.h
+#usr/include/asterisk/message.h
#usr/include/asterisk/mod_format.h
#usr/include/asterisk/module.h
#usr/include/asterisk/monitor.h
#usr/include/asterisk/pktccops.h
#usr/include/asterisk/plc.h
#usr/include/asterisk/poll-compat.h
+#usr/include/asterisk/presencestate.h
#usr/include/asterisk/privacy.h
#usr/include/asterisk/pval.h
#usr/include/asterisk/res_fax.h
#usr/include/asterisk/security_events_defs.h
#usr/include/asterisk/select.h
#usr/include/asterisk/sha1.h
+#usr/include/asterisk/silk.h
+#usr/include/asterisk/sip_api.h
#usr/include/asterisk/slin.h
#usr/include/asterisk/slinfactory.h
#usr/include/asterisk/smdi.h
#usr/include/asterisk/version.h
#usr/include/asterisk/xml.h
#usr/include/asterisk/xmldoc.h
+#usr/include/asterisk/xmpp.h
+#usr/include/srtp
+#usr/include/srtp/aes.h
+#usr/include/srtp/aes_cbc.h
+#usr/include/srtp/aes_icm.h
+#usr/include/srtp/alloc.h
+#usr/include/srtp/auth.h
+#usr/include/srtp/cipher.h
+#usr/include/srtp/config.h
+#usr/include/srtp/crypto.h
+#usr/include/srtp/crypto_kernel.h
+#usr/include/srtp/crypto_math.h
+#usr/include/srtp/crypto_types.h
+#usr/include/srtp/cryptoalg.h
+#usr/include/srtp/datatypes.h
+#usr/include/srtp/err.h
+#usr/include/srtp/gf2_8.h
+#usr/include/srtp/hmac.h
+#usr/include/srtp/integers.h
+#usr/include/srtp/kernel_compat.h
+#usr/include/srtp/key.h
+#usr/include/srtp/null_auth.h
+#usr/include/srtp/null_cipher.h
+#usr/include/srtp/prng.h
+#usr/include/srtp/rand_source.h
+#usr/include/srtp/rdb.h
+#usr/include/srtp/rdbx.h
+#usr/include/srtp/rtp.h
+#usr/include/srtp/sha1.h
+#usr/include/srtp/srtp.h
+#usr/include/srtp/stat.h
+#usr/include/srtp/ut_sim.h
+#usr/include/srtp/xfm.h
#usr/lib/asterisk
#usr/lib/asterisk/modules
usr/lib/asterisk/modules/app_adsiprog.so
usr/lib/asterisk/modules/app_getcpeid.so
usr/lib/asterisk/modules/app_ices.so
usr/lib/asterisk/modules/app_image.so
-usr/lib/asterisk/modules/app_ivrdemo.so
usr/lib/asterisk/modules/app_macro.so
usr/lib/asterisk/modules/app_milliwatt.so
usr/lib/asterisk/modules/app_minivm.so
usr/lib/asterisk/modules/app_mysql.so
usr/lib/asterisk/modules/app_nbscat.so
usr/lib/asterisk/modules/app_originate.so
+usr/lib/asterisk/modules/app_page.so
usr/lib/asterisk/modules/app_parkandannounce.so
usr/lib/asterisk/modules/app_playback.so
usr/lib/asterisk/modules/app_playtones.so
usr/lib/asterisk/modules/app_queue.so
usr/lib/asterisk/modules/app_read.so
usr/lib/asterisk/modules/app_readexten.so
-usr/lib/asterisk/modules/app_readfile.so
usr/lib/asterisk/modules/app_record.so
-usr/lib/asterisk/modules/app_saycounted.so
-usr/lib/asterisk/modules/app_saycountpl.so
usr/lib/asterisk/modules/app_sayunixtime.so
usr/lib/asterisk/modules/app_senddtmf.so
usr/lib/asterisk/modules/app_sendtext.so
-usr/lib/asterisk/modules/app_setcallerid.so
-usr/lib/asterisk/modules/app_skel.so
usr/lib/asterisk/modules/app_sms.so
usr/lib/asterisk/modules/app_softhangup.so
usr/lib/asterisk/modules/app_speech_utils.so
usr/lib/asterisk/modules/chan_agent.so
usr/lib/asterisk/modules/chan_alsa.so
usr/lib/asterisk/modules/chan_bridge.so
-usr/lib/asterisk/modules/chan_capi.so
usr/lib/asterisk/modules/chan_iax2.so
usr/lib/asterisk/modules/chan_local.so
usr/lib/asterisk/modules/chan_mgcp.so
-usr/lib/asterisk/modules/chan_mobile.so
usr/lib/asterisk/modules/chan_multicast_rtp.so
-usr/lib/asterisk/modules/chan_ooh323.so
-usr/lib/asterisk/modules/chan_oss.so
usr/lib/asterisk/modules/chan_phone.so
usr/lib/asterisk/modules/chan_sip.so
usr/lib/asterisk/modules/chan_skinny.so
usr/lib/asterisk/modules/codec_gsm.so
usr/lib/asterisk/modules/codec_ilbc.so
usr/lib/asterisk/modules/codec_lpc10.so
+usr/lib/asterisk/modules/codec_resample.so
usr/lib/asterisk/modules/codec_ulaw.so
usr/lib/asterisk/modules/format_g719.so
usr/lib/asterisk/modules/format_g723.so
usr/lib/asterisk/modules/format_h264.so
usr/lib/asterisk/modules/format_ilbc.so
usr/lib/asterisk/modules/format_jpeg.so
-usr/lib/asterisk/modules/format_ogg_vorbis.so
+#usr/lib/asterisk/modules/format_ogg_vorbis.so
usr/lib/asterisk/modules/format_pcm.so
usr/lib/asterisk/modules/format_siren14.so
usr/lib/asterisk/modules/format_siren7.so
usr/lib/asterisk/modules/format_sln.so
-usr/lib/asterisk/modules/format_sln16.so
usr/lib/asterisk/modules/format_vox.so
usr/lib/asterisk/modules/format_wav.so
usr/lib/asterisk/modules/format_wav_gsm.so
usr/lib/asterisk/modules/func_frame_trace.so
usr/lib/asterisk/modules/func_global.so
usr/lib/asterisk/modules/func_groupcount.so
+usr/lib/asterisk/modules/func_hangupcause.so
usr/lib/asterisk/modules/func_iconv.so
+usr/lib/asterisk/modules/func_jitterbuffer.so
usr/lib/asterisk/modules/func_lock.so
usr/lib/asterisk/modules/func_logic.so
usr/lib/asterisk/modules/func_math.so
usr/lib/asterisk/modules/func_md5.so
usr/lib/asterisk/modules/func_module.so
usr/lib/asterisk/modules/func_pitchshift.so
+usr/lib/asterisk/modules/func_presencestate.so
usr/lib/asterisk/modules/func_rand.so
usr/lib/asterisk/modules/func_realtime.so
usr/lib/asterisk/modules/func_sha1.so
usr/lib/asterisk/modules/res_config_curl.so
usr/lib/asterisk/modules/res_config_ldap.so
usr/lib/asterisk/modules/res_config_mysql.so
+usr/lib/asterisk/modules/res_config_sqlite3.so
usr/lib/asterisk/modules/res_convert.so
usr/lib/asterisk/modules/res_crypto.so
usr/lib/asterisk/modules/res_curl.so
usr/lib/asterisk/modules/res_fax.so
-usr/lib/asterisk/modules/res_fax_spandsp.so
+#usr/lib/asterisk/modules/res_fax_spandsp.so
+usr/lib/asterisk/modules/res_format_attr_celt.so
+usr/lib/asterisk/modules/res_format_attr_h263.so
+usr/lib/asterisk/modules/res_format_attr_h264.so
+usr/lib/asterisk/modules/res_format_attr_silk.so
+usr/lib/asterisk/modules/res_http_websocket.so
usr/lib/asterisk/modules/res_limit.so
usr/lib/asterisk/modules/res_monitor.so
usr/lib/asterisk/modules/res_musiconhold.so
usr/lib/asterisk/modules/res_mutestream.so
usr/lib/asterisk/modules/res_phoneprov.so
-usr/lib/asterisk/modules/res_pktccops.so
usr/lib/asterisk/modules/res_realtime.so
usr/lib/asterisk/modules/res_rtp_asterisk.so
usr/lib/asterisk/modules/res_rtp_multicast.so
usr/lib/asterisk/modules/res_security_log.so
usr/lib/asterisk/modules/res_smdi.so
-usr/lib/asterisk/modules/res_snmp.so
usr/lib/asterisk/modules/res_speech.so
+usr/lib/asterisk/modules/res_srtp.so
usr/lib/asterisk/modules/res_stun_monitor.so
usr/lib/asterisk/modules/res_timing_pthread.so
usr/lib/asterisk/modules/res_timing_timerfd.so
+usr/lib/libasteriskssl.so
+usr/lib/libasteriskssl.so.1
+#usr/lib/libsrtp.a
#usr/lib/pkgconfig/asterisk.pc
-usr/sbin/aelparse
usr/sbin/astcanary
+usr/sbin/astdb2bdb
+usr/sbin/astdb2sqlite3
usr/sbin/asterisk
usr/sbin/astgenkey
-usr/sbin/astman
usr/sbin/autosupport
-usr/sbin/check_expr
-usr/sbin/check_expr2
-usr/sbin/conf2ael
-usr/sbin/hashtest
-usr/sbin/hashtest2
-usr/sbin/muted
usr/sbin/rasterisk
-usr/sbin/refcounter
usr/sbin/safe_asterisk
-usr/sbin/smsq
-usr/sbin/stereorize
-usr/sbin/streamplayer
+#usr/share/man/man8/astdb2bdb.8
+#usr/share/man/man8/astdb2sqlite3.8
#usr/share/man/man8/asterisk.8
#usr/share/man/man8/astgenkey.8
#usr/share/man/man8/autosupport.8
#usr/share/man/man8/safe_asterisk.8
#var/ipfire/asterisk
+var/ipfire/asterisk/acl.conf
var/ipfire/asterisk/adsi.conf
var/ipfire/asterisk/agents.conf
-var/ipfire/asterisk/ais.conf
var/ipfire/asterisk/alarmreceiver.conf
var/ipfire/asterisk/alsa.conf
var/ipfire/asterisk/amd.conf
var/ipfire/asterisk/app_mysql.conf
+var/ipfire/asterisk/app_skel.conf
var/ipfire/asterisk/asterisk.adsi
var/ipfire/asterisk/asterisk.conf
#var/ipfire/asterisk/asterisk.makeopts
var/ipfire/asterisk/cel_tds.conf
var/ipfire/asterisk/chan_dahdi.conf
var/ipfire/asterisk/chan_mobile.conf
-var/ipfire/asterisk/chan_ooh323.conf
var/ipfire/asterisk/cli.conf
var/ipfire/asterisk/cli_aliases.conf
var/ipfire/asterisk/cli_permissions.conf
var/ipfire/asterisk/codecs.conf
+var/ipfire/asterisk/confbridge.conf
+var/ipfire/asterisk/config_test.conf
var/ipfire/asterisk/console.conf
var/ipfire/asterisk/dbsep.conf
var/ipfire/asterisk/dnsmgr.conf
var/ipfire/asterisk/minivm.conf
var/ipfire/asterisk/misdn.conf
var/ipfire/asterisk/modules.conf
+var/ipfire/asterisk/motif.conf
var/ipfire/asterisk/musiconhold.conf
var/ipfire/asterisk/muted.conf
+var/ipfire/asterisk/ooh323.conf
var/ipfire/asterisk/osp.conf
var/ipfire/asterisk/oss.conf
var/ipfire/asterisk/phone.conf
var/ipfire/asterisk/queues.conf
var/ipfire/asterisk/res_config_mysql.conf
var/ipfire/asterisk/res_config_sqlite.conf
+var/ipfire/asterisk/res_config_sqlite3.conf
+var/ipfire/asterisk/res_corosync.conf
var/ipfire/asterisk/res_curl.conf
var/ipfire/asterisk/res_fax.conf
var/ipfire/asterisk/res_ldap.conf
var/ipfire/asterisk/users.conf
var/ipfire/asterisk/voicemail.conf
var/ipfire/asterisk/vpb.conf
-#var/ipfire/asterisk/wakeup
-#var/ipfire/asterisk/wakeup/source
-var/ipfire/asterisk/wakeup/source/536.call
-var/ipfire/asterisk/wakeup/source/bsp.call.tpl
-var/ipfire/asterisk/wakeup/wakeup.sh
+var/ipfire/asterisk/xmpp.conf
var/ipfire/backup/addons/includes/asterisk
#var/lib/asterisk
-#var/lib/asterisk/agi-bin
+var/lib/asterisk/agi-bin
#var/lib/asterisk/documentation
#var/lib/asterisk/documentation/appdocsxml.dtd
#var/lib/asterisk/documentation/core-en_US.xml
#var/lib/asterisk/documentation/thirdparty
#var/lib/asterisk/firmware
-#var/lib/asterisk/firmware/iax
+var/lib/asterisk/firmware/iax
#var/lib/asterisk/images
-var/lib/asterisk/images/asterisk-intro.jpg
-var/lib/asterisk/images/kpad2.jpg
-#var/lib/asterisk/keys
+#var/lib/asterisk/images/asterisk-intro.jpg
+#var/lib/asterisk/images/kpad2.jpg
+var/lib/asterisk/keys
#var/lib/asterisk/moh
var/lib/asterisk/moh/.asterisk-moh-opsound-gsm-2.03
+var/lib/asterisk/moh/.asterisk-moh-opsound-wav-2.03
var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-gsm
+var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-wav
var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-gsm
+var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-wav
var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-gsm
+var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-wav
var/lib/asterisk/moh/macroform-cold_day.gsm
+var/lib/asterisk/moh/macroform-cold_day.wav
var/lib/asterisk/moh/macroform-robot_dity.gsm
+var/lib/asterisk/moh/macroform-robot_dity.wav
var/lib/asterisk/moh/macroform-the_simplicity.gsm
+var/lib/asterisk/moh/macroform-the_simplicity.wav
var/lib/asterisk/moh/manolo_camp-morning_coffee.gsm
+var/lib/asterisk/moh/manolo_camp-morning_coffee.wav
var/lib/asterisk/moh/reno_project-system.gsm
+var/lib/asterisk/moh/reno_project-system.wav
var/lib/asterisk/phoneprov
var/lib/asterisk/phoneprov/000000000000-directory.xml
var/lib/asterisk/phoneprov/000000000000-phone.cfg
var/lib/asterisk/sounds/digits/de/xh-9x.gsm
var/lib/asterisk/sounds/digits/de/yesterday.gsm
var/lib/asterisk/sounds/en
-var/lib/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.4.22
-var/lib/asterisk/sounds/en/.asterisk-extra-sounds-en-gsm-1.4.11
+var/lib/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.4.26
+var/lib/asterisk/sounds/en/.asterisk-extra-sounds-en-gsm-1.4.15
var/lib/asterisk/sounds/en/1-for-am-2-for-pm.gsm
var/lib/asterisk/sounds/en/1-yes-2-no.gsm
-var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.22
-var/lib/asterisk/sounds/en/CHANGES-asterisk-extra-en-1.4.11
-var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.22
-var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.4.22
+var/lib/asterisk/sounds/en/OfficeSpace.gsm
+var/lib/asterisk/sounds/en/Randulo-allison.gsm
+var/lib/asterisk/sounds/en/SIP_Test_Failure.gsm
+var/lib/asterisk/sounds/en/SIP_Test_Success.gsm
var/lib/asterisk/sounds/en/T-changed-to.gsm
var/lib/asterisk/sounds/en/T-is-not-available.gsm
var/lib/asterisk/sounds/en/T-to-disable-ancmnt.gsm
var/lib/asterisk/sounds/en/access-granted.gsm
var/lib/asterisk/sounds/en/accessible-through-system.gsm
var/lib/asterisk/sounds/en/account-balance-is.gsm
+var/lib/asterisk/sounds/en/account_number.gsm
var/lib/asterisk/sounds/en/accounting.gsm
var/lib/asterisk/sounds/en/accounts-payable.gsm
var/lib/asterisk/sounds/en/accounts-receivable.gsm
var/lib/asterisk/sounds/en/administration.gsm
var/lib/asterisk/sounds/en/advised-to-seek-shelter.gsm
var/lib/asterisk/sounds/en/after-the-tone.gsm
+var/lib/asterisk/sounds/en/after_tone.gsm
var/lib/asterisk/sounds/en/afternoon.gsm
var/lib/asterisk/sounds/en/agent-alreadyon.gsm
var/lib/asterisk/sounds/en/agent-incorrect.gsm
var/lib/asterisk/sounds/en/all-your-base.gsm
var/lib/asterisk/sounds/en/altitude.gsm
var/lib/asterisk/sounds/en/ampersand.gsm
-var/lib/asterisk/sounds/en/an-error-has-occured.gsm
var/lib/asterisk/sounds/en/an-error-has-occurred.gsm
var/lib/asterisk/sounds/en/and-area-code.gsm
var/lib/asterisk/sounds/en/and-or.gsm
var/lib/asterisk/sounds/en/and-prs-pound-whn-finished.gsm
var/lib/asterisk/sounds/en/and.gsm
+var/lib/asterisk/sounds/en/andnowstandby.gsm
var/lib/asterisk/sounds/en/another-time.gsm
var/lib/asterisk/sounds/en/approaching.gsm
var/lib/asterisk/sounds/en/approximately.gsm
var/lib/asterisk/sounds/en/at-following-number.gsm
var/lib/asterisk/sounds/en/at-sign.gsm
var/lib/asterisk/sounds/en/at-tone-time-exactly.gsm
+var/lib/asterisk/sounds/en/at_tone.gsm
var/lib/asterisk/sounds/en/athletics.gsm
var/lib/asterisk/sounds/en/atlanta.gsm
var/lib/asterisk/sounds/en/atlantic.gsm
var/lib/asterisk/sounds/en/avg-speed-answer.gsm
var/lib/asterisk/sounds/en/away-naughty-boy.gsm
var/lib/asterisk/sounds/en/away-naughty-girl.gsm
+var/lib/asterisk/sounds/en/awkward.gsm
var/lib/asterisk/sounds/en/backslash.gsm
var/lib/asterisk/sounds/en/bad.gsm
var/lib/asterisk/sounds/en/baltimore.gsm
var/lib/asterisk/sounds/en/billing-and-collections.gsm
var/lib/asterisk/sounds/en/billing.gsm
var/lib/asterisk/sounds/en/billionth.gsm
+var/lib/asterisk/sounds/en/binary.gsm
var/lib/asterisk/sounds/en/bits.gsm
var/lib/asterisk/sounds/en/blue-eyed-polar-bear.gsm
+var/lib/asterisk/sounds/en/bombsquad.gsm
var/lib/asterisk/sounds/en/bookstore.gsm
var/lib/asterisk/sounds/en/boston.gsm
var/lib/asterisk/sounds/en/box.gsm
var/lib/asterisk/sounds/en/cents-per-minute.gsm
var/lib/asterisk/sounds/en/cents.gsm
var/lib/asterisk/sounds/en/ceo-office.gsm
+var/lib/asterisk/sounds/en/challenge_try_again.gsm
var/lib/asterisk/sounds/en/chance-of.gsm
var/lib/asterisk/sounds/en/changing.gsm
var/lib/asterisk/sounds/en/channel-insecure-warn.gsm
var/lib/asterisk/sounds/en/cleveland.gsm
var/lib/asterisk/sounds/en/clli.gsm
var/lib/asterisk/sounds/en/close-parenthesis.gsm
+var/lib/asterisk/sounds/en/closed.gsm
var/lib/asterisk/sounds/en/clouds.gsm
var/lib/asterisk/sounds/en/cloudy.gsm
var/lib/asterisk/sounds/en/collections.gsm
var/lib/asterisk/sounds/en/colorado-springs.gsm
var/lib/asterisk/sounds/en/colorado.gsm
var/lib/asterisk/sounds/en/columbus.gsm
+var/lib/asterisk/sounds/en/comedyclub.gsm
var/lib/asterisk/sounds/en/comma.gsm
var/lib/asterisk/sounds/en/communications.gsm
var/lib/asterisk/sounds/en/company-dir-411.gsm
var/lib/asterisk/sounds/en/computer-friend1.gsm
var/lib/asterisk/sounds/en/computer-friend2.gsm
var/lib/asterisk/sounds/en/conditions.gsm
+var/lib/asterisk/sounds/en/conf-1-to-list-users.gsm
+var/lib/asterisk/sounds/en/conf-2-to-kick-nonadmin.gsm
+var/lib/asterisk/sounds/en/conf-3-mute-or-unmute-nonadmin.gsm
+var/lib/asterisk/sounds/en/conf-4-to-record-conf.gsm
+var/lib/asterisk/sounds/en/conf-8-for-more-options.gsm
+var/lib/asterisk/sounds/en/conf-8-to-exit-return-to-conf.gsm
var/lib/asterisk/sounds/en/conf-adminmenu-162.gsm
+var/lib/asterisk/sounds/en/conf-adminmenu-18.gsm
+var/lib/asterisk/sounds/en/conf-adminmenu-menu8.gsm
var/lib/asterisk/sounds/en/conf-adminmenu.gsm
var/lib/asterisk/sounds/en/conf-banned.gsm
var/lib/asterisk/sounds/en/conf-enteringno.gsm
var/lib/asterisk/sounds/en/could-lose-a-few-pounds.gsm
var/lib/asterisk/sounds/en/counseling-services.gsm
var/lib/asterisk/sounds/en/count.gsm
+var/lib/asterisk/sounds/en/countdown.gsm
var/lib/asterisk/sounds/en/crash.gsm
+var/lib/asterisk/sounds/en/crashing_conf.gsm
var/lib/asterisk/sounds/en/current-time-is.gsm
+var/lib/asterisk/sounds/en/current_account_balance.gsm
var/lib/asterisk/sounds/en/currently.gsm
var/lib/asterisk/sounds/en/customer-accounts.gsm
var/lib/asterisk/sounds/en/customer-relations.gsm
var/lib/asterisk/sounds/en/dns.gsm
var/lib/asterisk/sounds/en/do-not-disturb.gsm
var/lib/asterisk/sounds/en/doing-enum-lookup.gsm
+var/lib/asterisk/sounds/en/donotcall1.gsm
+var/lib/asterisk/sounds/en/donotcall2.gsm
var/lib/asterisk/sounds/en/dont-know-who-sent.gsm
var/lib/asterisk/sounds/en/doppler-radar.gsm
var/lib/asterisk/sounds/en/down.gsm
var/lib/asterisk/sounds/en/eighth.gsm
var/lib/asterisk/sounds/en/eightieth.gsm
var/lib/asterisk/sounds/en/el-paso.gsm
+var/lib/asterisk/sounds/en/eletelephony.gsm
var/lib/asterisk/sounds/en/eleventh.gsm
var/lib/asterisk/sounds/en/email.gsm
var/lib/asterisk/sounds/en/emergency.gsm
var/lib/asterisk/sounds/en/enter-num-blacklist.gsm
var/lib/asterisk/sounds/en/enter-password.gsm
var/lib/asterisk/sounds/en/enter-phone-number10.gsm
+var/lib/asterisk/sounds/en/enter_account.gsm
var/lib/asterisk/sounds/en/entering-conf-number.gsm
var/lib/asterisk/sounds/en/entr-num-rmv-blklist.gsm
var/lib/asterisk/sounds/en/enum-lookup-failed.gsm
var/lib/asterisk/sounds/en/enum-lookup-successful.gsm
var/lib/asterisk/sounds/en/error-number.gsm
+var/lib/asterisk/sounds/en/error.gsm
var/lib/asterisk/sounds/en/est-hold-time-is.gsm
var/lib/asterisk/sounds/en/euro.gsm
var/lib/asterisk/sounds/en/european.gsm
var/lib/asterisk/sounds/en/falling.gsm
var/lib/asterisk/sounds/en/fast.gsm
var/lib/asterisk/sounds/en/feature-not-avail-line.gsm
+var/lib/asterisk/sounds/en/feeling_lucky_punk.gsm
var/lib/asterisk/sounds/en/feet.gsm
var/lib/asterisk/sounds/en/female.gsm
var/lib/asterisk/sounds/en/fifteenth.gsm
var/lib/asterisk/sounds/en/fog.gsm
var/lib/asterisk/sounds/en/foggy.gsm
var/lib/asterisk/sounds/en/followed-by.gsm
+var/lib/asterisk/sounds/en/followed_hash.gsm
+var/lib/asterisk/sounds/en/followed_pound.gsm
var/lib/asterisk/sounds/en/followme
var/lib/asterisk/sounds/en/followme/call-from.gsm
var/lib/asterisk/sounds/en/followme/no-recording.gsm
var/lib/asterisk/sounds/en/for-wakeup-call.gsm
var/lib/asterisk/sounds/en/for-yes-press.gsm
var/lib/asterisk/sounds/en/for.gsm
+var/lib/asterisk/sounds/en/forget_about_it.gsm
var/lib/asterisk/sounds/en/fort-worth.gsm
var/lib/asterisk/sounds/en/fortieth.gsm
var/lib/asterisk/sounds/en/fourteenth.gsm
var/lib/asterisk/sounds/en/gale.gsm
var/lib/asterisk/sounds/en/gambling-drunk.gsm
var/lib/asterisk/sounds/en/georgia.gsm
+var/lib/asterisk/sounds/en/get-in-line-sales-guy.gsm
+var/lib/asterisk/sounds/en/get_bleep_outta.gsm
+var/lib/asterisk/sounds/en/get_information.gsm
+var/lib/asterisk/sounds/en/get_information_first.gsm
var/lib/asterisk/sounds/en/gigabits.gsm
var/lib/asterisk/sounds/en/gigabytes.gsm
var/lib/asterisk/sounds/en/gigahertz.gsm
var/lib/asterisk/sounds/en/good-morning.gsm
var/lib/asterisk/sounds/en/good.gsm
var/lib/asterisk/sounds/en/goodbye.gsm
+var/lib/asterisk/sounds/en/goodbye_for_the_best.gsm
+var/lib/asterisk/sounds/en/goodbye_love.gsm
+var/lib/asterisk/sounds/en/got_kidding.gsm
+var/lib/asterisk/sounds/en/grammar.gsm
var/lib/asterisk/sounds/en/greater-than.gsm
var/lib/asterisk/sounds/en/groovy.gsm
var/lib/asterisk/sounds/en/ha
var/lib/asterisk/sounds/en/ha/xmas-tree.gsm
var/lib/asterisk/sounds/en/ha/yard.gsm
var/lib/asterisk/sounds/en/hail.gsm
+var/lib/asterisk/sounds/en/hal_goodbye.gsm
var/lib/asterisk/sounds/en/half.gsm
var/lib/asterisk/sounds/en/hang-on-a-second-angry.gsm
var/lib/asterisk/sounds/en/hang-on-a-second.gsm
var/lib/asterisk/sounds/en/hangup-try-again.gsm
+var/lib/asterisk/sounds/en/happy_saved.gsm
var/lib/asterisk/sounds/en/has-arrived-at.gsm
var/lib/asterisk/sounds/en/has-been-changed-to.gsm
var/lib/asterisk/sounds/en/has-been-cleared.gsm
var/lib/asterisk/sounds/en/kansas-city.gsm
var/lib/asterisk/sounds/en/kansas.gsm
var/lib/asterisk/sounds/en/kentucky.gsm
+var/lib/asterisk/sounds/en/keywords_cross_fingers.gsm
var/lib/asterisk/sounds/en/kilobits.gsm
var/lib/asterisk/sounds/en/kilobytes.gsm
var/lib/asterisk/sounds/en/kilohertz.gsm
var/lib/asterisk/sounds/en/letters/zed.gsm
var/lib/asterisk/sounds/en/library.gsm
var/lib/asterisk/sounds/en/lightning.gsm
+var/lib/asterisk/sounds/en/like_to_tell_valid_ext.gsm
var/lib/asterisk/sounds/en/limit-simul-calls.gsm
var/lib/asterisk/sounds/en/lines-complaining-customers.gsm
var/lib/asterisk/sounds/en/linux.gsm
var/lib/asterisk/sounds/en/lots-o-monkeys.gsm
var/lib/asterisk/sounds/en/louisiana.gsm
var/lib/asterisk/sounds/en/low.gsm
+var/lib/asterisk/sounds/en/lowercase.gsm
var/lib/asterisk/sounds/en/lunch.gsm
var/lib/asterisk/sounds/en/lyrics-louie-louie.gsm
var/lib/asterisk/sounds/en/machine.gsm
var/lib/asterisk/sounds/en/manufacturing.gsm
var/lib/asterisk/sounds/en/marketing.gsm
var/lib/asterisk/sounds/en/marryme.gsm
+var/lib/asterisk/sounds/en/martini.gsm
var/lib/asterisk/sounds/en/maryland.gsm
var/lib/asterisk/sounds/en/massachusetts.gsm
var/lib/asterisk/sounds/en/mathematics.gsm
var/lib/asterisk/sounds/en/mesa.gsm
var/lib/asterisk/sounds/en/message-from.gsm
var/lib/asterisk/sounds/en/message-number.gsm
+var/lib/asterisk/sounds/en/messages_curious.gsm
var/lib/asterisk/sounds/en/meter.gsm
var/lib/asterisk/sounds/en/meters.gsm
var/lib/asterisk/sounds/en/miami.gsm
var/lib/asterisk/sounds/en/miles.gsm
var/lib/asterisk/sounds/en/millionth.gsm
var/lib/asterisk/sounds/en/milwaukee.gsm
+var/lib/asterisk/sounds/en/mind_repeating.gsm
var/lib/asterisk/sounds/en/minimum.gsm
+var/lib/asterisk/sounds/en/minions-not-answering-leave-message.gsm
var/lib/asterisk/sounds/en/minneapolis.gsm
var/lib/asterisk/sounds/en/minnesota.gsm
var/lib/asterisk/sounds/en/minute.gsm
var/lib/asterisk/sounds/en/mississippi.gsm
var/lib/asterisk/sounds/en/missouri.gsm
var/lib/asterisk/sounds/en/misty.gsm
+var/lib/asterisk/sounds/en/mode.gsm
var/lib/asterisk/sounds/en/monitored.gsm
var/lib/asterisk/sounds/en/montana.gsm
var/lib/asterisk/sounds/en/month.gsm
var/lib/asterisk/sounds/en/new-mexico.gsm
var/lib/asterisk/sounds/en/new-orleans.gsm
var/lib/asterisk/sounds/en/new-york.gsm
+var/lib/asterisk/sounds/en/night.gsm
var/lib/asterisk/sounds/en/nineteenth.gsm
var/lib/asterisk/sounds/en/ninetieth.gsm
var/lib/asterisk/sounds/en/ninth.gsm
var/lib/asterisk/sounds/en/no-longer-in-service.gsm
var/lib/asterisk/sounds/en/no-reply-no-mailbox.gsm
var/lib/asterisk/sounds/en/no-route-exists-to-dest.gsm
+var/lib/asterisk/sounds/en/no_invite_to_conf.gsm
+var/lib/asterisk/sounds/en/no_longer_conf.gsm
+var/lib/asterisk/sounds/en/no_problem_help.gsm
+var/lib/asterisk/sounds/en/no_worries_try_again.gsm
var/lib/asterisk/sounds/en/nobody-but-chickens.gsm
var/lib/asterisk/sounds/en/node.gsm
+var/lib/asterisk/sounds/en/none_of_my_business1.gsm
+var/lib/asterisk/sounds/en/none_of_my_business2.gsm
var/lib/asterisk/sounds/en/north-carolina.gsm
var/lib/asterisk/sounds/en/north-dakota.gsm
var/lib/asterisk/sounds/en/north.gsm
var/lib/asterisk/sounds/en/not-taking-your-call.gsm
var/lib/asterisk/sounds/en/not-yet-assigned.gsm
var/lib/asterisk/sounds/en/not-yet-connected.gsm
+var/lib/asterisk/sounds/en/not_me.gsm
+var/lib/asterisk/sounds/en/not_pass.gsm
+var/lib/asterisk/sounds/en/not_siri.gsm
+var/lib/asterisk/sounds/en/not_you.gsm
var/lib/asterisk/sounds/en/nothing-recorded.gsm
var/lib/asterisk/sounds/en/now.gsm
var/lib/asterisk/sounds/en/num-not-in-db.gsm
var/lib/asterisk/sounds/en/oakland.gsm
var/lib/asterisk/sounds/en/octothorpe.gsm
var/lib/asterisk/sounds/en/off-duty.gsm
+var/lib/asterisk/sounds/en/off.gsm
var/lib/asterisk/sounds/en/office-code.gsm
var/lib/asterisk/sounds/en/office-iguanas.gsm
var/lib/asterisk/sounds/en/office.gsm
+var/lib/asterisk/sounds/en/ogm_home.gsm
var/lib/asterisk/sounds/en/ohio.gsm
var/lib/asterisk/sounds/en/oklahoma-city.gsm
var/lib/asterisk/sounds/en/oklahoma.gsm
var/lib/asterisk/sounds/en/oops2.gsm
var/lib/asterisk/sounds/en/oops3.gsm
var/lib/asterisk/sounds/en/open-parenthesis.gsm
+var/lib/asterisk/sounds/en/open.gsm
var/lib/asterisk/sounds/en/operations.gsm
var/lib/asterisk/sounds/en/option-is-invalid.gsm
var/lib/asterisk/sounds/en/option-not-implemented.gsm
var/lib/asterisk/sounds/en/partly.gsm
var/lib/asterisk/sounds/en/pascal.gsm
var/lib/asterisk/sounds/en/pascal2.gsm
+var/lib/asterisk/sounds/en/passwords_not_match.gsm
var/lib/asterisk/sounds/en/patchy.gsm
var/lib/asterisk/sounds/en/pbx-invalid.gsm
var/lib/asterisk/sounds/en/pbx-invalidpark.gsm
var/lib/asterisk/sounds/en/physics.gsm
var/lib/asterisk/sounds/en/pin-invalid.gsm
var/lib/asterisk/sounds/en/pin-number-accepted.gsm
+var/lib/asterisk/sounds/en/pin_number.gsm
var/lib/asterisk/sounds/en/ping.gsm
var/lib/asterisk/sounds/en/pipe.gsm
var/lib/asterisk/sounds/en/planning.gsm
var/lib/asterisk/sounds/en/please-enter-your.gsm
var/lib/asterisk/sounds/en/please-hang-up-and-dial-operator.gsm
var/lib/asterisk/sounds/en/please-hang-up-and-try-again.gsm
+var/lib/asterisk/sounds/en/please-hold-minion-connect.gsm
+var/lib/asterisk/sounds/en/please-hold-while-minion.gsm
var/lib/asterisk/sounds/en/please-try-again-later.gsm
var/lib/asterisk/sounds/en/please-try-again.gsm
var/lib/asterisk/sounds/en/please-try.gsm
var/lib/asterisk/sounds/en/pls-hold-process-tx.gsm
var/lib/asterisk/sounds/en/pls-hold-silent30.gsm
var/lib/asterisk/sounds/en/pls-hold-while-try.gsm
+var/lib/asterisk/sounds/en/pls-listen-options-changed.gsm
var/lib/asterisk/sounds/en/pls-lv-msg-will-contact.gsm
var/lib/asterisk/sounds/en/pls-rcrd-name-at-tone.gsm
var/lib/asterisk/sounds/en/pls-stay-on-line.gsm
var/lib/asterisk/sounds/en/press-enter.gsm
var/lib/asterisk/sounds/en/press-escape.gsm
var/lib/asterisk/sounds/en/press-hash.gsm
+var/lib/asterisk/sounds/en/press-or-say-0.gsm
+var/lib/asterisk/sounds/en/press-or-say-1.gsm
+var/lib/asterisk/sounds/en/press-or-say-2.gsm
+var/lib/asterisk/sounds/en/press-or-say-3.gsm
+var/lib/asterisk/sounds/en/press-or-say-4.gsm
+var/lib/asterisk/sounds/en/press-or-say-5.gsm
+var/lib/asterisk/sounds/en/press-or-say-6.gsm
+var/lib/asterisk/sounds/en/press-or-say-7.gsm
+var/lib/asterisk/sounds/en/press-or-say-8.gsm
+var/lib/asterisk/sounds/en/press-or-say-9.gsm
var/lib/asterisk/sounds/en/press-pound-save-changes.gsm
var/lib/asterisk/sounds/en/press-pound-to-login-star-to-hangup.gsm
var/lib/asterisk/sounds/en/press-pound.gsm
var/lib/asterisk/sounds/en/press-the-space-bar.gsm
var/lib/asterisk/sounds/en/press-tilde.gsm
var/lib/asterisk/sounds/en/press.gsm
+var/lib/asterisk/sounds/en/press_pound_hash.gsm
+var/lib/asterisk/sounds/en/press_pound_hash_key.gsm
var/lib/asterisk/sounds/en/pressure.gsm
+var/lib/asterisk/sounds/en/prime_number.gsm
var/lib/asterisk/sounds/en/printing.gsm
var/lib/asterisk/sounds/en/priv-callee-options.gsm
var/lib/asterisk/sounds/en/priv-callpending.gsm
var/lib/asterisk/sounds/en/product.gsm
var/lib/asterisk/sounds/en/production.gsm
var/lib/asterisk/sounds/en/projects.gsm
+var/lib/asterisk/sounds/en/prompt-not-found.gsm
var/lib/asterisk/sounds/en/protocol.gsm
var/lib/asterisk/sounds/en/public-relations.gsm
var/lib/asterisk/sounds/en/purchasing.gsm
var/lib/asterisk/sounds/en/q-dot-9thirty1.gsm
var/lib/asterisk/sounds/en/quality-assurance.gsm
var/lib/asterisk/sounds/en/quality-control.gsm
+var/lib/asterisk/sounds/en/quality_control.gsm
var/lib/asterisk/sounds/en/quarter.gsm
var/lib/asterisk/sounds/en/queue-callswaiting.gsm
var/lib/asterisk/sounds/en/queue-holdtime.gsm
var/lib/asterisk/sounds/en/reception.gsm
var/lib/asterisk/sounds/en/recorded.gsm
var/lib/asterisk/sounds/en/registrar.gsm
+var/lib/asterisk/sounds/en/regret_not_saved.gsm
var/lib/asterisk/sounds/en/remote-already-in-this-mode-2.gsm
var/lib/asterisk/sounds/en/remote-already-in-this-mode.gsm
var/lib/asterisk/sounds/en/remote-base.gsm
var/lib/asterisk/sounds/en/removed.gsm
var/lib/asterisk/sounds/en/repair.gsm
var/lib/asterisk/sounds/en/repeat-only.gsm
+var/lib/asterisk/sounds/en/repeat_pin.gsm
var/lib/asterisk/sounds/en/repeater.gsm
var/lib/asterisk/sounds/en/research-and-development.gsm
var/lib/asterisk/sounds/en/research.gsm
var/lib/asterisk/sounds/en/route-sip.gsm
var/lib/asterisk/sounds/en/rqsted-wakeup-for.gsm
var/lib/asterisk/sounds/en/sacramento.gsm
+var/lib/asterisk/sounds/en/said_hold_on.gsm
var/lib/asterisk/sounds/en/saint-louis.gsm
var/lib/asterisk/sounds/en/sales-floor.gsm
var/lib/asterisk/sounds/en/sales.gsm
+var/lib/asterisk/sounds/en/saleshell.gsm
var/lib/asterisk/sounds/en/san-antonio.gsm
var/lib/asterisk/sounds/en/san-diego.gsm
var/lib/asterisk/sounds/en/san-francisco.gsm
var/lib/asterisk/sounds/en/security.gsm
var/lib/asterisk/sounds/en/self-destruct-in.gsm
var/lib/asterisk/sounds/en/self-destruct.gsm
+var/lib/asterisk/sounds/en/sendhelp.gsm
var/lib/asterisk/sounds/en/server.gsm
var/lib/asterisk/sounds/en/service-not-implemented.gsm
var/lib/asterisk/sounds/en/service.gsm
var/lib/asterisk/sounds/en/sorry-youre-having-problems.gsm
var/lib/asterisk/sounds/en/sorry.gsm
var/lib/asterisk/sounds/en/sorry2.gsm
+var/lib/asterisk/sounds/en/sorry_caller_number.gsm
+var/lib/asterisk/sounds/en/sorry_didnt_get.gsm
+var/lib/asterisk/sounds/en/sorry_didnt_quite_get.gsm
+var/lib/asterisk/sounds/en/sorry_login_incorrect.gsm
+var/lib/asterisk/sounds/en/sorry_missed.gsm
+var/lib/asterisk/sounds/en/sorry_no_messages.gsm
+var/lib/asterisk/sounds/en/sorrydave.gsm
var/lib/asterisk/sounds/en/south-carolina.gsm
var/lib/asterisk/sounds/en/south-dakota.gsm
var/lib/asterisk/sounds/en/south.gsm
var/lib/asterisk/sounds/en/status.gsm
var/lib/asterisk/sounds/en/step-in-stream.gsm
var/lib/asterisk/sounds/en/sterling.gsm
+var/lib/asterisk/sounds/en/still_on_phone.gsm
var/lib/asterisk/sounds/en/store-accounting.gsm
var/lib/asterisk/sounds/en/storm.gsm
var/lib/asterisk/sounds/en/sun.gsm
var/lib/asterisk/sounds/en/sunny.gsm
var/lib/asterisk/sounds/en/support.gsm
+var/lib/asterisk/sounds/en/sure_help.gsm
var/lib/asterisk/sounds/en/swap.gsm
var/lib/asterisk/sounds/en/system-crashed.gsm
var/lib/asterisk/sounds/en/system-status-msg.gsm
var/lib/asterisk/sounds/en/system.gsm
var/lib/asterisk/sounds/en/systems.gsm
+var/lib/asterisk/sounds/en/talkin_me.gsm
var/lib/asterisk/sounds/en/talking-to-myself.gsm
var/lib/asterisk/sounds/en/target-attendant.gsm
var/lib/asterisk/sounds/en/tcp.gsm
var/lib/asterisk/sounds/en/technical-support.gsm
+var/lib/asterisk/sounds/en/telemarketercalling.gsm
var/lib/asterisk/sounds/en/telephone-in-your-pocket.gsm
var/lib/asterisk/sounds/en/telephone-in-your-pocket2.gsm
var/lib/asterisk/sounds/en/telephone-number.gsm
var/lib/asterisk/sounds/en/texas.gsm
var/lib/asterisk/sounds/en/thank-you-cooperation.gsm
var/lib/asterisk/sounds/en/thank-you-for-calling.gsm
+var/lib/asterisk/sounds/en/thank_you_calling.gsm
+var/lib/asterisk/sounds/en/thanks-annoyance.gsm
var/lib/asterisk/sounds/en/thanks-for-calling-today.gsm
var/lib/asterisk/sounds/en/thanks-for-using.gsm
var/lib/asterisk/sounds/en/that-is-not-rec-phn-num.gsm
var/lib/asterisk/sounds/en/tide.gsm
var/lib/asterisk/sounds/en/time.gsm
var/lib/asterisk/sounds/en/times.gsm
+var/lib/asterisk/sounds/en/timewarp.gsm
var/lib/asterisk/sounds/en/to-accept-recording.gsm
var/lib/asterisk/sounds/en/to-be-called-back.gsm
var/lib/asterisk/sounds/en/to-blklist-last-caller.gsm
var/lib/asterisk/sounds/en/to-snooze-for.gsm
var/lib/asterisk/sounds/en/to-use-def-attendant.gsm
var/lib/asterisk/sounds/en/tomorrow-night.gsm
+var/lib/asterisk/sounds/en/tone_time.gsm
var/lib/asterisk/sounds/en/tones-that-follow-are-for-the-deaf.gsm
var/lib/asterisk/sounds/en/tonight.gsm
var/lib/asterisk/sounds/en/too-low.gsm
var/lib/asterisk/sounds/en/traffic.gsm
var/lib/asterisk/sounds/en/training.gsm
var/lib/asterisk/sounds/en/transfer.gsm
+var/lib/asterisk/sounds/en/transfer_to_agent.gsm
var/lib/asterisk/sounds/en/transportation.gsm
var/lib/asterisk/sounds/en/travel.gsm
var/lib/asterisk/sounds/en/treasury.gsm
var/lib/asterisk/sounds/en/uk.gsm
var/lib/asterisk/sounds/en/unavailable.gsm
var/lib/asterisk/sounds/en/unconditional.gsm
+var/lib/asterisk/sounds/en/unicorn_blood.gsm
+var/lib/asterisk/sounds/en/unicorn_blood_MIXDOWN.gsm
var/lib/asterisk/sounds/en/unidentified-no-callback.gsm
var/lib/asterisk/sounds/en/units.gsm
var/lib/asterisk/sounds/en/unix.gsm
+var/lib/asterisk/sounds/en/unwelcomecall.gsm
var/lib/asterisk/sounds/en/up.gsm
+var/lib/asterisk/sounds/en/uppercase.gsm
var/lib/asterisk/sounds/en/uptime.gsm
var/lib/asterisk/sounds/en/user.gsm
var/lib/asterisk/sounds/en/users.gsm
var/lib/asterisk/sounds/en/vm-messages.gsm
var/lib/asterisk/sounds/en/vm-minutes.gsm
var/lib/asterisk/sounds/en/vm-mismatch.gsm
+var/lib/asterisk/sounds/en/vm-msgforwarded.gsm
var/lib/asterisk/sounds/en/vm-msginstruct.gsm
var/lib/asterisk/sounds/en/vm-msgsaved.gsm
var/lib/asterisk/sounds/en/vm-newpassword.gsm
var/lib/asterisk/sounds/en/washington-dc.gsm
var/lib/asterisk/sounds/en/washington.gsm
var/lib/asterisk/sounds/en/watch.gsm
+var/lib/asterisk/sounds/en/watson.gsm
var/lib/asterisk/sounds/en/we-apologize.gsm
var/lib/asterisk/sounds/en/we-dont-have-tech-support.gsm
var/lib/asterisk/sounds/en/weasels-eaten-phonesys.gsm
var/lib/asterisk/sounds/en/what-time-it-is2.gsm
var/lib/asterisk/sounds/en/when-dialing-this-number.gsm
var/lib/asterisk/sounds/en/who-would-you-like-to-call.gsm
+var/lib/asterisk/sounds/en/whoareyou.gsm
var/lib/asterisk/sounds/en/why-no-answer-mystery.gsm
var/lib/asterisk/sounds/en/wichita.gsm
var/lib/asterisk/sounds/en/will-apply.gsm
var/lib/asterisk/sounds/en/windy.gsm
var/lib/asterisk/sounds/en/wisconsin.gsm
var/lib/asterisk/sounds/en/wish-to-continue.gsm
+var/lib/asterisk/sounds/en/wish_command_totally.gsm
var/lib/asterisk/sounds/en/with.gsm
var/lib/asterisk/sounds/en/within.gsm
+var/lib/asterisk/sounds/en/woo_hoo_call_first.gsm
var/lib/asterisk/sounds/en/work.gsm
var/lib/asterisk/sounds/en/wrong-try-again-smarty.gsm
var/lib/asterisk/sounds/en/wtng-to-spk-w-rep.gsm
var/lib/asterisk/sounds/en/you-seem-impatient.gsm
var/lib/asterisk/sounds/en/you-sound-cute.gsm
var/lib/asterisk/sounds/en/you-wish-to-join.gsm
+var/lib/asterisk/sounds/en/you_say_yes.gsm
var/lib/asterisk/sounds/en/your-account.gsm
var/lib/asterisk/sounds/en/your-msg-has-been-saved.gsm
var/lib/asterisk/sounds/en/your-msg-is-too-short.gsm
var/lib/asterisk/sounds/en/your-req-notification.gsm
var/lib/asterisk/sounds/en/your-temp-greeting.gsm
var/lib/asterisk/sounds/en/your.gsm
+var/lib/asterisk/sounds/en/yourcallisimportant.gsm
+var/lib/asterisk/sounds/en/yourcallisimpotent.gsm
var/lib/asterisk/sounds/en/zip-code.gsm
+var/lib/asterisk/sounds/en/zombies.gsm
#var/lib/asterisk/sounds/letters
#var/lib/asterisk/sounds/letters/de
var/lib/asterisk/sounds/letters/de/a.gsm
var/lib/asterisk/sounds/phonetic/de/y_p.gsm
var/lib/asterisk/sounds/phonetic/de/z_p.gsm
#var/lib/asterisk/static-http
-var/lib/asterisk/static-http/ajamdemo.html
-var/lib/asterisk/static-http/astman.css
-var/lib/asterisk/static-http/astman.js
-var/lib/asterisk/static-http/core-en_US.xml
-var/lib/asterisk/static-http/mantest.html
-var/lib/asterisk/static-http/prototype.js
+#var/lib/asterisk/static-http/ajamdemo.html
+#var/lib/asterisk/static-http/astman.css
+#var/lib/asterisk/static-http/astman.js
+#var/lib/asterisk/static-http/core-en_US.xml
+#var/lib/asterisk/static-http/mantest.html
+#var/lib/asterisk/static-http/prototype.js
#var/log/asterisk
var/log/asterisk/cdr-csv
var/log/asterisk/cdr-custom
var/log/asterisk/cel-custom
-#var/run/asterisk
#var/spool/asterisk
var/spool/asterisk/dictate
var/spool/asterisk/meetme
var/spool/asterisk/voicemail/default/1234/en/busy.gsm
var/spool/asterisk/voicemail/default/1234/en/unavail.gsm
etc/rc.d/init.d/asterisk
-srv/web/ipfire/cgi-bin/asterisk
-var/ipfire/menu.d/EX-asterisk.menu
#usr/lib/libclamav.la
usr/lib/libclamav.so
usr/lib/libclamav.so.6
-usr/lib/libclamav.so.6.1.23
+usr/lib/libclamav.so.6.1.22
#usr/lib/libclamunrar.la
usr/lib/libclamunrar.so
usr/lib/libclamunrar.so.6
-usr/lib/libclamunrar.so.6.1.23
+usr/lib/libclamunrar.so.6.1.22
#usr/lib/libclamunrar_iface.la
usr/lib/libclamunrar_iface.so
usr/lib/libclamunrar_iface.so.6
-usr/lib/libclamunrar_iface.so.6.1.23
+usr/lib/libclamunrar_iface.so.6.1.22
#usr/lib/pkgconfig/libclamav.pc
usr/sbin/clamd
usr/share/clamav
#usr/lib/libassuan.la
usr/lib/libassuan.so
usr/lib/libassuan.so.0
-usr/lib/libassuan.so.0.3.0
+usr/lib/libassuan.so.0.4.3
#usr/share/aclocal/libassuan.m4
#usr/share/info/assuan.info
#usr/include/dvbpsi
+#usr/include/dvbpsi/atsc_eit.h
+#usr/include/dvbpsi/atsc_ett.h
+#usr/include/dvbpsi/atsc_mgt.h
+#usr/include/dvbpsi/atsc_stt.h
+#usr/include/dvbpsi/atsc_vct.h
+#usr/include/dvbpsi/bat.h
#usr/include/dvbpsi/cat.h
#usr/include/dvbpsi/demux.h
#usr/include/dvbpsi/descriptor.h
#usr/include/dvbpsi/dr_0d.h
#usr/include/dvbpsi/dr_0e.h
#usr/include/dvbpsi/dr_0f.h
+#usr/include/dvbpsi/dr_13.h
+#usr/include/dvbpsi/dr_14.h
+#usr/include/dvbpsi/dr_40.h
+#usr/include/dvbpsi/dr_41.h
#usr/include/dvbpsi/dr_42.h
+#usr/include/dvbpsi/dr_43.h
+#usr/include/dvbpsi/dr_44.h
+#usr/include/dvbpsi/dr_45.h
#usr/include/dvbpsi/dr_47.h
#usr/include/dvbpsi/dr_48.h
+#usr/include/dvbpsi/dr_49.h
+#usr/include/dvbpsi/dr_4a.h
+#usr/include/dvbpsi/dr_4b.h
+#usr/include/dvbpsi/dr_4c.h
#usr/include/dvbpsi/dr_4d.h
#usr/include/dvbpsi/dr_4e.h
+#usr/include/dvbpsi/dr_4f.h
+#usr/include/dvbpsi/dr_50.h
#usr/include/dvbpsi/dr_52.h
+#usr/include/dvbpsi/dr_53.h
+#usr/include/dvbpsi/dr_54.h
#usr/include/dvbpsi/dr_55.h
#usr/include/dvbpsi/dr_56.h
+#usr/include/dvbpsi/dr_58.h
#usr/include/dvbpsi/dr_59.h
+#usr/include/dvbpsi/dr_5a.h
+#usr/include/dvbpsi/dr_62.h
+#usr/include/dvbpsi/dr_66.h
#usr/include/dvbpsi/dr_69.h
+#usr/include/dvbpsi/dr_73.h
+#usr/include/dvbpsi/dr_76.h
+#usr/include/dvbpsi/dr_7c.h
+#usr/include/dvbpsi/dr_81.h
+#usr/include/dvbpsi/dr_83.h
+#usr/include/dvbpsi/dr_86.h
+#usr/include/dvbpsi/dr_8a.h
+#usr/include/dvbpsi/dr_a0.h
+#usr/include/dvbpsi/dr_a1.h
#usr/include/dvbpsi/dvbpsi.h
#usr/include/dvbpsi/eit.h
+#usr/include/dvbpsi/nit.h
#usr/include/dvbpsi/pat.h
#usr/include/dvbpsi/pmt.h
#usr/include/dvbpsi/psi.h
+#usr/include/dvbpsi/rst.h
#usr/include/dvbpsi/sdt.h
+#usr/include/dvbpsi/sis.h
+#usr/include/dvbpsi/tot.h
#usr/lib/libdvbpsi.a
#usr/lib/libdvbpsi.la
usr/lib/libdvbpsi.so
-usr/lib/libdvbpsi.so.5
-usr/lib/libdvbpsi.so.5.0.0
+usr/lib/libdvbpsi.so.9
+usr/lib/libdvbpsi.so.9.0.0
+#usr/lib/pkgconfig/libdvbpsi.pc
#usr/include/event2/thread.h
#usr/include/event2/util.h
usr/lib/libevent-2.0.so.5
-usr/lib/libevent-2.0.so.5.1.2
+usr/lib/libevent-2.0.so.5.1.9
usr/lib/libevent_core-2.0.so.5
-usr/lib/libevent_core-2.0.so.5.1.2
+usr/lib/libevent_core-2.0.so.5.1.9
usr/lib/libevent_extra-2.0.so.5
-usr/lib/libevent_extra-2.0.so.5.1.2
+usr/lib/libevent_extra-2.0.so.5.1.9
usr/lib/libevent_openssl-2.0.so.5
-usr/lib/libevent_openssl-2.0.so.5.1.2
+usr/lib/libevent_openssl-2.0.so.5.1.9
#usr/lib/libevent_openssl.a
#usr/lib/libevent_openssl.la
#usr/lib/libevent_openssl.so
usr/lib/libevent_pthreads-2.0.so.5
-usr/lib/libevent_pthreads-2.0.so.5.1.2
+usr/lib/libevent_pthreads-2.0.so.5.1.9
#usr/lib/libevent_pthreads.a
#usr/lib/libevent_pthreads.la
#usr/lib/libevent_pthreads.so
usr/share/mc/skins/double-lines.ini
usr/share/mc/skins/featured.ini
usr/share/mc/skins/gotar.ini
+usr/share/mc/skins/gray-green-purple256.ini
+usr/share/mc/skins/gray-orange-blue256.ini
usr/share/mc/skins/mc46.ini
usr/share/mc/skins/modarcon16-defbg.ini
usr/share/mc/skins/modarcon16.ini
WARNING: untranslated string: dead peer detection
WARNING: untranslated string: emerging rules
WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: no data
WARNING: untranslated string: qos add subclass
WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: no data
WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: hardware support
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming compression in bytes per second
WARNING: untranslated string: incoming firewall access
+WARNING: untranslated string: incoming overhead in bytes per second
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
+WARNING: untranslated string: invalid input for valid till days
WARNING: untranslated string: ipsec
WARNING: untranslated string: ipsec network
WARNING: untranslated string: last
WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: nameserver
+WARNING: untranslated string: no data
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: notice
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing compression in bytes per second
WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: outgoing firewall p2p allow
WARNING: untranslated string: outgoing firewall p2p deny
+WARNING: untranslated string: outgoing overhead in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh new key
WARNING: untranslated string: hardware support
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming compression in bytes per second
WARNING: untranslated string: incoming firewall access
+WARNING: untranslated string: incoming overhead in bytes per second
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
+WARNING: untranslated string: invalid input for valid till days
WARNING: untranslated string: ipsec
WARNING: untranslated string: ipsec network
WARNING: untranslated string: last
WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: nameserver
+WARNING: untranslated string: no data
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: notice
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing compression in bytes per second
WARNING: untranslated string: outgoing firewall access
+WARNING: untranslated string: outgoing overhead in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh new key
WARNING: untranslated string: generate dh key
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming compression in bytes per second
+WARNING: untranslated string: incoming overhead in bytes per second
+WARNING: untranslated string: invalid input for valid till days
WARNING: untranslated string: masquerade blue
WARNING: untranslated string: masquerade green
WARNING: untranslated string: masquerade orange
WARNING: untranslated string: modem status
WARNING: untranslated string: monitor interface
WARNING: untranslated string: nameserver
+WARNING: untranslated string: no data
WARNING: untranslated string: not a valid dh key
+WARNING: untranslated string: outgoing compression in bytes per second
+WARNING: untranslated string: outgoing overhead in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh new key
WARNING: untranslated string: hardware support
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming compression in bytes per second
WARNING: untranslated string: incoming firewall access
+WARNING: untranslated string: incoming overhead in bytes per second
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
+WARNING: untranslated string: invalid input for valid till days
WARNING: untranslated string: ipsec
WARNING: untranslated string: ipsec network
WARNING: untranslated string: last
WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: nameserver
+WARNING: untranslated string: no data
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: notice
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing compression in bytes per second
WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: outgoing firewall p2p allow
WARNING: untranslated string: outgoing firewall p2p deny
+WARNING: untranslated string: outgoing overhead in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh new key
WARNING: untranslated string: hardware support
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming compression in bytes per second
WARNING: untranslated string: incoming firewall access
+WARNING: untranslated string: incoming overhead in bytes per second
WARNING: untranslated string: incoming traffic in bytes per second
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
+WARNING: untranslated string: invalid input for valid till days
WARNING: untranslated string: ipsec
WARNING: untranslated string: ipsec network
WARNING: untranslated string: last
WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: nameserver
+WARNING: untranslated string: no data
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: notice
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing compression in bytes per second
WARNING: untranslated string: outgoing firewall access
+WARNING: untranslated string: outgoing overhead in bytes per second
WARNING: untranslated string: outgoing traffic in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh new key
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: incoming compression in bytes per second
+WARNING: untranslated string: incoming overhead in bytes per second
+WARNING: untranslated string: invalid input for valid till days
+WARNING: untranslated string: no data
+WARNING: untranslated string: outgoing compression in bytes per second
+WARNING: untranslated string: outgoing overhead in bytes per second
+WARNING: untranslated string: ovpn add conf
WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
< hardware support
< imei
< imsi
+< incoming compression in bytes per second
< incoming firewall access
+< incoming overhead in bytes per second
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
+< invalid input for valid till days
< ipsec
< ipsec network
< ipsec no connections
< openvpn subnet is used
< other
< our donors
+< outgoing compression in bytes per second
< outgoing firewall access
+< outgoing overhead in bytes per second
+< ovpn add conf
< ovpn crypt options
< ovpn dh
< ovpn dh new key
< hardware support
< imei
< imsi
+< incoming compression in bytes per second
< incoming firewall access
+< incoming overhead in bytes per second
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
+< invalid input for valid till days
< ipsec
< ipsec network
< ipsec no connections
< openvpn subnet is used
< other
< our donors
+< outgoing compression in bytes per second
< outgoing firewall access
< outgoing firewall add ip group
< outgoing firewall add mac group
< outgoing firewall p2p description 2
< outgoing firewall p2p description 3
< outgoing firewall view group
+< outgoing overhead in bytes per second
+< ovpn add conf
< ovpn crypt options
< ovpn dh
< ovpn dh new key
< hardware support
< imei
< imsi
+< incoming compression in bytes per second
< incoming firewall access
+< incoming overhead in bytes per second
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
+< invalid input for valid till days
< ipsec
< ipsec network
< ipsec no connections
< openvpn subnet is used
< other
< our donors
+< outgoing compression in bytes per second
< outgoing firewall access
+< outgoing overhead in bytes per second
+< ovpn add conf
< ovpn crypt options
< ovpn dh
< ovpn dh new key
< hour-graph
< imei
< imsi
+< incoming compression in bytes per second
< incoming firewall access
+< incoming overhead in bytes per second
< incoming traffic in bytes per second
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
+< invalid input for valid till days
< ipsec
< ipsec network
< ipsec no connections
< openvpn subnet is used
< other
< our donors
+< outgoing compression in bytes per second
< outgoing firewall access
+< outgoing overhead in bytes per second
< outgoing traffic in bytes per second
+< ovpn add conf
< ovpn crypt options
< ovpn dh
< ovpn dh new key
my $use_token = 0;
# Handle token based auth for various providers.
- if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com"] && $username eq "token") {
+ if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com", "spdns.de"] && $username eq "token") {
$use_token = 1;
# Handle token auth for freedns.afraid.org and regfish.com.
$errormessage.=$Lang::tr{'fwdfw err remark'}."<br>";
}
#check if source and target identical
- if ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ALL'){
+ if ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ALL' && $fwdfwsettings{'grp2'} ne 'ipfire'){
$errormessage=$Lang::tr{'fwdfw err same'};
return $errormessage;
}
####################### End added for snort rules control #################################
if ($snortsettings{'RULES'} eq 'subscripted') {
- $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
+ $url=" https://www.snort.org/rules/snortrules-snapshot-2970.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
} elsif ($snortsettings{'RULES'} eq 'registered') {
- $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
+ $url=" https://www.snort.org/rules/snortrules-snapshot-2970.tar.gz?oinkcode=$snortsettings{'OINKCODE'}";
} elsif ($snortsettings{'RULES'} eq 'community') {
$url=" https://www.snort.org/rules/community";
} else {
</tr>
<tr>
<td><br />
- $Lang::tr{'ids rules license'} <a href='https://www.snort.org/signup' target='_blank'>www.snort.org</a>$Lang::tr{'ids rules license1'}<br /><br />
+ $Lang::tr{'ids rules license'} <a href='https://www.snort.org/subscribe' target='_blank'>www.snort.org</a>$Lang::tr{'ids rules license1'}<br /><br />
$Lang::tr{'ids rules license2'} <a href='https://www.snort.org/account/oinkcode' target='_blank'>Get an Oinkcode</a>, $Lang::tr{'ids rules license3'}
</td>
</tr>
--- /dev/null
+#!/usr/bin/perl
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2014 Alexander Marx #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+require "${General::swroot}/graphs.pl";
+
+my %color = ();
+my %mainsettings = ();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+
+my @vpns=();
+
+my @querry = split(/\?/,$ENV{'QUERY_STRING'});
+$querry[0] = '' unless defined $querry[0];
+$querry[1] = 'week' unless defined $querry[1];
+
+if ( $querry[0] ne "" && $querry[0] ne "UNDEF"){
+ print "Content-type: image/png\n\n";
+ binmode(STDOUT);
+ &Graphs::updatevpngraph($querry[0],$querry[1]);
+}else{
+ &Header::showhttpheaders();
+ &Header::openpage($Lang::tr{'host to net vpn'}, 1, '');
+ &Header::openbigbox('100%', 'left');
+
+ my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -not -path *openvpn-*n2n* -name *.rrd|sort`;
+ foreach (@vpngraphs){
+ if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive.rrd/){
+ push(@vpns,$2);
+ }
+ }
+ if(@vpns){
+ foreach (@vpns) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netovpnrw.cgi",$_,"week");
+ &Header::closebox();
+ }
+ }else{
+ print "<center>".$Lang::tr{'no data'}."</center>";
+ }
+ my $output = '';
+
+ &Header::closebigbox();
+ &Header::closepage();
+}
--- /dev/null
+#!/usr/bin/perl
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2014 Alexnder Marx #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+use strict;
+
+# enable only the following on debugging purpose
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+require "${General::swroot}/graphs.pl";
+
+my %color = ();
+my %mainsettings = ();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+
+my @vpns=();
+
+my @querry = split(/\?/,$ENV{'QUERY_STRING'});
+$querry[0] = '' unless defined $querry[0];
+$querry[1] = 'week' unless defined $querry[1];
+
+if ( $querry[0] ne ""){
+ print "Content-type: image/png\n\n";
+ binmode(STDOUT);
+ &Graphs::updatevpnn2ngraph($querry[0],$querry[1]);
+}else{
+ &Header::showhttpheaders();
+ &Header::openpage($Lang::tr{'openvpn server'}, 1, '');
+ &Header::openbigbox('100%', 'left');
+
+ my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*-n2n/ -not -path *openvpn-UNDEF* -name *traffic.rrd|sort`;
+ foreach (@vpngraphs){
+ if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive-traffic.rrd/){
+ push(@vpns,$2);
+ }
+ }
+ if (@vpns){
+ foreach (@vpns) {
+ &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}");
+ &Graphs::makegraphbox("netovpnsrv.cgi",$_,"week");
+ &Header::closebox();
+ }
+ }else{
+ print "<center>".$Lang::tr{'no data'}."</center>";
+ }
+ my $output = '';
+
+ &Header::closebigbox();
+ &Header::closepage();
+}
my $customnet="${General::swroot}/fwhosts/customnetworks";
my $name;
my $col="";
+my $local_serverconf = "${General::swroot}/ovpn/scripts/server.conf.local";
+my $local_clientconf = "${General::swroot}/ovpn/scripts/client.conf.local";
+
&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
$cgiparams{'ENABLED'} = 'off';
$cgiparams{'ENABLED_BLUE'} = 'off';
$cgiparams{'DAUTH'} = '';
$cgiparams{'TLSAUTH'} = '';
$routes_push_file = "${General::swroot}/ovpn/routes_push";
-unless (-e $routes_push_file) { system("touch $routes_push_file"); }
-unless (-e "${General::swroot}/ovpn/ccd.conf") { system("touch ${General::swroot}/ovpn/ccd.conf"); }
-unless (-e "${General::swroot}/ovpn/ccdroute") { system("touch ${General::swroot}/ovpn/ccdroute"); }
-unless (-e "${General::swroot}/ovpn/ccdroute2") { system("touch ${General::swroot}/ovpn/ccdroute2"); }
+
+# Add CCD files if not already presant
+unless (-e $routes_push_file) {
+ open(RPF, ">$routes_push_file");
+ close(RPF);
+}
+unless (-e "${General::swroot}/ovpn/ccd.conf") {
+ open(CCDC, ">${General::swroot}/ovpn/ccd.conf");
+ close (CCDC);
+}
+unless (-e "${General::swroot}/ovpn/ccdroute") {
+ open(CCDR, ">${General::swroot}/ovpn/ccdroute");
+ close (CCDR);
+}
+unless (-e "${General::swroot}/ovpn/ccdroute2") {
+ open(CCDRT, ">${General::swroot}/ovpn/ccdroute2");
+ close (CCDRT);
+}
+# Add additional configs if not already presant
+unless (-e "$local_serverconf") {
+ open(LSC, ">$local_serverconf");
+ close (LSC);
+}
+unless (-e "$local_clientconf") {
+ open(LCC, ">$local_clientconf");
+ close (LCC);
+}
&Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
print CONF "keepalive $sovpnsettings{'KEEPALIVE_1'} $sovpnsettings{'KEEPALIVE_2'}\n";
}
print CONF "status-version 1\n";
- print CONF "status /var/log/ovpnserver.log 30\n";
+ print CONF "status /var/run/ovpnserver.log 30\n";
print CONF "cipher $sovpnsettings{DCIPHER}\n";
if ($sovpnsettings{'DAUTH'} eq '') {
print CONF "";
print CONF "verb $sovpnsettings{LOG_VERB}\n";
} else {
print CONF "verb 3\n";
- }
+ }
+ # Print server.conf.local if entries exist to server.conf
+ if ( !-z $local_serverconf && $sovpnsettings{'ADDITIONAL_CONFIGS'} eq 'on') {
+ open (LSC, "$local_serverconf");
+ print CONF "\n#---------------------------\n";
+ print CONF "# Start of custom directives\n";
+ print CONF "# from server.conf.local\n";
+ print CONF "#---------------------------\n\n";
+ while (<LSC>) {
+ print CONF $_;
+ }
+ print CONF "\n#-----------------------------\n";
+ print CONF "# End of custom directives\n";
+ print CONF "#-----------------------------\n";
+ close (LSC);
+ }
print CONF "\n";
close(CONF);
}
sub emptyserverlog{
- if (open(FILE, ">/var/log/ovpnserver.log")) {
+ if (open(FILE, ">/var/run/ovpnserver.log")) {
flock FILE, 2;
print FILE "";
close FILE;
$vpnsettings{'MAX_CLIENTS'} = $cgiparams{'MAX_CLIENTS'};
$vpnsettings{'REDIRECT_GW_DEF1'} = $cgiparams{'REDIRECT_GW_DEF1'};
$vpnsettings{'CLIENT2CLIENT'} = $cgiparams{'CLIENT2CLIENT'};
+ $vpnsettings{'ADDITIONAL_CONFIGS'} = $cgiparams{'ADDITIONAL_CONFIGS'};
$vpnsettings{'DHCP_DOMAIN'} = $cgiparams{'DHCP_DOMAIN'};
$vpnsettings{'DHCP_DNS'} = $cgiparams{'DHCP_DNS'};
$vpnsettings{'DHCP_WINS'} = $cgiparams{'DHCP_WINS'};
print SERVERCONF "route $remsubnet[0] $remsubnet[1]\n";
print SERVERCONF "# tun Device\n";
print SERVERCONF "dev tun\n";
+ print SERVERCONF "#Logfile for statistics\n";
+ print SERVERCONF "status-version 1\n";
+ print SERVERCONF "status /var/run/openvpn/$cgiparams{'NAME'}-n2n 10\n";
print SERVERCONF "# Port and Protokol\n";
print SERVERCONF "port $cgiparams{'DEST_PORT'}\n";
-
+
if ($cgiparams{'PROTOCOL'} eq 'tcp') {
print SERVERCONF "proto tcp-server\n";
print SERVERCONF "# Packet size\n";
while ($file = glob("${General::swroot}/ovpn/ccd/*")) {
unlink $file
}
+# Delete all RRD files for Roadwarrior connections
+ chdir('/var/ipfire/ovpn/ccd');
+ while ($file = glob("*")) {
+ system ("/usr/local/bin/openvpnctrl -drrd $file");
+ }
+ while ($file = glob("${General::swroot}/ovpn/ccd/*")) {
+ unlink $file
+ }
if (open(FILE, ">${General::swroot}/ovpn/ovpn-leases.db")) {
print FILE "";
close FILE;
unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}";
}
# Create Diffie Hellmann Parameter
- system('/usr/bin/openssl', 'dhparam', '-rand', '/proc/interrupts:/proc/net/rt_cache',
- '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
+ system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
if ($?) {
$errormessage = "$Lang::tr{'openssl produced an error'}: $?";
unlink ("${General::swroot}/ovpn/ca/dh1024.pem");
goto ROOTCERT_ERROR;
}
} else { # child
- unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+ unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes',
'-days', '999999', '-newkey', 'rsa:4096', '-sha512',
'-keyout', "${General::swroot}/ovpn/ca/cakey.pem",
'-out', "${General::swroot}/ovpn/ca/cacert.pem",
goto ROOTCERT_ERROR;
}
} else { # child
- unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+ unless (exec ('/usr/bin/openssl', 'req', '-nodes',
'-newkey', 'rsa:2048',
'-keyout', "${General::swroot}/ovpn/certs/serverkey.pem",
'-out', "${General::swroot}/ovpn/certs/serverreq.pem",
# &cleanssldatabase();
}
# Create Diffie Hellmann Parameter
- system('/usr/bin/openssl', 'dhparam', '-rand', '/proc/interrupts:/proc/net/rt_cache',
- '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
+ system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
if ($?) {
$errormessage = "$Lang::tr{'openssl produced an error'}: $?";
unlink ("${General::swroot}/ovpn/certs/serverkey.pem");
print CLIENTCONF "mtu-disc $vpnsettings{'PMTU_DISCOVERY'}\r\n";
}
}
+ # Print client.conf.local if entries exist to client.ovpn
+ if (!-z $local_clientconf && $vpnsettings{'ADDITIONAL_CONFIGS'} eq 'on') {
+ open (LCC, "$local_clientconf");
+ print CLIENTCONF "\n#---------------------------\n";
+ print CLIENTCONF "# Start of custom directives\n";
+ print CLIENTCONF "# from client.conf.local\n";
+ print CLIENTCONF "#---------------------------\n\n";
+ while (<LCC>) {
+ print CLIENTCONF $_;
+ }
+ print CLIENTCONF "\n#---------------------------\n";
+ print CLIENTCONF "# End of custom directives\n";
+ print CLIENTCONF "#---------------------------\n\n";
+ close (LCC);
+ }
close(CLIENTCONF);
$zip->addFile( "$tempdir/$clientovpn", $clientovpn) or die "Can't add file $clientovpn\n";
# CCD end
-
+###
+### Delete all RRD's for client
+###
+ system ("/usr/local/bin/openvpnctrl -drrd $confighash{$cgiparams{'KEY'}}[1]");
delete $confighash{$cgiparams{'KEY'}};
my $temp2 = `/usr/bin/openssl ca -gencrl -out ${General::swroot}/ovpn/crls/cacrl.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
&General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
$checked{'REDIRECT_GW_DEF1'}{'off'} = '';
$checked{'REDIRECT_GW_DEF1'}{'on'} = '';
$checked{'REDIRECT_GW_DEF1'}{$cgiparams{'REDIRECT_GW_DEF1'}} = 'CHECKED';
+ $checked{'ADDITIONAL_CONFIGS'}{'off'} = '';
+ $checked{'ADDITIONAL_CONFIGS'}{'on'} = '';
+ $checked{'ADDITIONAL_CONFIGS'}{$cgiparams{'ADDITIONAL_CONFIGS'}} = 'CHECKED';
$checked{'MSSFIX'}{'off'} = '';
$checked{'MSSFIX'}{'on'} = '';
$checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED';
</table>
<hr size='1'>
<table width='100%'>
- <tr>
+ <tr>
<td class'base'><b>$Lang::tr{'misc-options'}</b></td>
- </tr>
- <tr>
+ </tr>
+
+ <tr>
<td width='20%'></td> <td width='15%'> </td><td width='15%'> </td><td width='15%'></td><td width='35%'></td>
- </tr>
- <tr>
+ </tr>
+
+ <tr>
<td class='base'>Client-To-Client</td>
<td><input type='checkbox' name='CLIENT2CLIENT' $checked{'CLIENT2CLIENT'}{'on'} /></td>
- </tr>
- <tr>
+ </tr>
+
+ <tr>
<td class='base'>Redirect-Gateway def1</td>
<td><input type='checkbox' name='REDIRECT_GW_DEF1' $checked{'REDIRECT_GW_DEF1'}{'on'} /></td>
- </tr>
- <tr>
- <td class='base'>Max-Clients</td>
- <td><input type='text' name='MAX_CLIENTS' value='$cgiparams{'MAX_CLIENTS'}' size='10' /></td>
- </tr>
+ </tr>
+
<tr>
- <td class='base'>Keepalive <br />
- (ping/ping-restart)</td>
- <td><input type='TEXT' name='KEEPALIVE_1' value='$cgiparams{'KEEPALIVE_1'}' size='10' /></td>
- <td><input type='TEXT' name='KEEPALIVE_2' value='$cgiparams{'KEEPALIVE_2'}' size='10' /></td>
- </tr>
+ <td class='base'>$Lang::tr{'ovpn add conf'}</td>
+ <td><input type='checkbox' name='ADDITIONAL_CONFIGS' $checked{'ADDITIONAL_CONFIGS'}{'on'} /></td>
+ <td>$Lang::tr{'openvpn default'}: off</td>
+ </tr>
+
<tr>
- <td class='base'>fragment <br></td>
- <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td>
- </tr>
- <tr>
- <td class='base'>mssfix</td>
- <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
- <td>$Lang::tr{'openvpn default'}: off</td>
- </tr>
+ <td class='base'>mssfix</td>
+ <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td>
+ <td>$Lang::tr{'openvpn default'}: off</td>
+ </tr>
+
+ <tr>
+ <td class='base'>fragment <br></td>
+ <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td>
+ </tr>
+
+
+ <tr>
+ <td class='base'>Max-Clients</td>
+ <td><input type='text' name='MAX_CLIENTS' value='$cgiparams{'MAX_CLIENTS'}' size='10' /></td>
+ </tr>
+ <tr>
+ <td class='base'>Keepalive <br />
+ (ping/ping-restart)</td>
+ <td><input type='TEXT' name='KEEPALIVE_1' value='$cgiparams{'KEEPALIVE_1'}' size='10' /></td>
+ <td><input type='TEXT' name='KEEPALIVE_2' value='$cgiparams{'KEEPALIVE_2'}' size='10' /></td>
+ </tr>
<tr>
<td class='base'>$Lang::tr{'ovpn mtu-disc'}</td>
</tr>
END
;
- my $filename = "/var/log/ovpnserver.log";
+ my $filename = "/var/run/ovpnserver.log";
open(FILE, $filename) or die 'Unable to open config file.';
my @current = <FILE>;
close(FILE);
$errormessage = $Lang::tr{'passwords do not match'};
goto VPNCONF_ERROR;
}
+ if ($cgiparams{'DAYS_VALID'} ne '' && $cgiparams{'DAYS_VALID'} !~ /^[0-9]+$/) {
+ $errormessage = $Lang::tr{'invalid input for valid till days'};
+ goto VPNCONF_ERROR;
+ }
# Replace empty strings with a .
(my $ou = $cgiparams{'CERT_OU'}) =~ s/^\s*$/\./;
goto VPNCONF_ERROR;
}
} else { # child
- unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache',
+ unless (exec ('/usr/bin/openssl', 'req', '-nodes',
'-newkey', 'rsa:2048',
'-keyout', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}key.pem",
'-out', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}req.pem",
$cgiparams{'CERT_CITY'} = $vpnsettings{'ROOTCERT_CITY'};
$cgiparams{'CERT_STATE'} = $vpnsettings{'ROOTCERT_STATE'};
$cgiparams{'CERT_COUNTRY'} = $vpnsettings{'ROOTCERT_COUNTRY'};
+ $cgiparams{'DAYS_VALID'} = $vpnsettings{'DAYS_VALID'};
}
VPNCONF_ERROR:
if ($cgiparams{'TYPE'} eq 'host') {
print <<END;
- </select></td></tr>
-
- <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td>
- <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr>
- <tr><td> </td>
+ </select></td></tr>
+ <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td>
+ <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr>
+ <tr><td> </td>
<td class='base'>$Lang::tr{'pkcs12 file password'}:</td>
<td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr>
- <tr><td> </td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td>
+ <tr><td> </td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td>
<td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr>
- <tr><td colspan='3'> </td></tr>
- <tr><td colspan='3'><hr /></td></tr>
- <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr>
- </table>
+ <tr><td colspan='3'> </td></tr>
+ <tr><td colspan='3'><hr /></td></tr>
+ <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr>
+ </table>
END
}else{
print <<END;
- </select></td></tr>
- <tr><td> </td><td> </td><td> </td></tr>
- <tr><td> </td><td> </td><td> </td></tr>
- <tr><td colspan='3'><hr /></td></tr>
- <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr>
+ </select></td></tr>
+ <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td>
+ <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr>
+ <tr><td> </td><td> </td><td> </td></tr>
+ <tr><td> </td><td> </td><td> </td></tr>
+ <tr><td colspan='3'><hr /></td></tr>
+ <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr>
</table>
END
&General::readhasharray("${General::swroot}/ovpn/caconfig", \%cahash);
&General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
- my @status = `/bin/cat /var/log/ovpnserver.log`;
+ my @status = `/bin/cat /var/run/ovpnserver.log`;
if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") {
if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {
$errormessage = $Lang::tr{'invalid input for ike lifetime'};
goto ADVANCED_ERROR;
}
- if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 8) {
- $errormessage = $Lang::tr{'ike lifetime should be between 1 and 8 hours'};
+ if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 24) {
+ $errormessage = $Lang::tr{'ike lifetime should be between 1 and 24 hours'};
goto ADVANCED_ERROR;
}
@temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});
'ike grouptype' => 'IKE Gruppentyp:',
'ike integrity' => 'IKE Integrität:',
'ike lifetime' => 'IKE Lebensdauer:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE Lebensdauer sollte zwischen 1 und 8 Stunden betragen.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE Lebensdauer sollte zwischen 1 und 24 Stunden betragen.',
'imei' => 'IMEI',
'import' => 'Import',
'importkey' => 'PSK importieren',
'inactive' => 'inaktiv',
'include logfiles' => 'mit Logdateien',
'incoming' => 'eingehend',
+'incoming compression in bytes per second' => 'Eingehende Kompression',
'incoming firewall access' => 'Eingehender Firewallzugang',
+'incoming overhead in bytes per second' => 'Eingehender Overhead',
'incoming traffic in bytes per second' => 'Eingehender Verkehr',
'incorrect password' => 'Fehlerhaftes Passwort',
'info' => 'Info',
'invalid input for organization' => 'Ungültige Eingabe für Organisation',
'invalid input for remote host/ip' => 'Ungültige Eingabe für Remote Host/IP',
'invalid input for state or province' => 'Ungültige Eingabe für Bundesstaat oder Provinz.',
+'invalid input for valid till days' => 'Ungültige Eingabe für Gültig bis (Tage).',
'invalid ip' => 'Ungültige IP-Adresse',
'invalid keep time' => 'Die Aufbewahrungszeit muss eine gültige Zahl sein',
'invalid key' => 'Ungültiger Schlüssel.',
'our donors' => 'Unsere Unterstützer',
'out' => 'Aus',
'outgoing' => 'ausgehend',
+'outgoing compression in bytes per second' => 'Abgehende Kompression',
'outgoing firewall' => 'Ausgehende Firewall',
'outgoing firewall access' => 'Ausgehender Firewallzugang',
'outgoing firewall add ip group' => 'IP Adressgruppen hinzufügen',
'outgoing firewall reset' => 'Alle Regeln löschen',
'outgoing firewall view group' => 'Gruppe anzeigen',
'outgoing firewall warning' => 'Nur die Auswahl Quell IP / MAC aktiviert diese',
+'outgoing overhead in bytes per second' => 'Abgehender Overhead',
'outgoing traffic in bytes per second' => 'Abgehender Verkehr',
'override mtu' => 'Ãœberschreibe Standard MTU',
'ovpn' => 'OpenVPN',
+'ovpn add conf' => 'Erweiterte Konfiguration',
'ovpn con stat' => 'OpenVPN Verbindungs-Statistik',
'ovpn config' => 'OVPN-Konfiguration',
'ovpn crypt options' => 'Kryptografieoptionen',
'ike grouptype' => 'IKE Grouptype:',
'ike integrity' => 'IKE Integrity:',
'ike lifetime' => 'IKE Lifetime:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.',
'imei' => 'IMEI',
'import' => 'Import',
'importkey' => 'Import PSK',
'inactive' => 'inactive',
'include logfiles' => 'Include logfiles',
'incoming' => 'incoming',
+'incoming compression in bytes per second' => 'Incoming Compression',
'incoming firewall access' => 'Incoming Firewall Access',
+'incoming overhead in bytes per second' => 'Incoming Overhead',
'incoming traffic in bytes per second' => 'Incoming Traffic',
'incorrect password' => 'Incorrect password',
'info' => 'Info',
'invalid input for organization' => 'Invalid input for organization',
'invalid input for remote host/ip' => 'Invalid input for remote host/ip.',
'invalid input for state or province' => 'Invalid input for state or province.',
+'invalid input for valid till days' => 'Invalid input for Valid till (days).',
'invalid ip' => 'Invalid IP Address',
'invalid keep time' => 'Keep time must be a valid number',
'invalid key' => 'Invalid key.',
'our donors' => 'Our donors',
'out' => 'Out',
'outgoing' => 'outgoing',
+'outgoing compression in bytes per second' => 'Outgoing compression',
'outgoing firewall' => 'Outgoing Firewall',
'outgoing firewall access' => 'Outgoing Firewall Access',
'outgoing firewall add ip group' => 'Add IP Address Group',
'outgoing firewall reset' => 'Reset all',
'outgoing firewall view group' => 'View group',
'outgoing firewall warning' => 'Not selecting source ip or mac ignores them',
+'outgoing overhead in bytes per second' => 'Outgoing Overhead',
'outgoing traffic in bytes per second' => 'Outgoing Traffic',
'override mtu' => 'Override default MTU',
'ovpn' => 'OpenVPN',
+'ovpn add conf' => 'Additional configuration',
'ovpn con stat' => 'OpenVPN Connection Statistics',
'ovpn config' => 'OVPN-Config',
'ovpn crypt options' => 'Cryptographic options',
'ike grouptype' => 'Tipo de grupo IKE:',
'ike integrity' => 'Integridad IKE:',
'ike lifetime' => 'Tiempo de vida IKE:',
-'ike lifetime should be between 1 and 8 hours' => 'Tiempo de vida IKE entre 1 y 8 horas.',
+'ike lifetime should be between 1 and 24 hours' => 'Tiempo de vida IKE entre 1 y 24 horas.',
'import' => 'Importar',
'importkey' => 'Importar PSK',
'in' => 'En',
'ike grouptype' => 'Type de groupe IKE :',
'ike integrity' => 'Intégrité IKE :',
'ike lifetime' => 'Durée de vie IKE :',
-'ike lifetime should be between 1 and 8 hours' => 'La durée de vie IKE devrait être comprise entre 1 et 8 heures.',
+'ike lifetime should be between 1 and 24 hours' => 'La durée de vie IKE devrait être comprise entre 1 et 24 heures.',
'import' => 'Importer',
'importkey' => 'Importer PSK',
'in' => 'Dans',
'ike grouptype' => 'IKE Grouptype:',
'ike integrity' => 'IKE Integrity:',
'ike lifetime' => 'IKE Lifetime:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.',
'imei' => 'IMEI',
'import' => 'Import',
'importkey' => 'Import PSK',
'ike grouptype' => 'IKE Groepstype:',
'ike integrity' => 'IKE Integriteit:',
'ike lifetime' => 'IKE Levensduur:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE levensduur moet tussen 1 en 8 uur liggen.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE levensduur moet tussen 1 en 24 uur liggen.',
'import' => 'Importeer',
'importkey' => 'Importeer PSK',
'in' => 'In',
'ike grouptype' => 'Typ grupy IKE:',
'ike integrity' => 'Spójność IKE:',
'ike lifetime' => 'Czas ważności IKE:',
-'ike lifetime should be between 1 and 8 hours' => 'Czas ważności IKE powinien wynosić od 1 do 8 godzin.',
+'ike lifetime should be between 1 and 24 hours' => 'Czas ważności IKE powinien wynosić od 1 do 24 godzin.',
'import' => 'Import',
'importkey' => 'Import PSK',
'in' => 'W',
'ike grouptype' => 'IKE Grouptype:',
'ike integrity' => 'IKE Integrity:',
'ike lifetime' => 'IKE Lifetime:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.',
'import' => 'Import',
'importkey' => 'Import PSK',
'in' => 'In',
'ike grouptype' => 'IKE Grup Türü:',
'ike integrity' => 'IKE Bütünlüğü:',
'ike lifetime' => 'IKE Yaşam Süresi:',
-'ike lifetime should be between 1 and 8 hours' => 'IKE yaşam süresi 1 ila 8 saat arasında olmalıdır.',
+'ike lifetime should be between 1 and 24 hours' => 'IKE yaşam süresi 1 ila 24 saat arasında olmalıdır.',
'imei' => 'IMEI',
'import' => 'Al',
'importkey' => 'PSK Al',
# #
###############################################################################
-###############################################################################
-# Definitions
-###############################################################################
-
include Config
-VER = 1.8.19.0
+VER = 11.15.0
THISAPP = asterisk-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = asterisk
-PAK_VER = 8
-
-CHAN_CAPI = chan_capi-20120614
+PAK_VER = 13
-DEPS = "libpri libtiff libvorbis libogg spandsp netsnmpd"
+DEPS = "sqlite"
###############################################################################
# Top-level Rules
objects = $(DL_FILE) \
asterisk-1.4-de-prompts.tar.gz \
- asterisk-extra-sounds-en-gsm-1.4.11.tar.gz \
- asterisk-moh-opsound-gsm-2.03.tar.gz \
- $(CHAN_CAPI).tgz
+ asterisk-extra-sounds-en-gsm-1.4.15.tar.gz \
+ asterisk-moh-opsound-gsm-2.03.tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-asterisk-extra-sounds-en-gsm-1.4.11.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz
+asterisk-extra-sounds-en-gsm-1.4.15.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.4.15.tar.gz
asterisk-moh-opsound-gsm-2.03.tar.gz = $(URL_IPFIRE)/asterisk-moh-opsound-gsm-2.03.tar.gz
asterisk-1.4-de-prompts.tar.gz = $(URL_IPFIRE)/asterisk-1.4-de-prompts.tar.gz
-$(CHAN_CAPI).tgz = $(URL_IPFIRE)/$(CHAN_CAPI).tgz
-$(DL_FILE)_MD5 = dc98436846cc2de57100d78747b1bdd1
-asterisk-extra-sounds-en-gsm-1.4.11.tar.gz_MD5 = 5479cb4cb81d678304d96f35e4933a11
+$(DL_FILE)_MD5 = 71e8c2e207255f7ef12b81b7f0da30ea
+asterisk-extra-sounds-en-gsm-1.4.15.tar.gz_MD5 = 5099fc65f49008e33ba7fb043a4ec995
asterisk-moh-opsound-gsm-2.03.tar.gz_MD5 = 09066f55f1358f298bc1a6e4678a3ddf
asterisk-1.4-de-prompts.tar.gz_MD5 = 626a2b95071a5505851e43874dfbfd5c
-$(CHAN_CAPI).tgz_MD5 = c190f44eb362bf258b27f92c3458e4bf
install : $(TARGET)
@$(PREBUILD)
# remove old directories and extract asterisk
- @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* $(DIR_SRC)/$(CHAN_CAPI) $(DIR_SRC)/agx-ast-addons && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
- # confiure asterisk
- cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+ # patch asterisk
+ cd $(DIR_APP) && patch -p4 < $(DIR_SRC)/src/patches/asterisk-no-ffmpeg.patch
+
+ # configure asterisk
+ cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire \
+ --without-oss \
+ --without-sdl \
+ --without-SDL_image \
+ --without-netsnmp \
+ --without-avcodec \
+ --without-vorbis \
+ --without-ogg \
+ --without-spandsp \
+ --disable-xmldoc
# enable additional features (include following sound-tars)
- cd $(DIR_APP) && cp -fv $(DIR_SRC)/config/asterisk/asterisk.makeopts menuselect.makeopts
+ cd $(DIR_APP) && make menuselect.makeopts && menuselect/menuselect \
+ --enable res_srtp \
+ --enable app_mysql \
+ --enable cdr_mysql \
+ --enable res_config_mysql \
+ --enable EXTRA-SOUNDS-EN-GSM \
+ --enable MOH-OPSOUND-GSM \
+ menuselect.makeopts
# add additional sounds
- cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz $(DIR_APP)/sounds/
+ cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.4.15.tar.gz $(DIR_APP)/sounds/
cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-moh-opsound-gsm-2.03.tar.gz $(DIR_APP)/sounds/
# Fix wrong cpu optimization (march=armv5tel)
cp -vrf $(DIR_SRC)/config/asterisk/* /var/ipfire/asterisk/
chmod o+w /var/ipfire/asterisk
chown nobody:nobody -R /var/ipfire/asterisk
- ln -f -s /var/ipfire/asterisk/wakeup/wakeup.sh /etc/fcron.minutely/wakeup.sh
-
- # build and install chan capi (needed for isdn)
- cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(CHAN_CAPI).tgz
- cd $(DIR_SRC)/chan-capi-HEAD && sed -i -e 's/^CFLAGS+=-Wno-unused-but-set-variable$$//' Makefile
- cd $(DIR_SRC)/chan-capi-HEAD && make $(MAKETUNING)
- cd $(DIR_SRC)/chan-capi-HEAD && make install
- @rm -rf $(DIR_SRC)/chan-capi-HEAD
+ chown nobody:nobody -R /var/lib/asterisk
- # be sure all source is removed
- @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-*
+# be sure all source is removed
+ @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* $(DIR_SRC)/libsrtp*
# remember backup-location
install -v -m 644 $(DIR_SRC)/config/backup/includes/asterisk /var/ipfire/backup/addons/includes/asterisk
+ # Logrotate
+ mkdir -pv /etc/logrotate.d
+ install -v -m 644 $(DIR_SRC)/config/asterisk/asterisk.logrotate /etc/logrotate.d/asterisk
+
# generate softlink (or asterisk will not work properly)
ln -sf /var/ipfire/asterisk /etc/asterisk
include Config
-VER = 0.98.4
+VER = 0.98.5
THISAPP = clamav-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = clamav
-PAK_VER = 26
+PAK_VER = 27
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6d409eab6c311de05a0a591fccd2ec83
+$(DL_FILE)_MD5 = abb5c7efaff3394c0a49ff970841a2ac
install : $(TARGET)
mkdir -p /var/run/clamav
chown clamav:clamav /var/run/clamav
- # Disable PaX mprotect for clamd and freshclam
+ # Disable PaX mprotect for clamd, clamscan and freshclam
paxctl -cm /usr/sbin/clamd
paxctl -cm /usr/bin/clamscan
paxctl -cm /usr/bin/freshclam
include Config
-VER = 2.0.2
+VER = 2.0.4
THISAPP = daq-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 865bf9b750a2a2ca632591a3c70b0ea0
+$(DL_FILE)_MD5 = 65e51d72e9d5d8b397e192e4e5857eff
install : $(TARGET)
include Config
-VER = 004
+VER = 005
THISAPP = ddns-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ff77cb72d0cb06c73bde70419b15bae8
+$(DL_FILE)_MD5 = 5fb0e7c8a775ae03074ad90d5a251a4c
install : $(TARGET)
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ddns/ddns-005-Add-changeip-com.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ddns/ddns-005-SPDNS-fix-auth.patch
+
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire
cd $(DIR_APP) && make $(MAKETUNING)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-remove-floor-on-edns0-packet-size-with-DNSSEC.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-fix-crash-in-DNSSEC-code-when-attempting-to-verify-large-RRs.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-make-caching-work-for-CNAMEs-pointing-to-A-AAAA-records-shadowed-in-etc-hosts.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-fix-problems-validating-NSEC3-and-wildcards.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-initialise-return-value.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/dnsmasq-2.73-bad-packet-protection.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch
cd $(DIR_APP) && sed -i src/config.h \
-e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \
include Config
-VER = 3.0
+VER = 3.16
THISAPP = ethtool-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = cb129398cbbf39859901b55ecac101da
+$(DL_FILE)_MD5 = 7eee202accb86104adc8463a36a1a468
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 3.0.4
+VER = 3.2.0
THISAPP = fcron-$(VER)
DL_FILE = $(THISAPP).src.tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5a26a1dfd91fdc7e87401e98aef870e6
+$(DL_FILE)_MD5 = 4b031c2fba32a98fa814d1557158b0e9
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 5.11
+VER = 5.20
THISAPP = file-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 16a407bd66d6c7a832f3a5c0d609c27b
+$(DL_FILE)_MD5 = 5d5e13eb3e0e13839da869a31790faf2
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 1.4.12
+VER = 1.4.18
THISAPP = gnupg-$(VER)
DL_FILE = $(THISAPP).tar.bz2
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ce3742e5c7912559cab7894ad8ba7f6b
+$(DL_FILE)_MD5 = 54db1be9588b11afbbdd8b82d4ea883a
install : $(TARGET)
include Config
-VER = 2.14
+VER = 2.21
THISAPP = grep-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d4a3f03849d1e17ce56ab76aa5a24cab
+$(DL_FILE)_MD5 = 43c48064d6409862b8a850db83c8038a
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 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 #
include Config
-VER = 9.42
+VER = 9.45
THISAPP = hdparm-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0af5a38b212fe08f5afbe5e37f34b40b
+$(DL_FILE)_MD5 = 1c75d0751a44928b6c4bc81fb16d7fe8
install : $(TARGET)
###############################################################################
# #
# 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 #
include Config
-VER = 1.0.2
+VER = 1.0.3
THISAPP = htop-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = htop
-PAK_VER = 6
+PAK_VER = 7
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0d01cca8df3349c74569cefebbd9919e
+$(DL_FILE)_MD5 = e768b9b55c033d9c1dffda72db3a6ac7
install : $(TARGET)
include Config
-VER = 20121008
+VER = 20140403
THISAPP = lcr-$(VER)
DL_FILE = $(THISAPP).tar.xz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = lcr
-PAK_VER = 5
+PAK_VER = 6
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6c5e25329be107e30436b716bafc786f
+$(DL_FILE)_MD5 = c81c5862d51720a3efc06fd2c02cd58d
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_SRC)/lcr && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_SRC)/lcr && sed -i -e "s|^EXTENSIONdir=.*|EXTENSIONdir=/var/ipfire/lcr/extensions|g" \
- Makefile.am
+ cd $(DIR_SRC)/lcr && sed -i -e "s|^EXTENSIONdir=.*|EXTENSIONdir=/var/ipfire/lcr/extensions|g" Makefile.am
+ cd $(DIR_SRC)/lcr && sed -i -e "s|-D_GNU_SOURCE|-D_GNU_SOURCE -DASTERISK_VERSION_NUM=110000|g" Makefile.am
cd $(DIR_SRC)/lcr && ./autogen.sh
cd $(DIR_SRC)/lcr && ./configure --prefix=/usr \
--sysconfdir=/var/ipfire \
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 2.3.17
+VER = 2.3.21
THISAPP = libart_lgpl-$(VER)
DL_FILE = $(THISAPP).tar.bz2
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dfca42529393c8a8f59dc4dc10675a46
+$(DL_FILE)_MD5 = 08559ff3c67fd95d57b0c5e91a6b4302
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 2.0.3
+VER = 2.1.3
THISAPP = libassuan-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libassuan
-PAK_VER = 1
+PAK_VER = 2
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 179d1918325fdb928c7bd90b8a514fc7
+$(DL_FILE)_MD5 = b5373485419a7e2c23457d20811caabe
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 2.19
+VER = 2.24
THISAPP = libcap-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = eb1ff04d39bfa2342b8e78b0fd60dc2d
+$(DL_FILE)_MD5 = ffb154f29b1d28466c6fe6add8286a2d
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
# link for old binaries
- ln -s libcap.so.2 /lib/libcap.so.1
+ ln -svf libcap.so.2 /lib/libcap.so.1
chmod +x /lib/libcap.so.*
@rm -rf $(DIR_APP)
@$(POSTBUILD)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 0.1.6
+VER = 1.2.0
-THISAPP = libdvbpsi5-$(VER)
+THISAPP = libdvbpsi-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libdvbpsi
-PAK_VER = 1
+PAK_VER = 2
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bd2d9861be3311e1e03c91cd9345f542
+$(DL_FILE)_MD5 = 69e38e93c4db4f2a58cbd0b6f9f38228
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2011 IPFire Team <info@ipfire.de> #
+# Copyright (C) 2007-2014 IPFire Team <info@ipfire.de> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 2.0.13-stable
+VER = 2.0.21-stable
THISAPP = libevent-$(VER)
DL_FILE = $(THISAPP).tar.gz
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libevent2
-PAK_VER = 1
+PAK_VER = 2
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = af786b4b3f790c9d3279792edf7867fc
+$(DL_FILE)_MD5 = b2405cc9ebf264aa47ff615d9de527a2
install : $(TARGET)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 3.0.11
+VER = 3.2.1
THISAPP = libffi-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f69b9693227d976835b4857b1ba7d0e3
+$(DL_FILE)_MD5 = 83b89587607e3eb65c70d361f13bab43
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 1.4.0
+VER = 1.6.2
THISAPP = libpcap-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 56e88a5aabdd1e04414985ac24f7e76c
+$(DL_FILE)_MD5 = 5f14191c1a684a75532c739c2c4059fa
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure --prefix=/usr
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --enable-bluetooth=no \
+ --disable-dbus
+
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.5.0
+THISAPP = libsrtp-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = ec49ba558b4fd056114df2c76935aa8e
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+ cd $(DIR_APP) && ./configure --prefix=/usr
+ cd $(DIR_APP) && make uninstall && make $(MAKETUNING) libsrtp.so
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
include Config
-VER = 4.8.12
+VER = 4.8.13
THISAPP = mc-$(VER)
DL_FILE = $(THISAPP).tar.xz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mc
-PAK_VER = 9
+PAK_VER = 10
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 7ecccc03df060cd0ca1414a5a14e6649
+$(DL_FILE)_MD5 = d967caa12765eb86e52a6a63ca202500
install : $(TARGET)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mediatomb
-PAK_VER = 4
+PAK_VER = 5
-DEPS = "ffmpeg-libs libexif sqlite taglib "
+DEPS = "ffmpeg-libs libexif taglib "
###############################################################################
# Top-level Rules
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = minidlna
-PAK_VER = 3
+PAK_VER = 4
-DEPS = "ffmpeg flac libexif libid3tag libogg sqlite"
+DEPS = "ffmpeg flac libexif libid3tag libogg"
###############################################################################
# Top-level Rules
include Config
-VER = 1.8
+VER = 1.9
THISAPP = miniupnpd-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = miniupnpd
-PAK_VER = 1
+PAK_VER = 2
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0d8a8e936d5a0012cb260a3b972acbf3
+$(DL_FILE)_MD5 = 9151502f84f130b0ef1245ac938c33f9
install : $(TARGET)
include Config
-VER = 1.4.4
+VER = 1.6.2
THISAPP = nginx-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nginx
-PAK_VER = 3
+PAK_VER = 4
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5dfaba1cbeae9087f3949860a02caa9f
+$(DL_FILE)_MD5 = d1b55031ae6e4bce37f8776b94d8b930
install : $(TARGET)
cd $(DIR_APP) && make install
cd $(DIR_APP) && cp -Rvf $(DIR_SRC)/config/ovpn /var/ipfire
-mkdir -vp /usr/lib/openvpn/plugins
+ -mkdir -vp /var/log/openvpn
-mkdir -vp /var/ipfire/ovpn/ca
-mkdir -vp /var/ipfire/ovpn/ccd
-mkdir -vp /var/ipfire/ovpn/crls
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = pakfire3
-PAK_VER = 4
+PAK_VER = 5
-DEPS = "libsolv pycurl pygpgme python-progressbar python-xattr sqlite urlgrabber"
+DEPS = "libsolv pycurl pygpgme python-progressbar python-xattr urlgrabber"
###############################################################################
# Top-level Rules
include Config
-VER = 8.31
+VER = 8.36
THISAPP = pcre-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fab1bb3b91a4c35398263a5c1e0858c1
+$(DL_FILE)_MD5 = ff7b4bb14e355f04885cf18ff4125c98
install : $(TARGET)
--prefix=/usr \
--disable-static \
--enable-utf8 \
- --enable-jit \
+ --disable-jit \
--enable-unicode-properties
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2014 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 #
include Config
-VER = 4.0.3
+VER = 4.2.1
THISAPP = screen-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 8506fd205028a96c741e4037de6e3c42
+$(DL_FILE)_MD5 = 419a0594e2b25039239af8b90eda7d92
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.0.3-stropts.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.2.1-cpation-hardstatus.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.2.1-altscreen.patch
cd $(DIR_APP) && ./configure --prefix=/usr --with-socket-dir=/var/run/screen --with-sys-screenrc=/etc/screenrc
cd $(DIR_APP) && sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/*
cd $(DIR_APP) && make $(MAKETUNING)
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 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 #
include Config
-VER = 6.1
+VER = 6.3
THISAPP = smartmontools-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 83a3a681f8183ed858392d550ae1cca6
+$(DL_FILE)_MD5 = 2ea0c62206e110192a97b59291b17f54
install : $(TARGET)
include Config
-VER = 2.9.6.1
+VER = 2.9.7.0
THISAPP = snort-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d7c0f1ddb2e70b70acdaa4664abb5fb0
+$(DL_FILE)_MD5 = c2a45bc56441ee9456478f219dd8d1e2
install : $(TARGET)
include Config
-VER = 3070603
+VER = 3080704
THISAPP = sqlite-autoconf-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = sqlite
-PAK_VER = 2
-
-DEPS = ""
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 7eb41eea5ffa5cbe359a48629084c425
+$(DL_FILE)_MD5 = 33bb8db0038317ce1b0480ca1185c7ba
install : $(TARGET)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
-dist:
- @$(PAK)
-
###############################################################################
# Installation Details
###############################################################################
include Config
-VER = 3.4.8
+VER = 3.4.9
THISAPP = squid-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = b0c4335447248810169f58ea4d8b204a
+$(DL_FILE)_MD5 = 497e5be7b3430d12667628296760beca
install : $(TARGET)
include Config
-VER = 1.0.1
+VER = 1.0.2
THISAPP = squid-accounting-$(VER)
DIR_APP = $(DIR_SRC)/$(THISAPP)
include Config
-VER = 5.2.1
+VER = 5.2.2
THISAPP = strongswan-$(VER)
DL_FILE = $(THISAPP).tar.bz2
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dd3717c0aa59ab4591ca1812941ebb82
+$(DL_FILE)_MD5 = 7ee1a33060b2bde35be0f6d78a1d26d0
install : $(TARGET)
include Config
-VER = 1.22
+VER = 1.28
THISAPP = tar-$(VER)
DL_FILE = $(THISAPP).tar.bz2
ifeq "$(ROOT)" ""
TARGET = $(DIR_INFO)/$(THISAPP)
EXTRA_CONFIG = --prefix=/usr --bindir=/bin \
- --libexecdir=/usr/sbin --disable-nls
+ --libexecdir=/usr/sbin --disable-nls FORCE_UNSAFE_CONFIGURE=1
EXTRA_MAKE =
EXTRA_INSTALL =
else
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 07fa517027f426bb80f5f5ff91b63585
+$(DL_FILE)_MD5 = 8f32b2bc1ed7ddf4cf4e4a39711341b0
install : $(TARGET)
include Config
-VER = 4.4.0
+VER = 4.6.2
THISAPP = tcpdump-$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = tcpdump
-PAK_VER = 3
+PAK_VER = 4
DEPS = ""
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6f75aabcffd012f73bd7c331bb5d8232
+$(DL_FILE)_MD5 = 74d0d3728b3cdc60db872d842e7f1598
install : $(TARGET)
###############################################################################
# #
# 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 #
include Config
-VER = 1.14
+VER = 1.16
THISAPP = wget-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 316f6f59292c9098ad81fd54f658c579
+$(DL_FILE)_MD5 = fe102975ab3a6c049777883f1bb9ad07
install : $(TARGET)
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/wget-1.14-texi2pod-1.patch
-
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--sysconfdir=/etc \
include Config
-VER = 1.2.7
+VER = 1.2.8
THISAPP = zlib-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 60df6a37c56e7c1366cca812414f7b85
+$(DL_FILE)_MD5 = 44d667c142d7cda120332623eab69f40
install : $(TARGET)
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.17" # Version number
-CORE="86-beta1" # Core Level (Filename)
+CORE="87" # Core Level (Filename)
PAKFIRE_CORE="86" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
ipfiremake nut
ipfiremake watchdog
ipfiremake libpri
+ ipfiremake libsrtp
ipfiremake asterisk
ipfiremake lcr
ipfiremake usb_modeswitch
case "${1}" in
start)
boot_mesg "Starting Asterisk PBX..."
- loadproc /usr/sbin/asterisk -p
+ loadproc /usr/sbin/asterisk -p
;;
stop)
printf(" -kn2n --kill-net-2-net\n");
printf(" kills all net2net connections\n");
printf(" you may pass a connection name to the switch to only start a specific one\n");
+ printf(" -drrd --delete-rrd\n");
+ printf(" Deletes the RRD data for a specific client\n");
+ printf(" you need to pass a connection name (RW) to the switch to delete the directory (case sensitive)\n");
printf(" -d --display\n");
printf(" displays OpenVPN status to syslog\n");
printf(" -fwr --firewall-rules\n");
return 0;
}
+int deleterrd(char *name) {
+ connection *conn = getConnections();
+
+ char rrd_file[STRING_SIZE];
+ snprintf(rrd_file, STRING_SIZE - 1, "/var/log/rrd/collectd/localhost/openvpn-%s/if_octets.rrd", name);
+
+ char rrd_dir[STRING_SIZE];
+ snprintf(rrd_dir, STRING_SIZE - 1, "/var/log/rrd/collectd/localhost/openvpn-%s", name);
+
+ while(conn) {
+ /* Find only RW-Connections with the given name. */
+ if (((strcmp(conn->type, "host") == 0) && (strcmp(conn->name, name) == 0))) {
+ remove(rrd_file);
+ remove(rrd_dir);
+ return 0;
+ }
+ conn = conn->next;
+ }
+
+ return 1;
+}
+
void startAllNet2Net() {
int exitcode = 0, _exitcode = 0;
else if( (strcmp(argv[1], "-kn2n") == 0) || (strcmp(argv[1], "--kill-net-2-net") == 0) ) {
killNet2Net(argv[2]);
return 0;
+ }
+ else if( (strcmp(argv[1], "-drrd") == 0) || (strcmp(argv[1], "--delete-rrd") == 0) ) {
+ deleterrd(argv[2]);
+ return 0;
} else {
usage();
return 1;
--- /dev/null
+--- build/usr/src/asterisk-11.9.0/res/Makefile.orig 2014-04-28 20:30:50.500877461 +0200
++++ build/usr/src/asterisk-11.9.0/res/Makefile 2014-04-28 20:31:39.357034757 +0200
+@@ -75,7 +75,7 @@
+ rm -f pjproject/build.mak
+
+ pjproject/build.mak: pjproject/aconfigure
+- (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec)
++ (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec --disable-opencore-amrnb --disable-video --disable-sdl --disable-ffmpeg --disable-v4l2)
+
+ ifneq ($(findstring $(MAKECMDGOALS),all),)
+ -include pjproject/build.mak
--- /dev/null
+Upstream issue 18345
+Link: https://issues.asterisk.org/jira/browse/ASTERISK-18345
+Patch-By: Filip Jenicek
+
+Submitted upstream: 2012-05-31 09:12
+For Asterisk version: 1.8.4
+
+The HOOK_T ssl_read function should behave the same way as the system read function
+by blocking and waiting for (more) data from the SSL subsystem. Failure to do this
+will drop data on the floor and ultimately disconnect SSL clients.
+
+--- asterisk/main/tcptls.c
++++ asterisk/main/tcptls.c
+@@ -55,6 +55,14 @@
+ static HOOK_T ssl_read(void *cookie, char *buf, LEN_T len)
+ {
+ int i = SSL_read(cookie, buf, len-1);
++
++ /* ssl_read should block and wait for the SSL layer to provide all data */
++ while (i < 0 && SSL_get_error(cookie, i) == SSL_ERROR_WANT_READ) {
++ ast_debug(1, "SSL_read - data not ready.\n");
++ if (ast_wait_for_input(SSL_get_fd(cookie), 5000) <= 0) return 0;
++ i = SSL_read(cookie, buf, len-1);
++ }
++
+ #if 0
+ if (i >= 0)
+ buf[i] = '\0';
--- /dev/null
+commit 78046ffe2187d91c61d6c2f910249b8a5be71b08
+Author: Stefan Schantl <stefan.schantl@ipfire.org>
+Date: Wed Oct 22 21:39:09 2014 +0200
+
+ Add changeip.com as new provider.
+
+ Fixes #10639.
+
+diff --git a/README b/README
+index 5944102..6a06f4b 100644
+--- a/README
++++ b/README
+@@ -49,6 +49,7 @@ INSTALLATION:
+
+ SUPPORTED PROVIDERS:
+ all-inkl.com
++ changeip.com
+ dhs.org
+ dns.lightningwirelabs.com
+ dnspark.com
+diff --git a/ddns.conf.sample b/ddns.conf.sample
+index d3ac53f..0048a46 100644
+--- a/ddns.conf.sample
++++ b/ddns.conf.sample
+@@ -30,6 +30,11 @@
+ # secret = XYZ
+ # ttl = 60
+
++# [test.changeip.com]
++# provider = changeip.com
++# username = user
++# password = pass
++
+ # [test.dhs.org]
+ # provider = dhs.org
+ # username = user
+diff --git a/src/ddns/providers.py b/src/ddns/providers.py
+index 1e88995..587d5ff 100644
+--- a/src/ddns/providers.py
++++ b/src/ddns/providers.py
+@@ -539,6 +539,44 @@ class DDNSProviderBindNsupdate(DDNSProvider):
+ return "\n".join(scriptlet)
+
+
++class DDNSProviderChangeIP(DDNSProvider):
++ handle = "changeip.com"
++ name = "ChangeIP.com"
++ website = "https://changeip.com"
++ protocols = ("ipv4",)
++
++ # Detailed information about the update api can be found here.
++ # http://www.changeip.com/accounts/knowledgebase.php?action=displayarticle&id=34
++
++ url = "https://nic.changeip.com/nic/update"
++ can_remove_records = False
++
++ def update_protocol(self, proto):
++ data = {
++ "hostname" : self.hostname,
++ "myip" : self.get_address(proto),
++ }
++
++ # Send update to the server.
++ try:
++ response = self.send_request(self.url, username=self.username, password=self.password,
++ data=data)
++
++ # Handle error codes.
++ except urllib2.HTTPError, e:
++ if e.code == 422:
++ raise DDNSRequestError(_("Domain not found."))
++
++ raise
++
++ # Handle success message.
++ if response.code == 200:
++ return
++
++ # If we got here, some other update error happened.
++ raise DDNSUpdateError(_("Server response: %s") % output)
++
++
+ class DDNSProviderDHS(DDNSProvider):
+ handle = "dhs.org"
+ name = "DHS International"
--- /dev/null
+commit 25f39b4e437627bd1a49393280271d59ad28b86e
+Author: Stefan Schantl <stefan.schantl@ipfire.org>
+Date: Mon Jan 5 21:37:55 2015 +0100
+
+ spdns.de: Fix authentication.
+
+ There was a simple copy and paste issue which prevents a
+ correct authentication with username and password against the
+ providers API.
+
+diff --git a/src/ddns/providers.py b/src/ddns/providers.py
+index 587d5ff..bcfb088 100644
+--- a/src/ddns/providers.py
++++ b/src/ddns/providers.py
+@@ -1271,7 +1271,7 @@ class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider):
+
+ @property
+ def password(self):
+- return self.get("username") or self.token
++ return self.get("password") or self.token
+
+
+ class DDNSProviderStrato(DDNSProtocolDynDNS2, DDNSProvider):
--- /dev/null
+From 0b1008d367d44e77352134a4c5178f896f0db3e7 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sat, 27 Dec 2014 15:33:32 +0000
+Subject: [PATCH] Bad packet protection.
+
+---
+ src/dnssec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index ed8cf89..026794b 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -805,7 +805,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ {
+ while (*name_start != '.' && *name_start != 0)
+ name_start++;
+- if (k != 1)
++ if (k != 1 && *name_start == '.')
+ name_start++;
+ }
+
+--
+1.7.10.4
+
--- /dev/null
+From 094b5c3d904bae9aeb3206d9f3b8348926b84975 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 21 Dec 2014 16:11:52 +0000
+Subject: [PATCH] Fix crash in DNSSEC code when attempting to verify large
+ RRs.
+
+---
+ src/dnssec.c | 27 +++++++++++++++++++--------
+ 1 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 69bfc29..3208ac7 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -456,16 +456,27 @@ static u16 *get_desc(int type)
+
+ /* Return bytes of canonicalised rdata, when the return value is zero, the remaining
+ data, pointed to by *p, should be used raw. */
+-static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff,
++static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff, int bufflen,
+ unsigned char **p, u16 **desc)
+ {
+ int d = **desc;
+
+- (*desc)++;
+-
+ /* No more data needs mangling */
+ if (d == (u16)-1)
+- return 0;
++ {
++ /* If there's more data than we have space for, just return what fits,
++ we'll get called again for more chunks */
++ if (end - *p > bufflen)
++ {
++ memcpy(buff, *p, bufflen);
++ *p += bufflen;
++ return bufflen;
++ }
++
++ return 0;
++ }
++
++ (*desc)++;
+
+ if (d == 0 && extract_name(header, plen, p, buff, 1, 0))
+ /* domain-name, canonicalise */
+@@ -560,7 +571,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
+ if (left1 != 0)
+ memmove(buff1, buff1 + len1 - left1, left1);
+
+- if ((len1 = get_rdata(header, plen, end1, buff1 + left1, &p1, &dp1)) == 0)
++ if ((len1 = get_rdata(header, plen, end1, buff1 + left1, MAXDNAME - left1, &p1, &dp1)) == 0)
+ {
+ quit = 1;
+ len1 = end1 - p1;
+@@ -571,7 +582,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
+ if (left2 != 0)
+ memmove(buff2, buff2 + len2 - left2, left2);
+
+- if ((len2 = get_rdata(header, plen, end2, buff2 + left2, &p2, &dp2)) == 0)
++ if ((len2 = get_rdata(header, plen, end2, buff2 + left2, MAXDNAME - left2, &p2, &dp2)) == 0)
+ {
+ quit = 1;
+ len2 = end2 - p2;
+@@ -808,7 +819,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ /* canonicalise rdata and calculate length of same, use name buffer as workspace */
+ cp = p;
+ dp = rr_desc;
+- for (len = 0; (seg = get_rdata(header, plen, end, name, &cp, &dp)) != 0; len += seg);
++ for (len = 0; (seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)) != 0; len += seg);
+ len += end - cp;
+ len = htons(len);
+ hash->update(ctx, 2, (unsigned char *)&len);
+@@ -816,7 +827,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ /* Now canonicalise again and digest. */
+ cp = p;
+ dp = rr_desc;
+- while ((seg = get_rdata(header, plen, end, name, &cp, &dp)))
++ while ((seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)))
+ hash->update(ctx, seg, (unsigned char *)name);
+ if (cp != end)
+ hash->update(ctx, end - cp, cp);
+--
+1.7.10.4
+
--- /dev/null
+From fbc5205702c7f6f431d9f1043c553d7fb62ddfdb Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Tue, 23 Dec 2014 15:46:08 +0000
+Subject: [PATCH] Fix problems validating NSEC3 and wildcards.
+
+---
+ src/dnssec.c | 253 +++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 128 insertions(+), 125 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 3208ac7..9350d3e 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -615,6 +615,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
+ Return code:
+ STAT_SECURE if it validates.
+ STAT_SECURE_WILDCARD if it validates and is the result of wildcard expansion.
++ (In this case *wildcard_out points to the "body" of the wildcard within name.)
+ STAT_NO_SIG no RRsigs found.
+ STAT_INSECURE RRset empty.
+ STAT_BOGUS signature is wrong, bad packet.
+@@ -625,8 +626,8 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
+
+ name is unchanged on exit. keyname is used as workspace and trashed.
+ */
+-static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class,
+- int type, char *name, char *keyname, struct blockdata *key, int keylen, int algo_in, int keytag_in)
++static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class, int type,
++ char *name, char *keyname, char **wildcard_out, struct blockdata *key, int keylen, int algo_in, int keytag_in)
+ {
+ static unsigned char **rrset = NULL, **sigs = NULL;
+ static int rrset_sz = 0, sig_sz = 0;
+@@ -798,8 +799,16 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ {
+ int k;
+ for (k = name_labels - labels; k != 0; k--)
+- while (*name_start != '.' && *name_start != 0)
+- name_start++;
++ {
++ while (*name_start != '.' && *name_start != 0)
++ name_start++;
++ if (k != 1)
++ name_start++;
++ }
++
++ if (wildcard_out)
++ *wildcard_out = name_start+1;
++
+ name_start--;
+ *name_start = '*';
+ }
+@@ -974,7 +983,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
+ if (recp1->addr.ds.keylen == (int)hash->digest_size &&
+ (ds_digest = blockdata_retrieve(recp1->addr.key.keydata, recp1->addr.ds.keylen, NULL)) &&
+ memcmp(ds_digest, digest, recp1->addr.ds.keylen) == 0 &&
+- validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, key, rdlen - 4, algo, keytag) == STAT_SECURE)
++ validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, NULL, key, rdlen - 4, algo, keytag) == STAT_SECURE)
+ {
+ valid = 1;
+ break;
+@@ -1443,11 +1452,88 @@ static int base32_decode(char *in, unsigned char *out)
+ return p - out;
+ }
+
++static int check_nsec3_coverage(struct dns_header *header, size_t plen, int digest_len, unsigned char *digest, int type,
++ char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count)
++{
++ int i, hash_len, salt_len, base32_len, rdlen;
++ unsigned char *p, *psave;
++
++ for (i = 0; i < nsec_count; i++)
++ if ((p = nsecs[i]))
++ {
++ if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
++ !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
++ return 0;
++
++ p += 8; /* class, type, TTL */
++ GETSHORT(rdlen, p);
++ psave = p;
++ p += 4; /* algo, flags, iterations */
++ salt_len = *p++; /* salt_len */
++ p += salt_len; /* salt */
++ hash_len = *p++; /* p now points to next hashed name */
++
++ if (!CHECK_LEN(header, p, plen, hash_len))
++ return 0;
++
++ if (digest_len == base32_len && hash_len == base32_len)
++ {
++ int rc = memcmp(workspace2, digest, digest_len);
++
++ if (rc == 0)
++ {
++ /* We found an NSEC3 whose hashed name exactly matches the query, so
++ we just need to check the type map. p points to the RR data for the record. */
++
++ int offset = (type & 0xff) >> 3;
++ int mask = 0x80 >> (type & 0x07);
++
++ p += hash_len; /* skip next-domain hash */
++ rdlen -= p - psave;
++
++ if (!CHECK_LEN(header, p, plen, rdlen))
++ return 0;
++
++ while (rdlen >= 2)
++ {
++ if (p[0] == type >> 8)
++ {
++ /* Does the NSEC3 say our type exists? */
++ if (offset < p[1] && (p[offset+2] & mask) != 0)
++ return STAT_BOGUS;
++
++ break; /* finshed checking */
++ }
++
++ rdlen -= p[1];
++ p += p[1];
++ }
++
++ return 1;
++ }
++ else if (rc <= 0)
++ {
++ /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
++ wrap around case, name-hash falls between NSEC3 name-hash and end */
++ if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
++ return 1;
++ }
++ else
++ {
++ /* wrap around case, name falls between start and next domain name */
++ if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
++ return 1;
++ }
++ }
++ }
++ return 0;
++}
++
+ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count,
+- char *workspace1, char *workspace2, char *name, int type)
++ char *workspace1, char *workspace2, char *name, int type, char *wildname)
+ {
+ unsigned char *salt, *p, *digest;
+- int digest_len, i, iterations, salt_len, hash_len, base32_len, algo = 0;
++ int digest_len, i, iterations, salt_len, base32_len, algo = 0;
+ struct nettle_hash const *hash;
+ char *closest_encloser, *next_closest, *wildcard;
+
+@@ -1520,7 +1606,14 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ if (!(hash = hash_find("sha1")))
+ return STAT_BOGUS;
+
+- /* Now, we need the "closest encloser NSEC3" */
++ if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0)
++ return STAT_BOGUS;
++
++ if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
++ return STAT_SECURE;
++
++ /* Can't find an NSEC3 which covers the name directly, we need the "closest encloser NSEC3"
++ or an answer inferred from a wildcard record. */
+ closest_encloser = name;
+ next_closest = NULL;
+
+@@ -1529,6 +1622,9 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ if (*closest_encloser == '.')
+ closest_encloser++;
+
++ if (wildname && hostname_isequal(closest_encloser, wildname))
++ break;
++
+ if ((digest_len = hash_name(closest_encloser, &digest, hash, salt, salt_len, iterations)) == 0)
+ return STAT_BOGUS;
+
+@@ -1551,127 +1647,33 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
+ }
+ while ((closest_encloser = strchr(closest_encloser, '.')));
+
+- /* No usable NSEC3s */
+- if (i == nsec_count)
++ if (!closest_encloser)
+ return STAT_BOGUS;
+
+- if (!next_closest)
+- {
+- /* We found an NSEC3 whose hashed name exactly matches the query, so
+- Now we just need to check the type map. p points to the RR data for the record. */
+- int rdlen;
+- unsigned char *psave;
+- int offset = (type & 0xff) >> 3;
+- int mask = 0x80 >> (type & 0x07);
+-
+- p += 8; /* class, type, TTL */
+- GETSHORT(rdlen, p);
+- psave = p;
+- p += 5 + salt_len; /* algo, flags, iterations, salt_len, salt */
+- hash_len = *p++;
+- if (!CHECK_LEN(header, p, plen, hash_len))
+- return STAT_BOGUS; /* bad packet */
+- p += hash_len;
+- rdlen -= p - psave;
+-
+- while (rdlen >= 2)
+- {
+- if (!CHECK_LEN(header, p, plen, rdlen))
+- return STAT_BOGUS;
+-
+- if (p[0] == type >> 8)
+- {
+- /* Does the NSEC3 say our type exists? */
+- if (offset < p[1] && (p[offset+2] & mask) != 0)
+- return STAT_BOGUS;
+-
+- break; /* finshed checking */
+- }
+-
+- rdlen -= p[1];
+- p += p[1];
+- }
+-
+- return STAT_SECURE;
+- }
+-
+ /* Look for NSEC3 that proves the non-existence of the next-closest encloser */
+ if ((digest_len = hash_name(next_closest, &digest, hash, salt, salt_len, iterations)) == 0)
+ return STAT_BOGUS;
+
+- for (i = 0; i < nsec_count; i++)
+- if ((p = nsecs[i]))
+- {
+- if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
+- !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
+- return STAT_BOGUS;
+-
+- p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */
+- hash_len = *p++; /* p now points to next hashed name */
+-
+- if (!CHECK_LEN(header, p, plen, hash_len))
+- return STAT_BOGUS;
+-
+- if (digest_len == base32_len && hash_len == base32_len)
+- {
+- if (memcmp(workspace2, digest, digest_len) <= 0)
+- {
+- /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
+- wrap around case, name-hash falls between NSEC3 name-hash and end */
+- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
+- return STAT_SECURE;
+- }
+- else
+- {
+- /* wrap around case, name falls between start and next domain name */
+- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
+- return STAT_SECURE;
+- }
+- }
+- }
+-
+- /* Finally, check that there's no seat of wildcard synthesis */
+- if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest)
+- return STAT_BOGUS;
+-
+- wildcard--;
+- *wildcard = '*';
+-
+- if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0)
++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
+ return STAT_BOGUS;
+
+- for (i = 0; i < nsec_count; i++)
+- if ((p = nsecs[i]))
+- {
+- if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
+- !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
+- return STAT_BOGUS;
+-
+- p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */
+- hash_len = *p++; /* p now points to next hashed name */
+-
+- if (!CHECK_LEN(header, p, plen, hash_len))
+- return STAT_BOGUS;
+-
+- if (digest_len == base32_len && hash_len == base32_len)
+- {
+- if (memcmp(workspace2, digest, digest_len) <= 0)
+- {
+- /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
+- wrap around case, name-hash falls between NSEC3 name-hash and end */
+- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
+- return STAT_SECURE;
+- }
+- else
+- {
+- /* wrap around case, name falls between start and next domain name */
+- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
+- return STAT_SECURE;
+- }
+- }
+- }
++ /* Finally, check that there's no seat of wildcard synthesis */
++ if (!wildname)
++ {
++ if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest)
++ return STAT_BOGUS;
++
++ wildcard--;
++ *wildcard = '*';
++
++ if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0)
++ return STAT_BOGUS;
++
++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
++ return STAT_BOGUS;
++ }
+
+- return STAT_BOGUS;
++ return STAT_SECURE;
+ }
+
+ /* Validate all the RRsets in the answer and authority sections of the reply (4035:3.2.3) */
+@@ -1792,8 +1794,9 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
+ struct all_addr a;
+ struct blockdata *key;
+ struct crec *crecp;
+-
+- rc = validate_rrset(now, header, plen, class1, type1, name, keyname, NULL, 0, 0, 0);
++ char *wildname;
++
++ rc = validate_rrset(now, header, plen, class1, type1, name, keyname, &wildname, NULL, 0, 0, 0);
+
+ if (rc == STAT_SECURE_WILDCARD)
+ {
+@@ -1807,7 +1810,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
+ if (nsec_type == T_NSEC)
+ rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1);
+ else
+- rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1);
++ rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, wildname);
+
+ if (rc != STAT_SECURE)
+ return rc;
+@@ -1933,7 +1936,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
+ if (nsec_type == T_NSEC)
+ return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype);
+ else
+- return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype);
++ return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL);
+ }
+
+ /* Chase the CNAME chain in the packet until the first record which _doesn't validate.
+@@ -1980,7 +1983,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
+ return STAT_INSECURE;
+
+ /* validate CNAME chain, return if insecure or need more data */
+- rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, 0, 0, 0);
++ rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, NULL, 0, 0, 0);
+ if (rc != STAT_SECURE)
+ {
+ if (rc == STAT_NO_SIG)
+--
+1.7.10.4
+
--- /dev/null
+From 83d2ed09fc0216b567d7fb2197e4ff3eae150b0d Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Tue, 23 Dec 2014 18:42:38 +0000
+Subject: [PATCH] Initialise return value.
+
+---
+ src/dnssec.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/dnssec.c b/src/dnssec.c
+index 9350d3e..ed8cf89 100644
+--- a/src/dnssec.c
++++ b/src/dnssec.c
+@@ -637,10 +637,13 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
+ struct crec *crecp = NULL;
+ int type_covered, algo, labels, orig_ttl, sig_expiration, sig_inception, key_tag;
+ u16 *rr_desc = get_desc(type);
+-
++
++ if (wildcard_out)
++ *wildcard_out = NULL;
++
+ if (!(p = skip_questions(header, plen)))
+ return STAT_BOGUS;
+-
++
+ name_labels = count_labels(name); /* For 4035 5.3.2 check */
+
+ /* look for RRSIGs for this RRset and get pointers to each RR in the set. */
+--
+1.7.10.4
+
--- /dev/null
+From cbc652423403e3cef00e00240f6beef713142246 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Sun, 21 Dec 2014 21:21:53 +0000
+Subject: [PATCH] Make caching work for CNAMEs pointing to A/AAAA records
+ shadowed in /etc/hosts
+
+If the answer to an upstream query is a CNAME which points to an
+A/AAAA record which also exists in /etc/hosts and friends, then
+caching is suppressed, to avoid inconsistent answers. This is
+now modified to allow caching when the upstream and local A/AAAA
+records have the same value.
+---
+ src/cache.c | 34 +++++++++++++++++++++++++---------
+ 1 file changed, 25 insertions(+), 9 deletions(-)
+
+diff --git a/src/cache.c b/src/cache.c
+index f9e1d31..ff1ca6f 100644
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -322,7 +322,7 @@ static int is_expired(time_t now, struct crec *crecp)
+ return 1;
+ }
+
+-static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags)
++static struct crec *cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags)
+ {
+ /* Scan and remove old entries.
+ If (flags & F_FORWARD) then remove any forward entries for name and any expired
+@@ -331,8 +331,8 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
+ entries in the whole cache.
+ If (flags == 0) remove any expired entries in the whole cache.
+
+- In the flags & F_FORWARD case, the return code is valid, and returns zero if the
+- name exists in the cache as a HOSTS or DHCP entry (these are never deleted)
++ In the flags & F_FORWARD case, the return code is valid, and returns a non-NULL pointer
++ to a cache entry if the name exists in the cache as a HOSTS or DHCP entry (these are never deleted)
+
+ We take advantage of the fact that hash chains have stuff in the order <reverse>,<other>,<immortal>
+ so that when we hit an entry which isn't reverse and is immortal, we're done. */
+@@ -361,7 +361,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
+ (((crecp->flags | flags) & F_CNAME) && !(crecp->flags & (F_DNSKEY | F_DS))))
+ {
+ if (crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG))
+- return 0;
++ return crecp;
+ *up = crecp->hash_next;
+ cache_unlink(crecp);
+ cache_free(crecp);
+@@ -378,7 +378,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
+ crecp->addr.sig.type_covered == addr->addr.dnssec.type))
+ {
+ if (crecp->flags & F_CONFIG)
+- return 0;
++ return crecp;
+ *up = crecp->hash_next;
+ cache_unlink(crecp);
+ cache_free(crecp);
+@@ -423,7 +423,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
+ up = &crecp->hash_next;
+ }
+
+- return 1;
++ return NULL;
+ }
+
+ /* Note: The normal calling sequence is
+@@ -471,10 +471,26 @@ struct crec *cache_insert(char *name, struct all_addr *addr,
+ return NULL;
+
+ /* First remove any expired entries and entries for the name/address we
+- are currently inserting. Fail if we attempt to delete a name from
+- /etc/hosts or DHCP. */
+- if (!cache_scan_free(name, addr, now, flags))
++ are currently inserting. */
++ if ((new = cache_scan_free(name, addr, now, flags)))
+ {
++ /* We're trying to insert a record over one from
++ /etc/hosts or DHCP, or other config. If the
++ existing record is for an A or AAAA and
++ the record we're trying to insert is the same,
++ just drop the insert, but don't error the whole process. */
++ if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD))
++ {
++ if ((flags & F_IPV4) && (new->flags & F_IPV4) &&
++ new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr)
++ return new;
++#ifdef HAVE_IPV6
++ else if ((flags & F_IPV6) && (new->flags & F_IPV6) &&
++ IN6_ARE_ADDR_EQUAL(&new->addr.addr.addr.addr6, &addr->addr.addr6))
++ return new;
++#endif
++ }
++
+ insert_error = 1;
+ return NULL;
+ }
+--
+1.7.10.4
+
--- /dev/null
+From 800c5cc1e7438818fd80f08c2d472df249a6942d Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Mon, 15 Dec 2014 17:50:15 +0000
+Subject: [PATCH] Remove floor on EDNS0 packet size with DNSSEC.
+
+---
+ src/dnsmasq.c | 5 -----
+ 1 files changed, 5 deletions(-)
+
+diff --git a/src/dnsmasq.c b/src/dnsmasq.c
+index bf2e25a..5c7750d 100644
+--- a/src/dnsmasq.c
++++ b/src/dnsmasq.c
+@@ -87,11 +87,6 @@ int main (int argc, char **argv)
+
+ if (daemon->edns_pktsz < PACKETSZ)
+ daemon->edns_pktsz = PACKETSZ;
+-#ifdef HAVE_DNSSEC
+- /* Enforce min packet big enough for DNSSEC */
+- if (option_bool(OPT_DNSSEC_VALID) && daemon->edns_pktsz < EDNS_PKTSZ)
+- daemon->edns_pktsz = EDNS_PKTSZ;
+-#endif
+
+ daemon->packet_buff_sz = daemon->edns_pktsz > DNSMASQ_PACKETSZ ?
+ daemon->edns_pktsz : DNSMASQ_PACKETSZ;
+--
+1.7.10.4
+
+++ /dev/null
-diff -up screen-4.0.3/tty.sh.stropts screen-4.0.3/tty.sh
---- screen-4.0.3/tty.sh.stropts 2003-09-08 16:24:25.000000000 +0200
-+++ screen-4.0.3/tty.sh 2008-04-07 11:28:34.000000000 +0200
-@@ -76,7 +76,7 @@ exit 0
- #endif
-
- #include "config.h"
--#ifdef SVR4
-+#if 0
- #include <sys/stropts.h> /* for I_POP */
- #endif
-
-diff -up screen-4.0.3/screen.c.stropts screen-4.0.3/screen.c
---- screen-4.0.3/screen.c.stropts 2008-04-07 11:25:21.000000000 +0200
-+++ screen-4.0.3/screen.c 2008-04-07 11:29:14.000000000 +0200
-@@ -50,7 +50,7 @@
-
- #include "config.h"
-
--#ifdef SVR4
-+#if 0
- # include <sys/stropts.h>
- #endif
-
-diff -up screen-4.0.3/process.c.stropts screen-4.0.3/process.c
---- screen-4.0.3/process.c.stropts 2003-09-18 14:53:54.000000000 +0200
-+++ screen-4.0.3/process.c 2008-04-07 11:29:47.000000000 +0200
-@@ -37,7 +37,7 @@
- #include "config.h"
-
- /* for solaris 2.1, Unixware (SVR4.2) and possibly others: */
--#ifdef SVR4
-+#if 0
- # include <sys/stropts.h>
- #endif
-
-diff -up screen-4.0.3/pty.c.stropts screen-4.0.3/pty.c
---- screen-4.0.3/pty.c.stropts 2003-09-08 16:26:18.000000000 +0200
-+++ screen-4.0.3/pty.c 2008-04-07 11:30:07.000000000 +0200
-@@ -34,7 +34,7 @@
- #endif
-
- /* for solaris 2.1, Unixware (SVR4.2) and possibly others */
--#ifdef HAVE_SVR4_PTYS
-+#if 0
- # include <sys/stropts.h>
- #endif
-
--- /dev/null
+diff --git a/src/ansi.c b/src/ansi.c
+index e76eef4..bbdc119 100644
+--- a/ansi.c
++++ b/ansi.c
+@@ -1444,8 +1444,8 @@ int c, intermediate;
+ else
+ {
+ if (curr->w_alt.on) {
+- LeaveAltScreen(curr);
+- RestoreCursor(&curr->w_alt.cursor);
++ RestoreCursor(&curr->w_alt.cursor);
++ LeaveAltScreen(curr);
+ }
+ }
+ if (a1 == 47 && !i)
+
--- /dev/null
+diff --git a/src/screen.c b/src/screen.c
+index 473e4fa..8b36bea 100644
+--- a/screen.c
++++ b/screen.c
+@@ -2271,8 +2271,8 @@ int padlen;
+ while (i-- > 0)
+ *pn-- = ' ';
+ numpad--;
+- if (r && p - buf == winmsg_rendpos[r - 1])
+- winmsg_rendpos[--r] = pn - buf;
++ if (r && p - buf + 1== winmsg_rendpos[r - 1])
++ winmsg_rendpos[--r] = pn - buf + 1;
+ }
+ }
+ return pn2;
+
+++ /dev/null
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2013-06-18
-Initial Package Version: 1.14
-Upstream Status: Submitted
-Origin: Arch
-Description: Build with perl-5.18.
-
-http://lists.gnu.org/archive/html/bug-wget/2013-06/msg00046.html
-
-From 2ed1707b5d8be66feb80cccfe8e11e719b52b99a Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Mon, 17 Jun 2013 23:31:46 +0530
-Subject: [PATCH] Fix error in texi2pod intriduced with Perl 5.18
-
----
-
-diff --git a/doc/texi2pod.pl b/doc/texi2pod.pl
-index 86c4b18..9db6de1 100755
---- a/doc/texi2pod.pl
-+++ b/doc/texi2pod.pl
-@@ -291,7 +291,7 @@ while(<$inf>) {
- if (defined $1) {
- my $thing = $1;
- if ($ic =~ /\@asis/) {
-- $_ = "\n=item $thing\n";
-+ $_ = "\n=item C<$thing>\n";
- } else {
- # Entity escapes prevent munging by the <> processing below.
- $_ = "\n=item $ic\<$thing\>\n";
---
-1.8.3.1
-
my $monat=$_[0]-1 if($_[0]);
my $tag=1;
my $time1=timelocal(0,0,0,$tag,$monat,$jahr);
- my $time2=timelocal(0,0,0,$tag,($monat+1),$jahr);
+ my $time2=0;
+ if (($monat+1) == 12){
+ $time2=timelocal(0,0,0,$tag,0,$jahr+1);
+ }else{
+ $time2=timelocal(0,0,0,$tag,$monat+1,$jahr);
+ }
--$time2;
return ($time1,$time2);
}