Move jail staffs from <net/if.h> and <netinet/in.h> to <sys/jail.h>
authorAaron LI <aly@aaronly.me>
Tue, 20 Mar 2018 07:52:54 +0000 (15:52 +0800)
committerAaron LI <aly@aaronly.me>
Thu, 26 Jul 2018 02:01:27 +0000 (10:01 +0800)
* <net/if.h>: Move out prison_if() function prototype to <sys/jail.h>

* <netinet/in.h>: Move out prison_replace_wildcards() and prison_remote_ip()
  function prototypes to <sys/jail.h>

* Include <sys/jail.h> header for those files in need of it

Obtained-from: FreeBSD (r72786)

sys/net/if.c
sys/net/if.h
sys/net/rtsock.c
sys/netinet/in.h
sys/netinet/tcp_usrreq.c
sys/netinet/udp_usrreq.c
sys/netinet6/udp6_output.c
sys/netinet6/udp6_usrreq.c
sys/sys/jail.h

index 6869092..b3c2596 100644 (file)
@@ -54,6 +54,7 @@
 #include <sys/thread.h>
 #include <sys/serialize.h>
 #include <sys/bus.h>
+#include <sys/jail.h>
 
 #include <sys/thread2.h>
 #include <sys/msgport2.h>
index 124a60e..f8ba564 100644 (file)
@@ -384,11 +384,6 @@ __END_DECLS
 #endif
 
 #ifdef _KERNEL
-struct thread;
-struct ucred;
-
-int    prison_if(struct ucred *cred, struct sockaddr *sa);
-
 /* XXX - this should go away soon. */
 #include <net/if_var.h>
 #endif
index f958569..7850eac 100644 (file)
@@ -74,6 +74,7 @@
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/domain.h>
+#include <sys/jail.h>
 
 #include <sys/thread2.h>
 #include <sys/socketvar2.h>
index f8c1abe..24c77df 100644 (file)
@@ -534,9 +534,6 @@ char        *kinet_ntoa(struct in_addr, char *); /* in libkern */
 char   *inet_ntop(int, const void * __restrict, char * __restrict,
            socklen_t); /* in libkern */
 
-int    prison_replace_wildcards(struct thread *td, struct sockaddr *ip);
-int    prison_remote_ip(struct thread *td, struct sockaddr *ip);
-
 #define        in_hosteq(s, t) ((s).s_addr == (t).s_addr)
 #define        in_nullhost(x)  ((x).s_addr == INADDR_ANY)
 
index aa475ba..88e68a3 100644 (file)
@@ -83,6 +83,7 @@
 #include <sys/socketvar.h>
 #include <sys/socketops.h>
 #include <sys/protosw.h>
+#include <sys/jail.h>
 
 #include <sys/thread2.h>
 #include <sys/msgport2.h>
index 41f2726..e81c0c3 100644 (file)
@@ -80,6 +80,7 @@
 #include <sys/syslog.h>
 #include <sys/in_cksum.h>
 #include <sys/ktr.h>
+#include <sys/jail.h>
 
 #include <sys/thread2.h>
 #include <sys/socketvar2.h>
index ff59154..355735e 100644 (file)
@@ -77,6 +77,7 @@
 #include <sys/proc.h>
 #include <sys/priv.h>
 #include <sys/syslog.h>
+#include <sys/jail.h>
 
 #include <net/if.h>
 #include <net/route.h>
index 3b1aee7..2164964 100644 (file)
@@ -77,6 +77,7 @@
 #include <sys/syslog.h>
 #include <sys/proc.h>
 #include <sys/priv.h>
+#include <sys/jail.h>
 
 #include <sys/thread2.h>
 #include <sys/socketvar2.h>
index a43cc53..d81b1e1 100644 (file)
@@ -78,7 +78,7 @@ struct jail_ip_storage {
 
 /*
  * This structure describes a prison.  It is pointed to by all struct
- * proc's of the inmates.  pr_ref keeps track of them and is used to
+ * ucred's of the inmates.  pr_ref keeps track of them and is used to
  * delete the struture when the last inmate is dead.
  */
 
@@ -107,14 +107,20 @@ extern int        jail_sysvipc_allowed;
 extern int     jail_chflags_allowed;
 extern int     jail_allow_raw_sockets;
 
-void   prison_hold(struct prison *);
-void   prison_free(struct prison *);
+/*
+ * Kernel support functions for jail.
+ */
 int    jailed_ip(struct prison *, struct sockaddr *);
+void   prison_free(struct prison *);
+void   prison_hold(struct prison *);
+int    prison_if(struct ucred *cred, struct sockaddr *sa);
 struct sockaddr *
        prison_get_local(struct prison *pr, sa_family_t, struct sockaddr *);
 struct sockaddr *
        prison_get_nonlocal(struct prison *pr, sa_family_t, struct sockaddr *);
 int    prison_priv_check(struct ucred *cred, int priv);
+int    prison_remote_ip(struct thread *td, struct sockaddr *ip);
+int    prison_replace_wildcards(struct thread *td, struct sockaddr *ip);
 
 /*
  * Return 1 if the passed credential is in a jail, otherwise 0.