Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mail receiver blocked by smtp message with inline images (message body attached) #9600

Closed
BorisNovg opened this issue Sep 24, 2021 · 5 comments
Labels
Milestone

Comments

@BorisNovg
Copy link

BorisNovg commented Sep 24, 2021

Describe the bug
glpi 9.5.5. The mail receiver is configured. An email message was sent by our customer to the mail receiver's email address. No new ticket is generated from this smtp message.

After 50 minutes: A notification with the "Crontask (Automatic actions)" template received with message - Task "mailgate | Receivers | Retrieve email (Mails receivers)" in an error state. On the web page "Home-Setup-Automatic actions-mailgate-Automatic action" item "Next run" there is a state "Running...". Additional mailings sent to the mail receiver's email address do not create new tickets. The mail receiver's Input queue is "blocked".

The /usr/share/glpi/front/cron.php task takes a long time to complete and does not complete.
ps aux | grep front/cron
apache 48792 98.1 2.1 472104 44024 ? Rs 11:12 189:15 /usr/bin/php /usr/share/glpi/front/cron.php

To reproduce

The issue is reproducible only with SMTP message with inline (embedded inline MIME blocks) images.
Message body (schematically):


MIME-Version: 1.0
Content-Type: multipart/related;
	boundary="----=_NextPart_000_0000_01D7B13E.75D71E80"

This is a multipart message in MIME format.

------=_NextPart_000_0000_01D7B13E.75D71E80
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0001_01D7B13E.75D71E80"

------=_NextPart_001_0001_01D7B13E.75D71E80
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: 8bit

в малых закупках...

------=_NextPart_001_0001_01D7B13E.75D71E80
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"><div>=D0=B2 =D0=BC=D0=B0=D0=BB=D1=8B=D1=85 =...
<img =
src=3D"cid:1292001632471113@sas8-da6d7485e0c7.qloud-c.yandex.net" =
style=3D"height:148px;width:263px">

<img =
src=3D"cid:1291991632471113@sas8-da6d7485e0c7.qloud-c.yandex.net" =
style=3D"height:193px;width:342px">
</div>

------=_NextPart_001_0001_01D7B13E.75D71E80--

------=_NextPart_000_0000_01D7B13E.75D71E80
Content-Type: image/png;
	name="ATT68612.png"
Content-Transfer-Encoding: base64
Content-ID: <1291991632471113@sas8-da6d7485e0c7.qloud-c.yandex.net>

iVBORw0KGgoAAAANSUhEUgAABVYAAAMACAYAAADPPjzCAAAgAElEQVR4nOzdaXgU153vcfI6d27u...

------=_NextPart_000_0000_01D7B13E.75D71E80
Content-Type: image/png;
	name="ATT46093.png"
Content-Transfer-Encoding: base64
Content-ID: <1292001632471113@sas8-da6d7485e0c7.qloud-c.yandex.net>

iVBORw0KGgoAAAANSUhEUgAABVYAAAMACAYAAADPPjzCAAAgAElEQVR4nOzdbXQU153ve8/rOXPW...

------=_NextPart_000_0000_01D7B13E.75D71E80--

Try sending an smtp message with same body (see attachment email.txt) to the mail receiver's email address.

Expected behavior

The new ticket is generated from the smtp message.

Logs

cron.log

2021-09-24 11:12:02 [@help.admreg.nov.ru]
Внешний #1: Запуск mailgate
2021-09-24 11:12:03 [1385@help.admreg.nov.ru]
Can't get DB lock
2021-09-24 11:13:02 [@help.admreg.nov.ru]
Can't get DB lock
2021-09-24 11:13:11 [241@help.admreg.nov.ru]
Can't get DB lock
2021-09-24 11:13:15 [20@help.admreg.nov.ru]
Can't get DB lock
2021-09-24 11:13:37 [1180@help.admreg.nov.ru]
Can't get DB lock
2021-09-24 11:13:42 [2@help.admreg.nov.ru]
Can't get DB lock
...
2021-09-24 12:00:02 [@help.admreg.nov.ru]
Внешний #1: Запуск queuednotification
2021-09-24 12:00:09 [@help.admreg.nov.ru]
Внешний #4: Запуск mailgateerror

Your GLPI setup (you can find it in Setup > General menu, System tab)

[code]
 
GLPI 9.5.5 ( => /usr/share/glpi)
Installation mode: RPM

Server
 
Operating system: Linux help.admreg.nov.ru 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64
PHP 8.0.7 apache2handler (Core, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, apcu, bcmath, bz2,
	calendar, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, intl, json, ldap, libxml,
	mbstring, mysqli, mysqlnd, openssl, pcre, pdo_mysql, pdo_sqlite, posix, session, shmop, soap, sockets, sodium, sqlite3,
	standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib)
Setup: max_execution_time="600" memory_limit="512M" post_max_size="10500000" safe_mode="" session.save_handler="files"
	upload_max_filesize="10500000" 
Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.7 ()
	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
Server Software: MariaDB Server
	Server Version: 10.5.10-MariaDB
	Server SQL Mode: 
	Parameters: saglpi@127.0.0.1/glpi
	Host info: 127.0.0.1 via TCP/IP
	
PHP version is at least 7.2.0 - Perfect!PHP version is at least 7.2.0 - Perfect!
Sessions support is available - Perfect!Sessions support is available - Perfect!
Allocated memory > 64 Mio - Perfect!Allocated memory > 64 Mio - Perfect!
mysqli extension is installedmysqli extension is installed
ctype extension is installedctype extension is installed
fileinfo extension is installedfileinfo extension is installed
json extension is installedjson extension is installed
mbstring extension is installedmbstring extension is installed
iconv extension is installediconv extension is installed
zlib extension is installedzlib extension is installed
curl extension is installedcurl extension is installed
gd extension is installedgd extension is installed
simplexml extension is installedsimplexml extension is installed
intl extension is installedintl extension is installed
ldap extension is installedldap extension is installed
apcu extension is installedapcu extension is installed
Zend OPcache extension is installedZend OPcache extension is installed
xmlrpc extension is installedxmlrpc extension is installed
CAS extension is installedCAS extension is installed
exif extension is installedexif extension is installed
zip extension is installedzip extension is installed
bz2 extension is installedbz2 extension is installed
sodium extension is installedsodium extension is installed
Database version seems correct (10.5.10) - Perfect!Database version seems correct (10.5.10) - Perfect!
Timezones seems loaded in databaseTimezones seems loaded in database
The log file has been created successfully.The log file has been created successfully.
Write access to /var/lib/glpi/files/_cache has been validated.Write access to /var/lib/glpi/files/_cache has been validated.
Write access to /etc/glpi has been validated.Write access to /etc/glpi has been validated.
Write access to /var/lib/glpi/files/_cron has been validated.Write access to /var/lib/glpi/files/_cron has been validated.
Write access to /var/lib/glpi/files has been validated.Write access to /var/lib/glpi/files has been validated.
Write access to /var/lib/glpi/files/_dumps has been validated.Write access to /var/lib/glpi/files/_dumps has been validated.
Write access to /var/lib/glpi/files/_graphs has been validated.Write access to /var/lib/glpi/files/_graphs has been validated.
Write access to /var/lib/glpi/files/_lock has been validated.Write access to /var/lib/glpi/files/_lock has been validated.
Write access to /var/lib/glpi/files/_pictures has been validated.Write access to /var/lib/glpi/files/_pictures has been validated.
Write access to /var/lib/glpi/files/_plugins has been validated.Write access to /var/lib/glpi/files/_plugins has been validated.
Write access to /var/lib/glpi/files/_rss has been validated.Write access to /var/lib/glpi/files/_rss has been validated.
Write access to /var/lib/glpi/files/_sessions has been validated.Write access to /var/lib/glpi/files/_sessions has been validated.
Write access to /var/lib/glpi/files/_tmp has been validated.Write access to /var/lib/glpi/files/_tmp has been validated.
Write access to /var/lib/glpi/files/_uploads has been validated.Write access to /var/lib/glpi/files/_uploads has been validated.
Write access to /var/lib/glpi/files/_marketplace has been validated.Write access to /var/lib/glpi/files/_marketplace has been validated.
SELinux configuration is OK.SELinux configuration is OK.

GLPI constants
 
GLPI_ROOT: /usr/share/glpi
GLPI_CONFIG_DIR: /etc/glpi
GLPI_HTMLAWED: /usr/share/glpi/vendor/htmlawed/htmlawed/htmLawed.php
GLPI_MARKETPLACE_DIR: /var/lib/glpi/files/_marketplace
GLPI_VAR_DIR: /var/lib/glpi/files
GLPI_LOG_DIR: /var/log/glpi
GLPI_FONT_FREESANS: /usr/share/fonts/gnu-free/FreeSans.ttf
GLPI_SYSTEM_CRON: 1
GLPI_INSTALL_MODE: RPM
GLPI_USE_CSRF_CHECK: 1
GLPI_CSRF_EXPIRES: 7200
GLPI_CSRF_MAX_TOKENS: 100
GLPI_USE_IDOR_CHECK: 1
GLPI_IDOR_EXPIRES: 7200
GLPI_ALLOW_IFRAME_IN_RICH_TEXT: 
GLPI_TELEMETRY_URI: https://telemetry.glpi-project.org
GLPI_NETWORK_MAIL: glpi@teclib.com
GLPI_NETWORK_SERVICES: https://services.glpi-network.com
GLPI_MARKETPLACE_PRERELEASES: 
GLPI_MARKETPLACE_ALLOW_OVERRIDE: 1
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: 1
GLPI_USER_AGENT_EXTRA_COMMENTS: 
GLPI_AJAX_DASHBOARD: 1
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_DEMO_MODE: 0
GLPI_FORCE_EMPTY_SQL_MODE: 1
GLPI_DOC_DIR: /var/lib/glpi/files
GLPI_CACHE_DIR: /var/lib/glpi/files/_cache
GLPI_CRON_DIR: /var/lib/glpi/files/_cron
GLPI_DUMP_DIR: /var/lib/glpi/files/_dumps
GLPI_GRAPH_DIR: /var/lib/glpi/files/_graphs
GLPI_LOCAL_I18N_DIR: /var/lib/glpi/files/_locales
GLPI_LOCK_DIR: /var/lib/glpi/files/_lock
GLPI_PICTURE_DIR: /var/lib/glpi/files/_pictures
GLPI_PLUGIN_DOC_DIR: /var/lib/glpi/files/_plugins
GLPI_RSS_DIR: /var/lib/glpi/files/_rss
GLPI_SESSION_DIR: /var/lib/glpi/files/_sessions
GLPI_TMP_DIR: /var/lib/glpi/files/_tmp
GLPI_UPLOAD_DIR: /var/lib/glpi/files/_uploads
GLPI_NETWORK_REGISTRATION_API_URL: https://services.glpi-network.com/api/registration/
GLPI_MARKETPLACE_PLUGINS_API_URI: https://services.glpi-network.com/api/glpi-plugins/
GLPI_I18N_DIR: /usr/share/glpi/locales
GLPI_VERSION: 9.5.5
GLPI_SCHEMA_VERSION: 9.5.5
GLPI_MIN_PHP: 7.2.0
GLPI_YEAR: 2021

Libraries
 
htmlawed/htmlawed version 1.2.5 in (/usr/share/glpi/vendor/htmlawed/htmlawed)
phpmailer/phpmailer version 6.1.6 in (/usr/share/glpi/vendor/phpmailer/phpmailer/src)
simplepie/simplepie version 1.5.6 in (/usr/share/glpi/vendor/simplepie/simplepie/library)
tecnickcom/tcpdf version 6.3.5 in (/usr/share/glpi/vendor/tecnickcom/tcpdf)
michelf/php-markdown in (/usr/share/glpi/vendor/michelf/php-markdown/Michelf)
true/punycode in (/usr/share/glpi/vendor/true/punycode/src)
iamcal/lib_autolink in (/usr/share/glpi/vendor/iamcal/lib_autolink)
sabre/dav in (/usr/share/glpi/vendor/sabre/dav/lib/DAV)
sabre/http in (/usr/share/glpi/vendor/sabre/http/lib)
sabre/uri in (/usr/share/glpi/vendor/sabre/uri/lib)
sabre/vobject in (/usr/share/glpi/vendor/sabre/vobject/lib)
laminas/laminas-cache in (/usr/share/glpi/vendor/laminas/laminas-cache/src)
laminas/laminas-i18n in (/usr/share/glpi/vendor/laminas/laminas-i18n/src)
laminas/laminas-serializer in (/usr/share/glpi/vendor/laminas/laminas-serializer/src)
monolog/monolog in (/usr/share/glpi/vendor/monolog/monolog/src/Monolog)
sebastian/diff in (/usr/share/glpi/vendor/sebastian/diff/src)
elvanto/litemoji in (/usr/share/glpi/vendor/elvanto/litemoji/src)
symfony/console in (/usr/share/glpi/vendor/symfony/console)
scssphp/scssphp in (/usr/share/glpi/vendor/scssphp/scssphp/src)
laminas/laminas-mail in (/usr/share/glpi/vendor/laminas/laminas-mail/src/Protocol)
laminas/laminas-mime in (/usr/share/glpi/vendor/laminas/laminas-mime/src)
rlanvin/php-rrule in (/usr/share/glpi/vendor/rlanvin/php-rrule/src)
blueimp/jquery-file-upload in (/usr/share/glpi/vendor/blueimp/jquery-file-upload/server/php)
ramsey/uuid in (/usr/share/glpi/vendor/ramsey/uuid/src)
psr/log in (/usr/share/glpi/vendor/psr/log/Psr/Log)
psr/simple-cache in (/usr/share/glpi/vendor/psr/simple-cache/src)
mexitek/phpcolors in (/usr/share/glpi/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
guzzlehttp/guzzle in (/usr/share/glpi/vendor/guzzlehttp/guzzle/src)
guzzlehttp/psr7 in (/usr/share/glpi/vendor/guzzlehttp/psr7/src)
wapmorgan/unified-archive in (/usr/share/glpi/vendor/wapmorgan/unified-archive/src)
paragonie/sodium_compat in (/usr/share/glpi/vendor/paragonie/sodium_compat/src)
phpCas version 1.4.0 in (/usr/share/pear)

LDAP directories
 
SQL replicas
 
Not active

Notifications
 
Way of sending emails: SMTP+TLS (anonymous@10.10.1.72)

Mails receivers
 
Name: 'xxxx@novreg.ru' Active: Yes
	Server: '{10.10.1.72/imap/ssl/novalidate-cert/norsh}' Login: 'xxxx@gov.novreg.ru' Password: Yes
Name: 'xxxxx@novreg.ru' Active: Yes
	Server: '{10.10.1.72/imap/ssl/novalidate-cert/norsh}' Login: 'xxxxx@gov.novreg.ru' Password: Yes

Plugins list
 
	news                 Name: Alerts                         Version: 1.9.0      State: Enabled
	behaviors            Name: Behaviours                     Version: 2.5.0      State: Enabled
	dashboard            Name: Dashboard                      Version: 1.0.2      State: Enabled
	escalade             Name: Escalation                     Version: 2.6.2      State: Enabled
	formcreator          Name: Form Creator                   Version: 2.11.4     State: Enabled
	mreporting           Name: More Reporting                 Version: 1.7.3      State: Enabled
	moreticket           Name: More ticket                    Version: 1.6.1      State: Enabled
	mydashboard          Name: My Dashboard                   Version: 1.8.2      State: Enabled
	mycustomview         Name: MyCustomView                   Version: 1.2.1      State: Enabled
	ocsinventoryng       Name: OCS Inventory NG               Version: 1.7.3      State: Enabled
	reports              Name: Reports                        Version: 1.14.1     State: Enabled
	screenshot           Name: Screenshot                     Version: 1.1.3      State: Enabled

OCS Inventory NG
Host: 10.10.0.72
Connection: Ok
Use the OCSNG software dictionary: Yes
[/code]

email.txt

@cedric-anne
Copy link
Member

Hi,

Please try with to reproduce on GLPI 9.5.6. Maybe it has been fixed.

Regards

@BorisNovg
Copy link
Author

I am trying to reproduce on a test server.

@BorisNovg
Copy link
Author

BorisNovg commented Oct 4, 2021

The problem persists in the latest version (9.5.6).

Small attempt to debug the code.

How I reproduced the problem - I put a previously saved bad letter directly into the INPUT directory of the mailbox (using Microsoft Outlook) , click the button "Get email tickets now" on Home-Setup-Receivers-(my receiver)-Actions.

After 10 minutes I get a message in the php-errors.log:
"glpiphplog.CRITICAL: *** PHP Error (1): Maximum execution time of 600 seconds exceeded in /usr/share/glpi/inc/mailcollector.class.php at line 1592"

I modified the /usr/share/glpi/inc/mailcollector.class.php application code by adding debug output commands (Toolbox::logError from line 1580 to 1595):
Toolbox::logError("filename=$filename");
$filename = Toolbox::filename($filename); Toolbox::logError("filename=$filename");

 //try to avoid conflict between inline image and attachment
 $i = 2;
 while (in_array($filename, $this->files)) {
    //replace filename with name_(num).EXT by name_(num+1).EXT
    $new_filename = preg_replace("/(.*)_([0-9])*(\.[a-zA-Z0-9]*)$/", "$1_".$i."$3", $filename); Toolbox::logError("new_filename=$new_filename");
    if ($new_filename !== $filename) {
       $filename = $new_filename; Toolbox::logError("filename=$filename");
    } else {
       //the previous regex didn't found _num pattern, so add it with this one
       $filename = preg_replace("/(.*)(\.[a-zA-Z0-9]*)$/", "$1_".$i."$2", $filename); Toolbox::logError("filename=$filename");
    }
    $i++; Toolbox::logError("i=$i");
 }

If I post a normal message with an attached file, the log (php-errors.log) looks like this:
[2021-10-04 09:47:27] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1580
filename=СКРИН.docx {"user":"2@help.admreg.nov.ru"}
[2021-10-04 09:47:27] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1581
filename=skrin.docx {"user":"2@help.admreg.nov.ru","mem_usage":"0.001", 3.67Mio)"}

If I post a failed message with an attached file, the log looks like this:
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1580
filename==?US-ASCII?B?0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5wbmc=?= {"user":"2@help.admreg.nov.ru"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1581
filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.014", 5.61Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1580
filename==?US-ASCII?B?0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5wbmc=?= {"user":"2@help.admreg.nov.ru","mem_usage":"0.002", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1581
filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1587
new_filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1592
filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1594
i=3 {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1587
new_filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1592
filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:49:56] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1594
i=4 {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}

[2021-10-04 09:50:06] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1587
new_filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:50:06] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1592
filename=us-ascii-b-0ljqt9c-0lhrgncw0lbqtdc90ljqts5wbmc {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}
[2021-10-04 09:50:06] glpiphplog.ERROR: MailCollector::getRecursiveAttached() in /usr/share/glpi/inc/mailcollector.class.php line 1594
i=166477 {"user":"2@help.admreg.nov.ru","mem_usage":"0.000", 5.63Mio)"}

You can see that the attachment named =?US-ASCII?B?0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5wbmc=?= creates an infinite loop problem on line 1592:
$filename = preg_replace("/(.*)(\.[a-zA-Z0-9]*)$/", "$1_".$i."$2", $filename);

@BorisNovg
Copy link
Author

Excuse me, I closed this issue by mistake!

You can see that the attachment named =?US-ASCII?B?0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5wbmc=?= creates an infinite loop problem on line 1592:
$filename = preg_replace("/(.*)(\.[a-zA-Z0-9]*)$/", "$1_".$i."$2", $filename);

@trasher trasher reopened this Oct 4, 2021
trasher added a commit to trasher/glpi that referenced this issue Oct 6, 2021
@trasher trasher added bug and removed Need feedback labels Oct 7, 2021
trasher added a commit that referenced this issue Oct 11, 2021
* Rework attachments renaming; fix #9667 #9600
* Fix tests

Co-authored-by: Cédric Anne <cedric.anne@gmail.com>
@trasher
Copy link
Contributor

trasher commented Oct 11, 2021

Should be fixed with #9672

@trasher trasher closed this as completed Oct 11, 2021
@trasher trasher added this to the 9.5.7 milestone Oct 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants