1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 12:40:35 +00:00
Commit Graph

6580 Commits

Author SHA1 Message Date
Carles Fernandez
389600dffc
Fix building with CMake 3.30 2024-07-10 20:16:07 +02:00
Carles Fernandez
12a2fcadbe
Bump max version of CMake to 3.30 2024-07-10 14:28:16 +02:00
cesaaargm
f534ef859c [TAS-212] [TEST] implement tests for DSM-PKR Verification
* VerifyPublicKey, ComputeBaseLeaf, ComputeMerkleRoot
* Refactored verify_dsm_pkr to allow for the new tests
* add  convert_from_hex function in the helper
2024-07-09 17:13:40 +02:00
Carles Fernandez
36cb210ae2
Merge branch 'fix_acquisition_monitor' of https://github.com/vladisslav2011/gnss-sdr into vladisslav2011-fix_acquisition_monitor 2024-07-03 21:55:48 +02:00
cl-cv
ae225bad2b
Fixed typo in collection of A0UTC parameter 2024-07-03 21:41:05 +02:00
cesaaargm
aede664b5a [TAS-232 ] [FEAT] verify tag m0
* add new constructor to Tag for Tag0
* minor reporting and comments.
* forgot an include from fix5 merge
* gitignore release folder
2024-07-03 18:45:40 +02:00
cesaaargm
adb3b455ea Merge branch 'osnma-cesare-fix5' of https://github.com/carlesfernandez/gnss-sdr into carlesfernandez-osnma-cesare-fix5 2024-07-02 13:54:34 +02:00
cesaaargm
b77784d1f3 [TAS-227] [BUG] Tag verification fails for .dat files 2024-07-02 13:34:37 +02:00
Carles Fernandez
4b4f6b9d7f
Fix CMAC-AES with GnuTLS 2024-07-01 22:43:54 +02:00
Carles Fernandez
2f475d6aaf
Fix CMAC-AES algorithm for OpenSSL 1.x 2024-07-01 02:44:22 +02:00
Carles Fernandez
95e3329f10
Fix for old GnuTLS 2024-07-01 01:31:09 +02:00
Carles Fernandez
c2bb06076a
Fix for old OpenSSL 2024-06-30 12:04:57 +02:00
Carles Fernandez
d984822b45
Fix for cross-compilation 2024-06-30 10:24:21 +02:00
Carles Fernandez
413e5309ba
Add missing include 2024-06-30 10:10:03 +02:00
Carles Fernandez
22b6d70318
Fix building of benchmarks in some environments 2024-06-30 09:45:51 +02:00
Carles Fernandez
db5466832c
Look for OpenSSL in the first place, fallback to GnuTLS if not found
Fix test building in some environments
2024-06-29 11:11:20 +02:00
Carles Fernandez
359693c0e8
Add GNSS-SDR.osnma_enable configuration parameter, by default set to true 2024-06-28 13:03:14 +02:00
Carles Fernandez
c38fb0fca5
Fix building (add missing include) 2024-06-28 10:51:10 +02:00
cesaaargm
1d815f0bbf [TAS-227] [BUG] Tag verification fails for .dat files (WIP)
WIP
2024-06-27 23:36:40 +02:00
Carles Fernandez
2c833051a5
Fix SHA3-256 implementation when linking against OpenSSL 1.1.1 2024-06-25 13:59:23 +02:00
Carles Fernandez
cae618b450
Fix ECDSA signature verification when linking againts OpenSSL 1.0 2024-06-25 12:42:07 +02:00
Carles Fernandez
23bb5c85c5
Fix building against OpenSSL 1.0 2024-06-25 11:45:09 +02:00
Carles Fernandez
9a1def7aa4
Fix building with old compilers 2024-06-25 10:50:00 +02:00
cesaaargm
c1c58eab06
Merge pull request #4 from carlesfernandez/osnma-cesare-fix3
Really fix signature verification with GnuTLS
2024-06-24 15:33:20 +02:00
cesaaargm
2cf96bda87 [TAS-226] [FEAT] Remove tags skipped ≥ 10 times
Take into account TOW to decide whether to skip a tag or not.
Still, I dont like the logic of iterating over and over the tags. Once a tag is verified once, it should be not checked unless next TOW subframe came (new Data or new Key available)

Adittionally: solved a small specification bug for ADKD=12, improved reporting (status of Tag is a string now)
2024-06-24 14:43:43 +02:00
Carles Fernandez
584b95e62e
Fix CMAC-AES implementation in OpenSSL>3.0.0. Add unit test 2024-06-24 14:01:34 +02:00
Carles Fernandez
8ea75116ac
Fix intantiation of Gnss_Crypto() with GnuTLS 2024-06-23 13:48:31 +02:00
Carles Fernandez
a704c10044
Add SHA_256 unit test 2024-06-23 13:34:57 +02:00
Carles Fernandez
378820e76b
Add unit test for SHA3-256 hash algorithm 2024-06-23 13:10:38 +02:00
Carles Fernandez
d4cc036cbd
Fix HMAC-SHA256 computation with OpenSSL > 3.0 2024-06-23 12:03:12 +02:00
Carles Fernandez
1bc6d466c5
Fix conflict 2024-06-23 11:26:36 +02:00
Carles Fernandez
8dfd341d2c
Fix tests building 2024-06-23 11:10:40 +02:00
Carles Fernandez
bac36b2df5
Read .crt files instead of .pem files
Define the following global configuration parameters:
GNSS-SDR.osnma_public_key (string, by default pointing to ../data/OSNMA_PublicKey_20240115100000_newPKID_1.crt)
GNSS-SDR.osnma_merkletree (string, by default pointing to  ../data/OSNMA_MerkleTree_20240115100000_newPKID_1.xml)

Add logging of OSNMA events
Clean public API of Gnss_Crypto class
2024-06-23 09:49:14 +02:00
cesaaargm
849a900adf [TAS-228] [FEAT] adapt osnma test vector to new navData passing
All tags either verified SUCCESSFULLY or Skipped.
Skipping issue still present.
2024-06-22 14:54:08 +02:00
cesaaargm
f1e616c4e5 [TAS-226] [FEAT] Remove tags skipped ≥ 10 times 2024-06-22 14:04:08 +02:00
cesaaargm
c8c7d4c352 [TAS-224] Update telemetry decoder to directly process Navigation Data bits
This update refactors the telemetry decoder to directly retrieve and compute Navigation Data bits. WIP as the tag verification still fails
2024-06-22 14:03:15 +02:00
Carles Fernandez
d41efd2653
Really fix signature verification with GnuTLS 2024-06-21 10:29:20 +02:00
cesaaargm
11e84e751b
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-06-17 17:28:19 +02:00
Carles Fernandez
d1b97cfa09
Clean log 2024-06-14 20:45:55 +02:00
cesaaargm
1a32ccaa19 [TAS-208 WIP ] [Feature] Retrieve directly NavData bits from Telemetry Decoder (ADKD4 and 0/12)
- appear to retrieve data as expected.
- However, tag verification fails still (new dat file)
2024-06-13 01:13:17 +02:00
cesaaargm
b39087f609
Merge pull request #2 from carlesfernandez/osnma-cesare_fix1
Build fixes
2024-06-12 20:47:54 +02:00
cesaaargm
ed32e84402 [TAS-221] [BUG] FLX tag verification fails for recorded signals but succeeds for configuration_2 (otv)
Implemented changes to ensure accurate computation of the d_GST_Sf in message receiver. Checked test is not affected by this. Logging improvements have been made.
2024-06-11 18:33:58 +02:00
Carles Fernandez
0e168a8ff0
Build fixes 2024-06-11 14:16:36 +02:00
cesaaargm
8de00f92bf [TAS-198] tag verification: debug MACSEQ (flex)
- reset the d_GST_Sf computation being d_GST_SIS - 30 seconds. All FLX tags successfuly verified.
2024-06-10 19:47:41 +02:00
cesaaargm
4f7a22f35c [TAS-219] Configuration_2, num_of_hashes needed huge
- Confused PK date with recording date, lead to Kroot time to be in the future (impossible)
2024-06-10 19:01:17 +02:00
cesaaargm
5dfd479cb3 [TAS-216] configuration_2 debug verify_dsm_pkr() and make it work
- several bugs fixed for DSM-PKR verification.
- improved verification, taking into account leaf position (odd/even), which determines concatenation order.
- now: configuration_2 leads to successful DSM-PKR verification.
2024-06-10 18:59:40 +02:00
Carles Fernandez
8ed2893fa3
Update block of GPS satellite 2024-06-10 12:55:45 +02:00
Carles Fernandez
dc18110e5d
Update list of Galileo satellites 2024-06-10 10:49:47 +02:00
cesaaargm
6671d9bf7b [TAS-213] implement configuration_2 osnma test vectors
TODO - parametrize test, since now the hardcoded configuration files are to be selected.
2024-06-09 22:22:39 +02:00
cesaaargm
6508e985a1 [TAS-206] [Feature] NavData for ADKD=4 for osnma_test_vector. 2024-06-04 17:35:00 +02:00
cesaaargm
434fff9cbf [TAS-203] bug osnma_test_vector_config_1 II
bug in build_message (PRN_d instead of PRNa)
tags_awaiting_verification increase buffer size
Reporting: modify tag reporting
2024-06-03 19:59:32 +02:00
cesaaargm
35bb2afaba
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-06-03 05:19:16 +02:00
Carles Fernandez
d320ea70ff
Fix typo in comment 2024-05-26 22:01:46 +02:00
cesaaargm
b0eb958be0 [TAS-203] bug osnma_test_vector_config_1
adkd dependence on key selection
2024-05-22 21:01:24 +02:00
cesaaargm
163c915c72 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-22 16:58:30 +02:00
cesaaargm
d52603aba5 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-21 18:08:25 +02:00
cesaaargm
a53b92b861 [TAS-200] gnss_crypto_test :: extend unit test for m0 and adkd4 2024-05-20 15:36:50 +02:00
cesaaargm
585cae0d70 [TAS-201] Update gnss_crypto_test and osnma_msg_receiver_test sections in CMakeLists for abseil 2024-05-20 11:24:31 +02:00
cesaaargm
5cee46aa06 [TAS-199] Add TagVerification test. Bugfix for verify_tag and osnma_helper. 2024-05-19 18:16:52 +02:00
cesaaargm
059e5e98d8 Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into osnma-cesare 2024-05-12 12:54:34 +02:00
cesaaargm
a3a5f28e7f [TAS-174] retrieve NavData (W1→W5) directly from osnma test vector file. Add Osnma_Helper class. remove tag.build_message. Ignore W33. Reporting changes. 2024-05-12 11:34:48 +02:00
Vladislav P
3b10a3663f
Allow connection of more than 1 signal conditioner to a signal source
Signed-off-by: Vladislav P <vladisslav2011@gmail.com>
2024-05-07 11:01:58 +03:00
Carles Fernandez
0a80c09a19
Remove blank line in logs 2024-05-06 19:01:38 +02:00
Carles Fernandez
079ef0f07d
Improve error handling of UDP connections 2024-05-06 18:58:09 +02:00
cesaaargm
c9259d87db Refactored and improved OsnmaMsgReceiverTest
Changes in the osnma receiver initialisation for time synchronisation with the configuration 1.
OsnmaMsgReceiverTest::initializeGoogleLog() implemented recycling code, in the same way as the gnss-sdr receiver upon start.
2024-05-06 17:58:56 +02:00
cesaaargm
38829adaaf GnssCryptoTest :: introduce raw r and s values signature.
This was done after bugfix for verify_signature.
2024-05-06 17:55:11 +02:00
cesaaargm
dd2f153023 Bugfix for OSNMA_DSM_Reader::get_alpha
This commit fixes a bug in the parsing of the DSM-Kroot alpha parameter.
2024-05-06 17:53:13 +02:00
cesaaargm
b687d4cafe Bugfix for Gnss_Crypto::verify_signature
The commit introduces conversion from raw signature (r, s values) into DER format for the ossl3 region, after realising that that was making the verification fail.
2024-05-06 17:52:07 +02:00
cesaaargm
359631b534 Improve logging in OSNMA receiver
* substitute std::cout with google log outputs, blend out some couts
* add check that the final time matches the Kroot time during tesla key verification
* introduce variable 'd_validated_key'
2024-05-06 17:46:33 +02:00
Carles Fernandez
fbc216c1a3
Add flag validation when using Abseil 2024-05-02 00:14:53 +02:00
Carles Fernandez
5004fc386d
Fix target name 2024-05-01 13:02:35 +02:00
Carles Fernandez
c8c6325535
Add flags for logging configuration 2024-05-01 12:14:06 +02:00
Carles Fernandez
33a38f4ec6
Fix ENABLE_LOG=OFF option 2024-05-01 09:52:48 +02:00
Carles Fernandez
3e2c0f2e6a
Fixes for the embedded Abseil 2024-05-01 09:00:46 +02:00
Carles Fernandez
4515e67b3f
Fixes for the embedded Abseil 2024-05-01 08:39:22 +02:00
Carles Fernandez
606454f7d3
Fix for Xcode 2024-04-30 10:35:37 +02:00
Carles Fernandez
95596b8f91
Soft transition from Gflags and Glog to Abseil. Some CI fixes 2024-04-29 08:27:33 +02:00
Carles Fernandez
1ad631128f
cpu_features: Update AArch64 features to Linux 6.6 2024-04-22 13:03:31 +02:00
Carles Fernandez
78295866e6
Find dependencies in the loongarch64 architecture 2024-04-22 12:41:11 +02:00
Carles Fernandez
c91c31bd35
Fix wrong order of arguments in calloc 2024-04-22 09:48:28 +02:00
cesaaargm
e13fc39214 [TAS-177] implement OsnmaTestVectorsSimulation
This commit introduces two new unit tests for the osnma_msg_receiver class: 'TeslaKeyVerification' and 'OsnmaTestVectorsSimulation'. The first test verifies the Tesla key handling within the class. The second test uses real-world test vectors to simulate osnma message receiving and verifies correct parsing and processing of messages.
2024-04-19 17:50:57 +02:00
Carles Fernandez
f1fb4abec0
Bump CMake max policy to 3.29 2024-04-13 09:17:18 +02:00
Carles Fernandez
fd5174e7ec
Remove duplicate libraries warning emitted by Xcode 15 2024-04-13 09:03:46 +02:00
Carles Fernandez
fc695cb6f6
CI: make cmakelint happy 2024-04-12 19:51:37 +02:00
Carles Fernandez
6fc04b34f2
Fix duplicate warning from Xcode 2024-04-12 18:15:33 +02:00
cesaaargm
881bb5c58a
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-04-12 15:24:51 +02:00
cesaaargm
ff5118db54 [TAS-156] debug verify_tesla_key various bugfixes plus refactor recursive hash computation 2024-04-10 17:51:43 +02:00
cesaaargm
a17b04cb22 [TAS-159 ] d_tesla_key_verified => do not hash until Kroot(every time) - improve efficiency of verify_tesla_key by computing only the needed hashes until chronologically closest key, instead of going back to Kroot. Aditional chanches are:
* rename unused variable d_old_GST_SISto d_last_verified_key_GST and use it for tesla key verification
* fix bug on verify_tesla_key during the comparison of computed and received key
* deleted d_old_OSNMA_buffer
* fill PRNa and TOW for MACK message when parsing it
* fix parameter bug for verify_macseq()
* immplement tag_has_key_available
* delete old verify_tag implementation
2024-04-07 14:27:14 +02:00
Carles Fernandez
7e79945529
Update Flexiband_Signal_Source to admit modern GNU Radio versions 2024-04-05 13:37:45 +02:00
Marc Majoral
3f014b4a64
Fixed a deadlock issue in the FPGA-based tracking loops 2024-04-04 19:13:55 +02:00
cesaaargm
8fa1a86f24 Refactor tag verification logic - solve build errors 2024-04-02 18:04:19 +02:00
Cesare G. Martínez
a4d9b720dc Merge remote-tracking branch 'origin/osnma-cesare' into osnma-cesare
# Conflicts:
#	src/core/libs/osnma_msg_receiver.cc
#	src/core/libs/osnma_msg_receiver.h
#	src/core/system_parameters/osnma_data.cc
#	src/core/system_parameters/osnma_data.h
2024-04-02 07:37:36 +02:00
cesaaargm
a57d285e91
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-04-02 07:34:04 +02:00
cesaaargm
9120f5e59a Refactor tag verification logic WIP 2024-04-02 07:31:42 +02:00
Carles Fernandez
f03608ac82
Update links 2024-03-29 14:39:32 +01:00
cesaaargm
37b343391c Refactor tag verification logic WIP 2024-03-22 05:03:05 +01:00
cesaaargm
b5765048de [TAS-160] bugfix readMack for tag size 20. Subframe filter if TOW repeated. Unit test for HMAC 256. Update OSNMA tables. 2024-03-16 18:40:02 +01:00
cesaaargm
950c7310f9 [TAS-154] signature verification with ossl 3
Several changes were made on gnss_crypto to ensure that the unit test passes. Public key copying and hex printing features were added. The OpenSSL header includes were updated.
2024-03-11 20:08:28 +01:00
cesaaargm
816c20b77b Force use of OpenSSL library 2024-03-11 17:03:20 +01:00
cesaaargm
4a13e446b6 [TAS-153] Re-design time check requirement
[TAS-140] Tag verification: accumulation tags of PRNd and ADKD for T_COP

This update introduces updated time verification functions and DSM block processes. TAS-140 introduces work (in progress) for taking into account the COP when validating tags. This accounts for significant structural changes in process_mack_message(). The update also resolves several TODO comments and includes minor adjustments to unit tests and system parameters.
2024-03-10 16:38:24 +01:00