Re: SASL 2.1.27 pre-release 1

Ken Murchison via Cyrus-sasl <[email protected]>
Newsgroups gmane.comp.security.cyrus.sasl
Organization Carnegie Mellon University
Message-ID <[email protected]>

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