This website requires JavaScript.
b2b1d62cc0
Merge branch 'multicast' into 'master'
master
v1.0
ynerant
2021-01-09 22:30:00 +0100
8a8a03e252
Replace RLock by Semaphore (in readme also)
Yohann D'ANELLO
2021-01-09 21:49:56 +0100
414173c0eb
Replace RLock by Semaphore
Yohann D'ANELLO
2021-01-09 21:45:50 +0100
4b9d3501a1
Add timeout of 1 second for each acquire
Yohann D'ANELLO
2021-01-09 21:41:28 +0100
6aa714ef4c
Cleaning files.
eichhornchen
2021-01-09 21:32:17 +0100
83998e639b
Merge remote-tracking branch 'origin/multicast' into multicast
Yohann D'ANELLO
2021-01-09 21:31:52 +0100
7554bd0379
Documentation for the trailing zero in data
Yohann D'ANELLO
2021-01-09 21:31:47 +0100
d23bb086dd
Cleaned the repo
eichhornchen
2021-01-09 21:26:29 +0100
e3adc73d01
Copy recent messages before cleaning them
Yohann D'ANELLO
2021-01-09 21:07:08 +0100
dbf3953ad4
Reduce length by 1 if there is a trailing zero at the end
Yohann D'ANELLO
2021-01-09 20:56:02 +0100
d8cabcc6a3
DataTLV is not subscriptable
Yohann D'ANELLO
2021-01-09 20:52:17 +0100
8f3b7cd9d2
Inundation is more thread-safe
Yohann D'ANELLO
2021-01-09 20:41:12 +0100
4a79fcaabe
Prevent curses errors
Yohann D'ANELLO
2021-01-09 20:38:13 +0100
2797b9ddc5
Allow other clients to add a trailing zero at the end of a data
Yohann D'ANELLO
2021-01-09 20:36:32 +0100
b6a27af219
Don't commit latex output
Yohann D'ANELLO
2021-01-09 20:33:15 +0100
30cdd107f5
IPv4-mapping
Yohann D'ANELLO
2021-01-09 20:32:00 +0100
047e031b25
Documentation
eichhornchen
2021-01-09 20:20:25 +0100
ed00fd73d1
Fix inundation concurrency issues
Yohann D'ANELLO
2021-01-09 20:13:02 +0100
eb97a47a25
Warn other user is the data contains a zero
Yohann D'ANELLO
2021-01-09 20:09:53 +0100
ff781981f9
Merge branch 'no-colors-on-tty' into 'master'
ynerant
2021-01-09 18:19:41 +0100
ea5da5656f
Fix colors when we can't change colors (eg. in a TTY)
Yohann D'ANELLO
2021-01-09 18:14:48 +0100
c136f34d9c
Refresh screen when needed
Yohann D'ANELLO
2021-01-08 19:11:46 +0100
bf130f1ede
Remove debug code
Yohann D'ANELLO
2021-01-08 18:55:18 +0100
369befcd79
💩 code
Yohann D'ANELLO
2021-01-08 18:50:10 +0100
380f808e50
Merge hazelnuts that have the same id
Yohann D'ANELLO
2021-01-08 17:52:27 +0100
57cdfebff4
...
Eichhornchen
2021-01-07 18:32:25 +0100
55b9eac037
prefer not multicast port addresses
Eichhornchen
2021-01-07 18:25:05 +0100
a8d38faa62
better?
Eichhornchen
2021-01-07 18:13:20 +0100
eae4f13066
Removes somr locks that were blocking the threads
Eichhornchen
2021-01-07 17:48:56 +0100
7e1323dc74
Multicast mode can be turned off (it does not really work, so...
Eichhornchen
2021-01-07 17:12:33 +0100
f8fa48f274
reapired multicast
Eichhornchen
2021-01-07 15:50:32 +0100
850b4ed78b
...
Eichhornchen
2021-01-07 15:39:35 +0100
5ada0920f0
for tests
eichhornchen
2021-01-07 15:23:28 +0100
1702d258bf
multicast
eichhornchen
2021-01-07 15:06:23 +0100
df3298a39c
suppress the superfluous hazel.py file.
eichhornchen
2021-01-07 11:20:49 +0100
25e502ab45
Merge branch 'commands' into 'master'
eichhornchen
2021-01-07 11:13:38 +0100
15917bfb32
Added a fix to avoid becoming one's own neighbour.
Eichhornchen
2021-01-06 22:04:23 +0100
ab554bb3fe
Cleaned the names + put the lock back (I assure you it's necessary)
Eichhornchen
2021-01-06 21:47:07 +0100
671c3ef978
Merge branch 'commands' into 'master'
ynerant
2021-01-06 17:04:07 +0100
be6abe2557
Linting
Yohann D'ANELLO
2021-01-06 15:50:29 +0100
40a22b20c8
Fix markdown command
Yohann D'ANELLO
2021-01-06 15:48:02 +0100
fdc89bfe53
Remove debug code
Yohann D'ANELLO
2021-01-06 15:46:58 +0100
bd024c3d31
Manage suppr key, fix backspace
Yohann D'ANELLO
2021-01-06 15:45:52 +0100
89bb6ddc3a
Manage commands
Yohann D'ANELLO
2021-01-05 23:59:35 +0100
a92df73a55
Merge branch 'security' into 'master'
ynerant
2021-01-05 22:40:54 +0100
acd9b157b9
Add docstring for the update table function
Yohann D'ANELLO
2021-01-05 22:36:09 +0100
084f512d34
Check that packet length is good
Yohann D'ANELLO
2021-01-05 22:01:49 +0100
eb0098552a
Banned clients are not potential clients
Yohann D'ANELLO
2021-01-05 21:50:16 +0100
1db72e71dc
Banned clients are not potential clients
Yohann D'ANELLO
2021-01-05 21:17:44 +0100
edb738bffb
Don't log banned users too much
Yohann D'ANELLO
2021-01-05 21:08:52 +0100
dc9f836932
When merging clients, merge also error count
Yohann D'ANELLO
2021-01-05 21:04:08 +0100
5bb4748056
Warn users when they send poop messages and ban them if they are too many
Yohann D'ANELLO
2021-01-05 20:54:14 +0100
0a4ebd0c92
An unknown client can only send HelloTLV and GoAwayTLV for security
Yohann D'ANELLO
2021-01-05 20:38:19 +0100
f062ee7b13
Use hazelnut sets instead of dictionaries to avoid duplicate hazels
Yohann D'ANELLO
2021-01-05 20:26:22 +0100
c7c8765fad
Fix the warnings when a hazel use a different id/nickname that was previously known
Yohann D'ANELLO
2021-01-05 20:21:13 +0100
2d670a56a1
Merge clients that have the same id if it speaks on multiple addresses
Yohann D'ANELLO
2021-01-05 20:05:19 +0100
56020390b2
activehazelnuts -> active_hazelnuts
Yohann D'ANELLO
2021-01-05 19:19:43 +0100
f85b088367
Don't need to use a lock when manipulating packets
Yohann D'ANELLO
2021-01-05 19:17:33 +0100
915dc3ec24
Clients can have multiple addresses
Yohann D'ANELLO
2021-01-05 19:13:07 +0100
5ffe0d21c3
A hazelut is either active or potential
Yohann D'ANELLO
2021-01-05 18:25:55 +0100
95a2501e49
Update the full hazelnuts table when adding a new potential neighbour
Yohann D'ANELLO
2021-01-05 18:22:34 +0100
311e1539f9
Store a single hazelnut table
Yohann D'ANELLO
2021-01-05 18:12:57 +0100
18d1737914
Send a long hello as a response of a HelloTLV
Yohann D'ANELLO
2021-01-05 17:11:34 +0100
5c9b63d9db
Restructurate active hazels
Yohann D'ANELLO
2021-01-05 17:05:03 +0100
32ff4cbb97
Merge branch 'Neighbour' into 'master'
ynerant
2021-01-05 16:07:29 +0100
f85b52524a
Linting
Yohann D'ANELLO
2021-01-05 16:03:16 +0100
5422d12ed1
Added a latex Readme
eichhornchen
2021-01-04 21:27:55 +0100
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()
eichhornchen
2021-01-04 18:26:06 +0100
122932e289
Revert "Removing the error raising in validate_data"
eichhornchen
2021-01-04 11:02:58 +0100
bb62669722
Removing the error raising in validate_data
eichhornchen
2021-01-04 10:52:03 +0100
a985dac4b0
Ctrl+C properly stop the program
Yohann D'ANELLO
2021-01-01 19:55:30 +0100
88ab6f5c76
More security in TLV analysis
Yohann D'ANELLO
2021-01-01 18:41:01 +0100
b70fbc75d1
Add debug option
Yohann D'ANELLO
2021-01-01 18:14:22 +0100
9ef3be22e8
Sleep during threads to avoid loops that run infinitely
Yohann D'ANELLO
2021-01-01 18:07:41 +0100
ac249716f7
Linting
Yohann D'ANELLO
2021-01-01 17:56:48 +0100
7abaa7bcd4
Repaired a few bugs in inundation (and the bug notes in the last commit)
eichhornchen
2020-12-29 15:06:27 +0100
04f6fb6002
Implemented the inundation, strange type error encountered when testing
eichhornchen
2020-12-29 13:48:55 +0100
c01fd697cd
Added a marker to active neighbours to remember if they are symmetric. Fixed a marshal function broken by the last commit
eichhornchen
2020-12-28 18:33:57 +0100
913f804f5e
The address property of a hazel is now a string. The whole code has been changed accordingly.
eichhornchen
2020-12-28 15:00:36 +0100
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)
eichhornchen
2020-12-28 11:48:44 +0100
b7a495eb11
Implemented the first three phases of neighbour management (warning: for testing purposes, the delays before any action have been reduced)
eichhornchen
2020-12-27 21:31:34 +0100
806287f834
Added construct functions to all TLVs that did not have one.
eichhornchen
2020-12-25 21:22:52 +0100
e4797b745a
Completed the handle function for the Hello, Neighbour and GoAway
eichhornchen
2020-12-24 13:07:24 +0100
61ab96abdc
Don't duplicate messages when sending multiple TLVs
Yohann D'ANELLO
2020-12-23 23:59:09 +0100
597dd658f4
Lock during refresh in order to manage concurrency, fixes #5
Yohann D'ANELLO
2020-12-23 23:51:16 +0100
39b4157836
Fix acknowledge
Yohann D'ANELLO
2020-12-23 23:10:57 +0100
901d4aad05
Acknowledge Data TLVs
Yohann D'ANELLO
2020-12-21 16:04:17 +0100
e1f0d54ac8
Use a random squirrel id and an incremental nonce
Yohann D'ANELLO
2020-12-21 16:04:16 +0100
ebd6c18032
Ignore duplicate messages
Yohann D'ANELLO
2020-12-21 16:04:16 +0100
17ca4d105f
Use screen.get_wch() rather than screen.getkey() to have better support of UTF-8
Yohann D'ANELLO
2020-12-21 16:04:15 +0100
e44998028d
Don't add stars to mark a text as bold or italic if non-markdown mode
Yohann D'ANELLO
2020-12-21 16:04:15 +0100
9f070f594b
Better nickname parsing, warn other clients when they does not provide a parsable nickname
Yohann D'ANELLO
2020-12-21 16:04:15 +0100
e37c43b78d
Scroll horizontally on the input line for long messages
Yohann D'ANELLO
2020-12-21 16:04:14 +0100
dd4f839fad
Long messages are wrapped in the history to avoid crashes
Yohann D'ANELLO
2020-12-21 16:04:14 +0100
7a25d24ba3
Ensure that a DataTLV is not too long
Yohann D'ANELLO
2020-12-21 16:04:13 +0100
b96ff488e7
If the total packet size is larger than 1024, then it is splitted into subpackets
Yohann D'ANELLO
2020-12-21 16:04:13 +0100
bda4860aca
Convert host to network byte order if necessary
Yohann D'ANELLO
2020-12-21 16:04:13 +0100
833c56755a
Some imports were missing
Yohann D'ANELLO
2020-12-21 16:04:12 +0100
0c4ef9da5a
Split the file into more readable-sized files
eichhornchen
2020-12-16 17:51:01 +0100
63407461fe
Python 3.7 does not support continue in a finally block
Yohann D'ANELLO
2020-12-21 16:04:11 +0100