]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Consider that outgoing requests can be disabled
authorpcarana <pc.moreno2099@gmail.com>
Wed, 24 Jun 2020 20:47:10 +0000 (15:47 -0500)
committerpcarana <pc.moreno2099@gmail.com>
Wed, 24 Jun 2020 20:47:10 +0000 (15:47 -0500)
src/object/tal.c

index f4978b618a8fdbbeacdd1990e7a9e59944865446..a94c1f2dfcf9ba97a901191513f8eef4457adae0 100644 (file)
@@ -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) {