]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Merge from master (v1.1.3)
authorpcarana <pc.moreno2099@gmail.com>
Wed, 18 Dec 2019 19:47:50 +0000 (13:47 -0600)
committerpcarana <pc.moreno2099@gmail.com>
Wed, 18 Dec 2019 19:47:50 +0000 (13:47 -0600)
1  2 
docs/index.md
src/object/tal.c

diff --cc docs/index.md
index 9a26c088bc38e810280ea0e13273be4c3dc854f5,a0f4beb66b9c218778600b9fefc37a5993b87aa8..2d791b71ca9ed6155cda75fa583564e14cfc204f
@@@ -10,9 -10,5 +10,9 @@@ FORT validator is an MIT-licensed RPKI 
  
  ## Status
  
 -Version [{{ site.fort-latest-version }}](https://github.com/NICMx/FORT-validator/releases/tag/v{{ site.fort-latest-version }}){:target="_blank"} is the latest official release, includes a bug fix:
 -- Whenever multiple TAL's are being validated, if an error occurs while fetching the root certificate from one of them, discard the validation results from the rest of the TALs. This will avoid to send a considerable amount of withdrawal PDUs to the router(s) due to an error that isn't proper of the RPKI validation.
 +Version [{{ site.fort-latest-version }}](https://github.com/NICMx/FORT-validator/releases/tag/v{{ site.fort-latest-version }}){:target="_blank"} is the latest official release, includes several updates, including:
 +- RRDP support (see [RFC 8182](https://tools.ietf.org/html/rfc8182)).
 +- Support HTTPS URIs at TALs (see [RFC 8630](https://tools.ietf.org/html/rfc8630)).
 +- Remember last valid SLURM in case of syntax error with a newer version.
 +- Setup script to fetch ARINs TAL.
- - Add incidence to validate signed objects DER encoding.
++- Add incidence to validate signed objects DER encoding.
index 7a56a83477d8459e16269b5fe5b7a17a89658a3c,48edaf99d5a07179874d88f1f80976479c6b604c..187f154a71c17da1b0bb73ce7e7ab5c01c6029cc
@@@ -611,12 -566,13 +616,19 @@@ __do_file_validation(char const *tal_fi
        struct thread *thread;
        struct fv_param *param;
        static pthread_t pid;
+       int *exit_status;
        int error;
  
 -      if (exit_status == NULL)
 -              return pr_enomem();
 +      error = db_rrdp_add_tal(tal_file);
 +      if (error)
 +              return error;
 +
+       exit_status = malloc(sizeof(int));
++      if (exit_status == NULL) {
++              error = pr_enomem();
++              goto free_db_rrdp;
++      }
        param = malloc(sizeof(struct fv_param));
        if (param == NULL) {
                error = pr_enomem();
        SLIST_INSERT_HEAD(&threads, thread, next);
  
        return 0;
 -free_status:
 -      free(exit_status);
 +free_param:
        free(param->tal_file);
        free(param);
++free_status:
++      free(exit_status);
 +free_db_rrdp:
 +      db_rrdp_rem_tal(tal_file);
        return error;
  }
  
@@@ -657,11 -614,8 +673,11 @@@ in
  perform_standalone_validation(struct db_table *table)
  {
        struct thread *thread;
-       int error;
+       int error, t_error;
  
 +      /* Set existent tal RRDP info to non visited */
 +      db_rrdp_reset_visited_tals();
 +
        SLIST_INIT(&threads);
        error = process_file_or_dir(config_get_tal(), TAL_FILE_EXTENSION,
            __do_file_validation, table);
                thread_destroy(thread);
        }
  
+       /* One thread has errors, validation can't keep the resulting table */
+       if (t_error)
+               return t_error;
 +      /* Remove non-visited rrdps URIS by tal */
 +      db_rrdp_rem_nonvisited_tals();
 +
        return error;
  }