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 ⚥
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