diff options
author | 2019-02-12 21:45:13 +0000 | |
---|---|---|
committer | 2019-02-12 21:45:13 +0000 | |
commit | a04c474a866c2570c0525591aa3bb5245ca4bf80 (patch) | |
tree | de2da258c766a4aeec7e99ba0ddb45cb74a37194 | |
parent | Add Allwinner V3s support. From SASANO Takayoshi. (diff) | |
download | wireguard-openbsd-a04c474a866c2570c0525591aa3bb5245ca4bf80.tar.xz wireguard-openbsd-a04c474a866c2570c0525591aa3bb5245ca4bf80.zip |
sync Kristaps todo list
-rw-r--r-- | usr.bin/rsync/TODO.md | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/usr.bin/rsync/TODO.md b/usr.bin/rsync/TODO.md index 7263e3f177f..b98c674b4e5 100644 --- a/usr.bin/rsync/TODO.md +++ b/usr.bin/rsync/TODO.md @@ -6,7 +6,9 @@ for information on this topic. I've included the specific security porting topics below. This list also does not include adding support for features (e.g., **-u** and -so on). +so on). The **-a** feature is probably most important, and involves a little +legwork in the protocol getting **-g** and **-u** passing around file modes. +I would rate this as easy/medium. - Easy: speed up the uid/gid mapping/remapping with a simple table. Right now, the code in @@ -45,4 +47,25 @@ so on). - Hard: the same, but for Linux. +- Hard: make the sender loop use an event handler on incoming and + outgoing I/O. Right now it moves in lockstep and can be considerably + more responsive to requests by reading them in immediately instead of + having them sit in the receiver queue while it waits for disc IO. + This isn't *that* hard. + +- Hard: once the sender loop is optimised, the uploader can also queue + up block metadata to send on-demand instead of reading in the file + then sending, then reading again, then sending. + +In general, be careful with the last two. +The rsync protocol is quite brittle and prone to deadlocking if senders +or receivers send too much data and clog output buffers. +So I suppose the hardest point, now that the protocol has been +documented, is: + +- Hardest: make the entire system use a event-loop and loop over + buffered data with a fine-grained state machine. + +I guess that will wait for openrsync v2. + Above all, `grep FIXME *.c *.h` and start from there. |