Browse Source

Ensure struct timeval is defined when including ssl.h

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/22323)
Hugo Landau 7 tháng trước cách đây
mục cha
commit
6cf23ce54d
2 tập tin đã thay đổi với 31 bổ sung0 xóa
  1. 30 0
      include/openssl/e_ostime.h
  2. 1 0
      include/openssl/ssl.h.in

+ 30 - 0
include/openssl/e_ostime.h

@@ -0,0 +1,30 @@
+/*
+ * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifndef OPENSSL_E_OSTIME_H
+# define OPENSSL_E_OSTIME_H
+# pragma once
+
+# include <openssl/macros.h>
+# include <openssl/opensslconf.h>
+# include <openssl/e_os2.h>
+
+/*
+ * This header guarantees that 'struct timeval' will be available. It includes
+ * the minimum headers needed to facilitate this. This may still be a
+ * substantial set of headers on some platforms (e.g. <winsock2.h> on Win32).
+ */
+
+# if defined(OPENSSL_SYS_WINDOWS)
+#  include <winsock2.h>
+# else
+#  include <sys/time.h>
+# endif
+
+#endif

+ 1 - 0
include/openssl/ssl.h.in

@@ -25,6 +25,7 @@ use OpenSSL::stackhash qw(generate_stack_macros generate_const_stack_macros);
 # endif
 
 # include <openssl/e_os2.h>
+# include <openssl/e_ostime.h>
 # include <openssl/opensslconf.h>
 # include <openssl/comp.h>
 # include <openssl/bio.h>