[ITP] Inetutils 1.9.4
D. Boland
daniel@boland.nl
Tue Feb 16 16:31:00 GMT 2016
Hi Corinna,
Corinna Vinschen wrote:
> Hi Daniel,
>
> On Feb 13 07:56, D. Boland wrote:
>> Hi Corinna,
>>
>> Corinna Vinschen wrote:
>>> On Feb 7 18:55, D. Boland wrote:
>>>> Some programs in the inetutils suite are packaged already:
>>>>
>>>> * hostname
>>>> * whois
>>>> * tftp
>>>> * tftp-server
>>>>
>>>> So I added these on the 'required' lines.
>>> They are not actually *required* to run inetd, right? Does it really
>>> make sense to add them as require packages then?
>> They belong to the package. A user expects them in there and would have
>> to piece the package back together. Why does it make sense to leave them
>> out?
>
> These tools are provided separately in many Linux distros for quite
> some time, and while those tools can be started by inetd, inetd
> doesn't require them and they don't require inetd (xinetd is perfectly
> capable of replacing inetd).
I don't see why this makes sense. The ping, hostname, whois and tftp
programs *do* belong to the inetutils package, right? But if you insist,
i'll comply.
>
>>>> Also, the following include files are needed:
>>>>
>>>> * /usr/include/netinet/icmp6.h
>>>> * /usr/include/netinet/ip_var.h
>>>>
>>>> There has been discussion on including the icmp6.h file in Cygwin 2.3.0.
>>> Can you check if icmp6.h from FreeBSD
>>> https://svnweb.freebsd.org/base/head/sys/netinet/icmp6.h?revision=279531&view=co
>>> does the trick when copied to /usr/include/netinet? If so, I add this file
>>> to the repo.
>> If I use the FreeBSD version I get:
>>
>> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../lib -I../libinetutils
>> -I../libicmp -O2 -pipe -Wimplicit-function-declaration -MT ping6.o -MD
>> -MP -MF .deps/ping6.Tpo -c -o ping6.o ping6.c
>> ping6.c: In function 'ping_init':
>> ping6.c:844:37: error: 'ICMP6_FILTER' undeclared (first use in this
>> function)
>> setsockopt (fd, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, sizeof
>> (filter));
>
> That won't work. Ever. Using RAW sockets requires administrator
> privileges. Apart from that, WinSock setsockopt does not at all support
> settings for the IPPROTO_ICMPV6 protocol family. That's what the
> 32 bit ping package
>
OK. I'll leave the ping6 program out.
> I took a (not so) quick glance over the binary packages and there are
> some problems:
>
> - etc/defaults/etc/init.src.sh has 000 perms.
I'll fix that.
>
> - etc/defaults/etc/shells collides with the already provided file from
> the base-files package.
I'll remove it.
>
> - usr/bin/inetutils-server-config installs inetd and syslogd in one
> go. That's a no no. There should be two installation scripts since
> you can't expect that a user who wants one service also wants the
> other one. Some people would probably like to stick to the Windows
> logging, or install syslog-ng.
>
> - Apropos syslog-ng: syslogd potentially collides with syslog-ng.
> However, instead of reusing the existing /usr/bin/syslogd-config
> script, your new scripts don't check for an existing syslog-ng
> installation at all.
I'll create inetutils-inetd-config and inetutils-syslogd-config. The
latter will check for syslog-ng existance.
>
> - You removed the etc/defaults/etc/xinetd.d files.
>
I'll put them in.
> - You removed the /usr/bin/iu-config file, which was specificially
> created to allow running under the cyg_server account for the known
> reasons of being able to switch the user context(*). Your scripts
> enforce file ownership and service start under the SYSTEM account.
> That's why the csih package exists for service installation scripts to
> use for stuff like that. Please have a look into the old
> /usr/bin/iu-config file.
I'll restore the iu-config script.
>
> - usr/bin/ping collides with the ping package.
I'll remove ping.
>
> - sbin/ifconfig is mostly non-functional since Cygwin doesn't support
> most of the functionality. Do you really want to maintain it?
>
> - usr/bin/traceroute is non-functional:
>
> $ traceroute.exe www.wdr.de
> traceroute to e2636.g.akamaiedge.net (104.90.150.230), 64 hops max
> traceroute: socket: Operation not permitted
That's because you're not in Administrator mode. Ping (from Atzeri's
package) does the same. The error message ultimately comes from the
'sendto' function, which is in cygwin1.dll
>
> - What also irritates me is that almost none of the patches from the
> former package made it into your version. Did you actually check the
> patches from the current 1.9.1 source package and made sure that they
> are really not required anymore, especially concerning O_BINARY/O_TEXT
> mode, authentication, exception handling, and, generally, backward
> compatibility?
What surprised me was the sheer number of patches. A whopping 573 of
them. Are they bug-fixes? Features? Shouldn't both be sent upstream?
What about the dont-mess-with-userspace rule? You once told me
that "we mostly strive to make Cygwin accommodate user space".
I'm not sure if I want to adopt inetutils with all these patches. It
feels like a can of worms. I cannot find any explanations for the
patches in the README files. Those patches are going to haunt me. I am a
systems-programmer for 20 years now. And I learnt Torvald's first rule
of kernel programming the hard way.
Please let me adopt the package in a clean way. If a parent adopts a
child, there will be new rules. The real parents didn't want the child,
or couldn't keep the child for unknown reasons. I don't mess with the
child and it will love me for it. I'll take full resposibility for not
messing with the child ;-)
Seriously, I really think it is fair to re-negotiate if and how I will
mess with inetutils. I'm the new maintainer, right? The concerns about
authentication I understand, but isn't a big issue. It's in the new,
much smaller patch. And aren't things like O_BINARY/O_TEXT mode and
exception handling a concern of the upstream maintainers?
Sincerely,
Daniel
More information about the Cygwin-apps
mailing list