On 18/06/13 02:22, Daira Hopwood (formerly David-Sarah) wrote:
> On 17/06/13 15:33, Randall Mason wrote:
>> I would like to see this changed to something more cross platform.  There is 
>> a python
>> module (that requires compilation) that is available that does this exact 
>> thing:
>> https://pypi.python.org/pypi/netifaces/
> 
> We've rejected adding that dependency; see the comments on
> <https://github.com/tahoe-lafs/tahoe-lafs/pull/14>.

Actually those comments don't include the full rationale, so I'll paste it here:

<marcusw> warner: DS thought it was bad to have a bunch of C, mostly to support 
features
we don't use at the moment
CodesInChaos: Doesn't tahoe need c for crypto and erasure encoding anyways?
CodesInChaos: writing those in python sounds expensive
davidsarah`: huh, I can't find what I posted about netifaces
davidsarah`: it was based on reading the source and seeing how much of it 
wasn't relevant
davidsarah`: ah, it was in this channel
(20:28:00) ***davidsarah looks at
http://alastairs-place.net/hg/netifaces/file/aa1a71e0adf7/netifaces.c
(20:28:18) dreid: So uhh yeah, switch to endpoints please. :)
(20:28:40) warner: ok, I think endpoints weren't sufficiently 
documented/implemented at
that time (two years ago) for me to research them
(20:28:43) nejucomo: Then all we'd need is to bake in the serverFromString 
format into the
URLv2 standard for the network location.  ;-)
(20:28:43) davidsarah: ugh, 1471 lines of C code most of which is for 
interfaces we don't
use. isn't there something pure-Python for this?
(20:29:04) davidsarah: (pure Python or failing that, Python using ctypes)
(20:31:31) marcusw: davidsarah: only if we want to put platform-specific code 
into
foolscap...which I really don't want to do because I can't test it
(20:32:47) zooko`: Sigh. Re: netifaces: I don't even really value autodiscovery 
of your
own IP address very much.
(20:32:55) zooko`: It is almost never routeable, for end-users behind 
NAT+firewall.
(20:33:10) zooko`: And for sysadmins who have routeable IP addresses, they 
don't like
autodiscovery.
(20:33:11) marcusw: zooko`: but ipv6
(20:33:49) marcusw: but yeah, I would certainly be OK with not having to deal 
with
setLocationAutomatically anymore :D
(20:33:50) zooko: Okay, and if for ipv6 or some other reason we're determined 
to go ahead
and keep doing IP addr autodiscovery, then the best way to do it is by invoking 
"ifconfig"
or "route.exe" in a subprocess.
(20:34:05) zooko: It's been working well enough for about a dozen years now, on 
at least a
dozen platforms.
davidsarah`: (the actual conversation had a lot more detail about twisted APIs 
and strport
syntaxes mixed in. hope I haven't misrepresented anyone by selective quoting)

-- 
Daira Hopwood ⚥

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
tahoe-dev mailing list
tahoe-dev@tahoe-lafs.org
https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev

Reply via email to