diff options
| author | Franklin Wei <git@fwei.tk> | 2016-01-22 17:03:05 -0500 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2016-01-22 17:03:05 -0500 |
| commit | b33d9c81c116d43b38ceb8b247bd77f9736574b9 (patch) | |
| tree | b92a923ffc29ee438c646f4b2b08f5bd588dee2d /README.md | |
| parent | a486d4b5e1679e0ddf5a4afa661501afefe4a854 (diff) | |
| download | netcosm-b33d9c81c116d43b38ceb8b247bd77f9736574b9.zip netcosm-b33d9c81c116d43b38ceb8b247bd77f9736574b9.tar.gz netcosm-b33d9c81c116d43b38ceb8b247bd77f9736574b9.tar.bz2 netcosm-b33d9c81c116d43b38ceb8b247bd77f9736574b9.tar.xz | |
PuTTY compatibility, lots of other stuff
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -8,9 +8,9 @@ features might drift out of existence without prior warning! ### Prerequisites: -* libgcrypt +* openssl * libev -* linux >= 3.4 (need "packet mode" pipes) +* linux >= 3.4 (for "packet mode" pipes) * glibc >= 2.9 ### Compiling @@ -19,6 +19,17 @@ features might drift out of existence without prior warning! This gives you the executable in `build/unix.bin`. +### Running + +If you want to listen on a privileged port (below 1024), you will +either have to run the executable as root (not recommended), or set +the CAP_NET_BIND_SERVICE capability on Linux: + + sudo setcap 'cap_net_bind_service=+ep' build/unix.bin + +If running as root, you will need an unprivileged user called 'nobody' +on your system in order for things to work. + ## Todo List * World persistence (partial) @@ -29,6 +40,8 @@ This gives you the executable in `build/unix.bin`. ## Internal Design +### Child-Master Requests + A child process is spawned for every client that connects. There are two pipes created for every child: a pipe for the child to write to, and a pipe for the master to write to. @@ -36,8 +49,6 @@ and a pipe for the master to write to. Both of these pipes are created in "packet mode" (see pipe(2)), and therefore require at least linux 3.4 and glibc 2.9. -### Child-Master Requests - Many operations, such as listing clients, require the help of the master process. To request an operation, the child writes it's request data to it's pipe to the parent. The size of the request MUST be less |