OS-SCO-OpenSource-curl

From KRayWiki
Jump to navigation Jump to search

Curl for SCO OpenServer 5.0.7

See Also: 
OS-SCO-OpenSource
OS-SCO


Summary

  • curl 7.15.1 is available through SCO/OpenServer 5.0.7 channels
    • It has numerous vulnerabilities.
    • TLS 1.2 is unsupported, but needed as of June, 2018 to retain PCI-DSS v3.2 compliance.
  • 7.53.1 and older can build via OpenServer 5.0.7 GNU development tools
    • Exceptions and/or complications with particular versions do exist. For example:
      • 7.34.0
        connect.c: In function `trynextip':
        connect.c:559: error: `AF_INET6' undeclared (first use in this function)
        connect.c:559: error: (Each undeclared identifier is reported only once
        connect.c:559: error: for each function it appears in.)
        make[2]: *** [libcurl_la-connect.lo] Error 1
      • 7.40.0
        connect.c: In function `singleipconnect':
        connect.c:1019: error: `AF_INET6' undeclared (first use in this function)
        connect.c:1019: error: (Each undeclared identifier is reported only once
        connect.c:1019: error: for each function it appears in.)
        make[2]: *** [libcurl_la-connect.lo] Error 1
      • 7.50.2 and up:
        checking run-time libs availability... failed
        configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lz -lsocket
  • 7.54-7.60 do not build without a slight source modification.
    • include/curl/system.h
      @@ -362,7 +362,7 @@
      /* KEEP GENERIC GCC THE LAST ENTRY */
      /* ===================================== */
      -#elif defined(__GNUC__)
      +#elif defined(__GNUC__) && !defined(_SCO_DS)

7.61.0 has the source modification that allows the project to build.

External Links

Testing

Build

Success

$ ./src/curl -k https://tlstest.paypal.com/ PayPal_Connection_OK
  • 7.28.1
  • 7.35.0
  • 7.41.0
  • 7.47.0
  • 7.49.0
  • 7.50.1

Conditional

BASH is required to avoid the likes of:

./configure[3875]: : is not an identifier
  • 7.55.1
  • 7.56.1
  • 7.57.0

Failed

  • 7.34.0

TLS

See Also 
https://stackoverflow.com/questions/27904854/verify-if-curl-is-using-tls
$ curl -k https://tlstest.paypal.com/ ERROR! Connection is using TLS version lesser than 1.2. Please use TLS1.2 $ ./src/curl -k https://tlstest.paypal.com/ PayPal_Connection_OK

Troubleshooting

If an error like this occurs:

UX:i386ld: ERROR: libcrypto.a(cmll-x86.o): symbol: 'Camellia_encrypt' multiply defined; also in file libcrypto.a(cmll_misc.o) collect2: ld returned 1 exit status make[2]: *** [link_app.] Error 1

-or-

UX:i386ld: ERROR: symbol: 'ssl3_ciphers' defined in two shared objects: ../lib/.libs/libcurl.so: size = 6000, /usr/lib/libssl.so.0.9.7: size = 1920 collect2: ld returned 1 exit status

Then try this:

$ make distclean ./configure -C --prefix=${HOME} $ make

Procedure

As needed, synchronize time with a standard. The development VM has an issue with keeping accurate time. This can induce misleading date/time anomalies or affect various file operations that are time-aware.

$ su csdi -c ntpdate pool.ntp.org

Create a work area for the curl project:

$ mkdir -p ~/src/curl

Build dependencies:

  1. libssh2
  2. zlib
Various attempts to resolve dependencies for the threaded resolver were made without success, so this procedure does not indicate how to do so.

Download a source archive.

$ cd ~/src/curl $ curl -kO https://curl.haxx.se/download/curl-7.61.0.tar.bz2

Unpack the source archive.

$ bunzip2 curl-7.61.0.tar.bz2 $ tar -xf curl-7.61.0.tar

Prepare to build the source.

$ cd curl-7.61.0 $ ACCEPT_INFERIOR_RM_PROGRAM=yes $ CPATH=${HOME}/include $ PKG_CONFIG_PATH=${HOME}/lib/pkgconfig $ CFLAGS=-static $ CC= $ export CC CFLAGS PKG_CONFIG CPATH ACCEPT_INFERIOR_RM_PROGRAM