Opened 9 years ago

Closed 9 years ago

#2186 closed defect (fixed)

Vidalia can't handle blank CountrySummary= arg in Bridge History

Reported by: say.hello.to.anna Owned by: chiiph
Priority: Medium Milestone:
Component: Archived/Vidalia Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by Sebastian)

Error when clicking the "who has used my bridge" link on relay set-up, sharing menu. Says

Vidalia was unable to retrieve your bridge's usage history.

and

Tor returned an improperly formatted response when Vidalia requested your bridge's usage history.

and on show details

eg.Tor returned an improperly formatted response when Vidalia requested your bridge's usage history.

I'm a non hacker, just wanting to help.

Child Tickets

Attachments (3)

Bridge History_20110121-002.jpeg (6.1 KB) - added by akwala 9 years ago.
screenshot of error
0001-Tolerate-empty-responses-to-a-clients-seen-query.patch (1.1 KB) - added by Sebastian 9 years ago.
ticket-2186.patch (2.9 KB) - added by edmanm 9 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 9 years ago by Sebastian

Description: modified (diff)

what combination of Tor and Vidalia versions are you using?

comment:2 Changed 9 years ago by lonelicloud

I got into this error too.

And I'm using the most recently test version of tor+vidalia bundle of 0.2.2.17-0.2.10.

Actually, even the stable version has this bug too. I had never got the using info successfully.

Changed 9 years ago by akwala

screenshot of error

comment:3 Changed 9 years ago by akwala

Me too...

System: Ubuntu 10.10 amd64
Vidalia: 0.2.10
Tor: 0.2.2.21-alpha-1~maverick+1

comment:4 Changed 9 years ago by arma

Looks like Vidalia can't handle a blank CountrySummary argument?

comment:5 Changed 9 years ago by Sebastian

Thanks, the screenshot was extremely helpful! The bug is in Vidalia, src/vidalia/config/ServerPage.cpp, where an empty CountrySummary leads to the described error message.

This is a Vidalia bug, not an issue with Tor, as the Tor specification explicitly states that an empty list of CountrySummary is possible.

comment:6 Changed 9 years ago by Sebastian

Status: newneeds_review

There's a trivial patch. It doesn't make the resulting window very pretty (the window is just empty, some text saying "hey sorry, no bridges, go spread your bridge manually/check connectivity/maybe china blocked it, etc" would be nice, tho it does seem kind of optional.

Someone should also figure out why the foreach body is actually reached at all, and if maybe pair is simply empty or something that can be detected earlier on.

comment:7 Changed 9 years ago by arma

Keywords: Bridge Histroy removed
Summary: Bridge Histroy ErrorVidalia can't handle blank CountrySummary= arg in Bridge History

Changed 9 years ago by edmanm

Attachment: ticket-2186.patch added

comment:8 Changed 9 years ago by edmanm

Meh, Sebastian's patch kinda sucks for the reasons he noted above. There's already code for a dialog box in that with the "hey sorry, no bridge users yet" message, so why not reuse it rather than displaying an empty user table? In theory, I like the patch I attached better, but I haven't been able to reproduce the blank CountrySummary line (I didn't try too hard) so I haven't been able to test it. If someone who can reproduce the black CountrySummary wants to give it a try, that'd be handy.

And the answer to the mystery noted in your patch and comment above is because QString's default split behavior is QString::KeepEmptyParts.

comment:9 Changed 9 years ago by chiiph

Resolution: fixed
Status: needs_reviewclosed

The patch was committed. Closing.

Note: See TracTickets for help on using tickets.