This patch is needed at FreeBSD/OpenBSD of very recent versions, possibly also at UnixWare (systems with getifaddrs() library function.) This email arrived just minutes after I had made 2.99.54-patch1 diff file. However, this should still apply cleanly on top of that patch. Oh yes, *if* you have IPv6 support activated, then this is not complete patch, and needs couple more sa.sa_family -> sa_family change instances. They will be obvious, have no fear. /Matti Aarnio Date: Tue, 14 Nov 2000 18:09:00 +0300 From: "Andrew P. Kokarev" To: zmailer@nic.funet.fi Subject: sockaddr patch to compile current Zmailer for FreeBSD/OpenBSD Message-ID: <20001114180900.A78543@ivly.rbc.ru> I had to apply the following patch to compile the last few releases and current CVS Zmailer for both FreeBSD 4.2-BETA and OpenBSD 2.7. Otherwise I'm getting "structure has no member sa" messages from cc. diff -ru zmailer.dist/lib/selfaddrs.c zmailer/lib/selfaddrs.c --- zmailer.dist/lib/selfaddrs.c Sun Nov 12 20:04:19 2000 +++ zmailer/lib/selfaddrs.c Tue Nov 14 16:30:51 2000 @@ -142,7 +142,7 @@ return -5; /* UAARGH! */ } - if (sa->sa.sa_family == AF_INET) { + if (sa->sa_family == AF_INET) { struct sockaddr_in *si4 = (void*)malloc(sizeof(*si4)); if (si4 == NULL) break; diff -ru zmailer.dist/lib/zgetifaddress.c zmailer/lib/zgetifaddress.c --- zmailer.dist/lib/zgetifaddress.c Sun Nov 12 20:04:19 2000 +++ zmailer/lib/zgetifaddress.c Tue Nov 14 16:31:26 2000 @@ -121,10 +121,10 @@ /* We have matching name, do we have matching AF ?? */ - if (sa->sa.sa_family != af) + if (sa->sa_family != af) continue; /* Nope.. */ - if (sa->sa.sa_family == AF_INET) { + if (sa->sa_family == AF_INET) { struct sockaddr_in *si4 = (void*)sap; if (si4 == NULL) break; /* Bad param! */