Files @ 18c9eb22c29c
Branch filter:

Location: kallithea/init.d/kallithea-upstart.conf - annotation

Robert James Dennington
auth: Fix tomcat throwing '505 HTTP Version Not Supported' when trying to log in to Atlassian Crowd with usernames that contain spaces

If you try to log in to Kallithea via the Crowd auth module, and the username
contains a space, it fails. Tomcat on the Crowd server gives error '505 HTTP
Version Not Supported'.

Further investigation showed that the username was not being quoted. E.g. for
the user 'test account', the REST URL should contain 'test%20account' but
actually was containing 'test account'. When Tomcat received this HTTP request
it interprets the word 'account' as the HTTP version because of the space. This
obviously isn't a valid HTTP version.

This bug is fixed by using urllib2.quote on the username to ensure that special
characters are correctly quoted. After making that change on my local install,
the user 'test account' was able to log in successfully.
# kallithea - run the kallithea daemon as an upstart job
# Change variables/paths as necessary and place file /etc/init/kallithea.conf
# start/stop/restart as normal upstart job (ie: $ start kallithea)

description	"Kallithea Mercurial Server"
author		"Matt Zuba <matt.zuba@goodwillaz.org"

start on (local-filesystems and runlevel [2345])
stop on runlevel [!2345]

respawn

umask 0022

env PIDFILE=/var/hg/kallithea/kallithea.pid
env LOGFILE=/var/hg/kallithea/log/kallithea.log
env APPINI=/var/hg/kallithea/production.ini
env HOME=/var/hg
env USER=hg
env GROUP=hg

exec /var/hg/.virtualenvs/kallithea/bin/paster serve --user=$USER --group=$GROUP --pid-file=$PIDFILE --log-file=$LOGFILE $APPINI

post-stop script
	rm -f $PIDFILE
end script