Commit 1f651d1d authored by Alessandro Ghedini's avatar Alessandro Ghedini Committed by Kamil Dudka
Browse files

curl: add --false-start option

parent 185914fd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -562,6 +562,15 @@ or no response at all is received, the verification fails.

This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
(Added in 7.41.0)
.IP "--false-start"

(SSL) Tells curl to use false start during the TLS handshake. False start is a
mode where a TLS client will start sending application data before verifying
the server's Finished message, thus saving a round trip when performing a full
handshake.

This is currently only implemented in the NSS backend.
(Added in 7.42.0)
.IP "-f, --fail"
(HTTP) Fail silently (no output at all) on server errors. This is mostly done
to better enable scripts etc to better deal with failed attempts. In normal
+2 −0
Original line number Diff line number Diff line
@@ -207,6 +207,8 @@ struct OperationConfig {
  bool noalpn;                    /* enable/disable TLS ALPN extension */
  char *unix_socket_path;         /* path to Unix domain socket */

  bool falsestart;

  struct GlobalConfig *global;
  struct OperationConfig *prev;
  struct OperationConfig *next;   /* Always last in the struct */
+5 −0
Original line number Diff line number Diff line
@@ -218,6 +218,7 @@ static const struct LongShort aliases[]= {
  {"Eo", "login-options",            TRUE},
  {"Ep", "pinnedpubkey",             TRUE},
  {"Eq", "cert-status",              FALSE},
  {"Er", "false-start",              FALSE},
  {"f",  "fail",                     FALSE},
  {"F",  "form",                     TRUE},
  {"Fs", "form-string",              TRUE},
@@ -1368,6 +1369,10 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
        config->verifystatus = TRUE;
        break;

      case 'r': /* --false-start */
        config->falsestart = TRUE;
        break;

      default: /* certificate file */
      {
        char *certname, *passphrase;
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ static const char *const helptext[] = {
  "     --environment   Write results to environment variables (RISC OS)",
#endif
  " -f, --fail          Fail silently (no output at all) on HTTP errors (H)",
  "     --false-start   Enable TLS False Start.",
  " -F, --form CONTENT  Specify HTTP multipart POST data (H)",
  "     --form-string STRING  Specify HTTP multipart POST data (H)",
  "     --ftp-account DATA  Account data string (F)",
+3 −0
Original line number Diff line number Diff line
@@ -1041,6 +1041,9 @@ static CURLcode operate_do(struct GlobalConfig *global,

          if(config->verifystatus)
            my_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 1L);

          if(config->falsestart)
            my_setopt(curl, CURLOPT_SSL_FALSESTART, 1L);
        }

        if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) {