<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/imap-send.c, branch jch</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=jch</id>
<link rel='self' href='https://git.shady.money/git/atom?h=jch'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2026-03-11T22:25:15Z</updated>
<entry>
<title>imap-send: move common code into function host_matches()</title>
<updated>2026-03-11T22:25:15Z</updated>
<author>
<name>Beat Bolli</name>
<email>dev+git@drbeat.li</email>
</author>
<published>2026-03-11T22:10:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6392a0b75d979ba8e23c85d57b85779aace25370'/>
<id>urn:sha1:6392a0b75d979ba8e23c85d57b85779aace25370</id>
<content type='text'>
Move the ASN1_STRING access, the associated cast and the check for
embedded NUL bytes into host_matches() to simplify both callers.

Reformulate the NUL check using memchr() and add a comment to make it
more obvious what it is about.

Signed-off-by: Beat Bolli &lt;dev+git@drbeat.li&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>imap-send: use the OpenSSL API to access the subject common name</title>
<updated>2026-03-11T22:25:15Z</updated>
<author>
<name>Beat Bolli</name>
<email>dev+git@drbeat.li</email>
</author>
<published>2026-03-11T22:10:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=08fd302fc4b8eaf0bb32856231a5fb46430e3c7e'/>
<id>urn:sha1:08fd302fc4b8eaf0bb32856231a5fb46430e3c7e</id>
<content type='text'>
The OpenSSL 4.0 master branch has deprecated the
X509_NAME_get_text_by_NID function. Use the recommended replacement APIs
instead. They have existed since OpenSSL v1.1.0.

Take care to get the constness right for pre-4.0 versions.

Signed-off-by: Beat Bolli &lt;dev+git@drbeat.li&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>imap-send: use the OpenSSL API to access the subject alternative names</title>
<updated>2026-03-11T22:25:15Z</updated>
<author>
<name>Beat Bolli</name>
<email>dev+git@drbeat.li</email>
</author>
<published>2026-03-11T22:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dfcdd0b960fc1efd2fe19e97b973b435727b4c42'/>
<id>urn:sha1:dfcdd0b960fc1efd2fe19e97b973b435727b4c42</id>
<content type='text'>
The OpenSSL 4.0 master branch has made the ASN1_STRING structure opaque,
forbidding access to its internal fields. Use the official accessor
functions instead. They have existed since OpenSSL v1.1.0.

Signed-off-by: Beat Bolli &lt;dev+git@drbeat.li&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/curl-off-t-fixes'</title>
<updated>2025-10-07T19:25:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-10-07T19:25:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c2817955674c8cfc217c4ffc1deea8cc8cabe526'/>
<id>urn:sha1:c2817955674c8cfc217c4ffc1deea8cc8cabe526</id>
<content type='text'>
A few places where an size_t value was cast to curl_off_t without
checking has been updated to use the existing helper function.

* js/curl-off-t-fixes:
  http-push: avoid new compile error
  imap-send: be more careful when casting to `curl_off_t`
  http: offer to cast `size_t` to `curl_off_t` safely
</content>
</entry>
<entry>
<title>imap-send: be more careful when casting to `curl_off_t`</title>
<updated>2025-09-26T17:38:18Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-09-26T10:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=580cf0f2f6d38221fc4c5f17155c311915301a5c'/>
<id>urn:sha1:580cf0f2f6d38221fc4c5f17155c311915301a5c</id>
<content type='text'>
When casting a `size_t` to `curl_off_t`, there is a currently uncommon
chance that the value can be cut off (`curl_off_t` is expected to be a
signed 64-bit data type).

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ag/send-email-imap-sent'</title>
<updated>2025-09-18T17:07:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-09-18T17:07:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1c385d1bf8a5ec4e1b5d165a594f37a4bbdc3bdd'/>
<id>urn:sha1:1c385d1bf8a5ec4e1b5d165a594f37a4bbdc3bdd</id>
<content type='text'>
"git send-email" learned to drive "git imap-send" to store already
sent e-mails in an IMAP folder.

* ag/send-email-imap-sent:
  send-email: enable copying emails to an IMAP folder without actually sending them
  send-email: add ability to send a copy of sent emails to an IMAP folder
</content>
</entry>
<entry>
<title>send-email: add ability to send a copy of sent emails to an IMAP folder</title>
<updated>2025-08-12T15:59:35Z</updated>
<author>
<name>Aditya Garg</name>
<email>gargaditya08@live.com</email>
</author>
<published>2025-08-12T06:44:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=04133f5bc4f3dc7c847f4ba50e02486bcc117d94'/>
<id>urn:sha1:04133f5bc4f3dc7c847f4ba50e02486bcc117d94</id>
<content type='text'>
Some email providers like Apple iCloud Mail do not support sending a copy
of sent emails to the "Sent" folder if SMTP server is used. As a
workaround, various email clients like Thunderbird which rely on SMTP,
use IMAP to send a copy of sent emails to the "Sent" folder. Something
similar can be done if sending emails via `git send-email`, by using
the `git imap-send` command to send a copy of the sent email to an IMAP
folder specified by the user.

Add this functionality to `git send-email` by introducing a new
configuration variable `sendemail.imapfolder` and command line option
`--imap-folder` which specifies the IMAP folder to send a copy of the
sent emails to. If specified, a copy of the sent emails will be sent
by piping the emails to `git imap-send` command, after all emails are
sent via SMTP and the SMTP server has been closed.

Signed-off-by: Aditya Garg &lt;gargaditya08@live.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>config: move Git config parsing into "environment.c"</title>
<updated>2025-07-23T15:15:22Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-23T14:08:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=08b775864edf96b97500fd70446c55528f5cf4a6'/>
<id>urn:sha1:08b775864edf96b97500fd70446c55528f5cf4a6</id>
<content type='text'>
In "config.c" we host both the business logic to read and write config
files as well as the logic to parse specific Git-related variables. On
the one hand this is mixing concerns, but even more importantly it means
that we cannot easily remove the dependency on `the_repository` in our
config parsing logic.

Move the logic into "environment.c". This file is a grab bag of all
kinds of global state already, so it is quite a good fit. Furthermore,
it also hosts most of the global variables that we're parsing the config
values into, making this an even better fit.

Note that there is one hidden change: in `parse_fsync_components()` we
use an `int` to iterate through `ARRAY_SIZE(fsync_component_names)`. But
as -Wsign-compare warnings are enabled in this file this causes a
compiler warning. The issue is fixed by using a `size_t` instead.

This change allows us to drop the `USE_THE_REPOSITORY_VARIABLE`
declaration.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>config: drop `git_config()` wrapper</title>
<updated>2025-07-23T15:15:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-23T14:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ce196e86b455fa2552812802c58f30c090c94af'/>
<id>urn:sha1:9ce196e86b455fa2552812802c58f30c090c94af</id>
<content type='text'>
In 036876a1067 (config: hide functions using `the_repository` by
default, 2024-08-13) we have moved around a bunch of functions in the
config subsystem that depend on `the_repository`. Those function have
been converted into mere wrappers around their equivalent function that
takes in a repository as parameter, and the intent was that we'll
eventually remove those wrappers to make the dependency on the global
repository variable explicit at the callsite.

Follow through with that intent and remove `git_config()`. All callsites
are adjusted so that they use `repo_config(the_repository, ...)`
instead. While some callsites might already have a repository available,
this mechanical conversion is the exact same as the current situation
and thus cannot cause any regression. Those sites should eventually be
cleaned up in a later patch series.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>imap-send: improve error messages with configuration hints</title>
<updated>2025-06-20T21:14:44Z</updated>
<author>
<name>Jörg Thalheim</name>
<email>joerg@thalheim.io</email>
</author>
<published>2025-06-20T15:56:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d30bf28d09d4d13ca7984d8593522be22f698f8a'/>
<id>urn:sha1:d30bf28d09d4d13ca7984d8593522be22f698f8a</id>
<content type='text'>
Replace basic error messages with more helpful ones that guide users
on how to resolve configuration issues. When imap.host or imap.folder
are missing, provide the exact git config commands needed to fix the
problem, along with examples of typical values.

Use the advise() API to display hints in a multi-line format with
proper "hint:" prefixes for each line.

Signed-off-by: Jörg Thalheim &lt;joerg@thalheim.io&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
