cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: [PATCH] SMTP Modifications

From: Yang Tse <yangsita_at_gmail.com>
Date: Thu, 25 Aug 2011 16:41:24 +0200

2011/8/24 Steve Holme wrote:

> Please find attached my next modification for the SMTP protocol - which adds
> the ability to specify whether authenticated connections (AUTH PLAIN and
> AUTH LOGIN) send the initial response in the AUTH command or in the next
> command. This can be set via the CURLOPT_MAIL_SINGLE_AUTH option but
> defaults to TRUE to maintain compatibility with versions of curl prior to
> 7.22.0.

It seems to me that you want to provide the capability of _not_
sending the 'client initial response' in the AUTH command in order to
allow interoperability with servers that support the AUTH extension
but that don't tolerate the optional client initial response argument.

It seems to me that in order to achieve this you propose an option
named 'CURLOPT_MAIL_SINGLE_AUTH'. I believe that literal is a bit
misleading relative to its actual intended behavior. If the purpose of
the option is what I understood in above paragraph, I think a more
appropriate literal would be
'CURLOPT_MAIL_AUTH_DISABLE_INITIAL_RESPONSE'.

The need for the CURLOPT_MAIL_AUTH_DISABLE_INITIAL_RESPONSE option as
an individual CURLOPT_* option may not be fully justified.

We can provide the ability to disable sending the client
initial-response AUTH argument by other means.

Introducing CURLOPT_MAILAUTH 'bitmasked' option would allow to specify
which authentication methods are exclusively allowed to be used, along
with any specific parametrization. For example bitmask argument for
CURLOPT_MAILAUTH could be composed with bits such as:

CURLMAIL_AUTH_ANY
CURLMAIL_AUTH_CRAM_MD5
CURLMAIL_AUTH_LOGIN
CURLMAIL_AUTH_PLAIN
CURLMAIL_AUTH_[...]
CURLMAIL_AUTH_DISABLE_INITIAL_RESPONSE

Something very similar is already done for other protocols ie CURLOPT_HTTPAUTH.

Daniel, should we use an independent
CURLOPT_MAIL_AUTH_DISABLE_INITIAL_RESPONSE option or do we simply let
it be a bit for the CURLOPT_MAILAUTH one?

Steve, once that Daniel has commented on all this, you can provide a
single patch that provides whole functionality, at least for the
optional disabling of client-response AUTH argument.

curl_easy_setopt.3 man page adjustments and test cases can be left out
now, but would be nice to have in a soonish subsequent patch.

-- 
-=[Yang]=-
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2011-08-25