View Issue Details

IDProjectCategoryView StatusLast Update
0015254phplist applicationStatisticspublic14-06-13 15:00
Reporterh2b2 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version2.10.8 
Target Version2.11.11Fixed in Version2.11.11 
Summary0015254: Issue with link conversion for click tracking
DescriptionLink conversion for clicktracking in v2.10.8 generates broken links under specific conditions by adding a trailing "%3D" (an equivalent for "=") to the link id. For instance: /lists/lt.php?id=f0wESAJQAQtFBwoBBAM%3D

System info:
phplist - v2.10.8 (with magic quotes off)
Apache - 2.2.10
cPanel - 11.23.6-STABLE
Curl - 7.12.1
MySQL - 5.0.51a
phpMyAdmin - 2.11.9.1
Python - 2.4.3
Perl - 5.8.8
PHP - 5.2.6
ionCube Loader - 3.1.32
Zend Optimizer - 3.3.3
Ruby Rails - 1.8.5
OpenSSL - 0.9.8b


The issue was reported on this forum thread: http://forums.phplist.com/viewtopic.php?p=58171#58171

http://domain.com/lists/lt.php?id=f0wESAJQAQtFBwoBBAM%3D
Additional InformationSeems related to http://mantis.phplist.com/view.php?id=8980

Have filed a new report since issue 8980 apparently doesn't allow re-opening the issue to post feedback notes.
-
TagsNo tags attached.

Relationships

related to 0008980 resolveduser1822 Link Conversion for Click Tracking 
related to 0015334 resolvedmichiel When user requests personal URL for changing its preferences, wrong uid is sent to user, so he cannot change them 
related to 0015573 resolvedmichiel Clicking Link in message renders error 404 

Activities

h2b2

05-04-09 20:43

manager   ~0050614

A somewhat similar issue has been reported for v2.10.4. In this particular case link conversion results in two trailing "%253D" (another equivalent for a "=") being appended to the link id, for instance:
lists/lt.php?id=ex1VBglVB1VEA1EFGQBbVw%253D%253D

In both case, an encoded "=" symbol is appended, which would seem to point to a charset related issue that has possibly not been taken into account in the fix for http://mantis.phplist.com/view.php?id=8980

These are charset settings for the system:

- phplist version: 2.10.4
- charset defined on configuration page: iso-8859-1
- charset in languages.php: "en" => array("English ", "iso-8859-1", "iso-8859-1, windows-1252 ")
- In config.php:
  - $language_module = "english.inc"; (with $strCharSet = iso-8859-1)
  - define("HTMLEMAIL_ENCODING","quoted-printable");
  - define("TEXTEMAIL_ENCODING",'7bit');
- Database encoding:
  - character_set_client utf8
  - character_set_connection utf8
  - character_set_database latin1
  - character_set_filesystem binary
  - character_set_results utf8
  - character_set_server latin1
  - character_set_system utf8
  - character_sets_dir /usr/share/mysql/charsets/

-

michiel

18-05-11 13:45

manager   ~0051344

I don't think the %3D actually breaks anything. I have some links that even have it twice, but they work fine

Getting rid of them probably would involve cleaning before converting, but that's kind of cosmetic.

michiel

14-06-13 14:59

manager   ~0052139

the = signs are caused by http://php.net/manual/en/function.base64-encode.php

I tested and it is fine to strip them, the reverse decoding continues to work. So, I've done that.