SASL 2.1.27 pre-release 1

Julien ÉLIE julien at trigofacile.com
Fri Nov 25 16:21:03 EST 2016


Hi Ken,

> Can you try this patch for OSX:
>
> diff --git a/plugins/plugin_common.c b/plugins/plugin_common.c
> index f2b26bd..1211fea 100644
> --- a/plugins/plugin_common.c
> +++ b/plugins/plugin_common.c
> @@ -88,6 +88,10 @@ static void sockaddr_unmapped(
>      uint32_t addr;
>      int port;
>
> +#if defined(__FreeBSD__) && !defined(s6_addr32)
> +#define s6_addr32 __u6_addr.__u6_addr32
> +#endif
> +
>      if (sa->sa_family != AF_INET6)
>      return;
>      sin6 = (struct sockaddr_in6 *)sa;

It works with "defined(__APPLE__)" instead of "defined(__FreeBSD__)".

Yet, I found out there probably a better patch to integrate into Cyrus SASL:
   http://trillian.mit.edu/~jc/src/gs/cups/libs/cups/http.h

/*
  * Oh, the wonderful world of IPv6 compatibility.  Apparently some
  * implementations expose the (more logical) 32-bit address parts
  * to everyone, while others only expose it to kernel code...  To
  * make supporting IPv6 even easier, each vendor chose different
  * core structure and union names, so the same defines or code
  * can't be used on all platforms.
  *
  * The following will likely need tweaking on new platforms that
  * support IPv6 - the "s6_addr32" define maps to the 32-bit integer
  * array in the in6_addr union, which is named differently on various
  * platforms.
  */

#if defined(AF_INET6) && !defined(s6_addr32)
#  if defined(__sun)
#    define s6_addr32	_S6_un._S6_u32
#  elif defined(__FreeBSD__) || defined(__NetBSD__) || 
defined(__OpenBSD__) || defined(__APPLE__)
#    define s6_addr32	__u6_addr.__u6_addr32
#  elif defined(__osf__)
#    define s6_addr32	s6_un.sa6_laddr
#  elif defined(WIN32)
/*
  * Windows only defines byte and 16-bit word members of the union and
  * requires special casing of all raw address code...
  */
#    define s6_addr32	error_need_win32_specific_code
#  endif /* __sun */
#endif /* AF_INET6 && !s6_addr32 */







Yet, I now obtain the following error:

/bin/sh ../libtool  --tag=CC   --mode=link gcc  -Wall -W -g -O2   -o 
libobj.la    -lresolv -lresolv
libtool: link: ar cru .libs/libobj.a
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
	ar -m [-TLsv] archive file ...
	ar -m [-abiTLsv] position archive file ...
	ar -p [-TLsv] archive [file ...]
	ar -q [-cTLsv] archive file ...
	ar -r [-cuTLsv] archive file ...
	ar -r [-abciuTLsv] position archive file ...
	ar -t [-TLsv] archive [file ...]
	ar -x [-ouTLsv] archive [file ...]
make[3]: *** [libobj.la] Error 1


Maybe caused by "noinst_LTLIBRARIES" not properly defined?

-- 
Julien ÉLIE

« Ce serait un tunnel pour aller de la Gaule en Bretagne. »
   (Astérix)


More information about the Cyrus-sasl mailing list