Review branch dev/mollekopf2 Avoid unnecessary explicit cast

Authored by mollekopf on Apr 8 2020, 4:11 PM.


Group Reviewers
Restricted Project
rGa3c5d59f8fc4: Removed the binary:matches(PreprocessData, <<"\r\n">>) workaround

The extra case is not necessary to deal with empty lines

Moved record to separate file so it can be reused from tests


Multi-line packet processing is still failing.

Split out rule application into a seprate function.

Perhaps not the right split and certainly not the right name, but
provides a bit more overview.

Process client-data line by line to deal multiple commands arriving in the same packet.


y1 ID (\"name\" \"Trojita\" \"os\" \"Qt/5.13.2; xcb; Linux; \" \"version\" \"0.7-git\")\r\ny2 ENABLE QRESYNC

Check current_command_split in tests

Full protocol dumps in debug output

test cleanup

Test more package splits

Honor reset_on_next_client_command

We used to rely on getting something from the server inbetween (which is
not a valid assumption).

Test various package splits

Removed the binary:matches(PreprocessData, <<"\r\n">>) workaround

This in turn also makes the applyRules function unnecessary.

The workaround was handling a special case when \r\n was prepended in
the packet (that was the only way to hit the codepath at all). Now that
we process line by line we can't run into this situation anymore.

Diff Detail

rG guam
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mollekopf requested review of this revision.Apr 8 2020, 4:11 PM
mollekopf created this revision.
This revision was not accepted when it landed; it landed in state Needs Review.Apr 15 2020, 9:20 AM
This revision was automatically updated to reflect the committed changes.