]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Merge branch 'next' into temp-c171-development
authorPeter Müller <peter.mueller@ipfire.org>
Sun, 11 Sep 2022 08:20:29 +0000 (08:20 +0000)
committerPeter Müller <peter.mueller@ipfire.org>
Sun, 11 Sep 2022 08:20:29 +0000 (08:20 +0000)
config/cfgroot/general-functions.pl
config/rootfiles/common/configroot
config/rootfiles/oldcore/170/filelists/files
config/rootfiles/oldcore/170/update.sh
html/cgi-bin/mail.cgi
html/cgi-bin/proxy.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
lfs/configroot
src/misc-progs/setaliases.c

index 16a05cecf23b01d890f98490dc441edf67a0cccd..98bedb4b91ca9e6151fff421bc34a910080c3cee 100644 (file)
@@ -756,6 +756,17 @@ sub validdomainname
        return 1;
 }
 
+sub validwildcarddomainname($) {
+       my $domainname = shift;
+
+       # Ignore any leading dots
+       if ($domainname =~ m/^\*\.(.*)/) {
+               $domainname = $1;
+       }
+
+       return &validdomainname($domainname);
+}
+
 sub validfqdn
 {
        # Checks a fully qualified domain name against RFC1035 and RFC2181
index 088e87f5b868a51d112faa5eecd32f28f095c898..4d631cea59e715e78d3f4458c4e03a84b9456d1f 100644 (file)
@@ -83,6 +83,7 @@ var/ipfire/location-functions.pl
 var/ipfire/ids-functions.pl
 var/ipfire/ipblocklist-functions.pl
 var/ipfire/ipblocklist
+#var/ipfire/ipblocklist/modified
 #var/ipfire/ipblocklist/settings
 var/ipfire/isdn
 #var/ipfire/isdn/settings
index df8020847ac1f2a91c7e17970a722ae14607f5d9..d31e49ad3742c23fef017fb28448c46d33256dfa 100644 (file)
@@ -4,7 +4,9 @@ opt/pakfire/pakfire
 srv/web/ipfire/cgi-bin/aliases.cgi
 srv/web/ipfire/cgi-bin/index.cgi
 srv/web/ipfire/cgi-bin/ipblocklist.cgi
+srv/web/ipfire/cgi-bin/mail.cgi
 srv/web/ipfire/cgi-bin/pakfire.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
 srv/web/ipfire/cgi-bin/services.cgi
 srv/web/ipfire/cgi-bin/vpnmain.cgi
 srv/web/ipfire/cgi-bin/vulnerabilities.cgi
@@ -22,6 +24,7 @@ usr/share/terminfo/t/tmux-256color
 usr/share/terminfo/t/tmux-direct
 var/ipfire/backup/bin/backup.pl
 var/ipfire/backup/include
+var/ipfire/general-functions.pl
 var/ipfire/ipblocklist-functions.pl
 var/ipfire/menu.d/50-firewall.menu
 var/ipfire/menu.d/70-log.menu
index b6b66f3f13e6025502cbe6dd7198828f09d0833e..9d16f4a32014640a14668875ec63a01bac2d2771 100644 (file)
@@ -164,6 +164,10 @@ ldconfig
 mkdir -pv /var/lib/ipblocklist
 chown nobody:nobody /var/lib/ipblocklist
 
+# Create necessary files for IPBlocklist and set their ownership accordingly (#12917)
+touch /var/ipfire/ipblocklist/{settings,modified}
+chown nobody:nobody /var/ipfire/ipblocklist/{settings,modified}
+
 # Rebuild fcrontab from scratch
 /usr/bin/fcrontab -z
 
index 4ebc6b03368f0c0d8aa9306bb9c9774af7a4434f..34f52ae01539ad4dbee460673ba380e5a9244048 100644 (file)
@@ -283,6 +283,10 @@ sub checkmailsettings {
                        $errormessage .= "$Lang::tr{'email invalid'} $Lang::tr{'email mailsender'}<br>";
                }
        }
+       # Check for a valid recipient
+       if (!&General::validemail($cgiparams{'txt_recipient'})) {
+               $errormessage .= $Lang::tr{'email recipient invalid'} . "<br>";
+       }
        return $errormessage;
 }
 
index 0111a240b6a07408a8f36fa7e2c52a7a948d7a65..577d37b93dae68d188e124e1d00048f411be60e1 100644 (file)
@@ -2506,6 +2506,7 @@ sub check_acls
                if ($_)
                {
                        if (/^\./) { $_ = '*'.$_; }
+                       unless (&General::validwildcarddomainname($_)) { $errormessage = $Lang::tr{'advproxy errmsg invalid url'} . ": " . &Header::escape($_); }
                        $proxysettings{'DST_NOCACHE'} .= $_."\n";
                }
        }
@@ -2604,6 +2605,7 @@ sub check_acls
                        if ($_)
                        {
                                        if (/^\./) { $_ = '*'.$_; }
+                                       unless (&General::validwildcarddomainname($_)) { $errormessage = $Lang::tr{'advproxy errmsg invalid url'} . ": " . &Header::escape($_); }
                                        $proxysettings{'DST_NOPROXY_URL'} .= $_."\n";
                        }
        }
index d3b4c8687828b0589a03c755c57ad7f175989cec..cf31b91715b3b0fecc534b2e74f56eaee113eccc 100644 (file)
 'advproxy errmsg invalid proxy port' => 'Ungültiger Proxyport',
 'advproxy errmsg invalid upstream proxy' => 'Ungültige IP/Hostname für vorgelagerten Proxy',
 'advproxy errmsg invalid upstream proxy username or password setting' => 'Ungültiger Benutzername oder ungültiges Kennwort für vorgelagerten Proxy',
+'advproxy errmsg invalid url' => 'Ungültige URL',
 'advproxy errmsg invalid user' => 'Benutzername existiert nicht',
 'advproxy errmsg ldap base dn' => 'LDAP Base DN erforderlich',
 'advproxy errmsg ldap bind dn' => 'LDAP Bind DN Benutzername und Passwort erforderlich',
 'email mailrcpt' => 'E-Mail-Empfänger',
 'email mailsender' => 'E-Mail-Absender',
 'email mailuser' => 'Benutzername',
+'email recipient invalid' => 'Ungültiger Emailempfänger',
 'email server can not be empty' => 'E-Mail-Server darf nicht leer sein',
 'email settings' => 'Mailversand',
 'email subject' => 'IPFire Test-E-Mail',
index 36f97de38276370fd302083b1d15e6424e4eb02d..11ba10f8fd234289d423c7425d369cf4ed062569 100644 (file)
 'advproxy errmsg invalid proxy port' => 'Invalid proxy port',
 'advproxy errmsg invalid upstream proxy' => 'Invalid upstream proxy IP/hostname',
 'advproxy errmsg invalid upstream proxy username or password setting' => 'Invalid upstream proxy username or password setting',
+'advproxy errmsg invalid url' => 'Invalid URL',
 'advproxy errmsg invalid user' => 'Username does not exist',
 'advproxy errmsg ldap base dn' => 'LDAP base DN required',
 'advproxy errmsg ldap bind dn' => 'LDAP bind DN username and password required',
 'email mailrcpt' => 'Mail Recipient',
 'email mailsender' => 'Mail Sender',
 'email mailuser' => 'Username',
+'email recipient invalid' => 'Invalid email recipient',
 'email server can not be empty' => 'E-mail server can not be empty',
 'email settings' => 'Mail Service',
 'email subject' => 'IPFire Test Mail',
index 5565bd344c246c26fa155dca9dfd4f2c65139f41..31b9a946389409fae349a79886eb05c19a29b760 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -65,8 +65,8 @@ $(TARGET) :
            captive/settings captive/agb.txt captive/clients captive/voucher_out certs/index.txt certs/index.txt.attr ddns/config ddns/settings ddns/ipcache dhcp/settings \
            dhcp/fixleases dhcp/advoptions dhcp/dhcpd.conf.local dns/settings dns/servers dnsforward/config ethernet/aliases ethernet/settings ethernet/known_nics ethernet/scanned_nics \
            ethernet/wireless extrahd/scan extrahd/devices extrahd/partitions extrahd/settings firewall/settings firewall/config firewall/locationblock firewall/input firewall/outgoing \
-           fwhosts/customnetworks fwhosts/customhosts fwhosts/customgroups fwhosts/customservicegrp fwhosts/customlocationgrp fwlogs/ipsettings fwlogs/portsettings ipblocklist/settings \
-           isdn/settings mac/settings main/hosts main/routing main/security main/settings optionsfw/settings \
+           fwhosts/customnetworks fwhosts/customhosts fwhosts/customgroups fwhosts/customservicegrp fwhosts/customlocationgrp fwlogs/ipsettings fwlogs/portsettings ipblocklist/modified \
+           ipblocklist/settings isdn/settings mac/settings main/hosts main/routing main/security main/settings optionsfw/settings \
            ovpn/ccd.conf ovpn/ccdroute ovpn/ccdroute2 pakfire/settings portfw/config ppp/settings-1 ppp/settings-2 ppp/settings-3 ppp/settings-4 \
            ppp/settings-5 ppp/settings proxy/settings proxy/squid.conf proxy/advanced/settings proxy/advanced/cre/enable remote/settings qos/settings qos/classes qos/subclasses qos/level7config qos/portconfig \
            qos/tosconfig suricata/settings vpn/config vpn/settings vpn/ipsec.conf \
index a541a4fd20b418b0629b9515c9875455d5dac9e5..4b18ba325bf345f3815968f45373bee1152fc615 100644 (file)
@@ -28,8 +28,6 @@
 struct keyvalue *kv = NULL;
 FILE *file = NULL;
 
-#define SCOPE 128
-
 void exithandler(void)
 {
        if (kv) freekeyvalues(kv);
@@ -125,7 +123,7 @@ int main(void)
        alias = 0;
        do {
                snprintf(command, STRING_SIZE - 1,
-                       "ip addr flush dev red%d scope %d 2>/dev/null", alias++, SCOPE);
+                       "ip addr flush secondary dev red%d 2>/dev/null", alias++);
        } while (safe_system(command) == 0);
 
        /* Now set up the new aliases from the config file */
@@ -184,8 +182,8 @@ int main(void)
                if (!intf)
                        intf = red_dev;
 
-               snprintf(command, STRING_SIZE - 1, "ip addr add %s/%s dev %s scope %d",
-                       aliasip, red_netmask, intf, SCOPE);
+               snprintf(command, STRING_SIZE - 1, "ip addr add %s/%s secondary dev %s 2>/dev/null",
+                       aliasip, red_netmask, intf);
                safe_system(command);
 
                alias++;