bug-inetutils
[Top][All Lists]
Advanced

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

[bug-inetutils] Re: openbsd portability


From: Mats Erik Andersson
Subject: [bug-inetutils] Re: openbsd portability
Date: Tue, 26 Oct 2010 21:43:29 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hello again,

a sound status report for OpenBSD follows.

lördag den 23 oktober 2010 klockan 10:24 skrev Alfred M. Szmidt detta:
> Do you have a OpenBSD machine I could access to try and help you?

Well, I use three instances of OpenBSD on three physical machines for
development, where two of them are independent of any GNU/Linux setting.
However, all are normally located in my LAN, thus private. Only one is
used as a mobile platform.


An analysis based on

  Inetutils , commit 100374d...087a51b, i.e., the up to date tree,

shows that exactly two patches are necessary for compilation:

  0003-ifconfig-if_index.c-Condition-in-HAVE_STRUCT_IF_NAME.patch

    located in

  http://lists.gnu.org/archive/html/bug-inetutils/2010-09/txtATTimjxmHt.txt
  http://lists.gnu.org/archive/html/bug-inetutils/2010-09/msg00029.html

and

  0003-libinetutils-cleansess-utmp_-Adaptions-for-OpenBSD.patch

    located in

  http://lists.gnu.org/archive/html/bug-inetutils/2010-09/txt0haVUvfWoy.txt
  http://lists.gnu.org/archive/html/bug-inetutils/2010-09/msg00030.html


These, or something similar in effect, constitute the minimal action in order
to get all binaries to compile under OpenBSD. However, this is not enough
to get the intended functionality. One problem is that OpenBSD poses larger
demands on correct size parameters for BSD socket, than GNU/Linux does.

As an example, "telnetd/telnetd" will now fail any connection on OpenBSD,
since

    /* telnetd/telnetd.c: 303  */

    getnameinfo((struct sockaddr *) &saddr, sizeof(saddr), buf, ... )

is applied to "struct sockaddr_storage saddr", but OpenBSD checks that
the call is made to operate on either "sizeof(struct sockaddr_in)" or
"sizeof(struct sockaddr_in6)", depending on the incoming address family.

One line of remedy, is the book keeping I have used in src/tftpd.c and
(still pending!) src/tftp.c for recording the size of the active address
structure. Remember that Guillem Jover got me onto track there.

As a side note, the mere possibility to get IPv6 into telnetd for OpenBSD
was the content of my patch in

  http://lists.gnu.org/archive/html/bug-inetutils/2010-09/msg00033.html
 
since the macro IPV6 was not detected for OpenBSD earlier on. Most of
my observations are connected!

If I were allowed to see included something equivalent to the above,
outstanding patches, then I could begin to check and track down all
functionality on OpenBSD, but at the moment that is pointless. I am
simply waiting and I partly invest the time in other IPv6 business.
But I also have begun developing "ifconfig/system/openbsd.c"!


Best regards as always,
Mats



reply via email to

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