Project

General

Profile

Actions

Bug #15911

open

PHP error in haproxy configuration change description

Added by Pawel Piaskowy 14 days ago. Updated 12 days ago.

Status:
Confirmed
Priority:
Low
Assignee:
-
Category:
haproxy
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Affected Version:
Affected Plus Version:
24.11
Affected Architecture:

Description

In the https shared haproxy frontend I have currently 58 lines of text / 2503 bytes in total in "Advanced pass thru" field.
Starting from pfsense+ 24.11 (?), whenever I attempt to edit that conent and save in webGUI I see following crash:

PHP {$errortype}s

PHP ERROR: Type: 1, File: /etc/inc/config.lib.inc, Line: 696, Message: Uncaught ValueError: gettext(): Argument #1 ($message) is too long in /etc/inc/config.lib.inc:696
Stack trace:
#0 /etc/inc/config.lib.inc(696): gettext()
#1 /usr/local/www/haproxy/haproxy_listeners_edit.php(470): write_config()
#2 {main}
thrown 2024-12-07 23:12:52
PHP ERROR: Type: 1, File: /etc/inc/config.lib.inc, Line: 696, Message: Uncaught ValueError: gettext(): Argument #1 ($message) is too long in /etc/inc/config.lib.inc:696
Stack trace:
#0 /etc/inc/config.lib.inc(696): gettext()
#1 /usr/local/www/haproxy/haproxy_listeners_edit.php(470): write_config()
#2 {main}
thrown
2024-12-07 23:15:32

I am not sure what is text length limitation, but I think could be bit longer. Hope this helps.

Actions #1

Updated by Christopher Cope 14 days ago

  • Status changed from New to Confirmed

Issue confirmed on

25.01-DEVELOPMENT (amd64)
built on Fri Dec 6 21:32:00 UTC 2024
FreeBSD 15.0-CURRENT

The limit for gettext is 4096 characters. This is called when logging the config changes to the log. This can be worked around currently by disabling Status > System Logs > Settings > Log Configuration Changes

Unless I'm missing something, I think gettext shouldn't need to be used on revision/description. Since the config changes are unique and would never be exactly in a translation file.

Perhaps the descriptions are generic enough elsewhere for this to make sense as-is. At the very least, I think a check for a string length of above 4096 with a fallback to not use gettext is needed.

Actions #2

Updated by Jim Pingle 12 days ago

  • Project changed from pfSense Plus to pfSense Packages
  • Subject changed from pfsense+ 24.11 - haproxy GUI crash to PHP error in haproxy configuration change description
  • Category changed from Web Interface to haproxy
  • Release Notes deleted (Default)
Actions

Also available in: Atom PDF