Blame


1 8d1b399b 2021-07-22 op # kamid -- 9p file server daemon
2 8d1b399b 2021-07-22 op
3 6ddbfa0c 2021-08-04 op kamid is a FREE, easy-to-use and portable implementation of a 9p file
4 6ddbfa0c 2021-08-04 op server daemon for UNIX-like systems.
5 8d1b399b 2021-07-22 op
6 8d1b399b 2021-07-22 op
7 8d1b399b 2021-07-22 op ## Building
8 8d1b399b 2021-07-22 op
9 bb2b5c65 2022-01-10 op When building from a release tarball:
10 8d1b399b 2021-07-22 op
11 bb2b5c65 2022-01-10 op $ ./configure
12 9941dc2e 2022-01-04 op $ make
13 bb2b5c65 2022-01-10 op # make install # eventually
14 8d1b399b 2021-07-22 op
15 bb2b5c65 2022-01-10 op to build from a git checkout:
16 8d1b399b 2021-07-22 op
17 bb2b5c65 2022-01-10 op $ ./autogen.sh
18 bb2b5c65 2022-01-10 op $ ./configure
19 bb2b5c65 2022-01-10 op $ make
20 8d1b399b 2021-07-22 op
21 bb2b5c65 2022-01-10 op
22 d06671b5 2021-07-22 op ## Usage
23 d06671b5 2021-07-22 op
24 3b1814ed 2022-01-09 op In order to run, the `_kamid` user must exists, with `/var/empty` as
25 3b1814ed 2022-01-09 op home directory. A valid configuration file `/etc/kamid.conf` is also
26 3b1814ed 2022-01-09 op needed. kamid must be started with root privileges.
27 d06671b5 2021-07-22 op
28 647db0bb 2021-07-22 op A sample configuration file:
29 d06671b5 2021-07-22 op
30 647db0bb 2021-07-22 op ```
31 3b1814ed 2022-01-09 op # /etc/kamid.conf
32 1ad6dc42 2021-12-15 op pki localhost cert "/etc/ssl/localhost.crt"
33 1ad6dc42 2021-12-15 op pki localhost key "/etc/ssl/private/localhost.key"
34 647db0bb 2021-07-22 op
35 647db0bb 2021-07-22 op table users { "SHA256:..." => "op" }
36 647db0bb 2021-07-22 op
37 afb31195 2021-08-04 op listen on localhost port 1337 tls pki localhost auth <users>
38 647db0bb 2021-07-22 op ```
39 647db0bb 2021-07-22 op
40 647db0bb 2021-07-22 op
41 6ddbfa0c 2021-08-04 op ## Testing
42 6ddbfa0c 2021-08-04 op
43 bb2b5c65 2022-01-10 op The regression suite uses sudo (or doas) because it needs root
44 bb2b5c65 2022-01-10 op privileges for certain operations. To run the test suite:
45 6ddbfa0c 2021-08-04 op
46 bb2b5c65 2022-01-10 op $ make test
47 6ddbfa0c 2021-08-04 op
48 bb2b5c65 2022-01-10 op The regression are written using a custom DSL, ninepscript.
49 a98552e5 2021-08-07 op `contrib/9ps-mode.el` is the major mode for Emacs.
50 a98552e5 2021-08-07 op
51 d74b9ff1 2021-12-21 op There's another regression suite written in common lisp in
52 bb2b5c65 2022-01-10 op `regress/lisp/9p-test`; it depends on other lisp libraries available
53 bb2b5c65 2022-01-10 op through quicklisp. Make sure to have sbcl and the relevant lisp
54 bb2b5c65 2022-01-10 op dependencies installed, then run
55 a98552e5 2021-08-07 op
56 bb2b5c65 2022-01-10 op $ make HAVE_LISP=yes test
57 4aa7ed03 2021-12-18 op
58 4aa7ed03 2021-12-18 op
59 8d1b399b 2021-07-22 op ## License
60 8d1b399b 2021-07-22 op
61 8d1b399b 2021-07-22 op kamid is released under a BSD-like license. The bulk of the code is
62 8d1b399b 2021-07-22 op under the ISC license, but some file are BSD2 or BSD3.
63 a2c73237 2021-12-18 op
64 a2c73237 2021-12-18 op `regress/lisp/9p-test/` (the common lisp regression suite) is released
65 a2c73237 2021-12-18 op under the GNU GPLv3+.