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 "."

Reply via email to