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=d0b980254181b2ef4ed02c78393193ae6fe45b56;hpb=21be2e0c890fb9604d0add2942fcff19b6fe2fb2;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..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. @@ -19,8 +19,14 @@ 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') +duplicate_check=os.getenv('DUPLICATE_CHECK') # Make sure the api path for the interface yaml file is set, otherwise exit def check_apipath(): @@ -35,5 +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): + 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: + hosts_set.add(host_ip) + else: + hosts_set.add("logging_of_remote_host_names_not_enabled") + +# Function to check if duplicate check shall be made +# True = check for duplicates +# False = ignore duplicates +def is_duplicate_check(): + global duplicate_check + + if ((duplicate_check is not None) and (duplicate_check == "1")): + return True + return False