]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.1'
authorAnatol Belski <ab@php.net>
Sat, 7 Jan 2017 23:39:53 +0000 (00:39 +0100)
committerAnatol Belski <ab@php.net>
Sat, 7 Jan 2017 23:39:53 +0000 (00:39 +0100)
* PHP-7.1:
  move various places to the centralized OpenSSL setup routine
  use the new API for opaque symbol in OpenSSL 1.1.x
  implement basic config support for OpenSSL 1.1.x

1  2 
ext/openssl/xp_ssl.c
win32/build/confutils.js

Simple merge
index 780d9127cac0d389b1de5b248d68f747a9e1d149,841fa293df7e237114d72fae9af8a435dc199b67..be6fb62d4839496dd81730481fdf324e568adb87
@@@ -3290,31 -3264,25 +3290,53 @@@ function force_all_shared(
        return !!PHP_ALL_SHARED && "yes" == PHP_ALL_SHARED;
  }
  
 +function ADD_MAKEFILE_FRAGMENT(src_file)
 +{
 +      var fn_in;
 +
 +      if ("undefined" == typeof(src_file)) {
 +              fn_in = configure_module_dirname + "\\Makefile.frag.w32";
 +      } else {
 +              fn_in = src_file;
 +      }
 +
 +      if (FSO.FileExists(fn_in)) {
 +              var h_in, h_out;
 +              var create_out_fl = !FSO.FileExists(PHP_MAKEFILE_FRAGMENTS);
 +              var open_flags = create_out_fl ? 2 : 8;
 +
 +              h_in = FSO.OpenTextFile(fn_in, 1);
 +              h_out = FSO.OpenTextFile(PHP_MAKEFILE_FRAGMENTS, open_flags, create_out_fl);
 +
 +              if (!h_in.AtEndOfStream) {
 +                      h_out.Write(h_in.ReadAll());
 +                      h_out.WriteBlankLines(1);
 +              }
 +
 +              h_in.Close();
 +              h_out.Close();
 +      }
 +}
 +
+ function SETUP_OPENSSL(target, path_to_check, common_name, use_env, add_dir_part, add_to_flag_only)
+ {
+       var ret = 0;
+       var cflags_var = "CFLAGS_" + target.toUpperCase();
+       if (CHECK_LIB("ssleay32.lib", target, path_to_check, common_name) &&
+                       CHECK_LIB("libeay32.lib", target, path_to_check, common_name) &&
+                       CHECK_LIB("crypt32.lib", target, path_to_check, common_name) &&
+                       CHECK_HEADER_ADD_INCLUDE("openssl/ssl.h", cflags_var, path_to_check, use_env, add_dir_part, add_to_flag_only)) {
+               /* Openssl 1.0.x and lower */
+               return 1;
+       } else if (CHECK_LIB("libcrypto.lib", target, path_to_check) &&
+                       CHECK_LIB("libssl.lib", target, path_to_check) &&
+                       CHECK_LIB("crypt32.lib", target, path_to_check, common_name) &&
+                       CHECK_HEADER_ADD_INCLUDE("openssl/ssl.h", cflags_var, path_to_check, use_env, add_dir_part, add_to_flag_only)) {
+               /* Openssl 1.1.x */
+               return 2;
+       }
+       return ret;
+ }