After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 432778 - Totem-mozplug doesn't handle IDN-domains
Totem-mozplug doesn't handle IDN-domains
Status: RESOLVED INCOMPLETE
Product: totem
Classification: Core
Component: Browser plugin (obsolete)
2.18.x
Other All
: Normal normal
: ---
Assigned To: totem-browser-maint
totem-browser-maint
Depends on:
Blocks:
 
 
Reported: 2007-04-23 22:54 UTC by David Andersson
Modified: 2010-05-22 09:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
firefox accessing a similar webpage (gallery2) with -debug (2.63 KB, text/plain)
2007-04-23 23:25 UTC, David Andersson
Details
Firefox statusbar while trying to access the video (2.13 KB, image/png)
2007-09-06 13:34 UTC, David Andersson
Details

Description David Andersson 2007-04-23 22:54:23 UTC
Please describe the problem:
What i think is happening is that Firfox hands over the IDN-domain to totem-mozplug in utf8, not ace-encoding it first. And it seems totem doesn't support IDN-domains.

Steps to reproduce:
1. Go to a IDN domain with an embedded video
2. See totem-mozplug try to download the video with a strange url.



Actual results:
The video doesn't play

Expected results:
To see the video

Does this happen every time?
Yes

Other information:
Gnome should really embrace IDN.
Comment 1 Bastien Nocera 2007-04-23 23:01:23 UTC
What errors do you see?
How do I test it (ie. test URL?)
Which backend do you use for Totem?
What's the output of "firefox -debug" when you try to reproduce this problem?
Comment 2 David Andersson 2007-04-23 23:18:10 UTC
Well i don't really get any error. Just a wierd Url in the statusbar of firefox (might be firefox doing something funny when handing over the url). I use the gstreamer backend.
Will do -debug in a minute in the meantime here is a web page for you to replicate the problem. http://www.kåremåla.se/testcase.html or http://www.xn--kremla-iuad.se/testcase.html
Comment 3 David Andersson 2007-04-23 23:25:09 UTC
Created attachment 86883 [details]
firefox accessing a similar webpage (gallery2) with -debug
Comment 4 Bastien Nocera 2007-08-16 23:04:32 UTC
The test page is gone, and I'm still not sure what the problem is. Could you put the test page back up, as well as show the problem in a screenshot for example?

Cheers
Comment 5 David Andersson 2007-09-06 13:33:08 UTC
Sorry about that, got lost in a server migration; should work now, though.
The only other anomaly, except the video not playing, is in the status bar of firefox (see screenshot testcase_html.png).
Comment 6 David Andersson 2007-09-06 13:34:23 UTC
Created attachment 95054 [details]
Firefox statusbar while trying to access the video
Comment 7 Bastien Nocera 2008-02-20 00:44:03 UTC
I can download the file just fine, using:
http://www.xn--kremla-iuad.se/graff-demo-2.avi
as the URL, but I added more debug to the totem plugin, and the data never seems to start streaming.

Christian, is a Mozilla problem?
Comment 8 Christian Persch 2008-02-20 13:51:37 UTC
$ echo "http://www.kåremåla.se/testcase.html" | iconv -f latin1 -t utf-8
http://www.kåremåla.se/testcase.html

Yes, this is a gecko bug. The plugin host interprets the URL we use in GetURL as latin1, not UTF-8.

I can't test it since the testcase is gone from the web, but his patch might fix it: http://www.gnome.org/~chpe/patches/pluginhost-uri-idn-fix.diff
Comment 9 Bastien Nocera 2008-02-20 13:53:47 UTC
David, could you leave the testcase online please? :)
Comment 10 Christian Persch 2008-02-20 14:09:31 UTC
Better patch: http://www.gnome.org/~chpe/patches/pluginhost-uri-idn-fix-2.diff
Comment 11 Christian Persch 2008-02-24 18:35:52 UTC
The testcase is back on-line.

With ff2.0, I get this:

** Message: NewStream mimetype 'video/x-msvideo' URL 'http://www.kåremåla.se/graff-demo-2.avi'
** Message: Viewer not ready, aborting stream
TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: Viewer: Controls height is 26px
** Message: SetWindow reply
** Message: ViewerReady
** Message: IsSchemeSupported scheme 'http': yes
TotemEmbedded-Message: totem_embedded_open_stream called: uri http://www.kåremåla.se/graff-demo-2.avi, base_uri: http://www.kåremåla.se/testcase.html
TotemEmbedded-Message: totem_embedded_open_internal 'fd://0' is-browser-stream 1 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: OpenStream reply
** Message: URLNotify URL 'http://www.kåremåla.se/graff-demo-2.avi' reason 2
** Message: Failed to get stream

where the URLNotify only comes when I load  a new page (or quit the browser).

In ff trunk on xulrunner with my patch:

** Message: NewStream mimetype 'video/x-msvideo' URL 'http://www.kåremåla.se/graff-demo-2.avi'
** Message: Viewer not ready, aborting stream
Viewer: PID 24426, args: /opt/totem-gst/libexec/totem-plugin-viewer --plugin-type gmp --user-agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b4pre) Gecko/2008021720 Minefield/3.0b4pre --mimetype video/x-msvideo 
** Message: Viewer DBus interface name is 'org.gnome.totem.PluginViewer_24426'
** Message: NameOwnerChanged old-owner '' new-owner ':1.41'
** Message: Viewer now connected to the bus
** Message: ViewerSetup
** Message: Calling SetWindow
** Message: NameOwnerChanged old-owner '' new-owner ':1.41'
** Message: Already have owner, why are we notified again?
Viewer: SetWindow XID 73402059 size 640:530
TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: Viewer: Controls height is 26px
** Message: SetWindow reply
** Message: ViewerReady
** Message: IsSchemeSupported scheme 'http': yes
TotemEmbedded-Message: totem_embedded_open_stream called: uri http://www.kåremåla.se/graff-demo-2.avi, base_uri: http://www.kåremåla.se/testcase.html
TotemEmbedded-Message: totem_embedded_open_internal 'fd://0' is-browser-stream 1 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: OpenStream reply
** Message: NewStream mimetype 'video/x-msvideo' URL 'http://www.kåremåla.se/graff-demo-2.avi'
** Message: Is unsupported mime-type 'video/x-msvideo'
** Message: Is not playlist: totem_pl_parser_can_parse_from_data failed (len 1119)
** Message: don't know how to handle video/x-divx, divxversion=(int)4, framerate=(fraction)25/1, width=(int)800, height=(int)480
0:00:04.056546994 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:324:bvw_error_msg: message = You do not have a decoder installed to handle this file. You might need to install the necessary plugins.
0:00:04.056597506 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:326:bvw_error_msg: domain  = 1848 (gst-stream-error-quark)
0:00:04.056614472 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:327:bvw_error_msg: code    = 6
0:00:04.056629087 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:328:bvw_error_msg: debug   = gstplaybasebin.c(2284): prepare_output (): /play
0:00:04.056644581 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:329:bvw_error_msg: source  = <play>
0:00:04.056678496 24426 0x807e1b0 ERROR                totem bacon-video-widget-gst-0.10.c:330:bvw_error_msg: uri     = fd://0
** Message: Error: You do not have a decoder installed to handle this file. You might need to install the necessary plugins.
gstplaybasebin.c(2284): prepare_output (): /play

TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: totem_embedded_set_error: 'The playback of this movie requires a DivX MPEG-4 Version 4 decoder plugin which is not installed.'
TotemEmbedded-Message: totem_embedded_set_error_logo called by browser plugin
** Message: StopStream signal received
** Message: DestroyStream reason 1
** Message: URLNotify URL 'http://www.kåremåla.se/graff-demo-2.avi' reason 1

So it seems to get the file but aborts because I don't have the right gstreamer plugins. -> PATCH WORKS! :)
Comment 12 Bastien Nocera 2008-02-24 18:40:01 UTC
Yay! Could you file a bug against Firefox and close this bug as NOTGNOME?
Comment 13 Christian Persch 2008-02-24 19:01:57 UTC
Can someone test this with unmodified xulrunner1.9 on firefox 3.0, so we're sure it's not an unrelated gecko 1.8/1.9 difference that's solving this?
Comment 14 Bastien Nocera 2008-08-18 15:18:40 UTC
It now seems to work just fine with the current xulrunner in Fedora 9 (xulrunner-1.9-1.fc9.x86_64). I've opened bug 548287 because libsoup which GStreamer uses for the HTTP doesn't support IDN domain names.

OK to close this bug? Christian, David?
Comment 15 Christian Persch 2008-08-18 20:08:24 UTC
Well, I'd say it would have to work in webkit too before we can declare it closed, but when I tried to test it, it appeared that webkit doesn't support IDN at all. So I guess this can be closed for now :(
Comment 16 Bastien Nocera 2008-08-18 20:11:25 UTC
We can certainly leave this opened until the WebKit backend supports it, but Totem itself seems to support IDN, whereas libsoup and WebKit would need support for it.
Comment 17 Tobias Mueller 2009-02-27 23:11:37 UTC
Reopening as per comment #16.
Comment 18 Bastien Nocera 2010-03-24 16:10:31 UTC
Test case is gone again.
Comment 19 Tobias Mueller 2010-03-24 17:56:15 UTC
Bastien: Hm, could you formulate a question for the reporter then? ;-) TIA!
Comment 20 Bastien Nocera 2010-03-24 18:17:53 UTC
(In reply to comment #19)
> Bastien: Hm, could you formulate a question for the reporter then? ;-) TIA!

There's no test case, so NEEDINFO.
Comment 21 Tobias Mueller 2010-05-22 09:45:11 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!