diff options
author | Bernhard Reiter <ockham@raz.or.at> | 2014-11-09 15:55:53 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-11-10 09:17:27 -0800 |
commit | 1e16b255b95b45374db0b0cf69ef0ecce768ac27 (patch) | |
tree | 5d3107f2f7211c81fefe12849d65aeb246f95462 /Documentation/git-imap-send.txt | |
parent | f1a35295c2b66d2501f034d864afb2c5d8bb0e08 (diff) | |
download | git-1e16b255b95b45374db0b0cf69ef0ecce768ac27.tar.gz |
git-imap-send: use libcurl for implementationbr/imap-send-via-libcurl
Use libcurl's high-level API functions to implement git-imap-send
instead of the previous low-level OpenSSL-based functions.
Since version 7.30.0, libcurl's API has been able to communicate with
IMAP servers. Using those high-level functions instead of the current
ones would reduce imap-send.c by some 1200 lines of code. For now,
the old ones are wrapped in #ifdefs, and the new functions are enabled
by make if curl's version is >= 7.34.0, from which version on curl's
CURLOPT_LOGIN_OPTIONS (enabling IMAP authentication) parameter has been
available. The low-level functions will still be used for tunneling
into the server for now.
As I don't have access to that many IMAP servers, I haven't been able to
test the new code with a wide variety of parameter combinations. I did
test both secure and insecure (imaps:// and imap://) connections and
values of "PLAIN" and "LOGIN" for the authMethod.
In order to suppress a sparse warning about "using sizeof on a
function", we use the same solution used in commit 9371322a6
("sparse: suppress some "using sizeof on a function" warnings",
06-10-2013) which solved exactly this problem for the other commands
using libcurl.
Helped-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Bernhard Reiter <ockham@raz.or.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-imap-send.txt')
-rw-r--r-- | Documentation/git-imap-send.txt | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/Documentation/git-imap-send.txt b/Documentation/git-imap-send.txt index 0897131fca..77aacf1309 100644 --- a/Documentation/git-imap-send.txt +++ b/Documentation/git-imap-send.txt @@ -9,7 +9,7 @@ git-imap-send - Send a collection of patches from stdin to an IMAP folder SYNOPSIS -------- [verse] -'git imap-send' [-v] [-q] +'git imap-send' [-v] [-q] [--[no-]curl] DESCRIPTION @@ -37,6 +37,15 @@ OPTIONS --quiet:: Be quiet. +--curl:: + Use libcurl to communicate with the IMAP server, unless tunneling + into it. Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND + option set. + +--no-curl:: + Talk to the IMAP server using git's own IMAP routines instead of + using libcurl. + CONFIGURATION ------------- @@ -87,7 +96,9 @@ imap.preformattedHTML:: imap.authMethod:: Specify authenticate method for authentication with IMAP server. - Current supported method is 'CRAM-MD5' only. If this is not set + If Git was built with the NO_CURL option, or if your curl version is older + than 7.34.0, or if you're running git-imap-send with the `--no-curl` + option, the only supported method is 'CRAM-MD5'. If this is not set then 'git imap-send' uses the basic IMAP plaintext LOGIN command. Examples |