]> git.ipfire.org Git - thirdparty/FORT-validator.git/log
thirdparty/FORT-validator.git
5 years agoAvoid HTTP requests on previously error'd URIs.
pcarana [Fri, 17 Jan 2020 23:40:18 +0000 (17:40 -0600)] 
Avoid HTTP requests on previously error'd URIs.

+Create type to set RRDP URIs request status (error, unvisited, visited). The status is set accordingly to the result of the last request and processing of the RRDP Update Notification URIs; during RRDP loading, the status is validated to either do a request (URIs hasn't been visited) or skip it (was previously visited or had an error). If a request had an error, then continue the access methods flow considering priorities.
+Update RET_NOT_FOUND_URI macro, it always returned the same error code.
+Remove downloaded files via HTTP (and its local directory structure) whenever there's an error during the download process.

5 years agoUse SO_REUSEPORT at sockopts so that the RTR port can be reused
pcarana [Thu, 16 Jan 2020 21:34:03 +0000 (15:34 -0600)] 
Use SO_REUSEPORT at sockopts so that the RTR port can be reused

5 years agoUpdate 'retry' conf default values, fix compile warning at OpenBSD
pcarana [Thu, 16 Jan 2020 20:12:31 +0000 (14:12 -0600)] 
Update 'retry' conf default values, fix compile warning at OpenBSD

5 years agoLog unknown signal number at rsync signal handler
pcarana [Thu, 16 Jan 2020 15:28:14 +0000 (09:28 -0600)] 
Log unknown signal number at rsync signal handler

5 years agoLoad previous valid SLURM on any error, validate tal/slurm conf args.
pcarana [Thu, 16 Jan 2020 00:59:20 +0000 (18:59 -0600)] 
Load previous valid SLURM on any error, validate tal/slurm conf args.

+Previous valid SLURM was applied only if a newer SLURM had syntax errors; this has changed, now it's applied on any error.
+Log error when the version isn't set at SLURM file.
+Validate configured location (can be a file or directory) of 'tal' and 'slurm' args when the application starts.

5 years agoFix bugs at snapshot processing, and uint args parsing.
pcarana [Wed, 15 Jan 2020 21:56:04 +0000 (15:56 -0600)] 
Fix bugs at snapshot processing, and uint args parsing.

+The errors raised during snapshot files processing were ignored. Despite the affected files were deleted, the validation flow kept going, thus presenting an incorrect behavior.
+Unsigned integer arguments were treating an empty string as '0'.

5 years agoDisplay errored URI at some log messages.
pcarana [Wed, 15 Jan 2020 17:43:17 +0000 (11:43 -0600)] 
Display errored URI at some log messages.

5 years agoUpdate docs with 'rsync.retry.*' and 'rrdp.retry.*' conf args.
pcarana [Wed, 15 Jan 2020 00:44:34 +0000 (18:44 -0600)] 
Update docs with 'rsync.retry.*' and 'rrdp.retry.*' conf args.

5 years agoAdd 'rsync.retry.*' and 'rrdp.retry.*' conf args.
pcarana [Tue, 14 Jan 2020 23:42:31 +0000 (17:42 -0600)] 
Add 'rsync.retry.*' and 'rrdp.retry.*' conf args.

+The new arguments are 'rsync.retry.count', 'rsync.retry.interval', 'rrdp.retry.count', and 'rrdp.retry.interval'. Utilized whenever there's an rsync or rrdp sync error, the validator will retry at most '*.retry.count' times, waiting '*.retry.interval' between each retry.
+Ensure that HTTP files download returns a negative error in case of error.
+Wrap files download function at rrdp_parser.

5 years agoFix memory leak when access methods error'd
pcarana [Tue, 14 Jan 2020 21:55:34 +0000 (15:55 -0600)] 
Fix memory leak when access methods error'd

5 years agoUse SO_REUSEADDR at server socket, log rsync execution output.
pcarana [Tue, 14 Jan 2020 21:17:03 +0000 (15:17 -0600)] 
Use SO_REUSEADDR at server socket, log rsync execution output.

+SO_REUSEADDR sockopt allows to reuse server address and port at once when the service has been stoped (or killed).
+Fix bug: the output of rsync execution (either error or verbose) wasn't being logged when 'log.output' was syslog. The stderr of rsync fork is sent to 'pr_err' function, and stdout is sent to 'pr_info' function.

5 years agoUpdate docs with new conf args.
pcarana [Mon, 13 Jan 2020 23:03:10 +0000 (17:03 -0600)] 
Update docs with new conf args.

5 years agoAdd extra rsync and rrdp configurations (enabled and priority).
pcarana [Mon, 13 Jan 2020 19:58:47 +0000 (13:58 -0600)] 
Add extra rsync and rrdp configurations (enabled and priority).

+The new configuration properties are: 'rsync.enabled', 'rsync.priority', 'rsync.strategy', 'rrdp.enabled', 'rrdp.priority', and 'work-offline'.
+'sync-strategy' will be deprecated but still it can be set. Whenever is set, its value will be set to 'rsync.priority'.
+Fix possible bug at 'visited_uris', a nul char was being set at a wrong location.
+Consider configured priorities and enabled flags whenever an access method is utilized while processing certificates.
+Boolean configuration parameters value can now be set also at command line, using the syntax '--key=value'.
+Remove 'http.disabled' and 'rrdp-disabled', they aren't needed anymore.

5 years agoFix bug: segfault when validating update notification for 2nd time.
pcarana [Wed, 8 Jan 2020 22:46:24 +0000 (16:46 -0600)] 
Fix bug: segfault when validating update notification for 2nd time.

5 years agoFix SLURM bugs and unitiliazed var warning.
pcarana [Tue, 7 Jan 2020 18:05:52 +0000 (12:05 -0600)] 
Fix SLURM bugs and unitiliazed var warning.

+Initialize serial var when logging validation run information.
+Use a write lock when removing non-visited tals RRDP info.
+There was a segfault on two scenarios:
- When run as server and using a slurm file, during the second run, the validator couldn't access RRDP data from the previous run. Fix: the RRDP TAL DB must be static (lives at the parent stack).
- When SLURM was discarded due to a bad file content (eg. empty file, or malformed JSON) and during the next run the file content was valid again, the previous SLURM pointer was freed but didn't pointed at NULL (and this was expected). Fix: point at NULL when the whole SLURM is discarded.

5 years agoFix '-Werror-pointer-arith' warning, and tests error at packaging.
pcarana [Thu, 19 Dec 2019 16:55:54 +0000 (10:55 -0600)] 
Fix '-Werror-pointer-arith' warning, and tests error at packaging.

5 years agoMerge from master (v1.1.3)
pcarana [Wed, 18 Dec 2019 19:47:50 +0000 (13:47 -0600)] 
Merge from master (v1.1.3)

5 years agoFix segfaults at visited_uris.c, add minor updates and RRDP debug logs.
pcarana [Wed, 18 Dec 2019 19:03:58 +0000 (13:03 -0600)] 
Fix segfaults at visited_uris.c, add minor updates and RRDP debug logs.

+The segfaults where due to a bad initialization of visited URI elements and reference count.
+Add some debug logs when processing RRDP files.
+Replace 'Valid ROAs' label with 'Valid Prefixes' when there are updates at VRPS DB (and update docs where this label is referenced).

5 years agoAdd args to disable rrdp/http, update docs and setup script.
pcarana [Tue, 17 Dec 2019 23:52:11 +0000 (17:52 -0600)] 
Add args to disable rrdp/http, update docs and setup script.

+The new arguments are 'rrdp-disabled' and 'http.disabled', both are treated as flags.
+Update docs to include: new arguments, rrdp support, new 'libxml2' dependency.
+Update configuration file example to include new arguments.
+Fix bug at arguments whose value is expected to be a path, this '--tal=' was treated as valid when it isn't, so validate that no empty paths are received.
+Update unit tests impersonator with new args.
+Updates at setup script:
- Fix bug: paths that included a space in between, weren't correctly utilized.
- Use wget always.
- Ignore case when accepting ARIN's RPA.

5 years agoReplace 'Valid ROAs' by 'Valid Prefixes'; update headers at common.h
pcarana [Tue, 17 Dec 2019 01:20:35 +0000 (19:20 -0600)] 
Replace 'Valid ROAs' by 'Valid Prefixes'; update headers at common.h

5 years agoReplace a list with a hash
dhfelix [Mon, 16 Dec 2019 22:09:17 +0000 (16:09 -0600)] 
Replace a list with a hash

5 years agoDelete temporary XML files and unused TALs RRDP data.
pcarana [Mon, 16 Dec 2019 20:49:32 +0000 (14:49 -0600)] 
Delete temporary XML files and unused TALs RRDP data.

+Remove XML files and its directory structure once they have been utilized.
+Mark as visited TAL information related to RRDP once per cycle; if no RRDP information was visited (means, the TAL wasn't validated during the cycle) the data is forgotten, including its local data.
+Move the directory tree removal functions to 'common.h', so that it can be called from multiple parts.
+Remove created file in case of error during an HTTP download.

5 years agoRefactor RRDP URIs storage, implement session ID update.
pcarana [Fri, 13 Dec 2019 17:50:46 +0000 (11:50 -0600)] 
Refactor RRDP URIs storage, implement session ID update.

+Delete dir daemon: detach thread, renames the directory that's going to be deleted.
+Update logic (structs and relations) to remember RRDP URIs: each TAL thread will hold its own RRDP URIs, and each URI (update notification URI) will have its own visited uris struct; the main thread holds each TALs information, so that it can be accesed during every validation run. This way we know who owns what, and in case of a session ID update it's easier to remove the whole file system directory tree related to an RRDP URI.
+Rename 'visited_uris' of rsync to 'rsync_visited_uris', in validation state struct.
+Assure that update notification files are requested only once per cycle (in case they're found as the prefered access method).
+Implement session ID update, remove all files related to the previous session ID.

5 years agoFix (early) bug, wasn't retrying mft download when it should be.
pcarana [Wed, 11 Dec 2019 00:45:18 +0000 (18:45 -0600)] 
Fix (early) bug, wasn't retrying mft download when it should be.

5 years agoRemember which manifests where fetched using RRDP, remove rrdp_handler.
pcarana [Wed, 11 Dec 2019 00:30:53 +0000 (18:30 -0600)] 
Remember which manifests where fetched using RRDP, remove rrdp_handler.

+Remember all manifests URIs that were processed from a snapshot or delta file, this will aid to avoid unnecessary rsync's on child CAs.
+Create 'visited_uris' struct and methods to remember URIs from RRDP snapshot/delta file(s). This should be updated to use another struct more efficient than an SLIST.
+Remove 'rrdp_handler' and do its calls directly where needed.
+Add warning message whenever an access method fails and the secondary access method is utilized.
+Assure that RRDP Update Notification URIs are visited only once per validation run.
+In case there's a manifest error, don't retry the repository download if the accessMethod to get the manifest was RRDP.

5 years agoParse XML docs using a reader, don't load the whole DOM at memory.
pcarana [Tue, 10 Dec 2019 21:03:31 +0000 (15:03 -0600)] 
Parse XML docs using a reader, don't load the whole DOM at memory.

+Use 'libxml/xmlreader.h' functions to validate and parse XML documents, this decreases the use of memory that was being allocated using other functions.
+Update the logic at 'rrdp_parser.c' to parse a document element by element, using an 'xmlTextReader'.
+Update unit test to use the XML text reader.

5 years agoCalculate the position of new (and foreach) elements at delta_head funcs
pcarana [Fri, 6 Dec 2019 17:07:33 +0000 (11:07 -0600)] 
Calculate the position of new (and foreach) elements at delta_head funcs

5 years agoAdd missing space to some 'switch' statements
pcarana [Fri, 6 Dec 2019 00:01:40 +0000 (18:01 -0600)] 
Add missing space to some 'switch' statements

5 years agoValidate list of deltas at update notification file.
pcarana [Thu, 5 Dec 2019 23:57:19 +0000 (17:57 -0600)] 
Validate list of deltas at update notification file.

+Assure that the list of deltas is ordered to facilitate the validation of contiguous serials, and the processing of only the required deltas (only if there's a delta update).
+Change enum 'rrdp_uri_cmp_result' to a type 'rrdp_uri_cmp_result_t'.
+Process the snapshot if there's an error processing deltas.
+Make 'delta_head' attributes public, global and doc data init methods are now void.
+Remove 'SLIST' usage at 'deltas_head' struct, use instead an array list implementation, ready to store a defined amount of elements.

5 years agoAdd daemon to delete a whole directory, fix broken HTTP unit test
pcarana [Thu, 5 Dec 2019 01:13:36 +0000 (19:13 -0600)] 
Add daemon to delete a whole directory, fix broken HTTP unit test

5 years agoSend 'If-Modified-Since' header on update notification requests.
pcarana [Wed, 4 Dec 2019 16:05:55 +0000 (10:05 -0600)] 
Send 'If-Modified-Since' header on update notification requests.

+The last update is stored along with the RRDP URIs DB, this date is updated once the file processing (snapshot or deltas) is successfully terminated.
+Be ready in case the server responds an HTTP 304 status code.
+Use CURL option 'CURLOPT_FAILONERROR' to treat HTTP status code > 400 as errors.

5 years agoPrepare to release new version. v1.1.3
pcarana [Tue, 3 Dec 2019 00:55:32 +0000 (18:55 -0600)] 
Prepare to release new version.

5 years agoFix bug due to bad error handling on multithreading.
pcarana [Tue, 3 Dec 2019 00:14:26 +0000 (18:14 -0600)] 
Fix bug due to bad error handling on multithreading.

+Don't consider validation results if at least one TAL has an error fetching it's root certificate. The bug was: on TAL 'hard error' (whenever the root certificate couldn't be fetched), the error was minimized and the rest of the TAL validation results were considered to update DB; this can lead to a considerable number of withdrawal PDUs for the routers.

5 years agoValidate hashes and some missing things.
pcarana [Mon, 2 Dec 2019 22:39:31 +0000 (16:39 -0600)] 
Validate hashes and some missing things.

+Add validations of: hash, namespace, version, session ID, and serial of files.
+Validate that only one serial is listed at the update notification file.
+Quick validation of delta elements listed at the notification file (needs a better algorithm to check that all are part of a contiguous sequence).
+Remove unnecessary struct 'xml_source', initially meant to calculate the hash, but it's needed at all.
+Fix a bug: the hash wasn't being set at 'delta_head' new element(s).

5 years agoProcess delta files, create rrdp_loader to centralize rrdp processing.
pcarana [Fri, 29 Nov 2019 21:54:33 +0000 (15:54 -0600)] 
Process delta files, create rrdp_loader to centralize rrdp processing.

+Parse and process delta files, includes file deleting due to a withdraw as well as the parent dir deletion if the dir is empty.
+Consider that 'publish' elements have an optional 'hash' in some cases.
+Calculate the deltas necessary to process from a notification file, based on the current loaded serial and the last downloaded serial.
+Add handler function to get the last downloaded serial.
+The RRDP loader gets the notification file and takes the decission to process such file (no changes, serial update, session update, or new uri). Its code was at certificate.c, but was rellocated here.
+Remove SLIST from rrdp_objects, as well as some other properties that aren't necessary (lists at delta and at snapshot structs).
+Prepare 'deltas_head' to be referenced from distinct parts.
+Fix serial validation when parsing a 'son' object (e.g. validating a delta that was listed at the update notification file).
+No need to return parsed snapshot and delta, since they are processed asap and no further actions are required with the allocated structs.

5 years agoFix memory leak when no data is loaded
pcarana [Fri, 29 Nov 2019 16:24:07 +0000 (10:24 -0600)] 
Fix memory leak when no data is loaded

5 years agoParse and process snapshot, remember RRDP URIs (session ID and serial).
pcarana [Wed, 27 Nov 2019 21:49:39 +0000 (15:49 -0600)] 
Parse and process snapshot, remember RRDP URIs (session ID and serial).

+Create struct and method to store RRDP URIs data.
+Create handler so that multiple threads can access RRDP URIs data.
+Rename 'gdata' property to 'global_data' at update_notification struct.
+Use prefered access method according to the order specified at the CAs.
+Implement RRDP URIs comparison, considers: URI, session ID and serial so that the caller can determine what to do (process snapshot, deltas, etc.)
+Document rrdp_objects.h structs.
+Add content length to 'publish' structure.
+Add functions to parse 'publish' elements.
+Validate that a new RRDP object parsed matches session ID and serial of the parent.
+Whenever a snapshot file is parsed (and validated), all of its 'publish' elements are parsed as well and created at the local repository.
+Use 'fnstack' to log whenever an RRDP file is being processed.
+Update 'uri.h' to explicitly create either rsync or https URIs.
+Use rrdp_handler at the validation state of each thread (or each TAL, it's the same thing).
+Fix wrong return value on error at __do_file_validation, it should return a 'no memory' error instead of 'invalid value'.
+Fix macro ARRAYLIST_FOREACH, one argument wasn't being utilized.
+Update unit tests, add reference to new header 'db_rrdp.h'.

5 years agoAdd XML parsing structs and methods.
pcarana [Thu, 21 Nov 2019 17:12:30 +0000 (11:12 -0600)] 
Add XML parsing structs and methods.

+Validate and parse an Update Notification file whenever is found at a certificate. Currently this does nothing else, is merely to download and validate the file; rsync is still utilized to fetch the repository data.
+Add libxml2 dependency, utilized to validate XML files using relaxNG schema.
+Initialize and cleanup XML parser on main thread.
+Currently libxml2 doesn't seems to support Relax NG compact form, but due to its license, it's the best option to use. The RRDP schema was transformed to Relax NG schema with the tool rnc2rng.
+Add basic unit test to parse an RRDP XML file.

5 years agoPrepare to process id-ad-rpkiNotify accessMethod
pcarana [Fri, 15 Nov 2019 23:54:13 +0000 (17:54 -0600)] 
Prepare to process id-ad-rpkiNotify accessMethod

5 years agoAdd minor fixes at docs.
pcarana [Thu, 14 Nov 2019 00:12:35 +0000 (18:12 -0600)] 
Add minor fixes at docs.

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