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
