sigrid/9pro

Description
# 9pro

Plan9-related tools for Unix-like operating systems.

 * 9pex - share a directory over stdin/stdout, can be used with socat/inetd
 * 9gc  - a very simple stdin/stdout 9gridchan client

This is all _WIP_ still.  9pex is working in read-only mode so far but
lacks proper auth, async IO, some more error control etc.

To build static binaries with musl:

```
CC=musl-gcc CFLAGS="-Os -s -g0 -static" ./build.sh
```

# Why

We can do better.

# Notes/todo

 * 9pex: to allow "escaping the root" by following symlinks you have to pass `-e` option
 * 9pex: chrooting with musl makes `realpath` not work as it requires /proc to be mounted, get rid of `realpath`?
 * 9gc: you can run it in termux on Android like so: `rlwrap -a'XXXXXXwth' -s 0 -t dumb 9gc -e NICKNAME`
Last 5 commits (shortlog)
Date Author Short message Commit hash
2021-05-25 Sigrid 9gc: disable batching of T-messages (make it work with unionfs) 0f081a707ef163222e261699a9207ad3300faf9a
2021-04-30 Sigrid 9gc: make sure s is never NULL in ctxregistryR loop 1a8989a556d7eebe4780f07ae89462f681fe733a
2021-04-30 Sigrid 9pex: remove useless assignment ed4fa7190493a132e7f2d340b4c7c0ac228795e5
2021-04-30 Sigrid 9pex: remove unused var 9f47a9311dbeb018d58bae4c607f3aa2ca9e8c9b
2021-04-30 Sigrid 9gc: remove useless assignment 09f049c41ff2471fec4ec66197c1f765bd1a6823
Files (browse)
.gitignore
9gc.c
9pex.c
LICENSE
README.md
build.sh
c9/
crc32.c
nixos/
parg/
pull_subtree.sh