This is an automated email from the ASF dual-hosted git repository. lahirujayathilake pushed a commit to branch thrift-upgrade in repository https://gitbox.apache.org/repos/asf/airavata-portals.git
commit 2c4bba1361a1ced70d109b353c42f160875926be Author: lahiruj <[email protected]> AuthorDate: Sun Jul 13 16:42:34 2025 -0400 thrift upgrade initial changes --- airavata-django-portal-sdk/requirements.txt | 4 ++-- airavata-django-portal/django_airavata/utils.py | 24 ++++++++++++++---------- airavata-django-portal/requirements.txt | 6 +++--- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/airavata-django-portal-sdk/requirements.txt b/airavata-django-portal-sdk/requirements.txt index b050e9434..796cec691 100644 --- a/airavata-django-portal-sdk/requirements.txt +++ b/airavata-django-portal-sdk/requirements.txt @@ -1,4 +1,4 @@ -airavata-python-sdk==1.0.1 +airavata-python-sdk==2.1.5 bcrypt==3.1.7 cffi==1.15.1 cryptography==38.0.4 @@ -20,5 +20,5 @@ requests==2.20.0 scp==0.13.2 six==1.15.0 thrift-connector==0.24 -thrift==0.10.0 +thrift==0.22.0 zipstream-new==1.1.8 diff --git a/airavata-django-portal/django_airavata/utils.py b/airavata-django-portal/django_airavata/utils.py index 2fe4d73bf..87fa540ef 100644 --- a/airavata-django-portal/django_airavata/utils.py +++ b/airavata-django-portal/django_airavata/utils.py @@ -46,12 +46,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='/etc/ssl/certs/ca-certificates.crt', + ) + return TTransport.TBufferedTransport(transport) def get_transport(hostname, port, secure=True): @@ -181,10 +182,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='/etc/ssl/certs/ca-certificates.crt', + ) + return factory def ping(self): diff --git a/airavata-django-portal/requirements.txt b/airavata-django-portal/requirements.txt index 32b170608..94f06ae7f 100644 --- a/airavata-django-portal/requirements.txt +++ b/airavata-django-portal/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 "."
