diff options
Diffstat (limited to 'src/injail_main.c')
-rwxr-xr-x | src/injail_main.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/injail_main.c b/src/injail_main.c new file mode 100755 index 0000000..aaf8034 --- /dev/null +++ b/src/injail_main.c @@ -0,0 +1,51 @@ +/* +// AUTHOR +// N. Nielsen +// James Quick <jq@quick.com> +// +// LICENSE +// This software is in the public domain. +// +// The software is provided "as is", without warranty of any kind, +// express or implied, including but not limited to the warranties +// of merchantability, fitness for a particular purpose, and +// noninfringement. In no event shall the author(s) be liable for any +// claim, damages, or other liability, whether in an action of +// contract, tort, or otherwise, arising from, out of, or in connection +// with the software or the use or other dealings in the software. +// +// SUPPORT +// Send bug reports to: <nielsen@memberwebs.com> +// +// CHANGES +// 1.1 +// Initial implementation +// +// injail +// A utility function to determine if a process is running in a +// FreeBSD jail. +// +// This code was contributed by James E. Quick mailto:jq@quick.com +// The code may be freely re-used under the terms of the BSD copyright, +// as long as this comment remains intact. +*/ + +#include <stdio.h> + +int injail(); + +/* main for injail + * return 0 if in a jail + * return 1 if not in jail + * return 2 if error prevented determining status + * jq 05/28/2002 + */ +main(int argc, char *argv[]) +{ + int jailed = injail(); + + if(jailed == -1) + errx(2, "Could not determine jailed status.\n"); + + return jailed ? 0 : 1; +} |