summaryrefslogtreecommitdiff
path: root/security/skip/files/patch-bh
diff options
context:
space:
mode:
Diffstat (limited to 'security/skip/files/patch-bh')
-rw-r--r--security/skip/files/patch-bh89
1 files changed, 89 insertions, 0 deletions
diff --git a/security/skip/files/patch-bh b/security/skip/files/patch-bh
new file mode 100644
index 000000000000..b528ca23c257
--- /dev/null
+++ b/security/skip/files/patch-bh
@@ -0,0 +1,89 @@
+diff -ur --unidirectional-new-file skipsrc-1.0.orig/skip/freebsd/skip_wrapper.c skipsrc-1.0/skip/freebsd/skip_wrapper.c
+--- skipsrc-1.0.orig/skip/freebsd/skip_wrapper.c Fri Oct 25 13:12:43 1996
++++ skipsrc-1.0/skip/freebsd/skip_wrapper.c Mon Dec 22 12:48:43 1997
+@@ -66,18 +66,7 @@
+ #include <skip_es.h>
+ #include <skip_if.h>
+
+-
+-/*
+- * SunOS 4.1.x loadable driver wrapper for the SKIP module
+- */
+-extern char skip_module_name[];
+-
+-/*
+- * Module linkage information for the kernel.
+- */
+-extern int nulldev();
+-
+-struct cfdriver skipcd=
++struct cfdriver skipcd =
+ { NULL, "skip", NULL, NULL, DV_DULL, 0 };
+
+ struct cdevsw skipdevsw = {
+@@ -85,36 +74,55 @@
+ NULL, NULL, NULL, skip_ifselect, NULL, NULL
+ };
+
+-MOD_DEV("skipmod", LM_DT_CHAR, -1, (void *)&skipdevsw)
++/* The following is necessary to work around a bug in versions
++ of FreeBSD's lkm.h up to and including 2.2.5 */
++
++#if __FreeBSD__ >= 2
++#include <osreldate.h>
++#if __FreeBSD_version <= 225000
++#define skip_module _module
++#endif
++#endif
++
++MOD_DEV(skip, LM_DT_CHAR, -1, (void *)&skipdevsw);
+
+ extern int skip_init(), skip_uninit();
+
+ /*ARGSUSED*/
+-int
+-skipmod_load(struct lkm_table *lkmtp, int cmd)
++static int
++skip_load(struct lkm_table *lkmtp, int cmd)
+ {
+-
+ int rc;
++
+ rc = skip_init();
+ if (rc != 0) {
+ return (rc);
+ }
+- uprintf("skip: driver loaded\n");
++ log(LOG_INFO, "skip: driver loaded\n");
+ return (0);
+ }
+
+-skipmod_unload(struct lkm_table *lkmtp, int cmd)
++static int
++skip_unload(struct lkm_table *lkmtp, int cmd)
+ {
+-
+ int rc;
++
+ rc = skip_uninit();
+ if (rc == 0) {
+- uprintf("skip: driver unloaded\n");
++ log(LOG_INFO, "skip: driver unloaded\n");
+ }
+ return (rc);
+ }
+
+-xxxinit(struct lkm_table *lkmtp, int cmd, int ver)
++static int
++skip_stat(struct lkm_table *lkmtp, int cmd)
++{
++ return(ENOSYS);
++}
++
++int
++skip(struct lkm_table *lkmtp, int cmd, int ver)
+ {
+- DISPATCH(lkmtp, cmd, ver, skipmod_load, skipmod_unload, nosys);
++ MOD_DISPATCH(skip, lkmtp, cmd, ver, skip_load, skip_unload, skip_stat);
+ }
++