]> git.ipfire.org Git - thirdparty/FORT-validator.git/log
thirdparty/FORT-validator.git
5 years agoSupport RFC8630, TALs can have comments and HTTPS URIs.
pcarana [Wed, 13 Nov 2019 23:47:58 +0000 (17:47 -0600)] 
Support RFC8630, TALs can have comments and HTTPS URIs.

-Remove all references to RFC 7730 (docs and source comments), now obsolete.
-Indicate full RFC 8630 compliance at docs.
-Implement full validation of AIA (RFC 6487 section 4.8.7), since HTTPS URIs loaded from a TAL can cause the current validation to fail.
-The AIA validation function is now exposed, so that CAs and EEs can do it when the current certificate is being validated (and already loaded at heap).
-Allow to create uris that start with 'https://', let uri.c ready to validate https and/or rsync uris.
-Parse comments and https URIs from a tal file, comments are ignored. Whenever and https URI is found and utilized, the file is downloaded using the previously commited HTTP module.

5 years agoAdd module to support HTTPS requests.
pcarana [Tue, 12 Nov 2019 23:42:29 +0000 (17:42 -0600)] 
Add module to support HTTPS requests.

-New program arguments to configure http requests:
+http.user-agent
+http.connect-timeout
+http.transfer-timeout
+http.ca-path
-Relocate functions that create a local directory structure from a local URI, so that can be utilized by rsync.c and http.c.
-Expose a function to download a file from an HTTPS URL, the function is expected to write the bytes from the response into a file using a callback (defined by the caller).
-Add libcurl dependency at makefile and docs (still needs an update for the distinct OSs installation).
-Add unit test for the http module.
-Update man and docs with new configuration properties.
-Update configuration example with new configuration properties.

5 years agoValidate DER encoding only if incidence isn't ignored, update gitignore
pcarana [Mon, 11 Nov 2019 21:09:58 +0000 (15:09 -0600)] 
Validate DER encoding only if incidence isn't ignored, update gitignore

5 years agoMerge from v1.1.2
pcarana [Fri, 8 Nov 2019 23:21:10 +0000 (17:21 -0600)] 
Merge from v1.1.2

5 years agoIndicate facility utilized at syslog v1.1.2
pcarana [Fri, 8 Nov 2019 22:00:54 +0000 (16:00 -0600)] 
Indicate facility utilized at syslog

5 years agoUpgrade version, code ready for testing
pcarana [Thu, 7 Nov 2019 17:27:48 +0000 (11:27 -0600)] 
Upgrade version, code ready for testing

5 years agoRemove <sys/cdefs.h> header, avoid cpp warnings during compilation
pcarana [Thu, 31 Oct 2019 19:55:20 +0000 (13:55 -0600)] 
Remove <sys/cdefs.h> header, avoid cpp warnings during compilation

5 years agoAdd missing getters at configuration impersonator
pcarana [Thu, 7 Nov 2019 16:58:13 +0000 (10:58 -0600)] 
Add missing getters at configuration impersonator

5 years agoUpdate function 'log_debug_enabled' and add 'log_info_enabled' function
pcarana [Thu, 7 Nov 2019 16:52:41 +0000 (10:52 -0600)] 
Update function 'log_debug_enabled' and add 'log_info_enabled' function

5 years agoAdd docs for log level and output, remove DEBUG flag at Makefile
pcarana [Wed, 16 Oct 2019 18:29:22 +0000 (13:29 -0500)] 
Add docs for log level and output, remove DEBUG flag at Makefile

5 years agoUse log priorities from syslog, allow debug without recompiling
pcarana [Mon, 14 Oct 2019 21:19:42 +0000 (16:19 -0500)] 
Use log priorities from syslog, allow debug without recompiling

5 years agoAdd log output and level configuration properties (still unfunctional)
pcarana [Mon, 14 Oct 2019 15:13:16 +0000 (10:13 -0500)] 
Add log output and level configuration properties (still unfunctional)

5 years agoAdd license for native asn1c code, and a notice to list all licences
pcarana [Thu, 7 Nov 2019 16:31:38 +0000 (10:31 -0600)] 
Add license for native asn1c code, and a notice to list all licences

5 years agoUpgrade version, ready to do some testing
pcarana [Mon, 4 Nov 2019 22:04:14 +0000 (16:04 -0600)] 
Upgrade version, ready to do some testing

5 years agoInclude tals at dist
pcarana [Mon, 4 Nov 2019 21:56:25 +0000 (15:56 -0600)] 
Include tals at dist

5 years agoFix typo at example in setup script, use relative paths at READMEs
pcarana [Mon, 4 Nov 2019 21:49:33 +0000 (15:49 -0600)] 
Fix typo at example in setup script, use relative paths at READMEs

5 years agoValidate PK when subject is duplicated, log warning when PK is diff
pcarana [Mon, 4 Nov 2019 21:09:09 +0000 (15:09 -0600)] 
Validate PK when subject is duplicated, log warning when PK is diff

5 years agoRemove <sys/cdefs.h> header, avoid cpp warnings during compilation
pcarana [Thu, 31 Oct 2019 19:55:20 +0000 (13:55 -0600)] 
Remove <sys/cdefs.h> header, avoid cpp warnings during compilation

5 years agoRemove debug log at DER encoding validation
pcarana [Tue, 29 Oct 2019 21:02:52 +0000 (15:02 -0600)] 
Remove debug log at DER encoding validation

5 years agoFix unit tests, create common function to print IP addresses.
pcarana [Tue, 29 Oct 2019 20:57:41 +0000 (14:57 -0600)] 
Fix unit tests, create common function to print IP addresses.

-Add missing getters at configuration impersonator.
-Create a common function to print IPv4 and IPv6 addresses, the function already existed but it was created multiple times at distinct sources.

5 years agoAdd 'asn1-decode-max-stack' arg to set max stack size when decoding ASN1
pcarana [Mon, 28 Oct 2019 23:38:54 +0000 (17:38 -0600)] 
Add 'asn1-decode-max-stack' arg to set max stack size when decoding ASN1

5 years agoValidate SignedObject DER encoding using incidences schema.
pcarana [Thu, 24 Oct 2019 15:46:26 +0000 (10:46 -0500)] 
Validate SignedObject DER encoding using incidences schema.

-asn1c doesn't have a DER decoder, but it has DER encoders. Once the data is BER decoded, encode it again as DER and compare against the original data, the difference (if there's one) will be at ASN1 TLVs.
-Create new incidence 'incid-obj-not-der-encoded' to handle such error.
-Update docs: RFC 6488 100% compliance, new incidence description.
-Add new incidence to configuration example (examples/config.json).

5 years agoCreate setup script, add examples directory (includes tal dir).
pcarana [Fri, 18 Oct 2019 19:39:34 +0000 (14:39 -0500)] 
Create setup script, add examples directory (includes tal dir).

-The script invites to agree ARIN RPA and downloads ARIN's TAL. Additionally, downloads the rest of the TALS, creates a local repository directory, and an example configuration file.
-Create 'examples' directory to include examples of: configuration file, SLURM, TALs.
-Move 'tal' directory to 'examples/tal'.
-Update docs, add the usage of the setup script at Installation module.

5 years agoDocument how a previous SLURM version can be applied
pcarana [Wed, 16 Oct 2019 19:21:22 +0000 (14:21 -0500)] 
Document how a previous SLURM version can be applied

5 years agoAdd docs for log level and output, remove DEBUG flag at Makefile
pcarana [Wed, 16 Oct 2019 18:29:22 +0000 (13:29 -0500)] 
Add docs for log level and output, remove DEBUG flag at Makefile

5 years agoLog additional information on start/end of validation cycle.
pcarana [Tue, 15 Oct 2019 20:04:32 +0000 (15:04 -0500)] 
Log additional information on start/end of validation cycle.

+The information is printed at INFO level:
- When a client starts/ends a connection, or when the connection is killed (print its address and an internal ID).
- When a new validation cycle is started and finished (includes number of valid ROAs and Router Keys, current/new serial number, and real execution time).
+Update function 'log_debug_enabled' and add 'log_info_enabled' function.
+Add functions to get total ROAs and Router Keys from db_table struct.

5 years agoUse log priorities from syslog, allow debug without recompiling
pcarana [Mon, 14 Oct 2019 21:19:42 +0000 (16:19 -0500)] 
Use log priorities from syslog, allow debug without recompiling

5 years agoAdd log output and level configuration properties (still unfunctional)
pcarana [Mon, 14 Oct 2019 15:13:16 +0000 (10:13 -0500)] 
Add log output and level configuration properties (still unfunctional)

5 years agoRemember last valid SLURM in case of syntax error with newer SLURM(s).
pcarana [Fri, 11 Oct 2019 22:30:12 +0000 (17:30 -0500)] 
Remember last valid SLURM in case of syntax error with newer SLURM(s).

-Remove 'comment' member from slurm structs, there's no need to store its value.
-Rename 'slurm/slurm_db.*' to 'slurm/db_slurm.*'.
-Allocate SLURM data, so that the last valid SLURM can be used if needed; so, now the SLURM lives on the heap and is 'remembered' as part of the VRPs state. Also remember the date and time when the last valid SLURM was loaded.
-Move 'slurm_bgpsec' and 'slurm_prefix' structs, and SLURM data flags to 'db_slurm.h'.
-Update 'slurm_parser' to return a specific error in case of a syntax error, so that further actions can be taken (ignore slurm, use last valid version, or store as the last valid version).
-In case a previous valid version of SLURM is utilized, log a WARNING indicating that such action is being taken, and log SLURM content at INFO level.
-Fix bug at common function 'process_file', there was an issue before releasing temporal pointers.

5 years agoUse 'RSA_get0_key', some ssl libs didn't had the function 'RSA_get0_e' v1.1.1
pcarana [Wed, 30 Oct 2019 00:08:48 +0000 (18:08 -0600)] 
Use 'RSA_get0_key', some ssl libs didn't had the function 'RSA_get0_e'

5 years agoPrepare to release v1.1.1
pcarana [Fri, 25 Oct 2019 23:36:45 +0000 (18:36 -0500)] 
Prepare to release v1.1.1

5 years agoUse <sys/types.h> blksize_t instead of <bits/types.h> __blksize_t
pcarana [Fri, 25 Oct 2019 22:45:32 +0000 (17:45 -0500)] 
Use <sys/types.h> blksize_t instead of <bits/types.h> __blksize_t

5 years agoValidate subjectPublicKey modulus and exponent (RFC 7935 section 3)
pcarana [Thu, 24 Oct 2019 18:32:29 +0000 (13:32 -0500)] 
Validate subjectPublicKey modulus and exponent (RFC 7935 section 3)

5 years agoHandle empty DB scenario and avoid error on Reset Query PDU received
pcarana [Tue, 15 Oct 2019 22:21:09 +0000 (17:21 -0500)] 
Handle empty DB scenario and avoid error on Reset Query PDU received

5 years agoValidate 'output.bgpsec' value
pcarana [Fri, 11 Oct 2019 23:19:17 +0000 (18:19 -0500)] 
Validate 'output.bgpsec' value

5 years agoAdd count functions for ROAs and Router Keys
pcarana [Fri, 25 Oct 2019 22:35:49 +0000 (17:35 -0500)] 
Add count functions for ROAs and Router Keys

5 years agoFix images path
pcarana [Mon, 14 Oct 2019 21:35:03 +0000 (16:35 -0500)] 
Fix images path

5 years agoFix docs layout (menu wasn't visible from home) v1.1.0
pcarana [Mon, 14 Oct 2019 17:33:58 +0000 (12:33 -0500)] 
Fix docs layout (menu wasn't visible from home)

5 years agoMerge branch rtrv1
pcarana [Tue, 8 Oct 2019 17:18:12 +0000 (12:18 -0500)] 
Merge branch rtrv1

5 years agoRelease version 1.1.0
pcarana [Mon, 7 Oct 2019 22:38:03 +0000 (17:38 -0500)] 
Release version 1.1.0

5 years agoSimplify README, use a similar conf file example at man and docs
pcarana [Wed, 2 Oct 2019 15:07:35 +0000 (10:07 -0500)] 
Simplify README, use a similar conf file example at man and docs

5 years agoPrint two debug messages properly
Alberto Leiva Popper [Mon, 30 Sep 2019 20:38:09 +0000 (15:38 -0500)] 
Print two debug messages properly

These were always being sent to standard output.
They are now handed by syslog properly when appropriate like
everything else.

5 years agoAdd debug messages to RTR interactions
Alberto Leiva Popper [Fri, 27 Sep 2019 22:38:45 +0000 (17:38 -0500)] 
Add debug messages to RTR interactions

Requested by tester.

5 years agoLog: Remove clutter, add doc, patch -DDEBUG
Alberto Leiva Popper [Fri, 13 Sep 2019 19:19:56 +0000 (14:19 -0500)] 
Log: Remove clutter, add doc, patch -DDEBUG

Was printing too many lines for an obsolete reason.

5 years agoRemove uppercase for the syslog identifier
Alberto Leiva Popper [Fri, 13 Sep 2019 17:42:54 +0000 (12:42 -0500)] 
Remove uppercase for the syslog identifier

Lowercase seems to be standard.

5 years agoAdd syslog
Alberto Leiva Popper [Fri, 13 Sep 2019 16:44:55 +0000 (11:44 -0500)] 
Add syslog

5 years agoUpdate docs structure and content, merge with master.
pcarana [Mon, 9 Sep 2019 19:02:00 +0000 (14:02 -0500)] 
Update docs structure and content, merge with master.

-Bring the last updates from master (from commit 298c8f9ab0147159e70e47fb7f0766a5bc1b8b31).
-Fix background of some images (use white instead of none).
-Remove the 'doc' dir and move all its content to root folder, so that the whole documentation can be consulted from the root directory.
-Update the documentation index.
-Update docs layout references to match the new directory structure.

5 years agoAdd RFCs compliance: 6810, 8210, 8416, 8608, and 8630.
pcarana [Fri, 6 Sep 2019 17:32:30 +0000 (12:32 -0500)] 
Add RFCs compliance: 6810, 8210, 8416, 8608, and 8630.

5 years agoFix bug, complete some unit tests, downgrade NID info logging.
pcarana [Fri, 6 Sep 2019 05:04:26 +0000 (00:04 -0500)] 
Fix bug, complete some unit tests, downgrade NID info logging.

-Bug fixed: Router Key PDUs overriding each others weren't removed due to a bad 'memcmp' use.
-Complete unit tests where Router Keys data can be tested.
-Downgrade NID registering log from info to debug on initialization.

5 years agoCreate one thread per TAL file
pcarana [Tue, 3 Sep 2019 17:42:35 +0000 (12:42 -0500)] 
Create one thread per TAL file

+Each TAL will validate its own repositories without waiting for the others to terminate.
+Remove a TODO on configure.ac
+Update unit tests.
+Fix warning at base64 sanitizer, replace the function 'strchr' with a local one since the read buffer isn't necessarily a string.

5 years agoAdd usage/run examples
pcarana [Wed, 28 Aug 2019 21:46:57 +0000 (16:46 -0500)] 
Add usage/run examples

5 years agoMerge from v1.0.0
pcarana [Tue, 27 Aug 2019 20:41:44 +0000 (15:41 -0500)] 
Merge from v1.0.0

5 years agoMerge branch fixes-0.0.2 v1.0.0
pcarana [Mon, 26 Aug 2019 20:33:27 +0000 (15:33 -0500)] 
Merge branch fixes-0.0.2

5 years agoRelease version 1.0.0
pcarana [Mon, 26 Aug 2019 20:26:44 +0000 (15:26 -0500)] 
Release version 1.0.0

5 years agoLog always incidences value
pcarana [Wed, 21 Aug 2019 20:31:09 +0000 (15:31 -0500)] 
Log always incidences value

5 years agoFix SLURM issues, and compile warning.
pcarana [Wed, 21 Aug 2019 17:24:49 +0000 (12:24 -0500)] 
Fix SLURM issues, and compile warning.

-SLURM filters weren't correctly applied when the filter had a prefix and an asn, only the asn was taken into account.
-Another error at filters, if a prefix X covered ROA prefix Y, the ROA prefix wasn't filtered; so apply the filter as specified in RFC 8416.
-Remove compile warning '_BSD_SOURCE and _SVID_SOURCE are deprecated', and set '_DEFAULT_SOURCE' at generated code by asn1c 'GeneralizedTime.c'.

5 years agoLog properly the errors at unsigned integer configurations
pcarana [Mon, 19 Aug 2019 21:58:10 +0000 (16:58 -0500)] 
Log properly the errors at unsigned integer configurations

5 years agoDisplay server info on success, show prop name when int value has errors
pcarana [Mon, 19 Aug 2019 16:07:50 +0000 (11:07 -0500)] 
Display server info on success, show prop name when int value has errors

5 years agoFix #14, remove SIGINT handler and adequate rsync return status.
pcarana [Wed, 14 Aug 2019 22:10:25 +0000 (17:10 -0500)] 
Fix #14, remove SIGINT handler and adequate rsync return status.

-The SIGINT handler wasn't terminating the process as it should be, so let the signal be handled as default (like SIGTERM).
-Update the rsync (do_rsync) function to read the returned pid status and know how did the process was terminated; in case of interruption,  use the returned value to terminate the validation cycle as well.

6 years agoAdd missing step for CentOS, use version variable at --version example
pcarana [Mon, 12 Aug 2019 23:56:21 +0000 (18:56 -0500)] 
Add missing step for CentOS, use version variable at --version example

6 years agoUpdate Slackware supported version, and dates reference
pcarana [Mon, 12 Aug 2019 20:50:21 +0000 (15:50 -0500)] 
Update Slackware supported version, and dates reference

6 years agoAdd installation steps for Fedora, openSUSE, FreeBSD and Slackware
pcarana [Mon, 12 Aug 2019 19:46:20 +0000 (14:46 -0500)] 
Add installation steps for Fedora, openSUSE, FreeBSD and Slackware

6 years agoFix bug, AI_CANONNAME can only be set when an address is specified
pcarana [Thu, 8 Aug 2019 22:50:22 +0000 (17:50 -0500)] 
Fix bug, AI_CANONNAME can only be set when an address is specified

6 years agoFix #13, reload stack to retry manifest validation
pcarana [Thu, 8 Aug 2019 21:06:15 +0000 (16:06 -0500)] 
Fix #13, reload stack to retry manifest validation

6 years agoRead TAL SPKI as lines of 65 chars (allow LibreSSL compat).
pcarana [Thu, 8 Aug 2019 18:09:09 +0000 (13:09 -0500)] 
Read TAL SPKI as lines of 65 chars (allow LibreSSL compat).

LibreSSL didn't liked a specific TAL that had base64 lines > 80 chars, so parse all TALs SPKI as base64 with lines of 65 chars (including line feed).

6 years agoAdd OpenSSL >= 1.1 prerequisite, and docs to install on CentOS
pcarana [Thu, 8 Aug 2019 13:10:05 +0000 (08:10 -0500)] 
Add OpenSSL >= 1.1 prerequisite, and docs to install on CentOS

6 years agoAssign ID to incidence, validate RTR port, fix slurm bug.
pcarana [Tue, 6 Aug 2019 16:28:24 +0000 (11:28 -0500)] 
Assign ID to incidence, validate RTR port, fix slurm bug.

-Use an ID for the registered incidence.
-When loading multiple SLURM files, the validation from RFC 8416 section 4.2 wasn't considered. A context is used to perform such validation, since every prefix or asn (for bgpsec) must be validated according to its own context/file.
-Remove dead code (structs) from SLURM.
-Validate RTR port range since this isn't validated by getaddrinfo.

6 years agoFix minor issues and add some enhancements.
pcarana [Fri, 2 Aug 2019 16:51:11 +0000 (11:51 -0500)] 
Fix minor issues and add some enhancements.

-Display a warning when a directory doesn't have files with the desired extension (used at TAL and SLURM configuration).
-Set the minimum allowed value of 'maximum-certificate-depth' to 5 to allow a normal operation.
-Validate ROA output file path at initialization instead of doing it when the whole validation process has terminated.
-Add a note to indicate 64-bit OS support.
-Print the real address where the RTR server will be bounded to.
-If there's an error loading the SLURM data, show the element that has the error.
-Fix X509_VERIFY_PARAM memory leak.
-Update doc reference to UINT_MAX definition.
-Fix bug: when a TAL couldn't be loaded its references where trying to be released, but such references didn't existed.

6 years agoPatch dist build
Alberto Leiva Popper [Wed, 24 Jul 2019 21:20:41 +0000 (16:20 -0500)] 
Patch dist build

Some files needed by the unit tests were not exporting.

6 years agoAdd RTRv1 and BGPsec support to docs
pcarana [Wed, 24 Jul 2019 20:54:47 +0000 (15:54 -0500)] 
Add RTRv1 and BGPsec support to docs

6 years agoReimplement the fix to bug #11
Alberto Leiva Popper [Wed, 24 Jul 2019 19:31:51 +0000 (14:31 -0500)] 
Reimplement the fix to bug #11

I was uncomfortable with the previous solution for two reasons:

- It wasn't deferring certificate revocation validation to libcrypto.
  I am not sure if our implementation of it was sufficient, but
  regardless, this operation should not be performed by Fort itself.
- It induced redundant CRL loading, which was a little unnecessarily
  slow.

The root of the problem was that Fort was (originally) trying to
validate manifests' certificates using their grandparents' CRL (rather
than the parents'), which was incorrect and now fixed.

6 years agoRevert "Fix 11: validate certificates against its corresponding CRL."
Alberto Leiva Popper [Wed, 24 Jul 2019 16:51:58 +0000 (11:51 -0500)] 
Revert "Fix 11: validate certificates against its corresponding CRL."

This reverts commit fb30fcc5c0898fc32cbaab85c70b26a08b4a97a8.

6 years agoRevert "Don't retry MFT download when EE is revoked (related to #11)"
Alberto Leiva Popper [Wed, 24 Jul 2019 16:51:50 +0000 (11:51 -0500)] 
Revert "Don't retry MFT download when EE is revoked (related to #11)"

This reverts commit 4e606bb81038154fc9cd6966590c57a7a6b01a3b.

6 years agoFix some BGPsec issues and complete output printing.
pcarana [Tue, 23 Jul 2019 22:28:10 +0000 (17:28 -0500)] 
Fix some BGPsec issues and complete output printing.

-The SLURM BGPsec arrays were loading only 1 element, and the AS wasn't set when filtering router keys (programmer errors ¬¬).
-Validate SLURM routerPublicKey as a SubjectPublicKeyInfo struct, including the expected algorithms for BGPsec certificates.
-Print router key info as base64url encoded strings, and update headers.

6 years agoRename *bgpsec to *router_key, change SK data types, fix ERROR_PDU bug
pcarana [Tue, 23 Jul 2019 15:51:10 +0000 (10:51 -0500)] 
Rename *bgpsec to *router_key, change SK data types, fix ERROR_PDU bug

-Use 'router_key' naming instead of bgpsec once the certificates had been validated and are stored at base or deltas.
-Use char arrays instead of pointers at SK (subject key) info, the DB hash table was detecting every validation run as an update for BGPsec certificates (pointers to sk_info's were always distinct).
-Remove structure 'sk_info' and its related functions, now its data is set at 'router_key' struct.
-Allow to receive larger error pdu messages. The maximum allowed length for PDUs received is 512 bytes, but the error messages couldn't be larger than 40 bytes (aprox).
-Add Router Key PDU constant length.
-Avoid needless comparisons at SLURM filters.

6 years agoFix some issues related to BGPsec.
pcarana [Mon, 22 Jul 2019 23:07:49 +0000 (18:07 -0500)] 
Fix some issues related to BGPsec.

-Add functions to apply SLURM BGPsec filters and assertions.
-Remove length variables of SKI and SPKI on SLURM BGPsec structs.
-Send Router Key PDUs of base data (only PDUs from deltas were sent).
-Update outdated unit tests (bad calls, missing calls, impersonate functions).
-Complete filtering functions for BGPsec data.

6 years agoUse SPKI length constant (in BGPsec certs is always 91 bytes long)
pcarana [Mon, 22 Jul 2019 19:49:28 +0000 (14:49 -0500)] 
Use SPKI length constant (in BGPsec certs is always 91 bytes long)

6 years agoSupport RTRv1, validate version on PDU exchanges
pcarana [Sat, 20 Jul 2019 00:45:34 +0000 (19:45 -0500)] 
Support RTRv1, validate version on PDU exchanges

6 years agoStore BGPsec certs info, print at configured output
pcarana [Fri, 19 Jul 2019 17:04:26 +0000 (12:04 -0500)] 
Store BGPsec certs info, print at configured output

-Use struct 'router_key' to represent BGPsec certificates.
-Use reference count of Subject Key data (ID and public key) with 'sk_info' struct.
-Add router certificates info to local DB, as part of the refactor 'roa_table' was renamed to 'db_table'.
-Add configuration parameter 'output.bgpsec', the information is printed in hexadecimal representation (there's a TODO here: maybe encode and print as base64).
-Consider BGPsec keys in deltas.
-Use a constant for SKI length, since always is the same (20 bytes/octets).

6 years agoDon't retry MFT download when EE is revoked (related to #11)
pcarana [Wed, 17 Jul 2019 23:13:28 +0000 (18:13 -0500)] 
Don't retry MFT download when EE is revoked (related to #11)

6 years agoFix #12: this isn't a critical error (isn't dev's fault)
pcarana [Wed, 17 Jul 2019 18:16:29 +0000 (13:16 -0500)] 
Fix #12: this isn't a critical error (isn't dev's fault)

6 years agoFix 11: validate certificates against its corresponding CRL.
pcarana [Wed, 17 Jul 2019 17:04:17 +0000 (12:04 -0500)] 
Fix 11: validate certificates against its corresponding CRL.

The OpenSSL function 'X509_STORE_CTX_set0_crls' wasn't taking into consideration the CRL stack; the simple way to check revocation was doing it manually.
Pay special attention to manifests, the CRL stack that's received when its EE is validated, is grandparent's CRL; so, in this case, validate manifests on its own CRLDP.

6 years agoRead and validate BGPsec router certificates
pcarana [Wed, 10 Jul 2019 22:48:31 +0000 (17:48 -0500)] 
Read and validate BGPsec router certificates

-Prepare structs and functions to send RTRv1 router key PDUs.
-Basic preparation to store router keys, still needs more work.
-Validate BGPsec certificates based on RFCs 8209 and 8608.
-Configure RTRv1 intervals (refresh, retry, expire), more validations and logic are pending.
-Update sorted array to allow iterations on its elements.

6 years agoUnify _layouts code. Adjust default layout design, add index menu to documentation.
Gerardo Pias [Tue, 9 Jul 2019 03:13:52 +0000 (00:13 -0300)] 
Unify _layouts code. Adjust default layout design, add index menu to documentation.
Unify css style sheets. Improve documentation style.

6 years agoRollback commit 9f07ee2 since this isn't a bug
pcarana [Thu, 4 Jul 2019 18:56:36 +0000 (13:56 -0500)] 
Rollback commit 9f07ee2 since this isn't a bug

6 years agoFix bug: ROAs ASN wasn't validated against the allowed advertising
pcarana [Wed, 3 Jul 2019 20:19:27 +0000 (15:19 -0500)] 
Fix bug: ROAs ASN wasn't validated against the allowed advertising

6 years agoAdd some small fixes.
pcarana [Tue, 2 Jul 2019 20:12:02 +0000 (15:12 -0500)] 
Add some small fixes.

-Update '--tal' and '--slurm' arguments doc.
-Update '-O' level to '2'.
-Remove unnecessary parameter '*serial' on 'vrps_foreach_base_roa'.

6 years agoDon't store downloaded URI when forcing rsync and log rsync'd URI
pcarana [Tue, 2 Jul 2019 19:44:38 +0000 (14:44 -0500)] 
Don't store downloaded URI when forcing rsync and log rsync'd URI

6 years agoAdd ROA eContent to debug, and parse asID just once
pcarana [Mon, 1 Jul 2019 21:46:23 +0000 (16:46 -0500)] 
Add ROA eContent to debug, and parse asID just once

6 years agoRetry rsync when a MFT has errors to avoid 'transient inconsistency'
pcarana [Mon, 1 Jul 2019 19:23:25 +0000 (14:23 -0500)] 
Retry rsync when a MFT has errors to avoid 'transient inconsistency'

6 years agoDetach clients threads after the connection is closed
pcarana [Fri, 28 Jun 2019 16:22:03 +0000 (11:22 -0500)] 
Detach clients threads after the connection is closed

6 years agoImprove the patch from the previous commit
Alberto Leiva Popper [Thu, 27 Jun 2019 20:27:59 +0000 (15:27 -0500)] 
Improve the patch from the previous commit

The solution was prone to revalidations, which (aside from slowing
things down a bit) yielded annoying duplicate validation error messages.

6 years agoPatch bad initialization of CRL stack
Alberto Leiva Popper [Thu, 27 Jun 2019 17:45:29 +0000 (12:45 -0500)] 
Patch bad initialization of CRL stack

6 years agoUpdate installation steps, patch OpenBSD compilation again v0.0.2
Alberto Leiva Popper [Fri, 14 Jun 2019 23:09:20 +0000 (18:09 -0500)] 
Update installation steps, patch OpenBSD compilation again

6 years agoReplace 'server.disabled' by 'mode' (server or standalone)
pcarana [Fri, 14 Jun 2019 23:07:49 +0000 (18:07 -0500)] 
Replace 'server.disabled' by 'mode' (server or standalone)

6 years agoRemove the libcmscodec dependency
Alberto Leiva Popper [Fri, 14 Jun 2019 17:47:26 +0000 (12:47 -0500)] 
Remove the libcmscodec dependency

libcmscodec's generated code is now git tracked by this repository. This
prevents lots of autotools and Debian package headaches, as well as
allowing us to prune large chunks of steps from the installation
recipes.

One of the reasons why we had the previous arrangement was because we
used to consider asn1c's output generated code, which meant we weren't
supposed to track it. However, the fact of the matter is that we'll
eventually need to tweak it manually, because we need to implement DER
parsing and better error message reporting, as well as improve the
quality of asn1c's code.

6 years agoFix warnings at man, fix bug: rsync wasn't executed on each validation
pcarana [Thu, 13 Jun 2019 20:49:05 +0000 (15:49 -0500)] 
Fix warnings at man, fix bug: rsync wasn't executed on each validation

6 years agoPatch lintian warnings, tweak documentation
Alberto Leiva Popper [Thu, 13 Jun 2019 17:42:22 +0000 (12:42 -0500)] 
Patch lintian warnings, tweak documentation

6 years agoUse flag ENABLE_STRICT_STRATEGY to allow strict sync strategy
pcarana [Wed, 12 Jun 2019 23:59:36 +0000 (18:59 -0500)] 
Use flag ENABLE_STRICT_STRATEGY to allow strict sync strategy

6 years agoFix #7, use --dirs by default and update 'strict' mode behavior.
pcarana [Wed, 12 Jun 2019 22:23:31 +0000 (17:23 -0500)] 
Fix #7, use --dirs by default and update 'strict' mode behavior.

If the mode is 'strict', download rsync URI if it hasn't been explicitly visited before.