monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

netsync connection info cleanup Was: Re: [Monotone-devel] usher


From: Thomas Keller
Subject: netsync connection info cleanup Was: Re: [Monotone-devel] usher
Date: Thu, 15 Apr 2010 14:59:32 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.8) Gecko/20100228 SUSE/3.0.3-1.1.1 Lightning/1.0b2pre Thunderbird/3.0.3

Am 15.04.2010 13:33, schrieb Thomas Keller:
> I played around with [mtn://-style uris] further, there are a couple of 
> serious bugs in
> this feature. Apparently the uri scheme only works if a port (and may it
> only be the standard port 4691) is given and thats also the reason why
> the tests don't alert the problem, becase they always run a local mtn
> instance on the non-standard port.
> 
> Furthermore, known-servers gets the complete URI instead of just the
> hostname set when the mtn uri is used:
> 
> known-servers: mtn://guitone.thomaskeller.biz:4691
> f814415176bf04178c64895b19ef99752159626d
> known-servers:
> mtn://guitone.thomaskeller.biz:4691?include=net.venge.monotone.guitone
> f814415176bf04178c64895b19ef99752159626d
> 
> This leads to new entries each time the branch pattern changes only
> slightly and means also that the user is alerted of a "new server" each
> time.
> 
> I don't had the time yet to debug this further, I only re-assured that
> parse_uri() itself doesn't seem to be the problem, because port-less
> URIs are tested there and the test succeeds.

I started a new branch (net.venge.monotone.connection_info_cleanup)
where I tried to fix some of the issues. mtn://server-style URIs with no
port should work already, also the known-servers problem has been fixed.

However there is a bug in our parse_uri() implementation: If no scheme
(f.e. mtn://) is given, it treats the string as path rather than as
hostname. This leads to the problem that the scheme-less default server
setting we store in the db vars is not treated correctly and that a host
which is entered by the user is now also parsed wrongly.
As I said, I'd rather change the implementation of parse_uri than
forcing the user to pull "mtn://monotone.ca" instead of just
"monotone.ca"...

I'll try to refactor some of the code afterwards and move the parsing
logic (also for include / exclude patterns) into
netsync_connection_info. I started already by adding a get_port() method
which either returns the default mtn port or a custom port parsed from
the argument.

Thomas.

-- 
GPG-Key 0x160D1092 | address@hidden | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]