Blob


1 # kamid -- 9p file server daemon
3 kamid is a FREE, easy-to-use and portable implementation of a 9p file
4 server daemon for UNIX-like systems.
7 ## Building
9 kamid depends on libtls, libevent and yacc/GNU bison. To build from a
10 release tarball:
12 $ ./configure
13 $ make
14 # make install # eventually
16 to build from a git checkout:
18 $ ./bootstrap
19 $ ./configure
20 $ make
23 ## Usage
25 In order to run, a `_kamid` user must exists. The home directory of
26 `_kamid` should be `/var/empty` or similar. A configuration file is
27 also needed. kamid must be started with root privileges.
29 A sample configuration file:
31 ```
32 pki localhost cert "/etc/ssl/localhost.crt"
33 pki localhost key "/etc/ssl/private/localhost.key"
35 table users { "SHA256:..." => "op" }
37 listen on localhost port 1337 tls pki localhost auth <users>
38 ```
41 ## Testing
43 The regression suite needs to be run with root privileges, since it
44 has to spawn a subprocess that needs to `chroot(2)` itself. To run
45 the tests, issue
47 $ make ninepscript && sudo ./run-tests.sh
49 The regression uses a custom DSL, `ninepscript`, to run the tests.
50 See `regress/sample.9ps` for an example of the grammar.
51 `contrib/9ps-mode.el` is the major mode for Emacs.
53 There's another regression suite written in common lisp in
54 `regress/lisp/9p-test`; it depends on other common lisp libraries
55 available through quicklisp. To run it execute
57 $ DOAS=sudo ./run-extra-tests.sh
59 (leave `DOAS=sudo` out if you have doas installed and configured)
62 ## License
64 kamid is released under a BSD-like license. The bulk of the code is
65 under the ISC license, but some file are BSD2 or BSD3.
67 `regress/lisp/9p-test/` (the common lisp regression suite) is released
68 under the GNU GPLv3+.