diff --git a/lib/sbi/client.c b/lib/sbi/client.c index c6b886dda4..4d7800c399 100644 --- a/lib/sbi/client.c +++ b/lib/sbi/client.c @@ -133,6 +133,9 @@ ogs_sbi_client_t *ogs_sbi_client_add( client->sslkeylog = ogs_strdup(ogs_sbi_self()->tls.client.sslkeylog); + if (ogs_sbi_self()->local_if) + client->local_if = ogs_strdup(ogs_sbi_self()->local_if); + ogs_debug("ogs_sbi_client_add [%s]", OpenAPI_uri_scheme_ToString(scheme)); OGS_OBJECT_REF(client); diff --git a/lib/sbi/context.c b/lib/sbi/context.c index 51408cd16f..afc6b04fcc 100644 --- a/lib/sbi/context.c +++ b/lib/sbi/context.c @@ -256,7 +256,9 @@ int ogs_sbi_context_parse_config( const char *default_key = ogs_yaml_iter_key(&default_iter); ogs_assert(default_key); - if (!strcmp(default_key, "tls")) { + if (!strcmp(default_key, "interface")) { + self.local_if = ogs_yaml_iter_value(&default_iter); + } else if (!strcmp(default_key, "tls")) { ogs_yaml_iter_t tls_iter; ogs_yaml_iter_recurse(&default_iter, &tls_iter); while (ogs_yaml_iter_next(&tls_iter)) { diff --git a/lib/sbi/context.h b/lib/sbi/context.h index e7cae0e30f..6239246ab8 100644 --- a/lib/sbi/context.h +++ b/lib/sbi/context.h @@ -88,6 +88,8 @@ typedef struct ogs_sbi_context_s { } client; } tls; + const char *local_if; + ogs_list_t server_list; ogs_list_t client_list;