X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=near-rt-ric-simulator%2Fsrc%2Fcommon%2Fmaincommon.py;h=131bf0d36cfeeba413d21e65977936b032e8f041;hb=68989f87b41dc50c890469905d5d41f2fb656559;hp=ee52d55412e08202d46f5ed721a9b4024608e8cd;hpb=9ab67f5d44b9e5bfcafddd6ea5e0ae10f68ca110;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 ee52d55..131bf0d 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. @@ -26,6 +26,7 @@ import ssl apipath=os.environ['APIPATH'] #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(): @@ -46,35 +47,27 @@ def get_supported_interfaces_response(): # 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