Răsfoiți Sursa

Use GNUTLS_NONBLOCK (if available) for TLS sessions

Evgeny Grin (Karlson2k) 8 ani în urmă
părinte
comite
67f0f76b90
2 a modificat fișierele cu 9 adăugiri și 0 ștergeri
  1. 6 0
      ChangeLog
  2. 3 0
      src/microhttpd/daemon.c

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+Thu Jul 13 21:41:00 MSK 2017
+	Restored SIGPIPE suppression in TLS mode.
+	Added new value MHD_FEATURE_AUTOSUPPRESS_SIGPIPE so application could
+	check whether SIGPIPE handling is required.
+	Used GNUTLS_NONBLOCK for TLS sessions. -EG
+
 Tue Jun 20 23:52:00 MSK 2017
 Tue Jun 20 23:52:00 MSK 2017
 	Libgcrypt is now optional and required only for old GnuTLS versions. -EG
 	Libgcrypt is now optional and required only for old GnuTLS versions. -EG
 
 

+ 3 - 0
src/microhttpd/daemon.c

@@ -2296,6 +2296,9 @@ internal_add_connection (struct MHD_Daemon *daemon,
 #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402)
 #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402)
                    | GNUTLS_NO_SIGNAL
                    | GNUTLS_NO_SIGNAL
 #endif /* GNUTLS_VERSION_NUMBER >= 0x030402 */
 #endif /* GNUTLS_VERSION_NUMBER >= 0x030402 */
+#if GNUTLS_VERSION_MAJOR >= 3
+                   | GNUTLS_NONBLOCK
+#endif /* GNUTLS_VERSION_MAJOR >= 3*/
                   );
                   );
       gnutls_priority_set (connection->tls_session,
       gnutls_priority_set (connection->tls_session,
 			   daemon->priority_cache);
 			   daemon->priority_cache);