05-ssl.patch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi
  2. index fc7a9ba..bfec911 100644
  3. --- a/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi
  4. +++ b/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi
  5. @@ -333,6 +333,7 @@ cdef extern from "grpc/grpc.h":
  6. void * reserved
  7. grpc_op_data data
  8. + void grpc_dont_init_openssl() nogil
  9. void grpc_init() nogil
  10. void grpc_shutdown() nogil
  11. void grpc_shutdown_blocking() nogil
  12. diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx
  13. index ce98fa3..f7f369c 100644
  14. --- a/src/python/grpcio/grpc/_cython/cygrpc.pyx
  15. +++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx
  16. @@ -56,8 +56,8 @@ cdef _initialize():
  17. # We have Python callbacks called by c-core threads, this ensures the GIL
  18. # is initialized.
  19. PyEval_InitThreads()
  20. - grpc_set_ssl_roots_override_callback(
  21. - <grpc_ssl_roots_override_callback>ssl_roots_override_callback)
  22. -
  23. + import ssl
  24. + grpc_dont_init_openssl()
  25. + # Load Arcadia certs in ComputePemRootCerts and do not override here.
  26. _initialize()
  27. diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi
  28. index e17ca6d..9cc3fd5 100644
  29. --- a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi
  30. +++ b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi
  31. @@ -14,16 +14,10 @@
  32. from libc.string cimport memcpy
  33. -import pkgutil
  34. -
  35. -
  36. cdef grpc_ssl_roots_override_result ssl_roots_override_callback(
  37. char **pem_root_certs) nogil:
  38. with gil:
  39. - pkg = __name__
  40. - if pkg.endswith('.cygrpc'):
  41. - pkg = pkg[:-len('.cygrpc')]
  42. - temporary_pem_root_certs = pkgutil.get_data(pkg, '_credentials/roots.pem')
  43. + temporary_pem_root_certs = ''
  44. pem_root_certs[0] = <char *>gpr_malloc(len(temporary_pem_root_certs) + 1)
  45. memcpy(
  46. pem_root_certs[0], <char *>temporary_pem_root_certs,