X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=near-rt-ric-simulator%2Fsrc%2Fcommon%2Fmaincommon.py;h=6239f79707f9ec3f8fec7ab530e6ffcc3e59887b;hb=refs%2Fheads%2Fi-release;hp=79cda3b78bf6e039e19e7c15a7277cad59712008;hpb=109f3f55a3f0eaac94a9b6954fe2f3db611a991d;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 79cda3b..6239f79 100644 --- a/near-rt-ric-simulator/src/common/maincommon.py +++ b/near-rt-ric-simulator/src/common/maincommon.py @@ -1,5 +1,5 @@ # ============LICENSE_START=============================================== -# Copyright (C) 2020 Nordix Foundation. All rights reserved. +# Copyright (C) 2021 Nordix Foundation. All rights reserved. # ======================================================================== # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,10 +22,11 @@ from flask import Response import socket import ssl -#Must exist +# Must exist apipath=os.environ['APIPATH'] -#May exist +# May exist remote_hosts_logging=os.getenv('REMOTE_HOSTS_LOGGING') +duplicate_check=os.getenv('DUPLICATE_CHECK') # Make sure the api path for the interface yaml file is set, otherwise exit def check_apipath(): @@ -40,40 +41,33 @@ def get_supported_interfaces_response(): arr = os.listdir("../") del arr[arr.index('common')] # Remove the common lib del arr[arr.index('start.sh')] # Remove the start script + arr.sort() 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']) + if request.environ.get('HTTP_X_FORWARDED_FOR') is None: + host_ip=str(request.environ['REMOTE_ADDR']) + else: + host_ip=str(request.environ['HTTP_X_FORWARDED_FOR']) 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: + except Exception: 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)) +# Function to check if duplicate check shall be made +# True = check for duplicates +# False = ignore duplicates +def is_duplicate_check(): + global duplicate_check - 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 + if ((duplicate_check is not None) and (duplicate_check == "1")): + return True + return False