From b56746432b882544afd7b493341cd9960a30ad29 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 12 Jun 2014 11:29:18 +0200 Subject: [PATCH] proxy: Add option to require a certain group for Internet access. --- doc/language_issues.es | 2 ++ doc/language_issues.fr | 2 ++ doc/language_issues.nl | 2 ++ doc/language_issues.pl | 2 ++ doc/language_issues.ru | 2 ++ doc/language_issues.tr | 2 ++ doc/language_missings | 8 ++++++++ html/cgi-bin/proxy.cgi | 32 +++++++++++++++++++++++++++++++- langs/de/cgi-bin/de.pl | 2 ++ langs/en/cgi-bin/en.pl | 2 ++ 10 files changed, 55 insertions(+), 1 deletion(-) diff --git a/doc/language_issues.es b/doc/language_issues.es index b61cd97d9a..d4e23f8f0a 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -593,6 +593,8 @@ WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: atm device WARNING: untranslated string: attention diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 8eb091598f..26c8646938 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -603,6 +603,8 @@ WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: atm device WARNING: untranslated string: attention diff --git a/doc/language_issues.nl b/doc/language_issues.nl index ab81aed86e..7f4091872d 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -656,6 +656,8 @@ WARNING: untranslated string: administrator password WARNING: untranslated string: administrator username WARNING: untranslated string: advproxy AUTH method ntlm WARNING: untranslated string: advproxy AUTH method ntlm auth +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: atm device WARNING: untranslated string: bytes WARNING: untranslated string: capabilities diff --git a/doc/language_issues.pl b/doc/language_issues.pl index b61cd97d9a..d4e23f8f0a 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -593,6 +593,8 @@ WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: atm device WARNING: untranslated string: attention diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 1d0c090685..dd3af2de7a 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -596,6 +596,8 @@ WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: atm device WARNING: untranslated string: attention diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 6b0336b002..c8dbfc156f 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -655,6 +655,8 @@ WARNING: untranslated string: administrator password WARNING: untranslated string: administrator username WARNING: untranslated string: advproxy AUTH method ntlm WARNING: untranslated string: advproxy AUTH method ntlm auth +WARNING: untranslated string: advproxy group access control +WARNING: untranslated string: advproxy group required WARNING: untranslated string: bytes WARNING: untranslated string: capabilities WARNING: untranslated string: default diff --git a/doc/language_missings b/doc/language_missings index d4bb2e4cc9..79e26bd0d5 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -23,6 +23,8 @@ < advproxy errmsg cache < advproxy errmsg invalid upstream proxy < advproxy errmsg proxy ports equal +< advproxy group access control +< advproxy group required < advproxy proxy port transparent < age second < age seconds @@ -551,6 +553,8 @@ < advproxy errmsg cache < advproxy errmsg invalid upstream proxy < advproxy errmsg proxy ports equal +< advproxy group access control +< advproxy group required < advproxy proxy port transparent < age second < age seconds @@ -1072,6 +1076,8 @@ < advproxy errmsg cache < advproxy errmsg invalid upstream proxy < advproxy errmsg proxy ports equal +< advproxy group access control +< advproxy group required < advproxy proxy port transparent < age second < age seconds @@ -1569,6 +1575,8 @@ < advproxy errmsg cache < advproxy errmsg invalid upstream proxy < advproxy errmsg proxy ports equal +< advproxy group access control +< advproxy group required < advproxy proxy port transparent < age second < age seconds diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 9476b74324..45105feca6 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -266,6 +266,7 @@ $proxysettings{'LDAP_PORT'} = '389'; $proxysettings{'LDAP_BINDDN_USER'} = ''; $proxysettings{'LDAP_BINDDN_PASS'} = ''; $proxysettings{'LDAP_GROUP'} = ''; +$proxysettings{'NTLM_AUTH_GROUP'} = ''; $proxysettings{'NTLM_DOMAIN'} = ''; $proxysettings{'NTLM_PDC'} = ''; $proxysettings{'NTLM_BDC'} = ''; @@ -1994,6 +1995,27 @@ if ($proxysettings{'AUTH_METHOD'} eq 'ntlm') { print < + + + + + + + + + + +
$Lang::tr{'advproxy group access control'}
$Lang::tr{'advproxy group required'}: *  
+END +} + # =================================================================== # LDAP auth settings # =================================================================== @@ -3319,7 +3341,15 @@ END if ($proxysettings{'AUTH_METHOD'} eq 'ntlm-auth') { - print FILE "auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp\n"; + print FILE "auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"; + if ($proxysettings{'NTLM_AUTH_GROUP'}) { + my $ntlm_auth_group = $proxysettings{'NTLM_AUTH_GROUP'}; + $ntlm_auth_group =~ s/\\/\+/; + + print FILE " --require-membership-of=\"$ntlm_auth_group\""; + } + print FILE "\n"; + print FILE "auth_param ntlm children $proxysettings{'AUTH_CHILDREN'}\n"; } diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 20446b1358..6d880d47cd 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -266,6 +266,8 @@ 'advproxy fake useragent' => 'Gefälschter Useragent für externe Web-Sites', 'advproxy friday' => 'Fre', 'advproxy from' => 'Von', +'advproxy group access control' => 'Gruppenbasierte Zugriffskontrolle', +'advproxy group required' => 'Erforderliche Gruppe', 'advproxy hdd cache size' => 'Cachegröße auf der Festplatte (MB)', 'advproxy invalid num of children' => 'Ungültige Anzahl der Filter-Prozesse', 'advproxy log enabled' => 'Protokoll aktiviert', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 7acd15b36f..d23dd60cc7 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -266,6 +266,8 @@ 'advproxy fake useragent' => 'Fake useragent submitted to external sites', 'advproxy friday' => 'Fri', 'advproxy from' => 'From', +'advproxy group access control' => 'Group based access control', +'advproxy group required' => 'Required group', 'advproxy hdd cache size' => 'Harddisk cache size (MB)', 'advproxy invalid num of children' => 'Invalid number of filter processes', 'advproxy log enabled' => 'Log enabled', -- 2.39.2