Cleaned up bsdjail extension code a bit more and made the extconf check for
authorMichael Granger <ged@FaerieMUD.org>
Thu, 20 Nov 2008 17:12:39 +0000
changeset 5 41a1542b3b10
parent 4 9e4a97b20fcb
child 6 2d52adc4adcc
Cleaned up bsdjail extension code a bit more and made the extconf check for the actual headers being included.
ext/bsdjail.c
ext/bsdjail.h
ext/extconf.rb
--- a/ext/bsdjail.c	Thu Nov 20 16:59:00 2008 +0000
+++ b/ext/bsdjail.c	Thu Nov 20 17:12:39 2008 +0000
@@ -1,28 +1,42 @@
 /*
- *  dict.c - Ruby LinkParser - Dict Class
+ *  bsdjail.c - JParallel extension for FreeBSD jail(2) functions
  *  $Id$
  *  
  *  Authors:
  *    * Michael Granger <ged@FaerieMUD.org>
+ *    * Mahlon E. Smith <mahlon@martini.nu>
  *  
- *  Copyright (c) 2006 The FaerieMUD Consortium.
+ *  Copyright (c) 2008, Michael Granger and Mahlon Smith
+ *  All rights reserved.
+ *  
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *  
+ *    * Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *  
+ *    * Redistributions in binary form must reproduce the above copyright notice,
+ *      this list of conditions and the following disclaimer in the documentation
+ *      and/or other materials provided with the distribution.
  *  
- *  This work is licensed under the Creative Commons Attribution License. To
- *  view a copy of this license, visit
- *  http://creativecommons.org/licenses/by/1.0 or send a letter to Creative
- *  Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+ *    * Neither the name of the author/s, nor the names of the project's
+ *      contributors may be used to endorse or promote products derived from this
+ *      software without specific prior written permission.
+ *  
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *  
  */
 
-#include <ruby.h>
-#include <intern.h>
-
-#include <stdio.h>
-#include <sys/param.h>
-#include <sys/jail.h>
-#include <sys/types.h>
-#include <unistd.h>
-
+#include "bsdjail.h"
 
 VALUE rbjail_mBSD;
 VALUE rbjail_cBSDJail;
@@ -33,9 +47,9 @@
  */
 void
 #ifdef HAVE_STDARG_PROTOTYPES
-rlink_debug(const char *fmt, ...)
+rbjail_debug(const char *fmt, ...)
 #else
-rlink_debug( const char *fmt, va_dcl )
+rbjail_debug( const char *fmt, va_dcl )
 #endif
 {
 	char buf[BUFSIZ], buf2[BUFSIZ];
@@ -43,7 +57,7 @@
 
 	if ( !RTEST(ruby_debug) ) return;
 
-	snprintf( buf, BUFSIZ, "Jail Debug>>> %s", fmt );
+	snprintf( buf, BUFSIZ, "Debug>>> %s", fmt );
 
 	va_init_list( args, fmt );
 	vsnprintf( buf2, BUFSIZ, buf, args );
--- a/ext/bsdjail.h	Thu Nov 20 16:59:00 2008 +0000
+++ b/ext/bsdjail.h	Thu Nov 20 17:12:39 2008 +0000
@@ -1,14 +1,54 @@
+/*
+ *  bsdjail.h - Header for the bsdjail extension
+ *  $Id$
+ *  
+ *  Authors:
+ *    * Michael Granger <ged@FaerieMUD.org>
+ *    * Mahlon E. Smith <mahlon@martini.nu>
+ *  
+ *  Copyright (c) 2008, Michael Granger and Mahlon Smith
+ *  All rights reserved.
+ *  
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *  
+ *    * Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *  
+ *    * Redistributions in binary form must reproduce the above copyright notice,
+ *      this list of conditions and the following disclaimer in the documentation
+ *      and/or other materials provided with the distribution.
+ *  
+ *    * Neither the name of the author/s, nor the names of the project's
+ *      contributors may be used to endorse or promote products derived from this
+ *      software without specific prior written permission.
+ *  
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *  
+ */
+
+#ifndef _BSDJAIL_H_
+#define _BSDJAIL_H_
 
 
-#include <stdlib.h>
 #include <stdio.h>
+#include <sys/param.h>
+#include <sys/jail.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 #include <ruby.h>
 #include <intern.h>				/* For rb_dbl2big() */
 
-#include <link-grammar/link-includes.h>
-
-
 
 /* Debugging functions/macros */
 #ifdef HAVE_STDARG_PROTOTYPES
@@ -29,3 +69,6 @@
 #  define debugMsg(f) 
 #endif /* DEBUG */
 
+
+#endif /* _BSDJAIL_H_ */
+
--- a/ext/extconf.rb	Thu Nov 20 16:59:00 2008 +0000
+++ b/ext/extconf.rb	Thu Nov 20 17:12:39 2008 +0000
@@ -24,10 +24,13 @@
 
 dir_config( 'bsdjail' )
 
-have_header( "sys/param.h" ) or fail "Can't find the sys/param.h header."
-have_header( "sys/jail.h" )  or fail "Can't find the sys/jail.h header."
+have_header( 'stdio.h' ) 		or fail "Can't find the stdio.h header."
+have_header( 'sys/param.h' ) 	or fail "Can't find the sys/param.h header."
+have_header( 'sys/jail.h' ) 	or fail "Can't find the sys/jail.h header."
+have_header( 'sys/types.h' ) 	or fail "Can't find the sys/types.h header."
+have_header( 'unistd.h' ) 		or fail "Can't find the unistd.h header."
 
-have_func( "jail_attach" )   or fail "Can't find jail_attach in the stdlib."
+have_func( "jail_attach" )		or fail "Can't find jail_attach in the stdlib."
 
 create_makefile( 'bsdjail' )