--- /dev/null
+diff -aurN --exclude '*~' --exclude configure --exclude aclocal.m4 --exclude config.h.in --exclude '*rej' --exclude '*orig' cyrus-imapd-2.0.15.orig/cmulocal/ipv6.m4 cyrus-imapd-2.0.15/cmulocal/ipv6.m4
+--- cyrus-imapd-2.0.15.orig/cmulocal/ipv6.m4 Thu Jan 1 01:00:00 1970
++++ cyrus-imapd-2.0.15/cmulocal/ipv6.m4 Tue Jul 10 08:19:03 2001
+@@ -0,0 +1,68 @@
++dnl See whether we can use IPv6 related functions
++AC_DEFUN(IPv6_CHECK_FUNC, [
++changequote(, )dnl
++ac_tr_lib=HAVE_`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++changequote([, ])dnl
++AC_CHECK_FUNC($1, [dnl
++ AC_DEFINE_UNQUOTED($ac_tr_lib)
++ ac_cv_lib_socket_$1=no
++ ac_cv_lib_inet6_$1=no
++], [dnl
++ AC_CHECK_LIB(socket, $1, [dnl
++ AC_DEFINE_UNQUOTED($ac_tr_lib)
++ LIBS="$LIBS -lsocket"
++ ac_cv_lib_inet6_$1=no
++ ], [dnl
++ AC_MSG_CHECKING([whether your system has IPv6 directory])
++ AC_CACHE_VAL(ipv6_cv_dir, [dnl
++ for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
++ if test $ipv6_cv_dir = no -o -d $ipv6_cv_dir; then
++ break
++ fi
++ done])dnl
++ AC_MSG_RESULT($ipv6_cv_dir)
++ if test $ipv6_cv_dir = no; then
++ ac_cv_lib_inet6_$1=no
++ else
++ if test x$ipv6_libinet6 = x; then
++ ipv6_libinet6=no
++ SAVELDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -L$ipv6_cv_dir/lib"
++ fi
++ AC_CHECK_LIB(inet6, $1, [dnl
++ AC_DEFINE_UNQUOTED($ac_tr_lib)
++ if test $ipv6_libinet6 = no; then
++ ipv6_libinet6=yes
++ LIBS="$LIBS -linet6"
++ fi],)dnl
++ if test $ipv6_libinet6 = no; then
++ LDFLAGS="$SAVELDFLAGS"
++ fi
++ fi])dnl
++])dnl
++if test $ac_cv_func_$1 = yes -o $ac_cv_lib_socket_$1 = yes \
++ -o $ac_cv_lib_inet6_$1 = yes
++then
++ ipv6_cv_$1=yes
++ ifelse([$2], , :, [$2])
++else
++ ipv6_cv_$1=no
++ ifelse([$3], , :, [$3])
++fi])
++
++dnl See whether we have ss_family in sockaddr_storage
++AC_DEFUN(IPv6_CHECK_SS_FAMILY, [
++AC_MSG_CHECKING([whether you have ss_family in struct sockaddr_storage])
++AC_CACHE_VAL(ipv6_cv_ss_family, [dnl
++AC_TRY_COMPILE([#include <sys/types.h>
++#include <sys/socket.h>],
++ [struct sockaddr_storage ss; int i = ss.ss_family;],
++ [ipv6_cv_ss_family=yes], [ipv6_cv_ss_family=no])])dnl
++if test $ipv6_cv_ss_family = yes; then
++ ifelse([$1], , AC_DEFINE(HAVE_SS_FAMILY), [$1])
++else
++ ifelse([$2], , :, [$2])
++fi
++AC_MSG_RESULT($ipv6_cv_ss_family)])
++
+