Avril
c3f678a81e
I FUCKING AM SO CLOSE TO GIVING UP.
...
JUST WUFH APIURAP IRHPAIUWHRP IAWHPROI JF FUCKINGWHY!!!!!!
WHY DOES THIS DUMB BULLSHIT BOILETPLATE SHITE HAVE TO BE THE POINT OF FAILURE!?!!?!?!?? IWANT TO WRITE THE ACTUAL SOLUTION. NOT DICK AROUND WITH FUCKING POLLING NONESENSE. JU
JUST
FUCKING
WORK
YOU USELESS PIECE OF SHIT
I HATE THIS BULLSHIT
I@M GONNA NUKE THIS PROJECT SOON
WORTHLESS TRASH
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
d82c46b12d
FUCKING FAILURE: For FUCKs sake. NO MATTER HOW MUCH STATE I ADD TO THE DAMN THING, IT STILL FAILS TO READ PROPERLY AT SOME ARBITRARY POINT IN THE BUFFER.
...
I DONT FUCKING GET IT!!!)I")"(*)Q("*£
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
ed69a8f187
Failure: Keeping buffer read/size state between pendings STILL doesn"t work...
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
019bdee5c1
Failure: Converted `read_test` to a poll-based function, it still loses state required to maintain the buffer location. There"s no way to make this code keep the state. We need to re-design the function to something completely different.
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
fc2b10a306
Found bug. poll_read needs rewrite. Dunno how to write it tho.
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
5d5748b5ea
Found bug! It is **NOT** safe to pin and poll a stack future in a `poll*` Future method.
...
Fortune for rsh's current commit: Blessing − 吉
3 years ago
Avril
7cad244c16
FUCK THIS BULLSHIT. I LITERALLY JUST WANT A BUFFERED STREAM. WHY IS THERE NO LIBRARY FOR THIS, WHY IS THIS NOT THERE BY DEFAULT. FUCK EVERYTHING. I HATE THIS STUPID BOILERPLATE
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
56306fae83
Possible source of bug is polling a local stack future in poll_read method. Fucks sake.
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
c96d098441
Buffered reader doesn"t work,no fucking clue why?
...
Fortune for rsh's current commit: Small curse − 小凶
3 years ago
Avril
9d927c548a
TODO: impl `AsyncRead` for `Buffered<impl AsyncRead, SIZE>`
...
Fortune for rsh's current commit: Half curse − 半凶
3 years ago
Avril
a6a25259b8
Buffered: Fix buffer not being cleared on flush. Added internal info messages when `cfg!(test)` is enabled.
...
Fortune for rsh's current commit: Middle blessing − 中吉
3 years ago
Avril
818659b83c
Buffered writer seems to work.
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
19d1db35d6
Naive, basic impl of `AsyncWrite` for `Buffered<T,SIZE>` (untested, probably incorrect poll impls).
...
Fortune for rsh's current commit: Future curse − 末凶
3 years ago
Avril
90c9fce20c
FIrst attempt at buffering stream... Doesn"t seem to be working well...
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
6f8d367080
Documented currently non-functioning `Buffered<T>` fields
...
Fortune for rsh's current commit: Future curse − 末凶
3 years ago
Avril
69d546d2d1
Started `Buffered<T, const SIZE: usize>`: Static buffering stream wrapper for `ESock` syncing.
...
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
f8b6e3a0c6
This bug may make ESock **unusable** in this project entirely. Individual `SerializedMessage` sending/receiving _might_ work reliably since that is based on rigid size communication, but streamed data may be untenable. Any desync in streaming buffers causes complete failure.
...
This really is unacceptable but I don"t even know where to start to find the issue with it. It is likely a very deep design flaw with how we interact with the cipher, making this bug impossible to fix without a complete rewrite. Just like all other software I write. Worthless.
Fortune for rsh's current commit: Blessing − 吉
3 years ago
Avril
2a3d9e0c3a
For some reaosn, any difference between exact bytes written and read (even if they are identical, just spread over different `write` calls) causes the reading half to produce garbage?
...
For ESock to work, a `write(n)` needs to be paired with a `read(n)` for identical sizes of `n`. Not using `write_all(n)`+`read_exact(n)` causes this disjoint too? (Test with `write_all(n)`+`while read(...)` produced garbage.)
I have no idea what is going on here. I think there"s some disconnect with the cipher, but it"s a stream cipher, so positioning (i.e. where byte pattern `A` appears in slice `B` on the writing side, and slice `C` on the reading size) shouldn"t matter right? Clearly it seems to.
This is extremely disappointing.
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
e5fce0a045
XXX: ESock doesn"t work! :/ The first encrypted write/read succeeds, but any subsequent calls to write/read produce garbage...
...
Fortune for rsh's current commit: Future blessing − 末吉
3 years ago
Avril
20bf0f1649
Removed install of a panic hook in unit test
...
Fortune for rsh's current commit: Middle blessing − 中吉
3 years ago
Avril
2a49d17528
ESock tested: Exchange OK, Session OK, Encrypted + Unencrypted reads + writes OK. All works (so far)! :^)
...
TODO: Inspect contents of the duplex stream throughout transit. Make sure the encryption is happening properly.
Fortune for rsh's current commit: Half curse − 半凶
3 years ago
Avril
dc307c6d06
ESock: Added `split()` and `unsplit()`
...
TODO: Implement AsyncWrite/Read for the write/read halves
TODO: Implement set_encrypted_write/read for the write/read halves
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
edeb2ffee7
Added AsyncWrite and AsyncRead impls to `ESock<W,R>`
...
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
b6b3bb0fd5
Improved error messages for `set_encrypted_read()` and `exchange()`.
...
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
087a076b40
Added better error messages and context to `ESockSessionKey::from_ciphertext()`
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
3991d82f93
Added better error messages and context to `ESockSessionKey::to_ciphertext()`
...
Fortune for rsh's current commit: Blessing − 吉
3 years ago
Avril
3a5331b5f1
Added `bin` module for byte slice concat.
...
Removed !Unpin `exchange()` function.
Removed `Exchange<"sock,W,R>` future
Tests for RSA ciphertext len passing. (512 bytes static.)
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
0f7f22f290
ESock: Added `exchange_unpin()`. Start `Exchange` future for `exchange()` method that will work on non-Unpin types too. (Requires specific implemented future.)
...
Fortune for rsh's current commit: Middle blessing − 中吉
3 years ago
Avril
7f44c83ce3
Added AsyncSource to ESock<W, R>
...
Fortune for rsh's current commit: Small curse − 小凶
3 years ago
Avril
d349c018c2
Using AsyncSource instead of dump Duplex hack.
...
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
7f8acbba7f
Bumped version of `chacha20stream` to 2.0: Added support for `Read` and `AsyncRead` en/decryption.
...
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
7216f0f8de
Added `ReverseSink<R>`, temporary type for handling reads (chacha20stream currently only has a wrapper type for writes.)
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
62f3c384b2
Start `enc` socket wrapper
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
d271f164fa
Start sock capabilities
...
Fortune for rsh's current commit: Future blessing − 末吉
3 years ago
Avril
538080a6f1
Added MAX_BODY_SIZE
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
cf71fe20ab
Set `StackVec` stack size to 2KB (from 4KB).
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
37a00d1099
Improved de/serialise error messages
...
Fortune for rsh's current commit: Half curse − 半凶
3 years ago
Avril
46cd0e4a9f
from_buffer(): Implemented.
...
Fortune for rsh's current commit: Great blessing − 大吉
3 years ago
Avril
52d19c730b
Start reworking SerializedMessage -> binary pipeline.
...
Moved from `io::Write` to `bytes::BufMut`, etc.
TODO: Move from `io::Read` to `bytes::Buf` (SerializedMessage::<impl MessageValue>::from_buffer(impl Buf))
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
6afb148068
Added `UntypedSerializedMessage`: A `SerializedMessage` whos original value type has been erased. A `SerializedMessage<V>` can be converted into this with `.into_untyped()`, and can be converted back with the `unsafe` function `into_typed<V>()`.
...
Untyped serialized mmessages cannot be deserialized, they must first be given a type with `into_typed<V>()`. This operation is unsafe as it may cause a potential type confusion if the message"s original `V` is different from the newly specified `V`.
Fortune for rsh's current commit: Half curse − 半凶
3 years ago
Avril
c286708bff
Start: `UntypedMessageValue` for unsafe casting of `SerializedMessage`s
...
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
7765c33070
Moved `MessageValue` to own file
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
ab97278dbd
Added `subtrait!` macro for creating a blanket-impl trait that ``inherits" from one or more different traits in a few different ways (normal -> `Sized` types only, `dyn`: Sized and unsized types , `virtual`: Sized and unsized types, downcastable.)
...
Fortune for rsh's current commit: Curse − 凶
3 years ago
Avril
2308b61b58
Start: Raw socket handling function
...
Fortune for rsh's current commit: Middle blessing − 中吉
3 years ago
Avril
d3c43b323b
Added task cancelling module
...
Fortune for rsh's current commit: Future blessing − 末吉
3 years ago
Avril
c98f1c5c6c
Added message header accessors.
...
Fortune for rsh's current commit: Future small blessing − 末小吉
3 years ago
Avril
2931a3e8cb
Moved message tests to own file.
...
Fortune for rsh's current commit: Small blessing − 小吉
3 years ago
Avril
674c7a1171
Sign & Encrypt tests working okay
...
Fortune for rsh's current commit: Half blessing − 半吉
3 years ago
Avril
101ce28602
Encrypt + Sign tests work.
...
Fortune for rsh's current commit: Future blessing − 末吉
3 years ago
Avril
226901861a
Start adding stack-allocation helper functions. (ext.rs)
...
Fortune for rsh's current commit: Half curse − 半凶
3 years ago