summaryrefslogtreecommitdiff
path: root/Documentation/git-imap-send.txt
diff options
context:
space:
mode:
authorBernhard Reiter <ockham@raz.or.at>2014-11-09 15:55:53 +0100
committerJunio C Hamano <gitster@pobox.com>2014-11-10 09:17:27 -0800
commit1e16b255b95b45374db0b0cf69ef0ecce768ac27 (patch)
tree5d3107f2f7211c81fefe12849d65aeb246f95462 /Documentation/git-imap-send.txt
parentf1a35295c2b66d2501f034d864afb2c5d8bb0e08 (diff)
downloadgit-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.txt15
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