Skip to content

Commit

Permalink
updated as per the changes
Browse files Browse the repository at this point in the history
  • Loading branch information
terminaldweller committed Apr 2, 2017
1 parent cdd1dae commit 39a3c2a
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions daemon/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ It's simple. The client sends a command to the server run by the daemon(`mutator
The mutator client is a thin client which is also the whole point of all of this: Plugin.<br/>

The daemon generates a log file in the `daemon` directory under root named `mutatordlog`.<br/>
The daemon will need to read some VARS from a config file that is generated by `make install` inside the daemon directory named `mutator.config`.<br/>

### How to use it?

Expand All @@ -21,15 +22,25 @@ make all

```

After that, run `mutatord` to start up the server and then run `mutatorclient` and send your commands.<br/>
The server passes the commands to `mutator.sh` to execute. For a list of available options you can run `mutator.sh -h` or just read the `README.md` in project root.<br/>A
I have yet to decide how to set a home path variable for mutator so you need to pass all adresses to the server as absolute paths since the daemon changes the directory to `/`.<br/>
Or just run that from the main makefile. After that, run `mutatord` to start up the server and then run `mutatorclient` and send your commands.<br/>
The server passes the commands to `mutator.sh` to execute. For a list of available options you can run `mutator.sh -h` or just read the `README.md` in project root.<br/>

To run commands on the server, use normal mutator driver commands excluding the driver name:<br/>

```bash

-f /home/user1/mutator/samples/action_file.mutator

```


To kill the client and server(and also the daemon) just send `end_comm` as the command through the client.<br/>

## WARNING

Currently there are no checks on the commands sent to the server. The server uses `popen()` to run the commands so it will run any valid `sh` command it gets from `/` and the buffers are not exactly small either.<br/>
Currently there are some checks on the commands sent to the server. The server uses `popen()` to run the commands prefixed by the driver name, `mutator.sh`.<br/>
The server checks to see whether the command string is null-terminated and whether it contains `|` or `;`. Thats's all the checks it runs before running a command from the root directory.<br/>
The daemon will switch to the root directory as soon as it is run and the server will inherit the permissions that the daemon was ran by. There is no reason to run the daemon as sudo.<br/>

### Directory Content

Expand Down

0 comments on commit 39a3c2a

Please sign in to comment.