Sunday, February 14, 2010

Deluge WEB UI error after accepting EBOX certificate

Recently, I installed Ubuntu 9.04 on my home server in order to take advantage of the automated administration features of EBOX with the Web UI of Deluge. After setting both of them up from the repositories, they both worked. When testing out the two services, I noticed that if I visited the ebox administration page before visiting the Deluge Web UI in the same browser, my browser showed this error:

File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/wsgiserver/__init__.py", line 628, in communicate
req.respond()
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/wsgiserver/__init__.py", line 361, in respond
response = self.wsgi_app(self.environ, self.start_response)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/webapi.py", line 315, in wsgifunc
result = internalerror()
File "/var/lib/python-support/python2.6/deluge/ui/webui/debugerror.py", line 399, in deluge_debugerror
web.ctx.output = djangoerror()
File "/var/lib/python-support/python2.6/deluge/ui/webui/debugerror.py", line 386, in djangoerror
return t(exception_type, exception_value, frames, exception_message, version_info, tback_txt)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 498, in __call__
return f.go()
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 760, in go
self.output._str = ''.join(map(self.h, self.parsetree))
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 552, in h
return getattr(self, 'h_' + item[WHAT])(item)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 684, in h_line
o = self.h(x[NAME])
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 552, in h
return getattr(self, 'h_' + item[WHAT])(item)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 609, in h_call
args = [self.h(x) for x in i[ARGS]]
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 552, in h
return getattr(self, 'h_' + item[WHAT])(item)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 620, in h_expr
item = self.h(i[THING])
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 552, in h
return getattr(self, 'h_' + item[WHAT])(item)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/template.py", line 611, in h_call
return call(*args, **kw)
File "/var/lib/python-support/python2.6/deluge/ui/webui/lib/webpy022/webapi.py", line 146, in cookies
cookie.load(ctx.env.get('HTTP_COOKIE', ''))
File "/usr/lib/python2.6/Cookie.py", line 625, in load
self.__ParseString(rawdata)
File "/usr/lib/python2.6/Cookie.py", line 656, in __ParseString
self.__set(K, rval, cval)
File "/usr/lib/python2.6/Cookie.py", line 578, in __set
M.set(key, real_value, coded_value)
File "/usr/lib/python2.6/Cookie.py", line 455, in set
raise CookieError("Illegal key value: %s" % key)
CookieError: Illegal key value: EBox::Auth_EBox
This seemed like a strange error, but I figured out a couple different ways to get around this issue. One way is to access your Deluge Web UI through a service such as DYNDNS, meaning that EBOX would be reached through https:// and Deluge through http://:.
Another option would be to access these services through separate browsers, to avoid the Cookie/Certificate issue that is happening here.

I'm currently attempting to attempt to EBOX 1.4 by adding the EBOX PPA:
(deb http://ppa.launchpad.net/ebox/1.4/ubuntu hardy main)
I'll let you know if this resolves any issues.