6.0.0-beta13
4/11/26

[#9903] Message Source stopped working
Summary Message Source stopped working
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 1. Low
Owners slusarz (at) horde (dot) org
Requester jacob-horde (at) vindvejr (dot) dk
Created 4/13/11 (5477 days ago)
Due
Updated 4/22/11 (5468 days ago)
Assigned 4/13/11 (5477 days ago)
Resolved 4/22/11 (5468 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
22.04.2011 10:30:16 Jan Schneider Version ⇒
Queue ⇒ Horde Framework Packages
 
22.04.2011 10:29:56 Jan Schneider Taken from Jan Schneider
State ⇒ Resolved
 
22.04.2011 08:11:49 jacob-horde (at) vindvejr (dot) dk Comment #15 Reply to this comment
Thanks, the fix works. I fixed php.ini afterwards, and it still works. 
I must accidentally have used "&" from the php.ini-production 
example line for arg_separator.output years ago. Strange that it 
haven't given me trouble before.
21.04.2011 19:11:53 Michael Slusarz Comment #14 Reply to this comment
Try this fix.  Seems that some PHP servers have arg_separator.output 
set to '&' for some reason.  Which IMHO is completely broken 
behavior - URL separators are defined as '&'.  '&' is nothing more 
than an escaped/encoded version of the URL separator used in certain 
contexts, but certainly not all.
21.04.2011 19:10:13 Git Commit Comment #13 Reply to this comment
Changes have been made in Git for this ticket:

Bug #9903: Fix for PHP servers with broken arg_separator.output strings

  1 files changed, 2 insertions(+), 1 deletions(-)
http://git.horde.org/horde-git/-/commit/23c60e65beca4850e4a8ef50bac035de353cd4c8
21.04.2011 19:01:21 Michael Slusarz Comment #12 Reply to this comment

[Show Quoted Text - 15 lines]
FWIW, this is exactly what I get, and I am not seeing a double encoding issue.
21.04.2011 18:59:07 Michael Slusarz Comment #11
Assigned to Jan Schneider
Reply to this comment
Adding Jan, since he wrote Horde_Url.
15.04.2011 10:37:16 jacob-horde (at) vindvejr (dot) dk Comment #10 Reply to this comment
2011-04-15T12:35:00+02:00 DEBUG: Variable information:
string(202) 
"void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D0%26amp%3Buid%3D44725%26amp%3Bmailbox%3DINBOX%22%7D'));"

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:857

2011-04-15T12:35:00+02:00 DEBUG: Variable information:
object(Horde_Url)#372 (6) {
   ["url"]=>
   string(19) "/horde/imp/view.php"
   ["raw"]=>
   bool(false)
   ["parameters"]=>
   array(0) {
   }
   ["pathInfo"]=>
   NULL
   ["anchor"]=>
   string(0) ""
   ["toStringCallback"]=>
   NULL
}

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:858

15.04.2011 05:28:26 Michael Slusarz Comment #9 Reply to this comment
Next step - Horde::debug(Horde::url('view.php')) on the same line as before.
14.04.2011 08:26:01 jacob-horde (at) vindvejr (dot) dk Comment #8 Reply to this comment
2011-04-14T10:22:59+02:00 DEBUG: Variable information:
string(203) 
"void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%2$

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:857

13.04.2011 20:43:23 Michael Slusarz Comment #7
Assigned to Michael Slusarz
Reply to this comment
<a 
onclick="void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%26amp%3Buid%3D44691%26amp%3Bmailbox%3DINBOX%22%7D'));" class="widget" accesskey="M"><span class="accessKey">M</span>essage 
Source</a>
That *is* an invalid string - '[...]view_source%26amp%3Bid[...]' 
should be '[...]view_source%3Bid[...]'.  But the problem is neither I 
(nor Jan) can reproduce - we both get the 2nd encoded version while 
you are getting the 1st encoded version.

In imp/lib/Contents.php, in the function linkViewJS(), can you put a 
Horde::debug($url) call in after the line that begins '$url = 
Horde::popupJs(...'

Horde::debug() documentation: http://wiki.horde.org/Doc/Dev/DebugH4

My guess is that your system is auto-appending some kind of parameters 
to all URLs that is not happening here, so the ampersand 
auto-detection is failing in Horde_Url.
13.04.2011 20:01:58 jacob-horde (at) vindvejr (dot) dk Comment #6 Reply to this comment
Whoops, copied the wrong line:

<a 
onclick="void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%26amp%3Buid%3D44691%26amp%3Bmailbox%3DINBOX%22%7D'));" class="widget" accesskey="M"><span class="accessKey">M</span>essage 
Source</a>
13.04.2011 19:59:23 jacob-horde (at) vindvejr (dot) dk Comment #5 Reply to this comment
Yes, the generated code looks like this:

<a 
href="javascript:void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fcompose.php%22%2C%22params%22%3A%22actionID%3Dredirect_compose%26amp%3Bidentity%3D0%26amp%3Bthismailbox%3DINBOX%26amp%3Buid%3D44691%22%7D'));" class="widget" accesskey="t">Redirec<span 
class="accessKey">t</span></a>

which turns into this:

https://<site>/horde/imp/view.php?actionID=view_source&amp%3Bid=1&amp%3Buid=44691&amp%3Bmailbox=INBOX&uniq=1302724661776

and thus doesn't work. Can I give you some more details about my setup?
13.04.2011 19:36:45 Jan Schneider Comment #4 Reply to this comment
There is no link content, there is only onclick javascript content. 
And that works perfectly fine for me.
13.04.2011 19:28:04 jacob-horde (at) vindvejr (dot) dk Comment #3
New Attachment: message_source.png Download
Reply to this comment
Traditional IMP interface (screenshot attached).
13.04.2011 19:18:43 Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
Using which interface?
13.04.2011 18:00:15 jacob-horde (at) vindvejr (dot) dk Comment #1
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ Message Source stopped working
Type ⇒ Bug
Queue ⇒ IMP
Reply to this comment
I have just upgraded from Horde 3.3 to 4.0. I did a fresh install, 
reconfigured everything and let Horde upgrade the DB schemas.

The link "Message Source" when viewing a mail message is wrong in this 
version. Example of generated link:

https://site/horde/imp/view.php?actionID=view_source&amp%3Bid=1&amp%3Buid=44676&amp%3Bmailbox=INBOX&uniq=1302717323354

If I copy the URL and change it to:

https://site/horde/imp/view.php?actionID=view_source&id=1&uid=44676&mailbox=INBOX&uniq=1302717323354

it works. Tried with both Chrome, Firefox and IE.

Saved Queries