-WARNING: untranslated string: bandwithsettings = Bandwithsettings
+WARNING: untranslated string: bandwidtherror = You cannot change the bandwidthsettings, with Qos being enabled. First disable Qos.
+WARNING: untranslated string: bandwidthsettings = bandwidthsettings
WARNING: untranslated string: basic options = Basic Options
WARNING: untranslated string: beep when ppp connects or disconnects = Beep when IPFire connects or disconnects
WARNING: untranslated string: bit = bit
@@ -517,6 +522,7 @@ WARNING: untranslated string: current fixed leases = Current fixed leases
WARNING: untranslated string: current hosts = Current hosts
WARNING: untranslated string: current playlist = Current Playlist
WARNING: untranslated string: current rules = Current rules:
+WARNING: untranslated string: daemon login script = Daemon login script
WARNING: untranslated string: dangerous = Dangerous
WARNING: untranslated string: date = Date
WARNING: untranslated string: date not in logs = No (or only partial) logs exist for the day queried
@@ -536,7 +542,6 @@ WARNING: untranslated string: default IP address = Default IP Address
WARNING: untranslated string: default lease time = Default lease time (mins):
WARNING: untranslated string: default renewal time = Default Renewal Time
WARNING: untranslated string: delete = Delete
-WARNING: untranslated string: demon login script = Demon login script
WARNING: untranslated string: desired = Desired
WARNING: untranslated string: dest ip and port = Dest. IP: Port
WARNING: untranslated string: destination = Destination
@@ -626,7 +631,6 @@ WARNING: untranslated string: dnsforward entries = Current entries
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnsforward zone = Zone
WARNING: untranslated string: dnssec aware = DNSSEC Aware
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: dod = Dial on Demand
@@ -713,7 +717,6 @@ WARNING: untranslated string: enabled on = Enabled on
WARNING: untranslated string: encapsulation = Encapsulation
WARNING: untranslated string: encryption = Encryption:
WARNING: untranslated string: end address = End address:
-WARNING: untranslated string: enter ack class = Enter the ACK- Class and then press Save.
WARNING: untranslated string: enter data = Enter your settings and then press Save.
WARNING: untranslated string: entropy = Entropy
WARNING: untranslated string: entropy graphs = Entropy Graphs
@@ -736,8 +739,8 @@ WARNING: untranslated string: extrahd to root = to root
WARNING: untranslated string: extrahd you cant mount = You can't mount
WARNING: untranslated string: fallout zombieload ridl = Fallout/ZombieLoad/RIDL
WARNING: untranslated string: false classnumber = The Class-Number does not match the interface.
-WARNING: untranslated string: false max bandwith = Maximum bandwith is false.
-WARNING: untranslated string: false min bandwith = Minimum bandwith is false.
+WARNING: untranslated string: false max bandwidth = Maximum bandwidth is false.
+WARNING: untranslated string: false min bandwidth = Minimum bandwidth is false.
WARNING: untranslated string: february = February
WARNING: untranslated string: fetch ip from = Guess the real public IP with help of an external server
WARNING: untranslated string: fifteen minutes = 15 Minutes
@@ -964,7 +967,7 @@ WARNING: untranslated string: graph = Graph
WARNING: untranslated string: graph per = per
WARNING: untranslated string: green = GREEN
WARNING: untranslated string: grouptype = Grouptype:
-WARNING: untranslated string: guaranteed bandwith = Guaranteed bandwith
+WARNING: untranslated string: guaranteed bandwidth = Guaranteed bandwidth
WARNING: untranslated string: guardian = Guardian
WARNING: untranslated string: guardian block a host = unknown string
WARNING: untranslated string: guardian block httpd brute-force = unknown string
@@ -1223,7 +1226,7 @@ WARNING: untranslated string: masquerade orange = Masquerade ORANGE
WARNING: untranslated string: masquerading = Masquerading
WARNING: untranslated string: masquerading disabled = Masquerading disabled
WARNING: untranslated string: masquerading enabled = Masquerading enabled
-WARNING: untranslated string: max bandwith = Maximum bandwith
+WARNING: untranslated string: max bandwidth = Maximum bandwidth
WARNING: untranslated string: max lease time = Max lease time (mins):
WARNING: untranslated string: max reliability = Maximum reliability
WARNING: untranslated string: max renewal time = Maximum Renewal Time
@@ -1501,8 +1504,10 @@ WARNING: untranslated string: rdns = rDNS
WARNING: untranslated string: read bytes = Bytes Read
WARNING: untranslated string: real address = Real Address
WARNING: untranslated string: reboot = Reboot
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
WARNING: untranslated string: rebooting = Rebooting
WARNING: untranslated string: rebooting ipfire = Rebooting IPFire
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: reconnect = Reconnect
WARNING: untranslated string: reconnection = Reconnection
@@ -1633,8 +1638,8 @@ WARNING: untranslated string: ssh no auth = You have not allowed any authenticat
WARNING: untranslated string: ssh passwords = Allow password based authentication
WARNING: untranslated string: ssh port = Set SSH port to default 22 (222 is used otherwise)
WARNING: untranslated string: ssh portfw = Allow TCP forwarding
-WARNING: untranslated string: ssh tempstart15 = Stop SSH demon in 15 minutes
-WARNING: untranslated string: ssh tempstart30 = Stop SSH demon in 30 minutes
+WARNING: untranslated string: ssh tempstart15 = Stop SSH Daemon in 15 minutes
+WARNING: untranslated string: ssh tempstart30 = Stop SSH Daemon in 30 minutes
WARNING: untranslated string: ssh username = Username
WARNING: untranslated string: sstraffic = Net-Traffic
WARNING: untranslated string: standard = Standard
diff --git a/doc/language_issues.es b/doc/language_issues.es
index 626eec21a..55d46c597 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -90,7 +90,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -273,6 +275,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -801,15 +804,22 @@ WARNING: untranslated string: addons = Addons
WARNING: untranslated string: administrator password = Administrator password
WARNING: untranslated string: administrator username = Administrator username
WARNING: untranslated string: advproxy AUTH method ntlm auth = Windows Active Directory
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy basic authentication = Allow HTTP Basic authentication
WARNING: untranslated string: advproxy cache-digest = Enable Cache-Digest Generation
WARNING: untranslated string: advproxy errmsg cache = The RAM cache size is greater than the harddisk cache size:
WARNING: untranslated string: advproxy errmsg invalid upstream proxy = Invalid upstream proxy IP/hostname
WARNING: untranslated string: advproxy errmsg proxy ports equal = The proxy port and the transparent port cannot be equal.
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
WARNING: untranslated string: advproxy group access control = Group based access control
WARNING: untranslated string: advproxy group required = Required group
WARNING: untranslated string: advproxy proxy port transparent = Transparent port
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -920,7 +930,6 @@ WARNING: untranslated string: dnsforward entries = Current entries
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnsforward zone = Zone
WARNING: untranslated string: dnssec aware = DNSSEC Aware
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
@@ -1344,6 +1353,8 @@ WARNING: untranslated string: ptr = PTR
WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
WARNING: untranslated string: random number generator daemon = Random Number Generator Daemon
WARNING: untranslated string: rdns = rDNS
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: red1 = RED
WARNING: untranslated string: required = Required
diff --git a/doc/language_issues.fr b/doc/language_issues.fr
index 42f8160b7..632eaa891 100644
--- a/doc/language_issues.fr
+++ b/doc/language_issues.fr
@@ -96,7 +96,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -261,6 +263,7 @@ WARNING: translation string unused: dns new 0
WARNING: translation string unused: dns new 1
WARNING: translation string unused: dns saved
WARNING: translation string unused: dns saved txt
+WARNING: translation string unused: dnssec disabled warning
WARNING: translation string unused: dnssec information
WARNING: translation string unused: do not log this port list
WARNING: translation string unused: domain master
@@ -292,6 +295,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -320,6 +324,8 @@ WARNING: translation string unused: external access rule removed
WARNING: translation string unused: extrahd
WARNING: translation string unused: extrahd unable to read
WARNING: translation string unused: extrahd unable to write
+WARNING: translation string unused: false max bandwith
+WARNING: translation string unused: false min bandwith
WARNING: translation string unused: filename
WARNING: translation string unused: firmware
WARNING: translation string unused: firmware upload
@@ -388,6 +394,7 @@ WARNING: translation string unused: generatepolicy
WARNING: translation string unused: generatereport
WARNING: translation string unused: genkey
WARNING: translation string unused: green interface
+WARNING: translation string unused: guaranteed bandwith
WARNING: translation string unused: guest ok
WARNING: translation string unused: gz with key
WARNING: translation string unused: harddisk temperature graphs
@@ -486,6 +493,7 @@ WARNING: translation string unused: manage printers
WARNING: translation string unused: manual
WARNING: translation string unused: manual control and status
WARNING: translation string unused: marked
+WARNING: translation string unused: max bandwith
WARNING: translation string unused: max incoming size
WARNING: translation string unused: max outgoing size
WARNING: translation string unused: max size
@@ -892,8 +900,11 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error
WARNING: translation string unused: zoneconf val vlan tag assignment error
WARNING: translation string unused: zoneconf val vlan tag range error
WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: false max bandwidth = Maximum bandwidth is false.
+WARNING: untranslated string: false min bandwidth = Minimum bandwidth is false.
WARNING: untranslated string: fwhost cust locationgrp = unknown string
WARNING: untranslated string: fwhost err hostip = unknown string
+WARNING: untranslated string: guaranteed bandwidth = Guaranteed bandwidth
WARNING: untranslated string: guardian block a host = unknown string
WARNING: untranslated string: guardian block httpd brute-force = unknown string
WARNING: untranslated string: guardian block ssh brute-force = unknown string
@@ -923,6 +934,7 @@ WARNING: untranslated string: guardian logtarget_file = unknown string
WARNING: untranslated string: guardian logtarget_syslog = unknown string
WARNING: untranslated string: guardian no entries = unknown string
WARNING: untranslated string: guardian service = unknown string
+WARNING: untranslated string: max bandwidth = Maximum bandwidth
WARNING: untranslated string: pakfire ago = ago.
WARNING: untranslated string: route config changed = unknown string
WARNING: untranslated string: routing config added = unknown string
diff --git a/doc/language_issues.it b/doc/language_issues.it
index 9c0b62c15..a97016dcc 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -70,7 +70,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -263,6 +265,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -895,10 +898,17 @@ WARNING: untranslated string: acpitemp = ACPI - Temperatures
WARNING: untranslated string: administrator password = Administrator password
WARNING: untranslated string: administrator username = Administrator username
WARNING: untranslated string: advproxy AUTH method ntlm auth = Windows Active Directory
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy basic authentication = Allow HTTP Basic authentication
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
WARNING: untranslated string: advproxy group access control = Group based access control
WARNING: untranslated string: advproxy group required = Required group
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -946,7 +956,6 @@ WARNING: untranslated string: dns use isp assigned nameservers = Use ISP-assigne
WARNING: untranslated string: dns use protocol for dns queries = Protocol for DNS queries
WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
WARNING: untranslated string: dnsforward forward_servers = Nameservers
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
WARNING: untranslated string: duration = Duration
WARNING: untranslated string: eight hours = 8 Hours
@@ -999,7 +1008,7 @@ WARNING: untranslated string: fwhost cust locationgrp = unknown string
WARNING: untranslated string: fwhost err hostip = unknown string
WARNING: untranslated string: fwhost newlocationgrp = Location Groups
WARNING: untranslated string: generate ptr = Generate PTR
-WARNING: untranslated string: guaranteed bandwith = Guaranteed bandwith
+WARNING: untranslated string: guaranteed bandwidth = Guaranteed bandwidth
WARNING: untranslated string: guardian = Guardian
WARNING: untranslated string: guardian block a host = unknown string
WARNING: untranslated string: guardian block httpd brute-force = unknown string
@@ -1128,6 +1137,8 @@ WARNING: untranslated string: pptp route = PPTP Route
WARNING: untranslated string: processor vulnerability mitigations = Processor Vulnerability Mitigations
WARNING: untranslated string: ptr = PTR
WARNING: untranslated string: rdns = rDNS
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: required = Required
WARNING: untranslated string: required field = Required field
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index 5db088b66..6c2715bc4 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -69,7 +69,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -191,6 +193,7 @@ WARNING: translation string unused: delete cron
WARNING: translation string unused: delete pc
WARNING: translation string unused: delete share
WARNING: translation string unused: delete user
+WARNING: translation string unused: demon login script
WARNING: translation string unused: deprecated fs warn
WARNING: translation string unused: description
WARNING: translation string unused: destination ip bad
@@ -260,6 +263,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -889,10 +893,17 @@ WARNING: untranslated string: acpitemp = ACPI - Temperatures
WARNING: untranslated string: administrator password = Administrator password
WARNING: untranslated string: administrator username = Administrator username
WARNING: untranslated string: advproxy AUTH method ntlm auth = Windows Active Directory
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy basic authentication = Allow HTTP Basic authentication
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
WARNING: untranslated string: advproxy group access control = Group based access control
WARNING: untranslated string: advproxy group required = Required group
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -912,6 +923,7 @@ WARNING: untranslated string: check all = Check all
WARNING: untranslated string: cpu frequency = CPU frequency
WARNING: untranslated string: crypto error = Cryptographic error
WARNING: untranslated string: crypto warning = Cryptographic warning
+WARNING: untranslated string: daemon login script = Daemon login script
WARNING: untranslated string: dangerous = Dangerous
WARNING: untranslated string: default = Default
WARNING: untranslated string: default IP address = Default IP Address
@@ -947,7 +959,6 @@ WARNING: untranslated string: dns use protocol for dns queries = Protocol for DN
WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnssec aware = DNSSEC Aware
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
@@ -1161,6 +1172,8 @@ WARNING: untranslated string: processor vulnerability mitigations = Processor Vu
WARNING: untranslated string: ptr = PTR
WARNING: untranslated string: random number generator daemon = Random Number Generator Daemon
WARNING: untranslated string: rdns = rDNS
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: required = Required
WARNING: untranslated string: required field = Required field
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index 95e68faaf..79d2045d3 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -69,7 +69,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -251,6 +253,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -816,15 +819,22 @@ WARNING: untranslated string: addons = Addons
WARNING: untranslated string: administrator password = Administrator password
WARNING: untranslated string: administrator username = Administrator username
WARNING: untranslated string: advproxy AUTH method ntlm auth = Windows Active Directory
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy basic authentication = Allow HTTP Basic authentication
WARNING: untranslated string: advproxy cache-digest = Enable Cache-Digest Generation
WARNING: untranslated string: advproxy errmsg cache = The RAM cache size is greater than the harddisk cache size:
WARNING: untranslated string: advproxy errmsg invalid upstream proxy = Invalid upstream proxy IP/hostname
WARNING: untranslated string: advproxy errmsg proxy ports equal = The proxy port and the transparent port cannot be equal.
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
WARNING: untranslated string: advproxy group access control = Group based access control
WARNING: untranslated string: advproxy group required = Required group
WARNING: untranslated string: advproxy proxy port transparent = Transparent port
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -935,7 +945,6 @@ WARNING: untranslated string: dnsforward entries = Current entries
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnsforward zone = Zone
WARNING: untranslated string: dnssec aware = DNSSEC Aware
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
@@ -1353,6 +1362,8 @@ WARNING: untranslated string: ptr = PTR
WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
WARNING: untranslated string: random number generator daemon = Random Number Generator Daemon
WARNING: untranslated string: rdns = rDNS
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: red1 = RED
WARNING: untranslated string: required = Required
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index cfaeed5b5..52b116c60 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -69,7 +69,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -250,6 +252,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -812,15 +815,22 @@ WARNING: untranslated string: addons = Addons
WARNING: untranslated string: administrator password = Administrator password
WARNING: untranslated string: administrator username = Administrator username
WARNING: untranslated string: advproxy AUTH method ntlm auth = Windows Active Directory
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy basic authentication = Allow HTTP Basic authentication
WARNING: untranslated string: advproxy cache-digest = Enable Cache-Digest Generation
WARNING: untranslated string: advproxy errmsg cache = The RAM cache size is greater than the harddisk cache size:
WARNING: untranslated string: advproxy errmsg invalid upstream proxy = Invalid upstream proxy IP/hostname
WARNING: untranslated string: advproxy errmsg proxy ports equal = The proxy port and the transparent port cannot be equal.
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
WARNING: untranslated string: advproxy group access control = Group based access control
WARNING: untranslated string: advproxy group required = Required group
WARNING: untranslated string: advproxy proxy port transparent = Transparent port
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -932,7 +942,6 @@ WARNING: untranslated string: dnsforward entries = Current entries
WARNING: untranslated string: dnsforward forward_servers = Nameservers
WARNING: untranslated string: dnsforward zone = Zone
WARNING: untranslated string: dnssec aware = DNSSEC Aware
-WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
WARNING: untranslated string: dnssec validating = DNSSEC Validating
WARNING: untranslated string: downlink = Downlink
@@ -1348,6 +1357,8 @@ WARNING: untranslated string: ptr = PTR
WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
WARNING: untranslated string: random number generator daemon = Random Number Generator Daemon
WARNING: untranslated string: rdns = rDNS
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: red1 = RED
WARNING: untranslated string: required = Required
diff --git a/doc/language_issues.tr b/doc/language_issues.tr
index e89ce0601..019dd7be0 100644
--- a/doc/language_issues.tr
+++ b/doc/language_issues.tr
@@ -92,7 +92,9 @@ WARNING: translation string unused: advproxy errmsg password incorrect
WARNING: translation string unused: advproxy invalid num of children
WARNING: translation string unused: advproxy no clients defined
WARNING: translation string unused: advproxy redirector children
+WARNING: translation string unused: advproxy squid version
WARNING: translation string unused: advproxy ssadvanced proxy
+WARNING: translation string unused: advproxy suppress version
WARNING: translation string unused: advproxy throttle binary
WARNING: translation string unused: advproxy throttle dskimg
WARNING: translation string unused: advproxy throttle mmedia
@@ -258,6 +260,7 @@ WARNING: translation string unused: dns new 1
WARNING: translation string unused: dns saved
WARNING: translation string unused: dns saved txt
WARNING: translation string unused: dnsforward forward_server
+WARNING: translation string unused: dnssec disabled warning
WARNING: translation string unused: dnssec information
WARNING: translation string unused: do not log this port list
WARNING: translation string unused: domain master
@@ -289,6 +292,7 @@ WARNING: translation string unused: enable javascript
WARNING: translation string unused: enable wildcards
WARNING: translation string unused: enabledtitle
WARNING: translation string unused: encrypted
+WARNING: translation string unused: enter ack class
WARNING: translation string unused: err bk 1
WARNING: translation string unused: err bk 10 password
WARNING: translation string unused: err bk 2 key
@@ -885,7 +889,14 @@ WARNING: untranslated string: Disabled = Disabled
WARNING: untranslated string: Scan for Songs = unknown string
WARNING: untranslated string: Weekly = Weekly
WARNING: untranslated string: acpitemp = ACPI - Temperatures
+WARNING: untranslated string: advproxy asbased anomaly detection = Anomaly detections based on Autonomous Systems information
WARNING: untranslated string: advproxy errmsg wpad invalid ip or mask = WPAD: Invalid IP or subnet for excluded IP subnet
+WARNING: untranslated string: advproxy fastflux detection = Deny access to destinations hosted on fast flux setups
+WARNING: untranslated string: advproxy fastflux detection threshold = Threshold
+WARNING: untranslated string: advproxy fastflux no threshold given = No threshold was given for fast flux detection
+WARNING: untranslated string: advproxy fastflux threshold invalid = Supplied fast flux detection threshold is invalid
+WARNING: untranslated string: advproxy fastflux threshold out of bounds = Supplied fast flux detection threshold is out of bounds
+WARNING: untranslated string: advproxy selectively announcements detection = Deny access to destinations hosted on selectively announced networks
WARNING: untranslated string: advproxy wpad example dst_noproxy_ip = e.g. 192.168.2.0/255.255.255.0
WARNING: untranslated string: advproxy wpad example dst_noproxy_url = e.g. *.ipfire.org*
WARNING: untranslated string: advproxy wpad label dst_noproxy_ip = Excluded IP Subnets (one per line)
@@ -1036,6 +1047,8 @@ WARNING: untranslated string: pakfire tree unstable = Unstable
WARNING: untranslated string: please reboot to apply your changes = Please reboot to apply your changes
WARNING: untranslated string: processor vulnerability mitigations = Processor Vulnerability Mitigations
WARNING: untranslated string: ptr = PTR
+WARNING: untranslated string: reboot fsck = Reboot & check filesystem
+WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
WARNING: untranslated string: received = Received
WARNING: untranslated string: required = Required
WARNING: untranslated string: route config changed = unknown string
diff --git a/doc/language_missings b/doc/language_missings
index fc74274bd..e0755b024 100644
--- a/doc/language_missings
+++ b/doc/language_missings
@@ -79,6 +79,7 @@
< administrator password
< administrator username
< adsl settings
+< advproxy asbased anomaly detection
< advproxy AUTH method ntlm
< advproxy AUTH method ntlm auth
< advproxy basic authentication
@@ -87,9 +88,15 @@
< advproxy errmsg invalid upstream proxy
< advproxy errmsg proxy ports equal
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
< advproxy group access control
< advproxy group required
< advproxy proxy port transparent
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -691,6 +698,8 @@
< qos enter bandwidths
< random number generator daemon
< rdns
+< reboot fsck
+< rebooting ipfire fsck
< received
< red1
< required
@@ -928,8 +937,12 @@
< ansi t1.483
< bewan adsl pci st
< bewan adsl usb
+< false max bandwidth
+< false min bandwidth
< g.dtm
< g.lite
+< guaranteed bandwidth
+< max bandwidth
< upload fcdsl.o
############################################################################
# Checking cgi-bin translations for language: it #
@@ -939,11 +952,18 @@
< administrator password
< administrator username
< adsl settings
+< advproxy asbased anomaly detection
< advproxy AUTH method ntlm auth
< advproxy basic authentication
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
< advproxy group access control
< advproxy group required
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -1104,7 +1124,7 @@
< fwhost cust locationlocation
< fwhost newlocationgrp
< generate ptr
-< guaranteed bandwith
+< guaranteed bandwidth
< guardian
< hardware vulnerabilities
< ids apply
@@ -1209,6 +1229,8 @@
< processor vulnerability mitigations
< ptr
< rdns
+< reboot fsck
+< rebooting ipfire fsck
< received
< required
< required field
@@ -1334,12 +1356,19 @@
< administrator password
< administrator username
< adsl settings
+< advproxy asbased anomaly detection
< advproxy AUTH method ntlm
< advproxy AUTH method ntlm auth
< advproxy basic authentication
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
< advproxy group access control
< advproxy group required
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -1413,6 +1442,7 @@
< crypto error
< cryptographic settings
< crypto warning
+< daemon login script
< Daily
< dangerous
< default
@@ -1650,6 +1680,8 @@
< ptr
< random number generator daemon
< rdns
+< reboot fsck
+< rebooting ipfire fsck
< received
< required
< required field
@@ -1784,6 +1816,7 @@
< administrator password
< administrator username
< adsl settings
+< advproxy asbased anomaly detection
< advproxy AUTH method ntlm
< advproxy AUTH method ntlm auth
< advproxy basic authentication
@@ -1792,9 +1825,15 @@
< advproxy errmsg invalid upstream proxy
< advproxy errmsg proxy ports equal
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
< advproxy group access control
< advproxy group required
< advproxy proxy port transparent
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -2437,6 +2476,8 @@
< qos enter bandwidths
< random number generator daemon
< rdns
+< reboot fsck
+< rebooting ipfire fsck
< received
< red1
< required
@@ -2676,6 +2717,7 @@
< administrator password
< administrator username
< adsl settings
+< advproxy asbased anomaly detection
< advproxy AUTH method ntlm
< advproxy AUTH method ntlm auth
< advproxy basic authentication
@@ -2684,9 +2726,15 @@
< advproxy errmsg invalid upstream proxy
< advproxy errmsg proxy ports equal
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
< advproxy group access control
< advproxy group required
< advproxy proxy port transparent
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -3333,6 +3381,8 @@
< qos enter bandwidths
< random number generator daemon
< rdns
+< reboot fsck
+< rebooting ipfire fsck
< received
< red1
< required
@@ -3568,7 +3618,14 @@
# Checking cgi-bin translations for language: tr #
############################################################################
< acpitemp
+< advproxy asbased anomaly detection
< advproxy errmsg wpad invalid ip or mask
+< advproxy fastflux detection
+< advproxy fastflux detection threshold
+< advproxy fastflux no threshold given
+< advproxy fastflux threshold invalid
+< advproxy fastflux threshold out of bounds
+< advproxy selectively announcements detection
< advproxy wpad example dst_noproxy_ip
< advproxy wpad example dst_noproxy_url
< advproxy wpad label dst_noproxy_ip
@@ -3692,6 +3749,8 @@
< please reboot to apply your changes
< processor vulnerability mitigations
< ptr
+< reboot fsck
+< rebooting ipfire fsck
< received
< required
< runmode
diff --git a/html/cgi-bin/credits.cgi b/html/cgi-bin/credits.cgi
index 80b18891f..8caabce5e 100644
--- a/html/cgi-bin/credits.cgi
+++ b/html/cgi-bin/credits.cgi
@@ -75,12 +75,12 @@ Dirk Wagner,
Marcel Lorenz,
Alf Høgemark,
Ben Schweikert,
+Leo-Andres Hofmann,
Daniel Weismüller,
Peter Pfeiffer,
Daniel Glanzmann,
Heiner Schmeling,
Stephan Feddersen,
-Leo-Andres Hofmann,
Timo Eissler,
Stéphane Pautrel,
Jan Lentfer,
diff --git a/html/cgi-bin/entropy.cgi b/html/cgi-bin/entropy.cgi
index f8045db5a..0a27d2329 100644
--- a/html/cgi-bin/entropy.cgi
+++ b/html/cgi-bin/entropy.cgi
@@ -30,64 +30,53 @@ require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
require "${General::swroot}/graphs.pl";
-my @querry = split(/\?/,$ENV{'QUERY_STRING'});
-$querry[0] = '' unless defined $querry[0];
-$querry[1] = 'hour' unless defined $querry[1];
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'entropy'}, 1, '');
+&Header::openbigbox('100%', 'left');
-if ( $querry[0] ne~ "") {
- print "Content-type: image/png\n\n";
- binmode(STDOUT);
- &Graphs::updateentropygraph($querry[1]);
+&Header::openbox('100%', 'center', $Lang::tr{'entropy'});
+&Graphs::makegraphbox("entropy.cgi", "entropy", "day");
+&Header::closebox();
-} else {
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'entropy'}, 1, '');
- &Header::openbigbox('100%', 'left');
-
- &Header::openbox('100%', 'center', $Lang::tr{'entropy'});
- &Graphs::makegraphbox("entropy.cgi", "entropy", "day");
- &Header::closebox();
-
- # Check for hardware support.
- my $message;
- my $message_colour = $Header::colourred;
- if (&has_rdrand()) {
- $message = $Lang::tr{'system has rdrand'};
- $message_colour = $Header::colourgreen;
- }
-
- my $rngd_status = "
+
+EOF
+&Header::closebox();
+
+&Header::closebigbox();
+&Header::closepage();
+
sub has_rdrand() {
open(FILE, "/proc/cpuinfo") or return 0;
my @cpuinfo = ;
diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi
index 70dee8d3c..8e17cef57 100644
--- a/html/cgi-bin/firewall.cgi
+++ b/html/cgi-bin/firewall.cgi
@@ -213,6 +213,7 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
&General::readhasharray("$configfwdfw", \%configfwdfw);
&General::readhasharray("$configinput", \%configinputfw);
&General::readhasharray("$configoutgoing", \%configoutgoingfw);
+ &General::readhash("/var/ipfire/ethernet/settings", \%netsettings);
my $maxkey;
#Set Variables according to the JQuery code in protocol section
if ($fwdfwsettings{'PROT'} eq 'TCP' || $fwdfwsettings{'PROT'} eq 'UDP')
@@ -231,6 +232,38 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
{
$fwdfwsettings{'USESRV'} = 'ON';
}
+
+ # Check if a manual target IP is one of the IPFire's addresses.
+ if ($fwdfwsettings{'grp2'} eq 'tgt_addr') {
+ # Grab all available network zones.
+ my @network_zones = &Network::get_available_network_zones();
+
+ # Loop through the array of network zones.
+ foreach my $zone (@network_zones) {
+ # Skip red network zone.
+ next if $zone eq "red";
+
+ # Convert current zone name into upper case.
+ $zone = uc($zone);
+
+ # Generate key to access the required data from the netsettings hash.
+ my $key = $zone . "_ADDRESS";
+
+ # Obtain the configured address for the current zone from the netsettings hash.
+ my $zone_address = $netsettings{$key};
+
+ # Check if the given address and the current processed zone address are the same.
+ if ($fwdfwsettings{$fwdfwsettings{'grp2'}} eq $zone_address) {
+ # Map the type and target.
+ $fwdfwsettings{'grp2'} = 'ipfire';
+ $fwdfwsettings{$fwdfwsettings{'grp2'}} = $zone;
+
+ # End loop.
+ last;
+ }
+ }
+ }
+
$errormessage=&checksource;
if(!$errormessage){&checktarget;}
if(!$errormessage){&checkrule;}
@@ -247,7 +280,7 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule')
$errormessage=$Lang::tr{'fwdfw err same'};
}
# INPUT part
- if ($fwdfwsettings{'grp2'} eq 'ipfire' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE'){
+ if ($fwdfwsettings{'grp2'} eq 'ipfire') {
$fwdfwsettings{'config'}=$configinput;
$fwdfwsettings{'chain'} = 'INPUTFW';
$maxkey=&General::findhasharraykey(\%configinputfw);
@@ -536,6 +569,24 @@ sub checktarget
#check DNAT settings (has to be single Host and single Port or portrange)
if ($fwdfwsettings{'USE_NAT'} eq 'ON' && $fwdfwsettings{'nat'} eq 'dnat'){
if($fwdfwsettings{'grp2'} eq 'tgt_addr' || $fwdfwsettings{'grp2'} eq 'cust_host_tgt' || $fwdfwsettings{'grp2'} eq 'ovpn_host_tgt'){
+ # Check if a manual entered IP is a single Host (if set)
+ if ($fwdfwsettings{'grp2'} eq 'tgt_addr') {
+ # Split input into address and prefix (if provided).
+ my ($address, $subnet) = split ('/', $fwdfwsettings{$fwdfwsettings{'grp2'}});
+
+ # Check if a subnet is given.
+ if ($subnet) {
+ # Check if the prefix or subnetmask is for a single host.
+ unless ($subnet eq "32" || $subnet eq "255.255.255.255") {
+ # Set error message.
+ $errormessage=$Lang::tr{'fwdfw dnat error'}." ";
+
+ # Return the error.
+ return $errormessage;
+ }
+ }
+ }
+
#check if Port is a single Port or portrange
if ($fwdfwsettings{'nat'} eq 'dnat' && $fwdfwsettings{'grp3'} eq 'TGT_PORT'){
if(($fwdfwsettings{'PROT'} ne 'TCP'|| $fwdfwsettings{'PROT'} ne 'UDP') && $fwdfwsettings{'TGT_PORT'} eq ''){
@@ -1005,6 +1056,10 @@ sub gen_dd_block
my $grp=shift;
my $helper='';
my $show='';
+
+ my %checked = ();
+ my %selected = ();
+
$checked{'grp1'}{$fwdfwsettings{'grp1'}} = 'CHECKED';
$checked{'grp2'}{$fwdfwsettings{'grp2'}} = 'CHECKED';
$checked{'grp3'}{$fwdfwsettings{'grp3'}} = 'CHECKED';
@@ -1022,8 +1077,6 @@ sub gen_dd_block
$checked{'TIME_SUN'}{$fwdfwsettings{'TIME_SUN'}} = 'CHECKED';
$selected{'TIME_FROM'}{$fwdfwsettings{'TIME_FROM'}} = 'selected';
$selected{'TIME_TO'}{$fwdfwsettings{'TIME_TO'}} = 'selected';
- $selected{'ipfire'}{$fwdfwsettings{$fwdfwsettings{'grp1'}}} ='selected';
- $selected{'ipfire'}{$fwdfwsettings{$fwdfwsettings{'grp2'}}} ='selected';
print<
@@ -1034,7 +1087,12 @@ END
{
next if($defaultNetworks{$network}{'NAME'} eq "IPFire");
print "
END
;
- }else{
- my ($device,$size,$used,$free,$percent,$mount) = split;
- print <
-
";
- my $size=0;
- my $used=0;
- my $free=0;
- my $percent=0;
- my $shared=0;
- my $buffers=0;
- my $cached=0;
- my $available=0;
+&Header::openbox('100%', 'center', $Lang::tr{'memory'});
+print "
";
+my $size=0;
+my $used=0;
+my $free=0;
+my $percent=0;
+my $shared=0;
+my $buffers=0;
+my $cached=0;
+my $available=0;
- # output format: kibibytes, wide mode (buffers and cache in two columns)
- open(my $cmd_fh, "-|", '/usr/bin/free -k -w') or die $!;
- while(<$cmd_fh>){
- if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cache\s+available$/ ){
- print <){
+ if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cache\s+available$/ ){
+ print <
-
TOS
@@ -1248,7 +1219,7 @@ sub validminbwdth {
}
unless ( ( $qossettings{'MINBWDTH'} >= 1 ) && ( $qossettings{'MINBWDTH'} <= $qossettings{'SPD'} ) ) {
$qossettings{'VALID'} = 'no';
- $message = "$Lang::tr{'false min bandwith'}";
+ $message = "$Lang::tr{'false min bandwidth'}";
}
$qossettings{'SPD'} = '';
}
@@ -1263,7 +1234,7 @@ sub validmaxbwdth {
}
unless ( ( $qossettings{'MAXBDWTH'} >= 0 ) && ($qossettings{'MAXBDWTH'} >= $qossettings{'MINBDWTH'}) &&( $qossettings{'MAXBDWTH'} <= $qossettings{'SPD'} ) ) {
$qossettings{'VALID'} = 'no';
- $message = "$Lang::tr{'false max bandwith'}";
+ $message = "$Lang::tr{'false max bandwidth'}";
}
$qossettings{'SPD'} = '';
}
diff --git a/html/cgi-bin/shutdown.cgi b/html/cgi-bin/shutdown.cgi
index e0a2c9da0..1321e158b 100644
--- a/html/cgi-bin/shutdown.cgi
+++ b/html/cgi-bin/shutdown.cgi
@@ -1,11 +1,23 @@
#!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2021 IPFire Development 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 . #
+# #
+###############################################################################
use strict;
@@ -17,6 +29,27 @@ require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
+###--- HTML HEAD ---###
+my $extraHead = <
+ table#controls {
+ width: 100%;
+ border: none;
+ table-layout: fixed;
+ }
+ #controls td {
+ text-align: center;
+ }
+ #controls button {
+ font-weight: bold;
+ padding: 0.7em;
+ min-width: 65%;
+ }
+
+END
+;
+###--- END HTML HEAD ---###
+
my %cgiparams=();
my $death = 0;
my $rebirth = 0;
@@ -26,33 +59,39 @@ my $rebirth = 0;
$cgiparams{'ACTION'} = '';
&Header::getcgihash(\%cgiparams);
-if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {
+if ($cgiparams{'ACTION'} eq "SHUTDOWN") {
$death = 1;
&General::log($Lang::tr{'shutting down ipfire'});
&General::system('/usr/local/bin/ipfirereboot', 'down');
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {
+} elsif ($cgiparams{'ACTION'} eq "REBOOT") {
$rebirth = 1;
&General::log($Lang::tr{'rebooting ipfire'});
&General::system('/usr/local/bin/ipfirereboot', 'boot');
+} elsif ($cgiparams{'ACTION'} eq "REBOOT_FSCK") {
+ $rebirth = 1;
+ &General::log($Lang::tr{'rebooting ipfire fsck'});
+ &General::system('/usr/local/bin/ipfirereboot', 'bootfs');
}
+
if ($death == 0 && $rebirth == 0) {
- &Header::openpage($Lang::tr{'shutdown control'}, 1, '');
+ &Header::openpage($Lang::tr{'shutdown control'}, 1, $extraHead);
&Header::openbigbox('100%', 'left');
+ &Header::openbox('100%', 'left');
- print "
END
;
@@ -1038,17 +1044,17 @@ my ($device,$size,$used,$free,$percent,$mount) = split(' ',$dfstr);
print <
-
[$repository]
-
$size
-
$used
-
$free
-
+
[$repository]
+
$size
+
$used
+
$free
+
END
;
&percentbar($percent);
print <
-
$percent
+
$percent
END
diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi
index d54b56577..7bb0d1b35 100644
--- a/html/cgi-bin/vpnmain.cgi
+++ b/html/cgi-bin/vpnmain.cgi
@@ -675,8 +675,7 @@ END
unlink ($filename);
goto UPLOADCA_ERROR;
} else {
- move($filename, "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem");
- if ($? ne 0) {
+ unless(move($filename, "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem")) {
$errormessage = "$Lang::tr{'certificate file move failed'}: $!";
unlink ($filename);
goto UPLOADCA_ERROR;
@@ -849,7 +848,7 @@ END
print "Content-Disposition: attachment; filename=cacert.pem\r\n\r\n";
my @cert = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ca/cacert.pem");
- print "@cert";
+ print join("", @cert);
exit(0);
}
###
@@ -861,7 +860,7 @@ END
print "Content-Disposition: attachment; filename=hostcert.pem\r\n\r\n";
my @cert = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/certs/hostcert.pem");
- print "@cert";
+ print join("", @cert);
exit(0);
}
###
@@ -947,20 +946,23 @@ END
if (!$errormessage) {
&General::log("ipsec", "Moving cacert...");
- move("/tmp/newcacert", "${General::swroot}/ca/cacert.pem");
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!" if ($? ne 0);
+ unless(move("/tmp/newcacert", "${General::swroot}/ca/cacert.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ }
}
if (!$errormessage) {
&General::log("ipsec", "Moving host cert...");
- move("/tmp/newhostcert", "${General::swroot}/certs/hostcert.pem");
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!" if ($? ne 0);
+ unless(move("/tmp/newhostcert", "${General::swroot}/certs/hostcert.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ }
}
if (!$errormessage) {
&General::log("ipsec", "Moving private key...");
- move("/tmp/newhostkey", "${General::swroot}/certs/hostkey.pem");
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!" if ($? ne 0);
+ unless(move("/tmp/newhostkey", "${General::swroot}/certs/hostkey.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ }
}
#cleanup temp files
@@ -1979,8 +1981,11 @@ END
while (grep(/Imported-$idx/, @names) ) {$idx++};
$cgiparams{'CA_NAME'}="Imported-$idx";
$cgiparams{'CERT_NAME'}=&Header::cleanhtml(getCNfromcert ('/tmp/newhostcert'));
- move("/tmp/newcacert", "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem");
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!" if ($? ne 0);
+
+ unless(move("/tmp/newcacert", "${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ }
+
if (!$errormessage) {
my $key = &General::findhasharraykey (\%cahash);
$cahash{$key}[0] = $cgiparams{'CA_NAME'};
@@ -1993,8 +1998,9 @@ END
}
if (!$errormessage) {
&General::log("ipsec", "Moving host cert...");
- move("/tmp/newhostcert", "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!" if ($? ne 0);
+ unless(move("/tmp/newhostcert", "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ }
}
#cleanup temp files
@@ -2042,9 +2048,8 @@ END
unlink ($filename);
goto VPNCONF_ERROR;
} else {
- move($filename, "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem");
- if ($? ne 0) {
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ unless (move($filename, "${General::swroot}/certs/$cgiparams{'NAME'}cert.pem")) {
+ $errormessage = "$Lang::tr{'certificate file move failed'} ($filename): $!";
unlink ($filename);
goto VPNCONF_ERROR;
}
diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
index eba5fe774..c2a5605fc 100644
--- a/html/cgi-bin/wlanap.cgi
+++ b/html/cgi-bin/wlanap.cgi
@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2014 IPFire Team #
+# Copyright (C) 2007-2021 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 #
@@ -312,8 +312,11 @@ if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);}
push(@channellist, @temp);
}
-my @countrylist_cmd = `regdbdump /usr/lib/crda/regulatory.bin 2>/dev/null`;
# get available country codes
+open(FILE, ";
+close(FILE);
+
my @temp = "00";
foreach (@countrylist_cmd){
diff --git a/html/html/themes/ipfire/include/css/style.css b/html/html/themes/ipfire/include/css/style.css
index 2c727a770..b92f476c4 100644
--- a/html/html/themes/ipfire/include/css/style.css
+++ b/html/html/themes/ipfire/include/css/style.css
@@ -359,7 +359,7 @@ div.rrdimage > ul {
}
div.rrdimage > img {
- box-sizing: border-box;
+ padding: 0;
max-width: 100%;
min-height: 290px;
}
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index 0d2228ede..80aaff9a9 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -255,6 +255,7 @@
'advproxy advanced web proxy configuration' => 'Proxy-Konfiguration',
'advproxy allowed subnets' => 'Erlaubte Subnetze (eins pro Zeile)',
'advproxy allowed web browsers' => 'Zulässige Clients für Web-Zugriffe',
+'advproxy asbased anomaly detection' => 'Anomalieerkennungen auf Basis Autonomer Systeme',
'advproxy back to main page' => 'Zurück zur Hauptseite',
'advproxy banned ip clients' => 'Gesperrte IP-Adressen (eine pro Zeile)',
'advproxy banned mac clients' => 'Gesperrte MAC-Adressen (eine pro Zeile)',
@@ -326,6 +327,11 @@
'advproxy errmsg wpad invalid ip or mask' => 'WPAD: Ungültige IP oder Subnetz für ausgenommenes IP-Subnetz',
'advproxy error design' => 'Design der Fehlermeldungen',
'advproxy error language' => 'Sprache der Fehlermeldungen',
+'advproxy fastflux detection' => 'Verbindungen zu auf Fast Flux-Setups gehosteten Zielen verweigern',
+'advproxy fastflux detection threshold' => 'Schwellwert',
+'advproxy fastflux no threshold given' => 'Kein Schwellwert für Fast Flux-Erkennung angegeben',
+'advproxy fastflux threshold invalid' => 'Eingegebener Schwellwert für Fast Flux-Erkennung ist ungültig',
+'advproxy fastflux threshold out of bounds' => 'Eingegebener Schwellwert für Fast Flux-Erkennung befindet sich außerhalb zulässiger Grenzwerte',
'advproxy friday' => 'Fr',
'advproxy from' => 'Von',
'advproxy group access control' => 'Gruppenbasierte Zugriffskontrolle',
@@ -362,6 +368,7 @@
'advproxy reset' => 'Zurücksetzen',
'advproxy saturday' => 'Sa',
'advproxy save and restart' => 'Speichern und Neustart',
+'advproxy selectively announcements detection' => 'Verbindungen zu Zielen in selektiv propagierten Netzen verweigern',
'advproxy squid version' => 'Squid Versionsnummer',
'advproxy squidclamav' => 'SquidClamav',
'advproxy ssadvanced proxy' => 'advanced proxy',
@@ -478,8 +485,8 @@
'bad return code' => 'Das Hilfsprogramm hat einen Fehlercode gemeldet',
'bad source range' => 'Der erste Wert des Quellportbereich ist größer oder gleich dem zweiten Wert.',
'bandwidth usage' => 'Bandbreitenauslastung (extern)',
-'bandwitherror' => 'Sie können die Bandbreiteneinstellungen nicht bearbeiten, wenn QoS eingeschaltet ist. Schalten Sie es erst aus.
',
-'bandwithsettings' => 'Bandbreiteneinstellungen',
+'bandwidtherror' => 'Sie können die Bandbreiteneinstellungen nicht bearbeiten, wenn QoS eingeschaltet ist. Schalten Sie es erst aus.
',
+'bandwidthsettings' => 'Bandbreiteneinstellungen',
'basic options' => 'Basisoptionen',
'beep when ppp connects or disconnects' => 'Signalton ausgeben, wenn IPFire verbindet oder trennt',
'behind a proxy' => 'Hinter einem Proxy:',
@@ -696,6 +703,7 @@
'current rules' => 'Aktuelle Regeln:',
'custom networks' => 'Benutzerdefinierte Netzwerke',
'custom services' => 'Benutzerdefinierte Dienste',
+'daemon login script' => 'Daemon-Anmeldeskript',
'daily firewallhits' => 'tägliche Firewalltreffer',
'dangerous' => 'gefährlich',
'dat without key' => 'Ein verschlüsseltes Archiv kann ohne Schlüssel nicht wiederhergestellt werden.',
@@ -735,7 +743,6 @@
'delete pc' => 'PC löschen',
'delete share' => 'Freigabe löschen',
'delete user' => 'Benutzer löschen',
-'demon login script' => 'Demon-Anmeldeskript',
'deprecated fs warn' => 'Veraltetes Dateisystem! Keine Unterstützung in neueren Kernelversionen. Sichern und Umformatieren!',
'description' => 'Beschreibung',
'dest ip and port' => 'Ziel-IP:Port',
@@ -1028,8 +1035,8 @@
'extrahd you cant mount' => 'Sie können',
'fallout zombieload ridl' => 'Fallout/ZombieLoad/RIDL',
'false classnumber' => 'Die Klassennummer passt nicht zum angegebenen Interface.',
-'false max bandwith' => 'Maximalbandbreite ist ungültig.',
-'false min bandwith' => 'Mindestbandbreite ist ungültig.',
+'false max bandwidth' => 'Maximalbandbreite ist ungültig.',
+'false min bandwidth' => 'Mindestbandbreite ist ungültig.',
'february' => 'Februar',
'fetch ip from' => 'Schätze die echte öffentliche IP-Adresse mit Hilfe eines externen Servers',
'fifteen minutes' => '15 Minuten',
@@ -1322,7 +1329,7 @@
'green' => 'GRÜN',
'green interface' => 'Grünes Interface',
'grouptype' => 'Gruppentyp:',
-'guaranteed bandwith' => 'Garantierte Bandbreite',
+'guaranteed bandwidth' => 'Garantierte Bandbreite',
'guardian' => 'Guardian',
'guest ok' => 'Gastzugang gewähren',
'gui settings' => 'Benutzeroberfläche',
@@ -1646,7 +1653,7 @@
'masquerading' => 'Masquerading/NAT',
'masquerading disabled' => 'NAT ausgeschaltet',
'masquerading enabled' => 'NAT eingeschaltet',
-'max bandwith' => 'Maximale Bandbreite',
+'max bandwidth' => 'Maximale Bandbreite',
'max incoming size' => 'Max. eingehende Größe (kB):',
'max lease time' => 'Maximale Haltezeit (in Minuten):',
'max outgoing size' => 'Max. abgehende Größe (kB):',
@@ -2085,11 +2092,13 @@
'real address' => 'Reale Addresse',
'reboot' => 'Neustart',
'reboot ask' => 'Neustart?',
+'reboot fsck' => 'Neustart & Dateisystem-Test',
'reboot question' => 'Extra Abfrage bei neustart und herunterfahren einschalten',
'reboot schedule' => 'Zeitsteuerung für IPFire Neustarts',
'reboot sure' => 'Sind Sie sicher, dass Sie neustarten wollen?',
'rebooting' => 'Starte neu ...',
'rebooting ipfire' => 'Starte IPFire neu',
+'rebooting ipfire fsck' => 'Starte IPFire neu, Dateisystem-Test erzwingen',
'received' => 'Empfangen',
'reconnect' => 'Neu Verbinden',
'reconnection' => 'Wiederverbindung',
@@ -2284,8 +2293,8 @@
'ssh passwords' => 'Passwortbasierte Authentifizierung zulassen',
'ssh port' => 'SSH-Port auf Standardport 22 setzen (andernfalls 222)',
'ssh portfw' => 'TCP-Weiterleitung zulassen',
-'ssh tempstart15' => 'SSH-Deamon in 15 Minuten beenden',
-'ssh tempstart30' => 'SSH-Deamon in 30 Minuten beenden',
+'ssh tempstart15' => 'SSH-Daemon in 15 Minuten beenden',
+'ssh tempstart30' => 'SSH-Daemon in 30 Minuten beenden',
'ssh username' => 'Benutzername',
'ssh1 disabled' => 'SSHv1 ist deaktiviert, ein Client der Version 2 wird benötigt.',
'ssh1 enabled' => 'SSHv1 ist aktiviert, Clients mit alten Versionen werden unterstützt.',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 2ba6961f3..4c05dcf76 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -252,6 +252,7 @@
'advproxy advanced web proxy configuration' => 'Advanced web proxy configuration',
'advproxy allowed subnets' => 'Allowed subnets (one per line)',
'advproxy allowed web browsers' => 'Allowed clients for web access',
+'advproxy asbased anomaly detection' => 'Anomaly detections based on Autonomous Systems information',
'advproxy back to main page' => 'Back to main page',
'advproxy banned ip clients' => 'Banned IP addresses (one per line)',
'advproxy banned mac clients' => 'Banned MAC addresses (one per line)',
@@ -323,6 +324,11 @@
'advproxy errmsg wpad invalid ip or mask' => 'WPAD: Invalid IP or subnet for excluded IP subnet',
'advproxy error design' => 'Error messages design',
'advproxy error language' => 'Error messages language',
+'advproxy fastflux detection' => 'Deny access to destinations hosted on fast flux setups',
+'advproxy fastflux detection threshold' => 'Threshold',
+'advproxy fastflux no threshold given' => 'No threshold was given for fast flux detection',
+'advproxy fastflux threshold invalid' => 'Supplied fast flux detection threshold is invalid',
+'advproxy fastflux threshold out of bounds' => 'Supplied fast flux detection threshold is out of bounds',
'advproxy friday' => 'Fri',
'advproxy from' => 'From',
'advproxy group access control' => 'Group based access control',
@@ -359,6 +365,7 @@
'advproxy reset' => 'Reset',
'advproxy saturday' => 'Sat',
'advproxy save and restart' => 'Save and Restart',
+'advproxy selectively announcements detection' => 'Deny access to destinations hosted on selectively announced networks',
'advproxy squid version' => 'Squid cache version',
'advproxy squidclamav' => 'SquidClamav',
'advproxy ssadvanced proxy' => 'advanced proxy',
@@ -492,8 +499,8 @@
'bad return code' => 'Helper program returned error code',
'bad source range' => 'The Source port range has a first value that is greater than or equal to the second value.',
'bandwidth usage' => 'bandwidth usage (external)',
-'bandwitherror' => 'You cannot change the bandwithsettings, with Qos being enabled. First disable Qos.
',
-'bandwithsettings' => 'Bandwithsettings',
+'bandwidtherror' => 'You cannot change the bandwidthsettings, with Qos being enabled. First disable Qos.
',
+'bandwidthsettings' => 'bandwidthsettings',
'basic options' => 'Basic Options',
'beep when ppp connects or disconnects' => 'Beep when IPFire connects or disconnects',
'behind a proxy' => 'Behind a proxy:',
@@ -713,6 +720,7 @@
'current rules' => 'Current rules:',
'custom networks' => 'Custom networks',
'custom services' => 'Custom services',
+'daemon login script' => 'Daemon login script',
'daily firewallhits' => 'daily firewallhits',
'dangerous' => 'Dangerous',
'dat without key' => 'An encrypted archive cannot be restored without the key.',
@@ -752,7 +760,6 @@
'delete pc' => 'Delete workstation',
'delete share' => 'Delete share',
'delete user' => 'Delete user',
-'demon login script' => 'Demon login script',
'deprecated fs warn' => 'Deprecated filesystem! Newer kernel drop the support. Backup and reformat!',
'description' => 'Description',
'desired' => 'Desired',
@@ -1055,8 +1062,8 @@
'extrahd you cant mount' => 'You can\'t mount',
'fallout zombieload ridl' => 'Fallout/ZombieLoad/RIDL',
'false classnumber' => 'The Class-Number does not match the interface.',
-'false max bandwith' => 'Maximum bandwith is false.',
-'false min bandwith' => 'Minimum bandwith is false.',
+'false max bandwidth' => 'Maximum bandwidth is false.',
+'false min bandwidth' => 'Minimum bandwidth is false.',
'february' => 'February',
'fetch ip from' => 'Guess the real public IP with help of an external server',
'fifteen minutes' => '15 Minutes',
@@ -1351,7 +1358,7 @@
'green' => 'GREEN',
'green interface' => 'Green Interface',
'grouptype' => 'Grouptype:',
-'guaranteed bandwith' => 'Guaranteed bandwith',
+'guaranteed bandwidth' => 'Guaranteed bandwidth',
'guardian' => 'Guardian',
'guest ok' => 'allow guests to access',
'gui settings' => 'GUI Settings',
@@ -1678,7 +1685,7 @@
'masquerading' => 'Masquerading',
'masquerading disabled' => 'Masquerading disabled',
'masquerading enabled' => 'Masquerading enabled',
-'max bandwith' => 'Maximum bandwith',
+'max bandwidth' => 'Maximum bandwidth',
'max incoming size' => 'Max incoming size (KB):',
'max lease time' => 'Max lease time (mins):',
'max outgoing size' => 'Max outgoing size (KB):',
@@ -2120,11 +2127,13 @@
'real address' => 'Real Address',
'reboot' => 'Reboot',
'reboot ask' => 'Reboot?',
+'reboot fsck' => 'Reboot & check filesystem',
'reboot question' => 'Extra query for restart and shutdown',
'reboot schedule' => 'Schedule IPFire reboots',
'reboot sure' => 'Are you sure that you want to reboot?',
'rebooting' => 'Rebooting',
'rebooting ipfire' => 'Rebooting IPFire',
+'rebooting ipfire fsck' => 'Rebooting IPFire, forcing filesystem check',
'received' => 'Received',
'reconnect' => 'Reconnect',
'reconnection' => 'Reconnection',
@@ -2325,8 +2334,8 @@
'ssh passwords' => 'Allow password based authentication',
'ssh port' => 'Set SSH port to default 22 (222 is used otherwise)',
'ssh portfw' => 'Allow TCP forwarding',
-'ssh tempstart15' => 'Stop SSH demon in 15 minutes',
-'ssh tempstart30' => 'Stop SSH demon in 30 minutes',
+'ssh tempstart15' => 'Stop SSH Daemon in 15 minutes',
+'ssh tempstart30' => 'Stop SSH Daemon in 30 minutes',
'ssh username' => 'Username',
'ssh1 disabled' => 'SSHv1 is disabled, a version 2 client will be required.',
'ssh1 enabled' => 'SSHv1 is enabled, old clients will be supported.',
diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl
index 1080afdea..5fadb4657 100644
--- a/langs/es/cgi-bin/es.pl
+++ b/langs/es/cgi-bin/es.pl
@@ -446,8 +446,8 @@
'bad return code' => 'El programa de ayuda regresó el código de error',
'bad source range' => 'El rango de puerto orígen tiene como primer valor un número que es igual o mayor que el valor final.',
'bandwidth usage' => 'uso de ancho de banda (externo)',
-'bandwitherror' => 'No se pueden cambiar las configuraciones de ancho de banda cuando el servicio QoS está activado. Por favor primero desactive QoS.
',
-'bandwithsettings' => 'Configuraciones de ancho de banda',
+'bandwidtherror' => 'No se pueden cambiar las configuraciones de ancho de banda cuando el servicio QoS está activado. Por favor primero desactive QoS.
',
+'bandwidthsettings' => 'Configuraciones de ancho de banda',
'basic options' => 'Opciones Básicas',
'beep when ppp connects or disconnects' => 'Sonar cuando IPFire se conecte o desconecte',
'behind a proxy' => 'Detrás de un proxy:',
@@ -615,6 +615,7 @@
'current rules' => 'Reglas actuales',
'custom networks' => 'Redes personalizadas',
'custom services' => 'Servicios personalizados',
+'daemon login script' => 'Daemon login script',
'daily firewallhits' => 'Hits diarios al firewall',
'dat without key' => 'Un archivo encriptado no puede ser restaurado sin la respectiva llave',
'date' => 'Fecha',
@@ -649,7 +650,6 @@
'delete pc' => 'Eliminar Estación de Trabajo',
'delete share' => 'Eliminar recurso compartido de red',
'delete user' => 'Eliminar usuario',
-'demon login script' => 'Demon login script',
'description' => 'Descripción:',
'dest ip and port' => 'Puerto IP de destino:',
'destination' => 'Destino',
@@ -859,8 +859,8 @@
'extrahd unable to write' => 'Unable to write',
'extrahd you cant mount' => 'You can\'t mount',
'false classnumber' => 'El número de clase no coincide con la interfaz',
-'false max bandwith' => 'El ancho de banda máximo es falso',
-'false min bandwith' => 'El ancho de banda mínimo es falso',
+'false max bandwidth' => 'El ancho de banda máximo es falso',
+'false min bandwidth' => 'El ancho de banda mínimo es falso',
'february' => 'FEB',
'fetch ip from' => 'Encontrar la dirección IP pública real con la ayuda de un servidor externo',
'filename' => 'Nombre de archivo',
@@ -925,7 +925,7 @@
'graph per' => 'por',
'green' => 'Green',
'green interface' => 'Interfaz Green',
-'guaranteed bandwith' => 'Ancho de banda garantizado',
+'guaranteed bandwidth' => 'Ancho de banda garantizado',
'guest ok' => 'permitir acceso de invitado',
'gui settings' => 'Configuraciones de GUI',
'gz with key' => 'Esta máquina sólo se puede restaurar desde archivos encriptados',
@@ -1188,7 +1188,7 @@
'map to guest' => 'Map to Guest',
'march' => 'Marzo',
'marked' => 'Marcado',
-'max bandwith' => 'Ancho de banda Máximo',
+'max bandwidth' => 'Ancho de banda Máximo',
'max incoming size' => 'Tamaño máximo entrante (KB)',
'max lease time' => 'Tiempo máximo de concesión (mins)',
'max outgoing size' => 'Tamaño máximo saliente (KB)',
diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl
index 984b974f1..a20fa22f4 100644
--- a/langs/fr/cgi-bin/fr.pl
+++ b/langs/fr/cgi-bin/fr.pl
@@ -259,6 +259,7 @@
'advproxy advanced web proxy configuration' => 'Configuration avancée du proxy web',
'advproxy allowed subnets' => 'Sous-réseaux autorisés (un par ligne) ',
'advproxy allowed web browsers' => 'Clients autorisés pour l\'accès web',
+'advproxy asbased anomaly detection' => 'Détections d\'anomalies basées sur les informations des systèmes autonomes',
'advproxy back to main page' => 'Retour à la page principale',
'advproxy banned ip clients' => 'Adresses IP interdites (une par ligne) ',
'advproxy banned mac clients' => 'Adresses MAC interdites (une par ligne) ',
@@ -330,6 +331,11 @@
'advproxy errmsg wpad invalid ip or mask' => 'WPAD : IP ou sous-réseau invalide pour le sous-réseau IP exclu',
'advproxy error design' => 'Construction messages erronés ',
'advproxy error language' => 'Langage des messages erronés ',
+'advproxy fastflux detection' => 'Refuser l\'accès aux destinations hébergées sur les configurations de flux rapide',
+'advproxy fastflux detection threshold' => 'Seuil',
+'advproxy fastflux no threshold given' => 'Aucun seuil n\'a été fourni pour la détection de flux rapide',
+'advproxy fastflux threshold invalid' => 'Le seuil de détection de flux rapide fourni n\'est pas valide',
+'advproxy fastflux threshold out of bounds' => 'Le seuil de détection de flux rapide fourni est hors limites',
'advproxy friday' => 'Ven',
'advproxy from' => 'De',
'advproxy group access control' => 'Contrôle d\'accès basé sur le groupe',
@@ -366,6 +372,7 @@
'advproxy reset' => 'Relancer',
'advproxy saturday' => 'Sam',
'advproxy save and restart' => 'Sauvegarder et redémarrer',
+'advproxy selectively announcements detection' => 'Refuser l\'accès aux destinations hébergées sur des réseaux annoncés de manière sélective',
'advproxy squid version' => 'Version Squid Cache ',
'advproxy squidclamav' => 'SquidClamav',
'advproxy ssadvanced proxy' => 'Proxy avancé',
@@ -498,8 +505,8 @@
'bad return code' => 'Le programme d\'aide retourne un code d\'erreur',
'bad source range' => 'La plage des ports source à une première valeur supérieure ou égale à la deuxième valeur.',
'bandwidth usage' => 'utilisation de la bande passante (externe)',
-'bandwitherror' => 'Vous ne pouvez pas changer les réglages de la bande passante tant que la Qos est activée. Désactivez d\'abord la Qos.
',
-'bandwithsettings' => 'Réglages de la bande passante',
+'bandwidtherror' => 'Vous ne pouvez pas changer les réglages de la bande passante tant que la Qos est activée. Désactivez d\'abord la Qos.
',
+'bandwidthsettings' => 'Réglages de la bande passante',
'basic options' => 'Options de base',
'beep when ppp connects or disconnects' => 'Emettre un son quand IPFire se connecte ou se déconnecte',
'behind a proxy' => 'Derrière un proxy :',
@@ -719,6 +726,7 @@
'current rules' => 'Règles actuelles :',
'custom networks' => 'Réseaux personnalisés',
'custom services' => 'Services personnalisés',
+'daemon login script' => 'Script de login du service',
'daily firewallhits' => 'Contacts journaliers du pare-feu',
'dangerous' => 'dangereux',
'dat without key' => 'Une archive chiffrée ne pouvant être restaurée sans la clef.',
@@ -758,7 +766,6 @@
'delete pc' => 'Effacer la station de travail',
'delete share' => 'Effacer le partage',
'delete user' => 'Supprimer utilisateur',
-'demon login script' => 'Script de login du service',
'deprecated fs warn' => 'Système de fichiers obsolète ! Le nouveau noyau supprime le support. Sauvegarde et reformatage !',
'description' => 'Description',
'desired' => 'Souhaité',
@@ -2128,11 +2135,13 @@
'real address' => 'Adresse réelle',
'reboot' => 'Redémarrer',
'reboot ask' => 'Redémarrage ?',
+'reboot fsck' => 'Redémarrer et vérifier le système de fichier',
'reboot question' => 'Requête supplémentaire pour le redémarrage et l\'arrêt',
'reboot schedule' => 'Redémarrages planifiées d\'IPFire',
'reboot sure' => 'Etes-vous sûr de vouloir redémarrer ?',
'rebooting' => 'Redémarrage en cours...',
'rebooting ipfire' => 'Redemarrage d\'IPFire',
+'rebooting ipfire fsck' => 'Redémarrage d\'IPFire, vérification du système de fichier en mode forcé',
'received' => 'Reçu',
'reconnect' => 'Reconnecter',
'reconnection' => 'Reconnexion ',
diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
index e9bd157a3..839abe683 100644
--- a/langs/it/cgi-bin/it.pl
+++ b/langs/it/cgi-bin/it.pl
@@ -414,8 +414,8 @@
'bad return code' => 'Helper program returned error code',
'bad source range' => 'The Source port range has a first value that is greater than or equal to the second value.',
'bandwidth usage' => 'bandwidth usage (external)',
-'bandwitherror' => 'Per modificare le impostazioni devi prima disattivare il Qos.
',
-'bandwithsettings' => 'Bandwithsettings',
+'bandwidtherror' => 'Per modificare le impostazioni devi prima disattivare il Qos.
',
+'bandwidthsettings' => 'bandwidthsettings',
'basic options' => 'Opzioni di base',
'beep when ppp connects or disconnects' => 'Segnale acustico quando IPFire si connette o disconnette',
'behind a proxy' => 'Behind a proxy:',
@@ -628,6 +628,7 @@
'current rules' => 'Current rules:',
'custom networks' => 'Custom networks',
'custom services' => 'Servizio Custom',
+'daemon login script' => 'Daemon login script',
'daily firewallhits' => 'daily firewallhits',
'dat without key' => 'An encrypted archive cannot be restored without the key.',
'date' => 'Date',
@@ -665,7 +666,6 @@
'delete pc' => 'Delete workstation',
'delete share' => 'Delete share',
'delete user' => 'Delete user',
-'demon login script' => 'Demon login script',
'deprecated fs warn' => 'Deprecated filesystem! Newer kernel drop the support. Backup and reformat!',
'description' => 'Description',
'dest ip and port' => 'Ip Destinazione: Porta',
@@ -908,8 +908,8 @@
'extrahd unable to write' => 'Unable to write',
'extrahd you cant mount' => 'You can\'t mount',
'false classnumber' => 'The Class-Number does not match the interface.',
-'false max bandwith' => 'Maximum bandwith is false.',
-'false min bandwith' => 'Minimum bandwith is false.',
+'false max bandwidth' => 'Maximum bandwidth is false.',
+'false min bandwidth' => 'Minimum bandwidth is false.',
'february' => 'Febbraio',
'fetch ip from' => 'Ottieni l\'indirizzo IP pubblico con l\'aiuto di un server esterno',
'filename' => 'Filename',
@@ -1448,7 +1448,7 @@
'map to guest' => 'Map to Guest',
'march' => 'Marzo',
'marked' => 'Marked',
-'max bandwith' => 'Maximum bandwith',
+'max bandwidth' => 'Maximum bandwidth',
'max incoming size' => 'Max incoming size (KB):',
'max lease time' => 'Tempo massimo lease (min):',
'max outgoing size' => 'Max outgoing size (KB):',
diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl
index d607e4f89..7dc7ff663 100644
--- a/langs/nl/cgi-bin/nl.pl
+++ b/langs/nl/cgi-bin/nl.pl
@@ -412,8 +412,8 @@
'bad return code' => 'Helper-programma gaf een foutcode terug',
'bad source range' => 'De bronpoort heeft een eerste waarde die groter dan of gelijk is aan de tweede waarde',
'bandwidth usage' => 'bandbreedtegebruik (extern)',
-'bandwitherror' => 'U kunt de bandbreedte-instellingen niet wijzigen als QoS aanstaat. Zet QoS eerst uit.
',
-'bandwithsettings' => 'Bandbreedte-instellingen',
+'bandwidtherror' => 'U kunt de bandbreedte-instellingen niet wijzigen als QoS aanstaat. Zet QoS eerst uit.
',
+'bandwidthsettings' => 'Bandbreedte-instellingen',
'basic options' => 'Basis opties',
'beep when ppp connects or disconnects' => 'Geef pieptoon als IPFire verbinding maakt of verbreekt.',
'behind a proxy' => 'Achter een proxy:',
@@ -894,8 +894,8 @@
'extrahd unable to write' => 'Kan niet schrijven',
'extrahd you cant mount' => 'U kan het niet aankoppelen',
'false classnumber' => 'Het klasse-nummer komt niet overeen met de interface.',
-'false max bandwith' => 'Maximum bandbreedte is ongeldig.',
-'false min bandwith' => 'Minimum bandbreedte is ongeldig.',
+'false max bandwidth' => 'Maximum bandbreedte is ongeldig.',
+'false min bandwidth' => 'Minimum bandbreedte is ongeldig.',
'february' => 'Februari',
'fetch ip from' => 'Bepaal het echte publieke IP-adres met behulp van een externe server',
'filename' => 'Bestandsnaam',
@@ -1165,7 +1165,7 @@
'green' => 'GROEN',
'green interface' => 'Groene Interface',
'grouptype' => 'Groeptype:',
-'guaranteed bandwith' => 'Gegarandeerde bandbreedte',
+'guaranteed bandwidth' => 'Gegarandeerde bandbreedte',
'guest ok' => 'verleen gasten toegang',
'gui settings' => 'Gebruikersinterface',
'gz with key' => 'Alleen gecodeerde archieven kunnen worden teruggezet op deze machine.',
@@ -1430,7 +1430,7 @@
'map to guest' => 'Toewijzen aan gast',
'march' => 'Maart',
'marked' => 'Gemarkeerd',
-'max bandwith' => 'Maximum bandbreedte',
+'max bandwidth' => 'Maximum bandbreedte',
'max incoming size' => 'Max. inkomende grootte (KB):',
'max lease time' => 'Max. leasetijd (min.):',
'max outgoing size' => 'Max. uitgaande grootte (KB):',
@@ -1991,8 +1991,8 @@
'ssh passwords' => 'Toestaan van authenticatie m.b.v. een wachtwoord',
'ssh port' => 'SSH poort gezet op 22 (standaard is 222)',
'ssh portfw' => 'Toestaan van TCP forwarding',
-'ssh tempstart15' => 'Stop SSH daemon over 15 minuten',
-'ssh tempstart30' => 'Stop SSH daemon over 30 minuten',
+'ssh tempstart15' => 'Stop SSH Daemon over 15 minuten',
+'ssh tempstart30' => 'Stop SSH Daemon over 30 minuten',
'ssh1 disabled' => 'SSHv1 is uitgeschakeld, een versie 2 client is vereist',
'ssh1 enabled' => 'SSHv1 is ingeschakeld, oudere clients zullen ondersteund worden.',
'ssh1 support' => 'Ondersteun SSH protocol versie 1 (alleen noodzakelijk voor oudere clients)',
diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl
index a44f43fa4..54e5bb089 100644
--- a/langs/pl/cgi-bin/pl.pl
+++ b/langs/pl/cgi-bin/pl.pl
@@ -394,8 +394,8 @@
'bad return code' => 'Program pomocniczy zwrócił kod błędu',
'bad source range' => 'The Source port range has a first value that is greater than or equal to the second value.',
'bandwidth usage' => 'wykorzystanie pasma (wyjście)',
-'bandwitherror' => 'Nie możesz zmienić ustawień przepustawości kiedy Qos jest włączony. Najpierw wyłącz Qos.
',
-'bandwithsettings' => 'Ustawienia przepustowości',
+'bandwidtherror' => 'Nie możesz zmienić ustawień przepustawości kiedy Qos jest włączony. Najpierw wyłącz Qos.
',
+'bandwidthsettings' => 'Ustawienia przepustowości',
'basic options' => 'Podstawowe opcje',
'beep when ppp connects or disconnects' => 'Dźwięk przy połączeniu/rozłączeniu IPFire',
'behind a proxy' => 'Za proxy:',
@@ -562,6 +562,7 @@
'current rules' => 'Aktualne reguły:',
'custom networks' => 'Własne sieci',
'custom services' => 'Własne usługi',
+'daemon login script' => 'Daemon login script',
'daily firewallhits' => 'daily firewallhits',
'dat without key' => 'Zaszyfrowane archiwa nie mogą być odzyskane bez podania klucza.',
'date' => 'Data',
@@ -596,7 +597,6 @@
'delete pc' => 'Usuń komputer',
'delete share' => 'Usuń zasób',
'delete user' => 'Usuń użytkownika',
-'demon login script' => 'Demon login script',
'description' => 'Opis',
'dest ip and port' => 'Cel IP: Port',
'destination' => 'Cel',
@@ -797,8 +797,8 @@
'extrahd' => 'ExtraHD',
'extrahd detected drives' => 'wykryte napędy',
'false classnumber' => 'Numer klasy nie pasuje do interfejsu.',
-'false max bandwith' => 'Nieprawidłowe maksymalne pasmo (false).',
-'false min bandwith' => 'Nieprawidłowe minimalne pasmo (false).',
+'false max bandwidth' => 'Nieprawidłowe maksymalne pasmo (false).',
+'false min bandwidth' => 'Nieprawidłowe minimalne pasmo (false).',
'february' => 'Luty',
'fetch ip from' => 'Próbuj uzyskać publiczne IP za pomocą zewnętrznego serwera',
'filename' => 'Nazwa pliku',
@@ -880,7 +880,7 @@
'graph per' => 'na',
'green' => 'Green',
'green interface' => 'Interfejs Green',
-'guaranteed bandwith' => 'Gwarantowane pasmo',
+'guaranteed bandwidth' => 'Gwarantowane pasmo',
'guest ok' => 'zezwól na dostęp dla gości',
'gui settings' => 'Ustawienia GUI',
'gz with key' => 'Tylko zaszyfrowane archiwum może być odtworzone na tej maszynie.',
@@ -1133,7 +1133,7 @@
'map to guest' => 'Map to Guest',
'march' => 'Marzec',
'marked' => 'Zaznaczone',
-'max bandwith' => 'Maksymalne pasmo',
+'max bandwidth' => 'Maksymalne pasmo',
'max incoming size' => 'Maks rozmiar przychodzący (KB):',
'max lease time' => 'Maks czas dzierżawy (min):',
'max outgoing size' => 'Maks rozmiar wychodzący (KB):',
diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl
index c0342eb25..583439744 100644
--- a/langs/ru/cgi-bin/ru.pl
+++ b/langs/ru/cgi-bin/ru.pl
@@ -392,8 +392,8 @@
'bad return code' => 'Программа помощи сообщает об ошибке',
'bad source range' => 'В диапазоне исходящих портов номер начального порт больше конечного.',
'bandwidth usage' => 'Внешний трафик',
-'bandwitherror' => 'Вы не сможете поменять пропускную способность, пока работает Qos. Сперва остановите Qos.
',
-'bandwithsettings' => 'Настройка пропускной способности',
+'bandwidtherror' => 'Вы не сможете поменять пропускную способность, пока работает Qos. Сперва остановите Qos.
',
+'bandwidthsettings' => 'Настройка пропускной способности',
'basic options' => 'Основные опции',
'beep when ppp connects or disconnects' => 'Пищать спикером, когда IPFire подключается и отключается',
'behind a proxy' => 'За proxy:',
@@ -560,6 +560,7 @@
'current rules' => 'Установленные правила:',
'custom networks' => 'Пользовательские сети',
'custom services' => 'Пользовательские сервисыs',
+'daemon login script' => 'Daemon login скрипт',
'daily firewallhits' => 'daily firewallhits',
'dat without key' => 'Зашифрованный архив не может быть использован без ключа.',
'date' => 'Дата',
@@ -593,7 +594,6 @@
'delete pc' => 'Удалить рабочую станцию',
'delete share' => 'Удалить шару',
'delete user' => 'Удалить пользователя',
-'demon login script' => 'Demon login скрипт',
'description' => 'Описание',
'dest ip and port' => 'IP получателя: Порт',
'destination' => 'Пункт назначения',
@@ -793,8 +793,8 @@
'extrahd' => 'Дополнительные HD',
'extrahd detected drives' => 'Найдены устройства',
'false classnumber' => 'The Class-Number does not match the interface.',
-'false max bandwith' => 'Maximum bandwith is false.',
-'false min bandwith' => 'Minimum bandwith is false.',
+'false max bandwidth' => 'Maximum bandwidth is false.',
+'false min bandwidth' => 'Minimum bandwidth is false.',
'february' => 'Февраль',
'fetch ip from' => 'Узнать реальный внешний IP с помощью внешнего сервера',
'filename' => 'Имя файла',
@@ -875,7 +875,7 @@
'graph per' => 'per',
'green' => 'Green',
'green interface' => 'Green Интерфейс',
-'guaranteed bandwith' => 'Гарантированная пропускная способность',
+'guaranteed bandwidth' => 'Гарантированная пропускная способность',
'guest ok' => 'Разрешить гостевой доступ',
'gui settings' => 'Внешний вид',
'gz with key' => 'Только зашифрованный архив может быть восстановлен на этой машине.',
@@ -1126,7 +1126,7 @@
'map to guest' => 'Map to Guest',
'march' => 'Март',
'marked' => 'Отмечен',
-'max bandwith' => 'Максимальная полоса пропускания',
+'max bandwidth' => 'Максимальная полоса пропускания',
'max incoming size' => 'Максимальный входящий размер (KB):',
'max lease time' => 'Максимальное время аренды (мин.):',
'max outgoing size' => 'Максимальный исходящий размер (KB):',
diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl
index f90bee0ea..8831d99a4 100644
--- a/langs/tr/cgi-bin/tr.pl
+++ b/langs/tr/cgi-bin/tr.pl
@@ -477,8 +477,8 @@
'bad return code' => 'Yardımcı programı hata kodu döndürdü',
'bad source range' => 'Kaynak bağlantı noktası aralığı büyük veya ikinci değere eşit bir ilk değere sahip.',
'bandwidth usage' => 'bant genişliği kullanımı (harici)',
-'bandwitherror' => 'QoS aktifken bant genişliği ayarları değiştiremezsiniz. İlk önce QoS devre dışı bırakın.
',
-'bandwithsettings' => 'Bant genişliği ayarları',
+'bandwidtherror' => 'QoS aktifken bant genişliği ayarları değiştiremezsiniz. İlk önce QoS devre dışı bırakın.
',
+'bandwidthsettings' => 'Bant genişliği ayarları',
'basic options' => 'Temel seçenekler',
'beep when ppp connects or disconnects' => 'IPFire bağlanırken veya kapatılırken ses çıkar.',
'behind a proxy' => 'Bir vekil sunucu arkasında:',
@@ -693,6 +693,7 @@
'current rules' => 'Mevcut kurallar:',
'custom networks' => 'Özel ağlar',
'custom services' => 'Özel hizmetler',
+'daemon login script' => 'Daemon giriş betiği',
'daily firewallhits' => 'günlük güvenlik duvarı kaydı',
'dat without key' => 'Şifreli bir arşiv anahtarı olmadan geri yüklenemez.',
'date' => 'Tarih',
@@ -730,7 +731,6 @@
'delete pc' => 'İş istasyonunu sil',
'delete share' => 'Paylaşımı sil',
'delete user' => 'Kullanıcıyı sil',
-'demon login script' => 'Demon giriş betiği',
'deprecated fs warn' => 'Dosya sistemi kalktı. Yeni çekirdekte bu destek bırakıldı. Yedekleyip yeniden biçimlendirin!',
'description' => 'Açıklama',
'dest ip and port' => 'Hedef IP: Bağlantı noktası',
@@ -1001,8 +1001,8 @@
'extrahd unable to write' => 'Yazmak için açılamıyor',
'extrahd you cant mount' => 'Bağlanamadı',
'false classnumber' => 'Sınıf-Numarası arayüzle eşleşmiyor.',
-'false max bandwith' => 'Yanlış en fazla bant genişliği.',
-'false min bandwith' => 'Yanlış en az bant genişliği.',
+'false max bandwidth' => 'Yanlış en fazla bant genişliği.',
+'false min bandwidth' => 'Yanlış en az bant genişliği.',
'february' => 'Şubat',
'fetch ip from' => 'Harici sunucunun yardımıyla tahmini gerçek genel IP',
'fifteen minutes' => '15 Dakika',
@@ -1293,7 +1293,7 @@
'green' => 'YEŞİL',
'green interface' => 'Yeşil Arabirim',
'grouptype' => 'Grup türü:',
-'guaranteed bandwith' => 'Garantili bant genişliği',
+'guaranteed bandwidth' => 'Garantili bant genişliği',
'guardian' => 'Guardian',
'guest ok' => 'istemcilere erişim izni',
'gui settings' => 'GUI Ayarları',
@@ -1583,7 +1583,7 @@
'masquerading' => 'Gizle',
'masquerading disabled' => 'Gizlemeyi kapat',
'masquerading enabled' => 'Gizlemeyi aç',
-'max bandwith' => 'En fazla bant genişliği',
+'max bandwidth' => 'En fazla bant genişliği',
'max incoming size' => 'En fazla gelen boyut (KB):',
'max lease time' => 'En fazla kira süresi (dakika):',
'max outgoing size' => 'En fazla giden boyutu (KB):',
diff --git a/lfs/7zip b/lfs/7zip
index b70ce491c..3e204ca1a 100644
--- a/lfs/7zip
+++ b/lfs/7zip
@@ -24,15 +24,15 @@
include Config
-VER = 17.03
+VER = 17.04
THISAPP = p7zip-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = https://github.com/jinfeihan57/p7zip/archive/v$(VER)/
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = 7zip
-PAK_VER = 8
+PAK_VER = 9
DEPS =
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fd7e6b082db89edfc047c1ce2d810850
+$(DL_FILE)_MD5 = 00acfd6be87848231722d2d53f89e4a5
install : $(TARGET)
diff --git a/lfs/python-typing b/lfs/ExtUtils-PkgConfig
similarity index 93%
rename from lfs/python-typing
rename to lfs/ExtUtils-PkgConfig
index d7bbe412b..f35868a83 100644
--- a/lfs/python-typing
+++ b/lfs/ExtUtils-PkgConfig
@@ -24,9 +24,9 @@
include Config
-VER = 3.6.1
+VER = 1.16
-THISAPP = typing-$(VER)
+THISAPP = ExtUtils-PkgConfig-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3fec97415bae6f742fb3c3013dedeb89
+$(DL_FILE)_MD5 = b86318f2b6ac6af3ee985299e1e38fe5
install : $(TARGET)
@@ -50,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
-#dist:
-# @$(PAK)
-
###############################################################################
# Downloading, checking, md5sum
###############################################################################
@@ -73,7 +70,8 @@ $(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) && python setup.py build
- cd $(DIR_APP) && python setup.py install --skip-build
+ cd $(DIR_APP) && perl Makefile.PL
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/GD-Graph b/lfs/GD-Graph
index 044344df1..2ad306af7 100644
--- a/lfs/GD-Graph
+++ b/lfs/GD-Graph
@@ -24,7 +24,7 @@
include Config
-VER = 1.4308
+VER = 1.54
THISAPP = GDGraph-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fcdd34d5e09ae917b5d264887734b3b1
+$(DL_FILE)_MD5 = 38c6a188519e6272e9b2b722b315c3d8
install : $(TARGET)
diff --git a/lfs/IO-Stringy b/lfs/IO-Stringy
index be877eb13..d277b9e2f 100644
--- a/lfs/IO-Stringy
+++ b/lfs/IO-Stringy
@@ -28,7 +28,7 @@ VER = 2.110
THISAPP = IO-stringy-$(VER)
DL_FILE = $(THISAPP).tar.gz
-DL_FROM = http://cpan.noris.de/authors/id/D/DS/DSKOLL
+DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
diff --git a/lfs/Text-Tabs+Wrap b/lfs/Text-Tabs+Wrap
index 68f8662b0..9cdbe0412 100644
--- a/lfs/Text-Tabs+Wrap
+++ b/lfs/Text-Tabs+Wrap
@@ -24,7 +24,7 @@
include Config
-VER = 2005.0824
+VER = 2013.0523
THISAPP = Text-Tabs+Wrap-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 99c061630027de809beca99d0b71f689
+$(DL_FILE)_MD5 = 3e421ed3810803512af8d13bad548993
install : $(TARGET)
diff --git a/lfs/alsa b/lfs/alsa
index 23ad58cf6..264849e11 100644
--- a/lfs/alsa
+++ b/lfs/alsa
@@ -25,9 +25,9 @@
include Config
-VER = 1.0.27.1
-UVER = 1.0.27.1
-FVER = 1.0.27
+VER = 1.2.5.1
+UVER = 1.2.5.1
+FVER = 1.2.4
VERSUFIX = ipfire$(KCFG)
@@ -36,7 +36,7 @@ DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
PROG = alsa
-PAK_VER = 12
+PAK_VER = 13
DEPS =
@@ -52,9 +52,9 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
alsa-utils-$(UVER).tar.bz2 = $(DL_FROM)/alsa-utils-$(UVER).tar.bz2
alsa-firmware-$(FVER).tar.bz2 = $(DL_FROM)/alsa-firmware-$(FVER).tar.bz2
-$(DL_FILE)_MD5 = 17102aaab10e9d4b19f6b02937bab015
-alsa-utils-$(UVER).tar.bz2_MD5 = 3d81357b997744a139881ef72bc6921a
-alsa-firmware-$(FVER).tar.bz2_MD5 = b373b350d5151dd7d64db2fc12936b04
+$(DL_FILE)_MD5 = c8335793e7828803311edc48fb71662e
+alsa-utils-$(UVER).tar.bz2_MD5 = 8f142bebff84ff05438b46a0e896f53a
+alsa-firmware-$(FVER).tar.bz2_MD5 = ee6c1d24a1a4ac1d86992b408ed710a2
install : $(TARGET)
diff --git a/lfs/apache2 b/lfs/apache2
index ff9de7eb7..b4064cee0 100644
--- a/lfs/apache2
+++ b/lfs/apache2
@@ -25,7 +25,7 @@
include Config
-VER = 2.4.48
+VER = 2.4.51
THISAPP = httpd-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a7088cec171b0d00bf43394ce64d3909
+$(DL_FILE)_MD5 = d2793fc1c8cb8ba355cee877d1f2d46d
install : $(TARGET)
diff --git a/lfs/avahi b/lfs/avahi
index ae166a88c..795ba4130 100644
--- a/lfs/avahi
+++ b/lfs/avahi
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = avahi
-PAK_VER = 8
+PAK_VER = 9
DEPS = dbus libdaemon
@@ -102,6 +102,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Install initscript
$(call INSTALL_INITSCRIPT,avahi)
-
+
+ #install backup definition
+ install -v -m 644 ${DIR_SRC}/config/backup/includes/avahi \
+ /var/ipfire/backup/addons/includes/avahi
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/bird b/lfs/bird
index ee1829907..a57e745a5 100644
--- a/lfs/bird
+++ b/lfs/bird
@@ -24,7 +24,7 @@
include Config
-VER = 2.0.7
+VER = 2.0.8
THISAPP = bird-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = bird
-PAK_VER = 7
+PAK_VER = 8
DEPS =
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dc884bbe5905578e452f28158700527c
+$(DL_FILE)_MD5 = d807bdb34b27fe15ba8b71e83474eb27
install : $(TARGET)
diff --git a/lfs/ca-certificates b/lfs/ca-certificates
index f3c68a7c0..aa366ff5e 100644
--- a/lfs/ca-certificates
+++ b/lfs/ca-certificates
@@ -24,7 +24,7 @@
include Config
-VER = 20210611
+VER = 20210925
THISAPP = ca-certificates
DIR_APP = $(DIR_SRC)/$(THISAPP)
diff --git a/lfs/clamav b/lfs/clamav
index 4dc996ea4..9076d0f71 100644
--- a/lfs/clamav
+++ b/lfs/clamav
@@ -24,7 +24,7 @@
include Config
-VER = 0.103.3
+VER = 0.104.0
THISAPP = clamav-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,14 +32,10 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = clamav
-PAK_VER = 56
+PAK_VER = 57
DEPS =
-ifeq "$(BUILD_PLATFORM)" "arm"
-CONFIGURE_FLAGS = --disable-fanotify
-endif
-
DATABASE_DIR = /var/lib/clamav
###############################################################################
@@ -50,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f8dcf678953f6af056ddd5917bcc50c3
+$(DL_FILE)_MD5 = 3f4789c09f5a35e9ea580edd5c3e54b6
install : $(TARGET)
@@ -83,19 +79,31 @@ $(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) && ./configure \
- --prefix=/usr \
- --disable-clamonacc \
- --sysconfdir=/var/ipfire/clamav \
- --with-dbdir=$(DATABASE_DIR) \
- $(CONFIGURE_FLAGS)
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
+
+ cd $(DIR_APP) && mkdir -pv build
+ cd $(DIR_APP)/build && cmake .. -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DOPTIMIZE=ON \
+ -DBYTECODE_RUNTIME="interpreter" \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_CLAMONACC=OFF \
+ -DENABLE_MILTER=OFF \
+ -DENABLE_MAN_PAGES=OFF \
+ -DENABLE_EXTERNAL_MSPACK=OFF \
+ -DENABLE_FRESHCLAM_DNS_FIX=ON \
+ -DAPP_CONFIG_DIRECTORY=/var/ipfire/clamav \
+ -DDATABASE_DIRECTORY=$(DATABASE_DIR)
+
+ cd $(DIR_APP)/build && ninja $(MAKETUNING) && ninja install
+
mkdir -pv $(DATABASE_DIR)
chown clamav.clamav -R $(DATABASE_DIR)
rm -rfv $(DATABASE_DIR)/*.cvd
+ mkdir -pv /var/ipfire/clamav
cp -rf $(DIR_SRC)/config/clamav/* /var/ipfire/clamav/
- mkdir -p /var/run/clamav
+ mkdir -pv /var/run/clamav
chown clamav:clamav /var/run/clamav
#install initscripts
$(call INSTALL_INITSCRIPT,clamav)
diff --git a/lfs/client175 b/lfs/client175
deleted file mode 100644
index e69e8e705..000000000
--- a/lfs/client175
+++ /dev/null
@@ -1,97 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# 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 #
-# 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.7
-
-THISAPP = client175_$(VER)
-DL_FILE = $(THISAPP).tar.xz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = client175
-PAK_VER = 3
-
-DEPS = mpfire
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 975b69de79dc2649d8acba294cc0c5eb
-
-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 Jxf $(DIR_DL)/$(DL_FILE)
- @rm -rf /srv/client175
- mkdir -pv /srv/client175
-
- cd $(DIR_APP) && mv -vf * /srv/client175
-
- cp -vf $(DIR_SRC)/config/client175/site.conf /srv/client175/
-
- install -v -m 644 $(DIR_SRC)/config/backup/includes/client175 \
- /var/ipfire/backup/addons/includes/client175
-
- chown -R nobody:nobody /srv/client175
-
- #install initscripts
- $(call INSTALL_INITSCRIPT,client175)
-
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/lfs/cmake b/lfs/cmake
index 85ac8690c..7cc77a3ef 100644
--- a/lfs/cmake
+++ b/lfs/cmake
@@ -24,7 +24,7 @@
include Config
-VER = 3.20.4
+VER = 3.21.0
THISAPP = cmake-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 99e849c6910f1df027cc0365027fa19b
+$(DL_FILE)_MD5 = f616604606184e3c7b870a57e68a7c3b
install : $(TARGET)
diff --git a/lfs/cups-filters b/lfs/cups-filters
index d00b5ccb2..10de534c4 100644
--- a/lfs/cups-filters
+++ b/lfs/cups-filters
@@ -24,7 +24,7 @@
include Config
-VER = 1.28.9
+VER = 1.28.10
THISAPP = cups-filters-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = cups-filters
-PAK_VER = 6
+PAK_VER = 7
DEPS = cups ghostscript
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 1ea8d0311463d4026f0f631a4843dec2
+$(DL_FILE)_MD5 = 828b8c81534ecb996d6c6b7e1332412f
install : $(TARGET)
diff --git a/lfs/curl b/lfs/curl
index ae55d812e..70465bb35 100644
--- a/lfs/curl
+++ b/lfs/curl
@@ -24,7 +24,7 @@
include Config
-VER = 7.77.0
+VER = 7.79.1
THISAPP = curl-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3cf78c539cae019cf96ba38571706e06
+$(DL_FILE)_MD5 = 74d3c4ca8aaa6c0619806d6e246e65fb
install : $(TARGET)
diff --git a/lfs/ddns b/lfs/ddns
index 538cf7256..b1d0f2dbb 100644
--- a/lfs/ddns
+++ b/lfs/ddns
@@ -24,7 +24,7 @@
include Config
-VER = 013
+VER = 014
THISAPP = ddns-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a988a808a08c810c41964ac6b0febbeb
+$(DL_FILE)_MD5 = f10f7dfb29bd159db10e7a52c0a91d72
install : $(TARGET)
@@ -72,12 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
# Apply upstream patches.
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-dyfi-use-https.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-duckdns-new-api.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-add-option-to-list-token-provider.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-proper-encode-string.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-fix-argparse-list-token-providers.patch
+ # No upstream patches at the moment.
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
cd $(DIR_APP) && ./configure \
diff --git a/lfs/dosfstools b/lfs/dosfstools
index 8a74661e9..49dddab6b 100644
--- a/lfs/dosfstools
+++ b/lfs/dosfstools
@@ -24,7 +24,7 @@
include Config
-VER = 3.0.9
+VER = 4.2
THISAPP = dosfstools-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bd273cf8aa6341c0b52cbac72050bcf4
+$(DL_FILE)_MD5 = 49c8e457327dc61efab5b115a27b087a
install : $(TARGET)
@@ -70,7 +70,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) && sed -i -e "s|PREFIX = /usr/local||g" Makefile
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --sbindir=/sbin \
+ --enable-compat-symlinks
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/lfs/dtc b/lfs/dtc
new file mode 100644
index 000000000..894b84acc
--- /dev/null
+++ b/lfs/dtc
@@ -0,0 +1,81 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2021 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 = 1.6.1
+
+THISAPP = dtc-$(VER)
+DL_FILE = $(THISAPP).tar.xz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+SUP_ARCH = aarch64
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 709888bac3aad657e6020d0e491fc0ba
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dtc/dtc-1.6.1-disable_Werror.patch
+
+ cd $(DIR_APP) && make HOME= $(MAKETUNING)
+ cd $(DIR_APP) && make HOME= install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/e2fsprogs b/lfs/e2fsprogs
index bb005ae02..f417b77f4 100644
--- a/lfs/e2fsprogs
+++ b/lfs/e2fsprogs
@@ -24,10 +24,10 @@
include Config
-VER = 1.44.4
+VER = 1.46.3
THISAPP = e2fsprogs-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 156e94a6169ca1fa3f0c6749ae5921b9
+$(DL_FILE)_MD5 = ab7e15cafcd34681db907d3fcb395f95
install : $(TARGET)
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-mkdir -pv $(DIR_APP)/build
cd $(DIR_APP)/build && \
$(DIR_APP)/configure \
diff --git a/lfs/ethtool b/lfs/ethtool
index 677571844..d7655d173 100644
--- a/lfs/ethtool
+++ b/lfs/ethtool
@@ -24,7 +24,7 @@
include Config
-VER = 5.12
+VER = 5.13
THISAPP = ethtool-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 11fcf0d0287c899fbcbdb48897fe2bab
+$(DL_FILE)_MD5 = 940bd6c330b9ebafaf40b3b428e56754
install : $(TARGET)
diff --git a/lfs/crda b/lfs/exfatprogs
similarity index 93%
rename from lfs/crda
rename to lfs/exfatprogs
index bd812942e..7b257f168 100644
--- a/lfs/crda
+++ b/lfs/exfatprogs
@@ -24,14 +24,13 @@
include Config
-VER = 4.14
+VER = 1.1.2
-THISAPP = crda-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+THISAPP = exfatprogs-$(VER)
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
-
-TARGET = $(DIR_INFO)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
@@ -41,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = cac7ba8de3e2e6aa46918e0c76df7d67
+$(DL_FILE)_MD5 = 20c6caa98a0ad7d073c045628807a884
install : $(TARGET)
@@ -71,7 +70,8 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && sed -e "s/-Werror//g" -i Makefile
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/lfs/faad2 b/lfs/faad2
index 5ec1541c1..b2c8218e1 100644
--- a/lfs/faad2
+++ b/lfs/faad2
@@ -24,7 +24,7 @@
include Config
-VER = 2.8.8
+VER = 2_10_0
THISAPP = faad2-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = faad2
-PAK_VER = 2
+PAK_VER = 3
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 28f6116efdbe9378269f8a6221767d1f
+$(DL_FILE)_MD5 = f948925a6763e30c53078f5af339d6cc
install : $(TARGET)
@@ -79,9 +79,12 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
+ cd $(DIR_APP) && autoupdate
+ cd $(DIR_APP) && autoreconf -fvi
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--enable-shared \
+ --disable-static \
--with-mpeg4ip
cd $(DIR_APP) && make $(MAKETUNING)
diff --git a/lfs/ffmpeg b/lfs/ffmpeg
index 1efa14a36..21c21cc88 100644
--- a/lfs/ffmpeg
+++ b/lfs/ffmpeg
@@ -32,9 +32,9 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = ffmpeg
-PAK_VER = 12
+PAK_VER = 13
-DEPS = sdl lame libvorbis xvid
+DEPS = sdl2 lame libvorbis xvid
ifeq "$(BUILD_ARCH)" "armv6l"
LDFLAGS += -latomic
diff --git a/lfs/flash-images b/lfs/flash-images
index cdd0fbf7e..0abb23b0a 100644
--- a/lfs/flash-images
+++ b/lfs/flash-images
@@ -67,6 +67,7 @@ ifeq "$(BUILD_PLATFORM)" "arm"
PART_TYPE = c
ifeq "$(BUILD_ARCH)" "aarch64"
BOOTLOADER = grub
+ S_OFFSET = 32768
endif
else
BOOTLOADER = grub
@@ -260,6 +261,10 @@ ifeq "$(BUILD_ARCH)" "armv6l"
# Install u-boot for Orangepi Zero/Nanopi DUO into image 8KB
dd if=/usr/share/u-boot/orangepi_zero/u-boot-sunxi-with-spl.bin of=$(IMG) bs=1K seek=8 conv=notrunc
endif
+ifeq "$(BUILD_ARCH)" "aarch64"
+ # Install u-boot for NanoPi R2S into image 8KB
+ dd if=/usr/share/u-boot/nanopi_r2s/u-boot-rockchip.bin of=$(IMG) bs=1K seek=32 conv=notrunc
+endif
# Compress Image
xz $(XZ_OPT) < $(IMG) > $(IMAGE_FILE)
diff --git a/lfs/freeradius b/lfs/freeradius
index b1a139bb6..967a00483 100644
--- a/lfs/freeradius
+++ b/lfs/freeradius
@@ -24,7 +24,7 @@
include Config
-VER = 3.0.21
+VER = 3.0.23
THISAPP = freeradius-server-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = freeradius
-PAK_VER = 13
+PAK_VER = 14
DEPS = libtalloc samba
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 8b7f794f2ac0d686d9aecfa083a63614
+$(DL_FILE)_MD5 = 7e462b0c069ce04f2cbc60da78627182
install : $(TARGET)
@@ -97,6 +97,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--without-rlm_sql_oracle \
--without-rlm_sql_sqlite \
--without-rlm_sql_mysql \
+ --without-rlm_python \
LDFLAGS="$(LDFLAGS)"
cd $(DIR_APP) && make $(MAKETUNING)
diff --git a/lfs/frr b/lfs/frr
index cff23ff92..1af776eb6 100644
--- a/lfs/frr
+++ b/lfs/frr
@@ -24,7 +24,7 @@
include Config
-VER = 6.0
+VER = 8.0.1
THISAPP = frr-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = frr
-PAK_VER = 1
+PAK_VER = 2
DEPS =
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d725c08e0093f58e5fcac0969c781813
+$(DL_FILE)_MD5 = ef606567993da37ce6f4a8f456f77e24
install : $(TARGET)
@@ -101,7 +101,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--disable-pbrd \
--disable-pimd \
--disable-ripd \
- --disable-ripngd
+ --disable-ripngd \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
diff --git a/lfs/gcc b/lfs/gcc
index 44112bd70..3dbb17b94 100644
--- a/lfs/gcc
+++ b/lfs/gcc
@@ -285,7 +285,7 @@ else
$(EXTRA_ENV) \
$(DIR_APP)/configure \
$(EXTRA_CONFIG)
- cd $(DIR_SRC)/gcc-build && make $(EXTRA_MAKE)
+ cd $(DIR_SRC)/gcc-build && make $(EXTRA_MAKE) $(MAKETUNING)
cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
endif
diff --git a/lfs/gd b/lfs/gd
index 134d2fccd..d4a593fbf 100644
--- a/lfs/gd
+++ b/lfs/gd
@@ -24,10 +24,10 @@
include Config
-VER = 2.0.33
+VER = 2.3.3
-THISAPP = gd-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+THISAPP = libgd-$(VER)
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = be0a6d326cd8567e736fbc75df0a5c45
+$(DL_FILE)_MD5 = 7a58b54d375eda236414201252a0ee3c
install : $(TARGET)
@@ -69,9 +69,12 @@ $(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)
$(UPDATE_AUTOMAKE)
- cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --without-tiff
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/lfs/ghostscript b/lfs/ghostscript
index 696f95b29..695ff6bcb 100644
--- a/lfs/ghostscript
+++ b/lfs/ghostscript
@@ -24,7 +24,7 @@
include Config
-VER = 9.53.3
+VER = 9.55.0
THISAPP = ghostscript-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = ghostscript
-PAK_VER = 7
+PAK_VER = 9
DEPS = cups dbus libtiff
@@ -48,7 +48,7 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
ghostscript-fonts-std-8.11.tar.gz = $(URL_IPFIRE)/ghostscript-fonts-std-8.11.tar.gz
gnu-gs-fonts-other-6.0.tar.gz = $(URL_IPFIRE)/gnu-gs-fonts-other-6.0.tar.gz
-$(DL_FILE)_MD5 = bf0b41d6e19fdeb4b050afad309248d2
+$(DL_FILE)_MD5 = 92aa46e75c4f32eb11d9c975053d876c
ghostscript-fonts-std-8.11.tar.gz_MD5 = 6865682b095f8c4500c54b285ff05ef6
gnu-gs-fonts-other-6.0.tar.gz_MD5 = 33457d3f37de7ef03d2eea05a9e6aa4f
@@ -83,7 +83,6 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ghostscript-drop-use-of-FT_CALLBACK_DEF-with-Freetype-2.10.3-and-later.patch
cd $(DIR_APP) && rm -rf expat freetype icclib jasper jpeg jpegxr \
lcms lcms2 libpng openjpeg zlib cups/libs
cd $(DIR_APP) && \
diff --git a/lfs/git b/lfs/git
index 2290c6e99..59610a6a1 100644
--- a/lfs/git
+++ b/lfs/git
@@ -24,7 +24,7 @@
include Config
-VER = 2.31.0
+VER = 2.33.1
THISAPP = git-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = git
-PAK_VER = 19
+PAK_VER = 20
DEPS = perl-Authen-SASL perl-MIME-Base64 perl-Net-SMTP-SSL
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = c7f808ab107b666af45fccb56b9d9676
+$(DL_FILE)_MD5 = 3462f34d9c17288eee854b7645f6a0a1
install : $(TARGET)
diff --git a/lfs/glib b/lfs/glib
index cbf666f70..58c45415a 100644
--- a/lfs/glib
+++ b/lfs/glib
@@ -75,7 +75,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--sysconfdir=/etc \
-D internal_pcre=false \
builddir/
- cd $(DIR_APP) && ninja -C builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/glibc b/lfs/glibc
index aa7948aed..5dbc386d7 100644
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -109,6 +109,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
@mkdir $(DIR_SRC)/glibc-build
+ # Security Fixes
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-2.33-use-__pthread_attr_copy-in-mq_notify-bug-27896.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-2.33-librt-fix-null-pointer-dereference-bug-28213.patch
+
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-localedef-no-archive.patch
ifneq "$(TOOLCHAIN)" "1"
diff --git a/lfs/guardian b/lfs/guardian
index 245249031..6d61c3361 100644
--- a/lfs/guardian
+++ b/lfs/guardian
@@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = guardian
-PAK_VER = 24
+PAK_VER = 25
DEPS = perl-inotify2 perl-Net-IP
diff --git a/lfs/hostapd b/lfs/hostapd
index 19a4b9340..73262f4c2 100644
--- a/lfs/hostapd
+++ b/lfs/hostapd
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2019 IPFire Team #
+# Copyright (C) 2007-2021 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 #
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/hostap-$(VER)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = hostapd
-PAK_VER = 56
+PAK_VER = 58
DEPS =
diff --git a/lfs/hplip b/lfs/hplip
index e87b8fb8e..c783a0e34 100644
--- a/lfs/hplip
+++ b/lfs/hplip
@@ -24,7 +24,7 @@
include Config
-VER = 3.21.2
+VER = 3.21.6
THISAPP = hplip-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = hplip
-PAK_VER = 5
+PAK_VER = 6
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 362cb4c10321ec98fa4b4f18891e1a45
+$(DL_FILE)_MD5 = 090f47d47c0d487ccfd2abdd5102ce1e
install : $(TARGET)
diff --git a/lfs/htop b/lfs/htop
index 0dfdf011f..277b6532e 100644
--- a/lfs/htop
+++ b/lfs/htop
@@ -24,7 +24,7 @@
include Config
-VER = 3.0.5
+VER = 3.1.1
THISAPP = htop-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = htop
-PAK_VER = 16
+PAK_VER = 17
DEPS =
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 780b79322cfc576a762c2dadb5575d04
+$(DL_FILE)_MD5 = 76ad907a6d43cf38c089e3e9b0100590
install : $(TARGET)
@@ -79,6 +79,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && ./autogen.sh
cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
diff --git a/lfs/intltool b/lfs/intltool
index 234262f62..bc5008a52 100644
--- a/lfs/intltool
+++ b/lfs/intltool
@@ -24,15 +24,15 @@
include Config
-VER = 0.40.5
+VER = 0.51.0
THISAPP = intltool-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = intltool
-PAK_VER = 1
+PAK_VER = 2
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3e7ded6f50d88cf8b8bb505eaf591775
+$(DL_FILE)_MD5 = 12e517cac2b57a0121cda351570f1e63
install : $(TARGET)
@@ -77,7 +77,7 @@ dist:
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install
diff --git a/lfs/iperf3 b/lfs/iperf3
index e40feaed8..ba3b1b942 100644
--- a/lfs/iperf3
+++ b/lfs/iperf3
@@ -24,7 +24,7 @@
include Config
-VER = 3.9
+VER = 3.10.1
THISAPP = iperf-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = iperf3
-PAK_VER = 3
+PAK_VER = 4
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 510fdb0943e88da5e0063f4599fa14f3
+$(DL_FILE)_MD5 = 9c981555af2eb9479135c5247c30d2ca
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
diff --git a/lfs/iproute2 b/lfs/iproute2
index 4a1ee3865..2f20b0c99 100644
--- a/lfs/iproute2
+++ b/lfs/iproute2
@@ -24,7 +24,7 @@
include Config
-VER = 5.12.0
+VER = 5.14.0
THISAPP = iproute2-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bbebacdabd4628ff86453ef4771a242a
+$(DL_FILE)_MD5 = da53966eb3b08ac264f3e9df02e06bfa
install : $(TARGET)
diff --git a/lfs/krb5 b/lfs/krb5
index a972920e7..f72c12fd0 100644
--- a/lfs/krb5
+++ b/lfs/krb5
@@ -24,7 +24,7 @@
include Config
-VER = 1.19.1
+VER = 1.19.2
THISAPP = krb5-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)/src
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = krb5
-PAK_VER = 6
+PAK_VER = 7
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 81257292f8243f735654d4fd5d1fef6a
+$(DL_FILE)_MD5 = eb51b7724111e1a458a8c9a261d45a31
install : $(TARGET)
diff --git a/lfs/less b/lfs/less
index 5e33bf311..77fc2ae9f 100644
--- a/lfs/less
+++ b/lfs/less
@@ -24,7 +24,7 @@
include Config
-VER = 581.2
+VER = 590
THISAPP = less-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 18f5d83c0cada3f288a5a20bf88faea2
+$(DL_FILE)_MD5 = f029087448357812fba450091a1172ab
install : $(TARGET)
diff --git a/lfs/libhtp b/lfs/libhtp
index e21db73a9..242953254 100644
--- a/lfs/libhtp
+++ b/lfs/libhtp
@@ -24,7 +24,7 @@
include Config
-VER = 0.5.37
+VER = 0.5.38
THISAPP = libhtp-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ccc2f25ab3c1db53a22034280f1600dd
+$(DL_FILE)_MD5 = 4d3bee196a8adcb10bfd874ec6bd9ca0
install : $(TARGET)
diff --git a/lfs/libidn b/lfs/libidn
index b8be721a3..4e2a7403c 100644
--- a/lfs/libidn
+++ b/lfs/libidn
@@ -24,7 +24,7 @@
include Config
-VER = 1.36
+VER = 1.38
THISAPP = libidn-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 813c7b268d1051ca02c3610986126f38
+$(DL_FILE)_MD5 = 718ff3700dd71f830c592ebe97249193
install : $(TARGET)
@@ -71,9 +71,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure \
- --prefix=/usr \
- --disable-nls \
- --disable-doc
+ --prefix=/usr \
+ --disable-nls \
+ --disable-doc \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
diff --git a/lfs/libinih b/lfs/libinih
index bfecc35de..3c25bdbfa 100644
--- a/lfs/libinih
+++ b/lfs/libinih
@@ -77,7 +77,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && meson --prefix=/usr builddir/
- cd $(DIR_APP) && ninja -C builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/libloc b/lfs/libloc
index 8f6b35c32..bdf977c7b 100644
--- a/lfs/libloc
+++ b/lfs/libloc
@@ -24,8 +24,8 @@
include Config
-VER = 0.9.6
-DB_DATE = 2021-03-30
+VER = 0.9.7
+DB_DATE = 2021-07-11
THISAPP = libloc-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,8 +43,8 @@ objects = $(DL_FILE) \
$(DL_FILE) = https://source.ipfire.org/releases/libloc/$(DL_FILE)
location-$(DB_DATE).db.xz = https://location.ipfire.org/databases/1/archive/location-$(DB_DATE).db.xz
-$(DL_FILE)_MD5 = a05c44568bce04ab777caadb3e1d3c51
-location-$(DB_DATE).db.xz_MD5 = e5a05e01e999ba5c70d7e2960336d2a4
+$(DL_FILE)_MD5 = eef5d7de51550b8b051ffe29967b17f0
+location-$(DB_DATE).db.xz_MD5 = 16d273593b2634edc8654cc1a3e81ef1
install : $(TARGET)
diff --git a/lfs/libmpdclient b/lfs/libmpdclient
index 24f516d01..ee18a37a6 100644
--- a/lfs/libmpdclient
+++ b/lfs/libmpdclient
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libmpdclient
-PAK_VER = 4
+PAK_VER = 5
DEPS =
@@ -79,7 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && meson --prefix=/usr builddir/
- cd $(DIR_APP) && ninja -C builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/libssh b/lfs/libssh
index 4eaddcd70..d08e91146 100644
--- a/lfs/libssh
+++ b/lfs/libssh
@@ -24,7 +24,7 @@
include Config
-VER = 0.9.3
+VER = 0.9.6
THISAPP = libssh-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f35e9ad384f29375718682a88a3885da
+$(DL_FILE)_MD5 = 0174df377361221a31a9576afbaba330
install : $(TARGET)
diff --git a/lfs/python-m2crypto b/lfs/libtasn1
similarity index 88%
rename from lfs/python-m2crypto
rename to lfs/libtasn1
index de004bfd9..155608807 100644
--- a/lfs/python-m2crypto
+++ b/lfs/libtasn1
@@ -24,17 +24,15 @@
include Config
-VER = 0.27.0
+VER = 4.17.0
-THISAPP = M2Crypto-$(VER)
+THISAPP = libtasn1-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-#PROG = python-m2crypto
-#PAK_VER = 1
-#DEPS =
+CFLAGS += -fcommon
###############################################################################
# Top-level Rules
@@ -44,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 4477bd6b2835560c73982476dba5e515
+$(DL_FILE)_MD5 = c46f6eb3bd1287031ae5d36465094402
install : $(TARGET)
@@ -54,9 +52,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
-#dist:
-# @$(PAK)
-
###############################################################################
# Downloading, checking, md5sum
###############################################################################
@@ -76,8 +71,12 @@ $(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) && python setup.py build
- cd $(DIR_APP) && python setup.py install --root=/
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ $(UPDATE_AUTOMAKE)
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --disable-static
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/libyang b/lfs/libyang
new file mode 100644
index 000000000..0d7149333
--- /dev/null
+++ b/lfs/libyang
@@ -0,0 +1,88 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# 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 #
+# 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 = 2.0.7
+
+THISAPP = libyang-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+DEPS =
+
+CFLAGS += -fcommon
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 012ad174525527d5a5badfe91ddb8694
+
+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)
+ $(UPDATE_AUTOMAKE)
+ cd $(DIR_APP) && mkdir build
+ cd $(DIR_APP)/build && cmake $(DIR_APP) \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cd $(DIR_APP)/build && make $(MAKETUNING)
+ cd $(DIR_APP)/build && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
+
diff --git a/lfs/linux b/lfs/linux
index c8a1560c7..37271bc8f 100644
--- a/lfs/linux
+++ b/lfs/linux
@@ -24,8 +24,8 @@
include Config
-VER = 5.10.55
-ARM_PATCHES = 5.10.55-ipfire0
+VER = 5.10.76
+ARM_PATCHES = 5.10.76-ipfire1
THISAPP = linux-$(VER)
DL_FILE = linux-$(VER).tar.xz
@@ -77,8 +77,8 @@ objects =$(DL_FILE) \
$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
arm-multi-patches-$(ARM_PATCHES).patch.xz = $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz
-$(DL_FILE)_MD5 = 10d3f47caac28cf126e6d98ad977b2bb
-arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = 8344fdeb190912cf32482dc6d51fba31
+$(DL_FILE)_MD5 = 6d9d29908d48ffee0daab4f6f8d98a65
+arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = 02a75302a5b4a157e3d67ae62af6b178
install : $(TARGET)
diff --git a/lfs/logwatch b/lfs/logwatch
index 8baaef2ce..628dafe6f 100644
--- a/lfs/logwatch
+++ b/lfs/logwatch
@@ -74,6 +74,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP)/lib && patch < $(DIR_SRC)/src/patches/logwatch/logwatch-7.3.6-date_manip6.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/logwatch/logwatch-7.5.4-disable_iptables.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/logwatch/logwatch-7.5.5-enable-mdadm-sudo.patch
@cd $(DIR_APP) && chmod 755 install_logwatch.sh
cd $(DIR_APP) && yes "" | ./install_logwatch.sh
@@ -103,6 +104,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
chmod -v 755 /var/log/logwatch
-rm -rf /etc/logwatch/conf
ln -vsf /usr/share/logwatch/default.conf /etc/logwatch/conf
-
+
+ -mkdir -p /etc/sudoers.d
+ chmod -v 755 /etc/sudoers.d
+ install -v -m 644 $(DIR_SRC)/config/logwatch/sudoers/logwatch-mdadm \
+ /etc/sudoers.d/logwatch-mdadm
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/mc b/lfs/mc
index b5498ab24..9ef542bac 100644
--- a/lfs/mc
+++ b/lfs/mc
@@ -24,7 +24,7 @@
include Config
-VER = 4.8.26
+VER = 4.8.27
THISAPP = mc-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mc
-PAK_VER = 21
+PAK_VER = 22
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3c1f77b71dba1f4eeeedc4276627fed7
+$(DL_FILE)_MD5 = e51cd40a897d9aa01af251d191637ca4
install : $(TARGET)
diff --git a/lfs/minidlna b/lfs/minidlna
index 1a9020158..a0e09a0a3 100644
--- a/lfs/minidlna
+++ b/lfs/minidlna
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team #
+# Copyright (C) 2007-2021 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.2.1
+VER = 1.3.0
THISAPP = minidlna-$(VER)
DL_FILE = minidlna-$(VER).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = minidlna
-PAK_VER = 6
+PAK_VER = 8
DEPS = ffmpeg flac libexif libid3tag libogg
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a968d3d84971322471cabda3669cc0f8
+$(DL_FILE)_MD5 = 89e92d1938ee3066631d4ca9fbf31507
install : $(TARGET)
@@ -89,6 +89,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
#install initscripts
$(call INSTALL_INITSCRIPT,minidlna)
+
+ #install backup definition
+ install -v -m 644 ${DIR_SRC}/config/backup/includes/minidlna \
+ /var/ipfire/backup/addons/includes/minidlna
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/monit b/lfs/monit
index 3720995cd..044fe560f 100644
--- a/lfs/monit
+++ b/lfs/monit
@@ -24,7 +24,7 @@
include Config
-VER = 5.28.0
+VER = 5.29.0
THISAPP = monit-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = monit
-PAK_VER = 14
+PAK_VER = 16
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 778ac383dea002a5cf2330dffcc65660
+$(DL_FILE)_MD5 = 8a0546d0d52216b22ebd57acc0bb1e03
install : $(TARGET)
diff --git a/lfs/mpc b/lfs/mpc
index 2060685cc..47b069401 100644
--- a/lfs/mpc
+++ b/lfs/mpc
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mpc
-PAK_VER = 7
+PAK_VER = 8
DEPS = mpd libmpdclient
@@ -78,7 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && meson --prefix=/usr builddir/
- cd $(DIR_APP) && ninja -C builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/mpd b/lfs/mpd
index 012100b0e..c1871d8b5 100644
--- a/lfs/mpd
+++ b/lfs/mpd
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/${THISAPP}
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mpd
-PAK_VER = 23
+PAK_VER = 24
SUP_ARCH = aarch64 armv6l x86_64 i586
DEPS = alsa avahi faad2 ffmpeg flac lame libmad libshout libogg libid3tag libvorbis opus soxr
@@ -94,7 +94,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-D upnp=disabled \
-D icu=disabled \
builddir/
- cd $(DIR_APP) && ninja -C builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
cd $(DIR_APP) && ninja -C builddir/ install
#install initscripts
diff --git a/lfs/nano b/lfs/nano
index 3bb7806aa..237dfab20 100644
--- a/lfs/nano
+++ b/lfs/nano
@@ -24,7 +24,7 @@
include Config
-VER = 5.8
+VER = 5.9
THISAPP = nano-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = nano
-PAK_VER = 38
+PAK_VER = 39
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d2249e3dd108c830df00efd7c1b79d86
+$(DL_FILE)_MD5 = 24b67a7a2e731d3a5ec6d154b4521d08
install : $(TARGET)
diff --git a/lfs/ncat b/lfs/ncat
index b8c8768dc..0e327a043 100644
--- a/lfs/ncat
+++ b/lfs/ncat
@@ -24,7 +24,7 @@
include Config
-VER = 7.80
+VER = 7.91
THISAPP = ncat-$(VER)
DL_FILE = nmap-$(VER).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/nmap-$(VER)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = ncat
-PAK_VER = 6
+PAK_VER = 7
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d37b75b06d1d40f27b76d60db420a1f5
+$(DL_FILE)_MD5 = 239cef725863ab454590a1bb8793b72b
install : $(TARGET)
@@ -77,6 +77,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ncat-7.91-fix-a-unix-domain-socket-crash.patch
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && mkdir -p build
cd $(DIR_APP) && ./configure \
diff --git a/lfs/ncdu b/lfs/ncdu
index 0ea9370b2..7570aaddd 100644
--- a/lfs/ncdu
+++ b/lfs/ncdu
@@ -25,7 +25,7 @@
include Config
-VER = 1.15.1
+VER = 1.16
THISAPP = ncdu-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -33,7 +33,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = ncdu
-PAK_VER = 1
+PAK_VER = 2
DEPS =
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = af25aa8462a6f29c8a0c4d3d83d186e7
+$(DL_FILE)_MD5 = 8846e965c6c008d572cb42ad3a56400b
install : $(TARGET)
diff --git a/lfs/openssh b/lfs/openssh
index 3117e996c..ec8ac1e55 100644
--- a/lfs/openssh
+++ b/lfs/openssh
@@ -24,7 +24,7 @@
include Config
-VER = 8.6p1
+VER = 8.7p1
THISAPP = openssh-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 805f7048aec6dd752584e570383a6f00
+$(DL_FILE)_MD5 = f545230799f131aecca04da56e61990a
install : $(TARGET)
diff --git a/lfs/openssl b/lfs/openssl
index c56c24af0..e9a422315 100644
--- a/lfs/openssl
+++ b/lfs/openssl
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team #
+# Copyright (C) 2007-2021 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.1.1k
+VER = 1.1.1l
THISAPP = openssl-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -78,7 +78,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = c4e7d95f782b08116afa27b30393dd27
+$(DL_FILE)_MD5 = ac0d4387f3ba0ad741b0580dd45f6ff3
install : $(TARGET)
diff --git a/lfs/p11-kit b/lfs/p11-kit
new file mode 100644
index 000000000..df3f51df1
--- /dev/null
+++ b/lfs/p11-kit
@@ -0,0 +1,82 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# 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 #
+# 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.24.0
+
+THISAPP = p11-kit-$(VER)
+DL_FILE = $(THISAPP).tar.xz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+CFLAGS += -fcommon
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 8ccf11c4a2e2e505b8e516d8549e64a5
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ $(UPDATE_AUTOMAKE)
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --with-trust-paths=/etc/pki/ca-trust/source
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/pcengines-apu-firmware b/lfs/pcengines-apu-firmware
index cf723ff83..0224b028f 100644
--- a/lfs/pcengines-apu-firmware
+++ b/lfs/pcengines-apu-firmware
@@ -24,14 +24,14 @@
include Config
-VER = 4.14.0.2
+VER = 4.14.0.4
THISAPP = pcengines-apu-firmware-$(VER)
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = pcengines-apu-firmware
-PAK_VER = 8
+PAK_VER = 9
SUP_ARCH = i586 x86_64
DEPS = firmware-update
@@ -55,12 +55,12 @@ apu4_v$(VER).rom = $(DL_FROM)/apu4_v$(VER).rom
apu5_v$(VER).rom = $(DL_FROM)/apu5_v$(VER).rom
apu6_v$(VER).rom = $(DL_FROM)/apu6_v$(VER).rom
-apu1_v$(VER).rom_MD5 = e4d9ae35c2be9bf00c18426be5939eea
-apu2_v$(VER).rom_MD5 = 03441c9c73b19e7f7dac609900ce5ea1
-apu3_v$(VER).rom_MD5 = ad98d3f992ca7bfc8ceb5e3f64f8d7ac
-apu4_v$(VER).rom_MD5 = 1257cc73fe96e131da9d21207f6793ce
-apu5_v$(VER).rom_MD5 = 442c34e47402fbe9c2f9c597f9e88bea
-apu6_v$(VER).rom_MD5 = 958de4c34fecedd38fc95e602f28c627
+apu1_v$(VER).rom_MD5 = e60ce8d903cb1e301aae1160aa8413cd
+apu2_v$(VER).rom_MD5 = 00da67aecd00e7479f0194ccc4ee5739
+apu3_v$(VER).rom_MD5 = 4f935c61fc4274c0b427d16d6aa0049a
+apu4_v$(VER).rom_MD5 = 3aed8f5e1e543a3912c808fe68067dde
+apu5_v$(VER).rom_MD5 = c39dbf45aa630c273fcace35fbc6324e
+apu6_v$(VER).rom_MD5 = b81f9da0f39b355344b602868b2ddcff
install : $(TARGET)
diff --git a/lfs/pcre b/lfs/pcre
index e73f3fa08..981a29323 100644
--- a/lfs/pcre
+++ b/lfs/pcre
@@ -24,7 +24,7 @@
include Config
-VER = 8.44
+VER = 8.45
THISAPP = pcre-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -58,7 +58,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = cf7326204cc46c755b5b2608033d9d24
+$(DL_FILE)_MD5 = 4452288e6a0eefb2ab11d36010a1eebb
install : $(TARGET)
diff --git a/lfs/perl-GD b/lfs/perl-GD
index 0a97c18fa..3df5b18c3 100644
--- a/lfs/perl-GD
+++ b/lfs/perl-GD
@@ -24,7 +24,7 @@
include Config
-VER = 2.35
+VER = 2.73
THISAPP = GD-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dfc3e16e85a17aab7ee1029fbe307fca
+$(DL_FILE)_MD5 = c2bf1ca56d15e33d2432e4d8ba5aeadf
install : $(TARGET)
diff --git a/lfs/perl-MIME-Lite b/lfs/perl-MIME-Lite
index 186a95c4b..7fd9903e5 100644
--- a/lfs/perl-MIME-Lite
+++ b/lfs/perl-MIME-Lite
@@ -24,7 +24,7 @@
include Config
-VER = 3.030
+VER = 3.033
THISAPP = MIME-Lite-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5a6d90329e049eee77248d667343acc7
+$(DL_FILE)_MD5 = 42f056ef1338f129b1187a05e7b44369
install : $(TARGET)
diff --git a/lfs/poppler b/lfs/poppler
index a63001c46..3589e86b4 100644
--- a/lfs/poppler
+++ b/lfs/poppler
@@ -24,7 +24,7 @@
include Config
-VER = 21.05.0
+VER = 21.07.0
THISAPP = poppler-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 109c337462c2a4ac916226588a2c23f7
+$(DL_FILE)_MD5 = 3c4b500a0af4cf1dc4a1c66fa48b7551
install : $(TARGET)
diff --git a/lfs/postfix b/lfs/postfix
index 3735f7e69..f6892c1c1 100644
--- a/lfs/postfix
+++ b/lfs/postfix
@@ -24,7 +24,7 @@
include Config
-VER = 3.6.1
+VER = 3.6.2
THISAPP = postfix-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = postfix
-PAK_VER = 31
+PAK_VER = 32
DEPS =
@@ -66,7 +66,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 85d1c2b06a469ba6cc61946c7042e40e
+$(DL_FILE)_MD5 = 4718b498fa4285cf275f506c169f4746
install : $(TARGET)
diff --git a/lfs/ppp b/lfs/ppp
index cbac95067..73356b8c4 100644
--- a/lfs/ppp
+++ b/lfs/ppp
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team #
+# Copyright (C) 2007-2021 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,12 +24,12 @@
include Config
-VER = 2.4.8
+VER = 2.4.9
THISAPP = ppp-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/ppp-$(THISAPP)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
CFLAGS += -fno-strict-aliasing
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fa325e90e43975a1bd7e1012c8676123
+$(DL_FILE)_MD5 = f605d021b586fc26e35c6a54fd84b65f
install : $(TARGET)
@@ -73,16 +73,15 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && rm -f include/pcap-int.h include/linux/if_pppol2tp.h
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
cd $(DIR_APP) && sed -i -e "s+/etc/ppp/connect-errors+/var/log/connect-errors+" pppd/pathnames.h
- cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
- cd $(DIR_APP) && make $(MAKETUNING) CC="gcc" RPM_OPT_FLAGS="$(CFLAGS)"
+ cd $(DIR_APP) && ./configure --prefix=/usr --cc="gcc" --cflags="$(CFLAGS)" --disable-nls
+ cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
cd $(DIR_APP) && make install-etcppp
touch /var/log/connect-errors
diff --git a/lfs/python b/lfs/python
deleted file mode 100644
index 5b386e298..000000000
--- a/lfs/python
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2019 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
-
-# If you update this make sure that you also change the VER and PAK_VER of
-# python-optional-src !
-VER = 2.7.18
-
-THISAPP = Python-$(VER)
-DL_FILE = $(THISAPP).tar.xz
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = fd6cc8ec0a78c44036f825e739f36e5a
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
- rm -rf $(DIR_APP)/Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
- cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure \
- --prefix=/usr \
- --enable-shared \
- --with-system-ffi
-
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/lfs/python-setuptools b/lfs/python-setuptools
deleted file mode 100644
index 1ffcfca18..000000000
--- a/lfs/python-setuptools
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# 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 #
-# 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.6c11
-
-THISAPP = setuptools-$(VER)
-DL_FILE = $(THISAPP)-py2.7.egg
-DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/$(THISAPP)
-TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = python-setuptools
-PAK_VER = 2
-
-DEPS =
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = fe1f997bc722265116870bc7919059ea
-
-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)
- bash $(DIR_DL)/$(DL_FILE)
- @$(POSTBUILD)
diff --git a/lfs/rpcbind b/lfs/rpcbind
index 39d4dba4d..071b89bd3 100644
--- a/lfs/rpcbind
+++ b/lfs/rpcbind
@@ -24,7 +24,7 @@
include Config
-VER = 1.2.5
+VER = 1.2.6
THISAPP = rpcbind-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = rpcbind
-PAK_VER = 4
+PAK_VER = 5
DEPS = libtirpc
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ed46f09b9c0fa2d49015f6431bc5ea7b
+$(DL_FILE)_MD5 = 2d84ebbb7d6fb1fc3566d2d4b37f214b
install : $(TARGET)
diff --git a/lfs/rtl8822bu b/lfs/rtl8822bu
new file mode 100644
index 000000000..b7995e7e0
--- /dev/null
+++ b/lfs/rtl8822bu
@@ -0,0 +1,95 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2021 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
+
+VERSUFIX = ipfire$(KCFG)
+MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
+
+VER = fd0b735e2e30d32f4d91497242cf6af288bdd082
+
+THISAPP = 88x2bu-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 6c2207213d8bc81309d08b26b4d77eb4
+
+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) && CONFIG_RTL8822BU=m make $(MAKETUNING) \
+ -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
+
+ # Install the built kernel modules.
+ mkdir -p $(MODPATH)
+ cd $(DIR_APP) && for f in $$(ls *.ko); do \
+ /lib/modules/$$(uname -r)$(KCFG)/build/scripts/sign-file sha512 \
+ /lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.pem \
+ /lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.x509 \
+ $$f; \
+ xz $$f; \
+ install -m 644 $$f.xz $(MODPATH); \
+ done
+
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
+
diff --git a/lfs/samba b/lfs/samba
index bcb65668a..45f4ffc44 100644
--- a/lfs/samba
+++ b/lfs/samba
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = samba
-PAK_VER = 81
+PAK_VER = 82
DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp
diff --git a/lfs/sdl b/lfs/sdl2
similarity index 93%
rename from lfs/sdl
rename to lfs/sdl2
index 0e96af04d..ea5f15ce2 100644
--- a/lfs/sdl
+++ b/lfs/sdl2
@@ -24,15 +24,15 @@
include Config
-VER = 1.2.15
+VER = 2.0.16
-THISAPP = SDL-$(VER)
+THISAPP = SDL2-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-PROG = sdl
-PAK_VER = 3
+PROG = sdl2
+PAK_VER = 4
DEPS = alsa
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 9d96df8417572a2afb781a7c4c811a85
+$(DL_FILE)_MD5 = 98b8a1535a757ea1d03ae44e2fb20247
install : $(TARGET)
@@ -78,7 +78,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
- cd $(DIR_APP) && ./configure --prefix=/usr
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/lfs/shairport-sync b/lfs/shairport-sync
index 6ec986bbe..2f0995480 100644
--- a/lfs/shairport-sync
+++ b/lfs/shairport-sync
@@ -24,7 +24,7 @@
include Config
-VER = 3.3.7
+VER = 3.3.8
THISAPP = shairport-sync-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = shairport-sync
-PAK_VER = 5
+PAK_VER = 6
DEPS = alac alsa avahi libdaemon soxr
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5f4206ac28e323fda3c150575eb64e15
+$(DL_FILE)_MD5 = b84a05dd6d81ef52b39b02f378e4462b
install : $(TARGET)
diff --git a/lfs/spice b/lfs/spice
index d1f56e708..72b132ebd 100644
--- a/lfs/spice
+++ b/lfs/spice
@@ -24,7 +24,7 @@
include Config
-VER = 0.14.0
+VER = 0.15.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 = 5
+PAK_VER = 6
DEPS = opus
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6622aa7dfb5cd026a4d0d7e659216d26
+$(DL_FILE)_MD5 = 840c5284ebc78c15fc7c3a146931bc01
install : $(TARGET)
diff --git a/lfs/spice-protocol b/lfs/spice-protocol
index 00f2e57b3..ead597438 100644
--- a/lfs/spice-protocol
+++ b/lfs/spice-protocol
@@ -24,15 +24,15 @@
include Config
-VER = 0.12.13
+VER = 0.14.3
THISAPP = spice-protocol-$(VER)
-DL_FILE = $(THISAPP).tar.bz2
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = spice-protocol
-PAK_VER = 3
+PAK_VER = 4
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 50a1d951d1fa96d1478ff0cc7f3b1442
+$(DL_FILE)_MD5 = 950e08044497ca9cf64e368cb3ceb395
install : $(TARGET)
@@ -76,10 +76,9 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./configure --prefix=/usr
- cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
- cd $(DIR_APP) && make install
- /usr/share/automake-*/py-compile /usr/lib/spice-protocol/python_modules/*
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && meson --prefix=/usr builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
+ cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/sqlite b/lfs/sqlite
index a68bf462b..04eada9d8 100644
--- a/lfs/sqlite
+++ b/lfs/sqlite
@@ -24,7 +24,7 @@
include Config
-VER = 3350500
+VER = 3360000
THISAPP = sqlite-autoconf-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d1d1aba394c8e0443077dc9f1a681bb8
+$(DL_FILE)_MD5 = f5752052fc5b8e1b539af86a3671eac7
install : $(TARGET)
diff --git a/lfs/ipaddr b/lfs/squid-asnbl
similarity index 87%
rename from lfs/ipaddr
rename to lfs/squid-asnbl
index d5d28229b..9bb7ef198 100644
--- a/lfs/ipaddr
+++ b/lfs/squid-asnbl
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team #
+# Copyright (C) 2007-2021 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 #
@@ -18,20 +18,25 @@
# #
###############################################################################
+
###############################################################################
# Definitions
###############################################################################
include Config
-VER = 1.2
+VER = 0.2.3
-THISAPP = ipaddr-$(VER)
+THISAPP = squid-asnbl-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
+
DIR_APP = $(DIR_SRC)/$(THISAPP)
+
TARGET = $(DIR_INFO)/$(THISAPP)
+DEPS = libloc squid python3
+
###############################################################################
# Top-level Rules
###############################################################################
@@ -40,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 239a3725a3dd6a1d1e369b75144e617e
+$(DL_FILE)_MD5 = cf0a269215f06f487d1ed488ea463d6b
install : $(TARGET)
@@ -69,8 +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) && install -m 0644 ipaddr.py /usr/lib/python2*
- /usr/bin/python -c "import ipaddr"
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zvxf $(DIR_DL)/$(DL_FILE)
+
+ # Install ASNBL helper script
+ cd $(DIR_APP) && install -o root -g root -m 0755 asnbl-helper.py /usr/bin/asnbl-helper.py
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/sshfs b/lfs/sshfs
index 1e7706194..23b68c541 100644
--- a/lfs/sshfs
+++ b/lfs/sshfs
@@ -73,6 +73,8 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && meson --prefix=/usr builddir && cd builddir && ninja && ninja install
+ cd $(DIR_APP) && meson --prefix=/usr builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
+ cd $(DIR_APP) && ninja -C builddir/ install
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/strongswan b/lfs/strongswan
index 0f00b071f..45ff8f426 100644
--- a/lfs/strongswan
+++ b/lfs/strongswan
@@ -24,7 +24,7 @@
include Config
-VER = 5.9.2
+VER = 5.9.4
THISAPP = strongswan-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 8918e6675e1be3784817641f07eadeb8
+$(DL_FILE)_MD5 = 9c387eb77f0159fdefbcf7e81c905c35
install : $(TARGET)
@@ -72,8 +72,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-disable-ipv6.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-ipfire.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-ipfire-interfaces.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-ipfire-revert.patch
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && ./configure \
diff --git a/lfs/sudo b/lfs/sudo
index 9edd08961..a74c34e7e 100644
--- a/lfs/sudo
+++ b/lfs/sudo
@@ -24,7 +24,7 @@
include Config
-VER = 1.9.7p1
+VER = 1.9.7p2
THISAPP = sudo-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0ea3649ef66df80e6ecd04d45ea0f762
+$(DL_FILE)_MD5 = d6f8217bfd16649236e100c49e0a7cc4
install : $(TARGET)
diff --git a/lfs/suricata b/lfs/suricata
index 19038e7c4..c7f189bf4 100644
--- a/lfs/suricata
+++ b/lfs/suricata
@@ -24,7 +24,7 @@
include Config
-VER = 5.0.6
+VER = 5.0.7
THISAPP = suricata-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 82d80b4b3179315bf6f5695c6437ee1f
+$(DL_FILE)_MD5 = f6ff77e4dcf8035853209ceeba9b530c
install : $(TARGET)
diff --git a/lfs/sysfsutils b/lfs/sysfsutils
index b177cb322..6c872b16b 100644
--- a/lfs/sysfsutils
+++ b/lfs/sysfsutils
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team #
+# Copyright (C) 2007-2021 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.3.0
+VER = 2.1.1
THISAPP = sysfsutils-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d11c99271531be3c1e6d36b53968cd2b
+$(DL_FILE)_MD5 = 537c110be7244905997262854505c30f
install : $(TARGET)
@@ -74,7 +74,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
- cd $(DIR_APP) && ./configure --prefix=""
+ cd $(DIR_APP) && ./autogen
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --libdir=/lib \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING) \
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
cd $(DIR_APP) && make install
diff --git a/lfs/sysstat b/lfs/sysstat
index bdd78ff86..4ea724c74 100644
--- a/lfs/sysstat
+++ b/lfs/sysstat
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team #
+# Copyright (C) 2007-2021 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 = 6.0.2
+VER = 12.5.4
THISAPP = sysstat-$(VER)
DL_FILE = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 99ed143d7e753f0b2220baa115859b44
+$(DL_FILE)_MD5 = e2616e42f1b613ca8113ee8de7b7eafd
install : $(TARGET)
@@ -70,9 +70,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/sysstat-6.0.2-sysconf.patch
- cd $(DIR_APP) && sed "/asm\/page.h/d" -i common.c
- cd $(DIR_APP) && cp -vf $(DIR_SRC)/config/sysstat/CONFIG build/
+ cd $(DIR_APP) && ./configure --prefix=/usr
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/lfs/taglib b/lfs/taglib
index 101d64662..ec9038700 100644
--- a/lfs/taglib
+++ b/lfs/taglib
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team #
+# Copyright (C) 2007-2021 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.11.1
+VER = 1.12
THISAPP = taglib-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = taglib
-PAK_VER = 2
+PAK_VER = 3
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = cee7be0ccfc892fa433d6c837df9522a
+$(DL_FILE)_MD5 = 4313ed2671234e029b7af8f97c84e9af
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
diff --git a/lfs/texinfo b/lfs/texinfo
index 236713b47..4563243f0 100644
--- a/lfs/texinfo
+++ b/lfs/texinfo
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2020 IPFire Team #
+# Copyright (C) 2007-2021 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,12 +24,12 @@
include Config
-VER = 6.7
+VER = 6.8
THISAPP = texinfo-$(VER)
DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/texinfo-6.7
+DIR_APP = $(DIR_SRC)/$(THISAPP)
# Normal build or $(TOOLS_DIR) build.
#
@@ -47,7 +47,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d4c5d8cc84438c5993ec5163a59522a6
+$(DL_FILE)_MD5 = a91b404e30561a5df803e6eb3a53be71
install : $(TARGET)
diff --git a/lfs/tor b/lfs/tor
index 97f2cf04e..7aaad07d3 100644
--- a/lfs/tor
+++ b/lfs/tor
@@ -24,7 +24,7 @@
include Config
-VER = 0.4.6.5
+VER = 0.4.6.7
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 = 62
+PAK_VER = 64
DEPS = libseccomp
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5a678a32c5a8b4bf97c9cb541df22b71
+$(DL_FILE)_MD5 = ff80309cfaa0719b197fdaf83f9d5443
install : $(TARGET)
diff --git a/lfs/traceroute b/lfs/traceroute
index 87157ff42..0ec14538e 100644
--- a/lfs/traceroute
+++ b/lfs/traceroute
@@ -24,7 +24,7 @@
include Config
-VER = 2.0.18
+VER = 2.1.0
THISAPP = traceroute-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = traceroute
-PAK_VER = 3
+PAK_VER = 4
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = b7254149b7f081cce07f4b9e065ba5ef
+$(DL_FILE)_MD5 = 84d329d67abc3fb83fc8cb12aeaddaba
install : $(TARGET)
diff --git a/lfs/u-boot b/lfs/u-boot
index 9f3addd29..4fd6289d9 100644
--- a/lfs/u-boot
+++ b/lfs/u-boot
@@ -33,15 +33,19 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-$(MKIMAGE)
SUP_ARCH = armv6l aarch64
+CFLAGS := $(patsubst -fstack-protector-strong,,$(CFLAGS))
+
###############################################################################
# Top-level Rules
###############################################################################
-objects = $(DL_FILE)
+objects = $(DL_FILE) arm-trusted-firmware-2.5.tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+arm-trusted-firmware-2.5.tar.gz = $(DL_FROM)/arm-trusted-firmware-2.5.tar.gz
$(DL_FILE)_MD5 = 7afbe0ef070dc0e8e970c57a08e3f336
+arm-trusted-firmware-2.5.tar.gz_MD5 = a3c01d2a73d5171e3f1c0737ff5321d9
install : $(TARGET)
@@ -178,6 +182,23 @@ else
cd $(DIR_APP) && install u-boot.bin /boot/u-boot-rpi4.bin
cd $(DIR_APP) && make distclean
+ # Nanopi R2S
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/u-boot/rockchip/generate-2-ethaddr.diff
+ cd $(DIR_APP) && rm -rf arm-trusted-firmware-2.5
+ cd $(DIR_APP) && tar axf $(DIR_DL)/arm-trusted-firmware-2.5.tar.gz
+ cd $(DIR_APP)/arm-trusted-firmware-2.5 && make PLAT=rk3328 ARCH=aarch64 DEBUG=0 bl31
+ cd $(DIR_APP) && cp arm-trusted-firmware-2.5/build/rk3328/release/bl31/bl31.elf bl31.elf
+ cd $(DIR_APP) && rm -rf arm-trusted-firmware-2.5
+ -mkdir -pv /usr/share/u-boot/nanopi_r2s
+ cd $(DIR_APP) && make CROSS_COMPILE="" nanopi-r2s-rk3328_config
+ cd $(DIR_APP) && sed -i -e 's!^CONFIG_IDENT_STRING=.*!CONFIG_IDENT_STRING=" Nanopi R2S - IPFire.org"!' .config
+ cd $(DIR_APP) && sed -i -e 's!^CONFIG_BOOTCOMMAND=.*!CONFIG_BOOTCOMMAND="console=ttyS2,115200n8;run distro_bootcmd"!' .config
+ cd $(DIR_APP) && sed -i -e 's!^CONFIG_BAUDRATE=.*!CONFIG_BAUDRATE=115200"!' .config
+ cd $(DIR_APP) && make CROSS_COMPILE="" HOSTCC="gcc $(CFLAGS)"
+ cd $(DIR_APP) && install -v -m 644 u-boot-rockchip.bin \
+ /usr/share/u-boot/nanopi_r2s/u-boot-rockchip.bin
+ cd $(DIR_APP) && make distclean
+
endif
# create an empty 128 KB File for the u-boot env
dd if=/dev/zero of=/boot/uboot.env bs=1K count=128
diff --git a/lfs/u-boot-friendlyarm b/lfs/u-boot-friendlyarm
index c69f97018..ab3353dba 100644
--- a/lfs/u-boot-friendlyarm
+++ b/lfs/u-boot-friendlyarm
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2019 IPFire Team #
+# Copyright (C) 2007-2021 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,12 +24,15 @@
include Config
-VER = 5e8607b
-
+VER = 5e8607b-nanopi-r1-binary
+#
+# This older and heavy patched u-boot cannot build without python2 so this
+# copy the binary from core159
+#
THISAPP = u-boot-friendlyarm-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/u-boot-$(VER)*
+DIR_APP = $(DIR_SRC)/u-boot-$(VER)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = armv6l
@@ -41,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fa7bb610b17df6b884f6c88f19ce258e
+$(DL_FILE)_MD5 = a44237f43822ba13c17fce6541af6f6c
install : $(TARGET)
@@ -73,21 +76,5 @@ dist:
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-
-ifeq "${BUILD_ARCH}" "armv6l"
- # Nanopi-R1 eMMC
- -mkdir -pv /usr/share/u-boot/nanopi-r1
- cd $(DIR_APP) && cp arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts arch/arm/dts/sun8i-h3-nanopi-r1.dts
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/u-boot/sunxi/nanopi-r1-add-mac.diff
- cd $(DIR_APP) && make CROSS_COMPILE="" nanopi_h3_config
- cd $(DIR_APP) && sed -i -e 's!^CONFIG_IDENT_STRING=.*!CONFIG_IDENT_STRING=" Nanopi-R1 eMMC - IPFire.org"!' .config
- cd $(DIR_APP) && sed -i -e 's!^CONFIG_DEFAULT_DEVICE_TREE=.*!CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-r1"!' .config
- cd $(DIR_APP) && make CROSS_COMPILE="" HOSTCC="gcc $(CFLAGS)"
- cd $(DIR_APP) && install -v -m 644 u-boot-sunxi-with-spl.bin \
- /usr/share/u-boot/nanopi-r1
- cd $(DIR_APP) && make distclean
-endif
-
- @rm -rf $(DIR_APP)
+ @cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) -C /usr/share/u-boot/
@$(POSTBUILD)
diff --git a/lfs/udev b/lfs/udev
index b578ab54c..cfad0398b 100644
--- a/lfs/udev
+++ b/lfs/udev
@@ -132,5 +132,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -m 755 $(DIR_SRC)/config/udev/enable_codel \
/lib/udev/enable_codel
+ # Install offloading rules
+ install -v -m 644 $(DIR_SRC)/config/udev/99-offloading.rules \
+ /lib/udev/rules.d
+ install -m 755 $(DIR_SRC)/config/udev/network-offloading \
+ /lib/udev/network-offloading
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/lfs/wireless-regdb b/lfs/wireless-regdb
index 6cffd34ba..8b89795ae 100644
--- a/lfs/wireless-regdb
+++ b/lfs/wireless-regdb
@@ -72,5 +72,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && make install
+ cp -vf $(DIR_APP)/db.txt /lib/firmware/regulatorydb.txt
@rm -rf $(DIR_APP)
@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index d78fb2ff0..e26753f4e 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-2020 IPFire Team . #
+# Copyright (C) 2007-2021 IPFire Team . #
# #
############################################################################
#
@@ -26,7 +26,7 @@ NAME="IPFire" # Software name
SNAME="ipfire" # Short name
# If you update the version don't forget to update backupiso and add it to core update
VERSION="2.27" # Version number
-CORE="159" # Core Level (Filename)
+CORE="161" # Core Level (Filename)
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
MAX_RETRIES=1 # prefetch/check loop
@@ -1128,7 +1128,6 @@ buildbase() {
lfsmake2 gperf
lfsmake2 gzip
lfsmake2 hostname
- lfsmake2 iproute2
lfsmake2 jwhois
lfsmake2 kbd
lfsmake2 less
@@ -1190,6 +1189,7 @@ buildipfire() {
lfsmake2 libnetfilter_cthelper
lfsmake2 libnetfilter_cttimeout
lfsmake2 iptables
+ lfsmake2 iproute2
lfsmake2 screen
lfsmake2 elfutils
@@ -1198,6 +1198,7 @@ buildipfire() {
lfsmake2 linux KCFG=""
lfsmake2 rtl8189es KCFG=""
lfsmake2 rtl8812au KCFG=""
+ lfsmake2 rtl8822bu KCFG=""
lfsmake2 xradio KCFG=""
lfsmake2 xtables-addons KCFG=""
lfsmake2 linux-initrd KCFG=""
@@ -1228,12 +1229,13 @@ buildipfire() {
lfsmake2 tcl
lfsmake2 sqlite
lfsmake2 libffi
- lfsmake2 python
lfsmake2 python3
lfsmake2 gdb
lfsmake2 grub
lfsmake2 efivar
lfsmake2 efibootmgr
+ lfsmake2 libtasn1
+ lfsmake2 p11-kit
lfsmake2 ca-certificates
lfsmake2 fireinfo
lfsmake2 libnet
@@ -1275,6 +1277,7 @@ buildipfire() {
lfsmake2 libinih
lfsmake2 cdrkit
lfsmake2 dosfstools
+ lfsmake2 exfatprogs
lfsmake2 reiserfsprogs
lfsmake2 xfsprogs
lfsmake2 sysfsutils
@@ -1282,6 +1285,7 @@ buildipfire() {
lfsmake2 ntfs-3g
lfsmake2 ethtool
lfsmake2 fcron
+ lfsmake2 ExtUtils-PkgConfig
lfsmake2 perl-GD
lfsmake2 GD-Graph
lfsmake2 GD-TextUtil
@@ -1296,7 +1300,6 @@ buildipfire() {
lfsmake2 whatmask
lfsmake2 libtirpc
lfsmake2 conntrack-tools
- lfsmake2 ipaddr
lfsmake2 iputils
lfsmake2 l7-protocols
lfsmake2 hwdata
@@ -1333,7 +1336,6 @@ buildipfire() {
lfsmake2 XML-Parser
lfsmake2 Crypt-PasswdMD5
lfsmake2 Net-Telnet
- lfsmake2 python-setuptools
lfsmake2 python3-setuptools
lfsmake2 python3-inotify
lfsmake2 python3-docutils
@@ -1446,7 +1448,7 @@ buildipfire() {
lfsmake2 python3-pyparsing
lfsmake2 spice-protocol
lfsmake2 spice
- lfsmake2 sdl
+ lfsmake2 sdl2
lfsmake2 libusbredir
lfsmake2 libseccomp
lfsmake2 qemu
@@ -1511,16 +1513,13 @@ buildipfire() {
lfsmake2 zerofree
lfsmake2 minicom
lfsmake2 ddrescue
- lfsmake2 client175
lfsmake2 powertop
lfsmake2 parted
lfsmake2 swig
+ lfsmake2 dtc
lfsmake2 u-boot
lfsmake2 u-boot-friendlyarm
- lfsmake2 python-typing
- lfsmake2 python-m2crypto
lfsmake2 wireless-regdb
- lfsmake2 crda
lfsmake2 libsolv
lfsmake2 ddns
lfsmake2 python3-setuptools-scm
@@ -1577,6 +1576,7 @@ buildipfire() {
lfsmake2 ipset
lfsmake2 dnsdist
lfsmake2 bird
+ lfsmake2 libyang
lfsmake2 frr
lfsmake2 dmidecode
lfsmake2 mcelog
@@ -1613,6 +1613,7 @@ buildipfire() {
lfsmake2 socat
lfsmake2 libcdada
lfsmake2 pmacct
+ lfsmake2 squid-asnbl
}
buildinstaller() {
@@ -1904,24 +1905,24 @@ gettoolchain)
fi
;;
uploadsrc)
- PWD=`pwd`
if [ -z $IPFIRE_USER ]; then
echo -n "You have to setup IPFIRE_USER first. See .config for details."
print_status FAIL
exit 1
fi
- URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
- REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
+ URL_SOURCE="$(awk '/^URL_SOURCE/ { print $3 }' lfs/Config)"
+
+ rsync \
+ --recursive \
+ --update \
+ --ignore-existing \
+ --progress \
+ --human-readable \
+ --exclude="toolchains/" \
+ "${BASEDIR}/cache/" \
+ "${IPFIRE_USER}@${URL_SOURCE}"
- for file in ${BASEDIR}/cache/*; do
- [ -d "${file}" ] && continue
- grep -q "$(basename ${file})" <<<$REMOTE_FILES && continue
- NEW_FILES="$NEW_FILES $file"
- done
- [ -n "$NEW_FILES" ] && scp -2 $NEW_FILES ${IPFIRE_USER}@${URL_SOURCE}
- cd $BASEDIR
- cd $PWD
exit 0
;;
lang)
diff --git a/src/initscripts/networking/red b/src/initscripts/networking/red
index ca0a8ae58..56f8ebb66 100644
--- a/src/initscripts/networking/red
+++ b/src/initscripts/networking/red
@@ -410,7 +410,7 @@ case "${1}" in
### Standard PPP options we always use
#
PPP_STD_OPTIONS="$PLUGOPTS usepeerdns defaultroute noipdefault noauth"
- PPP_STD_OPTIONS+=" default-asyncmap hide-password nodetach"
+ PPP_STD_OPTIONS+=" default-asyncmap hide-password nodetach noipv6"
PPP_STD_OPTIONS+=" noaccomp nodeflate nopcomp novj novjccomp"
PPP_STD_OPTIONS+=" nobsdcomp user ${USERNAME} lcp-echo-interval 20"
PPP_STD_OPTIONS+=" lcp-echo-failure 5 ${AUTH}"
diff --git a/src/initscripts/packages/client175 b/src/initscripts/packages/client175
deleted file mode 100644
index 9f279b7fb..000000000
--- a/src/initscripts/packages/client175
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/
-#
-# Description : Client175 (MPD Client with Webinterface)
-#
-# Author : Arne Fitzenreiter
-#
-# Version : 01.00
-#
-# Notes : for www.ipfire.org - GPLv3
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-case "$1" in
- start)
- if [ -e /var/run/client175.pid ]; then
- if ps -p $(cat /var/run/client175.pid) > /dev/null
- then
- boot_mesg "Client175 is already running."
- echo_failure
- exit 0
- fi
- fi
- boot_mesg "Starting Client175 MPD WebIF..."
- sudo -u nobody python /srv/client175/server.py > /var/log/client175 2>&1 &
- echo $! > /var/run/client175.pid
- evaluate_retval
- ;;
-
- stop)
- if [ ! -e /var/run/client175.pid ]; then
- boot_mesg "Client175 pidfile not found!"
- echo_failure
- exit 0
- fi
- boot_mesg "Stopping Client175 MPD WebIF..."
- kill $(cat /var/run/client175.pid)
- evaluate_retval
- rm -f /var/run/client175.pid
- ;;
-
- restart)
- ${0} stop
- sleep 1
- ${0} start
-
- ;;
- status)
- if [ -e /var/run/client175.pid ]; then
- if ps -p $(cat /var/run/client175.pid) > /dev/null
- then
-
- boot_mesg "Client175 is running with Process Id(s) $(cat /var/run/client175.pid)"
- exit 0
- fi
- fi
- boot_mesg "Client175 should not running"
- exit 0
- ;;
-
- *)
- echo "Usage: ${0} {start|stop|reload|restart|status}"
- exit 1
- ;;
-esac
-
-# End $rc_base/init.d/
diff --git a/src/initscripts/system/firewall b/src/initscripts/system/firewall
index baa39abe1..776e70d6e 100644
--- a/src/initscripts/system/firewall
+++ b/src/initscripts/system/firewall
@@ -12,6 +12,13 @@ if [ -f /var/ipfire/red/device ]; then
DEVICE=`/bin/cat /var/ipfire/red/device 2> /dev/null | /usr/bin/tr -d '\012'`
fi
+NAT_MASK="0x0f000000"
+
+IPS_REPEAT_MARK="0x80000000"
+IPS_REPEAT_MASK="0x80000000"
+IPS_BYPASS_MARK="0x40000000"
+IPS_BYPASS_MASK="0x40000000"
+
function iptables() {
/sbin/iptables --wait "$@"
}
@@ -36,6 +43,16 @@ iptables_init() {
modprobe nf_log_ipv4
sysctl -q -w net.netfilter.nf_log.2=nf_log_ipv4
+ # IPS Bypass Chain which stores the BYPASS bit in connection tracking
+ iptables -N IPSBYPASS
+ iptables -A IPSBYPASS -j CONNMARK --save-mark --mask "$(( ~IPS_REPEAT_MASK & 0xffffffff ))"
+
+ # Jump into bypass chain when the BYPASS bit is set
+ for chain in INPUT FORWARD OUTPUT; do
+ iptables -A "${chain}" -m mark \
+ --mark "$(( IPS_REPEAT_MARK | IPS_BYPASS_MARK ))/$(( IPS_REPEAT_MASK | IPS_BYPASS_MASK ))" -j IPSBYPASS
+ done
+
# Empty LOG_DROP and LOG_REJECT chains
iptables -N LOG_DROP
iptables -A LOG_DROP -m limit --limit 10/second -j LOG
@@ -98,6 +115,9 @@ iptables_init() {
iptables -t raw -N CONNTRACK
iptables -t raw -A PREROUTING -j CONNTRACK
+ # Restore any connection marks
+ iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
+
# Fix for braindead ISPs
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
@@ -139,9 +159,10 @@ iptables_init() {
iptables -N IPS_INPUT
iptables -N IPS_FORWARD
iptables -N IPS_OUTPUT
- iptables -A INPUT -j IPS_INPUT
- iptables -A FORWARD -j IPS_FORWARD
- iptables -A OUTPUT -j IPS_OUTPUT
+
+ for chain in INPUT FORWARD OUTPUT; do
+ iptables -A "${chain}" -m mark --mark "0x0/$(( IPS_REPEAT_MASK | IPS_BYPASS_MASK ))" -j "IPS_${chain}"
+ done
# OpenVPN transfer network translation
iptables -t nat -N OVPNNAT
@@ -282,17 +303,17 @@ iptables_init() {
if [ -n "${GREEN_ADDRESS}" ]; then
iptables -t nat -A NAT_DESTINATION_FIX \
- -m mark --mark 1 -j SNAT --to-source "${GREEN_ADDRESS}"
+ -m mark --mark "0x01000000/${NAT_MASK}" -j SNAT --to-source "${GREEN_ADDRESS}"
fi
if [ -n "${BLUE_ADDRESS}" ]; then
iptables -t nat -A NAT_DESTINATION_FIX \
- -m mark --mark 2 -j SNAT --to-source "${BLUE_ADDRESS}"
+ -m mark --mark "0x02000000/${NAT_MASK}" -j SNAT --to-source "${BLUE_ADDRESS}"
fi
if [ -n "${ORANGE_ADDRESS}" ]; then
iptables -t nat -A NAT_DESTINATION_FIX \
- -m mark --mark 3 -j SNAT --to-source "${ORANGE_ADDRESS}"
+ -m mark --mark "0x04000000/${NAT_MASK}" -j SNAT --to-source "${ORANGE_ADDRESS}"
fi
# RED chain, used for the red interface
@@ -371,8 +392,8 @@ iptables_red_up() {
iptables -A REDINPUT -p udp --source-port 67 --destination-port 68 -i $IFACE -j ACCEPT
fi
- # Outgoing masquerading (don't masqerade IPsec (mark 50))
- iptables -t nat -A REDNAT -m mark --mark 50 -o $IFACE -j RETURN
+ # Outgoing masquerading (don't masqerade IPsec)
+ iptables -t nat -A REDNAT -m policy --pol ipsec --dir=out -o "${IFACE}" -j RETURN
if [ "${IFACE}" = "${GREEN_DEV}" ]; then
iptables -t nat -A REDNAT -i "${GREEN_DEV}" -o "${IFACE}" -j RETURN
diff --git a/src/initscripts/system/functions b/src/initscripts/system/functions
index d610a524d..e44a2b4a1 100644
--- a/src/initscripts/system/functions
+++ b/src/initscripts/system/functions
@@ -436,6 +436,7 @@ getpids()
#*******************************************************************************
loadproc()
{
+ local background=""
local pidfile=""
local forcestart=""
local nicelevel=""
@@ -448,6 +449,10 @@ loadproc()
while true
do
case "${1}" in
+ -b)
+ background="1"
+ shift 1
+ ;;
-f)
forcestart="1"
shift 1
@@ -506,8 +511,16 @@ loadproc()
cmd="nice -n "${nicelevel}" ${cmd}"
fi
- ${cmd}
- evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts
+ if [ -n "${background}" ]; then
+ (
+ ${cmd} &>/dev/null
+ ) &
+ evaluate_retval
+ else
+ ${cmd}
+ evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts
+ fi
+
return 0
}
diff --git a/src/initscripts/system/leds b/src/initscripts/system/leds
index d7b01e570..07147ce6c 100644
--- a/src/initscripts/system/leds
+++ b/src/initscripts/system/leds
@@ -121,6 +121,11 @@ case "${1}" in
setup_netdev_trigger nanopi-r1:green:wan ${RED_DEV} tx rx
setup_netdev_trigger nanopi-r1:green:lan ${GREEN_DEV} tx rx
+ # Nanopi R1 start
+ setup_heartbeat_trigger nanopi-r2s:red:sys
+ setup_netdev_trigger nanopi-r2s:green:wan ${RED_DEV} tx rx
+ setup_netdev_trigger nanopi-r2s:green:lan ${GREEN_DEV} tx rx
+
exit 0
;;
@@ -155,6 +160,12 @@ case "${1}" in
disable_led_trigger nanopi-r1:green:wan
disable_led_trigger nanopi-r1:green:lan
+ # Nanopi R2S stop
+ disable_led_trigger nanopi-r2s:red:sys
+ enable_led nanopi-r2s:red:sys
+ disable_led_trigger nanopi-r2s:green:wan
+ disable_led_trigger nanopi-r2s:green:lan
+
exit 0
;;
diff --git a/src/initscripts/system/partresize b/src/initscripts/system/partresize
index 4fa1906d0..2206ca451 100644
--- a/src/initscripts/system/partresize
+++ b/src/initscripts/system/partresize
@@ -45,9 +45,9 @@ case "${1}" in
esac
fi
- # Enable the serial console on all systems on AWS EC2, Azure
- # and Google Compute Platform
- if running_on_ec2 || running_on_azure || running_on_gcp; then
+ # Enable the serial console on all systems on AWS EC2, Oracle Cloud,
+ # Azure and Google Compute Platform
+ if running_on_ec2 || running_on_oci || running_on_azure || running_on_gcp; then
scon="on"
fi
diff --git a/src/initscripts/system/suricata b/src/initscripts/system/suricata
index 33633ddf9..13fcc7f34 100644
--- a/src/initscripts/system/suricata
+++ b/src/initscripts/system/suricata
@@ -34,10 +34,6 @@ network_zones=( red green blue orange ovpn )
# Array to store the network zones weather the IPS is enabled for.
enabled_ips_zones=()
-# Mark and Mask options.
-MARK="0x70000000"
-MASK="0x70000000"
-
# PID file of suricata.
PID_FILE="/var/run/suricata.pid"
@@ -137,19 +133,14 @@ function generate_fw_rules {
# Loop through the array and create firewall rules.
for enabled_ips_zone in "${enabled_ips_zones[@]}"; do
# Create rules queue input and output related traffic and pass it to the IPS.
- iptables -w -I "$IPS_INPUT_CHAIN" -i "$enabled_ips_zone" -m mark ! --mark "$MARK"/"$MASK" -j NFQUEUE $NFQ_OPTIONS
- iptables -w -I "$IPS_OUTPUT_CHAIN" -o "$enabled_ips_zone" -m mark ! --mark "$MARK"/"$MASK" -j NFQUEUE $NFQ_OPTIONS
+ iptables -w -A "$IPS_INPUT_CHAIN" -i "$enabled_ips_zone" -j NFQUEUE $NFQ_OPTIONS
+ iptables -w -A "$IPS_OUTPUT_CHAIN" -o "$enabled_ips_zone" -j NFQUEUE $NFQ_OPTIONS
# Create rules which are required to handle forwarded traffic.
for enabled_ips_zone_forward in "${enabled_ips_zones[@]}"; do
- iptables -w -I "$IPS_FORWARD_CHAIN" -i "$enabled_ips_zone" -o "$enabled_ips_zone_forward" -m mark ! --mark "$MARK"/"$MASK" -j NFQUEUE $NFQ_OPTIONS
+ iptables -w -A "$IPS_FORWARD_CHAIN" -i "$enabled_ips_zone" -o "$enabled_ips_zone_forward" -j NFQUEUE $NFQ_OPTIONS
done
done
-
- # Clear repeat bit, so that it does not confuse IPsec or QoS
- iptables -w -A "${IPS_INPUT_CHAIN}" -j MARK --set-xmark "0x0/${MASK}"
- iptables -w -A "${IPS_FORWARD_CHAIN}" -j MARK --set-xmark "0x0/${MASK}"
- iptables -w -A "${IPS_OUTPUT_CHAIN}" -j MARK --set-xmark "0x0/${MASK}"
fi
}
diff --git a/src/pakfire/lib/functions.pl b/src/pakfire/lib/functions.pl
index f46c9acc1..4d9854a6f 100644
--- a/src/pakfire/lib/functions.pl
+++ b/src/pakfire/lib/functions.pl
@@ -30,6 +30,7 @@ use HTTP::Headers;
use HTTP::Message;
use HTTP::Request;
use Net::Ping;
+use URI;
use Switch;
@@ -297,6 +298,17 @@ sub valid_signature($) {
}
sub selectmirror {
+ if (defined ${Conf::mirror}) {
+ my $uri = URI->new("${Conf::mirror}");
+
+ # Only accept HTTPS mirrors
+ if ($uri->scheme eq "https") {
+ return ("HTTPS", $uri->host, $uri->path . "/" . ${Conf::version});
+ } else {
+ message("MIRROR ERROR: Unsupported mirror: " . ${Conf::mirror});
+ }
+ }
+
### Check if there is a current server list and read it.
# If there is no list try to get one.
my $count = 0;
diff --git a/src/pakfire/pakfire.conf b/src/pakfire/pakfire.conf
index 9930f3771..bc54dcff4 100644
--- a/src/pakfire/pakfire.conf
+++ b/src/pakfire/pakfire.conf
@@ -23,6 +23,9 @@ package Conf;
$mainserver = "pakfire.ipfire.org";
+# Only use this mirror
+#$mirror = "https://mirror1.ipfire.org/pakfire2";
+
$cachedir = "/opt/pakfire/cache";
$dbdir = "/opt/pakfire/db";
$coredir = "/opt/pakfire/db/core";
diff --git a/src/paks/minidlna/install.sh b/src/paks/minidlna/install.sh
index 5080157cd..397d3b193 100644
--- a/src/paks/minidlna/install.sh
+++ b/src/paks/minidlna/install.sh
@@ -25,6 +25,7 @@
extract_files
[ -d /var/mp3 ] || ( mkdir /var/mp3 && chown nobody.nobody /var/mp3 )
+restore_backup ${NAME}
start_service ${NAME}
ln -svf ../init.d/minidlna /etc/rc.d/rc0.d/K00minidlna
diff --git a/src/paks/minidlna/uninstall.sh b/src/paks/minidlna/uninstall.sh
index bc5983843..8c8f28e47 100644
--- a/src/paks/minidlna/uninstall.sh
+++ b/src/paks/minidlna/uninstall.sh
@@ -23,5 +23,6 @@
#
. /opt/pakfire/lib/functions.sh
stop_service ${NAME}
+make_backup ${NAME}
remove_files
rm -rf /etc/rc.d/rc*.d/*minidlna
diff --git a/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch b/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch
deleted file mode 100644
index 95f6391be..000000000
--- a/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 7d0956d14ff8d823551ccd47ccf1492c9da9aac9
-Author: Stefan Schantl
-Date: Mon May 25 18:00:51 2020 +0200
-
- ProviderDDNSS: Fix unhandled exception on update
-
- In python > 3.3 the getheader() attribute is not longer part of the
- urllib.response response.info() object. It is part of response object
- and so directly can be accessed.
-
- Fixes #12328
-
- Signed-off-by: Stefan Schantl
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index f1fed22..46d8a67 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -642,10 +642,8 @@ class DDNSProviderDDNSS(DDNSProvider):
- response = self.send_request(self.url, data=data)
-
- # This provider sends the response code as part of the header.
-- header = response.info()
--
- # Get status information from the header.
-- output = header.getheader('ddnss-response')
-+ output = response.getheader('ddnss-response')
-
- # Handle success messages.
- if output == "good" or output == "nochg":
diff --git a/src/patches/ddns-013-add-option-to-list-token-provider.patch b/src/patches/ddns-013-add-option-to-list-token-provider.patch
deleted file mode 100644
index 7603422a2..000000000
--- a/src/patches/ddns-013-add-option-to-list-token-provider.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-commit 287b2bfe7bf5e0639da9227a8c7893ce40d298ae
-Author: Stefan Schantl
-Date: Wed Dec 2 20:31:19 2020 +0100
-
- Add option to list provider with token support.
-
- This option can be used to get a list of all known provider which support
- a token based authentication method.
-
- In order to provide this feature the provider details has been extended
- to contain the information if a provider supports this authentication
- method or not.
-
- Signed-off-by: Stefan Schantl
-
-diff --git a/ddns.in b/ddns.in
-old mode 100644
-new mode 100755
-index 0e377e7..538e4b0
---- a/ddns.in
-+++ b/ddns.in
-@@ -49,6 +49,10 @@ def main():
- p_list_providers = subparsers.add_parser("list-providers",
- help=_("List all available providers"))
-
-+ # list-token-provider
-+ p_list_token_provider = subparsers.add_parser("list-token-provider",
-+ help=_("List all providers which supports authentication via token"))
-+
- # update
- p_update = subparsers.add_parser("update", help=_("Update DNS record"))
- p_update.add_argument("hostname")
-@@ -85,6 +89,10 @@ def main():
- provider_names = d.get_provider_names()
- print("\n".join(provider_names))
-
-+ elif args.subparsers_name == "list-token-providers":
-+ token_provider = d.get_provider_with_token_support()
-+ print("\n".join(token_provider))
-+
- elif args.subparsers_name == "update":
- d.updateone(hostname=args.hostname, force=args.force)
-
-diff --git a/src/ddns/__init__.py b/src/ddns/__init__.py
-index 3e43fa7..ca232bf 100644
---- a/src/ddns/__init__.py
-+++ b/src/ddns/__init__.py
-@@ -86,6 +86,20 @@ class DDNSCore(object):
- """
- return sorted(self.providers.keys())
-
-+ def get_provider_with_token_support(self):
-+ """
-+ Returns a list with names of all registered providers
-+ which support token based authtentication.
-+ """
-+
-+ token_provider = []
-+
-+ for handle, provider in sorted(self.providers.items()):
-+ if provider.supports_token_auth is True:
-+ token_provider.append(handle)
-+
-+ return sorted(token_provider)
-+
- def load_configuration(self, filename):
- logger.debug(_("Loading configuration file %s") % filename)
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index a1ca3f3..b0066d5 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -73,6 +73,10 @@ class DDNSProvider(object):
- # Required to remove AAAA records if IPv6 is absent again.
- can_remove_records = True
-
-+ # True if the provider supports authentication via a random
-+ # generated token instead of username and password.
-+ supports_token_auth = True
-+
- @staticmethod
- def supported():
- """
-@@ -352,6 +356,10 @@ class DDNSProtocolDynDNS2(object):
- # The DynDNS protocol version 2 does not allow to remove records
- can_remove_records = False
-
-+ # The DynDNS protocol version 2 only supports authentication via
-+ # username and password.
-+ supports_token_auth = False
-+
- def prepare_request_data(self, proto):
- data = {
- "hostname" : self.hostname,
-@@ -440,6 +448,7 @@ class DDNSProviderAllInkl(DDNSProvider):
-
- url = "http://dyndns.kasserver.com"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update(self):
- # There is no additional data required so we directly can
-@@ -464,6 +473,8 @@ class DDNSProviderBindNsupdate(DDNSProvider):
-
- DEFAULT_TTL = 60
-
-+ supports_token_auth = False
-+
- @staticmethod
- def supported():
- # Search if the nsupdate utility is available
-@@ -550,6 +561,7 @@ class DDNSProviderChangeIP(DDNSProvider):
-
- url = "https://nic.changeip.com/nic/update"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -616,6 +628,7 @@ class DDNSProviderDDNSS(DDNSProvider):
-
- url = "http://www.ddnss.de/upd.php"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -678,6 +691,7 @@ class DDNSProviderDHS(DDNSProvider):
-
- url = "http://members.dhs.org/nic/hosts"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -710,6 +724,7 @@ class DDNSProviderDNSpark(DDNSProvider):
-
- url = "https://control.dnspark.com/api/dynamic/update.php"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -758,6 +773,7 @@ class DDNSProviderDtDNS(DDNSProvider):
-
- url = "https://www.dtdns.com/api/autodns.cfm"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -813,6 +829,7 @@ class DDNSProviderDuckDNS(DDNSProvider):
-
- url = "https://www.duckdns.org/update"
- can_remove_records = False
-+ supports_token_auth = True
-
- def update(self):
- # Raise an error if no auth details are given.
-@@ -914,6 +931,7 @@ class DDNSProviderDynUp(DDNSProvider):
-
- url = "https://dynup.de/dyn.php"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -979,6 +997,8 @@ class DDNSProviderEasyDNS(DDNSProvider):
-
- url = "http://api.cp.easydns.com/dyn/tomato.php"
-
-+ supports_token_auth = False
-+
- def update_protocol(self, proto):
- data = {
- "myip" : self.get_address(proto, "-"),
-@@ -1032,6 +1052,7 @@ class DDNSProviderDynsNet(DDNSProvider):
- website = "http://www.dyns.net/"
- protocols = ("ipv4",)
- can_remove_records = False
-+ supports_token_auth = False
-
- # There is very detailed informatio about how to send the update request and
- # the possible response codes. (Currently we are using the v1.1 proto)
-@@ -1083,6 +1104,7 @@ class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider):
-
- url = "https://dynamic.name-services.com/interface.asp"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -1125,6 +1147,7 @@ class DDNSProviderEntryDNS(DDNSProvider):
- # here: https://entrydns.net/help
- url = "https://entrydns.net/records/modify"
- can_remove_records = False
-+ supports_token_auth = True
-
- def update_protocol(self, proto):
- data = {
-@@ -1165,6 +1188,7 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider):
- # page. All used values have been collected by testing.
- url = "https://freedns.afraid.org/dynamic/update.php"
- can_remove_records = False
-+ supports_token_auth = True
-
- def update_protocol(self, proto):
- data = {
-@@ -1246,6 +1270,7 @@ class DDNSProviderKEYSYSTEMS(DDNSProvider):
-
- url = "https://dynamicdns.key-systems.net/update.php"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- address = self.get_address(proto)
-@@ -1297,6 +1322,8 @@ class DDNSProviderLightningWireLabs(DDNSProvider):
- # Information about the format of the HTTPS request is to be found
- # https://dns.lightningwirelabs.com/knowledge-base/api/ddns
-
-+ supports_token_auth = True
-+
- url = "https://dns.lightningwirelabs.com/update"
-
- def update(self):
-@@ -1365,6 +1392,7 @@ class DDNSProviderNamecheap(DDNSResponseParserXML, DDNSProvider):
-
- url = "https://dynamicdns.park-your-domain.com/update"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- # Namecheap requires the hostname splitted into a host and domain part.
-@@ -1458,6 +1486,8 @@ class DDNSProviderNsupdateINFO(DDNSProtocolDynDNS2, DDNSProvider):
- # has not been implemented here, yet.
- can_remove_records = False
-
-+ supports_token_auth = True
-+
- # After a failed update, there will be no retries
- # https://bugzilla.ipfire.org/show_bug.cgi?id=10603
- holdoff_failure_days = None
-@@ -1534,6 +1564,7 @@ class DDNSProviderRegfish(DDNSProvider):
-
- url = "https://dyndns.regfish.de/"
- can_remove_records = False
-+ supports_token_auth = True
-
- def update(self):
- data = {
-@@ -1630,6 +1661,7 @@ class DDNSProviderServercow(DDNSProvider):
-
- url = "https://www.servercow.de/dnsupdate/update.php"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -1671,6 +1703,8 @@ class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider):
-
- url = "https://update.spdyn.de/nic/update"
-
-+ supports_token_auth = True
-+
- @property
- def username(self):
- return self.get("username") or self.hostname
-@@ -1774,6 +1808,8 @@ class DDNSProviderZoneedit(DDNSProvider):
- website = "http://www.zoneedit.com"
- protocols = ("ipv4",)
-
-+ supports_token_auth = False
-+
- # Detailed information about the request and the response codes can be
- # obtained here:
- # http://www.zoneedit.com/doc/api/other.html
-@@ -1821,6 +1857,7 @@ class DDNSProviderDNSmadeEasy(DDNSProvider):
-
- url = "https://cp.dnsmadeeasy.com/servlet/updateip?"
- can_remove_records = False
-+ supports_token_auth = False
-
- def update_protocol(self, proto):
- data = {
-@@ -1871,6 +1908,7 @@ class DDNSProviderZZZZ(DDNSProvider):
-
- url = "https://zzzz.io/api/v1/update"
- can_remove_records = False
-+ supports_token_auth = True
-
- def update_protocol(self, proto):
- data = {
diff --git a/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch b/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch
deleted file mode 100644
index 95f6391be..000000000
--- a/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 7d0956d14ff8d823551ccd47ccf1492c9da9aac9
-Author: Stefan Schantl
-Date: Mon May 25 18:00:51 2020 +0200
-
- ProviderDDNSS: Fix unhandled exception on update
-
- In python > 3.3 the getheader() attribute is not longer part of the
- urllib.response response.info() object. It is part of response object
- and so directly can be accessed.
-
- Fixes #12328
-
- Signed-off-by: Stefan Schantl
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index f1fed22..46d8a67 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -642,10 +642,8 @@ class DDNSProviderDDNSS(DDNSProvider):
- response = self.send_request(self.url, data=data)
-
- # This provider sends the response code as part of the header.
-- header = response.info()
--
- # Get status information from the header.
-- output = header.getheader('ddnss-response')
-+ output = response.getheader('ddnss-response')
-
- # Handle success messages.
- if output == "good" or output == "nochg":
diff --git a/src/patches/ddns-013-duckdns-new-api.patch b/src/patches/ddns-013-duckdns-new-api.patch
deleted file mode 100644
index a671bf917..000000000
--- a/src/patches/ddns-013-duckdns-new-api.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-commit ebdb37245e2033b065cce5a19597be4ef1c8875c
-Author: Carl Mascott
-Date: Wed Dec 2 11:39:20 2020 +0100
-
- DuckDNS: Update to use new API.
-
- The new API supports IPv6 and a token based auth.
-
- Reference #12415.
-
- Signed-off-by: Stefan Schantl
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index 46d8a67..a1ca3f3 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -802,16 +802,62 @@ class DDNSProviderDtDNS(DDNSProvider):
- raise DDNSUpdateError
-
-
--class DDNSProviderDuckDNS(DDNSProtocolDynDNS2, DDNSProvider):
-+class DDNSProviderDuckDNS(DDNSProvider):
- handle = "duckdns.org"
- name = "Duck DNS"
- website = "http://www.duckdns.org/"
-- protocols = ("ipv4",)
-+ protocols = ("ipv6", "ipv4",)
-
- # Information about the format of the request is to be found
-- # https://www.duckdns.org/install.jsp
-+ # https://www.duckdns.org/spec.jsp
-+
-+ url = "https://www.duckdns.org/update"
-+ can_remove_records = False
-+
-+ def update(self):
-+ # Raise an error if no auth details are given.
-+ if not self.token:
-+ raise DDNSConfigurationError
-+
-+ data = {
-+ "domains" : self.hostname,
-+ "token" : self.token,
-+ }
-+
-+ # Check if we update an IPv4 address.
-+ address4 = self.get_address("ipv4")
-+ if address4:
-+ data["ip"] = address4
-
-- url = "https://www.duckdns.org/nic/update"
-+ # Check if we update an IPv6 address.
-+ address6 = self.get_address("ipv6")
-+ if address6:
-+ data["ipv6"] = address6
-+
-+ # Raise an error if no address is given.
-+ if "ip" not in data and "ipv6" not in data:
-+ raise DDNSConfigurationError
-+
-+ # Send update to the server.
-+ response = self.send_request(self.url, data=data)
-+
-+ # Get the full response message.
-+ output = response.read().decode()
-+
-+ # Remove all leading and trailing whitespace.
-+ output = output.strip()
-+
-+ # Handle success messages.
-+ if output == "OK":
-+ return
-+
-+ # The provider does not give detailed information
-+ # if the update fails. Only a "KO" will be sent back.
-+ if output == "KO":
-+ raise DDNSUpdateError
-+
-+ # If we got here, some other update error happened.
-+ raise DDNSUpdateError
-
-
- class DDNSProviderDyFi(DDNSProtocolDynDNS2, DDNSProvider):
diff --git a/src/patches/ddns-013-dyfi-use-https.patch b/src/patches/ddns-013-dyfi-use-https.patch
deleted file mode 100644
index f131c5b24..000000000
--- a/src/patches/ddns-013-dyfi-use-https.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit ce6e977f0ace7fe468411270ad07f1824a3aeaec
-Author: Mauno Pirnes
-Date: Fri Feb 7 12:25:00 2020 +0100
-
- dy.fi: Use HTTPS to perform updates.
-
- Signed-off-by: Mauno Pirnes
- Signed-off-by: Stefan Schantl
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index dcdc5da..f1fed22 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -826,7 +826,7 @@ class DDNSProviderDyFi(DDNSProtocolDynDNS2, DDNSProvider):
- # https://www.dy.fi/page/clients?lang=en
- # https://www.dy.fi/page/specification?lang=en
-
-- url = "http://www.dy.fi/nic/update"
-+ url = "https://www.dy.fi/nic/update"
-
- # Please only send automatic updates when your IP address changes,
- # or once per 5 to 6 days to refresh the address mapping (they will
diff --git a/src/patches/ddns-013-fix-argparse-list-token-providers.patch b/src/patches/ddns-013-fix-argparse-list-token-providers.patch
deleted file mode 100644
index 065dbb666..000000000
--- a/src/patches/ddns-013-fix-argparse-list-token-providers.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit 5e075681008174839a47cae698ae459c0ea3a30a
-Author: Stefan Schantl
-Date: Wed May 12 19:59:01 2021 +0200
-
- Fix argsparse string for listing token providers.
-
- Signed-off-by: Stefan Schantl
-
-diff --git a/ddns.in b/ddns.in
-index 538e4b0..20edd28 100755
---- a/ddns.in
-+++ b/ddns.in
-@@ -49,8 +49,8 @@ def main():
- p_list_providers = subparsers.add_parser("list-providers",
- help=_("List all available providers"))
-
-- # list-token-provider
-- p_list_token_provider = subparsers.add_parser("list-token-provider",
-+ # list-token-providers
-+ p_list_token_provider = subparsers.add_parser("list-token-providers",
- help=_("List all providers which supports authentication via token"))
-
- # update
diff --git a/src/patches/ddns-013-proper-encode-string.patch b/src/patches/ddns-013-proper-encode-string.patch
deleted file mode 100644
index b101913e8..000000000
--- a/src/patches/ddns-013-proper-encode-string.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 27aea61ba3c8e561c4a5921aeb0ea0986d4d234c
-Author: Johannes Schwietzke
-Date: Tue Dec 29 12:07:19 2020 +0100
-
- providers.py: Proper encode string.
-
- Python 3 memoryview requires an encoded string.
-
- Signed-off-by: Johannes Schwietzke
- Signed-off-by: Stefan Schantl
-
-diff --git a/src/ddns/providers.py b/src/ddns/providers.py
-index b0066d5..56e6620 100644
---- a/src/ddns/providers.py
-+++ b/src/ddns/providers.py
-@@ -547,7 +547,7 @@ class DDNSProviderBindNsupdate(DDNSProvider):
-
- logger.debug(" %s" % line)
-
-- return "\n".join(scriptlet)
-+ return "\n".join(scriptlet).encode()
-
-
- class DDNSProviderChangeIP(DDNSProvider):
diff --git a/src/patches/dtc/dtc-1.6.1-disable_Werror.patch b/src/patches/dtc/dtc-1.6.1-disable_Werror.patch
new file mode 100644
index 000000000..89870df81
--- /dev/null
+++ b/src/patches/dtc/dtc-1.6.1-disable_Werror.patch
@@ -0,0 +1,12 @@
+diff -Naur dtc-1.6.1.org/Makefile dtc-1.6.1/Makefile
+--- dtc-1.6.1.org/Makefile 2021-06-08 07:00:49.000000000 +0000
++++ dtc-1.6.1/Makefile 2021-10-01 07:57:58.344551140 +0000
+@@ -23,7 +23,7 @@
+ CPPFLAGS = -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
+ WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
+-CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
++CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) $(EXTRA_CFLAGS)
+
+ BISON = bison
+ LEX = flex
diff --git a/src/patches/freeradius-no-buildtime-cert-gen.patch b/src/patches/freeradius-no-buildtime-cert-gen.patch
index aa3be6648..c65f72897 100644
--- a/src/patches/freeradius-no-buildtime-cert-gen.patch
+++ b/src/patches/freeradius-no-buildtime-cert-gen.patch
@@ -1,42 +1,15 @@
-From e6f7c9d4c2af1cda7760ca8155166bb5d4d541d0 Mon Sep 17 00:00:00 2001
-From: Alexander Scheel
-Date: Wed, 8 May 2019 12:58:02 -0400
-Subject: [PATCH] Don't generate certificates in reproducible builds
-
-Signed-off-by: Alexander Scheel
----
- Make.inc.in | 5 +++++
- configure | 4 ++++
- configure.ac | 3 +++
- raddb/all.mk | 4 ++++
- 4 files changed, 16 insertions(+)
-
-diff --git a/Make.inc.in b/Make.inc.in
-index 0b2cd74de8..8c623cf95c 100644
---- a/Make.inc.in
-+++ b/Make.inc.in
-@@ -173,3 +173,8 @@ else
- TESTBINDIR = ./$(BUILD_DIR)/bin
- TESTBIN = ./$(BUILD_DIR)/bin
- endif
-+
-+#
-+# With reproducible builds, do not generate certificates during installation
-+#
-+ENABLE_REPRODUCIBLE_BUILDS = @ENABLE_REPRODUCIBLE_BUILDS@
-diff --git a/configure b/configure
-index c2c599c92b..3d4403a844 100755
---- a/configure
-+++ b/configure
-@@ -655,6 +655,7 @@ RUSERS
+diff -Naur a/configure b/configure
+--- a/configure 2021-06-10 16:49:17.000000000 +0200
++++ b/configure 2021-08-19 11:14:56.964232407 +0200
+@@ -654,6 +654,7 @@
+ RUSERS
SNMPWALK
SNMPGET
- PERL
+ENABLE_REPRODUCIBLE_BUILDS
openssl_version_check_config
WITH_DHCP
modconfdir
-@@ -5586,6 +5587,7 @@ else
+@@ -5986,6 +5987,7 @@
fi
@@ -44,7 +17,7 @@ index c2c599c92b..3d4403a844 100755
# Check whether --enable-reproducible-builds was given.
if test "${enable_reproducible_builds+set}" = set; then :
enableval=$enable_reproducible_builds; case "$enableval" in
-@@ -5597,6 +5599,7 @@ $as_echo "#define ENABLE_REPRODUCIBLE_BUILDS 1" >>confdefs.h
+@@ -5997,6 +5999,7 @@
;;
*)
reproducible_builds=no
@@ -52,19 +25,10 @@ index c2c599c92b..3d4403a844 100755
esac
fi
-@@ -5604,6 +5607,7 @@ fi
-
-
-
-+
- CHECKRAD=checkrad
- # Extract the first word of "perl", so it can be a program name with args.
- set dummy perl; ac_word=$2
-diff --git a/configure.ac b/configure.ac
-index a7abf0025a..35b013f4af 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -619,6 +619,7 @@ AC_SUBST([openssl_version_check_config])
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2021-06-10 16:49:17.000000000 +0200
++++ b/configure.ac 2021-08-19 11:17:10.786259778 +0200
+@@ -690,6 +690,7 @@
dnl #
dnl # extra argument: --enable-reproducible-builds
dnl #
@@ -72,7 +36,7 @@ index a7abf0025a..35b013f4af 100644
AC_ARG_ENABLE(reproducible-builds,
[AS_HELP_STRING([--enable-reproducible-builds],
[ensure the build does not change each time])],
-@@ -630,8 +631,10 @@ AC_ARG_ENABLE(reproducible-builds,
+@@ -701,8 +702,10 @@
;;
*)
reproducible_builds=no
@@ -83,22 +47,32 @@ index a7abf0025a..35b013f4af 100644
dnl #############################################################
-diff --git a/raddb/all.mk b/raddb/all.mk
-index c966edd657..c8e976a499 100644
---- a/raddb/all.mk
-+++ b/raddb/all.mk
-@@ -124,7 +124,11 @@ $(R)$(raddbdir)/users: $(R)$(modconfdir)/files/authorize
+diff -Naur a/Make.inc.in b/Make.inc.in
+--- a/Make.inc.in 2021-06-10 16:49:17.000000000 +0200
++++ b/Make.inc.in 2021-08-19 10:56:52.236404050 +0200
+@@ -174,6 +174,10 @@
+ TESTBIN = ./$(BUILD_DIR)/bin
+ endif
+
++#
++# With reproducible builds, do not generate certificates during installation
++#
++ENABLE_REPRODUCIBLE_BUILDS = @ENABLE_REPRODUCIBLE_BUILDS@
+
+ #
+ # For creating documentation via doc/all.mk
+diff -Naur a/raddb/all.mk b/raddb/all.mk
+--- a/raddb/all.mk 2021-06-10 16:49:17.000000000 +0200
++++ b/raddb/all.mk 2021-08-19 11:18:58.640674802 +0200
+@@ -124,7 +124,11 @@
ifneq "$(LOCAL_CERT_PRODUCTS)" ""
$(LOCAL_CERT_PRODUCTS):
@echo BOOTSTRAP raddb/certs/
+ifeq "$(ENABLE_REPRODUCIBLE_BUILDS)" "yes"
+ @$(MAKE) -C $(R)$(raddbdir)/certs/ passwords.mk
-+else
++else
@$(MAKE) -C $(R)$(raddbdir)/certs/
+endif
# Bootstrap is special
$(R)$(raddbdir)/certs/bootstrap: | raddb/certs/bootstrap $(LOCAL_CERT_PRODUCTS)
---
-2.21.0
-
diff --git a/src/patches/ghostscript-drop-use-of-FT_CALLBACK_DEF-with-Freetype-2.10.3-and-later.patch b/src/patches/ghostscript-drop-use-of-FT_CALLBACK_DEF-with-Freetype-2.10.3-and-later.patch
deleted file mode 100644
index 78014667d..000000000
--- a/src/patches/ghostscript-drop-use-of-FT_CALLBACK_DEF-with-Freetype-2.10.3-and-later.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 41ef9a0bc36b9db7115fbe9623f989bfb47bbade Mon Sep 17 00:00:00 2001
-From: Chris Liddell
-Date: Tue, 20 Oct 2020 09:49:45 +0100
-Subject: [PATCH] Bug 702985: drop use of FT_CALLBACK_DEF() def
-
-From 2.10.3, Freetype disappeared the FT_CALLBACK_DEF() macro, which is what
-we used when defining our callbacks from Freetype.
-
-No guidance forthcoming from the Freetype developer who made those changes,
-so change to explicitly declaring the callbacks file static.
-
-Should fix the reported build failures.
----
- base/fapi_ft.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/base/fapi_ft.c b/base/fapi_ft.c
-index 65fa6dcf4..21aef2f06 100644
---- a/base/fapi_ft.c
-+++ b/base/fapi_ft.c
-@@ -125,7 +125,7 @@ static void
- delete_inc_int_info(gs_fapi_server * a_server,
- FT_IncrementalRec * a_inc_int_info);
-
--FT_CALLBACK_DEF(void *)
-+static void *
- FF_alloc(FT_Memory memory, long size)
- {
- gs_memory_t *mem = (gs_memory_t *) memory->user;
-@@ -133,7 +133,7 @@ FF_alloc(FT_Memory memory, long size)
- return (gs_malloc(mem, size, 1, "FF_alloc"));
- }
-
--FT_CALLBACK_DEF(void *)
-+static void *
- FF_realloc(FT_Memory memory, long cur_size, long new_size, void *block)
- {
- gs_memory_t *mem = (gs_memory_t *) memory->user;
-@@ -153,7 +153,7 @@ FT_CALLBACK_DEF(void *)
- return (tmp);
- }
-
--FT_CALLBACK_DEF(void)
-+static void
- FF_free(FT_Memory memory, void *block)
- {
- gs_memory_t *mem = (gs_memory_t *) memory->user;
---
-2.17.1
-
diff --git a/src/patches/glibc-2.33-librt-fix-null-pointer-dereference-bug-28213.patch b/src/patches/glibc-2.33-librt-fix-null-pointer-dereference-bug-28213.patch
new file mode 100644
index 000000000..d2083e6e2
--- /dev/null
+++ b/src/patches/glibc-2.33-librt-fix-null-pointer-dereference-bug-28213.patch
@@ -0,0 +1,40 @@
+From 27a78fd712c06748737dfa9638fab96ea362fca9 Mon Sep 17 00:00:00 2001
+From: Nikita Popov
+Date: Mon, 9 Aug 2021 20:17:34 +0530
+Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
+
+Helper thread frees copied attribute on NOTIFY_REMOVED message
+received from the OS kernel. Unfortunately, it fails to check whether
+copied attribute actually exists (data.attr != NULL). This worked
+earlier because free() checks passed pointer before actually
+attempting to release corresponding memory. But
+__pthread_attr_destroy assumes pointer is not NULL.
+
+So passing NULL pointer to __pthread_attr_destroy will result in
+segmentation fault. This scenario is possible if
+notification->sigev_notify_attributes == NULL (which means default
+thread attributes should be used).
+
+Signed-off-by: Nikita Popov
+Reviewed-by: Siddhesh Poyarekar
+(cherry picked from commit b805aebd42364fe696e417808a700fdb9800c9e8)
+---
+ sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
+index 6f46d29d1d..1714e1cc5f 100644
+--- a/sysdeps/unix/sysv/linux/mq_notify.c
++++ b/sysdeps/unix/sysv/linux/mq_notify.c
+@@ -132,7 +132,7 @@ helper_thread (void *arg)
+ to wait until it is done with it. */
+ (void) __pthread_barrier_wait (¬ify_barrier);
+ }
+- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
++ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr != NULL)
+ {
+ /* The only state we keep is the copy of the thread attributes. */
+ pthread_attr_destroy (data.attr);
+--
+2.20.1
+
diff --git a/src/patches/glibc-2.33-use-__pthread_attr_copy-in-mq_notify-bug-27896.patch b/src/patches/glibc-2.33-use-__pthread_attr_copy-in-mq_notify-bug-27896.patch
new file mode 100644
index 000000000..f846b37b8
--- /dev/null
+++ b/src/patches/glibc-2.33-use-__pthread_attr_copy-in-mq_notify-bug-27896.patch
@@ -0,0 +1,74 @@
+From 4b6be914bd3920500a67ef6ca1aa7d1c37e5e859 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab
+Date: Thu, 27 May 2021 12:49:47 +0200
+Subject: [PATCH] Use __pthread_attr_copy in mq_notify (bug 27896)
+
+Make a deep copy of the pthread attribute object to remove a potential
+use-after-free issue.
+
+(cherry picked from commit 42d359350510506b87101cf77202fefcbfc790cb)
+---
+ NEWS | 6 ++++++
+ sysdeps/unix/sysv/linux/mq_notify.c | 15 ++++++++++-----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 0c33a80af9..b9e570b4a4 100644
+--- a/NEWS
++++ b/NEWS
+@@ -13,6 +13,12 @@ Major new features:
+ a dump of information related to IFUNC resolver operation and
+ glibc-hwcaps subdirectory selection.
+
++Security related changes:
++
++ CVE-2021-33574: The mq_notify function has a potential use-after-free
++ issue when using a notification type of SIGEV_THREAD and a thread
++ attribute with a non-default affinity mask.
++
+ The following bugs are resolved with this release:
+
+ [15271] dlfcn function failure after dlmopen terminates process
+diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
+index cc575a0cdd..f7ddfe5a6c 100644
+--- a/sysdeps/unix/sysv/linux/mq_notify.c
++++ b/sysdeps/unix/sysv/linux/mq_notify.c
+@@ -133,8 +133,11 @@ helper_thread (void *arg)
+ (void) __pthread_barrier_wait (¬ify_barrier);
+ }
+ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
+- /* The only state we keep is the copy of the thread attributes. */
+- free (data.attr);
++ {
++ /* The only state we keep is the copy of the thread attributes. */
++ pthread_attr_destroy (data.attr);
++ free (data.attr);
++ }
+ }
+ return NULL;
+ }
+@@ -255,8 +258,7 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
+ if (data.attr == NULL)
+ return -1;
+
+- memcpy (data.attr, notification->sigev_notify_attributes,
+- sizeof (pthread_attr_t));
++ __pthread_attr_copy (data.attr, notification->sigev_notify_attributes);
+ }
+
+ /* Construct the new request. */
+@@ -270,7 +272,10 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
+
+ /* If it failed, free the allocated memory. */
+ if (__glibc_unlikely (retval != 0))
+- free (data.attr);
++ {
++ pthread_attr_destroy (data.attr);
++ free (data.attr);
++ }
+
+ return retval;
+ }
+--
+2.20.1
+
diff --git a/src/patches/logwatch/logwatch-7.5.5-enable-mdadm-sudo.patch b/src/patches/logwatch/logwatch-7.5.5-enable-mdadm-sudo.patch
new file mode 100644
index 000000000..b7034077b
--- /dev/null
+++ b/src/patches/logwatch/logwatch-7.5.5-enable-mdadm-sudo.patch
@@ -0,0 +1,46 @@
+diff -Naur logwatch-7.5.5-orig/conf/services/mdadm.conf logwatch-7.5.5/conf/services/mdadm.conf
+--- logwatch-7.5.5-orig/conf/services/mdadm.conf 2021-01-22 21:59:40.000000000 +0100
++++ logwatch-7.5.5/conf/services/mdadm.conf 2021-10-04 13:52:30.850057355 +0200
+@@ -13,7 +13,7 @@
+ # Logwatch will try to find md devices in /etc/mdadm.conf or
+ # /etc/mdadm/mdadm.conf. If none of these files exist it can scan actively
+ # for md devices. Set to 'Yes' to enable active scanning:
+-$mdadm_enable_scan = No
++$mdadm_enable_scan = Yes
+
+ # Logwatch will emit an error for md devices listed in /etc/mdadm.conf
+ # that are not present. If you do not want this (e.g. raid devices may come
+diff -Naur logwatch-7.5.5-orig/scripts/services/mdadm logwatch-7.5.5/scripts/services/mdadm
+--- logwatch-7.5.5-orig/scripts/services/mdadm 2021-01-22 21:59:40.000000000 +0100
++++ logwatch-7.5.5/scripts/services/mdadm 2021-10-06 11:41:14.800307603 +0200
+@@ -35,7 +35,7 @@
+ } elsif ( -f "/etc/mdadm/mdadm.conf" ) {
+ open(MDADM,"< /etc/mdadm/mdadm.conf");
+ } elsif ($enable_scan) {
+- open(MDADM,"mdadm --detail --scan 2>/dev/null|");
++ open(MDADM,"sudo mdadm --detail --scan 2>/dev/null|");
+ }
+ while () {
+ if (/^ARRAY/) {
+@@ -51,7 +51,7 @@
+ next;
+ }
+
+- open(MDADM,"mdadm --misc --detail $dev 2>&1 |");
++ open(MDADM,"sudo mdadm --misc --detail $dev 2>&1 |");
+ while () {
+ if ($_ =~ /cannot open .*: No such file or directory/) {
+ print $_ unless $ignore_missing;
+@@ -74,7 +74,11 @@
+
+ if ($Detail <= 4) {
+ if (lc($mdhash{'state'}) =~ /clean|active/) {
+- print "$dev : $mdhash{'state'}\n" if $Detail;
++ if (lc($mdhash{'state'}) =~ /degraded/) {
++ print "$dev : $mdhash{'state'}\n";
++ } else {
++ print "$dev : $mdhash{'state'}\n" if $Detail;
++ }
+ } else {
+ print "$dev : $mdhash{'state'}\n";
+ if (defined($mdhash{'middle devices'})) {
diff --git a/src/patches/ncat-7.91-fix-a-unix-domain-socket-crash.patch b/src/patches/ncat-7.91-fix-a-unix-domain-socket-crash.patch
new file mode 100644
index 000000000..7ffad08b2
--- /dev/null
+++ b/src/patches/ncat-7.91-fix-a-unix-domain-socket-crash.patch
@@ -0,0 +1,21 @@
+--- a/ncat/ncat_main.c 2020-10-07 17:21:42.253789857 -0600
++++ b/ncat/ncat_main.c 2020-10-14 21:37:31.527610020 -0600
+@@ -846,7 +846,7 @@
+ targetaddrs->addr.un.sun_family = AF_UNIX;
+ strncpy(targetaddrs->addr.un.sun_path, argv[optind], sizeof(targetaddrs->addr.un.sun_path));
+ targetaddrs->addrlen = SUN_LEN(&targetaddrs->addr.un);
+- o.target = argv[optind];
++ o.sslservername = o.target = argv[optind];
+ optind++;
+ } else
+ #endif
+@@ -865,7 +865,7 @@
+ targetaddrs->addr.vm.svm_cid = long_cid;
+
+ targetaddrs->addrlen = sizeof(targetaddrs->addr.vm);
+- o.target = argv[optind];
++ o.sslservername = o.target = argv[optind];
+ optind++;
+ }
+ } else
+
diff --git a/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch b/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
deleted file mode 100644
index 4a43d444a..000000000
--- a/src/patches/ppp/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From d729b06f0ac7a5ebd3648ef60bef0499b59bf82d Mon Sep 17 00:00:00 2001
-From: Michal Sekletar
-Date: Fri, 4 Apr 2014 11:29:39 +0200
-Subject: [PATCH 03/25] build-sys: utilize compiler flags handed to us by
- rpmbuild
-
----
- chat/Makefile.linux | 2 +-
- pppd/Makefile.linux | 3 +--
- pppd/plugins/Makefile.linux | 2 +-
- pppd/plugins/pppoatm/Makefile.linux | 2 +-
- pppd/plugins/radius/Makefile.linux | 2 +-
- pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
- pppdump/Makefile.linux | 2 +-
- pppstats/Makefile.linux | 2 +-
- 8 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/chat/Makefile.linux b/chat/Makefile.linux
-index 1065ac5..848cd8d 100644
---- a/chat/Makefile.linux
-+++ b/chat/Makefile.linux
-@@ -10,7 +10,7 @@ CDEF3= -UNO_SLEEP # Use the usleep function
- CDEF4= -DFNDELAY=O_NDELAY # Old name value
- CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-
--COPTS= -O2 -g -pipe
-+COPTS= $(RPM_OPT_FLAGS)
- CFLAGS= $(COPTS) $(CDEFS)
-
- INSTALL= install
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 5a44d30..63872eb 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -32,8 +32,7 @@ endif
-
- CC = gcc
- #
--COPTS = -O2 -pipe -Wall -g
--LIBS =
-+COPTS = -Wall $(RPM_OPT_FLAGS)
-
- # Uncomment the next 2 lines to include support for Microsoft's
- # MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux.
-diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
-index 0a7ec7b..e09a369 100644
---- a/pppd/plugins/Makefile.linux
-+++ b/pppd/plugins/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC = gcc
--COPTS = -O2 -g
-+COPTS = $(RPM_OPT_FLAGS)
- CFLAGS = $(COPTS) -I.. -I../../include -fPIC
- LDFLAGS = -shared
- INSTALL = install
-diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
-index 20f62e6..5a81447 100644
---- a/pppd/plugins/pppoatm/Makefile.linux
-+++ b/pppd/plugins/pppoatm/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC = gcc
--COPTS = -O2 -g
-+COPTS = $(RPM_OPT_FLAGS)
- CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
- LDFLAGS = -shared
- INSTALL = install
-diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
-index 24ed3e5..45b3b8d 100644
---- a/pppd/plugins/radius/Makefile.linux
-+++ b/pppd/plugins/radius/Makefile.linux
-@@ -12,7 +12,7 @@ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
- INSTALL = install
-
- PLUGIN=radius.so radattr.so radrealms.so
--CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
-+CFLAGS=-I. -I../.. -I../../../include $(RPM_OPT_FLAGS) -DRC_LOG_FACILITY=LOG_DAEMON
-
- # Uncomment the next line to include support for Microsoft's
- # MS-CHAP authentication protocol.
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 5d7a271..352991a 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -25,7 +25,7 @@ INSTALL = install
- # Version is set ONLY IN THE MAKEFILE! Don't delete this!
- RP_VERSION=3.8p
-
--COPTS=-O2 -g
-+COPTS=$(RPM_OPT_FLAGS)
- CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
- all: rp-pppoe.so pppoe-discovery
-
-diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux
-index ac028f6..d0a5032 100644
---- a/pppdump/Makefile.linux
-+++ b/pppdump/Makefile.linux
-@@ -2,7 +2,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
-
--CFLAGS= -O -I../include/net
-+CFLAGS= $(RPM_OPT_FLAGS) -I../include/net
- OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
- INSTALL= install
-diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
-index cca6f0f..42aba73 100644
---- a/pppstats/Makefile.linux
-+++ b/pppstats/Makefile.linux
-@@ -10,7 +10,7 @@ PPPSTATSRCS = pppstats.c
- PPPSTATOBJS = pppstats.o
-
- #CC = gcc
--COPTS = -O
-+COPTS = $(RPM_OPT_FLAGS)
- COMPILE_FLAGS = -I../include
- LIBS =
-
---
-1.8.3.1
-
diff --git a/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch b/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
index 2513021b2..0fb028779 100644
--- a/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
+++ b/src/patches/ppp/0013-everywhere-O_CLOEXEC-harder.patch
@@ -27,10 +27,10 @@ index 6ea6c1f..faced53 100644
free(path);
errno = err;
diff --git a/pppd/main.c b/pppd/main.c
-index 6d50d1b..4880377 100644
+index 87a5d29..152e4a2 100644
--- a/pppd/main.c
+++ b/pppd/main.c
-@@ -420,7 +420,7 @@ main(argc, argv)
+@@ -400,7 +400,7 @@ main(int argc, char *argv[])
die(0);
/* Make sure fds 0, 1, 2 are open to somewhere. */
@@ -39,12 +39,12 @@ index 6d50d1b..4880377 100644
if (fd_devnull < 0)
fatal("Couldn't open %s: %m", _PATH_DEVNULL);
while (fd_devnull <= 2) {
-@@ -1679,7 +1679,7 @@ device_script(program, in, out, dont_wait)
+@@ -1642,7 +1642,7 @@ device_script(char *program, int in, int out, int dont_wait)
if (log_to_fd >= 0)
errfd = log_to_fd;
else
-- errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
-+ errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0600);
+- errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0644);
++ errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0644);
++conn_running;
pid = safe_fork(in, out, errfd);
diff --git a/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch b/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
index 3475f09a8..fffda981d 100644
--- a/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
+++ b/src/patches/ppp/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
@@ -7,9 +7,9 @@ Subject: [PATCH 14/25] everywhere: use SOCK_CLOEXEC when creating socket
pppd/plugins/pppoatm/pppoatm.c | 2 +-
pppd/plugins/pppol2tp/openl2tp.c | 2 +-
pppd/plugins/pppol2tp/pppol2tp.c | 2 +-
- pppd/plugins/rp-pppoe/if.c | 2 +-
- pppd/plugins/rp-pppoe/plugin.c | 6 +++---
- pppd/plugins/rp-pppoe/pppoe-discovery.c | 2 +-
+ pppd/plugins/pppoe/if.c | 2 +-
+ pppd/plugins/pppoe/plugin.c | 6 +++---
+ pppd/plugins/pppoe/pppoe-discovery.c | 2 +-
pppd/sys-linux.c | 10 +++++-----
pppd/tty.c | 2 +-
8 files changed, 14 insertions(+), 14 deletions(-)
@@ -53,10 +53,10 @@ index a7e3400..e64a778 100644
if (fd >= 0) {
memset (&ifr, '\0', sizeof (ifr));
strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c
+diff --git a/pppd/plugins/pppoe/if.c b/pppd/plugins/pppoe/if.c
index 91e9a57..72aba41 100644
---- a/pppd/plugins/rp-pppoe/if.c
-+++ b/pppd/plugins/rp-pppoe/if.c
+--- a/pppd/plugins/pppoe/if.c
++++ b/pppd/plugins/pppoe/if.c
@@ -116,7 +116,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
stype = SOCK_PACKET;
#endif
@@ -66,10 +66,10 @@ index 91e9a57..72aba41 100644
/* Give a more helpful message for the common error case */
if (errno == EPERM) {
fatal("Cannot create raw socket -- pppoe must be run as root.");
-diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c
+diff --git a/pppd/plugins/pppoe/plugin.c b/pppd/plugins/pppoe/plugin.c
index a8c2bb4..24bdf8f 100644
---- a/pppd/plugins/rp-pppoe/plugin.c
-+++ b/pppd/plugins/rp-pppoe/plugin.c
+--- a/pppd/plugins/pppoe/plugin.c
++++ b/pppd/plugins/pppoe/plugin.c
@@ -137,7 +137,7 @@ PPPOEConnectDevice(void)
/* server equipment). */
/* Opening this socket just before waitForPADS in the discovery() */
@@ -97,10 +97,10 @@ index a8c2bb4..24bdf8f 100644
r = 0;
}
-diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+diff --git a/pppd/plugins/pppoe/pppoe-discovery.c b/pppd/plugins/pppoe/pppoe-discovery.c
index 3d3bf4e..c0d927d 100644
---- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
-+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
+--- a/pppd/plugins/pppoe/pppoe-discovery.c
++++ b/pppd/plugins/pppoe/pppoe-discovery.c
@@ -121,7 +121,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
stype = SOCK_PACKET;
#endif
@@ -147,15 +147,6 @@ index 00a2cf5..0690019 100644
if (s < 0)
return 0;
-@@ -2860,7 +2860,7 @@ ether_to_eui64(eui64_t *p_eui64)
- int skfd;
- const unsigned char *ptr;
-
-- skfd = socket(PF_INET6, SOCK_DGRAM, 0);
-+ skfd = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
- if(skfd == -1)
- {
- warn("could not open IPv6 socket");
diff --git a/pppd/tty.c b/pppd/tty.c
index bc96695..8e76a5d 100644
--- a/pppd/tty.c
diff --git a/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch b/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
index 5127c1f10..1b36e8369 100644
--- a/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
+++ b/src/patches/ppp/ppp-2.4.6-increase-max-padi-attempts.patch
@@ -1,7 +1,7 @@
-diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
+diff --git a/pppd/plugins/pppoe/pppoe.h b/pppd/plugins/pppoe/pppoe.h
index 9ab2eee..86762bd 100644
---- a/pppd/plugins/rp-pppoe/pppoe.h
-+++ b/pppd/plugins/rp-pppoe/pppoe.h
+--- a/pppd/plugins/pppoe/pppoe.h
++++ b/pppd/plugins/pppoe/pppoe.h
@@ -148,7 +148,7 @@ extern UINT16_t Eth_PPPOE_Session;
#define STATE_TERMINATED 4
diff --git a/src/patches/ppp/ppp-2.4.7-headers_4.9.patch b/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
index 633eb045a..686db9204 100644
--- a/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
+++ b/src/patches/ppp/ppp-2.4.7-headers_4.9.patch
@@ -1,6 +1,6 @@
-diff -Naur ppp-2.4.7.org/pppd/plugins/rp-pppoe/plugin.c ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c
---- ppp-2.4.7.org/pppd/plugins/rp-pppoe/plugin.c 2014-08-09 14:31:39.000000000 +0200
-+++ ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c 2017-02-09 08:45:12.567493723 +0100
+diff -Naur ppp-2.4.7.org/pppd/plugins/pppoe/plugin.c ppp-2.4.7/pppd/plugins/pppoe/plugin.c
+--- ppp-2.4.7.org/pppd/plugins/pppoe/plugin.c 2014-08-09 14:31:39.000000000 +0200
++++ ppp-2.4.7/pppd/plugins/pppoe/plugin.c 2017-02-09 08:45:12.567493723 +0100
@@ -49,6 +49,8 @@
#include
#include
diff --git a/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch b/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
deleted file mode 100644
index 858769f48..000000000
--- a/src/patches/ppp/ppp-2.4.8-pppd-fix-bounds-check-in-eap-code.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 8d7970b8f3db727fe798b65f3377fe6787575426
-Author: Paul Mackerras
-Date: Mon Feb 3 15:53:28 2020 +1100
-
- pppd: Fix bounds check in EAP code
-
- Given that we have just checked vallen < len, it can never be the case
- that vallen >= len + sizeof(rhostname). This fixes the check so we
- actually avoid overflowing the rhostname array.
-
- Reported-by: Ilja Van Sprundel
- Signed-off-by: Paul Mackerras
-
-diff --git a/pppd/eap.c b/pppd/eap.c
-index 94407f5..1b93db0 100644
---- a/pppd/eap.c
-+++ b/pppd/eap.c
-@@ -1420,7 +1420,7 @@ int len;
- }
-
- /* Not so likely to happen. */
-- if (vallen >= len + sizeof (rhostname)) {
-+ if (len - vallen >= sizeof (rhostname)) {
- dbglog("EAP: trimming really long peer name down");
- BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
- rhostname[sizeof (rhostname) - 1] = '\0';
-@@ -1846,7 +1846,7 @@ int len;
- }
-
- /* Not so likely to happen. */
-- if (vallen >= len + sizeof (rhostname)) {
-+ if (len - vallen >= sizeof (rhostname)) {
- dbglog("EAP: trimming really long peer name down");
- BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
- rhostname[sizeof (rhostname) - 1] = '\0';
diff --git a/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch b/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
new file mode 100644
index 000000000..b36ace192
--- /dev/null
+++ b/src/patches/ppp/ppp-2.4.9-patch-configure-to-handle-cflags-properly.patch
@@ -0,0 +1,15 @@
+--- ppp-2.4.9.orig/configure 2021-03-30 21:38:27.415735914 +0200
++++ ppp-2.4.9/configure 2021-04-01 19:10:48.632314447 +0200
+@@ -121,9 +121,9 @@
+ rm -f $2
+ if [ -f $1 ]; then
+ echo " $2 <= $1"
+- sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" \
+- -e "s,@CROSS_COMPILE@,$CROSS_COMPILE,g" -e "s,@CC@,$CC,g" \
+- -e "s,@CFLAGS@,$CFLAGS,g" $1 >$2
++ sed -e "s#@DESTDIR@#$DESTDIR#g" -e "s#@SYSCONF@#$SYSCONF#g" \
++ -e "s#@CROSS_COMPILE@#$CROSS_COMPILE#g" -e "s#@CC@#$CC#g" \
++ -e "s#@CFLAGS@#$CFLAGS#g" $1 >$2
+ fi
+ }
+
diff --git a/src/patches/strongswan-ipfire-interfaces.patch b/src/patches/strongswan-ipfire-interfaces.patch
deleted file mode 100644
index 5ec96a48a..000000000
--- a/src/patches/strongswan-ipfire-interfaces.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- strongswan-5.7.0/src/_updown/_updown.in.bak 2019-02-06 18:19:25.723893992 +0000
-+++ strongswan-5.7.0/src/_updown/_updown.in 2019-02-06 18:28:21.520560665 +0000
-@@ -130,6 +130,13 @@
- # address family.
- #
-
-+VARS=(
-+ id status name lefthost type ctype psk local local_id leftsubnets
-+ remote_id remote rightsubnets x3 x4 x5 x6 x7 x8 x9 x10 x11 x12
-+ x13 x14 x15 x16 x17 x18 x19 proto x20 x21 x22
-+ route x23 mode interface_mode interface_address interface_mtu rest
-+)
-+
- function ip_encode() {
- local IFS=.
-
-@@ -319,6 +326,13 @@
- fi
- ;;
- up-client:iptables)
-+ # Read IPsec configuration
-+ while IFS="," read -r "${VARS[@]}"; do
-+ if [ "${PLUTO_CONNECTION}" = "${name}" ]; then
-+ break
-+ fi
-+ done < /var/ipfire/vpn/config
-+
- # connection to client subnet, with (left/right)firewall=yes, coming up
- # This is used only by the default updown script, not by your custom
- # ones, so do not mess with it; see CAUTION comment up at top.
-@@ -383,23 +397,25 @@
- "tunnel+ $PLUTO_PEER -- $PLUTO_ME"
- fi
-
-- # Add source nat so also the gateway can access the other nets
-- eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-- for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-- ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-- if [ $? -eq 0 ]; then
-- src=${_src}
-- break
-+ if [ -z "${interface_mode}" ]; then
-+ # Add source nat so also the gateway can access the other nets
-+ eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-+ for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-+ ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-+ if [ $? -eq 0 ]; then
-+ src=${_src}
-+ break
-+ fi
-+ done
-+
-+ if [ -n "${src}" ]; then
-+ iptables --wait -t nat -A IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-+ logger -t $TAG -p $FAC_PRIO \
-+ "snat+ $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-+ else
-+ logger -t $TAG -p $FAC_PRIO \
-+ "Cannot create NAT rule because no IP of the IPFire does match the subnet. $PLUTO_MY_CLIENT"
- fi
-- done
--
-- if [ -n "${src}" ]; then
-- iptables --wait -t nat -A IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-- logger -t $TAG -p $FAC_PRIO \
-- "snat+ $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-- else
-- logger -t $TAG -p $FAC_PRIO \
-- "Cannot create NAT rule because no IP of the IPFire does match the subnet. $PLUTO_MY_CLIENT"
- fi
-
- # Flush routing cache
diff --git a/src/patches/strongswan-ipfire-revert.patch b/src/patches/strongswan-ipfire-revert.patch
deleted file mode 100644
index 91c76212e..000000000
--- a/src/patches/strongswan-ipfire-revert.patch
+++ /dev/null
@@ -1,113 +0,0 @@
---- strongswan-5.7.2/src/_updown/_updown.in.bak 2019-04-08 16:27:08.549214441 +0100
-+++ strongswan-5.7.2/src/_updown/_updown.in 2019-04-08 16:30:30.195868788 +0100
-@@ -130,36 +130,6 @@
- # address family.
- #
-
--VARS=(
-- id status name lefthost type ctype psk local local_id leftsubnets
-- remote_id remote rightsubnets x3 x4 x5 x6 x7 x8 x9 x10 x11 x12
-- x13 x14 x15 x16 x17 x18 x19 proto x20 x21 x22
-- route x23 mode interface_mode interface_address interface_mtu rest
--)
--
--function ip_encode() {
-- local IFS=.
--
-- local int=0
-- for field in $1; do
-- int=$(( $(( $int << 8 )) | $field ))
-- done
--
-- echo $int
--}
--
--function ip_in_subnet() {
-- local netmask
-- netmask=$(_netmask $2)
-- [ $(( $(ip_encode $1) & $netmask)) = $(( $(ip_encode ${2%/*}) & $netmask )) ]
--}
--
--function _netmask() {
-- local vlsm
-- vlsm=${1#*/}
-- [ $vlsm -eq 0 ] && echo 0 || echo $(( -1 << $(( 32 - $vlsm )) ))
--}
--
- # define a minimum PATH environment in case it is not set
- PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/sbin"
- export PATH
-@@ -326,13 +296,6 @@
- fi
- ;;
- up-client:iptables)
-- # Read IPsec configuration
-- while IFS="," read -r "${VARS[@]}"; do
-- if [ "${PLUTO_CONNECTION}" = "${name}" ]; then
-- break
-- fi
-- done < /var/ipfire/vpn/config
--
- # connection to client subnet, with (left/right)firewall=yes, coming up
- # This is used only by the default updown script, not by your custom
- # ones, so do not mess with it; see CAUTION comment up at top.
-@@ -396,30 +359,6 @@
- logger -t $TAG -p $FAC_PRIO \
- "tunnel+ $PLUTO_PEER -- $PLUTO_ME"
- fi
--
-- if [ -z "${interface_mode}" ]; then
-- # Add source nat so also the gateway can access the other nets
-- eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-- for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-- ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-- if [ $? -eq 0 ]; then
-- src=${_src}
-- break
-- fi
-- done
--
-- if [ -n "${src}" ]; then
-- iptables --wait -t nat -A IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-- logger -t $TAG -p $FAC_PRIO \
-- "snat+ $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-- else
-- logger -t $TAG -p $FAC_PRIO \
-- "Cannot create NAT rule because no IP of the IPFire does match the subnet. $PLUTO_MY_CLIENT"
-- fi
-- fi
--
-- # Flush routing cache
-- ip route flush cache
- ;;
- down-client:iptables)
- # connection to client subnet, with (left/right)firewall=yes, going down
-@@ -487,28 +426,6 @@
- logger -t $TAG -p $FAC_PRIO \
- "tunnel- $PLUTO_PEER -- $PLUTO_ME"
- fi
--
-- # remove source nat
-- eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-- for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-- ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-- if [ $? -eq 0 ]; then
-- src=${_src}
-- break
-- fi
-- done
--
-- if [ -n "${src}" ]; then
-- iptables --wait -t nat -D IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-- logger -t $TAG -p $FAC_PRIO \
-- "snat- $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-- else
-- logger -t $TAG -p $FAC_PRIO \
-- "Cannot remove NAT rule because no IP of the IPFire does match the subnet."
-- fi
--
-- # Flush routing cache
-- ip route flush cache
- ;;
- #
- # IPv6
diff --git a/src/patches/strongswan-ipfire.patch b/src/patches/strongswan-ipfire.patch
index 7071983b8..0f137ca2a 100644
--- a/src/patches/strongswan-ipfire.patch
+++ b/src/patches/strongswan-ipfire.patch
@@ -1,36 +1,7 @@
---- strongswan-5.3.0/src/_updown/_updown.in.old 2015-03-17 18:17:43.000000000 +0000
-+++ strongswan-5.3.0/src/_updown/_updown.in 2015-03-30 22:48:27.084030719 +0000
-@@ -122,6 +122,29 @@
- # address family.
- #
-
-+function ip_encode() {
-+ local IFS=.
-+
-+ local int=0
-+ for field in $1; do
-+ int=$(( $(( $int << 8 )) | $field ))
-+ done
-+
-+ echo $int
-+}
-+
-+function ip_in_subnet() {
-+ local netmask
-+ netmask=$(_netmask $2)
-+ [ $(( $(ip_encode $1) & $netmask)) = $(( $(ip_encode ${2%/*}) & $netmask )) ]
-+}
-+
-+function _netmask() {
-+ local vlsm
-+ vlsm=${1#*/}
-+ [ $vlsm -eq 0 ] && echo 0 || echo $(( -1 << $(( 32 - $vlsm )) ))
-+}
-+
- # define a minimum PATH environment in case it is not set
- PATH="/sbin:/bin:/usr/sbin:/usr/bin:@sbindir@"
- export PATH
-@@ -232,12 +255,12 @@
+diff -Naur strongswan-5.9.3.org/src/_updown/_updown.in strongswan-5.9.3/src/_updown/_updown.in
+--- strongswan-5.9.3.org/src/_updown/_updown.in 2020-12-09 19:01:30.000000000 +0100
++++ strongswan-5.9.3/src/_updown/_updown.in 2021-10-25 17:30:15.669773781 +0200
+@@ -242,12 +242,9 @@
# connection to me, with (left/right)firewall=yes, coming up
# This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
@@ -39,14 +10,12 @@
-s $PLUTO_PEER_CLIENT $S_PEER_PORT \
-d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
- iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ iptables --wait -I IPSECOUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
+- -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
-+ -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j MARK --set-mark 50
#
# allow IPIP traffic because of the implicit SA created by the kernel if
# IPComp is used (for small inbound packets that are not compressed)
-@@ -253,10 +276,10 @@
+@@ -263,10 +260,10 @@
if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
then
logger -t $TAG -p $FAC_PRIO \
@@ -59,7 +28,7 @@
fi
fi
;;
-@@ -264,12 +287,12 @@
+@@ -274,12 +271,9 @@
# connection to me, with (left/right)firewall=yes, going down
# This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
@@ -68,14 +37,12 @@
-s $PLUTO_PEER_CLIENT $S_PEER_PORT \
-d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
- iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ iptables --wait -D IPSECOUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
+- -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
-+ -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j MARK --set-mark 50
#
# IPIP exception teardown
if [ -n "$PLUTO_IPCOMP" ]
-@@ -284,10 +307,10 @@
+@@ -294,10 +288,10 @@
if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
then
logger -t $TAG -p $FAC_PRIO -- \
@@ -88,40 +55,34 @@
fi
fi
;;
-@@ -297,24 +320,24 @@
+@@ -305,34 +299,16 @@
+ # connection to client subnet, with (left/right)firewall=yes, coming up
+ # This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
- if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
- then
+- if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
+- then
- iptables -I FORWARD 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ iptables --wait -I IPSECFORWARD 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_MY_CLIENT $S_MY_PORT \
+- -s $PLUTO_MY_CLIENT $S_MY_PORT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
- iptables -I FORWARD 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-+ -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j MARK --set-mark 50
-+ iptables --wait -I IPSECFORWARD 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
- -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
-+ -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j RETURN
- fi
+- fi
#
# a virtual IP requires an INPUT and OUTPUT rule on the host
# or sometimes host access via the internal IP is needed
- if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
- then
+- if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
+- then
- iptables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-+ iptables --wait -I IPSECINPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
- -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
- iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j RETURN
-+ iptables --wait -I IPSECOUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_MY_CLIENT $S_MY_PORT \
+- -s $PLUTO_MY_CLIENT $S_MY_PORT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
-+ -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j MARK --set-mark 50
- fi
+- fi
#
# allow IPIP traffic because of the implicit SA created by the kernel if
-@@ -322,7 +345,7 @@
+ # IPComp is used (for small inbound packets that are not compressed).
# INPUT is correct here even for forwarded traffic.
if [ -n "$PLUTO_IPCOMP" ]
then
@@ -130,7 +91,7 @@
-s $PLUTO_PEER -d $PLUTO_ME $IPSEC_POLICY_IN -j ACCEPT
fi
#
-@@ -332,12 +355,51 @@
+@@ -342,47 +318,42 @@
if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
then
logger -t $TAG -p $FAC_PRIO \
@@ -159,66 +120,36 @@
+ logger -t $TAG -p $FAC_PRIO \
+ "tunnel+ $PLUTO_PEER -- $PLUTO_ME"
+ fi
-+
-+ # Add source nat so also the gateway can access the other nets
-+ eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-+ for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-+ ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-+ if [ $? -eq 0 ]; then
-+ src=${_src}
-+ break
-+ fi
-+ done
-+
-+ if [ -n "${src}" ]; then
-+ iptables --wait -t nat -A IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-+ logger -t $TAG -p $FAC_PRIO \
-+ "snat+ $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-+ else
-+ logger -t $TAG -p $FAC_PRIO \
-+ "Cannot create NAT rule because no IP of the IPFire does match the subnet. $PLUTO_MY_CLIENT"
-+ fi
-+
-+ # Flush routing cache
-+ ip route flush cache
;;
down-client:iptables)
# connection to client subnet, with (left/right)firewall=yes, going down
-@@ -345,34 +407,34 @@
+ # This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
- if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
- then
+- if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
+- then
- iptables -D FORWARD -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ iptables --wait -D IPSECFORWARD -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_MY_CLIENT $S_MY_PORT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
+- -s $PLUTO_MY_CLIENT $S_MY_PORT \
+- -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
- $IPSEC_POLICY_OUT -j ACCEPT
- iptables -D FORWARD -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-+ $IPSEC_POLICY_OUT -j MARK --set-mark 50
-+ iptables --wait -D IPSECFORWARD -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
- -d $PLUTO_MY_CLIENT $D_MY_PORT \
+- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+- -d $PLUTO_MY_CLIENT $D_MY_PORT \
- $IPSEC_POLICY_IN -j ACCEPT
-+ $IPSEC_POLICY_IN -j RETURN
- fi
+- fi
#
# a virtual IP requires an INPUT and OUTPUT rule on the host
# or sometimes host access via the internal IP is needed
- if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
- then
+- if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
+- then
- iptables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-+ iptables --wait -D IPSECINPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
- -d $PLUTO_MY_CLIENT $D_MY_PORT \
+- -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+- -d $PLUTO_MY_CLIENT $D_MY_PORT \
- $IPSEC_POLICY_IN -j ACCEPT
- iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-+ $IPSEC_POLICY_IN -j RETURN
-+ iptables --wait -D IPSECOUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
- -s $PLUTO_MY_CLIENT $S_MY_PORT \
- -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
+- -s $PLUTO_MY_CLIENT $S_MY_PORT \
+- -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
- $IPSEC_POLICY_OUT -j ACCEPT
-+ $IPSEC_POLICY_OUT -j MARK --set-mark 50
- fi
+- fi
#
# IPIP exception teardown
if [ -n "$PLUTO_IPCOMP" ]
@@ -228,7 +159,7 @@
-s $PLUTO_PEER -d $PLUTO_ME $IPSEC_POLICY_IN -j ACCEPT
fi
#
-@@ -382,12 +444,51 @@
+@@ -392,12 +363,29 @@
if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
then
logger -t $TAG -p $FAC_PRIO -- \
@@ -257,32 +188,10 @@
+ logger -t $TAG -p $FAC_PRIO \
+ "tunnel- $PLUTO_PEER -- $PLUTO_ME"
+ fi
-+
-+ # remove source nat
-+ eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-+ for _src in ${GREEN_ADDRESS} ${BLUE_ADDRESS} ${ORANGE_ADDRESS}; do
-+ ip_in_subnet "${_src}" "${PLUTO_MY_CLIENT}"
-+ if [ $? -eq 0 ]; then
-+ src=${_src}
-+ break
-+ fi
-+ done
-+
-+ if [ -n "${src}" ]; then
-+ iptables --wait -t nat -D IPSECNAT -o $PLUTO_INTERFACE -s $PLUTO_ME -d $PLUTO_PEER_CLIENT -j SNAT --to $src
-+ logger -t $TAG -p $FAC_PRIO \
-+ "snat- $PLUTO_INTERFACE-$PLUTO_ME : $PLUTO_PEER_CLIENT - $src"
-+ else
-+ logger -t $TAG -p $FAC_PRIO \
-+ "Cannot remove NAT rule because no IP of the IPFire does match the subnet."
-+ fi
-+
-+ # Flush routing cache
-+ ip route flush cache
;;
#
# IPv6
-@@ -412,10 +513,10 @@
+@@ -422,10 +410,10 @@
# connection to me, with (left/right)firewall=yes, coming up
# This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
@@ -295,7 +204,7 @@
-s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
-d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
#
-@@ -436,10 +537,10 @@
+@@ -454,10 +442,10 @@
# connection to me, with (left/right)firewall=yes, going down
# This is used only by the default updown script, not by your custom
# ones, so do not mess with it; see CAUTION comment up at top.
@@ -308,7 +217,7 @@
-s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
-d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
#
-@@ -462,10 +563,10 @@
+@@ -487,10 +475,10 @@
# ones, so do not mess with it; see CAUTION comment up at top.
if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/128" ]
then
@@ -321,7 +230,7 @@
-s $PLUTO_PEER_CLIENT $S_PEER_PORT \
-d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
fi
-@@ -474,10 +575,10 @@
+@@ -499,10 +487,10 @@
# or sometimes host access via the internal IP is needed
if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
then
@@ -334,7 +243,7 @@
-s $PLUTO_MY_CLIENT $S_MY_PORT \
-d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
fi
-@@ -501,11 +602,11 @@
+@@ -535,11 +523,11 @@
# ones, so do not mess with it; see CAUTION comment up at top.
if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/128" ]
then
@@ -348,7 +257,7 @@
-s $PLUTO_PEER_CLIENT $S_PEER_PORT \
-d $PLUTO_MY_CLIENT $D_MY_PORT \
$IPSEC_POLICY_IN -j ACCEPT
-@@ -515,11 +616,11 @@
+@@ -549,11 +537,11 @@
# or sometimes host access via the internal IP is needed
if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
then
diff --git a/src/patches/sysstat-6.0.2-sysconf.patch b/src/patches/sysstat-6.0.2-sysconf.patch
deleted file mode 100644
index 829cc8fca..000000000
--- a/src/patches/sysstat-6.0.2-sysconf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- sysstat-6.0.2/common.c.sysc 2005-11-28 11:14:29.000000000 +0100
-+++ sysstat-6.0.2/common.c 2006-05-11 10:40:18.000000000 +0200
-@@ -31,8 +31,9 @@
- #include /* for HZ */
-
- /*
-+ * PAGE_SIZE should be get by sysconf function -
- * For PAGE_SIZE (which may be itself a call to getpagesize()).
-- * PAGE_SHIFT no longer necessarily exists in . So
-+ * PAGE_SHIFT no longer necessarily exists. So
- * we use PAGE_SIZE to compute PAGE_SHIFT...
- */
- #include
-@@ -408,8 +409,10 @@
- {
- int shift = 0;
- int size;
-+ int p_size;
-
-- size = PAGE_SIZE >> 10; /* Assume that a page has a minimum size of 1 kB */
-+ p_size = sysconf(_SC_PAGE_SIZE);
-+ size = p_size >> 10; /* Assume that a page has a minimum size of 1 kB */
- while (size > 1) {
- shift++;
- size >>= 1;
-
diff --git a/src/patches/traceroute-2.0.18-ipfire.patch b/src/patches/traceroute-2.1.0-ipfire.patch
similarity index 100%
rename from src/patches/traceroute-2.0.18-ipfire.patch
rename to src/patches/traceroute-2.1.0-ipfire.patch
diff --git a/src/patches/u-boot/rockchip/generate-2-ethaddr.diff b/src/patches/u-boot/rockchip/generate-2-ethaddr.diff
new file mode 100644
index 000000000..067c8b503
--- /dev/null
+++ b/src/patches/u-boot/rockchip/generate-2-ethaddr.diff
@@ -0,0 +1,18 @@
+diff -Naur u-boot-2021.07.org/arch/arm/mach-rockchip/misc.c u-boot-2021.07/arch/arm/mach-rockchip/misc.c
+--- u-boot-2021.07.org/arch/arm/mach-rockchip/misc.c 2021-07-05 15:11:28.000000000 +0000
++++ u-boot-2021.07/arch/arm/mach-rockchip/misc.c 2021-10-08 10:47:13.704806367 +0000
+@@ -49,9 +49,12 @@
+ memcpy(mac_addr, hash, 6);
+
+ /* Make this a valid MAC address and set it */
+- mac_addr[0] &= 0xfe; /* clear multicast bit */
+- mac_addr[0] |= 0x02; /* set local assignment bit (IEEE802) */
++ mac_addr[0] = 0x02; /* set local assignment bit (IEEE802) */
+ eth_env_set_enetaddr("ethaddr", mac_addr);
++ if (env_get("eth1addr"))
++ return 0;
++ mac_addr[0] = 0x12; /* set local assignment bit (IEEE802) */
++ eth_env_set_enetaddr("eth1addr", mac_addr);
+ #endif
+ return 0;
+ }
diff --git a/src/scripts/hddshutdown b/src/scripts/hddshutdown
index 146cc7347..ce345e374 100644
--- a/src/scripts/hddshutdown
+++ b/src/scripts/hddshutdown
@@ -36,7 +36,7 @@ foreach (@devices){
my @array = split(/\//,$_);
$diskstats = `cat /var/run/hddstats-$array[$#array] 2>/dev/null`;
chomp $diskstats;
- $newdiskstats = `iostat -d -t $_ | tail -2 | head -1 | awk '{ print \$5","\$6}'`;
+ $newdiskstats = `iostat -d -t $_ | tail -3 | head -1 | awk '{ print \$6","\$7}'`;
chomp $newdiskstats;
$status = `hdparm -C /dev/$_ | tail -1 | cut -d: -f2`;
chomp $status;
diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs
index 5bfb05d2a..cbfc83c77 100644
--- a/src/scripts/makegraphs
+++ b/src/scripts/makegraphs
@@ -120,7 +120,7 @@ foreach (@disks){
$diskstats = `cat /var/run/hddstats-$array[$#array] 2>/dev/null`;
chomp $diskstats;
- my $newdiskstats = `/usr/bin/iostat -d -t $disk | tail -2 | head -1 | awk '{ print \$5","\$6}'`;
+ my $newdiskstats = `/usr/bin/iostat -d -t $disk | tail -3 | head -1 | awk '{ print \$6","\$7}'`;
chomp $newdiskstats;
my $status = `hdparm -C /dev/$disk | tail -1 | cut -d: -f2`;
chomp $status;
@@ -140,7 +140,7 @@ foreach (@disks){
if ( $diskstats eq $newdiskstats ) {
# update diskstat because read temp change the status
- my $newdiskstats = `/usr/bin/iostat -d -t $disk | tail -2 | head -1 | awk '{ print \$5","\$6}'`;
+ my $newdiskstats = `/usr/bin/iostat -d -t $disk | tail -3 | head -1 | awk '{ print \$6","\$7}'`;
chomp $newdiskstats;
open(DATEI, ">/var/run/hddstats-$array[$#array]") || die "Datei nicht gefunden";
print DATEI $newdiskstats;