[BACK]Return to TODO.md CVS log [TXT][DIR] Up to [local] / src / usr.bin / rsync

Annotation of src/usr.bin/rsync/TODO.md, Revision 1.2

1.1       benno       1: This is a list of possible work projects within openrsync, rated by difficulty.
                      2:
                      3: First, porting: see
                      4: [Porting](https://github.com/kristapsdz/openrsync/blob/master/README.md#Portability)
                      5: for information on this topic.
                      6: I've included the specific security porting topics below.
                      7:
                      8: This list also does not include adding support for features (e.g., **-u** and
                      9: so on).
                     10:
1.2     ! benno      11: - Easy: add a hashtable to `blk_find()` in
1.1       benno      12:   [blocks.c](https://github.com/kristapsdz/openrsync/blob/master/blocks.c)
                     13:   for quickly looking up fast-hash matches.
                     14:
                     15: - Easy: print more statistics, such as transfer times and rates.
                     16:
1.2     ! benno      17: - Easy: tighten the [pledge(2)](https://man.openbsd.org/pledge.2) and
1.1       benno      18:   [unveil(2)](https://man.openbsd.org/unveil.2) to work with **-n**, as
                     19:   it does not touch files.
                     20:
                     21: - Easy: find the shared path for all input files and
                     22:   [unveil(2)](https://man.openbsd.org/unveil.2) only the shared path
                     23:   instead of each one.
                     24:
                     25: - Medium: have the log messages when multiplex writing (server mode) is
                     26:   enabled by flushed out through the multiplex channel.
                     27:   Right now, they're emitted on `stderr` just like with the client.
                     28:
                     29: - Medium: porting the security precautions
                     30:   ([unveil(2)](https://man.openbsd.org/unveil.2),
                     31:   [pledge(2)](https://man.openbsd.org/pledge.2)) to
                     32:   [FreeBSD](https://www.freebsd.org)'s
                     33:   [Capsicum](https://wiki.freebsd.org/Capsicum).
                     34:   Without this in place, you're exposing your file-system to whatever is
                     35:   coming down over the wire.
                     36:   This is certainly possible, as openrsync makes exclusive use of the "at"
                     37:   functions (e.g., [openat(2)](https://man.openbsd.org/openat.2)) for working
                     38:   with files.
                     39:
                     40: - Hard: the same, but for Linux.
                     41:
                     42: Above all, `grep FIXME *.c *.h` and start from there.