Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Sep 04, 2012

  1. SMTP: only send SIZE if supported

    SMTP client will send SIZE parameter in MAIL FROM command only if server
    supports it. Without this patch server might say "504 Command parameter
    not implemented" and reject the message.
    František Kučera authored committed

Jun 09, 2012

  1. Steve Holme

    smtp: Post apop feature code tidy up

Jun 08, 2012

  1. Steve Holme

    sasl: Re-factored mechanism constants in preparation for APOP work

Jun 06, 2012

  1. Steve Holme

    smtp: Re-factored the SMTP_AUTH* state machine constants

    Re-factored the SMTP_AUTH* constants, that are used by the state
    machine, to be clearer to read.

Jun 05, 2012

  1. Steve Holme

    smtp: Post authentication code tidy up

    Corrected lines longer than 78 characters.
    Removed unnecessary braces in smtp_state_helo_resp().
    Introduced some comments in data sending functions.
    Tidied up comments to match changes made in pop3.c.

May 25, 2012

  1. Steve Holme

    smtp: Moved auth-mechanism constants into a separate header file

    Move the SMTP_AUTH constants into a separate header file in
    preparation for adding SASL based authentication to POP3 as the two
    protocols will need to share them.

May 17, 2012

  1. Steve Holme

    smtp: Fixed non-escaping of dot character at beginning of line

    A dot character at the beginning of a line would not be escaped to a
    double dot as required by RFC-2821, instead it would be deleted by the
    mail server. Please see section 4.5.2 of the RFC for more information.
    Note: This fix also simplifies the detection of repeated CRLF.CRLF
    combinations, such as CRLF.CRLF.CRLF, a little rather than having to
    advance the eob counter to 2.

Mar 31, 2012

  1. smtp: Add support for DIGEST-MD5 authentication

    Gökhan Şengün authored captain-caveman2k committed

Feb 16, 2012

  1. Steve Holme

    SMTP: Code policing and tidy up

    captain-caveman2k authored committed

Oct 03, 2011

  1. Steve Holme

    smtp: Added support for NTLM authentication

    Modified smtp_endofresp() to detect NTLM from the server specified list
    of supported authentication mechanisms.
    Modified smtp_authenticate() to start the sending of the NTLM data.
    Added smtp_auth_ntlm_type1_message() which creates a NTLM type-1
    message. This function is used by authenticate() to start the sending
    of data and by smtp_state_auth_ntlm_resp() when the AUTH command
    doesn't contain the type-1 message as part of the initial response.
    This lack of initial response can happen if an OOM error occurs or the
    type-1 message is longer than 504 characters. As the main AUTH command
    is limited to 512 character the data has to be transmitted in two
    parts; one containing the AUTH NTLM and the second containing the
    type-1 message.
    Added smtp_state_auth_ntlm_type2msg_resp() which handles the incoming
    type-2 message and sends an outgoing type-3 message. This type-2
    message is sent by the server in response to our type-1 message.
    Modified smtp_state_auth_resp() to handle the response to: the AUTH
    NTLM without the initial response and the type-2 response.
    Modified smtp_disconnect() to cleanup the NTLM SSPI stack.
    captain-caveman2k authored committed

Apr 27, 2011

  1. Daniel Stenberg

    source cleanup: unify look, style and indent levels

    By the use of a the new lib/ script that checks that our
    basic source style rules are followed.

Mar 15, 2011

  1. Ben Noordhuis

    SMTP-multi: non-blocking connect

    Use Curl_ssl_connect_nonblocking() when upgrading the connection to
    TLS/SSL while using the multi interface.
    bnoordhuis authored committed
  2. Ben Noordhuis

    SMTP in multi mode: use Curl_ssl_connect_nonblocking() when connecting.

    bnoordhuis authored committed

Apr 19, 2010

  1. monnerat

    Implement SMTP authentication

    monnerat authored

Apr 02, 2010

  1. Ben Greear

    fixed compiler warnings

    greearb authored committed

Mar 29, 2010

  1. Ben Greear

    fix smtp compile warning

    Use ssize_t instead of int for the Curl_smtp_escape_eob nread
    Signed-off-by: Ben Greear <>
    greearb authored committed

Mar 24, 2010

  1. Daniel Stenberg

    remove the CVSish $Id$ lines


Feb 22, 2010

  1. - Proper handling of STARTTLS on SMTP, taking CURLUSESSL_TRY into acc…

    - SMTP falls back to RFC821 HELO when EHLO fails (and SSL is not required).
    - Use of true local host name (i.e.: via gethostname()) when available, as default argument to SMTP HELO/EHLO.
    - Test case 804 for HELO fallback.
    Patrick Monnerat authored

Feb 20, 2010

  1. Daniel Stenberg

    - I made the SMTP code expect a 250 response back from the server aft…

    …er the
      full DATA has been sent, and I modified the test SMTP server to also send
      that response. As usual, the DONE operation that is made after a completed
      transfer is still not doable in a non-blocking way so this waiting for 250
      is unfortunately made blockingly.

Feb 12, 2010

  1. Daniel Stenberg

    - Jack Zhang reported a problem with SMTP: we wrongly used multiple a…

      in the same RCPT TO line, when they should be sent in separate single
      commands. I updated test case 802 to verify this.
    - I also fixed a bad use of my_setopt_str() of CURLOPT_MAIL_RCPT in the curl
      tool which made it try to output it as string for the --libcurl feature
      which could lead to crashes.

Dec 30, 2009

  1. Daniel Stenberg

    modified to get the EHLO domain from the path part of the URL instead…

    … of the
    user name
  2. Daniel Stenberg

    moved the SMTP payload escape function into Curl_smtp_escape_eob and put

    it in smtp.c
  3. Daniel Stenberg

    (SMTP) support DATA better in the server and make sure to "escape" CR…

    sequences in uploaded data. The test server doesn't "decode" escaped dot-lines
    but instead test cases must be written to take them into account. Added test
    case 803 to verify dot-escaping.

Dec 12, 2009

  1. Daniel Stenberg

    introducing IMAP, POP3 and SMTP support (still lots of polish left to…

    … do)
Something went wrong with that request. Please try again.