13 messages in net.sourceforge.lists.courier-users[courier-users] Re: Courier doesn't d...
FromSent OnAttachments
sytseOct 4, 2002 3:48 am 
Mitchell YoungOct 4, 2002 7:39 am 
David HumphreyOct 4, 2002 7:50 am 
Jesse KeatingOct 4, 2002 8:23 am 
David HumphreyOct 4, 2002 8:31 am 
David HumphreyOct 4, 2002 8:47 am 
Sam VarshavchikOct 4, 2002 9:29 pm 
Brian CandlerOct 5, 2002 12:59 am 
David HumphreyOct 5, 2002 1:29 pm 
Sam VarshavchikOct 5, 2002 1:52 pm 
Mitchell T. YoungOct 5, 2002 2:16 pm 
David HumphreyOct 5, 2002 2:30 pm 
Vincent SchonauOct 6, 2002 8:03 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[courier-users] Re: Courier doesn't deliver mail - courieresmtp spinsActions...
From:Sam Varshavchik (mrs@courier-mta.com)
Date:Oct 5, 2002 1:52:40 pm
List:net.sourceforge.lists.courier-users

David Humphrey writes:

No, on this one, all of the interfaces have only one address w/no overloading. Could I ask what bug you are referring to? If it is the question I am chasing after, I can't seem to localize the code down to where this problem is arising.

There's a bug in rfc1035_ifconf(), but it should be triggered only by multiple interfaces with the same IP address.

Index: rfc1035/rfc1035ifconf.c =================================================================== RCS file: /cvsroot/courier/libs/rfc1035/rfc1035ifconf.c,v retrieving revision 1.1 retrieving revision 1.2 diff -U3 -r1.1 -r1.2 --- rfc1035/rfc1035ifconf.c 24 Jun 2002 18:52:32 -0000 1.1 +++ rfc1035/rfc1035ifconf.c 5 Oct 2002 05:16:21 -0000 1.2 @@ -13,7 +13,7 @@ #include <unistd.h> #endif

-static const char rcsid[]="$Id: rfc1035ifconf.c,v 1.1 2002/06/24 18:52:32 mrsam
Exp $"; +static const char rcsid[]="$Id: rfc1035ifconf.c,v 1.2 2002/10/05 05:16:21 mrsam
Exp $";

#if HAVE_SIOCGIFCONF

@@ -74,10 +74,13 @@ rfc1035_ntoa(&(*ifconf)->ifaddr, ipaddr2);

if (strcmp(ipaddr, ipaddr2) == 0) - continue; /* Already have this IP addr */ + break;

ifconf= &(*ifconf)->next; } + + if ( *ifconf ) + continue; /* Already have this IP addr */

if ( (ifcptr=malloc(sizeof(struct rfc1035_ifconf))) == NULL || (ifcptr->ifname=strdup(ifreq_buf[i].ifr_name)) == NULL)