[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.1

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:
        !            11: - Easy: add a hashtable to `blk_find()` in
        !            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:
        !            17: - Easy: tighten the [pledge(2)](https://man.openbsd.org/pledge.2) and
        !            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.