SASL 2.1.27 pre-release 1

Ken Murchison murch at andrew.cmu.edu
Sat Dec 10 10:33:34 EST 2016



On 12/09/2016 04:57 PM, Julien ÉLIE via Cyrus-sasl wrote:
> 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.

I just committed a slightly different fix.


> 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.

Hmm.  I will look into this.


> 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 */
>     ^

Wouldn't adding --with-des=no  to your configure options do the same thing?

-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University



More information about the Cyrus-sasl mailing list