curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: [RELEASE] curl 7.66.0

From: Dennis Clarke via curl-library <curl-library_at_cool.haxx.se>
Date: Mon, 30 Sep 2019 23:35:38 -0400

On 9/11/19 2:00 AM, Daniel Stenberg via curl-library wrote:
> Hi friends!
>
> I'm happy to ship another release. Do give the two security advisories
> an extra look - there will be separate emails about them.
>
> As always, download curl from https://curl.haxx.se/
>
> curl and libcurl 7.66.0

On an Oracle Solaris 10 server I was surprised to see :

"asyn-thread.c", line 248: error: undefined symbol: AF_LOCAL
cc: acomp failed for asyn-thread.c
gmake[2]: *** [Makefile:2190: libcurl_la-asyn-thread.lo] Error 1
gmake[2]: Leaving directory
'/usr/local/build/curl-7.66.0_Oracle_sparc64vii+.003/lib'
gmake[1]: *** [Makefile:1046: all] Error 2
gmake[1]: Leaving directory
'/usr/local/build/curl-7.66.0_Oracle_sparc64vii+.003/lib'
gmake: *** [Makefile:946: all-recursive] Error 1

This problem did not exist in curl-7.65.3 of course.

Looking on a FreeBSD server I see in /usr/include/sys/socket.h

#if __BSD_VISIBLE
#define AF_LOCAL AF_UNIX /* local to host (pipes, portals) */
#endif
#define AF_UNIX 1 /* standardized name for AF_LOCAL */

Looking on ye hard core POSIX compliant Solaris 10 we will only see an
address family AF_UNIX and no such item as AF_LOCAL so perhaps an ifdef
is needed or perhaps we need to just stick with the POSIX name AF_UNIX :

--- ./lib/asyn-thread.c.orig Mon Sep 9 12:03:16 2019
+++ ./lib/asyn-thread.c Tue Oct 1 03:05:05 2019
@@ -244,8 +244,8 @@
    Curl_mutex_init(tsd->mtx);

  #ifdef HAVE_SOCKETPAIR
- /* create socket pair */
- if(socketpair(AF_LOCAL, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) {
+ /* create socket pair with the POSIX name AF_UNIX for address family */
+ if(socketpair(AF_UNIX, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) {
      tsd->sock_pair[0] = CURL_SOCKET_BAD;
      tsd->sock_pair[1] = CURL_SOCKET_BAD;
      goto err_exit;

That sorts that out right quick.

-- 
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html
Received on 2019-10-01