summaryrefslogtreecommitdiff
path: root/src/injail_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/injail_main.c')
-rwxr-xr-xsrc/injail_main.c51
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;
+}