This is an automated email from the ASF dual-hosted git repository. lahirujayathilake pushed a commit to branch refactoring in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 2b4c2e9939deec3518a84c3c204734166b6c52e7 Author: lahiruj <[email protected]> AuthorDate: Tue Jul 22 21:07:31 2025 -0400 thrift 0.22 support --- django_airavata/utils.py | 25 +++++++++++++++---------- requirements.txt | 6 +++--- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/django_airavata/utils.py b/django_airavata/utils.py index 2fe4d73b..343cea95 100644 --- a/django_airavata/utils.py +++ b/django_airavata/utils.py @@ -1,5 +1,6 @@ import logging import ssl +from django.conf import settings from contextlib import contextmanager import thrift_connector.connection_pool as connection_pool @@ -46,12 +47,13 @@ def get_unsecure_transport(hostname, port): def get_secure_transport(hostname, port): # Create a socket to the Airavata Server - # TODO: validate server certificate - transport = TSSLSocket.TSSLSocket(hostname, port, validate=False) - - # Use Buffered Protocol to speedup over raw sockets - transport = TTransport.TBufferedTransport(transport) - return transport + transport = TSSLSocket.TSSLSocket( + hostname, + port, + cert_reqs=ssl.CERT_REQUIRED, + ca_certs=settings.CA_CERTS_PATH, + ) + return TTransport.TBufferedTransport(transport) def get_transport(hostname, port, secure=True): @@ -181,10 +183,13 @@ class CustomThriftClient(connection_pool.ThriftClient): return super().get_socket_factory() else: def factory(host, port): - return TSSLSocket.TSSLSocket(host, port, - cert_reqs=(ssl.CERT_REQUIRED - if cls.validate - else ssl.CERT_NONE)) + return TSSLSocket.TSSLSocket( + host, + port, + cert_reqs=ssl.CERT_REQUIRED, + ca_certs=settings.CA_CERTS_PATH, + ) + return factory def ping(self): diff --git a/requirements.txt b/requirements.txt index 32b17060..94f06ae7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ Django==3.2.18 requests==2.25.1 requests-oauthlib==0.7.0 -thrift==0.16.0 +thrift==0.22.0 thrift_connector==0.24 djangorestframework==3.12.4 django-webpack-loader==0.6.0 @@ -24,8 +24,8 @@ grpcio-tools==1.51.1 ; python_version >= "3.7" grpcio==1.48.2 ; python_version < "3.7" grpcio==1.51.1 ; python_version >= "3.7" -airavata-django-portal-sdk==1.8.4 -airavata-python-sdk==1.1.6 +airavata-django-portal-sdk== 1.8.4 +airavata-python-sdk==2.1.5 airavata-django-portal-commons==1.0.0 -e "."
