X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=near-rt-ric-simulator%2Fsrc%2Fcommon%2Fmaincommon.py;h=79cda3b78bf6e039e19e7c15a7277cad59712008;hb=109f3f55a3f0eaac94a9b6954fe2f3db611a991d;hp=d0b980254181b2ef4ed02c78393193ae6fe45b56;hpb=b11c353b98286b79e7a74d20e6e36042fd789fba;p=sim%2Fa1-interface.git diff --git a/near-rt-ric-simulator/src/common/maincommon.py b/near-rt-ric-simulator/src/common/maincommon.py index d0b9802..79cda3b 100644 --- a/near-rt-ric-simulator/src/common/maincommon.py +++ b/near-rt-ric-simulator/src/common/maincommon.py @@ -19,8 +19,13 @@ import os import sys from pathlib import Path from flask import Response +import socket +import ssl +#Must exist apipath=os.environ['APIPATH'] +#May exist +remote_hosts_logging=os.getenv('REMOTE_HOSTS_LOGGING') # Make sure the api path for the interface yaml file is set, otherwise exit def check_apipath(): @@ -37,3 +42,38 @@ def get_supported_interfaces_response(): del arr[arr.index('start.sh')] # Remove the start script return Response("Current interface: " + str(pp[len(pp)-1]) + " All supported A1 interface yamls in this container: "+str(arr), 200, mimetype='text/plain') +# Remote host lookup and store host name in a set +def extract_host_name(hosts_set, request): + if (remote_hosts_logging is not None): + host_ip=str(request.environ['REMOTE_ADDR']) + prefix='::ffff:' + if (host_ip.startswith('::ffff:')): + host_ip=host_ip[len(prefix):] + try: + name, alias, addresslist = socket.gethostbyaddr(host_ip) + hosts_set.add(name) + except Exception as e: + hosts_set.add(host_ip) + else: + hosts_set.add("logging_of_remote_host_names_not_enabled") + +# Check if cert is available and return a sec context, if not return 'None' +def get_security_context(): + + try: + path="/usr/src/app/cert" + if (os.path.isdir(path)): + certpath=path+"/cert.crt" + keypath=path+"/key.crt" + if (os.path.isfile(certpath) and os.path.isfile(keypath)): + context = ssl.SSLContext(ssl.PROTOCOL_TLS) + context.load_cert_chain(certpath, keypath, password="test") + return context + else: + print("Cert and/or key does not exists in dir "+str(path)) + + else: + print("Path "+str(path)+" to certificate and key does not exists") + except Exception as e: + print("Problem when loading cert and key: "+str(e)) + return None