diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index fd9355f7a..07bef906b 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -8,6 +8,7 @@
'Add Rule' => 'Regel hinzufĂźgen',
'Add a route' => 'Eine Route hinzufĂźgen',
'Async logging enabled' => 'Aktiviere asynchrones Schreiben des Syslogs',
+'Captive' => 'Captive-Portal',
'Captive 1day' => '1 Tag',
'Captive 1month' => '1 Monat',
'Captive 1week' => '1 Woche',
@@ -43,7 +44,6 @@
'Captive logo_upload' => 'Logo hochladen',
'Captive logo_upload1' => '(PNG, min. 1280x400, max. 1920x800)',
'Captive mac' => 'MAC-Adresse',
-'Captive menu' => 'Captive-Portal',
'Captive noexpiretime' => 'Es wurde kein gĂźltiger Verbindungszeitraum angegeben',
'Captive nolimit' => 'Unbegrenzt',
'Captive nr' => 'Nummer',
@@ -90,7 +90,7 @@
'Level7 Protocol' => 'Level7-Protokoll',
'Level7 Rule' => 'Level7-Regel',
'Level7 rule' => 'Level7-Regel',
-'Local VPN IP' => 'Internes Netzwerk (GREEN)',
+'Local VPN IP' => 'Internes Netzwerk (GRĂN)',
'MB read' => 'MB gelesen',
'MB written' => 'MB geschrieben',
'MTU' => 'MTU-GrĂśĂe:',
@@ -110,7 +110,7 @@
'Resolv' => 'Resolv-Retry',
'Scan for Files' => 'Nach Dateien suchen',
'Scan from Directory' => 'Scan Verzeichnis',
-'Set time on boot' => 'Erzwinge das Setzen der Systemzeit im Bootvorgang',
+'Set time on boot' => 'Erzwinge das Setzen der Systemzeit während des Bootvorgangs',
'Subclass' => 'Unterklasse',
'TOS Bits' => 'TOS-Bits',
'TOS Rule' => 'TOS-Regel',
@@ -343,8 +343,8 @@
'advproxy no clients defined' => 'Keine Clients definiert',
'advproxy no connection auth' => 'Keine verbindungsorientierte Authentifizierungsweiterleitung',
'advproxy no cre groups' => 'Es sind keine Zugriffsgruppen verfĂźgbar',
-'advproxy no internal proxy on blue' => ' Deaktiviere internen Proxy von Blue in andere Subnetze',
-'advproxy no internal proxy on green' => 'Deaktiviere internen Proxy nach Green aus anderen Subnetzen',
+'advproxy no internal proxy on blue' => ' Deaktiviere internen Proxy von BLAU in andere Subnetze',
+'advproxy no internal proxy on green' => 'Deaktiviere internen Proxy nach GRĂN aus anderen Subnetzen',
'advproxy number of L1 dirs' => 'Anzahl der Level-1 Unterverzeichnisse',
'advproxy off' => 'Proxy aus',
'advproxy offline mode' => 'Aktiviere Offline-Modus',
@@ -357,7 +357,7 @@
'advproxy reset' => 'ZurĂźcksetzen',
'advproxy saturday' => 'Sa',
'advproxy save and restart' => 'Speichern und Neustart',
-'advproxy squid version' => 'Squid Cache Version',
+'advproxy squid version' => 'Squid Versionsnummer',
'advproxy squidclamav' => 'SquidClamav',
'advproxy ssadvanced proxy' => 'advanced proxy',
'advproxy ssl ports' => 'Zulässige SSL-Ports (einer pro Zeile)',
@@ -453,7 +453,7 @@
'backup sets' => 'Datensicherungssätze',
'backup to floppy' => 'Datensicherung auf Diskette',
'backupaddon' => 'Addonsicherung',
-'backupprofile' => 'Falls die Wiederverbindung scheitert, auf Profil umschalten',
+'backupprofile' => 'Falls die Wiederverbindung scheitert, auf dieses Profil umschalten',
'backups' => 'Sicherungen',
'backupwarning' => 'Bitte stellen Sie zuerst Ihre Hauptsicherung wieder her und anschlieĂend die Addons. Achten Sie darauf, dass die Sicherungen ihre originalen Dateinamen behalten.',
'bad characters in' => 'UngĂźltige Zeichen in ',
@@ -474,7 +474,7 @@
'bleeding rules' => 'Bleeding Edge Snort Rules',
'block' => 'Blocken',
'blue' => 'BLAU',
-'blue access' => 'Zugriff auf Blau',
+'blue access' => 'Zugriff auf BLAU',
'blue access use hint' => 'Sie mßssen mindestens die MAC- oder die IP-Adresse fßr ein Gerät angeben. Optional kÜnnen Sie sowohl MAC- als auch IP-Adresse angeben.',
'blue interface' => 'Blaues Interface',
'broadcast' => 'Broadcast',
@@ -582,7 +582,7 @@
'ccd used' => 'Genutzte Adressen',
'cert' => 'Zertifikat',
'certificate' => 'Zertifikat',
-'certificate authorities' => 'Zertifizierungsstellen und -SchlĂźssel',
+'certificate authorities' => 'Zertifizierungsstellen und -schlĂźssel',
'certificate does not have a valid ca associated with it' => 'Mit dem Zertifikat ist keine gĂźltige CA verbunden.',
'certificate file move failed' => 'Verschieben der Zertifikatsdatei fehlgeschlagen',
'cfg restart' => 'Nach dem Wiederherstellen eines Konfigurationsarchivs wird ein Neustart empfohlen.',
@@ -619,7 +619,7 @@
'connection' => 'Verbindung',
'connection closed' => 'Nicht Verbunden...',
'connection debugging' => 'Verbindungs-Debugging',
-'connection status and controlc' => 'Verbindungsstatus und -Kontrolle',
+'connection status and controlc' => 'Verbindungsstatus und -kontrolle',
'connection tracking' => 'iptables-Verbindungsverfolgung',
'connection type' => 'Verbindungstyp',
'connection type is invalid' => 'Verbindungstyp ist ungĂźltig',
@@ -665,7 +665,7 @@
'current aliases' => 'Aktuelle Alias-Adresse',
'current class' => 'Aktuelle Klasse',
'current devices' => 'Schnittstellen',
-'current dhcp leases on blue' => 'Aktuelle DHCP-Zuordnungen auf Blau',
+'current dhcp leases on blue' => 'Aktuelle DHCP-Zuordnungen auf BLAU',
'current dynamic leases' => 'Aktuelle dynamische Zuordnungen',
'current fixed leases' => 'Aktuelle feste Zuordnungen',
'current hosts' => 'Aktuelle Hosts',
@@ -702,7 +702,7 @@
'def lease time' => 'Standardzeit fĂźr Zuordnung',
'default' => 'Voreinstellung',
'default ip' => 'Standard IP-Adresse',
-'default lease time' => 'Haltezeit-Voreinstellung in min:',
+'default lease time' => 'Haltezeit-Voreinstellung (Min.):',
'default networks' => 'Standard Netzwerke',
'default renewal time' => 'Standard-Aktualisierungszeit',
'default services' => 'Standard Dienste',
@@ -727,7 +727,7 @@
'detail level' => 'Detaillierungsgrad',
'details' => 'Mehr',
'device' => 'Gerät',
-'devices on blue' => 'Geräte auf Blau',
+'devices on blue' => 'Geräte auf BLAU',
'dh' => 'Diffie-Hellman-Parameter',
'dh key move failed' => 'Verschieben der Diffie-Hellman-Parameter fehlgeschlagen.',
'dh key warn' => 'Das Generieren der DH-Parameter mit 1024 oder 2048 Bit dauert ßblicherweise mehrere Minuten. Schlßssellängen von 3072 oder 4096 Bit beanspruchen mehrere Stunden. Bitte haben Sie etwas Geduld.',
@@ -756,10 +756,10 @@
'dhcp configuration' => 'DHCP-Konfiguration',
'dhcp create fixed leases' => 'Feste Zuordnungen erzeugen',
'dhcp dns enable update' => 'DNS-Update (RFC2136) aktivieren:',
-'dhcp dns key name' => 'SchlĂźsselname:',
+'dhcp dns key name' => 'SchlĂźsselname',
'dhcp dns update' => 'DNS-Update',
-'dhcp dns update algo' => 'Algorithmus:',
-'dhcp dns update secret' => 'SchlĂźssel:',
+'dhcp dns update algo' => 'Algorithmus',
+'dhcp dns update secret' => 'SchlĂźssel',
'dhcp fixed lease err1' => 'FĂźr eine feste Zuordnung mĂźssen entweder die Hardware Adresse (MAC-Adresse) oder der Hostname oder beide eingetragen werden.',
'dhcp fixed lease help1' => 'IP Adressen kĂśnnen als FQDN angegeben werden.',
'dhcp mode' => 'DHCP',
@@ -772,7 +772,7 @@
'dial user password' => 'Passwort fĂźr Benutzer "dial":',
'dial user password has been changed' => 'Passwort fßr Benutzer -dial- wurde geändert.',
'dialing mode' => 'Wählmodus:',
-'dialup red not ppp' => 'Einwahl Profile kĂśnnen nur verwendet werden wenn RED auf PPP Einwahl eingestellt ist. Bitte die Netzwerkeinstellungen prĂźfen.',
+'dialup red not ppp' => 'Einwahl Profile kĂśnnen nur verwendet werden wenn ROT auf PPP Einwahl eingestellt ist. Bitte die Netzwerkeinstellungen prĂźfen.',
'dialup settings' => 'Einwahl-Einstellungen',
'directory mask' => 'UNIX Verzeichnis Rechte',
'directory writeable' => 'Verzeichnis schreibbar',
@@ -1170,7 +1170,7 @@
'fwhost any' => 'Alle',
'fwhost attention' => 'ACHTUNG',
'fwhost back' => 'ZurĂźck',
-'fwhost blue' => 'Blau',
+'fwhost blue' => 'BLAU',
'fwhost ccdhost' => 'OpenVPN-Clients:',
'fwhost ccdnet' => 'OpenVPN-Netzwerke:',
'fwhost change' => 'Ăndern',
@@ -1215,7 +1215,7 @@
'fwhost err srv exists' => 'Ein Service mit diesem Namen existiert bereits',
'fwhost err srvexist' => 'Dieser Dienst ist bereits in der Gruppe',
'fwhost err sub32' => 'Bitte Netzwerke hinzufĂźgen, keinen einzelnen Host',
-'fwhost green' => 'GrĂźn',
+'fwhost green' => 'GRĂN',
'fwhost hint' => 'Hinweis',
'fwhost hosts' => 'Firewall-Hosts',
'fwhost icmptype' => 'ICMP-Typ:',
@@ -1231,7 +1231,7 @@
'fwhost newnet' => 'Netzwerke',
'fwhost newservice' => 'Dienst',
'fwhost newservicegrp' => 'Dienstgruppen',
-'fwhost orange' => 'Orange',
+'fwhost orange' => 'ORANGE',
'fwhost ovpn_n2n' => 'OpenVPN Net-to-Net',
'fwhost port' => 'Port(s)',
'fwhost prot' => 'Protokoll',
@@ -1295,7 +1295,7 @@
'high' => 'Hoch',
'high memory usage' => 'Speicher wird knapp',
'hint' => 'Tipp',
-'holdoff' => 'Holdoff-Zeit in (Sekunden)',
+'holdoff' => 'Holdoff-Zeit (Sek.)',
'host' => 'Host',
'host allow' => 'Liste der Zugriffsberechtigten',
'host certificate' => 'Host-Zertifikat',
@@ -1318,7 +1318,7 @@
'icmp type' => 'ICMP-Typ',
'id' => 'ID',
'idle' => 'Leerlauf',
-'idle timeout' => 'Leerlauf-Wartezeit in min (0 zum Deaktivieren):',
+'idle timeout' => 'Leerlauf-Wartezeit in Min. (0 zum Deaktivieren):',
'idle timeout not set' => 'Leerlauf-Wartezeit nicht angegeben.',
'ids log viewer' => 'Ansicht IDS-Protokoll',
'ids logs' => 'IDS-Protokolldateien',
@@ -1361,9 +1361,9 @@
'interfaces' => 'Interfaces',
'internet' => 'INTERNET',
'intrusion detection' => 'Einbruchdetektierung',
-'intrusion detection system' => 'Intrusion Detection System',
+'intrusion detection system' => 'Einbruchsdetektierung',
'intrusion detection system log viewer' => 'Betrachter der IDS-Protokolldateien',
-'intrusion detection system rules' => 'Intrusion Detection System Regeln',
+'intrusion detection system rules' => 'Regeln fĂźr die Einbruchsdetektierung',
'intrusion detection system2' => 'Intrusion Detection System:',
'invalid broadcast ip' => 'UngĂźltige Broadcast-IP',
'invalid cache size' => 'UngĂźltige Cache-GrĂśĂe.',
@@ -1446,7 +1446,7 @@
'ipfires hostname' => 'IPFire\'s Hostname',
'ipinfo' => 'IP-Info',
'ipsec' => 'IPsec',
-'ipsec network' => 'IPsec-Netzwerke',
+'ipsec network' => 'IPsec-Netzwerk',
'ipsec no connections' => 'Keine aktiven IPsec-Verbindungen',
'iptable rules' => 'IPTable-Regeln',
'iptmangles' => 'IPTable Mangles',
@@ -1554,14 +1554,14 @@
'march' => 'März',
'marked' => 'Markiert',
'masquerade blue' => 'NAT auf BLAU',
-'masquerade green' => 'NAT auf GREEN',
+'masquerade green' => 'NAT auf GRĂN',
'masquerade orange' => 'NAT auf ORANGE',
'masquerading' => 'Masquerading/NAT',
'masquerading disabled' => 'NAT ausgeschaltet',
'masquerading enabled' => 'NAT eingeschaltet',
'max bandwith' => 'Maximale Bandbreite',
'max incoming size' => 'Max. eingehende GrĂśĂe (kB):',
-'max lease time' => 'Max. Haltezeit in min.:',
+'max lease time' => 'Max. Haltezeit (Min.):',
'max outgoing size' => 'Max. abgehende GrĂśĂe (kB):',
'max reliability' => 'Maximale Zuverlässigkeit',
'max renewal time' => 'Maximale Aktualisierungszeit',
@@ -1662,7 +1662,7 @@
'net address' => 'Netzadresse',
'net config' => 'Netzwerk-Konfiguration',
'net config type' => 'Netzwerk-Konfigurations-Typ',
-'net config type help' => 'GREEN ist das lokale Netzwerk, RED ist das Internet, BLUE ist WLAN, ORANGE ist die DMZ.',
+'net config type help' => 'GRĂN ist das lokale Netzwerk, ROT das Internet, BLAU das WLAN, ORANGE die DMZ.',
'net to net vpn' => 'Netz-zu-Netz Virtual Private Network',
'net traffic newversion' => 'Es ist eine neue Net-Traffic Version verfĂźgbar:',
'net-traffic configuration' => 'Net-Traffic Konfiguration',
@@ -1922,7 +1922,7 @@
'prefered master' => 'Prefered Master',
'present' => 'Vorhanden',
'prev' => 'Vorheriger',
-'primary dns' => 'Primärer DNS:',
+'primary dns' => 'Primärer DNS-Server:',
'primary ntp server' => 'Primärer NTP-Server',
'primary wins server address' => 'Primäre WINS-Server Adresse',
'printcap name' => 'Printercap Name',
@@ -2016,7 +2016,7 @@
'resetglobals' => 'Globale Einstellungen zurĂźcksetzen',
'resetpolicy' => 'Richtlinie zurĂźcksetzen',
'resetshares' => 'Shares zurĂźcksetzen?',
-'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections' => 'Das LĂśschen des X509 wird die Root-CA, die Host-Zertifikate und alle zertifikatsbasierten Verbindungen entfernen.',
+'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections' => 'Das LĂśschen des X509 wird die Root-CA, die Host-Zertifikate und alle zertifikatsbasierten Verbindungen entfernen',
'restart' => 'Neustart',
'restart ovpn server' => 'OpenVPN-Server neu starten',
'restore' => 'Wiederherstellen',
@@ -2048,10 +2048,10 @@
'save-adv-options' => 'Erweiterte Optionen speichern',
'script name' => 'Skriptname:',
'search' => 'Suchen',
-'secondary dns' => 'Sekundärer DNS:',
+'secondary dns' => 'Sekundärer DNS-Server:',
'secondary ntp server' => 'Sekundärer NTP-Server',
'secondary wins server address' => 'Sekundäre WINS-Server Adresse',
-'seconds' => 'sek.',
+'seconds' => 'Sek.',
'section' => 'Abschnitt',
'secure shell server' => 'Secure Shell Server',
'security' => 'Sicherheit',
@@ -2681,12 +2681,12 @@
'volup5' => 'Laustärke um 5 erhÜhen',
'vpi number' => 'VPI-Nummer:',
'vpn' => 'VPN',
-'vpn aggrmode' => 'IKE Aggressive Mode zugelassen. Wenn mĂśglich, vermeiden (preshared SchlĂźssel wird im Klartext Ăźbertragen)!',
+'vpn aggrmode' => 'IKE Aggressive Mode zugelassen. MĂśglichst vermeiden (preshared SchlĂźssel wird im Klartext Ăźbertragen)!',
'vpn altname syntax' => 'Der Subjekt Alternativ Name ist eine durch Komma getrennte Liste von Email, DNS, URI, RID und IP Objekten. Email: eine Email Adresse. Syntax Email: \'copy\' benutzt die Email Adresse aus dem Zertifikatfeld. DNS: ein gĂźltiger Domain Name. URI: eine gĂźltige URI. RID: Registriertes Objekt Identifikation. IP: eine IP Adresse. Bitte beachten: der Zeichensatz ist eingeschränkt und die GroĂ-/Kleinschreibung ist entscheidend. Beispiel: email:info@ipfire.org,email:copy,DNS:www.ipfire.org,IP:127.0.0.1,URI:http://url/nach/irgendwo',
'vpn auth-dn' => 'Peer wird identifiziert durch entweder ein IPV4_ADDR, FQDN, USER_FQDN oder DER_ASN1_DN string in Remote ID Feld',
-'vpn broken' => 'Gebrochen',
+'vpn broken' => 'gebrochen',
'vpn connecting' => 'VERBINDUNGSAUFBAU',
-'vpn delayed start' => 'VerzĂśgerung, bevor VPN gestartet wird (in Sekunden)',
+'vpn delayed start' => 'VerzĂśgerung, bevor VPN gestartet wird (Sek.)',
'vpn delayed start help' => 'Falls notwendig, kann diese VerzÜgerung dazu verwendet werden, um Dynamic-DNS-Updates ordnungsgemäà anzuwenden. 60 ist ein gängiger Wert, wenn ROT (RED) eine dynamische IP Adresse ist.',
'vpn inactivity timeout' => 'Inaktivitätstimeout',
'vpn incompatible use of defaultroute' => 'Hostname=%defaultroute nicht zulässig',
@@ -2709,7 +2709,7 @@
'vpn statistic rw' => 'OpenVPN-Roadwarrior-Statistik',
'vpn subjectaltname' => 'Subjekt Alternativer Name',
'vpn watch' => 'Netz-zu-Netz VPN neu starten, wenn sich Remote-IP ändert (DynDNS).',
-'vpn weak' => 'Schwach',
+'vpn weak' => 'schwach',
'waiting to synchronize clock' => 'Bitte warten, die Uhr wird synchronisiert',
'warn when traffic reaches' => 'Warnen wenn Traffic x % erreicht',
'warning messages' => 'Warnhinweise',
@@ -2726,8 +2726,8 @@
'weekly firewallhits' => 'wĂśchentliche Firewalltreffer',
'weeks' => 'Wochen',
'wildcards' => 'Wildcards',
-'wins server' => 'Wins-Server',
-'wins support' => 'Wins-Support',
+'wins server' => 'WINS-Server',
+'wins support' => 'WINS-Support',
'wireless' => 'Wireless',
'wireless config added' => 'Wireless-Konfiguration hinzugefĂźgt',
'wireless config changed' => 'Wireless-Konfiguration geändert',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 3940d7b7c..a22c4b566 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -8,6 +8,7 @@
'Add Rule' => 'Add rule',
'Add a route' => 'Add a route',
'Async logging enabled' => 'Enable asynchronous writing of the syslog file',
+'Captive' => 'Captive Portal',
'Captive 1day' => '1 day',
'Captive 1month' => '1 month',
'Captive 1week' => '1 week',
@@ -42,7 +43,6 @@
'Captive logo uploaded' => 'Logo uploaded',
'Captive logo_set' => 'Current Logo',
'Captive mac' => 'MAC Address',
-'Captive menu' => 'Captive Portal',
'Captive noexpiretime' => 'No valid connection time range given',
'Captive nolimit' => 'unlimited',
'Captive nr' => 'Number',
diff --git a/lfs/bind b/lfs/bind
index 2ad1ebd64..951e6117d 100644
--- a/lfs/bind
+++ b/lfs/bind
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -25,7 +25,7 @@
include Config
-VER = 9.11.2
+VER = 9.11.2-P1
THISAPP = bind-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = efca7e5a63a07efba264da9be2fbb57f
+$(DL_FILE)_MD5 = 8877d7bf09abc0d186717e560c29ccfb
install : $(TARGET)
diff --git a/lfs/ca-certificates b/lfs/ca-certificates
index ae50219b0..008e588cc 100644
--- a/lfs/ca-certificates
+++ b/lfs/ca-certificates
@@ -24,7 +24,7 @@
include Config
-VER = 20171112
+VER = 20180117
THISAPP = ca-certificates
DIR_APP = $(DIR_SRC)/$(THISAPP)
diff --git a/lfs/cacti b/lfs/cacti
deleted file mode 100644
index d0e967d22..000000000
--- a/lfs/cacti
+++ /dev/null
@@ -1,114 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2011 IPFire Team #
-# #
-# 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 . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 0.8.8b
-
-THISAPP = cacti-$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = cacti
-PAK_VER = 6
-
-DEPS = "netsnmpd mysql"
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = acb40deae073ca22e5c01a8e3ba389fb
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
- @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
- cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-legal.patch
- cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8a-replace_treeview_by_jquery.jstree.patch
- cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-html-injection.patch
- cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-remote-command-execution.patch
- cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-rra-comments.patch
- cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sanitize-variables.patch
- cd $(DIR_APP) && patch -p2 -i $(DIR_SRC)/src/patches/cacti/cacti-0.8.8b-sql-injection-shell-escaping.patch
- cp -vf \
- $(DIR_SRC)/config/cacti/d.gif \
- $(DIR_SRC)/config/cacti/d.png \
- $(DIR_SRC)/config/cacti/throbber.gif \
- $(DIR_APP)/include/js/jquery/themes/default/
- cd $(DIR_APP) && rm -rf include/treeview
-
- @rm -rf /var/cacti /usr/share/cacti
- mkdir -pv /var/cacti /usr/share/cacti
-
- cd $(DIR_APP) && mv -vf * /usr/share/cacti
- cp -vf $(DIR_SRC)/config/cacti/cacti.conf /etc/httpd/conf/vhosts.d/
- install -v -m 755 $(DIR_SRC)/config/cacti/cacti.cron /etc/fcron.cyclic/cacti.cron
- install -v -m 644 $(DIR_SRC)/config/backup/includes/cacti \
- /var/ipfire/backup/addons/includes/cacti
-
- mv -vf /usr/share/cacti/log /var/cacti
- mv -vf /usr/share/cacti/rra /var/cacti
- ln -s /var/cacti/log /usr/share/cacti/log
- ln -s /var/cacti/rra /usr/share/cacti/rra
-
- -mkdir -pv /etc/logrotate.d
- install -v -m 644 $(DIR_SRC)/config/cacti/cacti.logrotate /etc/logrotate.d/cacti
-
- chown -R nobody:nobody /var/cacti/rra /var/cacti/log
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/lfs/clamav b/lfs/clamav
index e91eb97c8..89254a188 100644
--- a/lfs/clamav
+++ b/lfs/clamav
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2016 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 0.99.2
+VER = 0.99.3
THISAPP = clamav-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = clamav
-PAK_VER = 34
+PAK_VER = 35
DEPS = ""
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 61b51a04619aeafd965892a53f86d192
+$(DL_FILE)_MD5 = 5272f127312e987b3e10c155cf1d84df
install : $(TARGET)
@@ -82,7 +82,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/clamav/llvm-glibc.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/clamav-0.99.2-gcc-6.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/clamav/clamav-0.99.3-gcc-6.patch
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--disable-zlib-vcheck \
diff --git a/lfs/dmidecode b/lfs/dmidecode
index a2dcc2357..8f8a2491c 100644
--- a/lfs/dmidecode
+++ b/lfs/dmidecode
@@ -24,7 +24,7 @@
include Config
-VER = 3.0
+VER = 3.1
THISAPP = dmidecode-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = be7501ad0f844e875976b96106afaa3c
+$(DL_FILE)_MD5 = 7798f68a02b82358c44af913da3b6b42
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
@@ -70,10 +70,6 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0001-Add-no-sysfs-option-description-to-h-output.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0002-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0003-Let-read_file-return-the-actual-data-size.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0004-dmidecode-Use-read_file-to-read-the-DMI-table-from-s.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0005-nothing-should-go-into-usr-local.patch
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install
diff --git a/lfs/fireinfo b/lfs/fireinfo
index 67d4cba45..dec588705 100644
--- a/lfs/fireinfo
+++ b/lfs/fireinfo
@@ -24,7 +24,7 @@
include Config
-VER = 2.1.11
+VER = 2.1.12
THISAPP = fireinfo-v$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 093799207ab7397cc7f2d5eb45868c69
+$(DL_FILE)_MD5 = 40ada8f4eceeb69661d09e43308e5a6a
install : $(TARGET)
@@ -70,11 +70,6 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0001-Add-an-other-forbidden-string-Serial.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0002-Escape-any-non-printable-ascii-characters.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0003-Skip-search-for-hypervisor-name-when-the-CPU-string-.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0004-Filter-all-IDs-that-only-consist-of-0xff.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0005-Fix-crash-if-there-is-id-has-already-been-reset-to-N.patch
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
cd $(DIR_APP) && ./configure --prefix=/usr
diff --git a/lfs/glib b/lfs/glib
index 1b43287ac..b0ed6ceb2 100644
--- a/lfs/glib
+++ b/lfs/glib
@@ -24,7 +24,7 @@
include Config
-VER = 2.32.3
+VER = 2.54.3
THISAPP = glib-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 9bd3ac535c24b6c162be13b2c43c5adc
+$(DL_FILE)_MD5 = 16e886ad677bf07b7d48eb8188bcf759
install : $(TARGET)
diff --git a/lfs/gzip b/lfs/gzip
index 233c6ce40..2318338cf 100644
--- a/lfs/gzip
+++ b/lfs/gzip
@@ -24,7 +24,7 @@
include Config
-VER = 1.8
+VER = 1.9
THISAPP = gzip-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -49,7 +49,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f7caabb65cddc1a4165b398009bd05b9
+$(DL_FILE)_MD5 = 9492c6ccb2239ff679a5475a7bb543ed
install : $(TARGET)
diff --git a/lfs/hdparm b/lfs/hdparm
index c26131eaa..68620bd6e 100644
--- a/lfs/hdparm
+++ b/lfs/hdparm
@@ -24,7 +24,7 @@
include Config
-VER = 9.52
+VER = 9.53
THISAPP = hdparm-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 410539d0bf3cc247181594581edbfb53
+$(DL_FILE)_MD5 = 1e54b52e0c8cb79389d4d47eacba411d
install : $(TARGET)
diff --git a/lfs/icinga b/lfs/icinga
index 5d8d5a16f..43fc22b24 100644
--- a/lfs/icinga
+++ b/lfs/icinga
@@ -25,7 +25,6 @@
include Config
VER = 1.11.4
-PLUGIN_VER = 2.0.2
THISAPP = icinga-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -33,24 +32,19 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = icinga
-PAK_VER = 2
+PAK_VER = 3
-DEPS = ""
-
-CFLAGS += -fno-strict-aliasing
+DEPS = "nagios-plugins"
###############################################################################
# Top-level Rules
###############################################################################
-objects = $(DL_FILE) nagios-plugins-$(PLUGIN_VER).tar.gz
+objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-nagios-plugins-$(PLUGIN_VER).tar.gz = \
- $(DL_FROM)/nagios-plugins-$(PLUGIN_VER).tar.gz
$(DL_FILE)_MD5 = cfe64b91ec84f5431e53959e31ff07b5
-nagios-plugins-$(PLUGIN_VER).tar.gz_MD5 = 2f6d9c43adcf9f024175e48a44d099d4
install : $(TARGET)
@@ -83,10 +77,6 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- @rm -rf $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && cd $(DIR_SRC) && \
- tar axf $(DIR_DL)/nagios-plugins-$(PLUGIN_VER).tar.gz
-
- # Compile core
cd $(DIR_APP) && \
./configure \
--prefix=/usr \
@@ -96,7 +86,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--sbindir=/usr/share/icinga/cgi-bin \
--localstatedir=/var/icinga \
--libdir=/usr/lib/icinga \
- --libexecdir=/usr/lib/icinga/plugins \
+ --libexecdir=/usr/lib/nagios/plugins \
--with-lockfile=/var/run/icinga.pid \
--with-httpd-conf=/etc/httpd/conf/conf.d \
--with-icinga-user=nobody \
@@ -105,18 +95,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--enable-embedded-perl \
--disable-idoutils
cd $(DIR_APP) && make all $(MAKETUNING)
-
- # Compile plugins
- cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && \
- ./configure \
- --prefix=/usr \
- --libexecdir=/usr/lib/icinga/plugins \
- --with-nagios-user=nobody \
- --with-nagios-group=nobody \
- --without-ipv6
- cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make $(MAKETUNING)
-
- # Install core
cd $(DIR_APP) && make \
install install-init install-commandmode install-config \
install-webconf install-eventhandlers
@@ -124,9 +102,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -v -m 644 $(DIR_SRC)/config/icinga/icinga.conf \
/etc/httpd/conf/vhosts.d/icinga.conf
- # Install plugins
- cd $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER) && make install
-
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc3.d/S67icinga
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc0.d/K33icinga
ln -svf /etc/rc.d/init.d/icinga /etc/rc.d/rc6.d/K33icinga
@@ -134,5 +109,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -v -m 644 $(DIR_SRC)/config/backup/includes/icinga \
/var/ipfire/backup/addons/includes/icinga
- @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins-$(PLUGIN_VER)
+ @rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/initscripts b/lfs/initscripts
index 7d07b8ab3..9d3a52c77 100644
--- a/lfs/initscripts
+++ b/lfs/initscripts
@@ -134,9 +134,6 @@ $(TARGET) :
ln -sf ../init.d/random /etc/rc.d/rc3.d/S25random
ln -sf ../init.d/random /etc/rc.d/rc6.d/K45random
ln -sf ../../sysconfig/rc.local /etc/rc.d/rc3.d/S98rc.local
- ln -sf ../init.d/mediatomb /etc/rc.d/rc3.d/S98mediatomb
- ln -sf ../init.d/mediatomb /etc/rc.d/rc0.d/K02mediatomb
- ln -sf ../init.d/mediatomb /etc/rc.d/rc6.d/K02mediatomb
ln -sf ../init.d/client175 /etc/rc.d/rc0.d/K34client175
ln -sf ../init.d/client175 /etc/rc.d/rc3.d/S66client175
ln -sf ../init.d/client175 /etc/rc.d/rc6.d/K34client175
diff --git a/lfs/libvirt b/lfs/libvirt
index 963fdf9d2..7eed40616 100644
--- a/lfs/libvirt
+++ b/lfs/libvirt
@@ -24,7 +24,7 @@
include Config
-VER = 3.1.0
+VER = 4.0.0
THISAPP = libvirt-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = i586 x86_64
PROG = libvirt
-PAK_VER = 13
+PAK_VER = 14
DEPS = "libpciaccess libyajl ncat qemu"
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = e31aa7e0a1635e72fdc140c10a677895
+$(DL_FILE)_MD5 = ff0dbdd8ec4ac1277588dfe3b245d0e9
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
diff --git a/lfs/python3-libvirt b/lfs/lz4
similarity index 89%
rename from lfs/python3-libvirt
rename to lfs/lz4
index 6539b156a..06d192e3c 100644
--- a/lfs/python3-libvirt
+++ b/lfs/lz4
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,18 +24,14 @@
include Config
-VER = 3.1.0
+VER = 1.8.1.2
-THISAPP = libvirt-python-$(VER)
+THISAPP = lz4-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-SUP_ARCH = i586 x86_64
-PROG = python3-libvirt
-PAK_VER = 1
-
-DEPS = "libvirt python3"
+PROG = lz4
###############################################################################
# Top-level Rules
@@ -45,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 322185007e2e70f2e862fc55e9970d10
+$(DL_FILE)_MD5 = 343538e69ba752a386c669b1a28111e2
install : $(TARGET)
@@ -78,6 +74,10 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && python3 setup.py install
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lz4-1.8.1.2_mod_install_path.patch
+
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/phpSANE b/lfs/mdns-repeater
similarity index 84%
rename from lfs/phpSANE
rename to lfs/mdns-repeater
index 6a605f1fa..4b3d3a784 100644
--- a/lfs/phpSANE
+++ b/lfs/mdns-repeater
@@ -18,24 +18,25 @@
# #
###############################################################################
-
###############################################################################
# Definitions
###############################################################################
include Config
-VER = 0.3.3
+VER = 1.10
-THISAPP = phpSANE-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+THISAPP = mdns-repeater-$(VER)
+DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = phpSANE
-PAK_VER = 2
+PROG = mdns-repeater
+PAK_VER = 1
-DEPS = "sane netpbm"
+DEPS = ""
+
+CFLAGS += -DHGVERSION='\"$(VER)\"'
###############################################################################
# Top-level Rules
@@ -45,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 48fd77f85555ad41382bb1e0d1e373b9
+$(DL_FILE)_MD5 = 6dba5f891b50c2267f45a7760894fcb6
install : $(TARGET)
@@ -77,11 +78,12 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP)/phpSANE && patch -N -p1 < $(DIR_SRC)/src/patches/$(THISAPP)-fixes.patch
- cd $(DIR_APP)/phpSANE && ln -s phpsane.php index.php
- @rm -rf /srv/web/phpSANE
- cd $(DIR_APP) && mv -vf phpSANE /srv/web/
- cp -vf $(DIR_SRC)/config/phpSANE/phpSANE.conf /etc/httpd/conf/vhosts.d/
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && make $(MAKETUNING) CFLAGS="$(CFLAGS)"
+ cd $(DIR_APP) && install -v -m 755 mdns-repeater /usr/bin
+
+ # install initscripts
+ $(call INSTALL_INITSCRIPT,mdns-repeater)
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/mediatomb b/lfs/mediatomb
deleted file mode 100644
index d7ae4cf6d..000000000
--- a/lfs/mediatomb
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 IPFire Team #
-# #
-# 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 . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 0.12.1
-
-THISAPP = mediatomb-$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = mediatomb
-PAK_VER = 6
-
-DEPS = "ffmpeg libexif taglib "
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = e927dd5dc52d3cfcebd8ca1af6f0d3c2
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
- @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure --prefix=/usr
- cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
- cd $(DIR_APP) && make install
- cp -Rvd $(DIR_SRC)/config/mediatomb /var/ipfire
- chown -R nobody:nobody /var/ipfire/mediatomb
- install -v -m 644 $(DIR_SRC)/config/backup/includes/mediatomb \
- /var/ipfire/backup/addons/includes/mediatomb
- echo Folder for music files > /var/mp3/info
-
- #install initscripts
- $(call INSTALL_INITSCRIPT,mediatomb)
-
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/lfs/nagios b/lfs/nagios
deleted file mode 100644
index 5ff1499a8..000000000
--- a/lfs/nagios
+++ /dev/null
@@ -1,114 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 IPFire Team #
-# #
-# 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 . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 3.0.6
-
-THISAPP = nagios-$(VER)
-DL_FILE = $(THISAPP).tar.gz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = nagios
-PAK_VER = 3
-
-DEPS = "traceroute"
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE) \
- nagios-plugins-1.4.13.tar.gz
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-nagios-plugins-1.4.13.tar.gz = $(DL_FROM)/nagios-plugins-1.4.13.tar.gz
-
-$(DL_FILE)_MD5 = 900e3f4164f4b2a18485420eeaefe812
-nagios-plugins-1.4.13.tar.gz_MD5 = be6cc7699fff3ee29d1fd4d562377386
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
- @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins* && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && \
- ./configure --prefix=/usr \
- --sysconfdir=/etc/nagios \
- --datadir=/usr/share/nagios \
- --sbindir=/usr/share/nagios/cgi-bin \
- --localstatedir=/var/nagios \
- --libexecdir=/usr/lib/nagios \
- --with-lockfile=/var/lock/nagios.lock \
- --with-nagios-user=nobody \
- --with-nagios-group=nobody \
- --with-command-user=nobody \
- --with-command-group=nobody \
- --enable-embedded-perl \
- --with-perlcache \
- --with-httpd-conf=/etc/httpd/conf/conf.d \
- --enable-nanosleep
- cd $(DIR_APP) && make all $(MAKETUNING)
- cd $(DIR_APP) && make install install-init install-commandmode install-config install-webconf
-
- cd $(DIR_SRC) && tar xfz $(DIR_DL)/nagios-plugins-1.4.13.tar.gz
- cd $(DIR_SRC)/nagios-plugins* && ./configure --prefix=/usr \
- --libexecdir=/usr/lib/nagios \
- --with-nagios-user=nobody --with-nagios-group=nobody \
- --without-ipv6
- cd $(DIR_SRC)/nagios-plugins* && make
- cd $(DIR_SRC)/nagios-plugins* && make install
- chown -R nobody:nobody /var/nagios
- ln -s /etc/init.d/nagios /etc/rc.d/rc3.d/S67nagios
- ln -s /etc/init.d/nagios /etc/rc.d/rc0.d/K33nagios
- ln -s /etc/init.d/nagios /etc/rc.d/rc6.d/K33nagios
- @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins*
- @$(POSTBUILD)
diff --git a/lfs/nagiosql b/lfs/nagios-plugins
similarity index 81%
rename from lfs/nagiosql
rename to lfs/nagios-plugins
index 4f3182143..30eb23fbc 100644
--- a/lfs/nagiosql
+++ b/lfs/nagios-plugins
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2009 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2012 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,18 +24,17 @@
include Config
-VER = 303
+VER = 2.2.1
-THISAPP = nagiosql$(VER)
+THISAPP = nagios-plugins-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/nagiosql3
-TARGET = $(DIR_INFO)/nagiosql-$(VER)
-
-PROG = nagiosql
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+PROG = nagios-plugins
PAK_VER = 1
-DEPS = "nagios mysql"
+DEPS = ""
###############################################################################
# Top-level Rules
@@ -45,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3b15650942cf0fea3b6bbec1700ace38
+$(DL_FILE)_MD5 = fb521d5c05897f165b0b1862c1e5cb27
install : $(TARGET)
@@ -55,7 +54,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
-
dist:
@$(PAK)
@@ -79,14 +77,14 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- @rm -rf /usr/share/nagiosql
- mkdir /usr/share/nagiosql
- cd $(DIR_APP) && mv -vf * /usr/share/nagiosql
- cp -vf $(DIR_SRC)/config/nagiosql/nagios.conf /etc/httpd/conf/vhosts.d/
- cp -vrf $(DIR_SRC)/config/nagiosql/pear/HTML /usr/lib/php
- cp -vrf $(DIR_SRC)/config/nagiosql/etc /
- chown -R nobody:nobody /etc/nagiosql
- chown nobody /usr/share/nagiosql/config
+ cd $(DIR_APP) && \
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/nagios/plugins \
+ --with-nagios-user=nobody \
+ --with-nagios-group=nobody \
+ --without-ipv6
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
-
diff --git a/lfs/nagios_nrpe b/lfs/nagios_nrpe
index 050c9294f..6d16661bd 100644
--- a/lfs/nagios_nrpe
+++ b/lfs/nagios_nrpe
@@ -33,9 +33,9 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nagios_nrpe
-PAK_VER = 2
+PAK_VER = 3
-DEPS = "nagios"
+DEPS = "nagios-plugins"
###############################################################################
# Top-level Rules
diff --git a/lfs/nano b/lfs/nano
index 3935a8b09..e567d2c09 100644
--- a/lfs/nano
+++ b/lfs/nano
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 2.9.1
+VER = 2.9.2
THISAPP = nano-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nano
-PAK_VER = 17
+PAK_VER = 18
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0e2c5d7ae5378fe42b7166e7fe268736
+$(DL_FILE)_MD5 = 40ac792d28641969ce0be0a4a37df6a0
install : $(TARGET)
diff --git a/lfs/openmailadmin b/lfs/openmailadmin
deleted file mode 100644
index 1980be70c..000000000
--- a/lfs/openmailadmin
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 1.0.0
-
-THISAPP = openmailadmin-$(VER)
-DL_FILE = $(THISAPP).tbz2
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = openmailadmin
-PAK_VER = 2
-
-DEPS = "cyrus-imapd postfix mysql"
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE) \
- adodb502.tgz
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-adodb502.tgz = $(DL_FROM)/adodb502.tgz
-
-$(DL_FILE)_MD5 = c56bc9c41f9dd25da9dbf1b63a470333
-adodb502.tgz_MD5 = 850fe353400df5af006985a88620936d
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
- $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) -C /srv/web
- mv -v /srv/web/openmailadmin-* /srv/web/openmailadmin
- cp -fv $(DIR_SRC)/config/openmailadmin/config.local.inc.php \
- /srv/web/openmailadmin/inc
- cp -fv $(DIR_SRC)/config/openmailadmin/mail.dump \
- /srv/web/openmailadmin/
- tar xfz $(DIR_DL)/adodb502.tgz -C /srv/web/openmailadmin
- ln -svf adodb5 /srv/web/openmailadmin/adodb
- chown nobody.nobody /srv/web/openmailadmin/ -Rv
- @$(POSTBUILD)
diff --git a/lfs/openssh b/lfs/openssh
index 20a5dc115..3429a7542 100644
--- a/lfs/openssh
+++ b/lfs/openssh
@@ -24,7 +24,7 @@
include Config
-VER = 7.4p1
+VER = 7.6p1
THISAPP = openssh-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = b2db2a83caf66a208bb78d6d287cdaa3
+$(DL_FILE)_MD5 = 06a88699018e5fef13d4655abfed1f63
install : $(TARGET)
diff --git a/lfs/opus b/lfs/opus
index 2446edb2c..f91f7ac01 100644
--- a/lfs/opus
+++ b/lfs/opus
@@ -24,7 +24,7 @@
include Config
-VER = 1.1.2
+VER = 1.2.1
THISAPP = opus-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = opus
-PAK_VER = 1
+PAK_VER = 2
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 1f08a661bc72930187893a07f3741a91
+$(DL_FILE)_MD5 = 54bc867f13066407bc7b95be1fede090
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
diff --git a/lfs/owncloud b/lfs/owncloud
deleted file mode 100644
index c13e29678..000000000
--- a/lfs/owncloud
+++ /dev/null
@@ -1,102 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2013 IPFire Team #
-# #
-# 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 . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 7.0.11
-
-THISAPP = owncloud-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = owncloud
-PAK_VER = 7
-
-DEPS = ""
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 1f4839e43bc910a9acd8700fb9923b3a
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
- @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_SRC)/$(PROG) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-
- cd $(DIR_SRC) && cp -vrf owncloud /srv/web/
-
- # Rename files with spaces in the name.
- while read -r file; do \
- mv -v "$${file}" "$${file//\ /_}"; \
- done <<< "$$(find /srv/web/owncloud | grep ' ')"
-
- # Create data directory
- mkdir -pv /var/owncloud/data
- ln -s /var/owncloud/data /srv/web/owncloud/data
-
- # Make sure everything is owned by root, except...
- chown -R root.root /srv/web/owncloud
- chown -R nobody.nobody /srv/web/owncloud/{apps,data,config}
-
- install -v -m644 $(DIR_SRC)/config/owncloud/owncloud.conf \
- /etc/httpd/conf/vhosts.d/
- install -v -m 644 $(DIR_SRC)/config/backup/includes/owncloud \
- /var/ipfire/backup/addons/includes/owncloud
-
- @rm -rf $(DIR_SRC)/$(PROG)
- @$(POSTBUILD)
diff --git a/lfs/php b/lfs/php
deleted file mode 100644
index 8717ccac1..000000000
--- a/lfs/php
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 IPFire Team #
-# #
-# 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 . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = 5.3.27
-
-THISAPP = php-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-
-ifeq "$(BUILD_PLATFORM)" "arm"
- CFLAGS := $(patsubst -march=%,,$(CFLAGS))
-endif
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE) idn-0.1.tgz Log-1.9.11.tgz
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-idn-0.1.tgz = $(DL_FROM)/idn-0.1.tgz
-Log-1.9.11.tgz = $(DL_FROM)/Log-1.9.11.tgz
-
-$(DL_FILE)_MD5 = 25ae23a5b9615fe8d33de5b63e1bb788
-idn-0.1.tgz_MD5 = ef8635ec22348325a76abd2abddca4a1
-Log-1.9.11.tgz_MD5 = fb7c648b212f12fdb5ce1ab687793513
-
-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) $(DIR_SRC)/idn-* $(DIR_SRC)/Log-* $(DIR_SRC)/package.xml && \
- cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-
- cd $(DIR_APP) && ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --with-apxs2 \
- --enable-force-cgi-redirect \
- --enable-discard-path \
- --enable-fastcgi \
- --with-config-file-path=/etc \
- --with-openssl \
- --with-kerberos \
- --with-zlib \
- --enable-bcmath \
- --with-bz2 \
- --enable-calendar \
- --with-curl \
- --with-curlwrappers \
- --enable-dba=shared \
- --with-gdbm \
- --with-db4 \
- --with-inifile \
- --with-flatfile \
- --enable-exif \
- --enable-ftp \
- --with-openssl-dir=/usr \
- --with-gd=/usr \
- --with-jpeg-dir=/usr \
- --with-png-dir=/usr \
- --with-zlib-dir=/usr \
- --with-freetype-dir=/usr \
- --with-gettext \
- --with-gmp \
- --enable-mbstring \
- --with-mysql \
- --with-mysql-sock=/var/run/mysql \
- --with-ncurses \
- --with-pdo-mysql \
- --with-pdo-sqlite \
- --with-readline \
- --enable-sockets \
- --with-xsl \
- --with-iconv \
- --enable-zip
-
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
- cd $(DIR_APP) && install -v -m644 $(DIR_SRC)/config/php/php.ini /etc/php.ini
- -grep -v libphp5.so < /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.bak
- mv -f /etc/httpd/conf/httpd.conf.bak /etc/httpd/conf/httpd.conf
- cd $(DIR_SRC) && tar xfz $(DIR_DL)/idn-0.1.tgz
- -rm -f $(DIR_SRC)/package.xml
- cd $(DIR_SRC)/idn-* && phpize
- cd $(DIR_SRC)/idn-* && ./configure --prefix=/usr --with-idn
- cd $(DIR_SRC)/idn-* && make $(MAKETUNING) $(EXTRA_MAKE)
- cd $(DIR_SRC)/idn-* && make install
- cd $(DIR_SRC) && tar xfz $(DIR_DL)/Log-1.9.11.tgz
- -rm -f $(DIR_SRC)/package.xml
- cd $(DIR_SRC)/Log-* && cp -av Log Log.php /usr/lib/php
- @rm -rf $(DIR_APP) $(DIR_SRC)/idn-* $(DIR_SRC)/Log-* $(DIR_SRC)/package.xml
- @$(POSTBUILD)
diff --git a/lfs/python-pyparsing b/lfs/python-pyparsing
index f84253b3b..a4a8c552b 100644
--- a/lfs/python-pyparsing
+++ b/lfs/python-pyparsing
@@ -24,7 +24,7 @@
include Config
-VER = 2.0.7
+VER = 2.2.0
THISAPP = pyparsing-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = python-pyparsing
-PAK_VER = 1
+PAK_VER = 2
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 1c8bed7530642ca19197f3caa05fd28b
+$(DL_FILE)_MD5 = 0214e42d63af850256962b6744c948d9
install : $(TARGET)
diff --git a/lfs/qemu b/lfs/qemu
index 6d5f91926..4a83b86db 100644
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -24,7 +24,7 @@
include Config
-VER = 2.8.0
+VER = 2.11.0
THISAPP = qemu-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = i586 x86_64
PROG = qemu
-PAK_VER = 22
+PAK_VER = 23
DEPS = "libusbredir sdl spice"
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 17940dce063b6ce450a12e719a6c9c43
+$(DL_FILE)_MD5 = 335994a755bc655e88a87aeb36bfc0b9
install : $(TARGET)
diff --git a/lfs/sed b/lfs/sed
index 3ac39a71c..9123183e3 100644
--- a/lfs/sed
+++ b/lfs/sed
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2016 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,10 +24,10 @@
include Config
-VER = 4.2.2
+VER = 4.4
THISAPP = sed-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
@@ -53,7 +53,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 4111de4faa3b9848a0686b2f260c5056
+$(DL_FILE)_MD5 = e0c583d4c380059abd818cd540fe6938
install : $(TARGET)
@@ -82,7 +82,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make $(EXTRA_INSTALL) install
diff --git a/lfs/snort b/lfs/snort
index f66bf0127..a5d0535b0 100644
--- a/lfs/snort
+++ b/lfs/snort
@@ -24,7 +24,7 @@
include Config
-VER = 2.9.11
+VER = 2.9.11.1
THISAPP = snort-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 4f3ee0c2ad330e487273016efd0c9d64
+$(DL_FILE)_MD5 = 378e3938b2b5c8e358f942d0ffce18cc
install : $(TARGET)
diff --git a/lfs/spice b/lfs/spice
index 80e88dd56..434496849 100644
--- a/lfs/spice
+++ b/lfs/spice
@@ -24,7 +24,7 @@
include Config
-VER = 0.12.8
+VER = 0.14.0
THISAPP = spice-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = spice
-PAK_VER = 2
+PAK_VER = 3
DEPS = "opus"
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 376853d11b9921aa34a06c4dbef81874
+$(DL_FILE)_MD5 = 6622aa7dfb5cd026a4d0d7e659216d26
install : $(TARGET)
diff --git a/lfs/spice-protocol b/lfs/spice-protocol
index 84376f58e..9422def06 100644
--- a/lfs/spice-protocol
+++ b/lfs/spice-protocol
@@ -24,7 +24,7 @@
include Config
-VER = 0.12.11
+VER = 0.12.13
THISAPP = spice-protocol-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = spice-protocol
-PAK_VER = 2
+PAK_VER = 3
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 422bf0bc1eb34c8af3479a78b28e969b
+$(DL_FILE)_MD5 = 50a1d951d1fa96d1478ff0cc7f3b1442
install : $(TARGET)
diff --git a/lfs/squid b/lfs/squid
index 08583d0b9..3390f96d5 100644
--- a/lfs/squid
+++ b/lfs/squid
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# 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 #
@@ -70,7 +70,9 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid-3.5.27-fix-max-file-descriptors.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squid/SQUID-2018_1.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squid/SQUID-2018_2.patch
+ cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5.27-fix-max-file-descriptors.patch
cd $(DIR_APP) && autoreconf -vfi
cd $(DIR_APP)/libltdl && autoreconf -vfi
diff --git a/lfs/tor b/lfs/tor
index 6ca79f68a..686129451 100644
--- a/lfs/tor
+++ b/lfs/tor
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 0.3.1.7
+VER = 0.3.2.9
THISAPP = tor-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = tor
-PAK_VER = 24
+PAK_VER = 26
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ec7c9f588c9e1a42c09bcc097a1e55eb
+$(DL_FILE)_MD5 = 9aafe4d11464548346fdfb95a3eb9e83
install : $(TARGET)
diff --git a/lfs/tunctl b/lfs/tunctl
deleted file mode 100644
index 54d0928bc..000000000
--- a/lfs/tunctl
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see . #
-# #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = ipfire
-
-THISAPP = tunctl
-TARGET = $(DIR_INFO)/$(THISAPP)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-install : $(TARGET)
-
-check :
-
-download :
-
-md5 :
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_SRC)/tunctl
- cd $(DIR_SRC) && gcc $(CFLAGS) -latm $(DIR_SRC)/src/tunctl/tunctl.c -o tunctl
- cd $(DIR_SRC) && install -v -m 755 tunctl /usr/bin/tunctl
- @rm -rf $(DIR_SRC)/tunctl
- @$(POSTBUILD)
diff --git a/lfs/unbound b/lfs/unbound
index 0648fb77e..64db0761f 100644
--- a/lfs/unbound
+++ b/lfs/unbound
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 1.6.7
+VER = 1.6.8
THISAPP = unbound-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 67ed382add11134d689f5e88f8efc43e
+$(DL_FILE)_MD5 = c9d26cef224b10705229d5072142636c
install : $(TARGET)
diff --git a/lfs/wget b/lfs/wget
index 774928bdc..7a5cdbb11 100644
--- a/lfs/wget
+++ b/lfs/wget
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2017 IPFire Team #
+# Copyright (C) 2007-2018 IPFire Team #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 1.19.2
+VER = 1.19.4
THISAPP = wget-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = caabf9727fa429626316619a6369fffa
+$(DL_FILE)_MD5 = a2a2c1dc4ac5003fc25a8e60b4a9464e
install : $(TARGET)
diff --git a/make.sh b/make.sh
index 8c9303c85..0fe559ca5 100755
--- a/make.sh
+++ b/make.sh
@@ -17,7 +17,7 @@
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2007-2017 IPFire Team . #
+# Copyright (C) 2007-2018 IPFire Team . #
# #
############################################################################
#
@@ -25,8 +25,8 @@
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.19" # Version number
-CORE="117" # Core Level (Filename)
-PAKFIRE_CORE="117" # Core Level (PAKFIRE)
+CORE="118" # Core Level (Filename)
+PAKFIRE_CORE="118" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
@@ -208,7 +208,7 @@ configure_build() {
local mem_max=$(( ${HOST_MEM} / 192 ))
local processors="$(system_processors)"
- local cpu_max=$(( ${processors} * 2 ))
+ local cpu_max=$(( ${processors} + 1 ))
local parallelism
if [ ${mem_max} -lt ${cpu_max} ]; then
@@ -537,7 +537,7 @@ entershell() {
fi
echo "Entering to a shell inside LFS chroot, go out with exit"
- local PS1="ipfire build chroot ($(uname -m)) \u:\w\$ "
+ local PS1="ipfire build chroot (${BUILD_ARCH}) \u:\w\$ "
if enterchroot bash -i; then
stdumount
@@ -1178,7 +1178,6 @@ buildipfire() {
lfsmake2 cyrus-sasl
lfsmake2 openldap
lfsmake2 apache2
- lfsmake2 php
lfsmake2 web-user-interface
lfsmake2 flag-icons
lfsmake2 jquery
@@ -1282,6 +1281,7 @@ buildipfire() {
lfsmake2 wireless
lfsmake2 pakfire
lfsmake2 spandsp
+ lfsmake2 lz4
lfsmake2 lzo
lfsmake2 openvpn
lfsmake2 pammysql
@@ -1312,7 +1312,6 @@ buildipfire() {
lfsmake2 postfix
lfsmake2 fetchmail
lfsmake2 cyrus-imapd
- lfsmake2 openmailadmin
lfsmake2 clamav
lfsmake2 spamassassin
lfsmake2 amavisd
@@ -1366,11 +1365,9 @@ buildipfire() {
lfsmake2 qemu
lfsmake2 sane
lfsmake2 netpbm
- lfsmake2 phpSANE
- lfsmake2 tunctl
lfsmake2 netsnmpd
- lfsmake2 nagios
lfsmake2 nagios_nrpe
+ lfsmake2 nagios-plugins
lfsmake2 icinga
lfsmake2 ebtables
lfsmake2 directfb
@@ -1413,7 +1410,6 @@ buildipfire() {
lfsmake2 streamripper
lfsmake2 sshfs
lfsmake2 taglib
- #lfsmake2 mediatomb
lfsmake2 sslh
lfsmake2 perl-gettext
lfsmake2 perl-Sort-Naturally
@@ -1423,9 +1419,7 @@ buildipfire() {
lfsmake2 perl-DBD-mysql
lfsmake2 perl-DBD-SQLite
lfsmake2 perl-File-ReadBackwards
- lfsmake2 cacti
lfsmake2 openvmtools
- lfsmake2 nagiosql
lfsmake2 motion
lfsmake2 joe
lfsmake2 monit
@@ -1494,7 +1488,6 @@ buildipfire() {
lfsmake2 iptraf-ng
lfsmake2 iotop
lfsmake2 stunnel
- lfsmake2 owncloud
lfsmake2 bacula
lfsmake2 batctl
lfsmake2 perl-Font-TTF
@@ -1517,13 +1510,13 @@ buildipfire() {
lfsmake2 libpciaccess
lfsmake2 libyajl
lfsmake2 libvirt
- lfsmake2 python3-libvirt
lfsmake2 freeradius
lfsmake2 perl-common-sense
lfsmake2 perl-inotify2
lfsmake2 perl-Net-IP
lfsmake2 wio
lfsmake2 iftop
+ lfsmake2 mdns-repeater
}
buildinstaller() {
diff --git a/src/initscripts/packages/mdns-repeater b/src/initscripts/packages/mdns-repeater
new file mode 100644
index 000000000..49717a1a1
--- /dev/null
+++ b/src/initscripts/packages/mdns-repeater
@@ -0,0 +1,48 @@
+#!/bin/sh
+########################################################################
+# Begin $rc_base/init.d/mdns-repeater
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
+
+INTERFACES=
+
+if [ -n "${GREEN_DEV}" ]; then
+ INTERFACES="${INTERFACES} ${GREEN_DEV}"
+fi
+
+if [ -n "${BLUE_DEV}" ]; then
+ INTERFACES="${INTERFACES} ${BLUE_DEV}"
+fi
+
+case "${1}" in
+ start)
+ boot_mesg "Starting Multicast DNS Repeater..."
+ loadproc /usr/bin/mdns-repeater ${INTERFACES}
+ ;;
+
+ stop)
+ boot_mesg "Stopping Multicast DNS Repeater..."
+ killproc /usr/bin/mdns-repeater
+ ;;
+
+ restart)
+ ${0} stop
+ sleep 1
+ ${0} start
+ ;;
+
+ status)
+ statusproc /usr/bin/mdns-repeater
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+
+# End $rc_base/init.d/mdns-repeater
diff --git a/src/initscripts/packages/mediatomb b/src/initscripts/packages/mediatomb
deleted file mode 100644
index 634e0db0c..000000000
--- a/src/initscripts/packages/mediatomb
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/
-#
-# Description : mediatomb initscript
-#
-# Authors : Arne Fitzenreiter
-#
-# Version : 01.00
-#
-# Notes : for www.ipfire.org - GPLv3
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-case "$1" in
- start)
- boot_mesg "Starting mediatomb uPnP Mediaserver..."
- route add -net 239.0.0.0 netmask 255.0.0.0 green0
- loadproc /usr/bin/mediatomb -u nobody -g nobody \
- -c /var/ipfire/mediatomb/config.xml \
- -l /var/log/mediatomb.log \
- -e green0 $2 $3 $4 $5 $6 $7 -d
- evaluate_retval
- ;;
-
-
- stop)
- boot_mesg "Stopping mediatomb uPnP Mediaserver..."
- killproc /usr/bin/mediatomb
- evaluate_retval
- route del -net 239.0.0.0 netmask 255.0.0.0 green0
- ;;
-
- restart)
- ${0} stop
- sleep 1
- ${0} start
-
- ;;
- status)
- statusproc /usr/bin/mediatomb
- ;;
-
- *)
- echo "Usage: ${0} {start|stop|init|status}"
- exit 1
- ;;
-esac
-
-# End $rc_base/init.d/
diff --git a/src/misc-progs/syslogdctrl.c b/src/misc-progs/syslogdctrl.c
index c65a1f0d2..6d7dfacaa 100644
--- a/src/misc-progs/syslogdctrl.c
+++ b/src/misc-progs/syslogdctrl.c
@@ -32,14 +32,14 @@
int main(void)
{
- char buffer[STRING_SIZE], command[STRING_SIZE], hostname[STRING_SIZE];
- const char* protocol;
+ char buffer[STRING_SIZE], command[STRING_SIZE], hostname[STRING_SIZE], protocol[STRING_SIZE];
char varmessages[STRING_SIZE], asynclog[STRING_SIZE];
int config_fd,rc,fd,pid;
struct stat st;
struct keyvalue *kv = NULL;
memset(buffer, 0, STRING_SIZE);
memset(hostname, 0, STRING_SIZE);
+ memset(protocol, 0, STRING_SIZE);
memset(varmessages, 0, STRING_SIZE);
memset(asynclog, 0, STRING_SIZE);
@@ -71,7 +71,7 @@ int main(void)
if (!findkey(kv, "REMOTELOG_PROTOCOL", protocol))
{
/* fall back to UDP if no protocol was given */
- protocol = "udp";
+ strcpy(protocol, "udp");
}
if (strspn(hostname, VALID_FQDN) != strlen(hostname))
diff --git a/src/paks/cacti/install.sh b/src/paks/cacti/install.sh
deleted file mode 100644
index 8268992b9..000000000
--- a/src/paks/cacti/install.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_files
-/etc/init.d/apache restart
diff --git a/src/paks/cacti/uninstall.sh b/src/paks/cacti/uninstall.sh
deleted file mode 100644
index a7b8a5370..000000000
--- a/src/paks/cacti/uninstall.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-stop_service ${NAME}
-make_backup ${NAME}
-remove_files
diff --git a/src/paks/cacti/update.sh b/src/paks/cacti/update.sh
deleted file mode 100644
index 89c40d0d7..000000000
--- a/src/paks/cacti/update.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
diff --git a/src/paks/nagios/install.sh b/src/paks/mdns-repeater/install.sh
similarity index 87%
rename from src/paks/nagios/install.sh
rename to src/paks/mdns-repeater/install.sh
index 4abeba6b9..233f6a88e 100644
--- a/src/paks/nagios/install.sh
+++ b/src/paks/mdns-repeater/install.sh
@@ -22,8 +22,16 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
+
extract_files
restore_backup ${NAME}
-htpasswd -bmc /etc/nagios/htpasswd.users nagiosadmin nagios
-/etc/init.d/apache restart
+
+# create startlinks
+ln -sf ../init.d/mdns-repeater /etc/rc.d/rc0.d/K20mdns-repeater
+ln -sf ../init.d/mdns-repeater /etc/rc.d/rc3.d/S99mdns-repeater
+ln -sf ../init.d/mdns-repeater /etc/rc.d/rc6.d/K20mdns-repeater
+
+# Start the service.
start_service --background ${NAME}
+
+exit 0
diff --git a/src/paks/mediatomb/uninstall.sh b/src/paks/mdns-repeater/uninstall.sh
similarity index 95%
rename from src/paks/mediatomb/uninstall.sh
rename to src/paks/mdns-repeater/uninstall.sh
index a7b8a5370..91e77623c 100644
--- a/src/paks/mediatomb/uninstall.sh
+++ b/src/paks/mdns-repeater/uninstall.sh
@@ -25,3 +25,8 @@
stop_service ${NAME}
make_backup ${NAME}
remove_files
+
+# Remove all start links.
+rm -rf /etc/rc.d/rc*.d/*mdns-repeater
+
+exit 0
diff --git a/src/paks/openmailadmin/update.sh b/src/paks/mdns-repeater/update.sh
similarity index 99%
rename from src/paks/openmailadmin/update.sh
rename to src/paks/mdns-repeater/update.sh
index 89c40d0d7..c6485bf0a 100644
--- a/src/paks/openmailadmin/update.sh
+++ b/src/paks/mdns-repeater/update.sh
@@ -22,5 +22,6 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
+
./uninstall.sh
./install.sh
diff --git a/src/paks/mediatomb/install.sh b/src/paks/mediatomb/install.sh
deleted file mode 100644
index 682363b5c..000000000
--- a/src/paks/mediatomb/install.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_files
-restore_backup ${NAME}
diff --git a/src/paks/mediatomb/update.sh b/src/paks/mediatomb/update.sh
deleted file mode 100644
index 8fae80d98..000000000
--- a/src/paks/mediatomb/update.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
-/etc/init.d/mediatomb start
diff --git a/src/paks/nagios/uninstall.sh b/src/paks/nagios/uninstall.sh
deleted file mode 100644
index a7b8a5370..000000000
--- a/src/paks/nagios/uninstall.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-stop_service ${NAME}
-make_backup ${NAME}
-remove_files
diff --git a/src/paks/nagios/update.sh b/src/paks/nagios/update.sh
deleted file mode 100644
index 89c40d0d7..000000000
--- a/src/paks/nagios/update.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
diff --git a/src/paks/nagiosql/uninstall.sh b/src/paks/nagiosql/uninstall.sh
deleted file mode 100644
index a7b8a5370..000000000
--- a/src/paks/nagiosql/uninstall.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-stop_service ${NAME}
-make_backup ${NAME}
-remove_files
diff --git a/src/paks/nagiosql/update.sh b/src/paks/nagiosql/update.sh
deleted file mode 100644
index 89c40d0d7..000000000
--- a/src/paks/nagiosql/update.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
diff --git a/src/paks/openmailadmin/install.sh b/src/paks/openmailadmin/install.sh
deleted file mode 100644
index 14948f06c..000000000
--- a/src/paks/openmailadmin/install.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_files
-mysql < /srv/web/openmailadmin/mail.dump
-/etc/init.d/apache reload
diff --git a/src/paks/openmailadmin/uninstall.sh b/src/paks/openmailadmin/uninstall.sh
deleted file mode 100644
index e5b5d7fe4..000000000
--- a/src/paks/openmailadmin/uninstall.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-remove_files
diff --git a/src/paks/owncloud/install.sh b/src/paks/owncloud/install.sh
deleted file mode 100644
index e2ad07d40..000000000
--- a/src/paks/owncloud/install.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_files
-restore_backup ${NAME}
-
-# Fix permissions.
-chmod 777 /srv/web/owncloud/apps
-chmod 777 /srv/web/owncloud/config
-
-# Create data directory.
-mkdir -p /var/owncloud/data
-chown -R nobody:nobody /var/owncloud
-
-# Import web interface certificates if none exist.
-if [ ! -e "/etc/httpd/owncloud.crt" ] && [ ! -e "/etc/httpd/owncloud.key" ]; then
- cat /etc/httpd/server.crt > /etc/httpd/owncloud.crt
- cat /etc/httpd/server.key > /etc/httpd/owncloud.key
-fi
-
-/etc/init.d/apache reload
-
-exit 0
diff --git a/src/paks/owncloud/uninstall.sh b/src/paks/owncloud/uninstall.sh
deleted file mode 100644
index 9e2578fa9..000000000
--- a/src/paks/owncloud/uninstall.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-make_backup ${NAME}
-remove_files
-
-/etc/init.d/apache reload
-
-exit 0
diff --git a/src/paks/owncloud/update.sh b/src/paks/owncloud/update.sh
deleted file mode 100644
index 89c40d0d7..000000000
--- a/src/paks/owncloud/update.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/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 2 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) 2007 IPFire-Team . #
-# #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
diff --git a/src/patches/cacti/cacti-0.8.8a-legal.patch b/src/patches/cacti/cacti-0.8.8a-legal.patch
deleted file mode 100644
index af092096f..000000000
--- a/src/patches/cacti/cacti-0.8.8a-legal.patch
+++ /dev/null
@@ -1,8166 +0,0 @@
-diff -up cacti-0.8.8a/include/js/jquery/colorpicker.js.legal cacti-0.8.8a/include/js/jquery/colorpicker.js
---- cacti-0.8.8a/include/js/jquery/colorpicker.js.legal 2013-01-04 15:44:38.025416061 -0500
-+++ cacti-0.8.8a/include/js/jquery/colorpicker.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,484 @@
-+/**
-+ *
-+ * Color picker
-+ * Author: Stefan Petre www.eyecon.ro
-+ *
-+ * Dual licensed under the MIT and GPL licenses
-+ *
-+ */
-+(function ($) {
-+ var ColorPicker = function () {
-+ var
-+ ids = {},
-+ inAction,
-+ charMin = 65,
-+ visible,
-+ tpl = '
',
-+ defaults = {
-+ eventName: 'click',
-+ onShow: function () {},
-+ onBeforeShow: function(){},
-+ onHide: function () {},
-+ onChange: function () {},
-+ onSubmit: function () {},
-+ color: 'ff0000',
-+ livePreview: true,
-+ flat: false
-+ },
-+ fillRGBFields = function (hsb, cal) {
-+ var rgb = HSBToRGB(hsb);
-+ $(cal).data('colorpicker').fields
-+ .eq(1).val(rgb.r).end()
-+ .eq(2).val(rgb.g).end()
-+ .eq(3).val(rgb.b).end();
-+ },
-+ fillHSBFields = function (hsb, cal) {
-+ $(cal).data('colorpicker').fields
-+ .eq(4).val(hsb.h).end()
-+ .eq(5).val(hsb.s).end()
-+ .eq(6).val(hsb.b).end();
-+ },
-+ fillHexFields = function (hsb, cal) {
-+ $(cal).data('colorpicker').fields
-+ .eq(0).val(HSBToHex(hsb)).end();
-+ },
-+ setSelector = function (hsb, cal) {
-+ $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
-+ $(cal).data('colorpicker').selectorIndic.css({
-+ left: parseInt(150 * hsb.s/100, 10),
-+ top: parseInt(150 * (100-hsb.b)/100, 10)
-+ });
-+ },
-+ setHue = function (hsb, cal) {
-+ $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
-+ },
-+ setCurrentColor = function (hsb, cal) {
-+ $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
-+ },
-+ setNewColor = function (hsb, cal) {
-+ $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
-+ },
-+ keyDown = function (ev) {
-+ var pressedKey = ev.charCode || ev.keyCode || -1;
-+ if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
-+ return false;
-+ }
-+ var cal = $(this).parent().parent();
-+ if (cal.data('colorpicker').livePreview === true) {
-+ change.apply(this);
-+ }
-+ },
-+ change = function (ev) {
-+ var cal = $(this).parent().parent(), col;
-+ if (this.parentNode.className.indexOf('_hex') > 0) {
-+ cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
-+ } else if (this.parentNode.className.indexOf('_hsb') > 0) {
-+ cal.data('colorpicker').color = col = fixHSB({
-+ h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
-+ s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
-+ b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
-+ });
-+ } else {
-+ cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
-+ r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
-+ g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
-+ b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
-+ }));
-+ }
-+ if (ev) {
-+ fillRGBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ }
-+ setSelector(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
-+ },
-+ blur = function (ev) {
-+ var cal = $(this).parent().parent();
-+ cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-+ },
-+ focus = function () {
-+ charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
-+ $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-+ $(this).parent().addClass('colorpicker_focus');
-+ },
-+ downIncrement = function (ev) {
-+ var field = $(this).parent().find('input').focus();
-+ var current = {
-+ el: $(this).parent().addClass('colorpicker_slider'),
-+ max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
-+ y: ev.pageY,
-+ field: field,
-+ val: parseInt(field.val(), 10),
-+ preview: $(this).parent().parent().data('colorpicker').livePreview
-+ };
-+ $(document).bind('mouseup', current, upIncrement);
-+ $(document).bind('mousemove', current, moveIncrement);
-+ },
-+ moveIncrement = function (ev) {
-+ ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
-+ if (ev.data.preview) {
-+ change.apply(ev.data.field.get(0), [true]);
-+ }
-+ return false;
-+ },
-+ upIncrement = function (ev) {
-+ change.apply(ev.data.field.get(0), [true]);
-+ ev.data.el.removeClass('colorpicker_slider').find('input').focus();
-+ $(document).unbind('mouseup', upIncrement);
-+ $(document).unbind('mousemove', moveIncrement);
-+ return false;
-+ },
-+ downHue = function (ev) {
-+ var current = {
-+ cal: $(this).parent(),
-+ y: $(this).offset().top
-+ };
-+ current.preview = current.cal.data('colorpicker').livePreview;
-+ $(document).bind('mouseup', current, upHue);
-+ $(document).bind('mousemove', current, moveHue);
-+ },
-+ moveHue = function (ev) {
-+ change.apply(
-+ ev.data.cal.data('colorpicker')
-+ .fields
-+ .eq(4)
-+ .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
-+ .get(0),
-+ [ev.data.preview]
-+ );
-+ return false;
-+ },
-+ upHue = function (ev) {
-+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ $(document).unbind('mouseup', upHue);
-+ $(document).unbind('mousemove', moveHue);
-+ return false;
-+ },
-+ downSelector = function (ev) {
-+ var current = {
-+ cal: $(this).parent(),
-+ pos: $(this).offset()
-+ };
-+ current.preview = current.cal.data('colorpicker').livePreview;
-+ $(document).bind('mouseup', current, upSelector);
-+ $(document).bind('mousemove', current, moveSelector);
-+ },
-+ moveSelector = function (ev) {
-+ change.apply(
-+ ev.data.cal.data('colorpicker')
-+ .fields
-+ .eq(6)
-+ .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
-+ .end()
-+ .eq(5)
-+ .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
-+ .get(0),
-+ [ev.data.preview]
-+ );
-+ return false;
-+ },
-+ upSelector = function (ev) {
-+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ $(document).unbind('mouseup', upSelector);
-+ $(document).unbind('mousemove', moveSelector);
-+ return false;
-+ },
-+ enterSubmit = function (ev) {
-+ $(this).addClass('colorpicker_focus');
-+ },
-+ leaveSubmit = function (ev) {
-+ $(this).removeClass('colorpicker_focus');
-+ },
-+ clickSubmit = function (ev) {
-+ var cal = $(this).parent();
-+ var col = cal.data('colorpicker').color;
-+ cal.data('colorpicker').origColor = col;
-+ setCurrentColor(col, cal.get(0));
-+ cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
-+ },
-+ show = function (ev) {
-+ var cal = $('#' + $(this).data('colorpickerId'));
-+ cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
-+ var pos = $(this).offset();
-+ var viewPort = getViewport();
-+ var top = pos.top + this.offsetHeight;
-+ var left = pos.left;
-+ if (top + 176 > viewPort.t + viewPort.h) {
-+ top -= this.offsetHeight + 176;
-+ }
-+ if (left + 356 > viewPort.l + viewPort.w) {
-+ left -= 356;
-+ }
-+ cal.css({left: left + 'px', top: top + 'px'});
-+ if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
-+ cal.show();
-+ }
-+ $(document).bind('mousedown', {cal: cal}, hide);
-+ return false;
-+ },
-+ hide = function (ev) {
-+ if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
-+ if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
-+ ev.data.cal.hide();
-+ }
-+ $(document).unbind('mousedown', hide);
-+ }
-+ },
-+ isChildOf = function(parentEl, el, container) {
-+ if (parentEl == el) {
-+ return true;
-+ }
-+ if (parentEl.contains) {
-+ return parentEl.contains(el);
-+ }
-+ if ( parentEl.compareDocumentPosition ) {
-+ return !!(parentEl.compareDocumentPosition(el) & 16);
-+ }
-+ var prEl = el.parentNode;
-+ while(prEl && prEl != container) {
-+ if (prEl == parentEl)
-+ return true;
-+ prEl = prEl.parentNode;
-+ }
-+ return false;
-+ },
-+ getViewport = function () {
-+ var m = document.compatMode == 'CSS1Compat';
-+ return {
-+ l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
-+ t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
-+ w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
-+ h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
-+ };
-+ },
-+ fixHSB = function (hsb) {
-+ return {
-+ h: Math.min(360, Math.max(0, hsb.h)),
-+ s: Math.min(100, Math.max(0, hsb.s)),
-+ b: Math.min(100, Math.max(0, hsb.b))
-+ };
-+ },
-+ fixRGB = function (rgb) {
-+ return {
-+ r: Math.min(255, Math.max(0, rgb.r)),
-+ g: Math.min(255, Math.max(0, rgb.g)),
-+ b: Math.min(255, Math.max(0, rgb.b))
-+ };
-+ },
-+ fixHex = function (hex) {
-+ var len = 6 - hex.length;
-+ if (len > 0) {
-+ var o = [];
-+ for (var i=0; i -1) ? hex.substring(1) : hex), 16);
-+ return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
-+ },
-+ HexToHSB = function (hex) {
-+ return RGBToHSB(HexToRGB(hex));
-+ },
-+ RGBToHSB = function (rgb) {
-+ var hsb = {
-+ h: 0,
-+ s: 0,
-+ b: 0
-+ };
-+ var min = Math.min(rgb.r, rgb.g, rgb.b);
-+ var max = Math.max(rgb.r, rgb.g, rgb.b);
-+ var delta = max - min;
-+ hsb.b = max;
-+ if (max != 0) {
-+
-+ }
-+ hsb.s = max != 0 ? 255 * delta / max : 0;
-+ if (hsb.s != 0) {
-+ if (rgb.r == max) {
-+ hsb.h = (rgb.g - rgb.b) / delta;
-+ } else if (rgb.g == max) {
-+ hsb.h = 2 + (rgb.b - rgb.r) / delta;
-+ } else {
-+ hsb.h = 4 + (rgb.r - rgb.g) / delta;
-+ }
-+ } else {
-+ hsb.h = -1;
-+ }
-+ hsb.h *= 60;
-+ if (hsb.h < 0) {
-+ hsb.h += 360;
-+ }
-+ hsb.s *= 100/255;
-+ hsb.b *= 100/255;
-+ return hsb;
-+ },
-+ HSBToRGB = function (hsb) {
-+ var rgb = {};
-+ var h = Math.round(hsb.h);
-+ var s = Math.round(hsb.s*255/100);
-+ var v = Math.round(hsb.b*255/100);
-+ if(s == 0) {
-+ rgb.r = rgb.g = rgb.b = v;
-+ } else {
-+ var t1 = v;
-+ var t2 = (255-s)*v/255;
-+ var t3 = (t1-t2)*(h%60)/60;
-+ if(h==360) h = 0;
-+ if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
-+ else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
-+ else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
-+ else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
-+ else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
-+ else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
-+ else {rgb.r=0; rgb.g=0; rgb.b=0}
-+ }
-+ return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
-+ },
-+ RGBToHex = function (rgb) {
-+ var hex = [
-+ rgb.r.toString(16),
-+ rgb.g.toString(16),
-+ rgb.b.toString(16)
-+ ];
-+ $.each(hex, function (nr, val) {
-+ if (val.length == 1) {
-+ hex[nr] = '0' + val;
-+ }
-+ });
-+ return hex.join('');
-+ },
-+ HSBToHex = function (hsb) {
-+ return RGBToHex(HSBToRGB(hsb));
-+ },
-+ restoreOriginal = function () {
-+ var cal = $(this).parent();
-+ var col = cal.data('colorpicker').origColor;
-+ cal.data('colorpicker').color = col;
-+ fillRGBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ setSelector(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ };
-+ return {
-+ init: function (opt) {
-+ opt = $.extend({}, defaults, opt||{});
-+ if (typeof opt.color == 'string') {
-+ opt.color = HexToHSB(opt.color);
-+ } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
-+ opt.color = RGBToHSB(opt.color);
-+ } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
-+ opt.color = fixHSB(opt.color);
-+ } else {
-+ return this;
-+ }
-+ return this.each(function () {
-+ if (!$(this).data('colorpickerId')) {
-+ var options = $.extend({}, opt);
-+ options.origColor = opt.color;
-+ var id = 'collorpicker_' + parseInt(Math.random() * 1000);
-+ $(this).data('colorpickerId', id);
-+ var cal = $(tpl).attr('id', id);
-+ if (options.flat) {
-+ cal.appendTo(this).show();
-+ } else {
-+ cal.appendTo(document.body);
-+ }
-+ options.fields = cal
-+ .find('input')
-+ .bind('keyup', keyDown)
-+ .bind('change', change)
-+ .bind('blur', blur)
-+ .bind('focus', focus);
-+ cal
-+ .find('span').bind('mousedown', downIncrement).end()
-+ .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
-+ options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
-+ options.selectorIndic = options.selector.find('div div');
-+ options.el = this;
-+ options.hue = cal.find('div.colorpicker_hue div');
-+ cal.find('div.colorpicker_hue').bind('mousedown', downHue);
-+ options.newColor = cal.find('div.colorpicker_new_color');
-+ options.currentColor = cal.find('div.colorpicker_current_color');
-+ cal.data('colorpicker', options);
-+ cal.find('div.colorpicker_submit')
-+ .bind('mouseenter', enterSubmit)
-+ .bind('mouseleave', leaveSubmit)
-+ .bind('click', clickSubmit);
-+ fillRGBFields(options.color, cal.get(0));
-+ fillHSBFields(options.color, cal.get(0));
-+ fillHexFields(options.color, cal.get(0));
-+ setHue(options.color, cal.get(0));
-+ setSelector(options.color, cal.get(0));
-+ setCurrentColor(options.color, cal.get(0));
-+ setNewColor(options.color, cal.get(0));
-+ if (options.flat) {
-+ cal.css({
-+ position: 'relative',
-+ display: 'block'
-+ });
-+ } else {
-+ $(this).bind(options.eventName, show);
-+ }
-+ }
-+ });
-+ },
-+ showPicker: function() {
-+ return this.each( function () {
-+ if ($(this).data('colorpickerId')) {
-+ show.apply(this);
-+ }
-+ });
-+ },
-+ hidePicker: function() {
-+ return this.each( function () {
-+ if ($(this).data('colorpickerId')) {
-+ $('#' + $(this).data('colorpickerId')).hide();
-+ }
-+ });
-+ },
-+ setColor: function(col) {
-+ if (typeof col == 'string') {
-+ col = HexToHSB(col);
-+ } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
-+ col = RGBToHSB(col);
-+ } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
-+ col = fixHSB(col);
-+ } else {
-+ return this;
-+ }
-+ return this.each(function(){
-+ if ($(this).data('colorpickerId')) {
-+ var cal = $('#' + $(this).data('colorpickerId'));
-+ cal.data('colorpicker').color = col;
-+ cal.data('colorpicker').origColor = col;
-+ fillRGBFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setSelector(col, cal.get(0));
-+ setCurrentColor(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ }
-+ });
-+ }
-+ };
-+ }();
-+ $.fn.extend({
-+ ColorPicker: ColorPicker.init,
-+ ColorPickerHide: ColorPicker.hidePicker,
-+ ColorPickerShow: ColorPicker.showPicker,
-+ ColorPickerSetColor: ColorPicker.setColor
-+ });
-+})(jQuery)
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal cacti-0.8.8a/include/js/jquery/jquery.cookie.js
---- cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal 2013-01-04 15:44:38.027416060 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.cookie.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,91 @@
-+/*jslint browser: true */ /*global jQuery: true */
-+
-+/**
-+ * jQuery Cookie plugin
-+ *
-+ * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
-+ * Dual licensed under the MIT and GPL licenses:
-+ * http://www.opensource.org/licenses/mit-license.php
-+ * http://www.gnu.org/licenses/gpl.html
-+ *
-+ */
-+
-+// TODO JsDoc
-+
-+/**
-+ * Create a cookie with the given key and value and other optional parameters.
-+ *
-+ * @example $.cookie('the_cookie', 'the_value');
-+ * @desc Set the value of a cookie.
-+ * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
-+ * @desc Create a cookie with all available options.
-+ * @example $.cookie('the_cookie', 'the_value');
-+ * @desc Create a session cookie.
-+ * @example $.cookie('the_cookie', null);
-+ * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
-+ * used when the cookie was set.
-+ *
-+ * @param String key The key of the cookie.
-+ * @param String value The value of the cookie.
-+ * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
-+ * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
-+ * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
-+ * If set to null or omitted, the cookie will be a session cookie and will not be retained
-+ * when the the browser exits.
-+ * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
-+ * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
-+ * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
-+ * require a secure protocol (like HTTPS).
-+ * @type undefined
-+ *
-+ * @name $.cookie
-+ * @cat Plugins/Cookie
-+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
-+ */
-+
-+/**
-+ * Get the value of a cookie with the given key.
-+ *
-+ * @example $.cookie('the_cookie');
-+ * @desc Get the value of a cookie.
-+ *
-+ * @param String key The key of the cookie.
-+ * @return The value of the cookie.
-+ * @type String
-+ *
-+ * @name $.cookie
-+ * @cat Plugins/Cookie
-+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
-+ */
-+jQuery.cookie = function (key, value, options) {
-+
-+ // key and at least value given, set cookie...
-+ if (arguments.length > 1 && String(value) !== "[object Object]") {
-+ options = jQuery.extend({}, options);
-+
-+ if (value === null || value === undefined) {
-+ options.expires = -1;
-+ }
-+
-+ if (typeof options.expires === 'number') {
-+ var days = options.expires, t = options.expires = new Date();
-+ t.setDate(t.getDate() + days);
-+ }
-+
-+ value = String(value);
-+
-+ return (document.cookie = [
-+ encodeURIComponent(key), '=',
-+ options.raw ? value : encodeURIComponent(value),
-+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
-+ options.path ? '; path=' + options.path : '',
-+ options.domain ? '; domain=' + options.domain : '',
-+ options.secure ? '; secure' : ''
-+ ].join(''));
-+ }
-+
-+ // key and possibly options given, get cookie...
-+ options = value || {};
-+ var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
-+ return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
-+};
-diff -up cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal cacti-0.8.8a/include/js/jquery/jquery.dd.js
---- cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal 2013-01-04 15:44:38.030416069 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.dd.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,11 @@
-+// MSDropDown - jquery.dd.js
-+// author: Marghoob Suleman - Search me on google
-+// Date: 12th Aug, 2009, {18 Dec, 2010 (2.36)}
-+// Version: 2.37.5 {date: 17 June, 2011}
-+// Revision: 34
-+// web: www.giftlelo.com | www.marghoobsuleman.com
-+/*
-+// msDropDown is free jQuery Plugin: you can redistribute it and/or modify
-+// it under the terms of the either the MIT License or the Gnu General Public License (GPL) Version 2
-+*/
-+;eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(5($){3 1L="";3 3m=5(p,q){3 r=p;3 s=1a;3 q=$.3n({1d:4c,2q:7,3o:23,1U:6,1M:4d,3p:\'28\',1N:15,3q:\'4e\',2I:\'\',1j:\'\'},q);1a.1V=2r 3r();3 u="";3 v={};v.2J=6;v.2s=15;v.2t=1o;3 x=15;3 y={2K:\'4f\',1O:\'4g\',1H:\'4h\',29:\'4i\',1h:\'4j\',2L:\'4k\',2M:\'4l\',4m:\'4n\',2u:\'4o\',3s:\'4p\'};3 z={28:q.3p,2N:\'2N\',2O:\'2O\',2P:\'2P\',1t:\'1t\',1k:.30,2a:\'2a\',2v:\'2v\',2w:\'2w\',11:\'11\'};3 A={3t:"2x,2Q,2R,1P,2y,2z,1u,1B,2A,1Q,4q,1W,2S",18:"1C,1v,1k,4r"};1a.1R=2r 3r();3 B=$(r).18("1b");4(1w(B)=="14"||B.1c<=0){B="4s"+$.1S.3u++;$(r).2B("1b",B)};3 C=$(r).18("1j");q.1j+=(C==14)?"":C;3 D=$(r).3v();x=($(r).18("1C")>1||$(r).18("1v")==6)?6:15;4(x){q.2q=$(r).18("1C")};3 E={};3 F=0;3 G=15;3 H;3 I={};3 J=5(a){4(1w(I[a])=="14"){I[a]=1p.4t(a)}12 I[a]};3 K=5(a){12 B+y[a]};3 L=5(a){3 b=a;3 c=$(b).18("1j");12 c};3 M=5(a){3 b=$("#"+B+" 2T:11");4(b.1c>1){1D(3 i=0;i \'};3 j=$(a).1q();3 k=$(a).4u();3 l=($(a).18("1k")==6)?"1k":"2W";E[g]={1I:h+j,2b:k,1q:j,1i:a.1i,1b:g};3 m=L(a);4(M(a.1i)==6){e+=\'\';e+=h+\'<1x 1r="\'+z.1t+\'">\'+j+\'1x>\';12 e};3 O=5(t){3 b=t.3E();4(b.1c==0)12-1;3 a="";1D(3 i 2c E){3 c=E[i].1q.3E();4(c.3F(0,b.1c)==b){a+="#"+E[i].1b+", "}};12(a=="")?-1:a};3 P=5(){3 f=D;4(f.1c==0)12"";3 g="";3 h=K("2L");3 i=K("2M");f.2X(5(c){3 d=f[c];4(d.4v=="4w"){g+="<1y 1r=\'4x\'>";g+="<1x 1j=\'3G-4y:4z;3G-1j:4A; 4B:4C;\'>"+$(d).18("4D")+"1x>";3 e=$(d).3v();e.2X(5(a){3 b=e[a];g+=N(b,c,a,"2U")});g+="1y>"}19{g+=N(d,c,"","")}});12 g};3 Q=5(){3 a=K("1O");3 b=K("1h");3 c=q.1j;1Y="";1Y+=\'<1y 1b="\'+b+\'" 1r="\'+z.2P+\'"\';4(!x){1Y+=(c!="")?\' 1j="\'+c+\'"\':\'\'}19{1Y+=(c!="")?\' 1j="2C-1m:4E 4F #4G;1s:2d;1n:2Y;\'+c+\'"\':\'\'};1Y+=\'>\';12 1Y};3 R=5(){3 a=K("1H");3 b=K("2u");3 c=K("29");3 d=K("3s");3 e="";3 f="";4(J(B).1E.1c>0){e=$("#"+B+" 2T:11").1q();f=$("#"+B+" 2T:11").18("1X")};f=(f.1c==0||f==14||q.1U==15||q.1N!=15)?"":\'<3x 3y="\'+f+\'" 3z="3A" /> \';3 g=\'<1y 1b="\'+a+\'" 1r="\'+z.2N+\'"\';g+=\'>\';g+=\'<1x 1b="\'+b+\'" 1r="\'+z.2O+\'">1x><1x 1r="\'+z.1t+\'" 1b="\'+c+\'">\'+f+\'<1x 1r="\'+z.1t+\'">\'+e+\'1x>1x>1y>\';12 g};3 S=5(){3 c=K("1h");$("#"+c+" a.2W").1J("1P");$("#"+c+" a.2W").1e("1P",5(a){a.1Z();V(1a);21();4(!x){$("#"+c).1J("1B");X(15);3 b=(q.1U==15)?$(1a).1q():$(1a).1I();1T(b);s.2e()}})};3 T=5(){3 d=15;3 e=K("1O");3 f=K("1H");3 g=K("29");3 h=K("1h");3 i=K("2u");3 j=$("#"+B).2Z();j=j+2;3 k=q.1j;4($("#"+e).1c>0){$("#"+e).2D();d=6};3 l=\'<1y 1b="\'+e+\'" 1r="\'+z.28+\'"\';l+=(k!="")?\' 1j="\'+k+\'"\':\'\';l+=\'>\';l+=R();l+=Q();l+=P();l+="1y>";l+="1y>";4(d==6){3 m=K("2K");$("#"+m).31(l)}19{$("#"+B).31(l)};4(x){3 f=K("1H");$("#"+f).2f()};$("#"+e).9("2Z",j+"1z");$("#"+h).9("2Z",(j-2)+"1z");4(D.1c>q.2q){3 n=2g($("#"+h+" a:3H").9("2h-3I"))+2g($("#"+h+" a:3H").9("2h-1m"));3 o=((q.3o)*q.2q)-n;$("#"+h).9("1d",o+"1z")}19 4(x){3 o=$("#"+B).1d();$("#"+h).9("1d",o+"1z")};4(d==15){3J();W(B)};4($("#"+B).18("1k")==6){$("#"+e).9("2E",z.1k)};Z();$("#"+f).1e("1B",5(a){32(1)});$("#"+f).1e("1Q",5(a){32(0)});S();$("#"+h+" a.1k").9("2E",z.1k);4(x){$("#"+h).1e("1B",5(c){4(!v.2s){v.2s=6;$(1p).1e("1W",5(a){3 b=a.3K;v.2t=b;4(b==39||b==40){a.1Z();a.2i();33();21()};4(b==37||b==38){a.1Z();a.2i();34();21()}})}})};$("#"+h).1e("1Q",5(a){X(15);$(1p).1J("1W");v.2s=15;v.2t=1o});$("#"+f).1e("1P",5(b){X(15);4($("#"+h+":2j").1c==1){$("#"+h).1J("1B")}19{$("#"+h).1e("1B",5(a){X(6)});s.3L()}});$("#"+f).1e("1Q",5(a){X(15)});4(q.1U&&q.1N!=15){2k()}};3 U=5(a){1D(3 i 2c E){4(E[i].1i==a){12 E[i]}};12-1};3 V=5(a){3 b=K("1h");4($("#"+b+" a."+z.11).1c==1){u=$("#"+b+" a."+z.11).1q()};4(!x){$("#"+b+" a."+z.11).1K(z.11)};3 c=$("#"+b+" a."+z.11).18("1b");4(c!=14){3 d=(v.22==14||v.22==1o)?E[c].1i:v.22};4(a&&!x){$(a).1F(z.11)};4(x){3 e=v.2t;4($("#"+B).18("1v")==6){4(e==17){v.22=E[$(a).18("1b")].1i;$(a).4H(z.11)}19 4(e==16){$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);3 f=$(a).18("1b");3 g=E[f].1i;1D(3 i=35.4I(d,g);i<=35.4J(d,g);i++){$("#"+U(i).1b).1F(z.11)}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}};3 W=5(a){3 b=a;J(b).4K=5(e){$("#"+b).1S(q)}};3 X=5(a){v.2J=a};3 Y=5(){12 v.2J};3 Z=5(){3 b=K("1O");3 c=A.3t.4L(",");1D(3 d=0;d1y>");$("#"+B).4N($("#"+a))};3 1T=5(a){3 b=K("29");$("#"+b).1I(a)};3 3a=5(w){3 a=w;3 b=K("1h");3 c=$("#"+b+" a:2j");3 d=c.1c;3 e=$("#"+b+" a:2j").1i($("#"+b+" a.11:2j"));3 f;2F(a){1f"3b":4(e0){e--;f=c[e]};1g};4(1w(f)=="14"){12 15};$("#"+b+" a."+z.11).1K(z.11);$(f).1F(z.11);3 g=f.1b;4(!x){3 h=(q.1U==15)?E[g].1q:$("#"+g).1I();1T(h);2k(E[g].1i)};4(a=="3b"){4(2g(($("#"+g).1n().1m+$("#"+g).1d()))>=2g($("#"+b).1d())){$("#"+b).2l(($("#"+b).2l())+$("#"+g).1d()+$("#"+g).1d())}}19{4(2g(($("#"+g).1n().1m+$("#"+g).1d()))<=0){$("#"+b).2l(($("#"+b).2l()-$("#"+b).1d())-$("#"+g).1d())}}};3 33=5(){3a("3b")};3 34=5(){3a("3P")};3 2k=5(i){4(q.1N!=15){3 a=K("29");3 b=(1w(i)=="14")?J(B).1l:i;3 c=J(B).1E[b].3w;4(c.1c>0){3 d=K("1h");3 e=$("#"+d+" a."+c).18("1b");3 f=$("#"+e).9("2m-4O");3 g=$("#"+e).9("2m-1n");3 h=$("#"+e).9("2h-3Q");4(f!=14){$("#"+a).2n("."+z.1t).2B(\'1j\',"2m:"+f)};4(g!=14){$("#"+a).2n("."+z.1t).9(\'2m-1n\',g)};4(h!=14){$("#"+a).2n("."+z.1t).9(\'2h-3Q\',h)};$("#"+a).2n("."+z.1t).9(\'2m-3R\',\'4P-3R\');$("#"+a).2n("."+z.1t).9(\'2h-3I\',\'4Q\')}}};3 21=5(){3 a=K("1h");3 b=$("#"+a+" a."+z.11);4(b.1c==1){3 c=$("#"+a+" a."+z.11).1q();3 d=$("#"+a+" a."+z.11).18("1b");4(d!=14){3 e=E[d].2b;J(B).1l=E[d].1i};4(q.1U&&q.1N!=15)2k()}19 4(b.1c>1){1D(3 i=0;i46){f+=4W.4X(b)};3 c=O(f);4(c!=-1){$("#"+e).9({1d:\'4Y\'});$("#"+e+" a").2f();$(c).25();3 d=2G();$("#"+e).9(d.9);$("#"+e).9({1s:\'2d\'})}19{$("#"+e+" a").25();$("#"+e).9({1d:H+\'1z\'})};1g};4(24("1W")==6){J(B).4Z()}});$(1p).1e("2S",5(a){4($("#"+B).18("45")!=14){J(B).45()}});$(1p).1e("1u",5(a){4(Y()==15){s.2e()}});3 g=2G();$("#"+e).9(g.9);4(g.3d==6){$("#"+e).9({1s:\'2d\'});$("#"+e).1F(g.2C);3e()}19{$("#"+e)[g.3Z]("3g",5(){$("#"+e).1F(g.2C);3e()})};4(e!=1L){1L=e}}};1a.2e=5(){3 b=K("1h");3 c=$("#"+K("1H")).1n().1m;3 d=2G();G=15;4(d.3d==6){$("#"+b).50({1d:0,1m:c},5(){$("#"+b).9({1d:H+\'1z\',1s:\'2o\'});3f()})}19{$("#"+b).43("3g",5(a){3f();$("#"+b).9({1M:\'0\'});$("#"+b).9({1d:H+\'1z\'})})};2k();$(1p).1J("1W");$(1p).1J("2S");$(1p).1J("1u")};1a.1l=5(i){4(1w(i)=="14"){12 s.26("1l")}19{s.1A("1l",i)}};1a.51=5(a){4(1w(a)=="14"||a==6){$("."+z.2a).52("1j")}19{$("."+z.2a).2B("1j","1d:3M;3N:3O;1n:36")}};1a.1A=5(a,b,c){4(a==14||b==14)47{48:"1A 53 54?"};s.1V[a]=b;4(c!=6){2F(a){1f"1l":3W(a,b);1g;1f"1k":s.1k(b,6);1g;1f"1v":J(B)[a]=b;x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(x){3 d=$("#"+B).1d();3 f=K("1h");$("#"+f).9("1d",d+"1z");3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'});S()};1g;1f"1C":J(B)[a]=b;4(b==0){J(B).1v=15};x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(b==0){3 g=K("1H");$("#"+g).25();3 f=K("1h");$("#"+f).9({1s:\'2o\',1n:\'36\'});3 h="";4(J(B).1l>=0){3 i=U(J(B).1l);h=i.1I;V($("#"+i.1b))};1T(h)}19{3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'})};1g;44:55{J(B)[a]=b}56(e){};1g}}};1a.26=5(a,b){4(a==14&&b==14){12 s.1V};4(a!=14&&b==14){12(s.1V[a]!=14)?s.1V[a]:1o};4(a!=14&&b!=14){12 J(B)[a]}};1a.2j=5(a){3 b=K("1O");4(a==6){$("#"+b).25()}19 4(a==15){$("#"+b).2f()}19{12 $("#"+b).9("1s")}};1a.57=5(a,b){3 c=a;3 d=c.1q;3 e=(c.2b==14||c.2b==1o)?d:c.2b;3 f=(c["1X"]==14||c["1X"]==1o)?\'\':c["1X"];3 i=(b==14||b==1o)?J(B).1E.1c:b;J(B).1E[i]=2r 58(d,e);4(f!=\'\')J(B).1E[i]["1X"]=f;3 g=U(i);4(g!=-1){3 h=N(J(B).1E[i],i,"","");$("#"+g.1b).1I(h)}19{3 h=N(J(B).1E[i],i,"","");3 j=K("1h");$("#"+j).59(h);S()}};1a.2D=5(i){J(B).2D(i);4((U(i))!=-1){$("#"+U(i).1b).2D();3X(i,\'d\')};4(J(B).1c==0){1T("")}19{3 a=U(J(B).1l).1I;1T(a)};s.1A("1l",J(B).1l)};1a.1k=5(a,b){J(B).1k=a;3 c=K("1O");4(a==6){$("#"+c).9("2E",z.1k);s.2e()}19 4(a==15){$("#"+c).9("2E",1)};4(b!=6){s.1A("1k",a)}};1a.3h=5(){12(J(B).3h==14)?1o:J(B).3h};1a.3i=5(){4(2p.1c==1){12 J(B).3i(2p[0])}19 4(2p.1c==2){12 J(B).3i(2p[0],2p[1])}19{47{48:"5a 1i 5b 5c!"}}};1a.49=5(a){12 J(B).49(a)};1a.1v=5(a){4(1w(a)=="14"){12 s.26("1v")}19{s.1A("1v",a)}};1a.1C=5(a){4(1w(a)=="14"){12 s.26("1C")}19{s.1A("1C",a)}};1a.5d=5(a,b){s.1R[a]=b};1a.5e=5(a){2H(s.1R[a])(s)};3 4a=5(){s.1A("3j",$.1S.3j);s.1A("3k",$.1S.3k)};3 4b=5(){T();3V();4a();4(q.2I!=\'\'){2H(q.2I)(s)}};4b()};$.1S={3j:2.37,3k:"5f 5g",3u:20,5h:5(a,b){12 $(a).1S(b).3c("28")}};$.3l.3n({1S:5(b){12 1a.2X(5(){3 a=2r 3m(1a,b);$(1a).3c(\'28\',a)})}});4(1w($.3l.18)==\'14\'){$.3l.18=5(w){12 $(1a).2B(w)}}})(5i);',62,329,'|||var|if|function|true|||css||||||||||||||||||||||||||||||||||||||||||||||||||||||selected|return||undefined|false|||prop|else|this|id|length|height|bind|case|break|postChildID|index|style|disabled|selectedIndex|top|position|null|document|text|class|display|ddTitleText|mouseup|multiple|typeof|span|div|px|set|mouseover|size|for|options|addClass|trigger|postTitleID|html|unbind|removeClass|bs|zIndex|useSprite|postID|click|mouseout|onActions|msDropDown|bv|showIcon|ddProp|keydown|title|sDiv|preventDefault||bA|oldIndex||bB|show|get||dd|postTitleTextID|ddOutOfVision|value|in|block|close|hide|parseInt|padding|stopPropagation|visible|bz|scrollTop|background|find|none|arguments|visibleRows|new|keyboardAction|currentKey|postArrowID|borderTop|noBorderTop|focus|dblclick|mousedown|mousemove|attr|border|remove|opacity|switch|bH|eval|onInit|insideWindow|postElementHolder|postAID|postOPTAID|ddTitle|arrow|ddChild|blur|change|keyup|option|opt|_|enabled|each|relative|width||after|bD|bx|by|Math|absolute||||bw|next|data|opp|bI|bJ|fast|form|item|version|author|fn|bt|extend|rowHeight|mainCSS|animStyle|Object|postInputhidden|actions|counter|children|className|img|src|align|absmiddle|href|javascript|void|toLowerCase|substr|font|first|bottom|bu|keyCode|open|0px|overflow|hidden|previous|left|repeat|bC|trim|backgroundPosition|bE|bF|bG|window|ani||onOpen|onClose|slideUp|default|onkeyup||throw|message|namedItem|bK|bL|120|9999|slideDown|_msddHolder|_msdd|_title|_titletext|_child|_msa|_msopta|postInputID|_msinput|_arrow|_inp|keypress|tabindex|msdrpdd|getElementById|val|nodeName|OPTGROUP|opta|weight|bold|italic|clear|both|label|1px|solid|c3c3c3|toggleClass|min|max|refresh|split|mouseenter|appendTo|image|no|2px|on|events|100|delete|floor|String|fromCharCode|auto|onkeydown|animate|debug|removeAttr|to|what|try|catch|add|Option|append|An|is|required|addMyEvent|fireEvent|Marghoob|Suleman|create|jQuery'.split('|'),0,{}))
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal cacti-0.8.8a/include/js/jquery/jquery.dropdown.js
---- cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal 2013-01-04 15:44:38.032416068 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.dropdown.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,227 @@
-+/*
-+ +-------------------------------------------------------------------------+
-+ | Copyright (C) 2004-2013 The Cacti Group |
-+ | |
-+ | This program is free software; you can redistribute it and/or |
-+ | modify it under the terms of the GNU General Public License |
-+ | as published by the Free Software Foundation; either version 2 |
-+ | of the License, 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. |
-+ +-------------------------------------------------------------------------+
-+ | Cacti: The Complete RRDTool-based Graphing Solution |
-+ +-------------------------------------------------------------------------+
-+ | This code is designed, written, and maintained by the Cacti Group. See |
-+ | about.php and/or the AUTHORS file for specific developer information. |
-+ +-------------------------------------------------------------------------+
-+ | http://www.cacti.net/ |
-+ +-------------------------------------------------------------------------+
-+*/
-+
-+(function($){
-+ $.fn.DropDownMenu = function(options) {
-+
-+ var defaults = {
-+ title: false,
-+ subtitle: false,
-+ name: 'myName',
-+ maxHeight: 300,
-+ width: 'auto',
-+ timeout: 500,
-+ auto_close: 10000,
-+ html: '
empty
',
-+ offsetX: 0,
-+ offsetY: 0,
-+ simultaneous: false,
-+ textAlign: 'left'
-+ };
-+
-+ var timerref = null;
-+ var menu = null;
-+ var menuHeight = 0;
-+ var options = $.extend(defaults, options);
-+ var contentHeight = 0;
-+
-+ /* do nothing if requested menu is still loaded */
-+ if($('#' + options.name).is(":visible")) { return; }
-+
-+ /* remove all open menus from DOM if they should not stay in front at the same time */
-+ var oldMenus = $(".cacti_dd_menu");
-+ if(options.simultaneous == false) {
-+ oldMenus.css({'overflow-y':'hidden'}).slideUp('200');
-+ oldMenus.queue(function () {
-+ oldMenus.remove();
-+ oldMenus.dequeue();
-+ });
-+ }
-+
-+ return this.each(function() {
-+ obj = $(this);
-+ newMenu = _init_menu(obj);
-+ _open_menu(newMenu);
-+ });
-+
-+ function _init_menu(initiator){
-+ /* create the main menu structure */
-+ $("
"
-+ + "
" + options.title + "
"
-+ + ""
-+ + ""
-+ + "
" + options.subtitle + "
"
-+ + ""
-+ + "
").appendTo("body");
-+
-+ /* define references to the menu and its different sections */
-+ menu = $('#' + options.name);
-+ menu_head = $('#' + options.name + '_title');
-+ menu_content = $('#' + options.name + '_content');
-+ menu_back = $('#' + options.name + '_back');
-+ menu_subhead = $('#' + options.name + '_subtitle');
-+ menu_html = $('#' + options.name + '_html');
-+
-+ /* while div container "myName_html" holds the raw data ... */
-+ menu_html.append(options.html);
-+ i=1;
-+ menu_html.find("h6:has(div)").each(function() {
-+ var subMenu = $(this);
-+ var subMenuClass = options.name + '_' + i;
-+ var subMenuTitle = subMenu.find('a:first').html();
-+ subMenu.addClass(subMenuClass);
-+ $('.'+subMenuClass).die().live("click", function(){ _switch_layer( subMenuClass); } );
-+ subMenu.children("div").hide();
-+ subMenu.find('a:first').html('' + subMenuTitle + '');
-+ i++;
-+ });
-+
-+ /* ... "myName_content" will have the visible menu data */
-+ menu_content.append(menu_html.html());
-+
-+ /* if necessary show title, subtitle ... */
-+ if(options.title !== false) { menu_head.show(); }
-+ if(options.subtitle !== false) { menu_subhead.show(); }
-+
-+ /* make content visible */
-+ menu_content.show();
-+
-+ /* reduce height to a minimum for best fit */
-+ menuHeight = (menu.outerHeight() > options.maxHeight) ? options.maxHeight : menu.outerHeight();
-+
-+ /* set the width to a fixed value */
-+ if(!isNaN(parseInt(options.width))) {
-+ menu.css({
-+ 'min-width' : options.width + 'px',
-+ 'max-width' : options.width + 'px'
-+ });
-+ menu.width(options.width);
-+ }else {
-+ // use real width plus 15 percent
-+ var width = menu.outerWidth(true)*1.15;
-+ menu.css({
-+ 'min-width' : width + 'px',
-+ 'max-width' : width + 'px'
-+ });
-+ menu.width(width);
-+ }
-+
-+ /* default position of the menu container */
-+ menu.css({
-+ // x-position in relation to the initiator
-+ 'left' : initiator.offset().left + options.offsetX + 'px',
-+ // y-position in relation to the initiator
-+ 'top' : initiator.offset().top + initiator.height() + options.offsetY + 'px'
-+ });
-+
-+ /* change the orientation from right to left if width exceeds the windows size */
-+ if((initiator.offset().left + initiator.width() + options.offsetX + menu.outerWidth(true)) > $(window).width()) {
-+ menu.css({'left' : (initiator.offset().left + initiator.width() - menu.outerWidth(true)) + 'px'});
-+ }
-+
-+ menu.css({'height':0, 'text-align':options.textAlign});
-+ menu.bind('mouseover', _cancel_timer);
-+ menu.bind('mouseout', _set_timer);
-+ return menu;
-+ }
-+
-+
-+ function _switch_layer(subMenuClass){
-+ if(subMenuClass == null) {
-+ var content = menu_html;
-+ menu_back.empty().hide();
-+ menu_content.height(contentHeight);
-+ }else {
-+ var content = menu_html.find('.' + subMenuClass + ' div:first');
-+ menu_back.show();
-+ }
-+
-+ parentClass = menu_html.find('.' + subMenuClass).parents('h6').attr('class');
-+
-+ menu_back.empty().append( menu_html.find('.' + subMenuClass + ' a:first').html() );
-+ menu_back.find('span:last').removeClass('ui-icon-triangle-1-e').addClass('ui-icon-triangle-1-s');
-+ menu_back.unbind('click').click( function() { _switch_layer( parentClass); });
-+
-+ menu_content.empty().append(content.html());
-+
-+ /* re-calculate content height */
-+ if(subMenuClass != null) {
-+ menu_head_height = menu_head.is(":visible") ? menu_head.outerHeight() : 0;
-+ menu_back_height = menu_back.is(":visible") ? menu_back.outerHeight() : 0;
-+ menu_subhead_height = menu_subhead.is(":visible") ? menu_subhead.outerHeight() : 0;
-+
-+ menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
-+ }
-+
-+ /* return false to suppress unwanted click events*/
-+ return false;
-+ }
-+
-+ function _set_timer(timer){
-+ timer = ( typeof(timer) != 'number' ) ? options.timeout : timer;
-+ timerref = window.setTimeout( _close_menu, timer);
-+ }
-+
-+ function _cancel_timer() {
-+ if(timerref) {
-+ window.clearTimeout(timerref);
-+ timerref = null;
-+ }
-+ }
-+
-+ function _close_menu(){
-+ menu = $('#' + options.name);
-+ menu.slideUp(menuHeight*3);
-+ menu.queue(function () {
-+ menu.remove();
-+ menu.dequeue();
-+ });
-+ }
-+
-+ function _open_menu(obj){
-+ //wait until oldMenu is completey closed before opening a new one
-+ var wait = setInterval(function() {
-+ if( !oldMenus.is(":animated") ) {
-+ clearInterval(wait);
-+ obj.show().animate({height: menuHeight}, menuHeight*3);
-+
-+ //setup contentHeight;
-+ menu_head_height = menu_head.is(":visible") ? menu_head.outerHeight() : 0;
-+ menu_back_height = menu_back.is(":visible") ? menu_back.outerHeight() : 0;
-+ menu_subhead_height = menu_subhead.is(":visible") ? menu_subhead.outerHeight() : 0;
-+
-+ menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
-+
-+ contentHeight = $('#' + options.name + '_content').height();
-+ $('#' + options.name + '_content').css({'overflow-y':'auto'});
-+
-+ obj.find('h6').eq(0).focus();
-+ if(options.auto_close !== false) {
-+ _set_timer(options.auto_close);
-+ }
-+ }
-+ }, 200);
-+ }
-+
-+ };
-+})(jQuery);
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.js.legal cacti-0.8.8a/include/js/jquery/jquery.js
---- cacti-0.8.8a/include/js/jquery/jquery.js.legal 2013-01-04 15:44:38.035416071 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,4 @@
-+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
-+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
" . htmlspecialchars($data_query["name"]) . "\n";
-
-- /* fetch a list of field names that are sorted by the preferred sort field */
-- $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
-+ /* fetch a list of field names that are sorted by the preferred sort field */
-+ $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
-
-- if ($data_query["id"] > 0) {
-- while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
-+ if ($data_query["id"] > 0) {
-+ $i++;
-+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t
Thanks for taking the time to download and install cacti, the complete graphing
- solution for your network. Before you can start making cool graphs, there are a few
-@@ -530,7 +531,7 @@
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.