Commit a1701eea authored by Steve Holme's avatar Steve Holme
Browse files

imap: Added support for the STARTTLS capability (Part One)

Introduced detection of the STARTTLS capability, in order to add support
for TLS upgrades without unconditionally sending the STARTTLS command.
parent 8170d1f8
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -371,8 +371,12 @@ static int imap_endofresp(struct pingpong *pp, int *resp)
              line[wordlen] != '\n';)
          wordlen++;

        /* Does the server support the STARTTLS capability? */
        if(len >= 8 && !memcmp(line, "STARTTLS", 8))
          imapc->tls_supported = TRUE;

        /* Has the server explicitly disabled clear text authentication? */
        if(wordlen == 13 && !memcmp(line, "LOGINDISABLED", 13))
        else if(wordlen == 13 && !memcmp(line, "LOGINDISABLED", 13))
          imapc->login_disabled = TRUE;

        /* Does the server support the SASL-IR capability? */
+1 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ struct imap_conn {
  int cmdid;              /* Last used command ID */
  char resptag[5];        /* Response tag to wait for */
  bool ssldone;           /* Is connect() over SSL done? */
  bool tls_supported;     /* StartTLS capability supported by server */
  bool login_disabled;    /* LOGIN command explicitly disabled by server */
  bool ir_supported;      /* Initial response supported by server */
};