Commit Graph

51 Commits

Author SHA1 Message Date
eichhornchen 6aa714ef4c Cleaning files. 2021-01-09 21:32:17 +01:00
Yohann D'ANELLO dbf3953ad4
Reduce length by 1 if there is a trailing zero at the end 2021-01-09 20:56:02 +01:00
Yohann D'ANELLO d8cabcc6a3
DataTLV is not subscriptable 2021-01-09 20:52:17 +01:00
Yohann D'ANELLO 2797b9ddc5
Allow other clients to add a trailing zero at the end of a data 2021-01-09 20:36:32 +01:00
Yohann D'ANELLO ed00fd73d1
Fix inundation concurrency issues 2021-01-09 20:13:02 +01:00
Yohann D'ANELLO eb97a47a25
Warn other user is the data contains a zero 2021-01-09 20:09:53 +01:00
Yohann D'ANELLO 369befcd79
💩 code 2021-01-08 18:50:10 +01:00
Eichhornchen a8d38faa62 better? 2021-01-07 18:13:20 +01:00
eichhornchen 1702d258bf multicast 2021-01-07 15:06:23 +01:00
Eichhornchen 15917bfb32 Added a fix to avoid becoming one's own neighbour. 2021-01-06 22:04:23 +01:00
Eichhornchen ab554bb3fe Cleaned the names + put the lock back (I assure you it's necessary) 2021-01-06 21:47:07 +01:00
Yohann D'ANELLO 084f512d34
Check that packet length is good 2021-01-05 22:01:49 +01:00
Yohann D'ANELLO eb0098552a
Banned clients are not potential clients 2021-01-05 21:50:29 +01:00
Yohann D'ANELLO 0a4ebd0c92
An unknown client can only send HelloTLV and GoAwayTLV for security 2021-01-05 20:38:19 +01:00
Yohann D'ANELLO f062ee7b13
Use hazelnut sets instead of dictionaries to avoid duplicate hazels 2021-01-05 20:26:22 +01:00
Yohann D'ANELLO c7c8765fad
Fix the warnings when a hazel use a different id/nickname that was previously known 2021-01-05 20:21:13 +01:00
Yohann D'ANELLO 2d670a56a1
Merge clients that have the same id if it speaks on multiple addresses 2021-01-05 20:05:19 +01:00
Yohann D'ANELLO 56020390b2
activehazelnuts -> active_hazelnuts 2021-01-05 19:19:43 +01:00
Yohann D'ANELLO 915dc3ec24
Clients can have multiple addresses 2021-01-05 19:13:07 +01:00
Yohann D'ANELLO 5ffe0d21c3
A hazelut is either active or potential 2021-01-05 18:25:55 +01:00
Yohann D'ANELLO 95a2501e49
Update the full hazelnuts table when adding a new potential neighbour 2021-01-05 18:22:34 +01:00
Yohann D'ANELLO 311e1539f9
Store a single hazelnut table 2021-01-05 18:12:57 +01:00
Yohann D'ANELLO 18d1737914
Send a long hello as a response of a HelloTLV 2021-01-05 17:11:34 +01:00
Yohann D'ANELLO 5c9b63d9db
Restructurate active hazels 2021-01-05 17:05:03 +01:00
Yohann D'ANELLO f85b52524a
Linting 2021-01-05 16:03:16 +01:00
eichhornchen 17548ff73c Added a test to ensure oneself can not become neighbour of oneself (associated to the same adress) + remove one call to pkt.validate_data() 2021-01-04 18:26:06 +01:00
eichhornchen 122932e289 Revert "Removing the error raising in validate_data"
This reverts commit bb62669722.
2021-01-04 11:02:58 +01:00
eichhornchen bb62669722 Removing the error raising in validate_data 2021-01-04 10:52:03 +01:00
Yohann D'ANELLO a985dac4b0
Ctrl+C properly stop the program 2021-01-01 19:55:30 +01:00
Yohann D'ANELLO 88ab6f5c76
More security in TLV analysis 2021-01-01 18:41:01 +01:00
Yohann D'ANELLO ac249716f7
Linting 2021-01-01 17:56:48 +01:00
eichhornchen 7abaa7bcd4 Repaired a few bugs in inundation (and the bug notes in the last commit) 2020-12-29 15:06:27 +01:00
eichhornchen 04f6fb6002 Implemented the inundation, strange type error encountered when testing 2020-12-29 13:48:55 +01:00
eichhornchen c01fd697cd Added a marker to active neighbours to remember if they are symmetric. Fixed a marshal function broken by the last commit 2020-12-28 18:33:57 +01:00
eichhornchen 913f804f5e The address property of a hazel is now a string. The whole code has been changed accordingly. 2020-12-28 15:00:36 +01:00
eichhornchen c4e03ed427 Implemented the fourth phase of neighbour management (the type of addresses sometimes changes in the cide, this should be addressed, there also remains a lot of debugging printing) 2020-12-28 11:48:44 +01:00
eichhornchen b7a495eb11 Implemented the first three phases of neighbour management (warning: for testing purposes, the delays before any action have been reduced) 2020-12-27 21:31:34 +01:00
eichhornchen 806287f834 Added construct functions to all TLVs that did not have one. 2020-12-25 21:22:52 +01:00
eichhornchen e4797b745a Completed the handle function for the Hello, Neighbour and GoAway 2020-12-24 13:07:24 +01:00
Yohann D'ANELLO 61ab96abdc
Don't duplicate messages when sending multiple TLVs 2020-12-23 23:59:09 +01:00
Yohann D'ANELLO 39b4157836
Fix acknowledge 2020-12-23 23:10:57 +01:00
Yohann D'ANELLO 901d4aad05
Acknowledge Data TLVs
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:04 +01:00
Yohann D'ANELLO e1f0d54ac8
Use a random squirrel id and an incremental nonce
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:04 +01:00
Yohann D'ANELLO ebd6c18032
Ignore duplicate messages
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:04 +01:00
Yohann D'ANELLO e44998028d
Don't add stars to mark a text as bold or italic if non-markdown mode
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:03 +01:00
Yohann D'ANELLO 9f070f594b
Better nickname parsing, warn other clients when they does not provide a parsable nickname
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:02 +01:00
Yohann D'ANELLO 7a25d24ba3
Ensure that a DataTLV is not too long
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:01 +01:00
Yohann D'ANELLO b96ff488e7
If the total packet size is larger than 1024, then it is splitted into subpackets
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:01 +01:00
Yohann D'ANELLO bda4860aca
Convert host to network byte order if necessary
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:01 +01:00
Yohann D'ANELLO 833c56755a
Some imports were missing
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2020-12-21 16:36:00 +01:00