The daemon is written in C++ and makes use of STL. Make sure you have a good version of STL, because some of the older versions really sucked. This has been tested on the following systems:
To compile, you should only need to type make
Just type ./mtxorbd after making. Currently, mtxorbd makes a few assumptions, which will be changed in the next release. Currently, your serial device that contains the LCD must be symlinked to /dev/lcd. This is hardcoded at this point, but will eventually be part of the devices.conf file.
Secondly, the Unix Domain Socket that is created is /tmp/lcd. Currently, I do not do ANY checking to make sure that this file isn't a symlink, which I know is a huge security hole. However, don't run this has root. There is no need to run it as root, just make the appropriate group permissions on the lcd device. Of course, the only thing I do to /tmp/lcd is unlink it prior to creating the socket, which should just destroy any symlink anyway, rendering most attacks useless, since unix socket won't open if a file already exists with that name.
So, now the LCD screen turned on, and you see the copyright message, but what good is it if you cannot send it commands. I've created a CLI client for giving commands to the server directly. Making and running the CLI isjust as easy as the daemon. First, make sure that you do have a version of readline, because the client requires it at this point. Future versions will probably default to regular scanf or whatever to read in data. So just run ./mtxcli to get the command line started.
The CLI client is actually a thin wrapper around the regular protocol that you would send to the server over the socket. Any commands (except "read") that you can send in the CLI, you can send over the socket. Go here for more information about the protocol
copyright © 2003, Russell C. Hay
all rights reserved.