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
|
597dd658f4
|
Lock during refresh in order to manage concurrency, fixes #5
|
2020-12-23 23:51:16 +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
|
17ca4d105f
|
Use screen.get_wch() rather than screen.getkey() to have better support of UTF-8
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:36:03 +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
|
e37c43b78d
|
Scroll horizontally on the input line for long messages
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:36:02 +01:00 |
Yohann D'ANELLO
|
dd4f839fad
|
Long messages are wrapped in the history to avoid crashes
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 |
eichhornchen
|
0c4ef9da5a
|
Split the file into more readable-sized files
|
2020-12-21 16:36:00 +01:00 |
Yohann D'ANELLO
|
63407461fe
|
Python 3.7 does not support continue in a finally block
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:59 +01:00 |
Yohann D'ANELLO
|
38cea234bb
|
Make the emoji lib optional
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:59 +01:00 |
Yohann D'ANELLO
|
3d444f57f0
|
Adapt the byte order to the system configuration
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:59 +01:00 |
Yohann D'ANELLO
|
00e24d74ee
|
Cut the main loop into smaller functions to have more modularity
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:58 +01:00 |
Yohann D'ANELLO
|
e8fa0ece22
|
More abstraction on packet building
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:58 +01:00 |
Yohann D'ANELLO
|
592cbc3792
|
Add basic implementations for all TLVs
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:57 +01:00 |
Yohann D'ANELLO
|
8a066bb340
|
Handle warnings (receive only)
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:57 +01:00 |
Yohann D'ANELLO
|
f1e04b1dc8
|
Properly handle TLVs
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:57 +01:00 |
Yohann D'ANELLO
|
eeff80a85f
|
Add add_system_message function
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:56 +01:00 |
Yohann D'ANELLO
|
2630137019
|
In no-emoji mode, don't display the emoji menu
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:56 +01:00 |
Yohann D'ANELLO
|
9fcc0c30a7
|
The emoji selection is working
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:55 +01:00 |
Yohann D'ANELLO
|
5a212750e6
|
Don't display too complex emojis
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:55 +01:00 |
Yohann D'ANELLO
|
90918ddd71
|
Add emoji selector
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:54 +01:00 |
Yohann D'ANELLO
|
2f752592a1
|
Scroll in the history with up/down arrows and page up/page down
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:54 +01:00 |
Yohann D'ANELLO
|
f5baea585e
|
We can navigate in order to edit our message
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:54 +01:00 |
Yohann D'ANELLO
|
a21b0aa652
|
Manage backspace key
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:53 +01:00 |
Yohann D'ANELLO
|
639ad2b3bd
|
Argument parsing test got broken
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:53 +01:00 |
Yohann D'ANELLO
|
504811a32c
|
Don't send an empty message
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:52 +01:00 |
Yohann D'ANELLO
|
39016f6980
|
Screen is resizable
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:52 +01:00 |
Yohann D'ANELLO
|
ce61532f35
|
Markdown-formatting and emojis can be disabled with a CLI
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:51 +01:00 |
Yohann D'ANELLO
|
9835fff1f9
|
Emojize texts
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:51 +01:00 |
Yohann D'ANELLO
|
b007f4fce5
|
Text can be striked
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:50 +01:00 |
Yohann D'ANELLO
|
fce8e01a5b
|
Format bold, italic, underline text
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:50 +01:00 |
Yohann D'ANELLO
|
a1b93e851e
|
The nickname of the current user is colored
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:50 +01:00 |
Yohann D'ANELLO
|
dfd2d319a8
|
Add text colors
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:49 +01:00 |
Yohann D'ANELLO
|
04f31a1159
|
Better terminal refresh
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:49 +01:00 |
Yohann D'ANELLO
|
c609ca998a
|
Uses curses to have a proper terminal UI
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:48 +01:00 |
Yohann D'ANELLO
|
a28975c895
|
Clients can communicate together (without any innondation)
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:48 +01:00 |
Yohann D'ANELLO
|
9561912ac6
|
A packet can have multiple TLVs
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:47 +01:00 |
Yohann D'ANELLO
|
a796bed259
|
Receive packets in a dedicated thread, that is called "worm"
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:47 +01:00 |
Yohann D'ANELLO
|
8ef3f3a21c
|
Use IPv4-Mapping to have IPv4 compatibility
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
|
2020-12-21 16:35:47 +01:00 |