X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fsrc%2Futils%2Futils.c;h=217675be4625e8f78bfb612642d445585cc30aee;hb=3472441e3d90935c770f84c449b6541784afd6a5;hp=d98dac02672e676d16a8b8f77e1d8fefcc443d25;hpb=7dbf479029ba8bc528fb61a40ab2647489da28e9;p=sim%2Fo1-interface.git diff --git a/ntsimulator/src/utils/utils.c b/ntsimulator/src/utils/utils.c index d98dac0..217675b 100644 --- a/ntsimulator/src/utils/utils.c +++ b/ntsimulator/src/utils/utils.c @@ -410,7 +410,26 @@ char* readConfigFileInString(void) char * buffer = 0; long length; char config_file[200]; - sprintf(config_file, "%s/configuration.json", getenv("SCRIPTS_DIR")); + + //sprintf(config_file, "%s/configuration.json", getenv("SCRIPTS_DIR")); + + // --> recommended fix, Karl Koch, Deutsche Telekom AG, 22. 5. 2020. + // Path to config_file contains NULL when env variable is unset. + char *scripts_dir = getenv("SCRIPTS_DIR"); + char *scripts_dir_default = "/opt/dev/ntsimulator/scripts"; + + if(NULL != scripts_dir) + { + sprintf(config_file, "%s/configuration.json", scripts_dir); + } + else + { + sprintf(config_file, "%s/configuration.json", scripts_dir_default); + printf("warning: opening config file in default path: <%s>\n", + config_file); + } + // end of fix <-- + FILE * f = fopen (config_file, "rb"); if (f) @@ -438,7 +457,26 @@ char* readConfigFileInString(void) void writeConfigFile(char *config) { char config_file[200]; - sprintf(config_file, "%s/configuration.json", getenv("SCRIPTS_DIR")); + + //sprintf(config_file, "%s/configuration.json", getenv("SCRIPTS_DIR")); + + // --> recommended fix, Karl Koch, Deutsche Telekom AG, 22. 5. 2020. + // Path to config_file contains NULL when env variable is unset. + char *scripts_dir = getenv("SCRIPTS_DIR"); + char *scripts_dir_default = "/opt/dev/ntsimulator/scripts"; + + if(NULL != scripts_dir) + { + sprintf(config_file, "%s/configuration.json", scripts_dir); + } + else + { + sprintf(config_file, "%s/configuration.json", scripts_dir_default); + printf("warning: opening config file in default path: <%s>\n", + config_file); + } + // end of fix <-- + FILE * f = fopen (config_file, "w"); if (f) @@ -2044,6 +2082,50 @@ int writeSkeletonConfigFile() return SR_ERR_OPERATION_FAILED; } + cJSON *controllerDetails = cJSON_CreateObject(); + if (controllerDetails == NULL) + { + printf("Could not create JSON object: controllerDetails\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + cJSON_AddItemToObject(configObject, "controller-details", controllerDetails); + + if (cJSON_AddStringToObject(controllerDetails, "controller-ip", "172.17.0.1") == NULL) + { + printf("Could not create JSON object: controller-ip\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + + if (cJSON_AddNumberToObject(controllerDetails, "controller-port", 8181) == NULL) + { + printf("Could not create JSON object: controller-port\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + + if (cJSON_AddNumberToObject(controllerDetails, "netconf-call-home-port", 6666) == NULL) + { + printf("Could not create JSON object: netconf-call-home-port\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + + if (cJSON_AddStringToObject(controllerDetails, "controller-username", "admin") == NULL) + { + printf("Could not create JSON object: controller-username\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + + if (cJSON_AddStringToObject(controllerDetails, "controller-password", "admin") == NULL) + { + printf("Could not create JSON object: controller-password\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + if (cJSON_AddNumberToObject(configObject, "ssh-connections", 1) == NULL) { printf("Could not create JSON object: ssh-connections\n"); @@ -2058,6 +2140,13 @@ int writeSkeletonConfigFile() return SR_ERR_OPERATION_FAILED; } + if (cJSON_AddFalseToObject(configObject, "netconf-call-home") == NULL) + { + printf("Could not create JSON object: netconf-call-home\n"); + cJSON_Delete(configObject); + return SR_ERR_OPERATION_FAILED; + } + char *config_string = NULL; config_string = cJSON_PrintUnformatted(configObject);