git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Bernhard Reiter <ockham@raz.or.at>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	git@vger.kernel.org, 434599@bugs.debian.org
Subject: Re: [PATCH/RFC] git-imap-send: use libcurl for implementation
Date: Sun, 17 Aug 2014 14:42:52 -0400	[thread overview]
Message-ID: <20140817184252.GB2200@peff.net> (raw)
In-Reply-To: <53F0A66A.9000909@raz.or.at>

On Sun, Aug 17, 2014 at 02:56:10PM +0200, Bernhard Reiter wrote:

> > I'm not sure if that would cause problems on Windows,
> > though.
> 
> Apparently socketpair is not available there. Googling "socketpair
> windows" yields, among a lot of other useful resources, the following
> relatively actively maintained ~150 LOC, BSD-3-clause-licensed,
> implementation:
> 
> https://github.com/ncm/selectable-socketpair
> 
> That license is GPL compatible, so should we consider including that
> implementation with git? That's the kind of stuff that goes to
> compat/win32, right?

Thanks for researching. Sticking that in compat/ would be our usual
strategy, yes.

> > I'm not sure I understand this comment. Even if SSL is not in use,
> > wouldn't we be passing a regular pipe to curl, which would break?
> 
> Yeah, we can't do that, and thus would have to keep the handwritten IMAP
> implementation just for the tunnel case (allowing to drop only the
> OpenSSL specific stuff), see my other email:
> http://www.mail-archive.com/git@vger.kernel.org/msg56791.html (the
> relevant part is pretty far down at the bottom).

I'd really love it if we could make this work with tunnels and
eventually get rid of the hand-written imap code entirely. I agree with
Jonathan that we probably need to keep it around a bit for people on
older curl, but dropping it is a good goal in the long run. That code
was forked from the isync project, but mangled enough that we could not
take bug fixes from upstream. As not many people use imap-send, I
suspect it is largely unmaintained and the source of many lurking
bugs[1]. Replacing it with curl's maintained implementation is probably
a good step.

-Peff

[1] That's my somewhat subjective opinion, but I feel like I have seen
    several bugs reported in imap-send that had literally been there for
    years. And having worked on IMAP implementations in a past life, I
    know there are many dark corners of the protocol that vary from
    server to server.

  reply	other threads:[~2014-08-17 18:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-12 21:50 [PATCH/RFC] git-imap-send: use libcurl for implementation Bernhard Reiter
2014-08-13  1:59 ` Jonathan Nieder
2014-08-17  8:30   ` Jeff King
2014-08-17 12:56     ` Bernhard Reiter
2014-08-17 18:42       ` Jeff King [this message]
2014-08-19 11:14         ` Bernhard Reiter
2014-08-19 17:13           ` Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2014-08-14 21:46 Bernhard Reiter
2014-08-19 17:51 ` Junio C Hamano
2014-08-25 20:11   ` Bernhard Reiter
2014-08-25 21:08     ` 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=20140817184252.GB2200@peff.net \
    --to=peff@peff.net \
    --cc=434599@bugs.debian.org \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=ockham@raz.or.at \
    /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).