[2/5] proxy.cgi: Fixes bug12755 - proxy auth problem with password longer than 8 chars

Message ID 20250506141013.15292-2-adolf.belka@ipfire.org
State Staged
Commit a63c51da8ea03896c3340960821fbacece58f861
Headers
Series [1/5] chpasswd.cgi: Fixes bug12755 - proxy auth password problem longer than 8 chars |

Commit Message

Adolf Belka May 6, 2025, 2:10 p.m. UTC
  - This makes the proxy local password management the same between chpasswd.cgi and
   proxy.cgi
- Tested out on my vm testbed and was able to create and modify users and their passwords
   in the proxy.cgi page or modify a password for a specified user on the chpasswd.cgi
   page. This all happened successfully and was confirmed by testing out the local
   authentication.

Fixes: bug12755
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 html/cgi-bin/proxy.cgi | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
  

Patch

diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi
index c8e3576df..bdce2fa66 100644
--- a/html/cgi-bin/proxy.cgi
+++ b/html/cgi-bin/proxy.cgi
@@ -2,7 +2,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  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        #
@@ -20,7 +20,6 @@ 
 ###############################################################################
 
 use strict;
-use Apache::Htpasswd;
 use Scalar::Util qw(looks_like_number);
 
 # enable only the following on debugging purpose
@@ -4050,15 +4049,7 @@  sub adduser
 		close(FILE);
 	} else {
 		&deluser($str_user);
-
-		my %htpasswd_options = (
-			passwdFile => "$userdb",
-			UseMD5 => 1,
-		);
-
-		my $htpasswd = new Apache::Htpasswd(\%htpasswd_options);
-
-		$htpasswd->htpasswd($str_user, $str_pass);
+		&General::system("/usr/bin/htpasswd", "-bB", "-C 10", "$userdb", "$str_user", "$str_pass");
 	}
 
 	if ($str_group eq 'standard') { open(FILE, ">>$stdgrp");