[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00055] Debian パッケージ作成中



お世話になります。佐野@浜松 (%正月休みで愛知県に帰省中) です。

In <20021224161127.2704953AFE@yuka.unixusers.net>,
 on "Wed, 25 Dec 2002 01:11:27 +0900",
 with "[FDclone-users:00054] FDclone 2.02a has been released",
  Takashi SHIRAI <shirai@unixusers.net> wrote:

>  本日 fj.sources に FDclone 2.02a の patch を投稿しましたの
> でご案内申上げます。full package は以下の URL で順次公開され
> ていくと思います。
> 	http://hp.vector.co.jp/authors/VA012337/soft/fd/
> 	ftp://ftp.unixusers.net/src/fdclone/

どうも連絡ありがとうございます。しばらくサボっていたので
Debian パッケージもひさしぶりに更新しようと作業中なのですが
いくつか教えて頂きたい点があるのでよろしくお願いします。

最初に、1ヶ月ほど前に木下さんからメール(私信)で指摘のあった、
一時ファイル/ディレクトリの扱いについてですが、やはり fdclone を
利用中のユーザが閲覧中のアーカイブ中のファイルの中身を、
無関係な他のローカルユーザに読まれてしまうのは避けたいと考えて、
とりあえず system.c と file.c に以下のような変更を加えてみました。

--- fdclone-2.02a.orig/system.c
+++ fdclone-2.02a/system.c
@@ -1661,7 +1661,7 @@
 
 	for (;;) {
 		genrandname(cp + n, len);
-		fd = Xopen(path, O_BINARY | O_WRONLY | O_CREAT | O_EXCL, 0644);
+		fd = Xopen(path, O_BINARY | O_WRONLY | O_CREAT | O_EXCL, 0600);
 		if (fd >= 0) {
 			strcpy(file, path);
 			return(fd);
--- fdclone-2.02a.orig/file.c
+++ fdclone-2.02a/file.c
@@ -449,7 +449,7 @@
 	if (!isdotdir(cp)) {
 		if (stat2(dir, &st) < 0) {
 			if (errno != ENOENT) return(-1);
-			if (Xmkdir(dir, 0777) < 0) {
+			if (Xmkdir(dir, 0700) < 0) {
 #if	MSDOS
 				if (errno != EEXIST) return(-1);
 				if (cp[0] != _SC_ || cp[1]) {
@@ -800,7 +800,7 @@
 
 		for (;;) {
 			genrandname(cp + n, len);
-			if (_Xmkdir(path, 0755, 0, 1) >= 0) break;
+			if (_Xmkdir(path, 0700, 0, 1) >= 0) break;
 			if (errno != EEXIST) return(-1);
 		}
 		tmpfilename = strdup2(cp);
@@ -819,7 +819,7 @@
 
 	for (;;) {
 		genrandname(cp + n, len);
-		if (_Xmkdir(path, 0755, 0, 1) >= 0) {
+		if (_Xmkdir(path, 0700, 0, 1) >= 0) {
 			strcpy(dir, path);
 			return(0);
 		}
@@ -872,7 +872,7 @@
 
 	for (;;) {
 		genrandname(cp, len);
-		fd = Xopen(path, O_BINARY | O_WRONLY | O_CREAT | O_EXCL, 0644);
+		fd = Xopen(path, O_BINARY | O_WRONLY | O_CREAT | O_EXCL, 0600);
 		if (fd >= 0) {
 			strcpy(file, path);
 			return(fd);
@@ -1155,7 +1155,7 @@
 			}
 		}
 		else {
-			if (_Xmkdir(fname, 0777, 1, 0) >= 0) return(fname);
+			if (_Xmkdir(fname, 0700, 1, 0) >= 0) return(fname);
 			if (errno != EEXIST) break;
 		}
 	}


で、最初にお尋ねしたいのは、上記の変更だけで「アーカイブ中の
ファイルを自分が閲覧する際に他のユーザにもその内容を読まれて
しまう」可能性を排除できているかどうか、という点です。

一応、手元ですこしチェックしてみた範囲では大丈夫そうかなと
思っているのですが、きちんと中身を理解しているわけではない
もので。

あと、TECHKNOW に説明のある USEDATADIR を使いたい場合は
 config.hin に

--- fdclone-2.02a.orig/config.hin
+++ fdclone-2.02a/config.hin
@@ -4,3 +4,4 @@
  *	Definition file for each OS
  */
 
+#define USEDATADIR

と書いておけば反映されるのですよね ? こちらも、動作を
確認した限りではこれで良さそうに思いますが、念のために。
(これ、以前から要望していた unicode table の場所指定の
ための機能ですね。ありがとうございます _o_)


なお、作成したパッケージの頒布申請のほうは、白井さんあての
私信メールで後ほどお送りします。

--
   # わたしのおうちは浜松市、アカウミガメもやってくる
    <kgh12351@nifty.ne.jp> : Taketoshi Sano (佐野 武俊)