glpi-project / glpi

GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.
https://glpi-project.org
GNU General Public License v3.0
4.3k stars 1.29k forks source link

Wrong push notification url #14603

Closed ErwSim closed 1 year ago

ErwSim commented 1 year ago

Code of Conduct

Is there an existing issue for this?

Version

10.0.7

Bug description

When we receive push notification and click on it, the url has a double slash after the domain name https:////front/ticket.form.php?id=

Relevant log output

No relevant log

Page URL

No response

Steps To reproduce

  1. Activate push notification on new ticket
  2. Create a new ticket
  3. Click on the push notification
  4. You get an error due to the wrong link

Your GLPI setup information

Informations sur le système, l'installation et la configuration
GLPI 10.0.7 ( => /var/www/html)
Installation mode: TARBALL
Current language:fr_FR

Server
 
Operating system: Linux SHARED-SRV-HELPDESK 5.15.0-1035-azure #42~20.04.1-Ubuntu SMP Wed Mar 1 19:17:41 UTC 2023 x86_64
PHP 8.1.18 fpm-fcgi (Core, FFI, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, bz2, calendar, cgi-fcgi, ctype, curl, date,
    dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd,
    openssl, pcre, pdo_mysql, posix, readline, redis, session, shmop, sockets, sodium, standard, sysvmsg, sysvsem, sysvshm,
    tokenizer, xml, xmlreader, xmlwriter, xsl, zip, zlib)
Setup: max_execution_time="30" memory_limit="512M" post_max_size="250M" safe_mode="" session.save_handler="files"
    upload_max_filesize="200M" 
Software: nginx/1.22.1
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58
Server Software: Source distribution
    Server Version: 8.0.31
    Server SQL Mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO
    Parameters: shared-srv-helpdesk@mysql-emi-shared-001.private.mysql.database.azure.com/shared-srv-helpdesk
    Host info: mysql-emi-shared-001.private.mysql.database.azure.com via TCP/IP

PHP version (8.1.18) is supported.
Sessions configuration is OK.
Allocated memory is sufficient.
mysqli extension is installed.
Following extensions are installed: dom, fileinfo, json, simplexml.
curl extension is installed.
gd extension is installed.
intl extension is installed.
libxml extension is installed.
zlib extension is installed.
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
Database engine version (8.0.31) is supported.
No files from previous GLPI version detected.
The log file has been created successfully.
Write access to /var/www/html/files/_cache has been validated.
Write access to /var/www/html/config has been validated.
Write access to /var/www/html/files/_cron has been validated.
Write access to /var/www/html/files has been validated.
Write access to /var/www/html/files/_dumps has been validated.
Write access to /var/www/html/files/_graphs has been validated.
Write access to /var/www/html/files/_lock has been validated.
Write access to /var/www/html/files/_pictures has been validated.
Write access to /var/www/html/files/_plugins has been validated.
Write access to /var/www/html/files/_rss has been validated.
Write access to /var/www/html/files/_sessions has been validated.
Write access to /var/www/html/files/_tmp has been validated.
Write access to /var/www/html/files/_uploads has been validated.

Web server root directory configuration seems safe.
Sessions configuration is secured.
OS and PHP are relying on 64 bits integers.
exif extension is installed.
ldap extension is installed.
openssl extension is installed.
Following extensions are installed: bz2, Phar, zip.
Zend OPcache extension is installed.
Following extensions are installed: ctype, iconv, mbstring, sodium.
Write access to /var/www/html/marketplace has been validated.
Timezones seems loaded in database.

GLPI constants
 
GLPI_ROOT: "/var/www/html"
GLPI_CONFIG_DIR: "/var/www/html/config"
GLPI_VAR_DIR: "/var/www/html/files"
GLPI_MARKETPLACE_DIR: "/var/www/html/marketplace"
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: false
GLPI_SERVERSIDE_URL_ALLOWLIST: ["/^(https?|feed):\\/\\/[^@:]+(\\/.*)?$/"]
GLPI_TELEMETRY_URI: "https://telemetry.glpi-project.org"
GLPI_INSTALL_MODE: "TARBALL"
GLPI_NETWORK_MAIL: "glpi@teclib.com"
GLPI_NETWORK_SERVICES: "https://services.glpi-network.com"
GLPI_MARKETPLACE_ALLOW_OVERRIDE: true
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: true
GLPI_USER_AGENT_EXTRA_COMMENTS: ""
GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: "1"
GLPI_AJAX_DASHBOARD: "1"
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_DEMO_MODE: "0"
GLPI_CENTRAL_WARNINGS: "1"
GLPI_DOC_DIR: "/var/www/html/files"
GLPI_CACHE_DIR: "/var/www/html/files/_cache"
GLPI_CRON_DIR: "/var/www/html/files/_cron"
GLPI_DUMP_DIR: "/var/www/html/files/_dumps"
GLPI_GRAPH_DIR: "/var/www/html/files/_graphs"
GLPI_LOCAL_I18N_DIR: "/var/www/html/files/_locales"
GLPI_LOCK_DIR: "/var/www/html/files/_lock"
GLPI_LOG_DIR: "/var/www/html/files/_log"
GLPI_PICTURE_DIR: "/var/www/html/files/_pictures"
GLPI_PLUGIN_DOC_DIR: "/var/www/html/files/_plugins"
GLPI_RSS_DIR: "/var/www/html/files/_rss"
GLPI_SESSION_DIR: "/var/www/html/files/_sessions"
GLPI_TMP_DIR: "/var/www/html/files/_tmp"
GLPI_UPLOAD_DIR: "/var/www/html/files/_uploads"
GLPI_INVENTORY_DIR: "/var/www/html/files/_inventories"
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: "/var/www/html/locales"
GLPI_VERSION: "10.0.7"
GLPI_SCHEMA_VERSION: "10.0.7@5d45269702917a32805e25b678f6779a98b145f6"
GLPI_MARKETPLACE_PRERELEASES: false
GLPI_MIN_PHP: "7.4.0"
GLPI_MAX_PHP: "8.3.0"
GLPI_YEAR: "2023"

Libraries
 
htmlawed/htmlawed version 1.2.9 in (/var/www/html/vendor/htmlawed/htmlawed)
phpmailer/phpmailer version 6.8.0 in (/var/www/html/vendor/phpmailer/phpmailer/src)
simplepie/simplepie version 1.5.8 in (/var/www/html/vendor/simplepie/simplepie/library)
tecnickcom/tcpdf version 6.6.2 in (/var/www/html/vendor/tecnickcom/tcpdf)
michelf/php-markdown in (/var/www/html/vendor/michelf/php-markdown/Michelf)
true/punycode in (/var/www/html/vendor/true/punycode/src)
iamcal/lib_autolink in (/var/www/html/vendor/iamcal/lib_autolink)
sabre/dav in (/var/www/html/vendor/sabre/dav/lib/DAV)
sabre/http in (/var/www/html/vendor/sabre/http/lib)
sabre/uri in (/var/www/html/vendor/sabre/uri/lib)
sabre/vobject in (/var/www/html/vendor/sabre/vobject/lib)
laminas/laminas-i18n in (/var/www/html/vendor/laminas/laminas-i18n/src)
laminas/laminas-servicemanager in (/var/www/html/vendor/laminas/laminas-servicemanager/src)
monolog/monolog in (/var/www/html/vendor/monolog/monolog/src/Monolog)
sebastian/diff in (/var/www/html/vendor/sebastian/diff/src)
donatj/phpuseragentparser in (/var/www/html/vendor/donatj/phpuseragentparser/src/UserAgent)
elvanto/litemoji in (/var/www/html/vendor/elvanto/litemoji/src)
symfony/console in (/var/www/html/vendor/symfony/console)
scssphp/scssphp in (/var/www/html/vendor/scssphp/scssphp/src)
laminas/laminas-mail in (/var/www/html/vendor/laminas/laminas-mail/src/Protocol)
laminas/laminas-mime in (/var/www/html/vendor/laminas/laminas-mime/src)
rlanvin/php-rrule in (/var/www/html/vendor/rlanvin/php-rrule/src)
blueimp/jquery-file-upload in (/var/www/html/vendor/blueimp/jquery-file-upload/server/php)
ramsey/uuid in (/var/www/html/vendor/ramsey/uuid/src)
psr/log in (/var/www/html/vendor/psr/log/Psr/Log)
psr/simple-cache in (/var/www/html/vendor/psr/simple-cache/src)
psr/cache in (/var/www/html/vendor/psr/cache/src)
league/csv in (/var/www/html/vendor/league/csv/src)
mexitek/phpcolors in (/var/www/html/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
guzzlehttp/guzzle in (/var/www/html/vendor/guzzlehttp/guzzle/src)
guzzlehttp/psr7 in (/var/www/html/vendor/guzzlehttp/psr7/src)
glpi-project/inventory_format in (/var/www/html/vendor/glpi-project/inventory_format/lib/php)
wapmorgan/unified-archive in (/var/www/html/vendor/wapmorgan/unified-archive/src)
paragonie/sodium_compat in (/var/www/html/vendor/paragonie/sodium_compat/src)
symfony/cache in (/var/www/html/vendor/symfony/cache)
html2text/html2text in (/var/www/html/vendor/html2text/html2text/src)
symfony/css-selector in (/var/www/html/vendor/symfony/css-selector)
symfony/dom-crawler in (/var/www/html/vendor/symfony/dom-crawler)
twig/twig in (/var/www/html/vendor/twig/twig/src)
twig/string-extra in (/var/www/html/vendor/twig/string-extra)
symfony/polyfill-ctype not found
symfony/polyfill-iconv not found
symfony/polyfill-mbstring not found
symfony/polyfill-php80 not found
symfony/polyfill-php81 not found
symfony/polyfill-php82 in (/var/www/html/vendor/symfony/polyfill-php82)
league/oauth2-client in (/var/www/html/vendor/league/oauth2-client/src/Provider)
league/oauth2-google in (/var/www/html/vendor/league/oauth2-google/src/Provider)
thenetworg/oauth2-azure in (/var/www/html/vendor/thenetworg/oauth2-azure/src/Provider)

LDAP directories
 
Server: '10.0.100.180', Port: '389', BaseDN: 'OU=AADDC Users,DC=aadds,DC=terredappels,DC=fr', Connection filter:
        '(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))', RootDN:
        'aadds\helpdesk_aadds', Use TLS: none

SQL replicas
 
Not active

Notifications
 
Way of sending emails: SMTP+TLS (helpdesk@evenmedia.fr@mailer.terredappels.fr)

Plugins list
 
    barcode              Name: Barcode                        Version: 2.7.1      State: Not installed                           
        Install Method: Marketplace
    camerainput          Name: Camera Input                   Version: 2.0.2      State: Not installed                           
        Install Method: Marketplace
    timelineticket       Name: Chronologie des tickets        Version: 10.0+1.1   State: Not installed                           
        Install Method: Marketplace
    behaviors            Name: Comportements                  Version: 2.7.2      State: Enabled                                 
        Install Method: Marketplace
    datainjection        Name: Data Injection                 Version: 2.13.0     State: Installed / not activated               
        Install Method: Marketplace
    glpiinventory        Name: GLPI Inventory                 Version: 1.2.1      State: Enabled                                 
        Install Method: Marketplace
    oauthimap            Name: Oauth IMAP                     Version: 1.4.3      State: Enabled                                 
        Install Method: Marketplace
    stab                 Name: Split Timeline Action Buttons  Version: 1.1.2      State: Enabled                                 
        Install Method: Marketplace

Anything else?

The server uses nginx

cedric-anne commented 1 year ago

Hi,

  1. Activate push notification on new ticket

What do you call "push notification"? Could you provide a screenshot or somthing that could help to identify it?

ErwSim commented 1 year ago

Hello,

I mean browser notifications, ajax

cedric-anne commented 1 year ago

Could you test #14650? You must activate debug mode and clear browser cache to be able to test it.

ErwSim commented 1 year ago

Thank you, it works we this fix

ErwSim commented 1 year ago

In addition, it doesn't work anymore when I deactivate debug mode Is there any reason about that ? A way to make it work without the debug mode ?

cedric-anne commented 1 year ago

In addition, it doesn't work anymore when I deactivate debug mode Is there any reason about that ? A way to make it work without the debug mode ?

You should remove the js/notifications_ajax.min.js file to fix this, so all users will get the patched JS script.

ErwSim commented 1 year ago

It works fine, thank you :)