summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-13doc: add a coding style documentDanny Holman
Add a document that lists the prescribed coding style to the doc directory. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-09-13client: finish implementing core commandsDanny Holman
Finish implementing the core commands required by the C&C server. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-09-13client: add error checking to system callsDanny Holman
Add error checking to execve and add cleanup calls so that no memory is leaked. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-09-13client: refactor to make more senseDanny Holman
Refactor several functions in the reference client such that they make more sense when reading. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-09-13common: fix a segfault in str_splitDanny Holman
Fix a bug in which str_split would segfault when the string is misformatted. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-26server: fix run_exec printing garbage dataDanny Holman
Fix a bug in which run_exec would print garbage values into the socket and to stdout. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-26common: create the common directoryDanny Holman
Create a directory for files that are shared between the reference client and server. Refactor the build scripts to reflect this restructuring. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-25server: session: fix a session counting bugDanny Holman
Fix a bug in the num_sessions function in which the current active session would not be counted. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-25server: fix incorrect inequality in print_hostinfoDanny Holman
Fix a bug in which print_hostinfo would check for a positive return value from read_session instead of a negative value. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-24server: add a proper timeout message to hostinfoDanny Holman
Add a proper timeout message to the print_hostinfo function. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-07-24server: fixed a timeout bug in session controlDanny Holman
Fixed a bug inside the session control logic that disallowed a timeout value. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-16gitignore: update name of client applicationDanny Holman
Update the name of the reference client in .gitignore. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-16server: session: fix memory violationDanny Holman
Fix a bug in which calling the 'stop' command on a session already closed would crash the C&C server. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-14configure: Version bump to 1.00Danny Holman
Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13client: add a reference clientDanny Holman
Add a reference client that will act as an example of what the client program should accomplish given a command from the C&C server. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13server: configure.ac: add header checksDanny Holman
Add several new header checks to the configure.ac file. These headers are required for smooth operation of the C&C server. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13server: add helper functions to the main fileDanny Holman
Add several helper functions to the main file of the C&C server that perform actions requested by the user. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13server: util: fix a memory leak in str_splitDanny Holman
Fix a memory access violation in str_split() that would cause the C&C server to crash unexpectedly. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13server: session: make read and write functions uniformDanny Holman
Make the functions that relay data to and from session sockets be uniform in function and arguments. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-06-13server: mark the worker socket as non-blockingDanny Holman
Mark the socket in the worker function as non-blocking and run poll(). This should be done in order to prevent a slow loris attack on the C&C server. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-05-17server: add headers to check functionDanny Holman
Add stdarg.h and time.h to the check headers function in the configure script. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-05-17server: create utility functionsDanny Holman
Create a new file for utility functions, including those that strip whitespace from and break apart strings. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-05-17README: clarify system requirementsDanny Holman
Clarify what both a client and server system must have in order to run mini-RAT. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-05-14server: session: add function returning sessionsDanny Holman
Add a function that returns the number of current sessions. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-05-14server: session: return number of bytes writtenDanny Holman
Return the number of bytes written to a session socket handle or -1 on error. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15fixup! main: add a command line processorDanny Holman
2023-02-15session: simplify read_sessionDanny Holman
Simplify the function read_session and provide some error checking. This function should now return -1 if a valid session with the given ID cannot be found. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15session: add error checking to session creationDanny Holman
Add a check in init_session that returns -1 if malloc cannot create a new session. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15session: add an alive flag to struct sessionDanny Holman
Add a flag to struct session that indicates whether or not the underlying socket is still open. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15main: add a command line processorDanny Holman
Add a function that processes incoming user commands. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15server: display errors and warnings in shellDanny Holman
Print LOG_WARNING and LOG_SEVERE messages into stderr. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-02-15server: add a basic container_of macroDanny Holman
Add a basic container_of macro to list.h. This is primarily for systems in which container_of has no definition. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04server: add a main header and source fileDanny Holman
Add a main header and source file so that every required header is checked against the config.h generated by autoconf. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04server: add functions for session managementDanny Holman
Add functions to initialize and control individual sessions. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04server: add a file for commonly used macrosDanny Holman
Add a file to the server-side for commonly used macros. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04server: add a linked list implementationDanny Holman
Add a linked list implementation for generic use. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04server: add server control functionsDanny Holman
Add functions that initialize and control the server listening socket. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-01-04logging: add a close functionDanny Holman
Add a close function to close the file handle pointing at the log file. Signed-off-by: Danny Holman <dholman@gymli.org>
2022-11-18server: add a logging frameworkDanny Holman
Add a logging framework so the server can output to a single point. Signed-off-by: Danny Holman <dholman@gymli.org>
2022-11-17Initial commitDanny Holman
Signed-off-by: Danny Holman <dholman@gymli.org>