diff options
Diffstat (limited to 'src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi')
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi | 89 |
1 files changed, 63 insertions, 26 deletions
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi index 41975cbe9e..7e9ea33ca0 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi @@ -12,49 +12,86 @@ # See the License for the specific language governing permissions and # limitations under the License. -cimport cpython +cdef class CallCredentials: -cdef class ChannelCredentials: + cdef grpc_call_credentials *c(self) - cdef grpc_channel_credentials *c_credentials - cdef grpc_ssl_pem_key_cert_pair c_ssl_pem_key_cert_pair - cdef list references + # TODO(https://github.com/grpc/grpc/issues/12531): remove. + cdef grpc_call_credentials *c_credentials -cdef class CallCredentials: +cdef int _get_metadata( + void *state, grpc_auth_metadata_context context, + grpc_credentials_plugin_metadata_cb cb, void *user_data, + grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX], + size_t *num_creds_md, grpc_status_code *status, + const char **error_details) with gil - cdef grpc_call_credentials *c_credentials - cdef list references +cdef void _destroy(void *state) with gil -cdef class ServerCredentials: +cdef class MetadataPluginCallCredentials(CallCredentials): - cdef grpc_server_credentials *c_credentials - cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs - cdef size_t c_ssl_pem_key_cert_pairs_count - cdef list references + cdef readonly object _metadata_plugin + cdef readonly bytes _name + cdef grpc_call_credentials *c(self) -cdef class CredentialsMetadataPlugin: - cdef object plugin_callback - cdef bytes plugin_name +cdef grpc_call_credentials *_composition(call_credentialses) -cdef grpc_metadata_credentials_plugin _c_plugin(CredentialsMetadataPlugin plugin) +cdef class CompositeCallCredentials(CallCredentials): + cdef readonly tuple _call_credentialses -cdef class AuthMetadataContext: + cdef grpc_call_credentials *c(self) - cdef grpc_auth_metadata_context context +cdef class ChannelCredentials: -cdef int plugin_get_metadata( - void *state, grpc_auth_metadata_context context, - grpc_credentials_plugin_metadata_cb cb, void *user_data, - grpc_metadata creds_md[GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX], - size_t *num_creds_md, grpc_status_code *status, - const char **error_details) with gil + cdef grpc_channel_credentials *c(self) -cdef void plugin_destroy_c_plugin_state(void *state) with gil + # TODO(https://github.com/grpc/grpc/issues/12531): remove. + cdef grpc_channel_credentials *c_credentials + + +cdef class SSLChannelCredentials(ChannelCredentials): + + cdef readonly object _pem_root_certificates + cdef readonly object _private_key + cdef readonly object _certificate_chain + + cdef grpc_channel_credentials *c(self) + + +cdef class CompositeChannelCredentials(ChannelCredentials): + + cdef readonly tuple _call_credentialses + cdef readonly ChannelCredentials _channel_credentials + + cdef grpc_channel_credentials *c(self) + + +cdef class ServerCertificateConfig: + + cdef grpc_ssl_server_certificate_config *c_cert_config + cdef const char *c_pem_root_certs + cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs + cdef size_t c_ssl_pem_key_cert_pairs_count + cdef list references + + +cdef class ServerCredentials: + + cdef grpc_server_credentials *c_credentials + cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs + cdef size_t c_ssl_pem_key_cert_pairs_count + cdef list references + # the cert config related state is used only if this credentials is + # created with cert config/fetcher + cdef object initial_cert_config + cdef object cert_config_fetcher + # whether C-core has asked for the initial_cert_config + cdef bint initial_cert_config_fetched |