big last-beta (?) cleanup commit
This commit is contained in:
Родитель
513ac758da
Коммит
c3c7739811
24
CHANGES
24
CHANGES
|
@ -7,6 +7,27 @@
|
|||
History of Changes
|
||||
|
||||
|
||||
Version 7.0.11beta
|
||||
|
||||
Daniel (1 August 2000)
|
||||
- Albert Chin-A-Young pointed out that 'make install' did not properly create
|
||||
the header include directory, why it failed to install the header files as
|
||||
it should. Automake isn't really equipped to deal with subdirectories
|
||||
without Makefiles in any nice way. I had to run ahead and add Makefiles in
|
||||
both include and include/curl before I managed to create a top-level
|
||||
makefile that succeeds in install everything properly!
|
||||
|
||||
- Ok, no more "features" added now. Let's just verify that there's no major
|
||||
flaws added now.
|
||||
|
||||
Daniel (31 July 2000)
|
||||
- Both Jeff Schasny and Ketil Froyn asked me how to tell curl not to send one
|
||||
of those internally generated headers. They didn't settle with the blank
|
||||
ones you could tell curl to use. I rewrote the header-replace stuff a
|
||||
little. Now, if you replace an internal header with your own and that new
|
||||
one is a blank header you will only remove the internal one and not get any
|
||||
blank. I couldn't figure out any case when you want that blank header.
|
||||
|
||||
Daniel (29 July 2000)
|
||||
- It struck me that the lib used localtime() which is not thread-safe, so now
|
||||
I use localtime_r() in the systems that has it.
|
||||
|
@ -14,7 +35,8 @@ Daniel (29 July 2000)
|
|||
- I went through this entire document and removed all email addresses and left
|
||||
names only. I've really made an effort to always note who brought be bug
|
||||
reports or fixes, but more and more people ask me to remove the email
|
||||
addresses since they become victims for spams this way.
|
||||
addresses since they become victims for spams this way. Gordon Beaton got me
|
||||
working on this.
|
||||
|
||||
Daniel (27 July 2000)
|
||||
- Jörn Hartroth found out that when you specified a HTTP proxy in an
|
||||
|
|
4
FILES
4
FILES
|
@ -51,5 +51,9 @@ lib/*am
|
|||
lib/Makefile.vc6
|
||||
lib/*m32
|
||||
include/README
|
||||
include/Makefile.in
|
||||
include/Makefile.am
|
||||
include/curl/*.h
|
||||
include/curl/Makefile.in
|
||||
include/curl/Makefile.am
|
||||
|
||||
|
|
|
@ -6,5 +6,5 @@ AUTOMAKE_OPTIONS = foreign no-dependencies
|
|||
|
||||
EXTRA_DIST = curl.spec curl-ssl.spec
|
||||
|
||||
SUBDIRS = docs lib src
|
||||
SUBDIRS = docs lib src include
|
||||
|
||||
|
|
|
@ -125,3 +125,416 @@ else
|
|||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
|
||||
# serial 40 AC_PROG_LIBTOOL
|
||||
AC_DEFUN(AC_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
|
||||
# Save cache, so that ltconfig can load it
|
||||
AC_CACHE_SAVE
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
|
||||
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
|
||||
# Reload cache, that may have been modified by ltconfig
|
||||
AC_CACHE_LOAD
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)dnl
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_LIBTOOL_SETUP,
|
||||
[AC_PREREQ(2.13)dnl
|
||||
AC_REQUIRE([AC_ENABLE_SHARED])dnl
|
||||
AC_REQUIRE([AC_ENABLE_STATIC])dnl
|
||||
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_LD])dnl
|
||||
AC_REQUIRE([AC_PROG_NM])dnl
|
||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
dnl
|
||||
|
||||
case "$target" in
|
||||
NONE) lt_target="$host" ;;
|
||||
*) lt_target="$target" ;;
|
||||
esac
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags="--cache-file=$cache_file"
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
|
||||
[libtool_flags="$libtool_flags --enable-dlopen"])
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[libtool_flags="$libtool_flags --enable-win32-dll"])
|
||||
AC_ARG_ENABLE(libtool-lock,
|
||||
[ --disable-libtool-lock avoid locking (might break parallel builds)])
|
||||
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
|
||||
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$lt_target" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
*N32*)
|
||||
LD="${LD-ld} -n32"
|
||||
;;
|
||||
*64-bit*)
|
||||
LD="${LD-ld} -64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
|
||||
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
|
||||
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
|
||||
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
fi
|
||||
;;
|
||||
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[*-*-cygwin* | *-*-mingw*)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
])
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
|
||||
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
|
||||
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
||||
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_SHARED, [dnl
|
||||
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(shared,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_SHARED(no)])
|
||||
|
||||
# AC_ENABLE_STATIC - implement the --enable-static flag
|
||||
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_STATIC, [dnl
|
||||
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(static,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
||||
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_STATIC(no)])
|
||||
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
||||
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
|
||||
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(fast-install,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
|
||||
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_FAST_INSTALL(no)])
|
||||
|
||||
# AC_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AC_PROG_LD,
|
||||
[AC_ARG_WITH(gnu-ld,
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
changequote(,)dnl
|
||||
[\\/]* | [A-Za-z]:[\\/]*)
|
||||
re_direlt='/[^/][^/]*/\.\./'
|
||||
changequote([,])dnl
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||
done
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
;;
|
||||
"")
|
||||
# If it fails, then pretend we aren't using GCC.
|
||||
ac_prog=ld
|
||||
;;
|
||||
*)
|
||||
# If it is relative, then search for the first ld in PATH.
|
||||
with_gnu_ld=unknown
|
||||
;;
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
AC_MSG_CHECKING([for GNU ld])
|
||||
else
|
||||
AC_MSG_CHECKING([for non-GNU ld])
|
||||
fi
|
||||
AC_CACHE_VAL(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
test "$with_gnu_ld" != no && break
|
||||
else
|
||||
test "$with_gnu_ld" != yes && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
else
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_cv_path_LD"
|
||||
if test -n "$LD"; then
|
||||
AC_MSG_RESULT($LD)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||
AC_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
# AC_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AC_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[if test -n "$NM"; then
|
||||
# Let the user override the test.
|
||||
ac_cv_path_NM="$NM"
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -B"
|
||||
break
|
||||
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$ac_dir/nm -p"
|
||||
break
|
||||
else
|
||||
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
|
||||
continue # so that we can try to find one that supports BSD flags
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
fi])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
])
|
||||
|
||||
# AC_CHECK_LIBM - check for math library
|
||||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$lt_target" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m, main, LIBM="-lm")
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl convenience library and INCLTDL to the include flags for
|
||||
# the libltdl header and adds --enable-ltdl-convenience to the
|
||||
# configure arguments. Note that LIBLTDL and INCLTDL are not
|
||||
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
|
||||
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
|
||||
# with '${top_builddir}/' and INCLTDL will be prefixed with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case "$enable_ltdl_convenience" in
|
||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||
"") enable_ltdl_convenience=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||
esac
|
||||
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
|
||||
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl installable library and INCLTDL to the include flags for
|
||||
# the libltdl header and adds --enable-ltdl-install to the configure
|
||||
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
|
||||
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
|
||||
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
|
||||
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
|
||||
# with '${top_srcdir}/' (note the single quotes!). If your package is
|
||||
# not flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_CHECK_LIB(ltdl, main,
|
||||
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||
[if test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
else
|
||||
enable_ltdl_install=yes
|
||||
fi
|
||||
])
|
||||
if test x"$enable_ltdl_install" = x"yes"; then
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
|
||||
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
INCLTDL=
|
||||
fi
|
||||
])
|
||||
|
||||
dnl old names
|
||||
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
|
||||
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
||||
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
||||
|
||||
dnl This is just to silence aclocal about the macro not being used
|
||||
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
||||
|
||||
|
|
|
@ -82,6 +82,9 @@
|
|||
/* Define if you have the inet_ntoa_r function. */
|
||||
#undef HAVE_INET_NTOA_R
|
||||
|
||||
/* Define if you have the localtime_r function. */
|
||||
#undef HAVE_LOCALTIME_R
|
||||
|
||||
/* Define if you have the perror function. */
|
||||
#undef HAVE_PERROR
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ dnl $Id$
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(lib/urldata.h)
|
||||
AM_CONFIG_HEADER(config.h src/config.h)
|
||||
AM_INIT_AUTOMAKE(curl,"7.0.10beta")
|
||||
AM_INIT_AUTOMAKE(curl,"7.0.11test")
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl
|
||||
|
@ -339,6 +339,8 @@ AC_OUTPUT( Makefile \
|
|||
curl.spec \
|
||||
curl-ssl.spec \
|
||||
docs/Makefile \
|
||||
include/Makefile \
|
||||
include/curl/Makefile \
|
||||
src/Makefile \
|
||||
lib/Makefile )
|
||||
dnl perl/checklinks.pl \
|
||||
|
|
|
@ -8,31 +8,41 @@ CONTRIBUTE
|
|||
|
||||
To Think About When Contributing Source Code
|
||||
|
||||
This document is intended to offer some guidelines that can be useful to
|
||||
keep in mind when you decide to write a contribution to the project. This
|
||||
concerns new features as well as corrections to existing flaws or bugs.
|
||||
This document is intended to offer some guidelines that can be useful to keep
|
||||
in mind when you decide to write a contribution to the project. This concerns
|
||||
new features as well as corrections to existing flaws or bugs.
|
||||
|
||||
The License Issue
|
||||
|
||||
When contributing with code, you agree to put your changes and new code under
|
||||
the same license curl and libcurl is already using. Curl uses the MozPL, the
|
||||
Mozilla Public License, which is *NOT* compatible with the well known GPL,
|
||||
GNU Public License. We can never re-use sources from a GPL program in curl.
|
||||
If you add a larger piece of code, you can opt to make that file or set of
|
||||
files to use a different license as long as they don't enfore any changes to
|
||||
the rest of the package. Such "separate parts" can not be GPL either.
|
||||
|
||||
Naming
|
||||
|
||||
Try using a non-confusing naming scheme for your new functions and variable
|
||||
names. It doesn't necessarily have to mean that you should use the same as
|
||||
in other places of the code, just that the names should be logical,
|
||||
names. It doesn't necessarily have to mean that you should use the same as in
|
||||
other places of the code, just that the names should be logical,
|
||||
understandable and be named according to what they're used for.
|
||||
|
||||
Indenting
|
||||
|
||||
Please try using the same indenting levels and bracing method as all the
|
||||
other code already does. It makes the source code a lot easier to follow if
|
||||
all of it is written using the same style. I don't ask you to like it, I
|
||||
just ask you to follow the tradition! ;-)
|
||||
all of it is written using the same style. I don't ask you to like it, I just
|
||||
ask you to follow the tradition! ;-)
|
||||
|
||||
Commenting
|
||||
|
||||
Comment your source code extensively. I don't see myself as a very good
|
||||
source commenter, but I try to become one. Commented code is quality code
|
||||
and enables future modifications much more. Uncommented code much more risk
|
||||
being completely replaced when someone wants to extend things, since other
|
||||
persons' source code can get quite hard to read.
|
||||
source commenter, but I try to become one. Commented code is quality code and
|
||||
enables future modifications much more. Uncommented code much more risk being
|
||||
completely replaced when someone wants to extend things, since other persons'
|
||||
source code can get quite hard to read.
|
||||
|
||||
General Style
|
||||
|
||||
|
@ -41,10 +51,10 @@ General Style
|
|||
|
||||
Non-clobbering All Over
|
||||
|
||||
When you write new functionality or fix bugs, it is important that you
|
||||
don't fiddle all over the source files and functions. Remember that it is
|
||||
likely that other people have done changes in the same source files as you
|
||||
have and possibly even in the same functions. If you bring completely new
|
||||
When you write new functionality or fix bugs, it is important that you don't
|
||||
fiddle all over the source files and functions. Remember that it is likely
|
||||
that other people have done changes in the same source files as you have and
|
||||
possibly even in the same functions. If you bring completely new
|
||||
functionality, try writing it in a new source file. If you fix bugs, try to
|
||||
fix one bug at a time and send them as separate patches.
|
||||
|
||||
|
@ -61,10 +71,10 @@ Separate Patches Doing Different Things
|
|||
|
||||
Document
|
||||
|
||||
Writing docs is dead boring and one of the big problems with many open
|
||||
source projects. Someone's gotta do it. It makes it a lot easier if you
|
||||
submit a small description of your fix or your new features with every
|
||||
contribution so that it can be swiftly added to the package documentation.
|
||||
Writing docs is dead boring and one of the big problems with many open source
|
||||
projects. Someone's gotta do it. It makes it a lot easier if you submit a
|
||||
small description of your fix or your new features with every contribution so
|
||||
that it can be swiftly added to the package documentation.
|
||||
|
||||
Write Access to CVS Repository
|
||||
|
||||
|
|
145
docs/FAQ
145
docs/FAQ
|
@ -121,106 +121,139 @@ FAQ
|
|||
|
||||
9. Why do I get problems when I use & in the URL?
|
||||
|
||||
In general unix shells, the & letter is treated special and when used it
|
||||
runs the specified command in the background. To safely send the & as a
|
||||
part of a URL, you should qoute the entire URL by using single (') or
|
||||
double (") quotes around it.
|
||||
In general unix shells, the & letter is treated special and when used it
|
||||
runs the specified command in the background. To safely send the & as a part
|
||||
of a URL, you should qoute the entire URL by using single (') or double (")
|
||||
quotes around it.
|
||||
|
||||
An example that would invoke a remote CGI that uses &-letters could be:
|
||||
An example that would invoke a remote CGI that uses &-letters could be:
|
||||
|
||||
curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl'
|
||||
|
||||
10. How can I use {, }, [ or ] to specify multiple URLs?
|
||||
|
||||
Because those letters have a special meaning to the shell, and to be used
|
||||
in a URL specified to curl you must quote them.
|
||||
Because those letters have a special meaning to the shell, and to be used in
|
||||
a URL specified to curl you must quote them.
|
||||
|
||||
An example that downloads two URLs (sequentially) would do:
|
||||
An example that downloads two URLs (sequentially) would do:
|
||||
|
||||
curl '{curl,www}.haxx.se'
|
||||
|
||||
11. Where can I find a copy of LIBEAY32.DLL?
|
||||
|
||||
That is an OpenSSL binary built for Windows.
|
||||
That is an OpenSSL binary built for Windows.
|
||||
|
||||
Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs
|
||||
on a windows machine to do https://. Check out the curl web page to find
|
||||
accurate and up-to-date pointers to recent OpenSSL DDLs and other binary
|
||||
packages.
|
||||
Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs
|
||||
on a windows machine to do https://. Check out the curl web page to find
|
||||
accurate and up-to-date pointers to recent OpenSSL DDLs and other binary
|
||||
packages.
|
||||
|
||||
12. Why do I get downloaded data even though the web page doesn't exist?
|
||||
|
||||
Curl asks remote servers for the page you specify. If the page doesn't
|
||||
exist at the server, the HTTP protocol defines how the server should
|
||||
respond and that means that headers and a "page" will be returned. That's
|
||||
simply how HTTP works.
|
||||
Curl asks remote servers for the page you specify. If the page doesn't exist
|
||||
at the server, the HTTP protocol defines how the server should respond and
|
||||
that means that headers and a "page" will be returned. That's simply how
|
||||
HTTP works.
|
||||
|
||||
By using the --fail option you can tell curl explicitly to not get any data
|
||||
if the HTTP return code doesn't say success.
|
||||
By using the --fail option you can tell curl explicitly to not get any data
|
||||
if the HTTP return code doesn't say success.
|
||||
|
||||
13. Why do I get "HTTP/1.1 403 Forbidden" from a http server?
|
||||
|
||||
RFC2616 clearly explains this return code:
|
||||
RFC2616 clearly explains this return code:
|
||||
|
||||
10.4.4 403 Forbidden
|
||||
10.4.4 403 Forbidden
|
||||
|
||||
The server understood the request, but is refusing to fulfill it.
|
||||
Authorization will not help and the request SHOULD NOT be repeated.
|
||||
If the request method was not HEAD and the server wishes to make
|
||||
public why the request has not been fulfilled, it SHOULD describe the
|
||||
reason for the refusal in the entity. If the server does not wish to
|
||||
make this information available to the client, the status code 404
|
||||
(Not Found) can be used instead.
|
||||
The server understood the request, but is refusing to fulfill it.
|
||||
Authorization will not help and the request SHOULD NOT be repeated. If the
|
||||
request method was not HEAD and the server wishes to make public why the
|
||||
request has not been fulfilled, it SHOULD describe the reason for the
|
||||
refusal in the entity. If the server does not wish to make this information
|
||||
available to the client, the status code 404 (Not Found) can be used
|
||||
instead.
|
||||
|
||||
14. How can I disable the Pragma: nocache header?
|
||||
|
||||
You can change all internally generated headers by adding a replacement
|
||||
with the -H/--header option. By adding a header with empty contents you
|
||||
safelt disables the headers. Use -H "Pragma:" to disable that specific
|
||||
header.
|
||||
You can change all internally generated headers by adding a replacement with
|
||||
the -H/--header option. By adding a header with empty contents you safelt
|
||||
disables the headers. Use -H "Pragma:" to disable that specific header.
|
||||
|
||||
15. Can you tell me what error code 142 means?
|
||||
|
||||
All error codes that are larger than the highest documented error code
|
||||
means that curl has existed due to a timeout. There is currentl no nice way
|
||||
for curl to abort from such a condition and that's why it gets this
|
||||
undocumented error. This is planned to change in a future release.
|
||||
All error codes that are larger than the highest documented error code means
|
||||
that curl has existed due to a timeout. There is currentl no nice way for
|
||||
curl to abort from such a condition and that's why it gets this undocumented
|
||||
error. This is planned to change in a future release.
|
||||
|
||||
16. How do I keep usernames and passwords secret in Curl command lines?
|
||||
|
||||
I see this problem as two parts:
|
||||
I see this problem as two parts:
|
||||
|
||||
The first part is to avoid having clear-text passwords in the command line
|
||||
so that they don't appear in 'ps' outputs and similar. That is easily
|
||||
avoided by using the "-K" option that tells curl to read parameters from a
|
||||
file or stdin to which you can pass the secret info.
|
||||
The first part is to avoid having clear-text passwords in the command line
|
||||
so that they don't appear in 'ps' outputs and similar. That is easily
|
||||
avoided by using the "-K" option tho tell curl to read parameters from a
|
||||
file or stdin to which you can pass the secret info.
|
||||
|
||||
To keep the passwords in your account secret from the rest of the world is
|
||||
not a task that curl addresses. You could of course encrypt them somehow to
|
||||
at least hide them from being read by human eyes, but that is not what
|
||||
anyone would call security.
|
||||
To keep the passwords in your account secret from the rest of the world is
|
||||
not a task that curl addresses. You could of course encrypt them somehow to
|
||||
at least hide them from being read by human eyes, but that is not what
|
||||
anyone would call security.
|
||||
|
||||
17. Does curl support javascript, ASP, XML, XHTML or HTML version Y?
|
||||
|
||||
To curl, all contents are alike. It doesn't matter how the page was
|
||||
generated. It may be ASP, PHP, perl, shell-script, SSI or plain
|
||||
HTML-files. There's no difference to curl and it doesn't even know what
|
||||
kind of language that generated the page.
|
||||
To curl, all contents are alike. It doesn't matter how the page was
|
||||
generated. It may be ASP, PHP, perl, shell-script, SSI or plain
|
||||
HTML-files. There's no difference to curl and it doesn't even know what kind
|
||||
of language that generated the page.
|
||||
|
||||
Javascript is slightly different since that is code embedded in the HTML
|
||||
that is sent for the client to interpret and curl has no javascript
|
||||
interpreter.
|
||||
Javascript is slightly different since that is code embedded in the HTML
|
||||
that is sent for the client to interpret and curl has no javascript
|
||||
interpreter.
|
||||
|
||||
18. Does cURL support Socks (RFC 1928) ?
|
||||
|
||||
No. Nobody has wanted it that badly yet. I would appriciate patches that
|
||||
brings this functionality.
|
||||
No. Nobody has wanted it that badly yet. I would appriciate patches that
|
||||
brings this functionality.
|
||||
|
||||
19. Can I use curl to delete/rename a file through FTP?
|
||||
|
||||
Yes. You specify custom ftp commands with -Q/--quote.
|
||||
Yes. You specify custom ftp commands with -Q/--quote.
|
||||
|
||||
One example would be to delete a file after you have downloaded it:
|
||||
One example would be to delete a file after you have downloaded it:
|
||||
|
||||
curl -O ftp://download.com/coolfile -Q '-DELE coolfile'
|
||||
|
||||
20. Can I use curl/libcurl in my program licensed under XXX?
|
||||
|
||||
Curl and libcurl are released under the MPL, the Mozilla Public License. To
|
||||
get a really good answer to this or other licensing questions, you should
|
||||
study the MPL license and the license you are about to use and check for
|
||||
clashes yourself. This is a brief summary for a few cases for which we get
|
||||
questions:
|
||||
|
||||
I have a GPL program, can I use the libcurl library?
|
||||
|
||||
No. GPL'd software requires all parts of the final executable to be
|
||||
licensed under GPL.
|
||||
|
||||
I have a closed-source program, can I use the libcurl library?
|
||||
|
||||
Yes, libcurl does not put any restrictions on the program that uses the
|
||||
library. If you end up doing changes to the library, only those changes
|
||||
must be made available, not the ones to your program.
|
||||
|
||||
I have a program that uses LGPL libraries, can I use libcurl?
|
||||
|
||||
Yes you can. LGPL libraries don't spread to other libraries the same way
|
||||
GPL ones do.
|
||||
|
||||
Can I modify curl/libcurl for my own program and keep the changes secret?
|
||||
|
||||
No, you're not allowed to do that.
|
||||
|
||||
Can you please change the curl/libcurl license to XXXX?
|
||||
|
||||
No. We carefully picked this license years ago and a large amount of
|
||||
people have contributed with source code knowing that this is the license
|
||||
we use. This license puts the restrictions we want on curl/libcurl and it
|
||||
does not spread to other programs or libraries.
|
||||
|
|
|
@ -31,7 +31,7 @@ HTTP
|
|||
- custom HTTP request
|
||||
- cookie get/send
|
||||
- understands the netscape cookie file
|
||||
- custom headers (that can replace internally generated headers)
|
||||
- custom headers (that can replace/remove internally generated headers)
|
||||
- custom user-agent string
|
||||
- custom referer string
|
||||
- range
|
||||
|
@ -57,7 +57,7 @@ FTP
|
|||
- upload via http-proxy as HTTP PUT
|
||||
- download resume
|
||||
- upload resume
|
||||
- QUOT commands (before and/or after the transfer)
|
||||
- custom ftp commands (before and/or after the transfer)
|
||||
- simple "range" support
|
||||
- via http-proxy
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ Software
|
|||
|
||||
Similar Tools
|
||||
-------------
|
||||
wget - ftp://prep.ai.mit.edu/pub/gnu/
|
||||
wget - http://www.gnu.org/software/wget/wget.html
|
||||
|
||||
snarf - http://www.xach.com/snarf/
|
||||
|
||||
|
@ -90,8 +90,6 @@ Similar Tools
|
|||
|
||||
swebget - http://www.uni-hildesheim.de/~smol0075/swebget/
|
||||
|
||||
fetch - ?
|
||||
|
||||
Related Software
|
||||
----------------
|
||||
ftpparse - http://cr.yp.to/ftpparse.html parses FTP LIST responses
|
||||
|
@ -105,3 +103,5 @@ Related Software
|
|||
gzip - http://www.gnu.org/software/gzip/gzip.html
|
||||
|
||||
tar - http://www.gnu.org/software/tar/tar.html
|
||||
|
||||
libtool - http://www.gnu.org/software/libtool/libtool.html
|
||||
|
|
|
@ -414,8 +414,8 @@ char *curl_getenv(char *variable);
|
|||
char *curl_version(void);
|
||||
|
||||
/* This is the version number */
|
||||
#define LIBCURL_VERSION "7.0.8beta"
|
||||
#define LIBCURL_VERSION_NUM 0x070008
|
||||
#define LIBCURL_VERSION "7.0.11test"
|
||||
#define LIBCURL_VERSION_NUM 0x07000b
|
||||
|
||||
/* linked-list structure for the CURLOPT_QUOTE option */
|
||||
struct curl_slist {
|
||||
|
|
129
lib/Makefile.in
129
lib/Makefile.in
|
@ -63,9 +63,14 @@ PRE_UNINSTALL = :
|
|||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NROFF = @NROFF@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
PACKAGE = @PACKAGE@
|
||||
PERL = @PERL@
|
||||
RANLIB = @RANLIB@
|
||||
|
@ -74,35 +79,37 @@ YACC = @YACC@
|
|||
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies
|
||||
|
||||
noinst_LIBRARIES = libcurl.a
|
||||
lib_LTLIBRARIES = libcurl.la
|
||||
|
||||
# Some flags needed when trying to cause warnings ;-)
|
||||
CFLAGS = -g -Wall #-pedantic
|
||||
# CFLAGS = -g -Wall #-pedantic
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/include
|
||||
|
||||
libcurl_a_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h urldata.h download.c getdate.h ldap.c ssluse.c version.c download.h getenv.c ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c telnet.h writeout.c writeout.h highlevel.c strequal.c strequal.h easy.c
|
||||
libcurl_la_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h urldata.h download.c getdate.h ldap.c ssluse.c version.c download.h getenv.c ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c telnet.h writeout.c writeout.h highlevel.c strequal.c strequal.h easy.c
|
||||
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../config.h ../src/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir) -I.. -I../src
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
libcurl_a_LIBADD =
|
||||
libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \
|
||||
formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \
|
||||
speedcheck.o getdate.o download.o ldap.o ssluse.o version.o getenv.o \
|
||||
escape.o mprintf.o telnet.o getpass.o netrc.o writeout.o highlevel.o \
|
||||
strequal.o easy.o
|
||||
AR = ar
|
||||
libcurl_la_LDFLAGS =
|
||||
libcurl_la_LIBADD =
|
||||
libcurl_la_OBJECTS = file.lo timeval.lo base64.lo hostip.lo progress.lo \
|
||||
formdata.lo cookie.lo http.lo sendf.lo ftp.lo url.lo dict.lo if2ip.lo \
|
||||
speedcheck.lo getdate.lo download.lo ldap.lo ssluse.lo version.lo \
|
||||
getenv.lo escape.lo mprintf.lo telnet.lo getpass.lo netrc.lo \
|
||||
writeout.lo highlevel.lo strequal.lo easy.lo
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
|
@ -110,28 +117,44 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
|||
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(libcurl_a_SOURCES)
|
||||
OBJECTS = $(libcurl_a_OBJECTS)
|
||||
SOURCES = $(libcurl_la_SOURCES)
|
||||
OBJECTS = $(libcurl_la_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
.SUFFIXES: .S .c .lo .o .s
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps lib/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-noinstLIBRARIES:
|
||||
mostlyclean-libLTLIBRARIES:
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
|
||||
distclean-noinstLIBRARIES:
|
||||
distclean-libLTLIBRARIES:
|
||||
|
||||
maintainer-clean-noinstLIBRARIES:
|
||||
maintainer-clean-libLTLIBRARIES:
|
||||
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||
done
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
@ -152,10 +175,27 @@ distclean-compile:
|
|||
|
||||
maintainer-clean-compile:
|
||||
|
||||
libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES)
|
||||
-rm -f libcurl.a
|
||||
$(AR) cru libcurl.a $(libcurl_a_OBJECTS) $(libcurl_a_LIBADD)
|
||||
$(RANLIB) libcurl.a
|
||||
.c.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.s.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.S.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
|
||||
maintainer-clean-libtool:
|
||||
|
||||
libcurl.la: $(libcurl_la_OBJECTS) $(libcurl_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(libdir) $(libcurl_la_LDFLAGS) $(libcurl_la_OBJECTS) $(libcurl_la_LIBADD) $(LIBS)
|
||||
|
||||
tags: TAGS
|
||||
|
||||
|
@ -209,7 +249,7 @@ check-am: all-am
|
|||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am:
|
||||
install-exec-am: install-libLTLIBRARIES
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am:
|
||||
|
@ -218,13 +258,14 @@ install-data: install-data-am
|
|||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am:
|
||||
uninstall-am: uninstall-libLTLIBRARIES
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
@ -236,33 +277,39 @@ distclean-generic:
|
|||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-libtool mostlyclean-tags \
|
||||
mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean-am
|
||||
clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
|
||||
clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-noinstLIBRARIES distclean-compile \
|
||||
distclean-tags distclean-generic clean-am
|
||||
distclean-am: distclean-libLTLIBRARIES distclean-compile \
|
||||
distclean-libtool distclean-tags distclean-generic \
|
||||
clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean-am
|
||||
maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-libtool \
|
||||
maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
|
||||
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
|
||||
.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
|
||||
clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
|
||||
uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
|
||||
distclean-compile clean-compile maintainer-clean-compile \
|
||||
mostlyclean-libtool distclean-libtool clean-libtool \
|
||||
maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
|
||||
check-am installcheck-am installcheck install-exec-am install-exec \
|
||||
install-data-am install-data install-am install uninstall-am uninstall \
|
||||
|
|
111
lib/getdate.c
111
lib/getdate.c
|
@ -32,6 +32,10 @@
|
|||
** This code is in the public domain and has no copyright.
|
||||
*/
|
||||
|
||||
#define _REENTRANT /* Necessary to use in Solaris, since the silly guys at Sun
|
||||
made the localtime_r() prototype dependent on it (or
|
||||
_POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS). */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
|
@ -215,7 +219,7 @@ static int yyRelSeconds;
|
|||
static int yyRelYear;
|
||||
|
||||
|
||||
#line 198 "getdate.y"
|
||||
#line 202 "getdate.y"
|
||||
typedef union {
|
||||
int Number;
|
||||
enum _MERIDIAN Meridian;
|
||||
|
@ -298,11 +302,11 @@ static const short yyrhs[] = { -1,
|
|||
|
||||
#if YYDEBUG != 0
|
||||
static const short yyrline[] = { 0,
|
||||
214, 215, 218, 221, 224, 227, 230, 233, 236, 242,
|
||||
248, 257, 263, 275, 278, 281, 287, 291, 295, 301,
|
||||
305, 323, 329, 335, 339, 344, 348, 355, 363, 366,
|
||||
369, 372, 375, 378, 381, 384, 387, 390, 393, 396,
|
||||
399, 402, 405, 408, 411, 414, 417, 422, 455, 459
|
||||
218, 219, 222, 225, 228, 231, 234, 237, 240, 246,
|
||||
252, 261, 267, 279, 282, 285, 291, 295, 299, 305,
|
||||
309, 327, 333, 339, 343, 348, 352, 359, 367, 370,
|
||||
373, 376, 379, 382, 385, 388, 391, 394, 397, 400,
|
||||
403, 406, 409, 412, 415, 418, 421, 426, 459, 463
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -926,37 +930,37 @@ yyreduce:
|
|||
switch (yyn) {
|
||||
|
||||
case 3:
|
||||
#line 218 "getdate.y"
|
||||
#line 222 "getdate.y"
|
||||
{
|
||||
yyHaveTime++;
|
||||
;
|
||||
break;}
|
||||
case 4:
|
||||
#line 221 "getdate.y"
|
||||
#line 225 "getdate.y"
|
||||
{
|
||||
yyHaveZone++;
|
||||
;
|
||||
break;}
|
||||
case 5:
|
||||
#line 224 "getdate.y"
|
||||
#line 228 "getdate.y"
|
||||
{
|
||||
yyHaveDate++;
|
||||
;
|
||||
break;}
|
||||
case 6:
|
||||
#line 227 "getdate.y"
|
||||
#line 231 "getdate.y"
|
||||
{
|
||||
yyHaveDay++;
|
||||
;
|
||||
break;}
|
||||
case 7:
|
||||
#line 230 "getdate.y"
|
||||
#line 234 "getdate.y"
|
||||
{
|
||||
yyHaveRel++;
|
||||
;
|
||||
break;}
|
||||
case 9:
|
||||
#line 236 "getdate.y"
|
||||
#line 240 "getdate.y"
|
||||
{
|
||||
yyHour = yyvsp[-1].Number;
|
||||
yyMinutes = 0;
|
||||
|
@ -965,7 +969,7 @@ case 9:
|
|||
;
|
||||
break;}
|
||||
case 10:
|
||||
#line 242 "getdate.y"
|
||||
#line 246 "getdate.y"
|
||||
{
|
||||
yyHour = yyvsp[-3].Number;
|
||||
yyMinutes = yyvsp[-1].Number;
|
||||
|
@ -974,7 +978,7 @@ case 10:
|
|||
;
|
||||
break;}
|
||||
case 11:
|
||||
#line 248 "getdate.y"
|
||||
#line 252 "getdate.y"
|
||||
{
|
||||
yyHour = yyvsp[-3].Number;
|
||||
yyMinutes = yyvsp[-1].Number;
|
||||
|
@ -986,7 +990,7 @@ case 11:
|
|||
;
|
||||
break;}
|
||||
case 12:
|
||||
#line 257 "getdate.y"
|
||||
#line 261 "getdate.y"
|
||||
{
|
||||
yyHour = yyvsp[-5].Number;
|
||||
yyMinutes = yyvsp[-3].Number;
|
||||
|
@ -995,7 +999,7 @@ case 12:
|
|||
;
|
||||
break;}
|
||||
case 13:
|
||||
#line 263 "getdate.y"
|
||||
#line 267 "getdate.y"
|
||||
{
|
||||
yyHour = yyvsp[-5].Number;
|
||||
yyMinutes = yyvsp[-3].Number;
|
||||
|
@ -1008,53 +1012,53 @@ case 13:
|
|||
;
|
||||
break;}
|
||||
case 14:
|
||||
#line 275 "getdate.y"
|
||||
#line 279 "getdate.y"
|
||||
{
|
||||
yyTimezone = yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 15:
|
||||
#line 278 "getdate.y"
|
||||
#line 282 "getdate.y"
|
||||
{
|
||||
yyTimezone = yyvsp[0].Number - 60;
|
||||
;
|
||||
break;}
|
||||
case 16:
|
||||
#line 282 "getdate.y"
|
||||
#line 286 "getdate.y"
|
||||
{
|
||||
yyTimezone = yyvsp[-1].Number - 60;
|
||||
;
|
||||
break;}
|
||||
case 17:
|
||||
#line 287 "getdate.y"
|
||||
#line 291 "getdate.y"
|
||||
{
|
||||
yyDayOrdinal = 1;
|
||||
yyDayNumber = yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 18:
|
||||
#line 291 "getdate.y"
|
||||
#line 295 "getdate.y"
|
||||
{
|
||||
yyDayOrdinal = 1;
|
||||
yyDayNumber = yyvsp[-1].Number;
|
||||
;
|
||||
break;}
|
||||
case 19:
|
||||
#line 295 "getdate.y"
|
||||
#line 299 "getdate.y"
|
||||
{
|
||||
yyDayOrdinal = yyvsp[-1].Number;
|
||||
yyDayNumber = yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 20:
|
||||
#line 301 "getdate.y"
|
||||
#line 305 "getdate.y"
|
||||
{
|
||||
yyMonth = yyvsp[-2].Number;
|
||||
yyDay = yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 21:
|
||||
#line 305 "getdate.y"
|
||||
#line 309 "getdate.y"
|
||||
{
|
||||
/* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY.
|
||||
The goal in recognizing YYYY/MM/DD is solely to support legacy
|
||||
|
@ -1075,7 +1079,7 @@ case 21:
|
|||
;
|
||||
break;}
|
||||
case 22:
|
||||
#line 323 "getdate.y"
|
||||
#line 327 "getdate.y"
|
||||
{
|
||||
/* ISO 8601 format. yyyy-mm-dd. */
|
||||
yyYear = yyvsp[-2].Number;
|
||||
|
@ -1084,7 +1088,7 @@ case 22:
|
|||
;
|
||||
break;}
|
||||
case 23:
|
||||
#line 329 "getdate.y"
|
||||
#line 333 "getdate.y"
|
||||
{
|
||||
/* e.g. 17-JUN-1992. */
|
||||
yyDay = yyvsp[-2].Number;
|
||||
|
@ -1093,14 +1097,14 @@ case 23:
|
|||
;
|
||||
break;}
|
||||
case 24:
|
||||
#line 335 "getdate.y"
|
||||
#line 339 "getdate.y"
|
||||
{
|
||||
yyMonth = yyvsp[-1].Number;
|
||||
yyDay = yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 25:
|
||||
#line 339 "getdate.y"
|
||||
#line 343 "getdate.y"
|
||||
{
|
||||
yyMonth = yyvsp[-3].Number;
|
||||
yyDay = yyvsp[-2].Number;
|
||||
|
@ -1108,14 +1112,14 @@ case 25:
|
|||
;
|
||||
break;}
|
||||
case 26:
|
||||
#line 344 "getdate.y"
|
||||
#line 348 "getdate.y"
|
||||
{
|
||||
yyMonth = yyvsp[0].Number;
|
||||
yyDay = yyvsp[-1].Number;
|
||||
;
|
||||
break;}
|
||||
case 27:
|
||||
#line 348 "getdate.y"
|
||||
#line 352 "getdate.y"
|
||||
{
|
||||
yyMonth = yyvsp[-1].Number;
|
||||
yyDay = yyvsp[-2].Number;
|
||||
|
@ -1123,7 +1127,7 @@ case 27:
|
|||
;
|
||||
break;}
|
||||
case 28:
|
||||
#line 355 "getdate.y"
|
||||
#line 359 "getdate.y"
|
||||
{
|
||||
yyRelSeconds = -yyRelSeconds;
|
||||
yyRelMinutes = -yyRelMinutes;
|
||||
|
@ -1134,115 +1138,115 @@ case 28:
|
|||
;
|
||||
break;}
|
||||
case 30:
|
||||
#line 366 "getdate.y"
|
||||
#line 370 "getdate.y"
|
||||
{
|
||||
yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 31:
|
||||
#line 369 "getdate.y"
|
||||
#line 373 "getdate.y"
|
||||
{
|
||||
yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 32:
|
||||
#line 372 "getdate.y"
|
||||
#line 376 "getdate.y"
|
||||
{
|
||||
yyRelYear += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 33:
|
||||
#line 375 "getdate.y"
|
||||
#line 379 "getdate.y"
|
||||
{
|
||||
yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 34:
|
||||
#line 378 "getdate.y"
|
||||
#line 382 "getdate.y"
|
||||
{
|
||||
yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 35:
|
||||
#line 381 "getdate.y"
|
||||
#line 385 "getdate.y"
|
||||
{
|
||||
yyRelMonth += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 36:
|
||||
#line 384 "getdate.y"
|
||||
#line 388 "getdate.y"
|
||||
{
|
||||
yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 37:
|
||||
#line 387 "getdate.y"
|
||||
#line 391 "getdate.y"
|
||||
{
|
||||
yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 38:
|
||||
#line 390 "getdate.y"
|
||||
#line 394 "getdate.y"
|
||||
{
|
||||
yyRelDay += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 39:
|
||||
#line 393 "getdate.y"
|
||||
#line 397 "getdate.y"
|
||||
{
|
||||
yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 40:
|
||||
#line 396 "getdate.y"
|
||||
#line 400 "getdate.y"
|
||||
{
|
||||
yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 41:
|
||||
#line 399 "getdate.y"
|
||||
#line 403 "getdate.y"
|
||||
{
|
||||
yyRelHour += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 42:
|
||||
#line 402 "getdate.y"
|
||||
#line 406 "getdate.y"
|
||||
{
|
||||
yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 43:
|
||||
#line 405 "getdate.y"
|
||||
#line 409 "getdate.y"
|
||||
{
|
||||
yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 44:
|
||||
#line 408 "getdate.y"
|
||||
#line 412 "getdate.y"
|
||||
{
|
||||
yyRelMinutes += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 45:
|
||||
#line 411 "getdate.y"
|
||||
#line 415 "getdate.y"
|
||||
{
|
||||
yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 46:
|
||||
#line 414 "getdate.y"
|
||||
#line 418 "getdate.y"
|
||||
{
|
||||
yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 47:
|
||||
#line 417 "getdate.y"
|
||||
#line 421 "getdate.y"
|
||||
{
|
||||
yyRelSeconds += yyvsp[0].Number;
|
||||
;
|
||||
break;}
|
||||
case 48:
|
||||
#line 423 "getdate.y"
|
||||
#line 427 "getdate.y"
|
||||
{
|
||||
if (yyHaveTime && yyHaveDate && !yyHaveRel)
|
||||
yyYear = yyvsp[0].Number;
|
||||
|
@ -1275,13 +1279,13 @@ case 48:
|
|||
;
|
||||
break;}
|
||||
case 49:
|
||||
#line 456 "getdate.y"
|
||||
#line 460 "getdate.y"
|
||||
{
|
||||
yyval.Meridian = MER24;
|
||||
;
|
||||
break;}
|
||||
case 50:
|
||||
#line 460 "getdate.y"
|
||||
#line 464 "getdate.y"
|
||||
{
|
||||
yyval.Meridian = yyvsp[0].Meridian;
|
||||
;
|
||||
|
@ -1508,7 +1512,7 @@ yyerrhandle:
|
|||
}
|
||||
return 1;
|
||||
}
|
||||
#line 465 "getdate.y"
|
||||
#line 469 "getdate.y"
|
||||
|
||||
|
||||
/* Include this file down here because bison inserts code above which
|
||||
|
@ -1518,7 +1522,6 @@ yyerrhandle:
|
|||
|
||||
extern struct tm *gmtime ();
|
||||
extern struct tm *localtime ();
|
||||
extern struct tm *localtime_r (time_t *, struct tm *);
|
||||
extern time_t mktime ();
|
||||
|
||||
/* Month and day table. */
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
** This code is in the public domain and has no copyright.
|
||||
*/
|
||||
|
||||
#define _REENTRANT /* Necessary to use in Solaris, since the silly guys at Sun
|
||||
made the localtime_r() prototype dependent on it (or
|
||||
_POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS). */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
# ifdef HAVE_ALLOCA_H
|
||||
|
@ -471,7 +475,6 @@ o_merid : /* NULL */
|
|||
|
||||
extern struct tm *gmtime ();
|
||||
extern struct tm *localtime ();
|
||||
extern struct tm *localtime_r (time_t *, struct tm *);
|
||||
extern time_t mktime ();
|
||||
|
||||
/* Month and day table. */
|
||||
|
|
11
lib/http.c
11
lib/http.c
|
@ -38,6 +38,10 @@
|
|||
* ------------------------------------------------------------
|
||||
****************************************************************************/
|
||||
|
||||
#define _REENTRANT /* Necessary to use in Solaris, since the silly guys at Sun
|
||||
made the localtime_r() prototype dependent on it (or
|
||||
_POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS). */
|
||||
|
||||
/* -- WIN32 approved -- */
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -62,6 +66,12 @@
|
|||
#include <netinet/in.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#ifdef HAVE_TIME_H
|
||||
#ifdef TIME_WITH_SYS_TIME
|
||||
#include <time.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <sys/resource.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
|
@ -362,7 +372,6 @@ CURLcode http(struct connectdata *conn)
|
|||
struct tm *thistime;
|
||||
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
extern struct tm *localtime_r(time_t *, struct tm *);
|
||||
/* thread-safe version */
|
||||
struct tm keeptime;
|
||||
thistime = localtime_r(&data->timevalue, &keeptime);
|
||||
|
|
473
src/hugehelp.c
473
src/hugehelp.c
|
@ -80,184 +80,196 @@ puts (
|
|||
" To store cookies, save the HTTP headers to a file using\n"
|
||||
" -D/--dump-header!\n"
|
||||
"\n"
|
||||
" -B/--ftp-ascii\n"
|
||||
" (FTP/LDAP) Use ASCII transfer when getting an FTP file\n"
|
||||
" or LDAP info. For FTP, this can also be enforced by\n"
|
||||
" using an URL that ends with \";type=A\".\n"
|
||||
" -B/--use-ascii\n"
|
||||
" Use ASCII transfer when getting an FTP file or LDAP\n"
|
||||
" info. For FTP, this can also be enforced by using an\n"
|
||||
" URL that ends with \";type=A\". This option causes data\n"
|
||||
" sent to stdout to be in text mode for win32 systems.\n"
|
||||
"\n"
|
||||
" -c/--continue\n"
|
||||
" Continue/Resume a previous file transfer. This\n"
|
||||
" instructs curl to continue appending data on the file\n"
|
||||
" where it was previously left, possibly because of a\n"
|
||||
" broken connection to the server. There must be a named\n"
|
||||
" physical file to append to for this to work. Note:\n"
|
||||
" Upload resume is depening on a command named SIZE not\n"
|
||||
" Continue/Resume a previous file transfer. This\n"
|
||||
" instructs curl to continue appending data on the file\n"
|
||||
" where it was previously left, possibly because of a\n"
|
||||
" broken connection to the server. There must be a named\n"
|
||||
" physical file to append to for this to work. Note:\n"
|
||||
" Upload resume is depening on a command named SIZE not\n"
|
||||
" always present in all ftp servers! Upload resume is for\n"
|
||||
" FTP only. HTTP resume is only possible with HTTP/1.1\n"
|
||||
" FTP only. HTTP resume is only possible with HTTP/1.1\n"
|
||||
" or later servers.\n"
|
||||
"\n"
|
||||
" -C/--continue-at <offset>\n"
|
||||
" Continue/Resume a previous file transfer at the given\n"
|
||||
" offset. The given offset is the exact number of bytes\n"
|
||||
" that will be skipped counted from the beginning of the\n"
|
||||
" Continue/Resume a previous file transfer at the given\n"
|
||||
" offset. The given offset is the exact number of bytes\n"
|
||||
" that will be skipped counted from the beginning of the\n"
|
||||
" source file before it is transfered to the destination.\n"
|
||||
" If used with uploads, the ftp server command SIZE will\n"
|
||||
" not be used by curl. Upload resume is for FTP only.\n"
|
||||
" HTTP resume is only possible with HTTP/1.1 or later\n"
|
||||
" If used with uploads, the ftp server command SIZE will\n"
|
||||
" not be used by curl. Upload resume is for FTP only.\n"
|
||||
" HTTP resume is only possible with HTTP/1.1 or later\n"
|
||||
" servers.\n"
|
||||
"\n"
|
||||
" -d/--data <data>\n"
|
||||
" (HTTP) Sends the specified data in a POST request to\n"
|
||||
" the HTTP server. Note that the data is sent exactly as\n"
|
||||
" (HTTP) Sends the specified data in a POST request to\n"
|
||||
" the HTTP server. Note that the data is sent exactly as\n"
|
||||
" specified with no extra processing. The data is\n"
|
||||
" expected to be \"url-encoded\". This will cause curl to\n"
|
||||
" pass the data to the server using the content-type\n"
|
||||
" expected to be \"url-encoded\". This will cause curl to\n"
|
||||
" pass the data to the server using the content-type\n"
|
||||
" application/x-www-form-urlencoded. Compare to -F.\n"
|
||||
"\n"
|
||||
" If you start the data with the letter @, the rest\n"
|
||||
" should be a file name to read the data from, or - if\n"
|
||||
" you want curl to read the data from stdin. The con\n"
|
||||
" If you start the data with the letter @, the rest\n"
|
||||
" should be a file name to read the data from, or - if\n"
|
||||
" you want curl to read the data from stdin. The con\n"
|
||||
" tents of the file must already be url-encoded.\n"
|
||||
"\n"
|
||||
" -D/--dump-header <file>\n"
|
||||
" (HTTP/FTP) Write the HTTP headers to this file. Write\n"
|
||||
" (HTTP/FTP) Write the HTTP headers to this file. Write\n"
|
||||
" the FTP file info to this file if -I/--head is used.\n"
|
||||
"\n"
|
||||
" This option is handy to use when you want to store the\n"
|
||||
" cookies that a HTTP site sends to you. The cookies\n"
|
||||
" This option is handy to use when you want to store the\n"
|
||||
" cookies that a HTTP site sends to you. The cookies\n"
|
||||
" could then be read in a second curl invoke by using the\n"
|
||||
" -b/--cookie option!\n"
|
||||
"\n"
|
||||
" -e/--referer <URL>\n"
|
||||
" (HTTP) Sends the \"Referer Page\" information to the HTTP\n"
|
||||
" server. Some badly done CGIs fail if it's not set. This\n"
|
||||
" can also be set with the -H/--header flag of course.\n"
|
||||
" server. This can also be set with the -H/--header flag\n"
|
||||
" of course. When used with -L/--location you can append\n"
|
||||
" \";auto\" to the referer URL to make curl automatically\n"
|
||||
" set the previous URL when it follows a Location:\n"
|
||||
" header. The \";auto\" string can be used alone, even if\n"
|
||||
" you don't set an initial referer.\n"
|
||||
"\n"
|
||||
" -E/--cert <certificate[:password]>\n"
|
||||
" (HTTPS) Tells curl to use the specified certificate\n"
|
||||
" file when getting a file with HTTPS. The certificate\n"
|
||||
" must be in PEM format. If the optional password isn't\n"
|
||||
" (HTTPS) Tells curl to use the specified certificate\n"
|
||||
" file when getting a file with HTTPS. The certificate\n"
|
||||
" must be in PEM format. If the optional password isn't\n"
|
||||
" specified, it will be queried for on the terminal. Note\n"
|
||||
" that this certificate is the private key and the pri\n"
|
||||
" that this certificate is the private key and the pri\n"
|
||||
" vate certificate concatenated!\n"
|
||||
"\n"
|
||||
" -f/--fail\n"
|
||||
" (HTTP) Fail silently (no output at all) on server\n"
|
||||
" errors. This is mostly done like this to better enable\n"
|
||||
" scripts etc to better deal with failed attempts. In\n"
|
||||
" (HTTP) Fail silently (no output at all) on server\n"
|
||||
" errors. This is mostly done like this to better enable\n"
|
||||
" scripts etc to better deal with failed attempts. In\n"
|
||||
" normal cases when a HTTP server fails to deliver a doc\n"
|
||||
" ument, it returns a HTML document stating so (which\n"
|
||||
" ument, it returns a HTML document stating so (which\n"
|
||||
" often also describes why and more). This flag will pre\n"
|
||||
" vent curl from outputting that and fail silently\n"
|
||||
" instead.\n"
|
||||
"\n"
|
||||
" -F/--form <name=content>\n"
|
||||
" (HTTP) This lets curl emulate a filled in form in which\n"
|
||||
" a user has pressed the submit button. This causes curl\n"
|
||||
" a user has pressed the submit button. This causes curl\n"
|
||||
" to POST data using the content-type multipart/form-data\n"
|
||||
" according to RFC1867. This enables uploading of binary\n"
|
||||
" files etc. To force the 'content' part to be read from\n"
|
||||
" a file, prefix the file name with an @ sign. Example,\n"
|
||||
" to send your password file to the server, where 'pass\n"
|
||||
" word' is the name of the form-field to which\n"
|
||||
" /etc/passwd will be the input:\n"
|
||||
" according to RFC1867. This enables uploading of binary\n"
|
||||
" files etc. To force the 'content' part to be be a file,\n"
|
||||
" prefix the file name with an @ sign. To just get the\n"
|
||||
" content part from a file, prefix the file name with the\n"
|
||||
" letter <. The difference between @ and < is then that @\n"
|
||||
" makes a file get attached in the post as a file upload,\n"
|
||||
" while the < makes a text field and just get the con\n"
|
||||
" tents for that text field from a file.\n"
|
||||
"\n"
|
||||
" Example, to send your password file to the server,\n"
|
||||
" where input:\n"
|
||||
"\n"
|
||||
" curl -F password=@/etc/passwd www.mypasswords.com\n"
|
||||
"\n"
|
||||
" To read the file's content from stdin insted of a file,\n"
|
||||
" use - where the file name should've been.\n"
|
||||
" use - where the file name should've been. This goes for\n"
|
||||
" both @ and < constructs.\n"
|
||||
"\n"
|
||||
" -h/--help\n"
|
||||
" Usage help.\n"
|
||||
"\n"
|
||||
" -H/--header <header>\n"
|
||||
" (HTTP) Extra header to use when getting a web page. You\n"
|
||||
" may specify any number of extra headers. Note that if\n"
|
||||
" you should add a custom header that has the same name\n"
|
||||
" may specify any number of extra headers. Note that if\n"
|
||||
" you should add a custom header that has the same name\n"
|
||||
" as one of the internal ones curl would use, your exter\n"
|
||||
" nally set header will be used instead of the internal\n"
|
||||
" one. This allows you to make even trickier stuff than\n"
|
||||
" curl would normally do. You should not replace inter\n"
|
||||
" nally set headers without knowing perfectly well what\n"
|
||||
" nally set header will be used instead of the internal\n"
|
||||
" one. This allows you to make even trickier stuff than\n"
|
||||
" curl would normally do. You should not replace inter\n"
|
||||
" nally set headers without knowing perfectly well what\n"
|
||||
" you're doing.\n"
|
||||
"\n"
|
||||
" -i/--include\n"
|
||||
" (HTTP) Include the HTTP-header in the output. The HTTP-\n"
|
||||
" header includes things like server-name, date of the\n"
|
||||
" header includes things like server-name, date of the\n"
|
||||
" document, HTTP-version and more...\n"
|
||||
"\n"
|
||||
" -I/--head\n"
|
||||
" (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n"
|
||||
" (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n"
|
||||
" feature the command HEAD which this uses to get nothing\n"
|
||||
" but the header of a document. When used on a FTP file,\n"
|
||||
" but the header of a document. When used on a FTP file,\n"
|
||||
" curl displays the file size only.\n"
|
||||
"\n"
|
||||
" -K/--config <config file>\n"
|
||||
" Specify which config file to read curl arguments from.\n"
|
||||
" The config file is a text file in which command line\n"
|
||||
" arguments can be written which then will be used as if\n"
|
||||
" they were written on the actual command line. If the\n"
|
||||
" first column of a config line is a '#' character, the\n"
|
||||
" Specify which config file to read curl arguments from.\n"
|
||||
" The config file is a text file in which command line\n"
|
||||
" arguments can be written which then will be used as if\n"
|
||||
" they were written on the actual command line. If the\n"
|
||||
" first column of a config line is a '#' character, the\n"
|
||||
" rest of the line will be treated as a comment.\n"
|
||||
"\n"
|
||||
" Specify the filename as '-' to make curl read the file\n"
|
||||
" Specify the filename as '-' to make curl read the file\n"
|
||||
" from stdin.\n"
|
||||
"\n"
|
||||
" -l/--list-only\n"
|
||||
" (FTP) When listing an FTP directory, this switch forces\n"
|
||||
" a name-only view. Especially useful if you want to\n"
|
||||
" machine-parse the contents of an FTP directory since\n"
|
||||
" the normal directory view doesn't use a standard look\n"
|
||||
" a name-only view. Especially useful if you want to\n"
|
||||
" machine-parse the contents of an FTP directory since\n"
|
||||
" the normal directory view doesn't use a standard look\n"
|
||||
" or format.\n"
|
||||
"\n"
|
||||
" -L/--location\n"
|
||||
" (HTTP/HTTPS) If the server reports that the requested\n"
|
||||
" page has a different location (indicated with the\n"
|
||||
" header line Location:) this flag will let curl attempt\n"
|
||||
" (HTTP/HTTPS) If the server reports that the requested\n"
|
||||
" page has a different location (indicated with the\n"
|
||||
" header line Location:) this flag will let curl attempt\n"
|
||||
" to reattempt the get on the new place. If used together\n"
|
||||
" with -i or -I, headers from all requested pages will be\n"
|
||||
);
|
||||
puts(
|
||||
" shown.\n"
|
||||
"\n"
|
||||
" -m/--max-time <seconds>\n"
|
||||
" Maximum time in seconds that you allow the whole opera\n"
|
||||
" tion to take. This is useful for preventing your batch\n"
|
||||
" jobs from hanging for hours due to slow networks or\n"
|
||||
" links going down. This doesn't work properly in win32\n"
|
||||
" jobs from hanging for hours due to slow networks or\n"
|
||||
" links going down. This doesn't work properly in win32\n"
|
||||
" systems.\n"
|
||||
"\n"
|
||||
" -M/--manual\n"
|
||||
" Manual. Display the huge help text.\n"
|
||||
"\n"
|
||||
" -n/--netrc\n"
|
||||
" Makes curl scan the .netrc file in the user's home\n"
|
||||
" directory for login name and password. This is typi\n"
|
||||
" cally used for ftp on unix. If used with http, curl\n"
|
||||
);
|
||||
puts(
|
||||
" will enable user authentication. See netrc(5) for\n"
|
||||
" details on the file format. Curl will not complain if\n"
|
||||
" that file hasn't the right permissions (it should not\n"
|
||||
" be world nor group readable). The environment variable\n"
|
||||
" Makes curl scan the .netrc file in the user's home\n"
|
||||
" directory for login name and password. This is typi\n"
|
||||
" cally used for ftp on unix. If used with http, curl\n"
|
||||
" will enable user authentication. See netrc(4) for\n"
|
||||
" details on the file format. Curl will not complain if\n"
|
||||
" that file hasn't the right permissions (it should not\n"
|
||||
" be world nor group readable). The environment variable\n"
|
||||
" \"HOME\" is used to find the home directory.\n"
|
||||
"\n"
|
||||
" A quick and very simple example of how to setup a\n"
|
||||
" .netrc to allow curl to ftp to the machine\n"
|
||||
" A quick and very simple example of how to setup a\n"
|
||||
" .netrc to allow curl to ftp to the machine\n"
|
||||
" host.domain.com with user name\n"
|
||||
"\n"
|
||||
" machine host.domain.com login myself password secret\n"
|
||||
"\n"
|
||||
" -N/--no-buffer\n"
|
||||
" Disables the buffering of the output stream. In normal\n"
|
||||
" Disables the buffering of the output stream. In normal\n"
|
||||
" work situations, curl will use a standard buffered out\n"
|
||||
" put stream that will have the effect that it will out\n"
|
||||
" put the data in chunks, not necessarily exactly when\n"
|
||||
" the data arrives. Using this option will disable that\n"
|
||||
" put stream that will have the effect that it will out\n"
|
||||
" put the data in chunks, not necessarily exactly when\n"
|
||||
" the data arrives. Using this option will disable that\n"
|
||||
" buffering.\n"
|
||||
"\n"
|
||||
" -o/--output <file>\n"
|
||||
" Write output to <file> instead of stdout. If you are\n"
|
||||
" Write output to <file> instead of stdout. If you are\n"
|
||||
" using {} or [] to fetch multiple documents, you can use\n"
|
||||
" '#' followed by a number in the <file> specifier. That\n"
|
||||
" variable will be replaced with the current string for\n"
|
||||
" '#' followed by a number in the <file> specifier. That\n"
|
||||
" variable will be replaced with the current string for\n"
|
||||
" the URL being fetched. Like in:\n"
|
||||
"\n"
|
||||
" curl http://{one,two}.site.com -o \"file_#1.txt\"\n"
|
||||
|
@ -272,14 +284,14 @@ puts (
|
|||
" the path is cut off.)\n"
|
||||
"\n"
|
||||
" -P/--ftpport <address>\n"
|
||||
" (FTP) Reverses the initiator/listener roles when con\n"
|
||||
" necting with ftp. This switch makes Curl use the PORT\n"
|
||||
" command instead of PASV. In practice, PORT tells the\n"
|
||||
" (FTP) Reverses the initiator/listener roles when con\n"
|
||||
" necting with ftp. This switch makes Curl use the PORT\n"
|
||||
" command instead of PASV. In practice, PORT tells the\n"
|
||||
" server to connect to the client's specified address and\n"
|
||||
" port, while PASV asks the server for an ip address and\n"
|
||||
" port, while PASV asks the server for an ip address and\n"
|
||||
" port to connect to. <address> should be one of:\n"
|
||||
"\n"
|
||||
" interface i.e \"eth0\" to specify which interface's IP\n"
|
||||
" interface i.e \"eth0\" to specify which interface's IP\n"
|
||||
" address you want to use (Unix only)\n"
|
||||
"\n"
|
||||
" IP address i.e \"192.168.10.1\" to specify exact IP num\n"
|
||||
|
@ -287,28 +299,28 @@ puts (
|
|||
"\n"
|
||||
" host name i.e \"my.host.domain\" to specify machine\n"
|
||||
"\n"
|
||||
" - (any single-letter string) to make it pick\n"
|
||||
" - (any single-letter string) to make it pick\n"
|
||||
" the machine's default\n"
|
||||
"\n"
|
||||
" -q If used as the first parameter on the command line, the\n"
|
||||
" $HOME/.curlrc file will not be read and used as a con\n"
|
||||
" $HOME/.curlrc file will not be read and used as a con\n"
|
||||
" fig file.\n"
|
||||
"\n"
|
||||
" -Q/--quote <comand>\n"
|
||||
" (FTP) Send an arbitrary command to the remote FTP\n"
|
||||
" server, by using the QUOTE command of the server. Not\n"
|
||||
" all servers support this command, and the set of QUOTE\n"
|
||||
" commands are server specific! Quote commands are sent\n"
|
||||
" BEFORE the transfer is taking place. To make commands\n"
|
||||
" take place after a successful transfer, prefix them\n"
|
||||
" (FTP) Send an arbitrary command to the remote FTP\n"
|
||||
" server, by using the QUOTE command of the server. Not\n"
|
||||
" all servers support this command, and the set of QUOTE\n"
|
||||
" commands are server specific! Quote commands are sent\n"
|
||||
" BEFORE the transfer is taking place. To make commands\n"
|
||||
" take place after a successful transfer, prefix them\n"
|
||||
" with a dash '-'. You may specify any amount of commands\n"
|
||||
" to be run before and after the transfer. If the server\n"
|
||||
" returns failure for one of the commands, the entire\n"
|
||||
" to be run before and after the transfer. If the server\n"
|
||||
" returns failure for one of the commands, the entire\n"
|
||||
" operation will be aborted.\n"
|
||||
"\n"
|
||||
" -r/--range <range>\n"
|
||||
" (HTTP/FTP) Retrieve a byte range (i.e a partial docu\n"
|
||||
" ment) from a HTTP/1.1 or FTP server. Ranges can be\n"
|
||||
" (HTTP/FTP) Retrieve a byte range (i.e a partial docu\n"
|
||||
" ment) from a HTTP/1.1 or FTP server. Ranges can be\n"
|
||||
" specified in a number of ways.\n"
|
||||
"\n"
|
||||
" 0-499 specifies the first 500 bytes\n"
|
||||
|
@ -321,165 +333,167 @@ puts (
|
|||
" ward\n"
|
||||
"\n"
|
||||
" 0-0,-1 specifies the first and last byte only(*)(H)\n"
|
||||
"\n"
|
||||
" 500-700,600-799\n"
|
||||
" specifies 300 bytes from offset 500(H)\n"
|
||||
"\n"
|
||||
" 100-199,500-599\n"
|
||||
" specifies two separate 100 bytes ranges(*)(H)\n"
|
||||
"\n"
|
||||
" (*) = NOTE that this will cause the server to reply with a\n"
|
||||
" (*) = NOTE that this will cause the server to reply with a\n"
|
||||
" multipart response!\n"
|
||||
"\n"
|
||||
" You should also be aware that many HTTP/1.1 servers do not\n"
|
||||
" You should also be aware that many HTTP/1.1 servers do not\n"
|
||||
" have this feature enabled, so that when you attempt to get a\n"
|
||||
" range, you'll instead get the whole document.\n"
|
||||
"\n"
|
||||
" FTP range downloads only support the simple syntax 'start-\n"
|
||||
" stop' (optionally with one of the numbers omitted). It\n"
|
||||
" FTP range downloads only support the simple syntax 'start-\n"
|
||||
" stop' (optionally with one of the numbers omitted). It\n"
|
||||
" depends on the non-RFC command SIZE.\n"
|
||||
"\n"
|
||||
" -s/--silent\n"
|
||||
" Silent mode. Don't show progress meter or error mes\n"
|
||||
" Silent mode. Don't show progress meter or error mes\n"
|
||||
" sages. Makes Curl mute.\n"
|
||||
"\n"
|
||||
" -S/--show-error\n"
|
||||
" When used with -s it makes curl show error message if\n"
|
||||
" When used with -s it makes curl show error message if\n"
|
||||
" it fails.\n"
|
||||
"\n"
|
||||
" -t/--upload\n"
|
||||
" Transfer the stdin data to the specified file. Curl\n"
|
||||
" will read everything from stdin until EOF and store\n"
|
||||
" with the supplied name. If this is used on a http(s)\n"
|
||||
" Transfer the stdin data to the specified file. Curl\n"
|
||||
" will read everything from stdin until EOF and store\n"
|
||||
" with the supplied name. If this is used on a http(s)\n"
|
||||
" server, the PUT command will be used.\n"
|
||||
"\n"
|
||||
" -T/--upload-file <file>\n"
|
||||
" Like -t, but this transfers the specified local file.\n"
|
||||
" If there is no file part in the specified URL, Curl\n"
|
||||
" Like -t, but this transfers the specified local file.\n"
|
||||
" If there is no file part in the specified URL, Curl\n"
|
||||
" will append the local file name. NOTE that you must use\n"
|
||||
" a trailing / on the last directory to really prove to\n"
|
||||
" a trailing / on the last directory to really prove to\n"
|
||||
" Curl that there is no file name or curl will think that\n"
|
||||
" your last directory name is the remote file name to\n"
|
||||
" use. That will most likely cause the upload operation\n"
|
||||
" to fail. If this is used on a http(s) server, the PUT\n"
|
||||
" your last directory name is the remote file name to\n"
|
||||
" use. That will most likely cause the upload operation\n"
|
||||
" to fail. If this is used on a http(s) server, the PUT\n"
|
||||
" command will be used.\n"
|
||||
"\n"
|
||||
" -u/--user <user:password>\n"
|
||||
" Specify user and password to use when fetching. See\n"
|
||||
" README.curl for detailed examples of how to use this.\n"
|
||||
" If no password is specified, curl will ask for it\n"
|
||||
" Specify user and password to use when fetching. See\n"
|
||||
" README.curl for detailed examples of how to use this.\n"
|
||||
" If no password is specified, curl will ask for it\n"
|
||||
" interactively.\n"
|
||||
"\n"
|
||||
" -U/--proxy-user <user:password>\n"
|
||||
" Specify user and password to use for Proxy authentica\n"
|
||||
" Specify user and password to use for Proxy authentica\n"
|
||||
" tion. If no password is specified, curl will ask for it\n"
|
||||
" interactively.\n"
|
||||
"\n"
|
||||
" -v/--verbose\n"
|
||||
" Makes the fetching more verbose/talkative. Mostly\n"
|
||||
" usable for debugging. Lines starting with '>' means\n"
|
||||
" Makes the fetching more verbose/talkative. Mostly\n"
|
||||
" usable for debugging. Lines starting with '>' means\n"
|
||||
" data sent by curl, '<' means data received by curl that\n"
|
||||
" is hidden in normal cases and lines starting with '*'\n"
|
||||
" is hidden in normal cases and lines starting with '*'\n"
|
||||
" means additional info provided by curl.\n"
|
||||
"\n"
|
||||
" -V/--version\n"
|
||||
" Displays the full version of curl, libcurl and other\n"
|
||||
" Displays the full version of curl, libcurl and other\n"
|
||||
" 3rd party libraries linked with the executable.\n"
|
||||
"\n"
|
||||
" -w/--write-out <format>\n"
|
||||
" Defines what to display after a completed and success\n"
|
||||
" ful operation. The format is a string that may contain\n"
|
||||
" plain text mixed with any number of variables. The\n"
|
||||
" Defines what to display after a completed and success\n"
|
||||
" ful operation. The format is a string that may contain\n"
|
||||
" plain text mixed with any number of variables. The\n"
|
||||
" string can be specified as \"string\", to get read from a\n"
|
||||
" particular file you specify it \"@filename\" and to tell\n"
|
||||
" particular file you specify it \"@filename\" and to tell\n"
|
||||
" curl to read the format from stdin you write \"@-\".\n"
|
||||
"\n"
|
||||
" The variables present in the output format will be sub\n"
|
||||
" stituted by the value or text that curl thinks fit, as\n"
|
||||
" stituted by the value or text that curl thinks fit, as\n"
|
||||
" described below. All variables are specified like\n"
|
||||
" %{variable_name} and to output a normal % you just\n"
|
||||
" write them like %%. You can output a newline by using\n"
|
||||
" %{variable_name} and to output a normal % you just\n"
|
||||
" write them like %%. You can output a newline by using\n"
|
||||
" \\n, a carrige return with \\r and a tab space with \\t.\n"
|
||||
"\n"
|
||||
" NOTE: The %-letter is a special letter in the\n"
|
||||
" win32-environment, where all occurrences of % must be\n"
|
||||
" NOTE: The %-letter is a special letter in the\n"
|
||||
" win32-environment, where all occurrences of % must be\n"
|
||||
" doubled when using this option.\n"
|
||||
"\n"
|
||||
" Available variables are at this point:\n"
|
||||
"\n"
|
||||
" url_effective The URL that was fetched last. This is\n"
|
||||
" url_effective The URL that was fetched last. This is\n"
|
||||
" mostly meaningful if you've told curl to\n"
|
||||
" follow location: headers.\n"
|
||||
"\n"
|
||||
" http_code The numerical code that was found in the\n"
|
||||
" last retrieved HTTP(S) page.\n"
|
||||
"\n"
|
||||
" time_total The total time, in seconds, that the\n"
|
||||
" full operation lasted. The time will be\n"
|
||||
" time_total The total time, in seconds, that the\n"
|
||||
" full operation lasted. The time will be\n"
|
||||
" displayed with millisecond resolution.\n"
|
||||
"\n"
|
||||
" time_namelookup\n"
|
||||
" The time, in seconds, it took from the\n"
|
||||
" start until the name resolving was com\n"
|
||||
" The time, in seconds, it took from the\n"
|
||||
" start until the name resolving was com\n"
|
||||
" pleted.\n"
|
||||
"\n"
|
||||
" time_connect The time, in seconds, it took from the\n"
|
||||
" start until the connect to the remote\n"
|
||||
" time_connect The time, in seconds, it took from the\n"
|
||||
" start until the connect to the remote\n"
|
||||
" host (or proxy) was completed.\n"
|
||||
"\n"
|
||||
" time_pretransfer\n"
|
||||
" The time, in seconds, it took from the\n"
|
||||
" start until the file transfer is just\n"
|
||||
" about to begin. This includes all pre-\n"
|
||||
" transfer commands and negotiations that\n"
|
||||
" are specific to the particular proto\n"
|
||||
" The time, in seconds, it took from the\n"
|
||||
" start until the file transfer is just\n"
|
||||
" about to begin. This includes all pre-\n"
|
||||
" transfer commands and negotiations that\n"
|
||||
" are specific to the particular proto\n"
|
||||
" col(s) involved.\n"
|
||||
"\n"
|
||||
" size_download The total amount of bytes that were\n"
|
||||
" size_download The total amount of bytes that were\n"
|
||||
" downloaded.\n"
|
||||
"\n"
|
||||
" size_upload The total amount of bytes that were\n"
|
||||
" size_upload The total amount of bytes that were\n"
|
||||
" uploaded.\n"
|
||||
"\n"
|
||||
" speed_download The average download speed that curl\n"
|
||||
" speed_download The average download speed that curl\n"
|
||||
" measured for the complete download.\n"
|
||||
"\n"
|
||||
" speed_upload The average upload speed that curl mea\n"
|
||||
" speed_upload The average upload speed that curl mea\n"
|
||||
" sured for the complete download.\n"
|
||||
"\n"
|
||||
" -x/--proxy <proxyhost[:port]>\n"
|
||||
" Use specified proxy. If the port number is not speci\n"
|
||||
" Use specified proxy. If the port number is not speci\n"
|
||||
" fied, it is assumed at port 1080.\n"
|
||||
"\n"
|
||||
" -X/--request <command>\n"
|
||||
" (HTTP) Specifies a custom request to use when communi\n"
|
||||
" cating with the HTTP server. The specified request\n"
|
||||
" (HTTP) Specifies a custom request to use when communi\n"
|
||||
" cating with the HTTP server. The specified request\n"
|
||||
" will be used instead of the standard GET. Read the HTTP\n"
|
||||
" 1.1 specification for details and explanations.\n"
|
||||
"\n"
|
||||
" (FTP) Specifies a custom FTP command to use instead of\n"
|
||||
" (FTP) Specifies a custom FTP command to use instead of\n"
|
||||
);
|
||||
puts(
|
||||
" LIST when doing file lists with ftp.\n"
|
||||
"\n"
|
||||
" -y/--speed-time <time>\n"
|
||||
" If a download is slower than speed-limit bytes per sec\n"
|
||||
" ond during a speed-time period, the download gets\n"
|
||||
" ond during a speed-time period, the download gets\n"
|
||||
" aborted. If speed-time is used, the default speed-limit\n"
|
||||
" will be 1 unless set with -y.\n"
|
||||
"\n"
|
||||
" -Y/--speed-limit <speed>\n"
|
||||
" If a download is slower than this given speed, in bytes\n"
|
||||
" per second, for speed-time seconds it gets aborted.\n"
|
||||
" per second, for speed-time seconds it gets aborted.\n"
|
||||
" speed-time is set with -Y and is 30 if not set.\n"
|
||||
"\n"
|
||||
" -z/--time-cond <date expression>\n"
|
||||
" (HTTP) Request to get a file that has been modified\n"
|
||||
);
|
||||
puts(
|
||||
" later than the given time and date, or one that has\n"
|
||||
" (HTTP) Request to get a file that has been modified\n"
|
||||
" later than the given time and date, or one that has\n"
|
||||
" been modified before that time. The date expression can\n"
|
||||
" be all sorts of date strings or if it doesn't match any\n"
|
||||
" internal ones, it tries to get the time from a given\n"
|
||||
" file name instead! See the GNU date(1) man page for\n"
|
||||
" internal ones, it tries to get the time from a given\n"
|
||||
" file name instead! See the GNU date(1) man page for\n"
|
||||
" date expression details.\n"
|
||||
" Start the date expression with a dash (-) to make it\n"
|
||||
" request for a document that is older than the given\n"
|
||||
"\n"
|
||||
" Start the date expression with a dash (-) to make it\n"
|
||||
" request for a document that is older than the given\n"
|
||||
" date/time, default is a document that is newer than the\n"
|
||||
" specified date/time.\n"
|
||||
"\n"
|
||||
|
@ -492,15 +506,15 @@ puts (
|
|||
" ing with a remote SSL server.\n"
|
||||
"\n"
|
||||
" -#/--progress-bar\n"
|
||||
" Make curl display progress information as a progress\n"
|
||||
" Make curl display progress information as a progress\n"
|
||||
" bar instead of the default statistics.\n"
|
||||
"\n"
|
||||
" --crlf\n"
|
||||
" (FTP) Convert LF to CRLF in upload. Useful for MVS\n"
|
||||
" (FTP) Convert LF to CRLF in upload. Useful for MVS\n"
|
||||
" (OS/390).\n"
|
||||
"\n"
|
||||
" --stderr <file>\n"
|
||||
" Redirect all writes to stderr to the specified file\n"
|
||||
" Redirect all writes to stderr to the specified file\n"
|
||||
" instead. If the file name is a plain '-', it is instead\n"
|
||||
" written to stdout. This option has no point when you're\n"
|
||||
" using a shell with decent redirecting capabilities.\n"
|
||||
|
@ -515,7 +529,6 @@ puts (
|
|||
"\n"
|
||||
" HTTPS_PROXY [protocol://]<host>[:port]\n"
|
||||
" Sets proxy server to use for HTTPS.\n"
|
||||
"\n"
|
||||
" FTP_PROXY [protocol://]<host>[:port]\n"
|
||||
" Sets proxy server to use for FTP.\n"
|
||||
"\n"
|
||||
|
@ -523,19 +536,20 @@ puts (
|
|||
" Sets proxy server to use for GOPHER.\n"
|
||||
"\n"
|
||||
" ALL_PROXY [protocol://]<host>[:port]\n"
|
||||
" Sets proxy server to use if no protocol-specific proxy\n"
|
||||
" Sets proxy server to use if no protocol-specific proxy\n"
|
||||
" is set.\n"
|
||||
"\n"
|
||||
" NO_PROXY <comma-separated list of hosts>\n"
|
||||
" list of host names that shouldn't go through any proxy.\n"
|
||||
" If set to a asterisk '*' only, it matches all hosts.\n"
|
||||
"\n"
|
||||
" COLUMNS <integer>\n"
|
||||
" The width of the terminal. This variable only affects\n"
|
||||
" The width of the terminal. This variable only affects\n"
|
||||
" curl when the --progress-bar option is used.\n"
|
||||
"\n"
|
||||
"EXIT CODES\n"
|
||||
" There exists a bunch of different error codes and their cor\n"
|
||||
" responding error messages that may appear during bad condi\n"
|
||||
" responding error messages that may appear during bad condi\n"
|
||||
" tions. At the time of this writing, the exit codes are:\n"
|
||||
"\n"
|
||||
" 1 Unsupported protocol. This build of curl has no support\n"
|
||||
|
@ -545,42 +559,42 @@ puts (
|
|||
"\n"
|
||||
" 3 URL malformat. The syntax was not correct.\n"
|
||||
"\n"
|
||||
" 4 URL user malformatted. The user-part of the URL syntax\n"
|
||||
" 4 URL user malformatted. The user-part of the URL syntax\n"
|
||||
" was not correct.\n"
|
||||
"\n"
|
||||
" 5 Couldn't resolve proxy. The given proxy host could not\n"
|
||||
" 5 Couldn't resolve proxy. The given proxy host could not\n"
|
||||
" be resolved.\n"
|
||||
"\n"
|
||||
" 6 Couldn't resolve host. The given remote host was not\n"
|
||||
" 6 Couldn't resolve host. The given remote host was not\n"
|
||||
" resolved.\n"
|
||||
"\n"
|
||||
" 7 Failed to connect to host.\n"
|
||||
"\n"
|
||||
" 8 FTP weird server reply. The server sent data curl\n"
|
||||
" 8 FTP weird server reply. The server sent data curl\n"
|
||||
" couldn't parse.\n"
|
||||
"\n"
|
||||
" 9 FTP access denied. The server denied login.\n"
|
||||
"\n"
|
||||
" 10 FTP user/password incorrect. Either one or both were\n"
|
||||
" 10 FTP user/password incorrect. Either one or both were\n"
|
||||
" not accepted by the server.\n"
|
||||
"\n"
|
||||
" 11 FTP weird PASS reply. Curl couldn't parse the reply\n"
|
||||
" 11 FTP weird PASS reply. Curl couldn't parse the reply\n"
|
||||
" sent to the PASS request.\n"
|
||||
"\n"
|
||||
" 12 FTP weird USER reply. Curl couldn't parse the reply\n"
|
||||
" 12 FTP weird USER reply. Curl couldn't parse the reply\n"
|
||||
" sent to the USER request.\n"
|
||||
"\n"
|
||||
" 13 FTP weird PASV reply, Curl couldn't parse the reply\n"
|
||||
" 13 FTP weird PASV reply, Curl couldn't parse the reply\n"
|
||||
" sent to the PASV request.\n"
|
||||
"\n"
|
||||
" 14 FTP weird 227 formay. Curl couldn't parse the 227-line\n"
|
||||
" 14 FTP weird 227 formay. Curl couldn't parse the 227-line\n"
|
||||
" the server sent.\n"
|
||||
"\n"
|
||||
" 15 FTP can't get host. Couldn't resolve the host IP we got\n"
|
||||
" in the 227-line.\n"
|
||||
"\n"
|
||||
" 16 FTP can't reconnect. Couldn't connect to the host we\n"
|
||||
" 16 FTP can't reconnect. Couldn't connect to the host we\n"
|
||||
" got in the 227-line.\n"
|
||||
"\n"
|
||||
" 17 FTP couldn't set binary. Couldn't change transfer\n"
|
||||
" method to binary.\n"
|
||||
"\n"
|
||||
|
@ -588,51 +602,51 @@ puts (
|
|||
"\n"
|
||||
" 19 FTP couldn't RETR file. The RETR command failed.\n"
|
||||
"\n"
|
||||
" 20 FTP write error. The transfer was reported bad by the\n"
|
||||
" 20 FTP write error. The transfer was reported bad by the\n"
|
||||
" server.\n"
|
||||
"\n"
|
||||
" 21 FTP quote error. A quote command returned error from\n"
|
||||
" 21 FTP quote error. A quote command returned error from\n"
|
||||
" the server.\n"
|
||||
"\n"
|
||||
" 22 HTTP not found. The requested page was not found. This\n"
|
||||
" 22 HTTP not found. The requested page was not found. This\n"
|
||||
" return code only appears if --fail is used.\n"
|
||||
"\n"
|
||||
" 23 Write error. Curl couldn't write data to a local\n"
|
||||
" 23 Write error. Curl couldn't write data to a local\n"
|
||||
" filesystem or similar.\n"
|
||||
"\n"
|
||||
" 24 Malformat user. User name badly specified.\n"
|
||||
"\n"
|
||||
" 25 FTP couldn't STOR file. The server denied the STOR\n"
|
||||
" 25 FTP couldn't STOR file. The server denied the STOR\n"
|
||||
" operation.\n"
|
||||
"\n"
|
||||
" 26 Read error. Various reading problems.\n"
|
||||
"\n"
|
||||
" 27 Out of memory. A memory allocation request failed.\n"
|
||||
"\n"
|
||||
" 28 Operation timeout. The specified time-out period was\n"
|
||||
" 28 Operation timeout. The specified time-out period was\n"
|
||||
" reached according to the conditions.\n"
|
||||
"\n"
|
||||
" 29 FTP couldn't set ASCII. The server returned an unknown\n"
|
||||
" 29 FTP couldn't set ASCII. The server returned an unknown\n"
|
||||
" reply.\n"
|
||||
"\n"
|
||||
" 30 FTP PORT failed. The PORT command failed.\n"
|
||||
"\n"
|
||||
" 31 FTP couldn't use REST. The REST command failed.\n"
|
||||
"\n"
|
||||
" 32 FTP couldn't use SIZE. The SIZE command failed. The\n"
|
||||
" command is an extension to the original FTP spec RFC\n"
|
||||
" 32 FTP couldn't use SIZE. The SIZE command failed. The\n"
|
||||
" command is an extension to the original FTP spec RFC\n"
|
||||
" 959.\n"
|
||||
"\n"
|
||||
" 33 HTTP range error. The range \"command\" didn't work.\n"
|
||||
"\n"
|
||||
" 34 HTTP post error. Internal post-request generation\n"
|
||||
" 34 HTTP post error. Internal post-request generation\n"
|
||||
" error.\n"
|
||||
"\n"
|
||||
" 35 SSL connect error. The SSL handshaking failed.\n"
|
||||
"\n"
|
||||
" 36 FTP bad download resume. Couldn't continue an earlier\n"
|
||||
" 36 FTP bad download resume. Couldn't continue an earlier\n"
|
||||
" aborted download.\n"
|
||||
" 37 FILE couldn't read file. Failed to open the file. Per\n"
|
||||
"\n"
|
||||
" 37 FILE couldn't read file. Failed to open the file. Per\n"
|
||||
" missions?\n"
|
||||
"\n"
|
||||
" 38 LDAP cannot bind. LDAP bind operation failed.\n"
|
||||
|
@ -641,27 +655,27 @@ puts (
|
|||
"\n"
|
||||
" 40 Library not found. The LDAP library was not found.\n"
|
||||
"\n"
|
||||
" 41 Function not found. A required LDAP function was not\n"
|
||||
" 41 Function not found. A required LDAP function was not\n"
|
||||
" found.\n"
|
||||
"\n"
|
||||
" XX There will appear more error codes here in future\n"
|
||||
" releases. The existing ones are meant to never change.\n"
|
||||
" XX There will appear more error codes here in future\n"
|
||||
" releases. The existing ones are meant to never change.\n"
|
||||
"\n"
|
||||
"BUGS\n"
|
||||
" If you do find any (or have other suggestions), mail Daniel\n"
|
||||
" Stenberg <Daniel.Stenberg@haxx.nu>.\n"
|
||||
" If you do find any (or have other suggestions), mail Daniel\n"
|
||||
" Stenberg <Daniel.Stenberg@haxx.se>.\n"
|
||||
"\n"
|
||||
"AUTHORS / CONTRIBUTORS\n"
|
||||
" - Daniel Stenberg <Daniel.Stenberg@haxx.nu>\n"
|
||||
" - Daniel Stenberg <Daniel.Stenberg@haxx.se>\n"
|
||||
" - Rafael Sagula <sagula@inf.ufrgs.br>\n"
|
||||
" - Sampo Kellomaki <sampo@iki.fi>\n"
|
||||
" - Linas Vepstas <linas@linas.org>\n"
|
||||
" - Bjorn Reese <breese@mail1.stofanet.dk>\n"
|
||||
" - Johan Anderson <johan@homemail.com>\n"
|
||||
" - Kjell Ericson <Kjell.Ericson@haxx,nu>\n"
|
||||
" - Kjell Ericson <Kjell.Ericson@haxx.se>\n"
|
||||
" - Troy Engel <tengel@sonic.net>\n"
|
||||
" - Ryan Nelson <ryan@inch.com>\n"
|
||||
" - Bjorn Stenberg <Bjorn.Stenberg@haxx.nu>\n"
|
||||
" - Björn Stenberg <Bjorn.Stenberg@haxx.se>\n"
|
||||
" - Angus Mackay <amackay@gus.ml.org>\n"
|
||||
" - Eric Young <eay@cryptsoft.com>\n"
|
||||
" - Simon Dick <simond@totally.irrelevant.org>\n"
|
||||
|
@ -679,9 +693,9 @@ puts (
|
|||
" - Ralph Beckmann <rabe@uni-paderborn.de>\n"
|
||||
" - T. Yamada <tai@imasy.or.jp>\n"
|
||||
" - Lars J. Aas <larsa@sim.no>\n"
|
||||
" - Jörn Hartroth <Joern.Hartroth@telekom.de>\n"
|
||||
" - Jörn Hartroth <Joern.Hartroth@computer.org>\n"
|
||||
" - Matthew Clarke <clamat@van.maves.ca>\n"
|
||||
" - Linus Nielsen <Linus.Nielsen@haxx.nu>\n"
|
||||
" - Linus Nielsen <Linus.Nielsen@haxx.se>\n"
|
||||
" - Felix von Leitner <felix@convergence.de>\n"
|
||||
" - Dan Zitter <dzitter@zitter.net>\n"
|
||||
" - Jongki Suwandi <Jongki.Suwandi@eng.sun.com>\n"
|
||||
|
@ -695,9 +709,12 @@ puts (
|
|||
" - Paul Marquis <pmarquis@iname.com>\n"
|
||||
" - David LeBlanc <dleblanc@qnx.com>\n"
|
||||
" - Rich Gray at Plus Technologies\n"
|
||||
" - Luong Dinh Dung <u8luong@lhsystems.hu>\n"
|
||||
" - Torsten Foertsch <torsten.foertsch@gmx.net>\n"
|
||||
" - Kristian Köhntopp <kris@koehntopp.de>\n"
|
||||
"\n"
|
||||
"WWW\n"
|
||||
" http://curl.haxx.nu\n"
|
||||
" http://curl.haxx.se\n"
|
||||
"\n"
|
||||
"FTP\n"
|
||||
" ftp://ftp.sunet.se/pub/www/utilities/curl/\n"
|
||||
|
@ -710,7 +727,7 @@ puts (
|
|||
" You always find news about what's going on as well as the latest versions\n"
|
||||
" from the curl web pages, located at:\n"
|
||||
"\n"
|
||||
" http://curl.haxx.nu\n"
|
||||
" http://curl.haxx.se\n"
|
||||
"\n"
|
||||
"SIMPLE USAGE\n"
|
||||
"\n"
|
||||
|
@ -769,6 +786,8 @@ puts (
|
|||
" pick a file like:\n"
|
||||
"\n"
|
||||
" curl http://name:passwd@machine.domain/full/path/to/file\n"
|
||||
);
|
||||
puts(
|
||||
"\n"
|
||||
" or specify user and password separately like in\n"
|
||||
"\n"
|
||||
|
@ -798,8 +817,6 @@ puts (
|
|||
" curl -u user:passwd -x my-proxy:888 http://www.get.this/\n"
|
||||
"\n"
|
||||
" Some proxies require special authentication. Specify by using -U as above:\n"
|
||||
);
|
||||
puts(
|
||||
"\n"
|
||||
" curl -U user:passwd -x my-proxy:888 http://www.get.this/\n"
|
||||
"\n"
|
||||
|
@ -887,7 +904,7 @@ puts (
|
|||
"\n"
|
||||
" Store the HTTP headers in a separate file:\n"
|
||||
"\n"
|
||||
" curl --dump-header headers.txt curl.haxx.nu\n"
|
||||
" curl --dump-header headers.txt curl.haxx.se\n"
|
||||
"\n"
|
||||
" Note that headers stored in a separate file can be very useful at a later\n"
|
||||
" time if you want curl to use cookies sent by the server. More about that in\n"
|
||||
|
@ -1049,6 +1066,8 @@ puts (
|
|||
"\n"
|
||||
" Note that by specifying -b you enable the \"cookie awareness\" and with -L\n"
|
||||
" you can make curl follow a location: (which often is used in combination\n"
|
||||
);
|
||||
puts(
|
||||
" with cookies). So that if a site sends cookies and a location, you can\n"
|
||||
" use a non-existing file to trig the cookie awareness like:\n"
|
||||
"\n"
|
||||
|
@ -1069,8 +1088,6 @@ puts (
|
|||
"\n"
|
||||
" From left-to-right:\n"
|
||||
" % - percentage completed of the whole transfer\n"
|
||||
);
|
||||
puts(
|
||||
" Total - total size of the whole expected transfer\n"
|
||||
" % - percentage completed of the download\n"
|
||||
" Received - currently downloaded amount of bytes\n"
|
||||
|
@ -1245,6 +1262,26 @@ puts (
|
|||
"\n"
|
||||
" Otherwise, curl will first attempt to use v3 and then v2.\n"
|
||||
"\n"
|
||||
" To use OpenSSL to convert your favourite browser's certificate into a PEM\n"
|
||||
" formatted one that curl can use, do something like this (assuming netscape,\n"
|
||||
" but IE is likely to work similarly):\n"
|
||||
"\n"
|
||||
" You start with hitting the 'security' menu button in netscape. \n"
|
||||
"\n"
|
||||
" Select 'certificates->yours' and then pick a certificate in the list \n"
|
||||
"\n"
|
||||
" Press the 'export' button \n"
|
||||
"\n"
|
||||
" enter your PIN code for the certs \n"
|
||||
"\n"
|
||||
" select a proper place to save it \n"
|
||||
"\n"
|
||||
" Run the 'openssl' application to convert the certificate. If you cd to the\n"
|
||||
" openssl installation, you can do it like:\n"
|
||||
"\n"
|
||||
" # ./apps/openssl pkcs12 -certfile [file you saved] -out [PEMfile]\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"RESUMING FILE TRANSFERS\n"
|
||||
"\n"
|
||||
" To continue a file transfer where it was previously aborted, curl supports\n"
|
||||
|
@ -1302,6 +1339,8 @@ puts (
|
|||
"\n"
|
||||
" Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n"
|
||||
" and 'lookup'. For example,\n"
|
||||
);
|
||||
puts(
|
||||
"\n"
|
||||
" curl dict://dict.org/find:curl\n"
|
||||
"\n"
|
||||
|
@ -1351,8 +1390,6 @@ puts (
|
|||
"\n"
|
||||
"\n"
|
||||
" The usage of the -x/--proxy flag overrides the environment variables.\n"
|
||||
);
|
||||
puts(
|
||||
"\n"
|
||||
"NETRC\n"
|
||||
"\n"
|
||||
|
@ -1369,7 +1406,7 @@ puts (
|
|||
"\n"
|
||||
" A very simple .netrc file could look something like:\n"
|
||||
"\n"
|
||||
" machine curl.haxx.nu login iamdaniel password mysecret\n"
|
||||
" machine curl.haxx.se login iamdaniel password mysecret\n"
|
||||
"\n"
|
||||
"CUSTOM OUTPUT\n"
|
||||
"\n"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#define CURL_NAME "curl"
|
||||
#define CURL_VERSION "7.0.1beta"
|
||||
#define CURL_VERSION "7.0.11test"
|
||||
#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
|
||||
|
|
Загрузка…
Ссылка в новой задаче