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