From 8bdd310143a9b0c292130d8eb2e9c9fbfd37c87e Mon Sep 17 00:00:00 2001 From: pcarana Date: Wed, 24 Jun 2020 15:47:10 -0500 Subject: [PATCH] Consider that outgoing requests can be disabled --- src/object/tal.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/object/tal.c b/src/object/tal.c index f4978b61..a94c1f2d 100644 --- a/src/object/tal.c +++ b/src/object/tal.c @@ -499,15 +499,26 @@ handle_tal_uri(struct tal *tal, struct rpki_uri *uri, void *arg) if (error) return ENSURE_NEGATIVE(error); - if (thread_arg->sync_files) { - if (uri_is_rsync(uri)) + do { + if (!thread_arg->sync_files) { + /* Look for local files */ + if (!valid_file_or_dir(uri_get_local(uri), true, false, + pr_val_errno)) + return 0; /* Error already logged */ + break; + } + /* Trying to sync, considering that the sync can be disabled */ + if (uri_is_rsync(uri)) { + if (!config_get_rsync_enabled()) + return 0; /* Soft error */ error = download_files(uri, true, false); - else - error = handle_https_uri(uri); - } else if (!valid_file_or_dir(uri_get_local(uri), true, false, - pr_val_errno)) { - return 0; /* Error already logged */ - } + break; + } + /* FIXME (later) Should be 'config_get_http_enabled()' */ + if (config_get_work_offline()) + return 0; /* Soft error */ + error = handle_https_uri(uri); + } while (0); /* Friendly reminder: there's a positive error - EREQFAILED */ if (error) { -- 2.47.3