FreeBSDを語れ Part26
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/10/17(土) 20:37:25The FreeBSD Project
http://www.freebsd.org/ja/
前スレ
FreeBSDを語れ Part25
http://pc12.2ch.net/test/read.cgi/unix/1249379155/
関連スレ
初心者もOK! FreeBSD質問スレッド その104
http://pc12.2ch.net/test/read.cgi/unix/1252852690/
FreeBSD/amd64 part2 (and for oyster901)
http://pc12.2ch.net/test/read.cgi/unix/1171335849/
0463名無しさん@お腹いっぱい。
2009/12/01(火) 19:34:06探すのめんどいから
0464名無しさん@お腹いっぱい。
2009/12/01(火) 20:03:50むしろそんなモジュールが作れる方が問題じゃないのか?w
0465名無しさん@お腹いっぱい。
2009/12/01(火) 20:09:16> その戻り値を無視していたとしてもunsetenv()自体は行なわれるから、
行っても失敗するから。
unsetenvのman読めばどういうときに失敗するかはちゃんと書いてあって、
それ読めば簡単にunsetenvが失敗するテストケースは作れる。
0466名無しさん@お腹いっぱい。
2009/12/01(火) 20:32:11難しいところだ。
http://www.freebsd.org/cgi/query-pr.cgi?pr=109836
0467名無しさん@お腹いっぱい。
2009/12/01(火) 20:38:33man 3 unsetenv には、
void unsetenv();
って書いてあって、unsetenv()は常に成功する関数になってます><
0468名無しさん@お腹いっぱい。
2009/12/01(火) 20:47:58intになってるぞ。8.0。
0469名無しさん@お腹いっぱい。
2009/12/01(火) 20:49:15LD_PRELOADは糞
0470名無しさん@お腹いっぱい。
2009/12/01(火) 21:00:260471名無しさん@お腹いっぱい。
2009/12/01(火) 21:12:13そうか、この時にはまだ void だったんだ。この後に
int 返すようになってる。
http://www.freebsd.org/cgi/query-pr.cgi?pr=99826
0472名無しさん@お腹いっぱい。
2009/12/01(火) 21:18:400473名無しさん@お腹いっぱい。
2009/12/01(火) 21:30:02FreeBSDのLD_*のハンドリングが糞なだけです。
現実逃避せずにこういう糞なコードがまぎれこまないためにどうするかを考えないと。
0474名無しさん@お腹いっぱい。
2009/12/01(火) 21:31:12environment=env;
0475名無しさん@お腹いっぱい。
2009/12/01(火) 21:31:24stdlibのset/getenvを使う必要ないよね。
rtldではenvironを直接書き換える従来型のsetenv/getenvを定義して
使うのがいいんじゃなかろうか。
0476名無しさん@お腹いっぱい。
2009/12/01(火) 21:34:48みんなで現実逃避しようぜ
悪魔だ 悪魔の仕業だ 沈黙のメシアが今起きあがった ギャォ
0477名無しさん@お腹いっぱい。
2009/12/01(火) 21:52:04あれ?3.0が出た後も2.x系列はしばらくリリースを続けるんでなかったか?
0478名無しさん@お腹いっぱい。
2009/12/01(火) 22:02:41どこかで見たんだがもう次は2.30で決まったのか?
後藤君 確認してきたまえ そして報告だ ホウ、レン、ソウ!
0479名無しさん@お腹いっぱい。
2009/12/01(火) 22:04:552.30はそのまま出る。
0480名無しさん@お腹いっぱい。
2009/12/01(火) 22:10:23今後も励みたまえ
0481名無しさん@お腹いっぱい。
2009/12/01(火) 22:28:17えっと、environmentじゃなくて environだよね?
環境変数リストの頭に "" があると unsetenv()が "" より後の変数を見落とすってこと?
ちなみにLinuxで試すと >>474 でも unsetenv()は正常動作した。
0482名無しさん@お腹いっぱい。
2009/12/01(火) 22:51:570483名無しさん@お腹いっぱい。
2009/12/01(火) 22:55:320484名無しさん@お腹いっぱい。
2009/12/01(火) 23:09:090485名無しさん@お腹いっぱい。
2009/12/01(火) 23:33:470486名無しさん@お腹いっぱい。
2009/12/01(火) 23:52:020487名無しさん@お腹いっぱい。
2009/12/02(水) 04:29:220488名無しさん@お腹いっぱい。
2009/12/02(水) 05:19:190489名無しさん@お腹いっぱい。
2009/12/02(水) 06:48:46unsetenv()の方を修正するのがスジじゃないの?
たとえエラー返すにしても、引数変数名のunsetenvは必ず実行するように。
0490名無しさん@お腹いっぱい。
2009/12/02(水) 07:57:02それを言うならどう直せばいいのかまで書くべき
0491名無しさん@お腹いっぱい。
2009/12/02(水) 08:11:17書いてるじゃん。日本語読めないのか?
unsetenv()は、たとえ変数名に不正なものがあってエラーになっても、
常に引数変数のunsetは実行する。
または、以前の void unsetenv()の動作に戻し、
互換性のため、戻り値だけ常に0を返すようにしておく。
0492名無しさん@お腹いっぱい。
2009/12/02(水) 09:35:43あなたが問題の本質がわかってないことはわかりました。
0493名無しさん@お腹いっぱい。
2009/12/02(水) 10:23:50unsetenvの動作自体を中断するのは余計な仕様→バグだな。
POSIX(笑)か何かでunsetenv()をint型にするように要請されたとしても、
処理は変えずに黙って return 0;だけ追加しておけば良かったものを。
0494名無しさん@お腹いっぱい。
2009/12/02(水) 10:29:440495名無しさん@お腹いっぱい。
2009/12/02(水) 10:41:110496名無しさん@お腹いっぱい。
2009/12/02(水) 10:42:400497名無しさん@お腹いっぱい。
2009/12/02(水) 10:43:520498名無しさん@お腹いっぱい。
2009/12/02(水) 10:44:12修正したのは unsetenv の中じゃないし、
unsetenv で return 0 したら今までの挙動と同じになって
脆弱性消えないだろ? プログラム読めないなら黙ってろ。
0499名無しさん@お腹いっぱい。
2009/12/02(水) 10:46:220500名無しさん@お腹いっぱい。
2009/12/02(水) 10:47:26そうじゃなくて、
6.x以前の void unsetenv() の動作に戻した上で
return 0; するんだよ。
unsetenv()さえ動作すれば、戻り値は本質じゃない。
今の unsetenv()は、>>474 みたいに不正な環境リストに設定された状態で
実行すると、処理を放棄して実際には unsetenvしないことが問題なの。
昔の void unsetenv() なら、>>474 みたいな不正な環境からでも
unsetenv()は強制的に動作する。
0501名無しさん@お腹いっぱい。
2009/12/02(水) 10:49:210502名無しさん@お腹いっぱい。
2009/12/02(水) 10:49:35ttp://pc12.2ch.net/test/read.cgi/unix/1256451900/538
なことを言う傾向にあるね
0503名無しさん@お腹いっぱい。
2009/12/02(水) 10:55:38"" (空文字列) とかがあった場合、
7.x 以降の unsetenv("HOGE")は、エラーでリターンして、HOGEをリセットしない。
6.x 以前の unsetenv("HOGE")は、HOGEをリセットする。
というのが本質なんだ。
0504名無しさん@お腹いっぱい。
2009/12/02(水) 10:56:57っぽいのが気になる…
http://www.youtube.com/watch?v=gJ9KYON1l3Q
0505名無しさん@お腹いっぱい。
2009/12/02(水) 11:07:19exploit コード見つけた。6.4 以前、SMP 環境で再現する。
↓で直ってたんだな。
http://security.freebsd.org/advisories/FreeBSD-SA-09:13.pipe.asc
0506名無しさん@お腹いっぱい。
2009/12/02(水) 11:20:17この時期に紛らわしい話題を一緒にするなよ。
>>504-505 に書いてるのは LD_PRELOADとは別件なので。
今回の件は 6.4以前のユーザーには無問題。
0507名無しさん@お腹いっぱい。
2009/12/02(水) 11:28:51持って来なけりゃよかったよ…orz
0508名無しさん@お腹いっぱい。
2009/12/02(水) 11:36:320509名無しさん@お腹いっぱい。
2009/12/02(水) 11:42:49その点については何ら非のあるところではない。
気にしないことだね。
0510↑
2009/12/02(水) 12:17:290511名無しさん@お腹いっぱい。
2009/12/02(水) 13:25:41ID出ないからわかりにくい
0512名無しさん@お腹いっぱい。
2009/12/02(水) 17:39:527系以降はやっぱり糞w
0513名無しさん@お腹いっぱい。
2009/12/02(水) 21:39:030514名無しさん@お腹いっぱい。
2009/12/02(水) 22:21:300515名無しさん@お腹いっぱい。
2009/12/02(水) 22:40:53ファイルのsha256も合致してるのになぜだ
手で当てるか・・・
0516名無しさん@お腹いっぱい。
2009/12/02(水) 22:45:320517名無しさん@お腹いっぱい。
2009/12/02(水) 23:38:42俺も手で当てたなー。たいした量じゃないし。
0518名無しさん@お腹いっぱい。
2009/12/03(木) 01:46:260519名無しさん@お腹いっぱい。
2009/12/03(木) 02:29:550520名無しさん@お腹いっぱい。
2009/12/03(木) 07:20:43スクラッチから書いた方がましだな
0521名無しさん@お腹いっぱい。
2009/12/03(木) 08:10:55任せた
0522名無しさん@お腹いっぱい。
2009/12/03(木) 09:27:07神来た!これで勝つる
0523名無しさん@お腹いっぱい。
2009/12/03(木) 11:11:440524名無しさん@お腹いっぱい。
2009/12/03(木) 12:04:340525名無しさん@お腹いっぱい。
2009/12/03(木) 12:22:570526名無しさん@お腹いっぱい。
2009/12/03(木) 12:47:280527名無しさん@お腹いっぱい。
2009/12/03(木) 13:09:34installkernel後にDVDで起動してFixitでzpool import -f <pool>
zpool upgradeとzfs upgradeでZFSをアップグレード
unset vfs.root.mountfromで起動ディスクをルートに起動
zfs mountを使わずmount -t zfs <zfs_filesystem> <mount point>でルートパーティション以外をマウント
legacyのルートパーティションだけは/mntにマウント
mergemaster -p ×2
シンボリックリンクの/mnt/bootは削除して空のディレクトリを作成
/と/mntにmake NO_FSCHG=true installworldしてから/mnt/usr,var,boot下の余計なファイルは削除
/mnt/boot もシンボリックリンクに戻す
mergemaster -iUF×2
再起動
参考リンク
http://www.daemonology.net/blog/2009-07-11-freebsd-update-to-8.0-beta1.html
http://mohi.teak.jp/blog/memorandum/021
http://toriyu.jp/hitorigoto/id2416.html
http://www.cyberciti.biz/faq/freebsd-8-upgrade-tutorial/
http://d.hatena.ne.jp/usaka/20090602
http://docs.sun.com/app/docs/doc/819-6260/gffys?l=ja&a=view
http://docs.sun.com/app/docs/doc/819-6260/gcikw?l=ja&a=view
0528名無しさん@お腹いっぱい。
2009/12/03(木) 13:10:00今、勇者が立ち上がった!
0529名無しさん@お腹いっぱい。
2009/12/03(木) 13:36:540530名無しさん@お腹いっぱい。
2009/12/03(木) 17:23:21ありがと
0531名無しさん@お腹いっぱい。
2009/12/03(木) 19:12:390532名無しさん@お腹いっぱい。
2009/12/03(木) 19:59:04http://security.freebsd.org/advisories/FreeBSD-SA-09:17.freebsd-update.asc
0533名無しさん@お腹いっぱい。
2009/12/03(木) 20:04:19http://security.freebsd.org/advisories/FreeBSD-SA-09:16.rtld.asc
0534名無しさん@お腹いっぱい。
2009/12/03(木) 20:12:33http://security.freebsd.org/advisories/FreeBSD-SA-09:15.ssl.asc
0535名無しさん@お腹いっぱい。
2009/12/03(木) 20:20:53http://security.freebsd.org/advisories/FreeBSD-SA-09:15.ssl.asc
・rtld 関連。
http://security.freebsd.org/advisories/FreeBSD-SA-09:16.rtld.asc
上記二つについて amd64 な人は更に↓を見て lib32
も構築し直すこと。
http://www.FreeBSD.org/handbook/makeworld.html
・freebsd-update 関連
http://security.freebsd.org/advisories/FreeBSD-SA-09:17.freebsd-update.asc
これについてはパッチを適用してインストールすると共に
# chmod 0700 /var/db/freebsd-udpate/
の実施を忘れないように。
0536名無しさん@お腹いっぱい。
2009/12/03(木) 21:23:54結局 make world しろ、ってことだよなあ
lib32 だけの再構築方法ってそこに書いてあるか?
0537名無しさん@お腹いっぱい。
2009/12/03(木) 21:40:210538名無しさん@お腹いっぱい。
2009/12/03(木) 22:07:06portupgrade -af とかでインストール済みのportsをビルドしなおすとき
途中でエラーとかのせいで全部終了できなかった場合に
途中からやるようにするにはどうすればいいのだろうか
portupgradeまわりのportsをリビルド対象から除外できればいいんですけど
0539名無しさん@お腹いっぱい。
2009/12/03(木) 22:17:05newvers.sh のバージョン記述をあげ忘れてたってのどういうこった
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/conf/newvers.sh
0540名無しさん@お腹いっぱい。
2009/12/03(木) 22:31:43STABLE な人には関係無い?
今三台 build world 終わったところなんだけど…。
0541名無しさん@お腹いっぱい。
2009/12/03(木) 22:32:28http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/conf/newvers.sh.diff?r1=1.83.2.6.2.3;r2=1.83.2.6.2.4;f=h
0542名無しさん@お腹いっぱい。
2009/12/03(木) 23:31:42まさに数字だけ。
だが後日の混乱の元なのでもういちどbuildkernelするぜ('A`)
0543名無しさん@お腹いっぱい。
2009/12/04(金) 00:27:35http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20404580,00.htm
0544名無しさん@お腹いっぱい。
2009/12/04(金) 00:28:11>>533
0545名無しさん@お腹いっぱい。
2009/12/04(金) 10:01:54The NVIDIA Corporation releases an initial BETA version of
NVIDIA 195.22 FreeBSD graphics drivers for both i386 and amd64 architectures.
http://www.freebsd.org/news/newsflash.html#event20091203:01
0546名無しさん@お腹いっぱい。
2009/12/04(金) 10:11:490547名無しさん@お腹いっぱい。
2009/12/04(金) 10:44:140548名無しさん@お腹いっぱい。
2009/12/04(金) 18:41:280549名無しさん@お腹いっぱい。
2009/12/04(金) 18:48:48man rtld
man ldconfig
ldconfig -r
0550名無しさん@お腹いっぱい。
2009/12/04(金) 22:18:47始めた日時をメモっておいて
portupgrade -f '<YYYY-MM-DD HH:MM'
0551名無しさん@お腹いっぱい。
2009/12/04(金) 22:37:35俺も途中で止まってたんで感謝
man portupgrade の中を date で検索すべきだったんだな(time で検索してた)
0552名無しさん@お腹いっぱい。
2009/12/04(金) 23:07:31どうもです
何か他にも色々できるみたいですな
0553名無しさん@お腹いっぱい。
2009/12/05(土) 00:25:01入力関係が地雷原な雰囲気なんだけど、今の7.4が出て結構たつよね。
誰もメンテナンスしてないんだろうか?
まだ6.2Rp+xorg-7.2で放置してるんで一気に8.0R+7.4にいこうと
思ったけどあれ見てると恐過ぎる。
0554名無しさん@お腹いっぱい。
2009/12/05(土) 01:30:290555名無しさん@お腹いっぱい。
2009/12/05(土) 03:27:04何か同感…。
俺も6.4Rから8.0Rへ移行を考えてるけど、やはりデスクトップ用途だとXがこんなだと気が引ける…
でも人柱力にでもなったつもりで入れてみるか…
0556名無しさん@お腹いっぱい。
2009/12/05(土) 06:31:170557名無しさん@お腹いっぱい。
2009/12/05(土) 07:05:40cc -DHAVE_CONFIG_H -I. -I../../.. -DPACKAGE_SYSCONF_DIR=\""/usr/local/etc"\"
-DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_BIN_DIR=\""/usr/local/bin"\"
-DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -DPACKAGE_LOCALSTATEDIR=\""/var"\"
-I../../.. -I/usr/local/include/dbus-1.0 -I/usr/local/include/dbus-1.0/include
-I/usr/local/include -O2 -pipe -fno-strict-aliasing -Wall -Wchar-subscripts
-Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -MT probe-hiddev.o
-MD -MP -MF .deps/probe-hiddev.Tpo -c -o probe-hiddev.o probe-hiddev.c
probe-hiddev.c: In function 'main':
probe-hiddev.c:81: error: 'USB_GET_REPORT_ID' undeclared (first use in this function)
probe-hiddev.c:81: error: (Each undeclared identifier is reported only once
probe-hiddev.c:81: error: for each function it appears in.)
gmake[5]: *** [probe-hiddev.o] エラー 1
gmake[5]: ディレクトリ `/usr/ports/sysutils/hal/work/hal-0.5.13/hald/freebsd/probing' から出ます
0558名無しさん@お腹いっぱい。
2009/12/05(土) 10:27:230559名無しさん@お腹いっぱい。
2009/12/05(土) 10:55:180560名無しさん@お腹いっぱい。
2009/12/05(土) 11:09:190561名無しさん@お腹いっぱい。
2009/12/05(土) 13:57:45これからは、アメリカ語だろ。
0562名無しさん@お腹いっぱい。
2009/12/05(土) 14:10:21You are inputting Japanese.
■ このスレッドは過去ログ倉庫に格納されています