#3260: web ui reverse proxy crash
---------------------------+----------------------------
 Reporter:  ajslater       |      Owner:
     Type:  bug            |     Status:  new
 Priority:  minor          |  Milestone:  needs verified
Component:  Web UI         |    Version:  2.0.0
 Keywords:  reverse proxy  |
---------------------------+----------------------------
 if you access deluge web UI with a reverse proxy header it crashes


 {{{
 web.Server Traceback (most recent call last):
 builtins.TypeError: must be str, not bytes
 /usr/lib/python3/dist-packages/twisted/web/server.py:190 in process
 189        try:
 190            resrc = self.site.getResourceFor(self)
 191            if resource._IEncodingResource.providedBy(resrc):
 /usr/lib/python3/dist-packages/twisted/web/server.py:826 in getResourceFor
 825        request.sitepath = copy.copy(request.prepath)
 826        return resource.getChildForRequest(self.resource, request)
 827
 /usr/lib/python3/dist-packages/twisted/web/resource.py:98 in
 getChildForRequest
 97        request.prepath.append(pathElement)
 98        resource = resource.getChildWithDefault(pathElement, request)
 99    return resource
 /usr/lib/python3/dist-packages/deluge/ui/web/server.py:580 in
 getChildWithDefault
 579        if base[0] != '/':
 580            base = '/' + base
 581
 builtins.TypeError: must be str, not bytes
 }}}

 the base variable type is bytes from the header and not a string which
 blows up.

 When you retrieve the header contents here:
 https://github.com/deluge-
 torrent/deluge/blob/develop/deluge/ui/web/server.py#L572

 its returning bytes and not str. Bytes are what's what's specified in the
 twisted docs:
 
https://twistedmatrix.com/documents/current/api/twisted.web.http.Request.html#getHeader

 so it might be fixable with casting those bytes to a string or
 concatenating them another way.

 This bug is new as of 2.x.x which makes sense since it looks like webui
 was refactored some.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3260>
Deluge <http://deluge-torrent.org/>
Deluge Project

-- 
You received this message because you are subscribed to the Google Groups 
"Deluge Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/deluge-dev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/deluge-dev/046.aad2ebb4f0e73a8f044ab423411729b1%40deluge-torrent.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to