The symbols required for TLS False Start support in libcurl were
introduced in different versions of nss:

  SSL_ENABLE_FALSE_START       - 3.12.8
  SSL_LIBRARY_VERSION_TLS_1_2  - 3.15.1
  SSL_SetCanFalseStartCallback - 3.15.4

In order to support TLS False Start safely, require at least nss 3.15.4

--- lib/vtls/nss.c
+++ lib/vtls/nss.c
@@ -724,6 +724,7 @@ static void HandshakeCallback(PRFileDesc
   }
 }
 
+#if NSSVERNUM >= 0x030f04 /* 3.15.4 */
 static SECStatus CanFalseStartCallback(PRFileDesc *sock, void *client_data,
                                        PRBool *canFalseStart)
 {
@@ -781,6 +782,7 @@ static SECStatus CanFalseStartCallback(P
 end:
   return SECSuccess;
 }
+#endif
 
 static void display_cert_info(struct SessionHandle *data,
                               CERTCertificate *cert)
@@ -1706,6 +1708,7 @@ static CURLcode nss_setup_connect(struct
     goto error;
 #endif
 
+#if NSSVERNUM >= 0x030f04 /* 3.15.4 */
 #ifdef SSL_ENABLE_FALSE_START
   if(data->set.ssl.falsestart) {
     if(SSL_OptionSet(connssl->handle, SSL_ENABLE_FALSE_START, PR_TRUE)
@@ -1717,6 +1720,7 @@ static CURLcode nss_setup_connect(struct
       goto error;
   }
 #endif
+#endif
 
 #if defined(SSL_ENABLE_NPN) || defined(SSL_ENABLE_ALPN)
   if(data->set.ssl_enable_npn || data->set.ssl_enable_alpn) {
@@ -1996,11 +2000,15 @@ bool Curl_nss_cert_status_request(void)
 }
 
 bool Curl_nss_false_start(void) {
+#if NSSVERNUM >= 0x030f04 /* 3.15.4 */
 #ifdef SSL_ENABLE_FALSE_START
   return TRUE;
 #else
   return FALSE;
 #endif
+#else
+  return FALSE;
+#endif
 }
 
 #endif /* USE_NSS */

