Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2188 closed Bug (fixed)

use libcurl's defaults for CURLOPT_ENCODING

Reported by: Gui13 Owned by:
Priority: Normal Milestone: 1.72
Component: Daemon Version: 1.61
Severity: Major Keywords: daemon remote
Cc:

Description

My configuration: -Transmission 1.61 (8385) -Buffalo Linkstation Mini running Debian lenny -Kernel: Linux NAS 2.6.27-rc6lsmini # 82 Thu Oct 9 23:09:44 JST 2008 armv5tel

When using transmission-remote in console, I get completely incoherent responses.

See here:

$transmission-remote -l
[12:24:15.394] JSON parser failed at line 1, column 1: "ÝMoÓ@ïùÏdµ³"
[12:24:15.396] transmission-remote: Unable to parse response "                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ÝMoÓ@ïùÏdµ³ßæq ¶TqÒU²mVrìh½-Uÿ;k7D¤8Æ¢
"

Sometimes it would even block my shell!

Change History (9)

comment:1 Changed 13 years ago by Gui13

Another one with debug information:

$ transmission-remote -b -l
posting:
--------
{
    "arguments": {
        "fields": [
            "error",
            "errorString",
            "eta",
            "id",
            "leftUntilDone",
            "name",
            "peersGettingFromUs",
            "peersSendingToUs",
            "rateDownload",
            "rateUpload",
            "sizeWhenDone",
            "status",
            "uploadRatio"
        ]
    },
    "method": "torrent-get",
    "tag": 1
}

--------
* Couldn't find host localhost in the .netrc file, using defaults
* About to connect() to localhost port 9091 (#0)
*   Trying 127.0.0.1... * connected
* Connected to localhost (127.0.0.1) port 9091 (#0)
> POST /transmission/rpc HTTP/1.1
User-Agent: transmission-remote/1.61 (8385)
Host: localhost:9091
Accept: */*
Accept-Encoding: deflate
Content-Length: 446
Content-Type: application/x-www-form-urlencoded

< HTTP/1.1 409 Conflict
< Server: Transmission
< X-Transmission-Session-Id: sJ9gzSwDr5qri2MTSubeGNpHw6gBYaGfcoSRt3KqUCJBtr3H
< Date: Tue, 09 Jun 2009 12:18:29 GMT
< Content-Length: 762
< Content-Type: text/html; charset=ISO-8859-1
<
* Connection #0 to host localhost left intact
* Closing connection #0
posting:
--------
{
    "arguments": {
        "fields": [
            "error",
            "errorString",
            "eta",
            "id",
            "leftUntilDone",
            "name",
            "peersGettingFromUs",
            "peersSendingToUs",
            "rateDownload",
            "rateUpload",
            "sizeWhenDone",
            "status",
            "uploadRatio"
        ]
    },
    "method": "torrent-get",
    "tag": 1
}

--------
* Couldn't find host localhost in the .netrc file, using defaults
* About to connect() to localhost port 9091 (#0)
*   Trying 127.0.0.1... * connected
* Connected to localhost (127.0.0.1) port 9091 (#0)
> POST /transmission/rpc HTTP/1.1
User-Agent: transmission-remote/1.61 (8385)
Host: localhost:9091
Accept: */*
Accept-Encoding: deflate
X-Transmission-Session-Id: sJ9gzSwDr5qri2MTSubeGNpHw6gBYaGfcoSRt3KqUCJBtr3H
Content-Length: 446
Content-Type: application/x-www-form-urlencoded

< HTTP/1.1 200 OK
< Server: Transmission
< Content-Encoding: deflate
< Content-Type: application/json; charset=UTF-8
< Date: Tue, 09 Jun 2009 12:18:29 GMT
< Content-Length: 614
<
* Connection #0 to host localhost left intact
got response:
--------
                                                                                                                                                                                                                                                             ÝÏoïù+"Îåß6»m![└W
¤=L;XÁ␋,ÑÚEýß±X-)S>7BM9øT␌&Õ+·ÈI£<Ó^§I$│:SD
Ü┌␋À8O4Ü;⎺ÓÒª 0¼Ñ<÷ÓÑ│5¾øV┐[¼×Îù¯π±óÍ¢␤+C­ý^^9ÏÛ┤V9å³4WI°±íRæ¾]ë┌ "ØXÂ)WV/
                                                                          Ó␊½ÓL9WÛ*
åîñä¹ß!¡D´ÜØ
Ç│└ÒÄ>¬À¥¿ûÏP¹UY±ÊíÆ_E
--------
[12:18:29.248] JSON parser failed at line 1, column 1: "ÝÏoïù+"Îåß"
[12:18:29.249] transmission-remote: Unable to parse response "                                                                                                                                                                                                                                                             ÝÏoïù+"Îåß6»m![└W
¤=L;XÁ␋,ÑÚEýß±X-)S>7BM9øT␌&Õ+·ÈI£<Ó^§I$│:SD
Ü┌␋À8O4Ü;⎺ÓÒª 0¼Ñ<÷ÓÑ│5¾øV┐[¼×Îù¯π±óÍ¢␤+C­ý^^9ÏÛ┤V9å³4WI°±íRæ¾]ë┌ "ØXÂ)WV/
                                                                          Ó␊½ÓL9WÛ*
åîñä¹ß!¡D´ÜØ
Ç│└ÒÄ>¬À¥¿ûÏP¹UY±ÊíÆ_E"
* Closing connection #0

comment:2 Changed 13 years ago by livings124

The first thing to do is update to 1.71. We do not support old versions.

comment:3 Changed 13 years ago by charles

Works for me. It looks like maybe your copy of transmission-remote was built without support for `deflate'.

Does the web ui work?

comment:4 Changed 13 years ago by charles

  • Summary changed from transmission-remote cannot parse (fuzzy) response to transmission-remote can't parse deflate()d responses

comment:5 Changed 13 years ago by Gui13

  • Version changed from 1.61 to 1.70+

The web ui works fine, yes. I compiled the 1.71 version and I have the same behaviour!

Can I set transmission not to send its answers with deflate?

My configure for 1.71:

Configuration:

Source code location: . Compiler: g++ System or bundled libevent: bundled

Build OS X client: no Build GTK+ client: no

... with gio support: no ... with dbus-glib support: no ... with libnotify support: no

Build Command-Line client: yes Build Daemon: yes

comment:6 Changed 13 years ago by Gui13

(sorry, bad formatting... could someone delete the previous post?)

The web ui works fine, yes. I compiled the 1.71 version and I have the same behaviour!

Version: Transmission 1.71 (8646)

Can I set transmission not to send its answers with deflate?

My configure for 1.71:

Configuration:

        Source code location:          .
        Compiler:                      g++
        System or bundled libevent:    bundled

        Build OS X client:             no
        Build GTK+ client:             no
          ... with gio support:        no
          ... with dbus-glib support:  no
          ... with libnotify support:  no
        Build Command-Line client:     yes
        Build Daemon:                  yes

comment:7 Changed 13 years ago by charles

  • Version changed from 1.70+ to 1.61

comment:8 Changed 13 years ago by charles

  • Milestone changed from None Set to 1.71
  • Resolution set to fixed
  • Status changed from new to closed
  • Summary changed from transmission-remote can't parse deflate()d responses to use libcurl's defaults for CURLOPT_ENCODING

Well some of the code that we've got in T is just wrong. We test to see if the system has libz when Transmission is compiled, but that's no guarantee that libcurl is compiled with it.

In r8658, transmission-remote now tells libcurl to accept whatever encodings it thinks it can handle, rather than what we think it can handle.

comment:9 Changed 13 years ago by charles

  • Milestone changed from 1.71 to 1.72
Note: See TracTickets for help on using tickets.