Merge branch 'next' into temp-c164-development

This commit is contained in:
Peter Müller
2022-01-18 21:12:56 +00:00
25 changed files with 492 additions and 51 deletions

View File

@@ -54,7 +54,10 @@ my $classfile = "/var/ipfire/qos/classes";
my $level7file = "/var/ipfire/qos/level7config";
my $portfile = "/var/ipfire/qos/portconfig";
my $tosfile = "/var/ipfire/qos/tosconfig";
my $fqcodel_options = "limit 10240 quantum 1514";
my @cake_options = (
# RED is by default connected to the Internet
"internet"
);
# Define iptables MARKs
my $QOS_INC_MASK = 0x0000ff00;
@@ -81,6 +84,12 @@ $qossettings{'VALID'} = 'yes';
&General::readhash("${General::swroot}/qos/settings", \%qossettings);
# Default to "conservative
unless (defined $qossettings{'CAKE_PROFILE'}) {
$qossettings{'CAKE_PROFILE'} = "conservative";
}
push(@cake_options, $qossettings{'CAKE_PROFILE'});
my $DEF_OUT_MARK = ($qossettings{'DEFCLASS_OUT'} << $QOS_OUT_SHIFT) . "/$QOS_OUT_MASK";
my $DEF_INC_MARK = ($qossettings{'DEFCLASS_INC'} << $QOS_INC_SHIFT) . "/$QOS_INC_MASK";
@@ -200,7 +209,7 @@ foreach $classentry (sort @classes)
if ($qossettings{'RED_DEV'} eq $classline[0]) {
$qossettings{'DEVICE'} = $classline[0];
$qossettings{'CLASS'} = $classline[1];
print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 1:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: fq_codel $fqcodel_options\n";
print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 1:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: cake @cake_options\n";
}
}
print "\n\t### FILTER TRAFFIC INTO CLASSES\n";
@@ -371,7 +380,7 @@ foreach $classentry (sort @classes)
if ($qossettings{'IMQ_DEV'} eq $classline[0]) {
$qossettings{'DEVICE'} = $classline[0];
$qossettings{'CLASS'} = $classline[1];
print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 2:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: fq_codel $fqcodel_options\n";
print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 2:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: cake @cake_options\n";
}
}
print "\n\t### FILTER TRAFFIC INTO CLASSES\n";
@@ -494,10 +503,7 @@ print <<END
# DELETE QDISCS
tc qdisc del dev $qossettings{'RED_DEV'} root >/dev/null 2>&1
tc qdisc del dev $qossettings{'RED_DEV'} ingress >/dev/null 2>&1
tc qdisc add root dev $qossettings{'RED_DEV'} fq_codel >/dev/null 2>&1
tc qdisc del dev $qossettings{'IMQ_DEV'} root >/dev/null 2>&1
tc qdisc del dev $qossettings{'IMQ_DEV'} ingress >/dev/null 2>&1
tc qdisc add root dev $qossettings{'IMQ_DEV'} fq_codel >/dev/null 2>&1
INTERFACE="$qossettings{'RED_DEV'}" ACTION="add" /lib/udev/network-aqm &>/dev/null
# STOP IMQ-DEVICE
ip link set $qossettings{'IMQ_DEV'} down >/dev/null 2>&1
ip link del $qossettings{'IMQ_DEV'} >/dev/null 2>&1

View File

@@ -31,9 +31,9 @@ lib/udev
lib/udev/ata_id
lib/udev/cdrom_id
lib/udev/collect
lib/udev/enable_codel
lib/udev/init-net-rules.sh
lib/udev/mtd_probe
lib/udev/network-aqm
lib/udev/network-hotplug-bridges
lib/udev/network-hotplug-rename
lib/udev/network-hotplug-vlan
@@ -64,7 +64,7 @@ lib/udev/rules.d/75-probe_mtd.rules
lib/udev/rules.d/78-sound-card.rules
lib/udev/rules.d/80-drivers.rules
lib/udev/rules.d/90-hwrng.rules
lib/udev/rules.d/99-codel.rules
lib/udev/rules.d/99-aqm.rules
lib/udev/rules.d/99-offloading.rules
lib/udev/scsi_id
lib/udev/v4l_id

View File

@@ -0,0 +1,5 @@
etc/issue
etc/os-release
etc/system-release
srv/web/ipfire/cgi-bin/credits.cgi
var/ipfire/langs

View File

@@ -1,6 +1,11 @@
etc/dracut.conf
lib/udev/network-aqm
lib/udev/network-hotplug-bridges
lib/udev/rules.d/99-aqm.rules
srv/web/ipfire/cgi-bin/qos.cgi
srv/web/ipfire/cgi-bin/ovpnmain.cgi
srv/web/ipfire/cgi-bin/vpnmain.cgi
srv/web/ipfire/html/themes/ipfire/include/functions.pl
var/ipfire/backup/bin/backup.pl
var/ipfire/dhcp/advoptions-list
var/ipfire/qos/bin/makeqosscripts.pl

View File

@@ -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) 2021 IPFire-Team <info@ipfire.org>. #
# Copyright (C) 2022 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
@@ -56,9 +56,12 @@ rm -vrf \
/lib/firmware/cxgb4/t4fw-1.25.4.0.bin \
/lib/firmware/cxgb4/t5fw-1.25.4.0.bin \
/lib/firmware/cxgb4/t6fw-1.25.4.0.bin \
/lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg
/lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg \
/lib/udev/enable_codel \
/lib/udev/rules.d/99-codel.rules
# Stop services
/usr/local/bin/qosctrl stop
# Extract files
extract_files
@@ -77,6 +80,8 @@ telinit u
/etc/init.d/apache restart
/etc/init.d/unbound restart
/etc/init.d/squid restart
/usr/local/bin/qosctrl generate
/usr/local/bin/qosctrl start
# rebuild initrd
dracut --force --early-microcode --strip --verbose --xz

2
config/udev/99-aqm.rules Normal file
View File

@@ -0,0 +1,2 @@
# Call the AQM script
SUBSYSTEM=="net", RUN+="/lib/udev/network-aqm"

View File

@@ -1,2 +0,0 @@
# Call the enable codel script.
SUBSYSTEM=="net", RUN+="/lib/udev/enable_codel"

View File

@@ -21,9 +21,9 @@
# #
############################################################################
LOG_FACILITY="codel"
LOG_FACILITY="aqm"
function log() {
log() {
logger -t "${LOG_FACILITY}" $@
}
@@ -32,19 +32,58 @@ if [ -z "${INTERFACE}" ]; then
exit 1
fi
# Do nothing for the loopback device.
[ "${INTERFACE}" = "lo" ] && exit 0
case "${ACTION}" in
add|register)
# Change root qdisc to use fq_codel.
/sbin/tc qdisc add root dev ${INTERFACE} fq_codel
ret=$?
TYPE="$(</sys/class/net/${INTERFACE}/type)"
if [ ${ret} -eq 0 ]; then
log "Codel AQM has been enabled on '${INTERFACE}'."
else
log "Codel AQM could not be enabled on '${INTERFACE}'. Error code: ${ret}"
# Detect bridges
if [ -d "/sys/class/net/${INTERFACE}/bridge" ]; then
TYPE="bridge"
fi
args=()
# Configure some useful defaults depending on the interface
case "${INTERFACE},${TYPE}" in
# Ignore loopback
lo,*)
exit 0
;;
# Ignore tun
tun*)
exit 0
;;
# Ignore GRE/VTI
*,778|*,768)
exit 0
;;
# Ignore bridges
*,bridge)
exit 0
;;
# Handle dial-up connections on RED
ppp*,512)
args+=( "cake" "internet" "conservative" "ack-filter" )
;;
# Treat any other interfaces as "Ethernet"
red*,*)
args+=( "cake" "internet" "ethernet" )
;;
# All other interfaces are locally connected
*)
args+=( "cake" "ethernet" "metro" )
;;
esac
# Change root qdisc to use cake
if ! tc qdisc replace root dev "${INTERFACE}" "${args[@]}"; then
log "Could not configure qdisc on ${INTERFACE} with parameters ${args[@]}"
exit ${ret}
fi
;;

View File

@@ -41,9 +41,8 @@ detect_zone() {
# Try to find out if this INTERFACE is a slave of a zone
local slave
for slave in $(get_value "${zone}_SLAVES"); do
#Compare if the mac address matches or if the name matches
if ([ "$(</sys/class/net/${INTERFACE}/address)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]); then
# Compare if the mac address matches or if the name matches
if [ -r "/sys/class/net/${INTERFACE}/address" -a "$(</sys/class/net/${INTERFACE}/address)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]; then
echo "${zone}"
return 0
fi

View File

@@ -856,6 +856,21 @@ 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: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: desired = Desired
WARNING: untranslated string: disable = Disable
WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
@@ -895,6 +910,7 @@ WARNING: untranslated string: guardian service = unknown string
WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: netbios nameserver daemon = NetBIOS Nameserver Daemon
WARNING: untranslated string: no entries = No entries at the moment.
WARNING: untranslated string: optional = Optional

View File

@@ -372,6 +372,21 @@ WARNING: untranslated string: ca name = CA name
WARNING: untranslated string: cached = cached
WARNING: untranslated string: cached memory = Cached Memory
WARNING: untranslated string: cached swap = Cached Swap
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: calamaris available reports = Available reports
WARNING: untranslated string: calamaris byte unit = Byte unit
WARNING: untranslated string: calamaris create report = Create report
@@ -1170,6 +1185,7 @@ WARNING: untranslated string: lease expires = Lease expires
WARNING: untranslated string: least preferred = least preferred
WARNING: untranslated string: legend = Legend
WARNING: untranslated string: lifetime = Lifetime:
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: linkq = Link Quality
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: local ntp server specified but not enabled = Local NTP server specified but not enabled

View File

@@ -836,6 +836,21 @@ WARNING: untranslated string: bit = bit
WARNING: untranslated string: block = Block
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: capabilities = Capabilities
WARNING: untranslated string: ccd add = Add network
WARNING: untranslated string: ccd choose net = Choose network
@@ -1249,6 +1264,7 @@ WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: last = Last
WARNING: untranslated string: least preferred = least preferred
WARNING: untranslated string: lifetime = Lifetime:
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: log server protocol = protocol:
WARNING: untranslated string: mac filter = MAC filter

View File

@@ -900,6 +900,21 @@ 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: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: eol architecture warning = You are running an architecture of IPFire which reached its end of life. You will not receive updates anymore. This is a security risk.
WARNING: untranslated string: false max bandwidth = Maximum bandwidth is false.
WARNING: untranslated string: false min bandwidth = Minimum bandwidth is false.
@@ -935,6 +950,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: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: max bandwidth = Maximum bandwidth
WARNING: untranslated string: pakfire ago = ago.
WARNING: untranslated string: route config changed = unknown string

View File

@@ -921,6 +921,21 @@ WARNING: untranslated string: available = available
WARNING: untranslated string: block = Block
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: check all = Check all
WARNING: untranslated string: cpu frequency = CPU frequency
WARNING: untranslated string: crypto error = Cryptographic error
@@ -1084,6 +1099,7 @@ WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
WARNING: untranslated string: ipsec settings = IPsec Settings
WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: location = Location
WARNING: untranslated string: locationblock = Location Block

View File

@@ -917,6 +917,21 @@ WARNING: untranslated string: available = available
WARNING: untranslated string: block = Block
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: capabilities = Capabilities
WARNING: untranslated string: check all = Check all
WARNING: untranslated string: cpu frequency = CPU frequency
@@ -1095,6 +1110,7 @@ WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
WARNING: untranslated string: ipsec settings = IPsec Settings
WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: location = Location
WARNING: untranslated string: locationblock = Location Block

View File

@@ -851,6 +851,21 @@ WARNING: untranslated string: bit = bit
WARNING: untranslated string: block = Block
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: capabilities = Capabilities
WARNING: untranslated string: ccd add = Add network
WARNING: untranslated string: ccd choose net = Choose network
@@ -1254,6 +1269,7 @@ WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: last = Last
WARNING: untranslated string: least preferred = least preferred
WARNING: untranslated string: lifetime = Lifetime:
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: location = Location
WARNING: untranslated string: locationblock = Location Block

View File

@@ -847,6 +847,21 @@ WARNING: untranslated string: bit = bit
WARNING: untranslated string: block = Block
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: capabilities = Capabilities
WARNING: untranslated string: ccd add = Add network
WARNING: untranslated string: ccd choose net = Choose network
@@ -1252,6 +1267,7 @@ WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: last = Last
WARNING: untranslated string: least preferred = least preferred
WARNING: untranslated string: lifetime = Lifetime:
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: location = Location
WARNING: untranslated string: locationblock = Location Block

View File

@@ -908,6 +908,21 @@ WARNING: untranslated string: autonomous system = Autonomous System
WARNING: untranslated string: available = available
WARNING: untranslated string: broken = Broken
WARNING: untranslated string: bytes = unknown string
WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
WARNING: untranslated string: cpu frequency = CPU frequency
WARNING: untranslated string: crypto error = Cryptographic error
WARNING: untranslated string: crypto warning = Cryptographic warning
@@ -1021,6 +1036,7 @@ WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
WARNING: untranslated string: ipsec settings = IPsec Settings
WARNING: untranslated string: itlb multihit = iTLB MultiHit
WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
WARNING: untranslated string: local ip address = Local IP Address
WARNING: untranslated string: meltdown = Meltdown
WARNING: untranslated string: mitigated = Mitigated

View File

@@ -20,6 +20,21 @@
< backup protect key password
< bewan adsl pci st
< bewan adsl usb
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< Captive heading terms
< Captive heading voucher
< Captive invalid coupon
@@ -43,6 +58,7 @@
< ipsec dns server address is invalid
< ipsec invalid ip address or fqdn for rw endpoint
< ipsec roadwarrior endpoint
< link-layer encapsulation
< netbios nameserver daemon
< no entries
< notes
@@ -118,6 +134,21 @@
< bit
< block
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< capabilities
< ccd add
< ccd choose net
@@ -566,6 +597,7 @@
< least preferred
< legacy architecture warning
< lifetime
< link-layer encapsulation
< local ip address
< log server protocol
< mac filter
@@ -938,12 +970,28 @@
< ansi t1.483
< bewan adsl pci st
< bewan adsl usb
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< eol architecture warning
< false max bandwidth
< false min bandwidth
< g.dtm
< g.lite
< guaranteed bandwidth
< link-layer encapsulation
< max bandwidth
< upload fcdsl.o
############################################################################
@@ -978,6 +1026,21 @@
< available
< block
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< Captive
< Captive 1day
< Captive 1month
@@ -1175,6 +1238,7 @@
< ipsec settings
< itlb multihit
< legacy architecture warning
< link-layer encapsulation
< local ip address
< location
< locationblock
@@ -1385,6 +1449,21 @@
< available
< block
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< capabilities
< Captive
< Captive 1day
@@ -1600,6 +1679,7 @@
< ipsec settings
< itlb multihit
< legacy architecture warning
< link-layer encapsulation
< local ip address
< location
< locationblock
@@ -1858,6 +1938,21 @@
< bit
< block
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< capabilities
< Captive
< Captive 1day
@@ -2352,6 +2447,7 @@
< least preferred
< legacy architecture warning
< lifetime
< link-layer encapsulation
< local ip address
< location
< locationblock
@@ -2760,6 +2856,21 @@
< bit
< block
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< capabilities
< Captive
< Captive 1day
@@ -3260,6 +3371,7 @@
< least preferred
< legacy architecture warning
< lifetime
< link-layer encapsulation
< local ip address
< location
< locationblock
@@ -3643,6 +3755,21 @@
< autonomous system
< available
< broken
< cake profile bridged-llcsnap 32
< cake profile bridged-ptm 19
< cake profile bridged-vcmux 24
< cake profile conservative 48
< cake profile docsis 18
< cake profile ethernet 38
< cake profile ethernet vlan 42
< cake profile ipoa-llcsnap 16
< cake profile ipoa-vcmux 8
< cake profile pppoa-llc 14
< cake profile pppoa-vcmux 10
< cake profile pppoe-llcsnap 40
< cake profile pppoe-ptm 27
< cake profile pppoe-vcmux 32
< cake profile raw 0
< Captive delete logo
< cpu frequency
< crypto error
@@ -3731,6 +3858,7 @@
< ipsec settings
< itlb multihit
< legacy architecture warning
< link-layer encapsulation
< local ip address
< meltdown
< mitigated

View File

@@ -98,7 +98,25 @@ $qossettings{'CLASS'} = '';
$qossettings{'CLASSPRFX'} = '';
$qossettings{'DEV'} = '';
$qossettings{'TOS'} = '';
$qossettings{'CAKE_PROFILE'} = 'conservative';
my %CAKE_PROFILES = (
"ethernet" => $Lang::tr{'cake profile ethernet 38'},
"ethernet ether-vlan" => $Lang::tr{'cake profile ethernet vlan 42'},
"raw" => $Lang::tr{'cake profile raw 0'},
"conservative" => $Lang::tr{'cake profile conservative 48'},
"docsis" => $Lang::tr{'cake profile docsis 18'},
"bridged-ptm" => $Lang::tr{'cake profile bridged-ptm 19'},
"pppoe-ptm" => $Lang::tr{'cake profile pppoe-ptm 27'},
"pppoe-llcsnap" => $Lang::tr{'cake profile pppoe-llcsnap 40'},
"pppoe-vcmux" => $Lang::tr{'cake profile pppoe-vcmux 32'},
"pppoa-llc" => $Lang::tr{'cake profile pppoa-llc 14'},
"pppoa-vcmux" => $Lang::tr{'cake profile pppoa-vcmux 10'},
"bridged-llcsnap" => $Lang::tr{'cake profile bridged-llcsnap 32'},
"bridged-vcmux" => $Lang::tr{'cake profile bridged-vcmux 24'},
"ipoa-llcsnap" => $Lang::tr{'cake profile ipoa-llcsnap 16'},
"ipoa-vcmux" => $Lang::tr{'cake profile ipoa-vcmux 8'},
);
&General::readhash("${General::swroot}/qos/settings", \%qossettings);
&Header::getcgihash(\%qossettings);
@@ -110,6 +128,12 @@ my %mainsettings = ();
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
&General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
$selected{'CAKE_PROFILE'} = ();
foreach my $key (keys %CAKE_PROFILES) {
$selected{'CAKE_PROFILE'}{$key} = '';
}
$selected{'CAKE_PROFILE'}{$qossettings{'CAKE_PROFILE'}} = 'selected';
&Header::showhttpheaders();
&Header::openpage('QoS', 1, '');
@@ -749,26 +773,69 @@ END
sub changebandwidth {
&Header::openbox('100%', 'center', $Lang::tr{'bandwidthsettings'});
if ($qossettings{'ENABLED'} eq 'on') {
print "$Lang::tr{'bandwidtherror'}";
print "<a href='/cgi-bin/qos.cgi'>$Lang::tr{'back'}</a>";
} else {
print <<END
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
<input type='hidden' name='DEF_OUT_SPD' value='' /><input type='hidden' name='DEF_INC_SPD' value='' />
<table width='66%'>
<tr><td width='100%' colspan='3'>$Lang::tr{'down and up speed'}</td></tr>
<tr><td width='50%' align='right'>$Lang::tr{'downlink speed'}:</td>
<td width='30%' align='left'><input type='text' name='INC_SPD' maxlength='8' value="$qossettings{'INC_SPD'}" /></td>
<td width='20%' align='center' rowspan='2'><input type='submit' name='ACTION' value="$Lang::tr{'template'}" /><br /><input type='submit' name='ACTION' value="$Lang::tr{'save'}" /><br /><input type='reset' name='ACTION' value="$Lang::tr{'reset'}" /></td></tr>
<tr><td width='50%' align='right'>$Lang::tr{'uplink speed'}:</td>
<td width='30%' align='left'><input type='text' name='OUT_SPD' maxlength='8' value="$qossettings{'OUT_SPD'}" /></td></tr>
</table>
</form>
<font color='red'>$Lang::tr{'template warning'}</font>
print <<END;
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
<input type='hidden' name='DEF_OUT_SPD' value='' /><input type='hidden' name='DEF_INC_SPD' value='' />
<table width='66%'>
<tr>
<td width='100%' colspan='2'>$Lang::tr{'down and up speed'}</td>
</tr>
<tr>
<td width='50%' align='right'>$Lang::tr{'downlink speed'}:</td>
<td width='50%' align='left'>
<input type='text' name='INC_SPD' maxlength='8' value="$qossettings{'INC_SPD'}" />
</td>
</tr>
<tr>
<td width='50%' align='right'>$Lang::tr{'uplink speed'}:</td>
<td width='50%' align='left'>
<input type='text' name='OUT_SPD' maxlength='8' value="$qossettings{'OUT_SPD'}" />
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width='50%' align='right'>$Lang::tr{'link-layer encapsulation'}:</td>
<td width='50%' align='left'>
<select name="CAKE_PROFILE">
END
foreach my $key (sort { $CAKE_PROFILES{$a} cmp $CAKE_PROFILES{$b} } keys %CAKE_PROFILES) {
print <<END;
<option value="$key" $selected{'CAKE_PROFILE'}{$key}>$CAKE_PROFILES{$key}</option>
END
}
print <<END;
</select>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width='100%' align='center' colspan="2">
<input type='submit' name='ACTION' value="$Lang::tr{'template'}" />
<input type='submit' name='ACTION' value="$Lang::tr{'save'}" />
<input type='reset' name='ACTION' value="$Lang::tr{'reset'}" />
</td>
</tr>
</table>
</form>
<font color='red'>$Lang::tr{'template warning'}</font>
END
;
}
&Header::closebox();
}

View File

@@ -529,6 +529,21 @@
'cached' => 'cached',
'cached memory' => 'Cached Memory ',
'cached swap' => 'Cached Swap',
'cake profile bridged-llcsnap 32' => 'Bridged LLC SNAP (32 bytes)',
'cake profile bridged-ptm 19' => 'Bridged PTM (19 bytes)',
'cake profile bridged-vcmux 24' => 'Bridged VC-MUX (24 bytes)',
'cake profile conservative 48' => 'Conservative (should work on all connections, 48 bytes)',
'cake profile docsis 18' => 'DOCSIS (18 bytes)',
'cake profile ethernet 38' => 'Ethernet (38 bytes)',
'cake profile ethernet vlan 42' => 'Ethernet with VLAN (42 bytes)',
'cake profile ipoa-llcsnap 16' => 'IP over ATM LLC SNAP (16 bytes)',
'cake profile ipoa-vcmux 8' => 'IP over ATM VC-MUX (8 bytes)',
'cake profile pppoa-llc 14' => 'PPPoA LLC (14 bytes)',
'cake profile pppoa-vcmux 10' => 'PPPoA VC-MUX (10 bytes)',
'cake profile pppoe-llcsnap 40' => 'PPPoE LLC SNAP (40 bytes)',
'cake profile pppoe-ptm 27' => 'PPPoE PTM (27 bytes)',
'cake profile pppoe-vcmux 32' => 'PPPoE VC-MUX (32 bytes)',
'cake profile raw 0' => 'Raw (no overhead compensation)',
'calamaris available reports' => 'Available reports',
'calamaris byte unit' => 'Byte unit',
'calamaris create report' => 'Create report',
@@ -1612,6 +1627,7 @@
'length' => 'Length',
'lifetime' => 'Lifetime:',
'line' => 'Line',
'link-layer encapsulation' => 'Link-Layer Encapsulation',
'linkq' => 'Link Quality',
'load printer' => 'Load Printer',
'loaded modules' => 'Loaded modules:',

View File

@@ -126,11 +126,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
/lib/udev/rules.d
# Install codel rules.
install -v -m 644 $(DIR_SRC)/config/udev/99-codel.rules \
# Install AQM rules
install -v -m 644 $(DIR_SRC)/config/udev/99-aqm.rules \
/lib/udev/rules.d
install -m 755 $(DIR_SRC)/config/udev/enable_codel \
/lib/udev/enable_codel
install -m 755 $(DIR_SRC)/config/udev/network-aqm \
/lib/udev/network-aqm
# Install offloading rules
install -v -m 644 $(DIR_SRC)/config/udev/99-offloading.rules \

View File

@@ -31,7 +31,7 @@ install() {
# Filesystem support
inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs mkfs.vfat
instmods ext4 iso9660 reiserfs vfat xfs
instmods ext4 iso9660 reiserfs vfat xfs ntfs3
# Extraction
inst_multiple tar gzip zstd

View File

@@ -202,6 +202,15 @@ int hw_umount(const char* source, const char* prefix) {
static int hw_test_source_medium(const char* path) {
int ret = hw_mount(path, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
if (ret != 0) {
// 2nd try, ntfs for a rufus converted usb key
ret = hw_mount(path, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
}
if (ret != 0) {
// 3rd try, vfat for a rufus converted usb key
ret = hw_mount(path, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
}
// If the source could not be mounted we
// cannot proceed.
if (ret != 0)
@@ -275,6 +284,20 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
struct hw_disk** ret = hw_create_disks();
struct hw_disk** disks = ret;
// Determine the disk device of source if it is a partition
char* sourcedisk = NULL;
char syssource[PATH_MAX];
(void)snprintf(syssource, sizeof(syssource) - 1, "/sys/class/block/%s", sourcedrive + 5);
struct udev_device* s_dev = udev_device_new_from_syspath(hw->udev, syssource);
const char* s_devtype = udev_device_get_property_value(s_dev, "DEVTYPE");
if (s_devtype && (strcmp(s_devtype, "partition") == 0)) {
struct udev_device* p_dev = udev_device_get_parent_with_subsystem_devtype(s_dev,"block","disk");
if (p_dev) {
sourcedisk = udev_device_get_devnode(p_dev);
}
}
if (!sourcedisk) sourcedisk = sourcedrive;
struct udev_enumerate* enumerate = udev_enumerate_new(hw->udev);
udev_enumerate_add_match_subsystem(enumerate, "block");
@@ -298,8 +321,8 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
continue;
}
// Skip sourcedrive if we need to
if (sourcedrive && (strcmp(dev_path, sourcedrive) == 0)) {
// Skip sourcedisk if we need to
if (sourcedisk && (strcmp(dev_path, sourcedisk) == 0)) {
udev_device_unref(dev);
continue;
}

View File

@@ -415,7 +415,8 @@ int main(int argc, char *argv[]) {
}
// Load common modules
mysystem(logfile, "/sbin/modprobe vfat"); // USB key
mysystem(logfile, "/sbin/modprobe vfat"); // USB key
mysystem(logfile, "/sbin/modprobe ntfs3"); // USB key
hw_stop_all_raid_arrays(logfile);
if (!config.unattended) {
@@ -555,7 +556,10 @@ int main(int argc, char *argv[]) {
assert(sourcedrive);
int r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
if (r) {
if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
if (r)
{
snprintf(message, sizeof(message), _("Could not mount %s to %s:\n %s\n"),
sourcedrive, SOURCE_MOUNT_PATH, strerror(errno));
errorbox(message);