Page MenuHomekolab.org

Review branch dev/mollekopf2 Avoid unnecessary explicit cast
ClosedPublic

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

Details

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

The extra case is not necessary to deal with empty lines

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

kolab_guam_session_SUITE

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.

E.g:

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

Repository
rG guam
Lint
Automatic diff as part of commit; lint not applicable.
Unit
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.