bugzilla extension defaulting to https?

Kurt Lidl kurt.lidl at cello.com
Fri Dec 23 09:04:45 CST 2011


I have a working bugzilla installation. (version 4.0.1)
I have a working mercurial installation. (version 2.0 on the server 
running the hook)

I am attempting to get the hgext.bugzilla extension running, I crafted 
up the following
for the repo's .hg/hgrc file:

-- snip, snip --
[extensions]
hgext.bugzilla =

[hooks]
incoming.bugzilla = python:hgext.bugzilla.hook

[bugzilla]
bzurl = http://bugzilla.cello.com/
user = mybzusername at cello.com
password = mybzpassword
version = xmlrpc
strip = 4

[web]
baseurl = http://hg.cello.com/hg/testrepo
-- snip, snip --

When I commit a changeset to the repo that matches the regex,
I get the following error message:

lidl at dev00-212: hg push
pushing to ssh://hg@hg.cello.com/testrepo
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: error: incoming.bugzilla hook failed: Bugzilla error: [Errno 61] 
Connection refused

If I run tcpdump on the mercurial server, it shows that the xmlrpc 
request to the bugzilla
server is happening on port 443, which would imply "https", NOT "http".

root at mercurial-152: tcpdump -n host bugzilla.cello.com
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes
17:34:45.160324 ARP, Request who-has 98.141.206.33 tell 98.141.206.32, 
length 28
17:34:45.160444 ARP, Reply 98.141.206.33 is-at 00:07:e9:82:68:36, length 46
17:34:45.160455 IP 98.141.206.32.35544 > 98.141.206.33.443: Flags [S], 
seq 4051676553, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 
2945321014 ecr 0] length 0
17:34:45.160586 IP 98.141.206.33.443 > 98.141.206.32.35544: Flags [R.], 
seq 0, ack 4051676554, win 0, length 0
17:34:51.286596 IP 98.141.206.33.513 > 224.0.1.3.513: UDP, length 60

If I change the 'bzurl' configuration setting to be 
"http://bugzilla.cello.com:80/", then the request from the
mercurial server to the bugzilla server is indeed forced to be on port 
80, but it fails because it is attempting to use
SSL for the connection.  Here's that that looks like, from the client's 
error message:

lidl at dev00-215: hg push
pushing to ssh://hg@hg.cello.com/testrepo
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: error: incoming.bugzilla hook failed: Bugzilla error: [Errno 1] 
_ssl.c:503: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown 
protocol

Did I miss something where it says that the extension only supports https?

And that it silently takes a http:// url and treats it as a https:// url?

Thanks for any insight or suggestions.

-Kurt


More information about the Mercurial mailing list