[Xastir] New lsb-xastir binary available

Curt, WE7U archer at eskimo.com
Mon Dec 4 10:20:30 EST 2006


On Sun, 3 Dec 2006, Curt Mills wrote:

> The bug I found last night which caused segfaults appears to be in
> the libcurl code in util.c.  I did a fix for the LSB version but
> included it inside #ifdef's.
>
> Any non-LSB Xastir suffers from the same problem, so more than
> likely that bit of code needs to be enabled for all builds except
> for very old libcurl libraries that don't have that feature.
> Perhaps very old libcurl sources don't exhibit this segfault?
>
> If you disable all of your network access and then try to download a
> GPS track, your Xastir may segfault sometime shortly after libcurl
> times out.  That's the easy way to check.

What I'd like to do:  Figure out when CURLOPT_NOSIGNAL became
available in libcurl, then enclose it in #ifdef's like this:


  #if (LIBCURL_VERSION_NUM >= 0x071007)
        curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
  #endif  // LIBCURL_VERSION_NUM


Instead of the below code which is what we have now and only fixes
the segfault for lsb-xastir:


  #ifdef __LSB__
        // This prevents a segfault for the case where we get a
        // timeout on
        // domain name lookup or file transfer.

        // Only newer libcurl has this?
        curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
  #endif // __LSB__


Actually, it looks like this just disables a signal, so one could
look through the libcurl source code, figure out which signal it
uses, add a signal handler to Xastir for it, and forget about this
thing once and for all.

--
Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"



More information about the Xastir mailing list