summaryrefslogtreecommitdiff
path: root/japanese/msdosfs/patches.4
diff options
context:
space:
mode:
authorR. Imura <imura@FreeBSD.org>2000-10-07 15:34:21 +0000
committerR. Imura <imura@FreeBSD.org>2000-10-07 15:34:21 +0000
commit183c7be52b156ad85d8d259815fe733065dc808b (patch)
tree220c133463b642a3a7700aa1b805bb6f7618251a /japanese/msdosfs/patches.4
parent- Update port to 0.94.8.3 (fix security hole) (diff)
Add new port: ja-msdosfs - mounts japanese FAT.
Be sure to edit ${FILESDIR}/revlist if you modify this port and sync with the kernel.
Notes
Notes: svn path=/head/; revision=33466
Diffstat (limited to 'japanese/msdosfs/patches.4')
-rw-r--r--japanese/msdosfs/patches.4/patch-aa20
-rw-r--r--japanese/msdosfs/patches.4/patch-ac19
-rw-r--r--japanese/msdosfs/patches.4/patch-af53
-rw-r--r--japanese/msdosfs/patches.4/patch-ag20
-rw-r--r--japanese/msdosfs/patches.4/patch-ah10
-rw-r--r--japanese/msdosfs/patches.4/patch-ba9
-rw-r--r--japanese/msdosfs/patches.4/patch-bb78
7 files changed, 209 insertions, 0 deletions
diff --git a/japanese/msdosfs/patches.4/patch-aa b/japanese/msdosfs/patches.4/patch-aa
new file mode 100644
index 000000000000..9bedcebf6aa6
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-aa
@@ -0,0 +1,20 @@
+--- /dev/null Mon Jul 3 02:05:31 2000
++++ Makefile Mon Jul 3 02:15:22 2000
+@@ -0,0 +1,17 @@
++.PATH: ${.CURDIR}
++KMOD= msdos_ja
++SRCS= vnode_if.h \
++ msdosfs_conv.c msdosfs_denode.c msdosfs_fat.c msdosfs_lookup.c \
++ msdosfs_vfsops.c msdosfs_vnops.c opt_msdosfs.h
++NOMAN=
++CLEANFILES+= opt_msdosfs.h
++
++opt_msdosfs.h:
++ touch opt_msdosfs.h
++ echo "#define MSDOSFS_LC_JAPAN 1" >> opt_msdosfs.h
++
++.if ${MACHINE} == "pc98"
++CFLAGS+= -DPC98
++.endif
++
++.include <bsd.kmod.mk>
diff --git a/japanese/msdosfs/patches.4/patch-ac b/japanese/msdosfs/patches.4/patch-ac
new file mode 100644
index 000000000000..93110b5dd7e4
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-ac
@@ -0,0 +1,19 @@
+--- msdosfs_denode.c.orig Mon Apr 10 04:32:36 2000
++++ msdosfs_denode.c Wed Oct 4 00:28:00 2000
+@@ -114,6 +114,16 @@
+ {
+ dehashtbl = hashinit(desiredvnodes/2, M_MSDOSFSMNT, &dehash);
+ simple_lock_init(&dehash_slock);
++ return (0);
++}
++
++int
++msdosfs_uninit(vfsp)
++ struct vfsconf *vfsp;
++{
++
++ if (dehashtbl)
++ free(dehashtbl, M_MSDOSFSMNT);
+ return (0);
+ }
+
diff --git a/japanese/msdosfs/patches.4/patch-af b/japanese/msdosfs/patches.4/patch-af
new file mode 100644
index 000000000000..63366e21d4d5
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-af
@@ -0,0 +1,53 @@
+--- msdosfs_vfsops.c.orig Mon Apr 10 04:32:37 2000
++++ msdosfs_vfsops.c Wed Oct 4 00:21:29 2000
+@@ -48,11 +48,6 @@
+ * October 1992
+ */
+
+-#include "opt_msdosfs.h"
+-
+-/*
+- * System include files.
+- */
+ #include <sys/param.h>
+ #include <sys/systm.h>
+ #include <sys/conf.h>
+@@ -67,9 +62,6 @@
+ #include <sys/stat.h> /* defines ALLPERMS */
+ #include <vm/vm_zone.h>
+
+-/*
+- * MSDOSFS include files.
+- */
+ #include <msdosfs/bpb.h>
+ #include <msdosfs/bootsect.h>
+ #include <msdosfs/direntry.h>
+@@ -77,6 +69,8 @@
+ #include <msdosfs/msdosfsmount.h>
+ #include <msdosfs/fat.h>
+
++#define MSDOSFS_DFLTBSIZE 4096
++
+ #if 1 /*def PC98*/
+ /*
+ * XXX - The boot signature formatted by NEC PC-98 DOS looks like a
+@@ -635,7 +629,7 @@
+ if (FAT12(pmp))
+ pmp->pm_fatblocksize = 3 * pmp->pm_BytesPerSec;
+ else
+- pmp->pm_fatblocksize = DFLTBSIZE;
++ pmp->pm_fatblocksize = MSDOSFS_DFLTBSIZE;
+
+ pmp->pm_fatblocksec = pmp->pm_fatblocksize / DEV_BSIZE;
+ pmp->pm_bnshift = ffs(DEV_BSIZE) - 1;
+@@ -987,8 +981,8 @@
+ msdosfs_checkexp,
+ msdosfs_vptofh,
+ msdosfs_init,
+- vfs_stduninit,
++ msdosfs_uninit,
+ vfs_stdextattrctl,
+ };
+
+-VFS_SET(msdosfs_vfsops, msdos, 0);
++VFS_SET(msdosfs_vfsops, msdos_ja, 0);
diff --git a/japanese/msdosfs/patches.4/patch-ag b/japanese/msdosfs/patches.4/patch-ag
new file mode 100644
index 000000000000..b39384f9b9fe
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-ag
@@ -0,0 +1,20 @@
+--- msdosfs_vnops.c.orig Mon Apr 10 04:32:37 2000
++++ msdosfs_vnops.c Wed Oct 4 00:13:39 2000
+@@ -1108,7 +1108,6 @@
+ VOP_UNLOCK(fvp, 0, p);
+ if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster)
+ newparent = 1;
+- vrele(fdvp);
+ if (doingdirectory && newparent) {
+ if (error) /* write access check above */
+ goto bad;
+@@ -1176,7 +1175,8 @@
+ panic("msdosfs_rename: lost from startdir");
+ if (!newparent)
+ VOP_UNLOCK(tdvp, 0, p);
+- (void) relookup(fdvp, &fvp, fcnp);
++ if (relookup(fdvp, &fvp, fcnp) == 0)
++ vrele(fdvp);
+ if (fvp == NULL) {
+ /*
+ * From name has disappeared.
diff --git a/japanese/msdosfs/patches.4/patch-ah b/japanese/msdosfs/patches.4/patch-ah
new file mode 100644
index 000000000000..d714accfe832
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-ah
@@ -0,0 +1,10 @@
+--- msdosfsmount.h.orig Mon Apr 10 04:32:37 2000
++++ msdosfsmount.h Wed Oct 4 00:13:52 2000
+@@ -198,6 +198,7 @@
+ (1024 << ((pmp)->pm_BlkPerSec >> 2))
+
+ int msdosfs_init __P((struct vfsconf *vfsp));
++int msdosfs_uninit __P((struct vfsconf *vfsp));
+ int msdosfs_mountroot __P((void));
+
+ #endif /* _KERNEL */
diff --git a/japanese/msdosfs/patches.4/patch-ba b/japanese/msdosfs/patches.4/patch-ba
new file mode 100644
index 000000000000..9fcc8af6b54a
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-ba
@@ -0,0 +1,9 @@
+--- ../../mount_msdos/Makefile.orig Mon Jul 3 02:53:38 2000
++++ ../../mount_msdos/Makefile Mon Jul 3 02:53:52 2000
+@@ -3,6 +3,6 @@
+ #
+
+-PROG= mount_msdos
++PROG= mount_jamsdos
+ SRCS= mount_msdos.c getmntopts.c
+ MAN8= mount_msdos.8
diff --git a/japanese/msdosfs/patches.4/patch-bb b/japanese/msdosfs/patches.4/patch-bb
new file mode 100644
index 000000000000..12cf0e484dc0
--- /dev/null
+++ b/japanese/msdosfs/patches.4/patch-bb
@@ -0,0 +1,78 @@
+--- ../../mount_msdos/mount_msdos.c.orig Mon Jul 3 22:56:20 2000
++++ ../../mount_msdos/mount_msdos.c Mon Jul 3 23:02:54 2000
+@@ -39,8 +39,6 @@
+ #include <sys/mount.h>
+ #include <sys/stat.h>
+
+-#include <msdosfs/msdosfsmount.h>
+-
+ #include <ctype.h>
+ #include <err.h>
+ #include <grp.h>
+@@ -55,6 +53,7 @@
+ #include <unistd.h>
+
+ #include "mntopts.h"
++#include "msdosfsmount.h"
+
+ /*
+ * XXX - no way to specify "foo=<bar>"-type options; that's what we'd
+@@ -95,8 +94,9 @@
+ mntflags = set_gid = set_uid = set_mask = 0;
+ (void)memset(&args, '\0', sizeof(args));
+ args.magic = MSDOSFS_ARGSMAGIC;
++ args.flags = MSDOSFSMNT_EUCJAPAN;
+
+- while ((c = getopt(argc, argv, "sl9u:g:m:o:L:W:")) != -1) {
++ while ((c = getopt(argc, argv, "sl9u:g:m:o:")) != -1) {
+ switch (c) {
+ #ifdef MSDOSFSMNT_GEMDOSFS
+ case 'G':
+@@ -124,14 +124,6 @@
+ args.mask = a_mask(optarg);
+ set_mask = 1;
+ break;
+- case 'L':
+- load_ultable(&args, optarg);
+- args.flags |= MSDOSFSMNT_ULTABLE;
+- break;
+- case 'W':
+- load_u2wtable(&args, optarg);
+- args.flags |= MSDOSFSMNT_U2WTABLE;
+- break;
+ case 'o':
+ getmntopts(optarg, mopts, &mntflags, &args.flags);
+ break;
+@@ -173,15 +165,15 @@
+ args.mask = sb.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
+ }
+
+- error = getvfsbyname("msdos", &vfc);
+- if (error && vfsisloadable("msdos")) {
+- if (vfsload("msdos"))
+- err(EX_OSERR, "vfsload(msdos)");
++ error = getvfsbyname("msdos_ja", &vfc);
++ if (error && vfsisloadable("msdos_ja")) {
++ if (vfsload("msdos_ja"))
++ err(EX_OSERR, "vfsload(msdos_ja)");
+ endvfsent(); /* clear cache */
+- error = getvfsbyname("msdos", &vfc);
++ error = getvfsbyname("msdos_ja", &vfc);
+ }
+ if (error)
+- errx(EX_OSERR, "msdos filesystem is not available");
++ errx(EX_OSERR, "msdos_ja filesystem is not available");
+
+ if (mount(vfc.vfc_name, mntpath, mntflags, &args) < 0)
+ err(EX_OSERR, "%s", dev);
+@@ -251,8 +243,8 @@
+ usage()
+ {
+ fprintf(stderr, "%s\n%s\n",
+- "usage: mount_msdos [-o options] [-u user] [-g group] [-m mask]",
+- " [-s] [-l] [-9] [-L locale] [-W table] bdev dir");
++ "usage: mount_jmsdos [-o options] [-u user] [-g group] [-m mask]",
++ " [-s] [-l] [-9] bdev dir");
+ exit(EX_USAGE);
+ }
+