Re: SASL 2.1.27 pre-release 1

Julien ÉLIE via Cyrus-sasl <[email protected]>
Newsgroups gmane.comp.security.cyrus.sasl
Organization TrigoFACILE -- http://www.trigofacile.com/
Message-ID <[email protected]>
Hi Ken,

> Rather than stealing a bunch of per-platform #ifdefs from Apple, I'm
> wondering if this simple typecast would work.  This would essentially be
> doing the same thing that happens on those platforms that use a union
> inside struct in6_addr.
>
> diff --git a/plugins/plugin_common.c b/plugins/plugin_common.c
> index f2b26bd..1d633ee 100644
> --- a/plugins/plugin_common.c
> +++ b/plugins/plugin_common.c
> @@ -94,7 +94,7 @@ static void sockaddr_unmapped(
>      if (!IN6_IS_ADDR_V4MAPPED((&sin6->sin6_addr)))
>      return;
>      sin4 = (struct sockaddr_in *)sa;
> -    addr = *(uint32_t *)&sin6->sin6_addr.s6_addr32[3];
> +    addr = *(uint32_t *)&sin6->sin6_addr.s6_addr[12];
>      port = sin6->sin6_port;
>      memset(sin4, 0, sizeof(struct sockaddr_in));
>      sin4->sin_addr.s_addr = addr;

I confirm this patch works, and permits to build plugin_common.c.

However, the build aborts afterwards with the following error:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DLIBSASL_EXPORTS=1 
-I../include -I../plugins -I../include -I../sasldb 
-DOBSOLETE_CRAM_ATTR=1 -Wall -W -g -O2 -MT ../plugins/plugin_common.lo 
-MD -MP -MF ../plugins/.deps/plugin_common.Tpo -c 
../plugins/plugin_common.c  -fno-common -DPIC -o 
../plugins/.libs/plugin_common.o
/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
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2



Please note that *reverting* the following commit:
 
https://github.com/cyrusimap/cyrus-sasl/commit/ed8bd7643adf94b916a904b56a8f97a818798d58#diff-2bbd410468516599f21e84fecb500348
fixes the above error with "ar" on OSX.



And I also had to change in config.h:
#define WITH_DES /**/
to
/* #define WITH_DES */

I otherwise had errors like:

digestmd5.c:860:5: error: unknown type name 'des_key_schedule'
     des_key_schedule keysched;  /* key schedule for des initialization */
     ^

-- 
Julien ÉLIE

« – Et si vous ne trouvez pas, je vous fais bouillir et servir aux
     lions avec de la sauce à la menthe !!!
   – Mais c'est horrible ça !
   – Oui, pauvres bêtes ! » (Astérix)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.