[301] in Zephyr Mailing List

home help back first fref pref prev next nref lref last post

Re: undead zwgcs

daemon@ATHENA.MIT.EDU (Steven Freed)
Wed Sep 16 15:46:34 1998

Date: Wed, 16 Sep 1998 13:43:19 -0600 (MDT)
From: Steven Freed <sfreed@gilasoft.com>
Reply-To: sfreed@gilasoft.com
To: Greg Hudson <ghudson@MIT.EDU>
Cc: zephyr@MIT.EDU
In-Reply-To: <199809151718.NAA23126@small-gods.mit.edu>

On Tue, 15 Sep 1998, Greg Hudson wrote:

> > Our mail server has 3 network interfaces. Only one out of 3 messages
> > gets delivered. The zephyr server gets the following message:
>  
> > zephyrd[16486]: sendit unauthentic fake packet: claimed 204.134.12.100,\
> >                                                    real 192.160.121.100
> > zephyrd[16486]: sendit unauthentic fake packet: claimed 192.160.121.161,\
> >                                                    real 192.160.121.100
> 
> > What's happening is each time it it querying namservice and getting
> > a different answer back in a round-robbin. So it works every 3rd
> > time.
> 
> The zephyr server never does any DNS queries; it can't afford to
> block.  It sounds like the client is at issue here.

Well at least part of it is the server. in server.x around line 1000
the code reads:

    /* Convert to in_addr's */
    for (cpp = server_hosts, addr = addrs, i = 0; *cpp; cpp++) {
        hp = gethostbyname(*cpp);
        if (hp) {
            memcpy(addr, hp->h_addr, sizeof(struct in_addr));
            addr++, i++;
        } else {
            syslog(LOG_WARNING, "hostname failed, %s", *cpp);
        }
    }


The hp->h_addr is realy just hp->h_addr_list[0] so it only gets the first
address. Because of this, it thinks it is a renegade server. (it spits out
the message:

   Sep 16 13:16:37 spirit zephyrd[28867]: I'm a renegade server!

It looks like that is I put the server name in the zephyr server file 3
times (the server has 3 interfaces) it will work right in most cases since
the above code should grab all 3 addrs as it loops through, as long as
nothing else does a dns querey while zephyrd is starting up. I am a bit
reluctant to hack on this code since I don't know hwat side effects it
will have.


> don't have AFS, there are AFS to HTTP gateways on web.mit.edu and
> www.mit.edu, so e.g. http://web.mit.edu/pathname will get you a file
> or directory listing.

I got it and that's what I'm working on now. It looks like it will be
simple to bundle a release. It compiled fine, I am just making sure all
the parts of it work.

-- 

Steven.



home help back first fref pref prev next nref lref last post