summaryrefslogtreecommitdiff
path: root/mbone
diff options
context:
space:
mode:
Diffstat (limited to 'mbone')
-rw-r--r--mbone/sdr/Makefile21
-rw-r--r--mbone/sdr/files/Makefile.netbsd20
-rw-r--r--mbone/sdr/files/Makefile.work5
-rw-r--r--mbone/sdr/files/md54
-rw-r--r--mbone/sdr/files/patch-sum26
-rw-r--r--mbone/sdr/patches/patch-aa17
-rw-r--r--mbone/sdr/patches/patch-ab48
-rw-r--r--mbone/sdr/patches/patch-ac6
-rw-r--r--mbone/sdr/patches/patch-ad21
-rw-r--r--mbone/sdr/patches/patch-ae6
-rw-r--r--mbone/sdr/patches/patch-af4
-rw-r--r--mbone/sdr/patches/patch-ag22
-rw-r--r--mbone/sdr/patches/patch-ah17
-rw-r--r--mbone/sdr/patches/patch-ai19
-rw-r--r--mbone/sdr/patches/patch-aj12
-rw-r--r--mbone/sdr/patches/patch-ao13
16 files changed, 125 insertions, 136 deletions
diff --git a/mbone/sdr/Makefile b/mbone/sdr/Makefile
index 59a10eade16..f6ff928a94f 100644
--- a/mbone/sdr/Makefile
+++ b/mbone/sdr/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.21 1999/06/28 11:54:50 agc Exp $
+# $NetBSD: Makefile,v 1.22 1999/10/04 20:56:59 is Exp $
#
-DISTNAME= sdr-2.5.8
+DISTNAME= sdr-2.7
CATEGORIES= mbone tk80
-MASTER_SITES= http://www-mice.cs.ucl.ac.uk/multimedia/software/sdr/2.5.8/
+MASTER_SITES= http://www-mice.cs.ucl.ac.uk/multimedia/software/sdr/2.7/
MAINTAINER= is@netbsd.org
HOMEPAGE= http://www-mice.cs.ucl.ac.uk/multimedia/software/sdr/
@@ -11,13 +11,26 @@ HOMEPAGE= http://www-mice.cs.ucl.ac.uk/multimedia/software/sdr/
DEPENDS+= tk-8.0.5:../../x11/tk80
MIRROR_DISTFILE= no
-WRKSRC= ${WRKDIR}/sdr
USE_GMAKE= yes
USE_X11BASE= yes
+RESTRICTED= "Uses encryption"
+
.if exists(/usr/include/sys/inttypes.h)
EXTRA_FLAGS+= -DHAVE_SYS_INTTYPES_H
MAKE_FLAGS+= EXTRA_FLAGS="${EXTRA_FLAGS}"
.endif
+do-configure:
+ cd ${WRKSRC}/common ; ${SH} ./configure
+ ${MKDIR} ${WRKSRC}/sdr/netbsd
+ ${CAT} ${FILESDIR}/Makefile.netbsd ${WRKSRC}/sdr/src/Makefile.template > ${WRKSRC}/sdr/netbsd/Makefile
+
+do-build:
+ cd ${WRKSRC}/common ; ${GMAKE}
+ cd ${WRKSRC}/sdr/netbsd ; ${GMAKE}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sdr/netbsd/sdr ${PREFIX}/bin/sdr
+
.include "../../mk/bsd.pkg.mk"
diff --git a/mbone/sdr/files/Makefile.netbsd b/mbone/sdr/files/Makefile.netbsd
index 14b1ef9d110..2285985c37f 100644
--- a/mbone/sdr/files/Makefile.netbsd
+++ b/mbone/sdr/files/Makefile.netbsd
@@ -1,13 +1,11 @@
-# $NetBSD: Makefile.netbsd,v 1.6 1999/04/23 13:49:25 kleink Exp $
+# $NetBSD: Makefile.netbsd,v 1.7 1999/10/04 20:57:00 is Exp $
-CC = gcc -g -O
-INCLUDES = -I${LOCALBASE}/include/tk8.0 -I${LOCALBASE}/include/tcl8.0 -I${X11BASE}/include
-LIBS = -L${LOCALBASE}/lib -ltk80 -ltcl80 -lm -L${X11BASE}/lib -lX11 \
- -Wl,-R${LOCALBASE}/lib -Wl,-R${X11BASE}/lib
-CFLAGS = ${INCLUDES} -DNORANDPROTO -DUSE_PERROR -DAUTH ${EXTRA_FLAGS} -Werror
-
-all:: sdr
-
-install:
- ${BSD_INSTALL_PROGRAM} sdr ${PREFIX}/bin
+CC = gcc -g -O
+INCLUDES = -I${X11BASE}/include -I${LOCALBASE}/include/tk8.0/generic -I${LOCALBASE}/include/tcl8.0/generic -I../../common
+LIBS = -L${LOCALBASE}/lib -ltk80 -ltcl80 ../../common/libcommon.a \
+ -lm -L${X11BASE}/lib -lX11 -lz \
+ -Wl,-R${LOCALBASE}/lib -Wl,-R${X11BASE}/lib
+CFLAGS = $(INCLUDES) -DDIFF_BYTE_ORDER -DNORANDPROTO -DDEFINED_ERRLIST \
+ -Wall -DAUTH -DHAVE_ZLIB
+all:: sdr
diff --git a/mbone/sdr/files/Makefile.work b/mbone/sdr/files/Makefile.work
deleted file mode 100644
index 752cc173d3d..00000000000
--- a/mbone/sdr/files/Makefile.work
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# $NetBSD: Makefile.work,v 1.3 1998/08/07 11:09:58 agc Exp $
-#
-all install clean:
- cd netbsd; $(MAKE) $@
diff --git a/mbone/sdr/files/md5 b/mbone/sdr/files/md5
index 782674cadfe..919d2499057 100644
--- a/mbone/sdr/files/md5
+++ b/mbone/sdr/files/md5
@@ -1,3 +1,3 @@
-$NetBSD: md5,v 1.4 1998/11/05 05:32:19 mycroft Exp $
+$NetBSD: md5,v 1.5 1999/10/04 20:57:00 is Exp $
-MD5 (sdr-2.5.8.tar.gz) = 6894a0dcf96ee3cc8bb722f7a1c338fb
+MD5 (sdr-2.7.tar.gz) = da28a7a960007af129673997da945c0d
diff --git a/mbone/sdr/files/patch-sum b/mbone/sdr/files/patch-sum
index 5453457df3b..9a52f7d2e0e 100644
--- a/mbone/sdr/files/patch-sum
+++ b/mbone/sdr/files/patch-sum
@@ -1,12 +1,16 @@
-$NetBSD: patch-sum,v 1.1 1999/07/09 14:09:11 agc Exp $
+$NetBSD: patch-sum,v 1.2 1999/10/04 20:57:00 is Exp $
-MD5 (patch-aa) = a7b7b629a0c3d4aed765daaee019c683
-MD5 (patch-ab) = 9e7ae859f6b6c6075bf26fc0b368f718
-MD5 (patch-ac) = d9eb5fa35eb54617a698a6f9a239f68c
-MD5 (patch-ad) = 12f9d99b3a945c591d12b6436869bd27
-MD5 (patch-ae) = b0dc443bccd98ff863d488f771a25e06
-MD5 (patch-af) = 8550ac2aa7be849bb691b915c6cded7e
-MD5 (patch-ag) = 37049e9e2f5e5058da02aeeb1bce2333
-MD5 (patch-ah) = 85c2f5cc1a1c7ace7ea009bdd63bf0aa
-MD5 (patch-ai) = e5dbccdca654edcfac0934221c3b12aa
-MD5 (patch-aj) = b5981a4d20303e2c1666cf4295118d34
+MD5 (patch-aa) = dacf113497f9fc2bc8ce63bcad54c3f5
+MD5 (patch-ab) = 071e0b5fa27a3822201bbc2cbb31651b
+MD5 (patch-ac) = 7656af3a62b4d9f484c08f104e6cfbe4
+MD5 (patch-ad) = 808ffce70b7631fb5e3d97837afb57db
+MD5 (patch-ae) = ac995ca267ba84c0c8ccf1821d701a2f
+MD5 (patch-af) = 57049a2f39ff9704aaf964792c99b8be
+MD5 (patch-ag) = 90c9ac304b9da3fc77067bfdfa37f5d4
+MD5 (patch-ah) = c9fa6f2cd2b0c37488de9d05cb2e559f
+MD5 (patch-aj) = da2e5de24d1bff2f3273fa777952a5ac
+MD5 (patch-ak) = 0efe9676ee014cbf56dfb6c7ac100b04
+MD5 (patch-al) = 64243f5295cb8cb347d39b38f4ad6f12
+MD5 (patch-am) = de40badf0b1b1bcce3669deeeb055cf0
+MD5 (patch-an) = 5b67de20d243c2f1c3c7eb57eb4ee962
+MD5 (patch-ao) = 3cefe170317d54bf60e804b1c8a72db3
diff --git a/mbone/sdr/patches/patch-aa b/mbone/sdr/patches/patch-aa
index 8fa83bef475..84baa7c2289 100644
--- a/mbone/sdr/patches/patch-aa
+++ b/mbone/sdr/patches/patch-aa
@@ -1,12 +1,11 @@
-$NetBSD: patch-aa,v 1.6 1999/01/01 07:58:29 garbled Exp $
---- src/polluted.c.orig Thu Dec 31 23:09:13 1998
-+++ src/polluted.c Fri Jan 1 00:47:48 1999
-@@ -197,7 +197,7 @@
- if (find_key_by_name(keyname, key)!=0)
- return -1;
- addata->length= strlen(adstr);
+--- sdr/src/polluted.c.orig Tue Jun 22 16:54:15 1999
++++ sdr/src/polluted.c Sat Oct 2 20:39:08 1999
+@@ -514,7 +514,7 @@
+ if (find_key_by_name(argv[6], key)!=-1) {
+ strncpy(encstatus, "success", ENCSTATUSLEN);
+ strncpy(encmessage,"Des has been successful", ENCMESSAGELEN);
-#ifdef NEVER
+#ifndef NEVER
- encrypt_announcement(adstr, &encdata, &(addata->length), key);
+ strncpy(argv[8], "des", strlen(argv[8]));
#else
- encrypt_announcement(adstr, &encdata, (int *)addata->length, key);
+ strcpy(argv[8], "des");
diff --git a/mbone/sdr/patches/patch-ab b/mbone/sdr/patches/patch-ab
index a3d0bf39df1..dee3f580aaa 100644
--- a/mbone/sdr/patches/patch-ab
+++ b/mbone/sdr/patches/patch-ab
@@ -1,44 +1,46 @@
-$NetBSD: patch-ab,v 1.6 1999/01/01 07:58:29 garbled Exp $
---- src/sip_common.c.orig Thu Oct 1 15:53:01 1998
-+++ src/sip_common.c Thu Dec 31 23:04:38 1998
+--- sdr/src/sip_common.c.orig Thu Jul 15 18:00:03 1999
++++ sdr/src/sip_common.c Sat Oct 2 20:42:19 1999
@@ -41,6 +41,9 @@
- #include <arpa/nameser.h>
- #include <resolv.h>
+ #include <sys/uio.h>
#endif
+
+#ifdef HAVE_SYS_INTTYPES_H
+#include <inttypes.h>
+#endif
#include "dns.h"
#include "prototypes.h"
- #include <sys/uio.h>
-@@ -256,7 +259,7 @@
- len=res_mkquery(QUERY, hostname, C_IN, T_MX, NULL, NULL,
- NULL, buf, 200);
+ #include <tcl.h>
+@@ -252,7 +255,7 @@
+ addr.s_addr=0;
+ len=res_mkquery(QUERY, hostname, C_IN, T_MX, NULL, NULL, NULL, buf, 200);
if (len==-1) perror("res_mkquery");
- len=res_send(buf, len, ans, 2000);
+ len=res_send(buf, len, (u_char *)ans, 2000);
if (len==-1) perror("res_send");
ans[0]=htonl(ans[0]);
ans[1]=htonl(ans[1]);
-@@ -328,7 +331,8 @@
+@@ -318,8 +321,8 @@
} else {
- /*it's compressed*/
+ /*it's compressed*/
if(*tstr==0) tstr+=2;
-- resstr+=dn_expand(ans, ans+len, tstr-1, resstr, 200-strlen(resstr));
-+ resstr+=dn_expand((u_char *)ans, (u_char *)(ans+len),
-+ tstr-1, resstr, 200-strlen(resstr));
+- resstr += dn_expand(ans, ans+len, tstr-1, resstr,
+- 200-strlen(resstr));
++ resstr += dn_expand((u_char *)ans, (u_char *)(ans+len),
++ tstr-1, resstr, 200-strlen(resstr));
tstr+=1;
ctr=0;
}
-@@ -1238,7 +1242,11 @@
- }
- printf("clen=%d\n", clen);
- ptr=find_end_of_header(data, len);
+@@ -1251,8 +1254,13 @@
+ }
+ fprintf (stderr,"clen=%d\n", clen);
+ ptr=find_end_of_header(data, len);
+#ifdef HAVE_SYS_INTTYPES_H
-+ printf("eoh at %x, start at %x, len: %d\n", (intptr_t)ptr, (intptr_t)data, len);
++ fprintf (stderr,"eoh at %x, start at %x, len: %d\n", (intptr_t)ptr,
++ (intptr_t)data, len);
+#else
- printf("eoh at %x, start at %x, len: %d\n", (unsigned int)ptr, (unsigned int)data, len);
+ fprintf (stderr,"eoh at %x, start at %x, len: %d\n", (unsigned int)ptr,
+ (unsigned int)data, len);
+#endif
- if (ptr==NULL) return 0;
- if (clen==0) return 1;
- if ((ptr-data)+clen<=len) return 1;
+
+ if (ptr==NULL) return 0;
+
diff --git a/mbone/sdr/patches/patch-ac b/mbone/sdr/patches/patch-ac
index b1be85987d1..66c2ddfe9bc 100644
--- a/mbone/sdr/patches/patch-ac
+++ b/mbone/sdr/patches/patch-ac
@@ -1,7 +1,7 @@
-$NetBSD: patch-ac,v 1.6 1998/11/05 05:32:19 mycroft Exp $
+$NetBSD: patch-ac,v 1.7 1999/10/04 20:57:01 is Exp $
---- src/iohandler.c.orig Sun Sep 6 11:41:03 1998
-+++ src/iohandler.c Wed Nov 4 23:42:24 1998
+--- sdr/src/iohandler.c.orig Sun Sep 6 11:41:03 1998
++++ sdr/src/iohandler.c Wed Nov 4 23:42:24 1998
@@ -43,6 +43,9 @@
#include <time.h>
#include <winsock.h>
diff --git a/mbone/sdr/patches/patch-ad b/mbone/sdr/patches/patch-ad
index 9b30e2f9bdc..54daf94a279 100644
--- a/mbone/sdr/patches/patch-ad
+++ b/mbone/sdr/patches/patch-ad
@@ -1,6 +1,5 @@
-$NetBSD: patch-ad,v 1.6 1999/01/01 07:58:29 garbled Exp $
---- src/sd_listen.c.orig Wed Oct 7 04:18:56 1998
-+++ src/sd_listen.c Thu Dec 31 22:59:57 1998
+--- sdr/src/sd_listen.c.orig Fri Jul 16 15:07:27 1999
++++ sdr/src/sd_listen.c Sat Oct 2 20:42:45 1999
@@ -55,6 +55,9 @@
#include <unistd.h>
#include <fcntl.h>
@@ -11,8 +10,8 @@ $NetBSD: patch-ad,v 1.6 1999/01/01 07:58:29 garbled Exp $
#include <sys/types.h>
#include <sys/stat.h>
#include <setjmp.h>
-@@ -484,10 +487,18 @@
- }
+@@ -515,10 +518,18 @@
+ /* set p to point to line following "n=....\nk=...\n" */
if (strncmp(k1, "k=", 2)==0) {
+#ifdef HAVE_SYS_INTTYPES_H
@@ -31,7 +30,7 @@ $NetBSD: patch-ad,v 1.6 1999/01/01 07:58:29 garbled Exp $
key[0]='\0';
}
p=strchr(k1, '\n')+1;
-@@ -1344,7 +1355,11 @@
+@@ -1383,7 +1394,11 @@
if (cli) {
init_cli();
inChannel = fileno(stdin);
@@ -43,9 +42,9 @@ $NetBSD: patch-ad,v 1.6 1999/01/01 07:58:29 garbled Exp $
}
#endif
-@@ -1509,7 +1524,11 @@
- char buf[MAXADSIZE];
- char debugbuf[MAXADSIZE];
+@@ -1507,7 +1522,11 @@
+ unsigned long src, hfrom;
+ unsigned long endtime;
+#ifdef HAVE_SYS_INTTYPES_H
+ intptr_t ix = rfd2sock[PTOI(fd)];
@@ -53,5 +52,5 @@ $NetBSD: patch-ad,v 1.6 1999/01/01 07:58:29 garbled Exp $
int ix = rfd2sock[PTOI(fd)];
+#endif
- memset(new_data, 0, MAXADSIZE);
- memset(aid, 0, AIDLEN);
+ writelog(printf("entered recv_packets\n");)
+
diff --git a/mbone/sdr/patches/patch-ae b/mbone/sdr/patches/patch-ae
index df35addeab2..d382bee0ba6 100644
--- a/mbone/sdr/patches/patch-ae
+++ b/mbone/sdr/patches/patch-ae
@@ -1,7 +1,7 @@
-$NetBSD: patch-ae,v 1.4 1998/11/05 05:32:19 mycroft Exp $
+$NetBSD: patch-ae,v 1.5 1999/10/04 20:57:01 is Exp $
---- src/generic_prototypes.h.orig Tue Jan 27 11:56:28 1998
-+++ src/generic_prototypes.h Wed Nov 4 23:48:53 1998
+--- sdr/src/generic_prototypes.h.orig Tue Jan 27 11:56:28 1998
++++ sdr/src/generic_prototypes.h Wed Nov 4 23:48:53 1998
@@ -37,7 +37,7 @@
#endif
diff --git a/mbone/sdr/patches/patch-af b/mbone/sdr/patches/patch-af
index 1d6738e7419..24db337036b 100644
--- a/mbone/sdr/patches/patch-af
+++ b/mbone/sdr/patches/patch-af
@@ -1,7 +1,7 @@
-$NetBSD: patch-af,v 1.3 1998/11/05 05:32:19 mycroft Exp $
+$NetBSD: patch-af,v 1.4 1999/10/04 20:57:01 is Exp $
--- /dev/null Wed Nov 4 23:28:48 1998
-+++ src/plugins/sdr2.plugin.S53.image.imm Wed Nov 4 23:48:53 1998
++++ sdr/src/plugins/sdr2.plugin.S53.image.imm Wed Nov 4 23:48:53 1998
@@ -0,0 +1,5 @@
+media:image
+proto:MDP
diff --git a/mbone/sdr/patches/patch-ag b/mbone/sdr/patches/patch-ag
index b0eac102f0a..4324e9e2e87 100644
--- a/mbone/sdr/patches/patch-ag
+++ b/mbone/sdr/patches/patch-ag
@@ -1,11 +1,11 @@
-$NetBSD: patch-ag,v 1.4 1999/01/01 07:58:29 garbled Exp $
---- src/crypt.c.orig Thu Dec 31 23:07:10 1998
-+++ src/crypt.c Thu Dec 31 23:07:36 1998
-@@ -2,6 +2,7 @@
- the padding bit is 0x80 in byte 0, rather than 0x20 in RTP.*/
-
- #include <sys/types.h>
-+#include <string.h>
- #include "crypt.h"
- #include "qfDES.h"
- #include "md5.h"
+--- common/config_unix.h.orig Sat Oct 2 20:58:55 1999
++++ common/config_unix.h Sat Oct 2 20:58:28 1999
+@@ -73,7 +73,7 @@
+ #include <netdb.h>
+ #include <arpa/inet.h>
+ extern int h_errno;
+-#if !defined(HPUX) && !defined(Linux) && !defined(__FreeBSD__)
++#if !defined(HPUX) && !defined(Linux) && !defined(__FreeBSD__) && !defined(__NetBSD__)
+ #include <stropts.h>
+ #include <sys/filio.h>
+ #endif /* HPUX */
diff --git a/mbone/sdr/patches/patch-ah b/mbone/sdr/patches/patch-ah
index 25dee1bdcc2..80f6db56b23 100644
--- a/mbone/sdr/patches/patch-ah
+++ b/mbone/sdr/patches/patch-ah
@@ -1,6 +1,5 @@
-$NetBSD: patch-ah,v 1.4 1999/01/01 07:58:29 garbled Exp $
---- src/polluted.c.orig Thu Dec 31 23:09:13 1998
-+++ src/polluted.c Thu Dec 31 23:11:35 1998
+--- sdr/src/polluted.c.orig Sat Oct 2 20:39:08 1999
++++ sdr/src/polluted.c Sat Oct 2 20:45:03 1999
@@ -1,3 +1,6 @@
+#ifdef HAVE_SYS_INTTYPES_H
+#include <inttypes.h>
@@ -8,15 +7,3 @@ $NetBSD: patch-ah,v 1.4 1999/01/01 07:58:29 garbled Exp $
#include "sdr.h"
#include "prototypes.h"
#include "prototypes_crypt.h"
-@@ -200,7 +203,11 @@
- #ifdef NEVER
- encrypt_announcement(adstr, &encdata, &(addata->length), key);
- #else
-+#ifdef HAVE_SYS_INTTYPES_H
-+ encrypt_announcement(adstr, &encdata, (intptr_t)addata->length, key);
-+#else
- encrypt_announcement(adstr, &encdata, (int *)addata->length, key);
-+#endif
- #endif
- addata->data=malloc(addata->length);
- memcpy(addata->data, encdata, addata->length);
diff --git a/mbone/sdr/patches/patch-ai b/mbone/sdr/patches/patch-ai
deleted file mode 100644
index a040560ed54..00000000000
--- a/mbone/sdr/patches/patch-ai
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-ai,v 1.2 1999/01/15 23:56:47 hubertf Exp $
-
---- src/random.c.orig Wed Aug 5 17:16:03 1998
-+++ src/random.c Sat Jan 16 00:22:13 1999
-@@ -47,11 +47,13 @@
-
- static int randseed = 1;
-
-+#ifndef __NetBSD__
- void
--srandom(unsigned int seed)
-+srandom(unsigned long seed)
- {
- randseed = seed;
- }
-+#endif
-
- #if sparc && !__SUNPRO_C
- #ifdef __svr4__
diff --git a/mbone/sdr/patches/patch-aj b/mbone/sdr/patches/patch-aj
index 3ddfe883e5b..b95f5b055df 100644
--- a/mbone/sdr/patches/patch-aj
+++ b/mbone/sdr/patches/patch-aj
@@ -1,10 +1,8 @@
-$NetBSD: patch-aj,v 1.1 1999/01/15 23:56:47 hubertf Exp $
-
---- src/sdr.h.BAK Sat Jan 16 00:29:54 1999
-+++ src/sdr.h Sat Jan 16 00:28:52 1999
-@@ -190,7 +190,7 @@
- void srand48(long seedval);
- double drand48();
+--- sdr/src/sdr.h.orig Tue May 25 17:59:36 1999
++++ sdr/src/sdr.h Sat Oct 2 20:47:38 1999
+@@ -158,7 +158,7 @@
+
+ /*Missing Prototypes*/
-#if !defined(WIN32)&&!defined(SGI)&&!defined(AIX41)&&!defined(_HPUX_SOURCE) && !defined(SOLARIS) && !defined(FREEBSD)
+#if !defined(WIN32)&&!defined(SGI)&&!defined(AIX41)&&!defined(_HPUX_SOURCE) && !defined(SOLARIS) && !defined(FREEBSD) && !defined(__NetBSD__)
diff --git a/mbone/sdr/patches/patch-ao b/mbone/sdr/patches/patch-ao
new file mode 100644
index 00000000000..2f6dadd6a22
--- /dev/null
+++ b/mbone/sdr/patches/patch-ao
@@ -0,0 +1,13 @@
+--- common/net_udp.c.original Mon Oct 4 15:10:55 1999
++++ common/net_udp.c Mon Oct 4 15:12:16 1999
+@@ -341,8 +341,8 @@
+ imr.ipv6mr_multiaddr = s->addr6;
+ imr.ipv6mr_interface = 0;
+
+- if (SETSOCKOPT(s->fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, (char *) &imr, sizeof(struct ipv6_mreq)) != 0) {
+- socket_error("setsockopt IPV6_ADD_MEMBERSHIP");
++ if (SETSOCKOPT(s->fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (char *) &imr, sizeof(struct ipv6_mreq)) != 0) {
++ socket_error("setsockopt IPV6_JOIN_GROUP");
+ abort();
+ }
+ if (SETSOCKOPT(s->fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (char *) &loop, sizeof(loop)) != 0) {