git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Aditya Garg <gargaditya08@live.com>
To: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Cc: Eric Sunshine <sunshine@sunshineco.com>,
	Zi Yao <ziyao@disroot.org>,
	"brian m . carlson" <sandals@crustytoothpaste.net>,
	Jeff King <peff@peff.net>, Ben Knoble <ben.knoble@gmail.com>,
	Phillip Wood <phillip.wood123@gmail.com>
Subject: [PATCH v16 07/10] imap-send: add ability to list the available folders
Date: Mon,  9 Jun 2025 07:20:38 +0000	[thread overview]
Message-ID: <PN3PR01MB9597440624DB4F9871F069FAB86BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <PN3PR01MB95976572C3B14C983802ECC1B86BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>

Various IMAP servers have different ways to name common folders.
For example, the folder where all deleted messages are stored is often
named "[Gmail]/Trash" on Gmail servers, and "Deleted" on Outlook.
Similarly, the Drafts folder is simply named "Drafts" on Outlook, but
on Gmail it is named "[Gmail]/Drafts".

This commit adds a `--list` command to the `imap-send` tool that lists
the available folders on the IMAP server, allowing users to see
which folders are available and how they are named. A sample output
looks like this when run against a Gmail server:

    Fetching the list of available folders...
    * LIST (\HasNoChildren) "/" "INBOX"
    * LIST (\HasChildren \Noselect) "/" "[Gmail]"
    * LIST (\All \HasNoChildren) "/" "[Gmail]/All Mail"
    * LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Drafts"
    * LIST (\HasNoChildren \Important) "/" "[Gmail]/Important"
    * LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail"
    * LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam"
    * LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Starred"
    * LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"

For OpenSSL, this is achived by running the 'IMAP LIST' command and
parsing the response. This command is specified in RFC6154:
https://datatracker.ietf.org/doc/html/rfc6154#section-5.1

For libcurl, the example code published in the libcurl documentation
is used to implement this functionality:
https://curl.se/libcurl/c/imap-list.html

Signed-off-by: Aditya Garg <gargaditya08@live.com>
---
 Documentation/git-imap-send.adoc |  6 +-
 imap-send.c                      | 98 ++++++++++++++++++++++++++------
 2 files changed, 87 insertions(+), 17 deletions(-)

diff --git a/Documentation/git-imap-send.adoc b/Documentation/git-imap-send.adoc
index 4a0487b66e..17147f93c3 100644
--- a/Documentation/git-imap-send.adoc
+++ b/Documentation/git-imap-send.adoc
@@ -10,6 +10,7 @@ SYNOPSIS
 --------
 [verse]
 'git imap-send' [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>]
+'git imap-send' --list
 
 
 DESCRIPTION
@@ -54,6 +55,8 @@ OPTIONS
 	using libcurl.  Ignored if Git was built with the NO_OPENSSL option
 	set.
 
+--list::
+	Run the IMAP LIST command to output a list of all the folders present.
 
 CONFIGURATION
 -------------
@@ -123,7 +126,8 @@ it. Alternatively, use OAuth2.0 authentication as described below.
 
 [NOTE]
 You might need to instead use: `folder = "[Google Mail]/Drafts"` if you get an error
-that the "Folder doesn't exist".
+that the "Folder doesn't exist". You can also run `git imap-send --list` to get a
+list of available folders.
 
 [NOTE]
 If your Gmail account is set to another language than English, the name of the "Drafts"
diff --git a/imap-send.c b/imap-send.c
index a4cccb9110..f03a92a2fb 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -45,15 +45,21 @@
 #endif
 
 static int verbosity;
+static int list_folders = 0;
 static int use_curl = USE_CURL_DEFAULT;
 static char *opt_folder = NULL;
 
-static const char * const imap_send_usage[] = { "git imap-send [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>] < <mbox>", NULL };
+static char const * const imap_send_usage[] = {
+	N_("git imap-send [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>] < <mbox>"),
+	"git imap-send --list",
+	NULL
+};
 
 static struct option imap_send_options[] = {
 	OPT__VERBOSITY(&verbosity),
 	OPT_BOOL(0, "curl", &use_curl, "use libcurl to communicate with the IMAP server"),
 	OPT_STRING('f', "folder", &opt_folder, "folder", "specify the IMAP folder"),
+	OPT_BOOL(0, "list", &list_folders, "list all folders on the IMAP server"),
 	OPT_END()
 };
 
@@ -429,7 +435,7 @@ static int buffer_gets(struct imap_buffer *b, char **s)
 			if (b->buf[b->offset + 1] == '\n') {
 				b->buf[b->offset] = 0;  /* terminate the string */
 				b->offset += 2; /* next line */
-				if (0 < verbosity)
+				if ((0 < verbosity) || (list_folders && strstr(*s, "* LIST")))
 					puts(*s);
 				return 0;
 			}
@@ -1579,6 +1585,26 @@ static int append_msgs_to_imap(struct imap_server_conf *server,
 	return 0;
 }
 
+static int list_imap_folders(struct imap_server_conf *server)
+{
+	struct imap_store *ctx = imap_open_store(server, "INBOX");
+	if (!ctx) {
+		fprintf(stderr, "failed to connect to IMAP server\n");
+		return 1;
+	}
+
+	fprintf(stderr, "Fetching the list of available folders...\n");
+	/* Issue the LIST command and print the results */
+	if (imap_exec(ctx, NULL, "LIST \"\" \"*\"") != RESP_OK) {
+		fprintf(stderr, "failed to list folders\n");
+		imap_close_store(ctx);
+		return 1;
+	}
+
+	imap_close_store(ctx);
+	return 0;
+}
+
 #ifdef USE_CURL_FOR_IMAP_SEND
 static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
 {
@@ -1612,11 +1638,13 @@ static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
 	if (!path.len || path.buf[path.len - 1] != '/')
 		strbuf_addch(&path, '/');
 
-	uri_encoded_folder = curl_easy_escape(curl, srvc->folder, 0);
-	if (!uri_encoded_folder)
-		die("failed to encode server folder");
-	strbuf_addstr(&path, uri_encoded_folder);
-	curl_free(uri_encoded_folder);
+	if (!list_folders) {
+		uri_encoded_folder = curl_easy_escape(curl, srvc->folder, 0);
+		if (!uri_encoded_folder)
+			die("failed to encode server folder");
+		strbuf_addstr(&path, uri_encoded_folder);
+		curl_free(uri_encoded_folder);
+	}
 
 	curl_easy_setopt(curl, CURLOPT_URL, path.buf);
 	strbuf_release(&path);
@@ -1647,10 +1675,6 @@ static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
 	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, srvc->ssl_verify);
 	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, srvc->ssl_verify);
 
-	curl_easy_setopt(curl, CURLOPT_READFUNCTION, fread_buffer);
-
-	curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
 	if (0 < verbosity || getenv("GIT_CURL_VERBOSE"))
 		http_trace_curl_no_data();
 	setup_curl_trace(curl);
@@ -1669,6 +1693,10 @@ static int curl_append_msgs_to_imap(struct imap_server_conf *server,
 	struct credential cred = CREDENTIAL_INIT;
 
 	curl = setup_curl(server, &cred);
+
+	curl_easy_setopt(curl, CURLOPT_READFUNCTION, fread_buffer);
+	curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
+
 	curl_easy_setopt(curl, CURLOPT_READDATA, &msgbuf);
 
 	fprintf(stderr, "sending %d message%s\n", total, (total != 1) ? "s" : "");
@@ -1714,6 +1742,31 @@ static int curl_append_msgs_to_imap(struct imap_server_conf *server,
 
 	return res != CURLE_OK;
 }
+
+static int curl_list_imap_folders(struct imap_server_conf *server)
+{
+	CURL *curl;
+	CURLcode res = CURLE_OK;
+	struct credential cred = CREDENTIAL_INIT;
+
+	fprintf(stderr, "Fetching the list of available folders...\n");
+	curl = setup_curl(server, &cred);
+	res = curl_easy_perform(curl);
+
+	curl_easy_cleanup(curl);
+	curl_global_cleanup();
+
+	if (cred.username) {
+		if (res == CURLE_OK)
+			credential_approve(the_repository, &cred);
+		else if (res == CURLE_LOGIN_DENIED)
+			credential_reject(the_repository, &cred);
+	}
+
+	credential_clear(&cred);
+
+	return res != CURLE_OK;
+}
 #endif
 
 int cmd_main(int argc, const char **argv)
@@ -1754,11 +1807,6 @@ int cmd_main(int argc, const char **argv)
 	if (!server.port)
 		server.port = server.use_ssl ? 993 : 143;
 
-	if (!server.folder) {
-		fprintf(stderr, "no imap store specified\n");
-		ret = 1;
-		goto out;
-	}
 	if (!server.host) {
 		if (!server.tunnel) {
 			fprintf(stderr, "no imap host specified\n");
@@ -1768,6 +1816,24 @@ int cmd_main(int argc, const char **argv)
 		server.host = xstrdup("tunnel");
 	}
 
+	if (list_folders) {
+		if (server.tunnel)
+			ret = list_imap_folders(&server);
+#ifdef USE_CURL_FOR_IMAP_SEND
+		else if (use_curl)
+			ret = curl_list_imap_folders(&server);
+#endif
+		else
+			ret = list_imap_folders(&server);
+		goto out;
+	}
+
+	if (!server.folder) {
+		fprintf(stderr, "no imap store specified\n");
+		ret = 1;
+		goto out;
+	}
+
 	/* read the messages */
 	if (strbuf_read(&all_msgs, 0, 0) < 0) {
 		error_errno(_("could not read from stdin"));
-- 
2.49.0


  parent reply	other threads:[~2025-06-09  7:22 UTC|newest]

Thread overview: 248+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-22 17:27 [PATCH 0/2] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-22 17:27 ` [PATCH 1/2] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-22 18:00   ` Eric Sunshine
2025-05-22 18:04     ` Aditya Garg
2025-05-22 18:21     ` Aditya Garg
2025-05-22 18:25       ` Eric Sunshine
2025-05-22 18:28         ` Aditya Garg
2025-05-22 18:31         ` Jeff King
2025-05-22 18:33           ` Eric Sunshine
2025-05-24 16:28         ` Ben Knoble
2025-05-24 16:30           ` Aditya Garg
2025-05-24 16:32           ` Ben Knoble
2025-05-22 19:30       ` Aditya Garg
2025-05-22 19:32         ` Eric Sunshine
2025-05-22 19:40           ` Aditya Garg
2025-05-22 19:02     ` Junio C Hamano
2025-05-22 19:04       ` Aditya Garg
2025-05-22 18:29   ` Jeff King
2025-05-22 18:31     ` Aditya Garg
2025-05-22 17:27 ` [PATCH 2/2] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-22 19:45   ` brian m. carlson
2025-05-22 19:49     ` Aditya Garg
2025-05-22 19:49 ` [PATCH v2 0/3] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-22 19:49   ` [PATCH v2 1/3] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-22 23:27     ` Junio C Hamano
2025-05-22 19:49   ` [PATCH v2 2/3] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-22 19:49   ` [PATCH v2 3/3] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-23  3:58 ` [PATCH v3 0/3] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-23  3:58   ` [PATCH v3 1/3] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-23  3:58   ` [PATCH v3 2/3] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-23  3:58   ` [PATCH v3 3/3] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-23 12:14 ` [PATCH v4 0/4] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-23 12:14 ` [PATCH v4 1/4] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-23 12:14 ` [PATCH v4 2/4] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-23 12:14 ` [PATCH v4 3/4] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-23 12:14 ` [PATCH v4 4/4] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-25 18:54 ` [PATCH v5 0/6] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-25 18:54   ` [PATCH v5 1/6] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-25 18:54   ` [PATCH v5 2/6] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-25 18:54   ` [PATCH v5 3/6] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-25 18:55   ` [PATCH v5 4/6] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-25 18:55   ` [PATCH v5 5/6] imap-send: enable specifying the folder using the command line Aditya Garg
2025-05-25 18:55   ` [PATCH v5 6/6] imap-send: enable user to choose between libcurl and openssl using the config Aditya Garg
2025-05-25 20:34   ` [PATCH v5 0/6] imap-send: make it usable again and add OAuth2.0 support Eric Sunshine
2025-05-26  9:06     ` Aditya Garg
2025-05-28  7:38 ` [PATCH v6 " Aditya Garg
2025-05-28  7:38   ` [PATCH v6 1/6] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-28  7:38   ` [PATCH v6 2/6] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-28  7:38   ` [PATCH v6 3/6] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-28  7:38   ` [PATCH v6 4/6] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-28  7:38   ` [PATCH v6 5/6] imap-send: enable specifying the folder using the command line Aditya Garg
2025-05-28  7:38   ` [PATCH v6 6/6] imap-send: enable user to choose between libcurl and openssl using the config Aditya Garg
2025-05-28 17:17 ` [PATCH v7 0/9] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-28 17:17   ` [PATCH v7 1/9] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-28 17:17   ` [PATCH v7 2/9] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-28 17:17   ` [PATCH v7 3/9] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-28 17:17   ` [PATCH v7 4/9] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-28 17:17   ` [PATCH v7 5/9] imap-send: enable specifying the folder using the command line Aditya Garg
2025-05-28 17:17   ` [PATCH v7 6/9] imap-send: enable user to choose between libcurl and openssl using the config Aditya Garg
2025-05-29 13:58     ` Phillip Wood
2025-05-29 14:09       ` Aditya Garg
2025-05-29 16:25       ` Junio C Hamano
2025-05-29 16:28         ` Aditya Garg
2025-05-28 17:17   ` [PATCH v7 7/9] imap-send: fix numerous spelling and grammar mistakes in logs Aditya Garg
2025-05-28 17:17   ` [PATCH v7 8/9] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-05-28 17:17   ` [PATCH v7 9/9] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-05-29 16:21 ` [PATCH v8 0/9] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-29 16:21   ` [PATCH v8 1/9] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-29 16:21   ` [PATCH v8 2/9] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-29 16:21   ` [PATCH v8 3/9] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-29 16:21   ` [PATCH v8 4/9] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-29 16:21   ` [PATCH v8 5/9] imap-send: enable specifying the folder using the command line Aditya Garg
2025-05-29 16:21   ` [PATCH v8 6/9] imap-send: fix numerous spelling and grammar mistakes in logs Aditya Garg
2025-05-29 16:21   ` [PATCH v8 7/9] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-05-29 16:21   ` [PATCH v8 8/9] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-05-29 16:21   ` [PATCH v8 9/9] imap-send: add ability to list the available folders Aditya Garg
2025-05-30 17:32 ` [PATCH v9 0/9] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-05-30 17:32   ` [PATCH v9 1/9] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-05-30 17:32   ` [PATCH v9 2/9] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-05-30 20:51     ` Eric Sunshine
2025-05-30 21:12       ` Junio C Hamano
2025-05-31  9:06         ` Aditya Garg
2025-05-30 17:32   ` [PATCH v9 3/9] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-05-30 17:32   ` [PATCH v9 4/9] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-05-30 17:32   ` [PATCH v9 5/9] imap-send: enable specifying the folder using the command line Aditya Garg
2025-05-31  0:45     ` Junio C Hamano
2025-05-31  9:16       ` Aditya Garg
2025-06-01  2:40         ` Junio C Hamano
2025-06-01  4:41           ` Aditya Garg
2025-05-30 17:32   ` [PATCH v9 6/9] imap-send: fix numerous spelling and grammar mistakes in logs Aditya Garg
2025-05-30 17:32   ` [PATCH v9 7/9] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-05-30 17:32   ` [PATCH v9 8/9] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-05-30 17:32   ` [PATCH v9 9/9] imap-send: add ability to list the available folders Aditya Garg
2025-06-01  7:10 ` [PATCH v10 0/9] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-01  7:10   ` [PATCH v10 1/9] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-01  7:10   ` [PATCH v10 2/9] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-01  7:10   ` [PATCH v10 3/9] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-01  7:10   ` [PATCH v10 4/9] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-01  7:10   ` [PATCH v10 5/9] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-01  7:10   ` [PATCH v10 6/9] imap-send: fix numerous spelling and grammar mistakes in logs Aditya Garg
2025-06-01  7:28     ` Eric Sunshine
2025-06-01  7:30       ` Aditya Garg
2025-06-01  7:32       ` Aditya Garg
2025-06-01  7:10   ` [PATCH v10 7/9] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-01  7:10   ` [PATCH v10 8/9] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-01  7:10   ` [PATCH v10 9/9] imap-send: add ability to list the available folders Aditya Garg
2025-06-01  8:38 ` [PATCH v11 0/9] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-01  8:38   ` [PATCH v11 1/9] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-01  8:38   ` [PATCH v11 2/9] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-02  0:13     ` Junio C Hamano
2025-06-01  8:38   ` [PATCH v11 3/9] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-02  0:27     ` Junio C Hamano
2025-06-02  4:01       ` Aditya Garg
2025-06-01  8:38   ` [PATCH v11 4/9] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-01  8:38   ` [PATCH v11 5/9] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-02  0:39     ` Junio C Hamano
2025-06-02  3:45       ` Aditya Garg
2025-06-01  8:38   ` [PATCH v11 6/9] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-02  0:42     ` Junio C Hamano
2025-06-02  3:41       ` Aditya Garg
2025-06-01  8:38   ` [PATCH v11 7/9] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-01  8:38   ` [PATCH v11 8/9] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-02  0:43     ` Junio C Hamano
2025-06-01  8:38   ` [PATCH v11 9/9] imap-send: add ability to list the available folders Aditya Garg
2025-06-02 10:59 ` [PATCH v12 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-02 10:59   ` [PATCH v12 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-02 10:59   ` [PATCH v12 02/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-05  8:00     ` Jeff King
2025-06-05  8:12       ` Aditya Garg
2025-06-05 16:08         ` Junio C Hamano
2025-06-05 16:17           ` Aditya Garg
2025-06-05 16:28       ` Junio C Hamano
2025-06-05 22:50         ` Jeff King
2025-06-02 10:59   ` [PATCH v12 03/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-02 10:59   ` [PATCH v12 04/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-02 10:59   ` [PATCH v12 05/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-02 10:59   ` [PATCH v12 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-02 10:59   ` [PATCH v12 07/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-02 10:59   ` [PATCH v12 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-02 10:59   ` [PATCH v12 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-02 10:59   ` [PATCH v12 10/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-05  8:42 ` [PATCH v13 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-05  8:42   ` [PATCH v13 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-05  8:42   ` [PATCH v13 02/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-05 16:33     ` Junio C Hamano
2025-06-05 17:16       ` Aditya Garg
2025-06-05 18:48         ` Junio C Hamano
2025-06-06  3:28           ` Aditya Garg
2025-06-06  4:04             ` Aditya Garg
2025-06-06  4:35             ` Junio C Hamano
2025-06-06  4:40               ` Aditya Garg
2025-06-05  8:42   ` [PATCH v13 04/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-05  8:42   ` [PATCH v13 03/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-05  8:42   ` [PATCH v13 05/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-05  8:42   ` [PATCH v13 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-05  8:42   ` [PATCH v13 07/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-05  8:42   ` [PATCH v13 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-05  8:42   ` [PATCH v13 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-05  8:42   ` [PATCH v13 10/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-06 20:06 ` [PATCH v14 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-06 20:06   ` [PATCH v14 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-06 20:06   ` [PATCH v14 02/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-06 20:06   ` [PATCH v14 03/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-06 20:06   ` [PATCH v14 04/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-06 20:06   ` [PATCH v14 05/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-07 15:32     ` Junio C Hamano
2025-06-07 17:13       ` Aditya Garg
2025-06-08  4:20         ` Junio C Hamano
2025-06-08  7:54           ` Aditya Garg
2025-06-08 10:56       ` Aditya Garg
2025-06-06 20:06   ` [PATCH v14 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-06 20:06   ` [PATCH v14 07/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-06 20:06   ` [PATCH v14 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-06 20:06   ` [PATCH v14 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-06 20:06   ` [PATCH v14 10/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-08 10:55 ` [PATCH v15 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-08 10:55   ` [PATCH v15 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-08 10:55   ` [PATCH v15 02/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-08 10:55   ` [PATCH v15 03/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-08 10:55   ` [PATCH v15 04/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-08 10:55   ` [PATCH v15 05/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-08 10:55   ` [PATCH v15 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-08 10:55   ` [PATCH v15 07/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-08 10:55   ` [PATCH v15 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-08 10:55   ` [PATCH v15 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-08 10:55   ` [PATCH v15 10/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-08 20:50   ` [PATCH v15 00/10] imap-send: make it usable again and add OAuth2.0 support Junio C Hamano
2025-06-09  4:31     ` Aditya Garg
2025-06-09  7:23     ` Aditya Garg
2025-06-09  7:20 ` [PATCH v16 " Aditya Garg
2025-06-09  7:20   ` [PATCH v16 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-09  7:20   ` [PATCH v16 02/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-09  7:20   ` [PATCH v16 03/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-09 19:15     ` Junio C Hamano
2025-06-09 19:20       ` Aditya Garg
2025-06-09  7:20   ` [PATCH v16 04/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-09  7:20   ` [PATCH v16 05/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-09  7:20   ` [PATCH v16 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-09 18:33     ` Junio C Hamano
2025-06-09  7:20   ` Aditya Garg [this message]
2025-06-09 18:42     ` [PATCH v16 07/10] imap-send: add ability to list the available folders Junio C Hamano
2025-06-09  7:20   ` [PATCH v16 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-09 18:55     ` Junio C Hamano
2025-06-09 19:02       ` Aditya Garg
2025-06-09 20:14         ` Junio C Hamano
2025-06-09  7:20   ` [PATCH v16 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-09 18:57     ` Junio C Hamano
2025-06-09 19:05       ` Aditya Garg
2025-06-09  7:20   ` [PATCH v16 10/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-09 15:41 ` [PATCH v17 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-09 15:41   ` [PATCH v17 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-09 15:41   ` [PATCH v17 02/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-09 15:41   ` [PATCH v17 03/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-09 15:41   ` [PATCH v17 04/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-09 15:41   ` [PATCH v17 05/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-09 15:41   ` [PATCH v17 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-09 15:41   ` [PATCH v17 07/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-09 15:41   ` [PATCH v17 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-09 15:41   ` [PATCH v17 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-09 15:41   ` [PATCH v17 10/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-09 20:22 ` [PATCH v18 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-09 20:22   ` [PATCH v18 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-09 20:22   ` [PATCH v18 02/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-09 20:22   ` [PATCH v18 03/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-09 20:22   ` [PATCH v18 04/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-17 10:27     ` Phillip Wood
2025-06-20  5:16       ` Aditya Garg
2025-06-20  7:00       ` Aditya Garg
2025-06-09 20:22   ` [PATCH v18 05/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-09 20:22   ` [PATCH v18 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-09 20:22   ` [PATCH v18 07/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-09 20:22   ` [PATCH v18 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-09 20:22   ` [PATCH v18 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-09 20:22   ` [PATCH v18 10/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-20  6:40 ` [PATCH v19 00/10] imap-send: make it usable again and add OAuth2.0 support Aditya Garg
2025-06-20  6:40   ` [PATCH v19 01/10] imap-send: fix bug causing cfg->folder being set to NULL Aditya Garg
2025-06-20  6:40   ` [PATCH v19 02/10] imap-send: fix memory leak in case auth_cram_md5 fails Aditya Garg
2025-06-20  6:40   ` [PATCH v19 03/10] imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL Aditya Garg
2025-06-20  6:40   ` [PATCH v19 04/10] imap-send: add support for OAuth2.0 authentication Aditya Garg
2025-06-20  6:40   ` [PATCH v19 05/10] imap-send: add PLAIN authentication method to OpenSSL Aditya Garg
2025-06-20  6:40   ` [PATCH v19 06/10] imap-send: enable specifying the folder using the command line Aditya Garg
2025-06-20  6:40   ` [PATCH v19 07/10] imap-send: add ability to list the available folders Aditya Garg
2025-06-20  6:40   ` [PATCH v19 08/10] imap-send: display port alongwith host when git credential is invoked Aditya Garg
2025-06-20  6:40   ` [PATCH v19 09/10] imap-send: display the destination mailbox when sending a message Aditya Garg
2025-06-20  6:40   ` [PATCH v19 10/10] imap-send: fix minor mistakes in the logs Aditya Garg
2025-06-20 15:50   ` [PATCH v19 00/10] imap-send: make it usable again and add OAuth2.0 support Junio C Hamano
2025-06-23  9:09     ` Phillip Wood
2025-06-23 16:27       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PN3PR01MB9597440624DB4F9871F069FAB86BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM \
    --to=gargaditya08@live.com \
    --cc=ben.knoble@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=phillip.wood123@gmail.com \
    --cc=sandals@crustytoothpaste.net \
    --cc=sunshine@sunshineco.com \
    --cc=ziyao@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).