Received: from studserv.uni-leipzig.de (studserv.uni-leipzig.de [139.18.1.15])
	by cs.csoft.net (8.9.3/8.9.3) with ESMTP id CAA04895
	for <lars@bearnip.com>; Sun, 8 Aug 1999 02:00:23 -0500
From: mai94cch@studserv.uni-leipzig.de
Received: from localhost (mai94cch@localhost)
	by studserv.uni-leipzig.de (8.8.7/8.8.7) with SMTP id KAA43296
	for <lars@bearnip.com>; Sun, 8 Aug 1999 10:43:42 +0200
Date: Sun, 8 Aug 1999 10:43:41 +0200 (MESZ)
To: Lars Duening <lars@bearnip.com>
Subject: Re: AIX
In-Reply-To: <0003515c09e30aa0_mailit@smtp.earthlink.net>
Message-ID: <Pine.A41.3.96.990808092813.10468A-100000@studserv.uni-leipzig.de>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-UIDL: CJMe9YZM!!BOWd9'@:e9

On Thu, 5 Aug 1999, Lars Duening wrote:

> Ich vergass: gibt es ein eindeutiges C-Macro, dass deine AIX und den Compiler 
> kennzeichnet, so wie __BEOS__ fuer BeOS, oder __GNUC__ fuer den GNU-Compiler?
> 
> Ich brauche das, damit ich deine Aenderungen gezielt aktivieren kann.

Ich habe noch nix gefunden, um den compiler eindeutig zu indentifizieren;
es ist der compiler, der mit AIX (4.3) zusammen ausgeliefert wird.

Hier noch eine kleine Aenderung in dem IPv6:

Datei comm.c
Funktion: struct svalue *f_send_imp (struct svalue *sp)
Alt:

        if (sscanf(to_host, "%d.%d.%d.%d", &ip1, &ip2, &ip3, &ip4) == 4)
        {
            name.sin_addr = inet6_addr(to_host);
            name.sin_family = AF_INET6;
        }
        else
        {
            hp = gethostbyname(to_host);
            if (hp == 0)
                break;
            memcpy(&name.sin_addr, hp->h_addr, hp->h_length);
            name.sin_family = AF_INET6;
        }

NEU:

        if (strchr(to_host, ':'))
        {
            name.sin_addr = inet6_addr(to_host);
            name.sin_family = AF_INET6;
        }
        else
        {
                hp = gethostbyname(to_host);
                if(!hp) break;
                if(hp->h_addrtype == AF_INET)
                {
                        CREATE_IPV6_MAPPED(name.sin_addr, (uint32_t)hp->h_addr_list[0]);
                }
                name.sin_family = AF_INET6;
                printf("Nicht getestet - bei Problemen biite eine mail an:\nmai94cch@studserv,uni-leipzig.de\n");
        }


AIX:
unter AIX 4.3 gibt es das macro CREATE_IPV6_MAPPED nicht, ich habe es in
der mudipv6.h folgendermassen definiert:

#ifndef CREATE_IPV6_MAPPED
        #define CREATE_IPV6_MAPPED(v6, v4) { \
                ((v6).s6_addr32[0] = 0); \
                ((v6).s6_addr32[1] = 0); \
                ((v6).s6_addr32[2] = 0x0000ffff); \
                ((v6).s6_addr32[3] = v4); }
#endif

(gilt nur fuer AIX 4.3 !)



MfG
Uwe

