diff options
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | README | 123 | ||||
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | docs/Makefile.am | 6 | ||||
-rw-r--r-- | docs/gnurl-config.1 (renamed from docs/curl-config.1) | 0 | ||||
-rw-r--r-- | docs/gnurl.1 (renamed from docs/curl.1) | 0 | ||||
-rw-r--r-- | gnurl-config.in (renamed from curl-config.in) | 38 | ||||
-rw-r--r-- | lib/Makefile.am | 32 | ||||
-rw-r--r-- | lib/libgnurl.plist (renamed from lib/libcurl.plist) | 6 | ||||
-rw-r--r-- | libgnurl.pc.in (renamed from libcurl.pc.in) | 12 | ||||
-rwxr-xr-x | maketgz | 14 | ||||
-rw-r--r-- | scripts/Makefile.am | 2 | ||||
-rw-r--r-- | src/Makefile.Watcom | 2 | ||||
-rw-r--r-- | src/Makefile.am | 18 | ||||
-rw-r--r-- | src/Makefile.b32 | 4 | ||||
-rw-r--r-- | src/Makefile.m32 | 8 | ||||
-rw-r--r-- | src/Makefile.netware | 6 | ||||
-rw-r--r-- | tests/data/test1013 | 2 | ||||
-rw-r--r-- | tests/data/test1014 | 2 | ||||
-rw-r--r-- | tests/data/test1022 | 2 | ||||
-rw-r--r-- | tests/data/test1023 | 2 | ||||
-rw-r--r-- | tests/libtest/Makefile.am | 10 | ||||
-rwxr-xr-x | tests/libtest/test1022.pl | 4 | ||||
-rwxr-xr-x | tests/runtests.pl | 4 |
24 files changed, 219 insertions, 101 deletions
diff --git a/Makefile.am b/Makefile.am index 2986acf69..d4264d0a0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -136,8 +136,8 @@ WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \ winbuild/MakefileBuild.vc winbuild/Makefile.vc \ winbuild/Makefile.msvc.names -EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \ - RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework scripts/zsh.pl \ +EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist gnurl-config.in \ + RELEASE-NOTES buildconf libgnurl.pc.in MacOSX-Framework scripts/zsh.pl \ $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) lib/libcurl.vers.in \ buildconf.bat @@ -147,13 +147,13 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ) \ $(VC11_LIBVCXPROJ) $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ) \ $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) -bin_SCRIPTS = curl-config +bin_SCRIPTS = gnurl-config SUBDIRS = lib src include DIST_SUBDIRS = $(SUBDIRS) tests packages docs scripts pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libcurl.pc +pkgconfig_DATA = libgnurl.pc # List of files required to generate VC IDE .dsp, .vcproj and .vcxproj files include lib/Makefile.inc @@ -1,3 +1,126 @@ +libgnurl is a fork of libcurl with the following major changes: + +Compilation requirements: +* libgnurl must be compiled so that it supports only HTTP and HTTPS + (remove Gopher, SSH, IMAP, etc.) +* libgnurl must be compiled so that it supports only GnuTLS + (remove CaySSL, QsoSSL, GSKit, etc.) +* removed support for NTLM, GSSAPI, SPNEGO, LDAP, metalink, HTTP2 + +Changes to the code: +* renamed the library binary from 'libcurl' to 'lignurl' + +Usage notes: +* exported symbols were NOT renamed, so they still all have the + curl prefix; you should be able to start using libgnurl simply + by changing -lcurl to -lgnurl. + +Note that the compilation requirements were not hard-coded, but +are rather socially enforced: if you compile libgnurl, please +use the following options to configure: + +./configure --enable-ipv6 --with-gnutls --without-libssh2 --without-libmetalink --without-winidn --without-librtmp --without-nghttp2 --without-nss --without-cyassl --without-polarssl --without-ssl --without-winssl --without-darwinssl --disable-sspi --disable-ntlm-wb --disable-ldap --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --disable-gopher --disable-file --disable-ftp --disable-smb + +Naturally, you're free to specify additional options, such as +"--prefix". The result should have support only for HTTP, HTTPS (via +GnuTLS), IDN, zlib and TLS-SRP. + + + +Motivation: + +cURL supports a bunch of crypto backends. GNUnet requires the use of +GnuTLS, but other variants are used by some distributions. Supporting +other crypto backends would again expose us to a wider array of +security issues, may create licensing issues and most importantly +introduce new bugs as some crypto backends are known to introduce +subtle runtime issues. While it is possible to have two versions of +libcurl installed on the same system, this is error-prone, especially +as if we are linked against the wrong version, the bugs that arise +might be rather subtle. + +For GNUnet, we also need a particularly modern version of +GnuTLS. Thus, it would anyway be necessary to recompile cURL for +GNUnet. But what happens if one links cURL against this version of +GnuTLS? Well, first one would install GnuTLS by hand in the +system. Then, we build cURL. cURL will build against it just fine, but +the linker will eventually complain bitterly. The reason is that cURL +also links against a bunch of other system libraries (gssapi, ldap, +ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), +which --- as they are part of the distribution --- were linked against +an older version of GnuTLS. As a result, the same binary would be +linked against two different versions of GnuTLS. That is typically a +recipe for disaster. Thus, in order to avoid updating a dozen system +libraries (and having two versions of those installed), it is +necessary to disable all of those cURL features that GNUnet does not +use, and there are many of those. For GNUnet, the more obscure +protocols supported by cURL are close to dead code --- mostly +harmless, but not useful. However, as some application may use one of +those features, distributions are typically forced to enable all of +those features, and thus including security issues that might arise +from that code. + +So to use a modern version of GnuTLS, a sane approach is to disable +all of the "optional" features of cURL that drag in system libraries +that link against the older GnuTLS. That works, except that one should +then NEVER install that version of libcurl in say /usr or /usr/local, +as that may break other parts of the system that might depend on these +features that we just disabled. Libtool versioning doesn't help here, +as it is not intended to deal with libraries that have optional +features. Naturally, installing cURL somewhere else is also +problematic, as we now need to be really careful that the linker will +link GNUnet against the right version. Note that none of this can +really be trivially fixed by the cURL developers. Rename to Fix + +At this point, developers that don't want to rebuild an entire +distribution from scratch get grumpy. Grumpy developers do silly +things, like forking code to fix it. I called the fork gnurl (to be +pronounced with a grumpy voice and an emphasis on the R) as it is bits +of cURL, a bit more GNUish, for GnuNet, and gnurl can be pronounced to +indicate the grumpy origins. + +How does forking fix it? Easy. First, we can get rid of all of the +compatibility issues --- if you use libgnurl, you state that you don't +need anything but HTTP/HTTPS. Those applications that need more, +should stick with the original cURL. Those that do not, can choose to +move to something simpler. As the library gets a new name, we do not +have to worry about tons of packages breaking as soon as one rebuilds +it. So renaming itself and saying that "libgnurl = libcurl with only +HTTP/HTTPS support and GnuTLS" fixes 99% of the problems that darkened +my mood. Note that this pretty much CANNOT be done without a fork, as +renaming is an essential part of the fix. Now, there might be creative +solutions to achieve the same thing within the standard cURL build +system, but I'm not happy to wait for a decade for Daniel to review +the patches. The changes libgnurl makes to curl are miniscule and can +easily be applied again and again whenever libcurl makes a new +release. + + +Summary: + +I want to note that the main motiviations for this fork are technical +The goal of the cURL project is clearly to support many crypto +backends and many protocols. That is a worthy goal, and I wish them +luck with it. The goal for libgnurl is to support only HTTP and HTTPS +(and only HTTP 1.x) with a single crypto backend (GnuTLS) to ensure a +small footprint and uniform experience for developers regardless of +how libcurl was compiled. + + +Using libgnurl: + +Projects that use cURL only for HTTP/HTTPS and that would work with +GnuTLS should be able to switch to libgnurl by changing "-lcurl" to +"-lgnurl". That's it. No changes to the source code should be +required. Continue to read the cURL documentation --- as libgnurl +strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS +subset of cURL. However, we're happy to add new features relating to +this core subset and might be easier to convince than the cURL +developers. ;-) + +Now, on to the cURL documentation... + + _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | diff --git a/configure.ac b/configure.ac index 60c99acea..1912f3cec 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) dnl We don't know the version number "statically" so we use a dash here -AC_INIT([curl], [-], [a suitable curl mailing list: https://curl.haxx.se/mail/]) +AC_INIT([gnurl], [-], [a suitable curl mailing list: https://curl.haxx.se/mail/]) XC_OVR_ZZ50 XC_OVR_ZZ60 @@ -1312,14 +1312,7 @@ if test x"$want_gss" = xyes; then esac else LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR" - case $host in - *-hp-hpux*) - LIBS="-lgss $LIBS" - ;; - *) - LIBS="-lgssapi $LIBS" - ;; - esac + LIBS="-lgssapi $LIBS" fi else CPPFLAGS="$save_CPPFLAGS" @@ -3855,8 +3848,8 @@ AC_CONFIG_FILES([Makefile \ packages/AIX/Makefile \ packages/AIX/RPM/Makefile \ packages/AIX/RPM/curl.spec \ - curl-config \ - libcurl.pc + gnurl-config \ + libgnurl.pc ]) AC_OUTPUT diff --git a/docs/Makefile.am b/docs/Makefile.am index 284e53120..0444f717f 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -22,10 +22,10 @@ AUTOMAKE_OPTIONS = foreign no-dependencies -man_MANS = curl.1 curl-config.1 +man_MANS = gnurl.1 gnurl-config.1 noinst_man_MANS = mk-ca-bundle.1 -GENHTMLPAGES = curl.html curl-config.html mk-ca-bundle.html -PDFPAGES = curl.pdf curl-config.pdf mk-ca-bundle.pdf +GENHTMLPAGES = gnurl.html gnurl-config.html mk-ca-bundle.html +PDFPAGES = gnurl.pdf gnurl-config.pdf mk-ca-bundle.pdf HTMLPAGES = $(GENHTMLPAGES) index.html diff --git a/docs/curl-config.1 b/docs/gnurl-config.1 index 4c1e323c6..4c1e323c6 100644 --- a/docs/curl-config.1 +++ b/docs/gnurl-config.1 diff --git a/docs/curl.1 b/docs/gnurl.1 index c573ff952..c573ff952 100644 --- a/docs/curl.1 +++ b/docs/gnurl.1 diff --git a/curl-config.in b/gnurl-config.in index af484b445..07bcefbf6 100644 --- a/curl-config.in +++ b/gnurl-config.in @@ -24,27 +24,27 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ includedir=@includedir@ -cppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@ +cppflag_gnurl_staticlib=@CPPFLAG_GNURL_STATICLIB@ usage() { cat <<EOF -Usage: curl-config [OPTION] +Usage: gnurl-config [OPTION] Available values for OPTION include: - --built-shared says 'yes' if libcurl was built shared + --built-shared says 'yes' if libgnurl was built shared --ca ca bundle install path --cc compiler --cflags pre-processor and compiler flags - --checkfor [version] check for (lib)curl of the specified version - --configure the arguments given to configure when building curl + --checkfor [version] check for (lib)gnurl of the specified version + --configure the arguments given to configure when building gnurl --features newline separated list of enabled features --help display this help and exit --libs library linking information - --prefix curl install prefix + --prefix gnurl install prefix --protocols newline separated list of enabled protocols - --static-libs static libcurl library linking information + --static-libs static libgnurl library linking information --version output version information --vernum output the version information as a number (hexadecimal) EOF @@ -95,7 +95,7 @@ while test $# -gt 0; do ;; --version) - echo libcurl @CURLVERSION@ + echo libgnurl @CURLVERSION@ exit 0 ;; @@ -129,36 +129,36 @@ while test $# -gt 0; do ;; --cflags) - if test "X$cppflag_curl_staticlib" = "X-DCURL_STATICLIB"; then - CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB " + if test "X$cppflag_gnurl_staticlib" = "X-DGNURL_STATICLIB"; then + CPPFLAG_GNURL_STATICLIB="-DGNURL_STATICLIB " else - CPPFLAG_CURL_STATICLIB="" + CPPFLAG_GNURL_STATICLIB="" fi if test "X@includedir@" = "X/usr/include"; then - echo "$CPPFLAG_CURL_STATICLIB" + echo "$CPPFLAG_GNURL_STATICLIB" else - echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@" + echo "${CPPFLAG_GNURL_STATICLIB}-I@includedir@" fi ;; --libs) if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then - CURLLIBDIR="-L@libdir@ " + GNURLLIBDIR="-L@libdir@ " else - CURLLIBDIR="" + GNURLLIBDIR="" fi if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then - echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@ + echo ${GNURLLIBDIR}-lgnurl @LIBCURL_LIBS@ else - echo ${CURLLIBDIR}-lcurl + echo ${GNURLLIBDIR}-lgnurl fi ;; --static-libs) if test "X@ENABLE_STATIC@" != "Xno" ; then - echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ + echo @libdir@/libgnurl.@libext@ @LDFLAGS@ @LIBGNURL_LIBS@ else - echo "curl was built with static libraries disabled" >&2 + echo "gnurl was built with static libraries disabled" >&2 exit 1 fi ;; diff --git a/lib/Makefile.am b/lib/Makefile.am index 12aaf6147..a1f8f8f00 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -25,14 +25,14 @@ CMAKE_DIST = CMakeLists.txt curl_config.h.cmake EXTRA_DIST = Makefile.b32 Makefile.m32 Makefile.vc6 config-win32.h \ config-win32ce.h config-riscos.h config-mac.h curl_config.h.in \ - makefile.dj config-dos.h libcurl.plist libcurl.rc config-amigaos.h \ + makefile.dj config-dos.h libgnurl.plist libcurl.rc config-amigaos.h \ makefile.amiga Makefile.netware nwlib.c nwos.c config-win32ce.h \ config-os400.h setup-os400.h config-symbian.h Makefile.Watcom \ config-tpf.h mk-ca-bundle.pl mk-ca-bundle.vbs $(CMAKE_DIST) \ firefox-db2pem.sh config-vxworks.h Makefile.vxworks checksrc.pl \ objnames-test08.sh objnames-test10.sh objnames.inc -lib_LTLIBRARIES = libcurl.la +lib_LTLIBRARIES = libgnurl.la if BUILD_UNITTESTS noinst_LTLIBRARIES = libcurlu.la @@ -102,38 +102,38 @@ AM_CPPFLAGS += -DBUILDING_LIBCURL AM_LDFLAGS = AM_CFLAGS = -libcurl_la_CPPFLAGS_EXTRA = -libcurl_la_LDFLAGS_EXTRA = -libcurl_la_CFLAGS_EXTRA = +libgnurl_la_CPPFLAGS_EXTRA = +libgnurl_la_LDFLAGS_EXTRA = +libgnurl_la_CFLAGS_EXTRA = if CURL_LT_SHLIB_USE_VERSION_INFO -libcurl_la_LDFLAGS_EXTRA += $(VERSIONINFO) +libgnurl_la_LDFLAGS_EXTRA += $(VERSIONINFO) endif if CURL_LT_SHLIB_USE_NO_UNDEFINED -libcurl_la_LDFLAGS_EXTRA += -no-undefined +libgnurl_la_LDFLAGS_EXTRA += -no-undefined endif if CURL_LT_SHLIB_USE_MIMPURE_TEXT -libcurl_la_LDFLAGS_EXTRA += -mimpure-text +libgnurl_la_LDFLAGS_EXTRA += -mimpure-text endif if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS -libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers +libgnurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers endif if USE_CPPFLAG_CURL_STATICLIB -libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB +libgnurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB endif if DOING_CURL_SYMBOL_HIDING -libcurl_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS -libcurl_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) +libgnurl_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS +libgnurl_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING) endif -libcurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA) -libcurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) -libcurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA) +libgnurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA) +libgnurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS) +libgnurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA) libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS) @@ -142,7 +142,7 @@ libcurlu_la_CFLAGS = $(AM_CFLAGS) # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc -libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) +libgnurl_la_SOURCES = $(CSOURCES) $(HHEADERS) libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) checksrc: diff --git a/lib/libcurl.plist b/lib/libgnurl.plist index 622f66cfb..33c2fdefa 100644 --- a/lib/libcurl.plist +++ b/lib/libgnurl.plist @@ -9,7 +9,7 @@ <string>English</string> <key>CFBundleExecutable</key> - <string>curl</string> + <string>gnurl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> @@ -18,7 +18,7 @@ <string>7.12.3</string> <key>CFBundleName</key> - <string>libcurl</string> + <string>libgnurl</string> <key>CFBundlePackageType</key> <string>FMWK</string> @@ -30,6 +30,6 @@ <string>libcurl 7.12.3</string> <key>CFBundleGetInfoString</key> - <string>libcurl.plist 7.12.3</string> + <string>libgnurl.plist 7.12.3</string> </dict> </plist> diff --git a/libcurl.pc.in b/libgnurl.pc.in index feea1cd91..ec56fffcf 100644 --- a/libcurl.pc.in +++ b/libgnurl.pc.in @@ -30,10 +30,10 @@ includedir=@includedir@ supported_protocols="@SUPPORT_PROTOCOLS@" supported_features="@SUPPORT_FEATURES@" -Name: libcurl -URL: https://curl.haxx.se/ -Description: Library to transfer files with ftp, http, etc. -Version: @CURLVERSION@ -Libs: -L${libdir} -lcurl -Libs.private: @LIBCURL_LIBS@ +Name: libgnurl +URL: http://curl.haxx.se/ +Description: Library to transfer files with http or https +Version: @GNURLVERSION@ +Libs: -L${libdir} -lgnurl +Libs.private: @LIBGNURL_LIBS@ Cflags: -I${includedir} @CPPFLAG_CURL_STATICLIB@ @@ -69,12 +69,12 @@ for ver in vc7 vc8 vc9 vc10 vc11 vc12 vc14; do done # Replace version number in plist file: -PLIST=lib/libcurl.plist +PLIST=lib/libgnurl.plist sed "s/7\.12\.3/$libversion/g" $PLIST > $PLIST.dist echo "curl version $curlversion" -echo "libcurl version $libversion" -echo "libcurl numerical $numeric" +echo "libgnurl version $libversion" +echo "libgnurl numerical $numeric" echo "datestamp $datestamp" findprog() @@ -137,7 +137,7 @@ git log --pretty=fuller --no-color --date=short --decorate=full -1000 | ./script # echo "make dist" -targz="curl-$version.tar.gz" +targz="gnurl-$version.tar.gz" make -sj dist VERSION=$version ############################################################################ @@ -145,7 +145,7 @@ make -sj dist VERSION=$version # Now make a bz2 archive from the tar.gz original # -bzip2="curl-$version.tar.bz2" +bzip2="gnurl-$version.tar.bz2" echo "Generating $bzip2" gzip -dc $targz | bzip2 --best > $bzip2 @@ -154,7 +154,7 @@ gzip -dc $targz | bzip2 --best > $bzip2 # Now make an lzma archive from the tar.gz original # -lzma="curl-$version.tar.lzma" +lzma="gnurl-$version.tar.lzma" echo "Generating $lzma" gzip -dc $targz | lzma --best - > $lzma @@ -174,7 +174,7 @@ makezip () rm -rf $tempdir } -zip="curl-$version.zip" +zip="gnurl-$version.zip" echo "Generating $zip" tempdir=".builddir" makezip diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 32dc1b9e2..33c01535d 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -31,7 +31,7 @@ if CROSSCOMPILING @echo "NOTICE: we can't generate zsh completion when cross-compiling!" else # if not cross-compiling: @if ! test -x "$(PERL)"; then echo "No perl: can't install zsh.pl"; exit 0; fi - $(PERL) $(srcdir)/zsh.pl $(top_builddir)/src/curl$(EXEEXT) > $@ + $(PERL) $(srcdir)/zsh.pl $(top_builddir)/src/gnurl$(EXEEXT) > $@ endif install-data-local: diff --git a/src/Makefile.Watcom b/src/Makefile.Watcom index f1ddc29fa..c310beb72 100644 --- a/src/Makefile.Watcom +++ b/src/Makefile.Watcom @@ -47,7 +47,7 @@ !ifdef %libname LIBNAME = $(%libname) !else -LIBNAME = libcurl +LIBNAME = libgnurl !endif TARGETS = curl.exe diff --git a/src/Makefile.am b/src/Makefile.am index 878bbfef5..d964ae1ed 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -45,7 +45,7 @@ AM_CPPFLAGS = -I$(top_builddir)/include/curl \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/src -bin_PROGRAMS = curl +bin_PROGRAMS = gnurl if USE_CPPFLAG_CURL_STATICLIB AM_CPPFLAGS += -DCURL_STATICLIB @@ -54,7 +54,7 @@ endif include Makefile.inc # CURL_FILES comes from Makefile.inc -curl_SOURCES = $(CURL_FILES) +gnurl_SOURCES = $(CURL_FILES) # This might hold -Werror CFLAGS += @CURL_CFLAG_EXTRAS@ @@ -63,14 +63,14 @@ CFLAGS += @CURL_CFLAG_EXTRAS@ LIBS = $(BLANK_AT_MAKETIME) if USE_EXPLICIT_LIB_DEPS -curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ +gnurl_LDADD = $(top_builddir)/lib/libgnurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@ else -curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ +gnurl_LDADD = $(top_builddir)/lib/libgnurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@ endif -curl_LDFLAGS = @LIBMETALINK_LDFLAGS@ -curl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS) -curl_DEPENDENCIES = $(top_builddir)/lib/libcurl.la +gnurl_LDFLAGS = @LIBMETALINK_LDFLAGS@ +gnurl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS) +gnurl_DEPENDENCIES = $(top_builddir)/lib/libgnurl.la # if unit tests are enabled, build a static library to link them with if BUILD_UNITTESTS @@ -79,7 +79,7 @@ libcurltool_la_CPPFLAGS = $(LIBMETALINK_CPPFLAGS) $(AM_CPPFLAGS) \ -DCURL_STATICLIB -DUNITTESTS libcurltool_la_CFLAGS = libcurltool_la_LDFLAGS = -static $(LINKFLAGS) -libcurltool_la_SOURCES = $(curl_SOURCES) +libcurltool_la_SOURCES = $(gnurl_SOURCES) endif BUILT_SOURCES = tool_hugehelp.c @@ -93,7 +93,7 @@ EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 \ macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \ curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt -MANPAGE=$(top_srcdir)/docs/curl.1 +MANPAGE=$(top_srcdir)/docs/gnurl.1 README=$(top_srcdir)/docs/MANUAL MKHELP=$(top_srcdir)/src/mkhelp.pl HUGE=tool_hugehelp.c diff --git a/src/Makefile.b32 b/src/Makefile.b32 index a60b3db74..6bcdcd700 100644 --- a/src/Makefile.b32 +++ b/src/Makefile.b32 @@ -72,9 +72,9 @@ LINKLIB = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib DEFINES = -DNDEBUG -DWIN32 !ifdef DYNAMIC -LIBCURL_LIB = ..\lib\libcurl_imp.lib +LIBCURL_LIB = ..\lib\libgnurl_imp.lib !else -LIBCURL_LIB = ..\lib\libcurl.lib +LIBCURL_LIB = ..\lib\libgnurl.lib DEFINES = $(DEFINES) -DCURL_STATICLIB !endif diff --git a/src/Makefile.m32 b/src/Makefile.m32 index 40852e573..0c98135bb 100644 --- a/src/Makefile.m32 +++ b/src/Makefile.m32 @@ -208,11 +208,11 @@ endif INCLUDES = -I. -I../include -I../lib ifdef DYN - curl_DEPENDENCIES = $(PROOT)/lib/libcurldll.a $(PROOT)/lib/libcurl.dll - curl_LDADD = -L$(PROOT)/lib -lcurldll + curl_DEPENDENCIES = $(PROOT)/lib/libgnurldll.a $(PROOT)/lib/libgnurl.dll + curl_LDADD = -L$(PROOT)/lib -lgnurldll else - curl_DEPENDENCIES = $(PROOT)/lib/libcurl.a - curl_LDADD = -L$(PROOT)/lib -lcurl + curl_DEPENDENCIES = $(PROOT)/lib/libgnurl.a + curl_LDADD = -L$(PROOT)/lib -lgnurl CFLAGS += -DCURL_STATICLIB LDFLAGS += -static endif diff --git a/src/Makefile.netware b/src/Makefile.netware index 3e4f6546d..51fa2637f 100644 --- a/src/Makefile.netware +++ b/src/Makefile.netware @@ -265,13 +265,13 @@ ENABLE_IPV6 = 1 endif ifdef LINK_STATIC - LDLIBS = $(CURL_LIB)/libcurl.$(LIBEXT) + LDLIBS = $(CURL_LIB)/libgnurl.$(LIBEXT) ifdef WITH_ARES LDLIBS += $(LIBCARES_PATH)/libcares.$(LIBEXT) endif else - MODULES = libcurl.nlm - IMPORTS = @$(CURL_LIB)/libcurl.imp + MODULES = libgnurl.nlm + IMPORTS = @$(CURL_LIB)/libgnurl.imp endif ifdef WITH_SSH2 # INCLUDES += -I$(LIBSSH2_PATH)/include diff --git a/tests/data/test1013 b/tests/data/test1013 index 9a1e6d4e3..244dcf599 100644 --- a/tests/data/test1013 +++ b/tests/data/test1013 @@ -23,7 +23,7 @@ Compare curl --version with curl-config --protocols --version </command> <postcheck> -%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1013 protocols +%SRCDIR/libtest/test1013.pl ../gnurl-config log/stdout1013 protocols </postcheck> </client> diff --git a/tests/data/test1014 b/tests/data/test1014 index 5116aad7c..e00defa81 100644 --- a/tests/data/test1014 +++ b/tests/data/test1014 @@ -23,7 +23,7 @@ Compare curl --version with curl-config --features --version </command> <postcheck> -%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1014 features +%SRCDIR/libtest/test1013.pl ../gnurl-config log/stdout1014 features </postcheck> </client> diff --git a/tests/data/test1022 b/tests/data/test1022 index 6a8b01258..ecd83a332 100644 --- a/tests/data/test1022 +++ b/tests/data/test1022 @@ -23,7 +23,7 @@ Compare curl --version with curl-config --version --version </command> <postcheck> -%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1022 version +%SRCDIR/libtest/test1022.pl ../gnurl-config log/stdout1022 version </postcheck> </client> diff --git a/tests/data/test1023 b/tests/data/test1023 index 9c916a085..5f4d756ae 100644 --- a/tests/data/test1023 +++ b/tests/data/test1023 @@ -23,7 +23,7 @@ Compare curl --version with curl-config --vernum --version </command> <postcheck> -%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1023 vernum +%SRCDIR/libtest/test1022.pl ../gnurl-config log/stdout1023 vernum </postcheck> </client> diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am index 826b3d4f5..be375aa56 100644 --- a/tests/libtest/Makefile.am +++ b/tests/libtest/Makefile.am @@ -59,16 +59,16 @@ CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@ LIBS = $(BLANK_AT_MAKETIME) if USE_EXPLICIT_LIB_DEPS -SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@ -TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@ +SUPPORTFILES_LIBS = $(top_builddir)/lib/libgnurl.la @LIBCURL_LIBS@ +TESTUTIL_LIBS = $(top_builddir)/lib/libgnurl.la @LIBCURL_LIBS@ else -SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ -TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ +SUPPORTFILES_LIBS = $(top_builddir)/lib/libgnurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@ +TESTUTIL_LIBS = $(top_builddir)/lib/libgnurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@ endif # Dependencies (may need to be overriden) LDADD = $(SUPPORTFILES_LIBS) -DEPENDENCIES = $(top_builddir)/lib/libcurl.la +DEPENDENCIES = $(top_builddir)/lib/libgnurl.la # Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, # noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS) diff --git a/tests/libtest/test1022.pl b/tests/libtest/test1022.pl index 377808c73..df088c314 100755 --- a/tests/libtest/test1022.pl +++ b/tests/libtest/test1022.pl @@ -12,6 +12,8 @@ my $what=$ARGV[2]; open(CURL, "$ARGV[1]") || die "Can't open curl --version list in $ARGV[1]\n"; $_ = <CURL>; chomp; +# Leave the version to contain libcurl here as we use the ../src/curl binary and +# it is producting "libcurl" string /libcurl\/([\.\d]+((-DEV)|(-\d+))?)/; my $version = $1; close CURL; @@ -24,7 +26,7 @@ $_ = <CURLCONFIG>; chomp; my $filever=$_; if ( $what eq "version" ) { - if($filever =~ /^libcurl ([\.\d]+((-DEV)|(-\d+))?)$/) { + if($filever =~ /^libgnurl ([\.\d]+((-DEV)|(-\d+))?)$/) { $curlconfigversion = $1; } else { diff --git a/tests/runtests.pl b/tests/runtests.pl index b8497f9c2..4e44a6d1b 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -147,7 +147,7 @@ my $HTTPUNIXPATH; # HTTP server Unix domain socket path my $HTTP2PORT; # HTTP/2 server port my $srcdir = $ENV{'srcdir'} || '.'; -my $CURL="../src/curl".exe_ext(); # what curl executable to run on the tests +my $CURL="../src/gnurl".exe_ext(); # what curl executable to run on the tests my $VCURL=$CURL; # what curl binary to use to verify the servers with # VCURL is handy to set to the system one when the one you # just built hangs or crashes and thus prevent verification @@ -163,7 +163,7 @@ my $PROXYIN="$LOGDIR/proxy.input"; # what curl sent the proxy my $CURLLOG="$LOGDIR/curl.log"; # all command lines run my $FTPDCMD="$LOGDIR/ftpserver.cmd"; # copy ftp server instructions here my $SERVERLOGS_LOCK="$LOGDIR/serverlogs.lock"; # server logs advisor read lock -my $CURLCONFIG="../curl-config"; # curl-config from current build +my $CURLCONFIG="../gnurl-config"; # curl-config from current build # Normally, all test cases should be run, but at times it is handy to # simply run a particular one: |