Traceback when sending # or ; character from remote search or alert field
Bug #908226 reported by
mahfiaz
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OpenLP | Status tracked in Trunk | |||||
Android |
Fix Released
|
Medium
|
Tim Bentley | |||
Trunk |
Fix Released
|
Medium
|
mahfiaz |
Bug Description
This is a regression compared to 1.9.7
Maybe there are more characters which need special treatment besides # and ;
Related branches
lp:~mahfiaz/openlp/bug-908226
- Raoul Snyman: Approve
- mahfiaz (community): Approve
- Tim Bentley: Approve
- Jonathan Corwin: Pending requested
-
Diff: 193 lines (+57/-25)2 files modifiedopenlp/plugins/remotes/html/openlp.js (+11/-7)
openlp/plugins/remotes/lib/httpserver.py (+46/-18)
lp:~trb143/openlp/android_04
- Jonathan Corwin: Approve
-
Diff: 890 lines (+340/-133)14 files modifiedres/values-af/strings.xml (+11/-11)
res/values-cs/strings.xml (+11/-11)
res/values-de/strings.xml (+16/-11)
res/values-el/strings.xml (+12/-12)
res/values-en-rGB/strings.xml (+11/-11)
res/values-en-rZA/strings.xml (+11/-11)
res/values-es/strings.xml (+55/-0)
res/values-et/strings.xml (+11/-11)
res/values-fr/strings.xml (+12/-12)
res/values-hu/strings.xml (+11/-11)
res/values-ja/strings.xml (+16/-12)
res/values-nl/strings.xml (+55/-0)
res/values-pt-rBR/strings.xml (+55/-0)
res/values-sv/strings.xml (+53/-20)
Changed in openlp: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in openlp: | |
assignee: | nobody → mahfiaz (mahfiaz) |
status: | Confirmed → Fix Committed |
To post a comment you must log in.
It turned out that urlparse uses & and ; as equivalent separators.
urlparse. parse_qsl( 'data={ "request" :"da;ta= some"}' )
returns
[('data', '{"request":"da'), ('ta', 'some"}')]
urllib. urlencode( [('data' , '{"request" :"da;ta= some"}' )]) 7B%22request% 22%3A%22da% 3Bta%3Dsome% 22%7D'
returns
'data=%
Although we could replace these strings in httpserver.py in ready_read() right before passing the string to urlparse. parse_qs( ), it seems like a wrong place to fix it.