# Re: \[RFC 0/3\] imap-send curl tunnelling support

- From: Nicolas Morey-Chaisemartin \<hidden\>
- Date: 2017-08-15 17:59:21 
- List: git
- Page: https://ratatoskr.run/git/2017/08/7732063
- Thread: https://ratatoskr.run/git/2017/08/7731299/t.md

```text
Ping.

I'd like to get feedback from Windows developer on patch #2
Patch#3 will probably need some updates as I expected Jeff old curl drop patches to make it in.
As it seems to be going another way a few more ifdefs will be required

Nicolas

Le 09/08/2017 à 16:43, Nicolas Morey-Chaisemartin a écrit :
> From 7.21.5, curl can be tricked into using an open fd.
> This series uses this to allow using curl over a tunnel.
>
> I have a few doubt on patch #2:
> - is socketpair working on all git supported system (windows ?)
> - should socketpair always be used or limited to the curl over tunnel case ?
>   I don't think there is too much different between an unname pipe and a socketpair but I'm not sure either :)
>
> This series also shows a "bug" in curl.
> When trying out the tunnel example fro imap-send documentation, this happends:
> Starting tunnel 'ssh -q -C localhost /usr/sbin/imapd ./Maildir'... ok
> sending 3 messages
> 16:38:54.055221 http.c:639              == Info: Hostname was NOT found in DNS cache
> 16:38:54.059505 http.c:639              == Info:   Trying ::1...
> 16:38:54.059545 http.c:639              == Info: Connected to localhost () port 143 (#0)
> 16:38:54.354379 http.c:586              <= Recv header, 0000000332 bytes (0x0000014c)
> 16:38:54.354405 http.c:598              <= Recv header: * PREAUTH [CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] Pre-authenticated user nmorey portia.home.nicolas.morey-chaisemartin.com IMAP4rev1 2007e.404 at Wed, 9 Aug 2017 16:38:54 +0200 (CEST)
> 16:38:54.354425 http.c:639              == Info: Bad tagged response
> 16:38:54.354448 http.c:639              == Info: Closing connection 0
> curl_easy_perform() failed: FTP: weird server reply
>
> It appears curl do not support the PREAUTH tag.
>
> However a test with "nc imap.server.ext 143" is working fine.
>
> Nicolas Morey-Chaisemartin (3):
>   imap-send: move tunnel setup to its own function
>   imap-send: use a socketpair instead of pipe to communicate with the
>     tunnel
>   imap_send: add support for curl over tunnel
>
>  Documentation/git-imap-send.txt |  4 +-
>  imap-send.c                     | 91 +++++++++++++++++++++++++++++++----------
>  2 files changed, 72 insertions(+), 23 deletions(-)
>

```
