>>3691 has なるほど、ありがとうございます。Debian の ping は、 Do you want to ping broadcast? Then -b というエラーは出さないようですね。 >>3695 MM > x.y.z.0もブロードキャスト宛ということになるのでしょうか? x.y.z.0/255.255.255.0 はネットワークアドレスです。 ただ、BSD 系・BSD 系を元にした実装 (Solaris・Linux など) は ネットワークアドレスに対する ping に対して返事を返します。 Windows 系はたしか返事を返さないはず (ネットワークアドレスに 対する ping だけでなく、ブロードキャストへの ping も返さない)。 だから、ネットワークアドレス宛の ping であっても、ブロード キャスト宛の ping と同等に機能する環境もあります。 ただし ping は 「この宛先はブロードキャストアドレスだから `Do you want to ping broadcast? Then -b' というメッセージを出そう」 などと判断しているわけではなく、 >>3690 68user に書いたとおり、connect して errno が EACCES ならこのメッセージを 出力して終了しているだけです。しかしこの connect の意味がさっぱり わからないので、「ネットワーク設定がおかしいのでは?」以上のアドバイス はできません。 てゆーか、どなたか >>3690 の意味を教えてください。 >>3694 abc > texの文書で、dviのファイルをpdh形式に変換したいのですが pdh は pdf の typo ですか? gs 付属の ps2pdf はいまいちで、今どきは dvipdfm を使うと 聞いたことがありますが、最新情報や細かなノウハウは知りません。 よって、「dvi pdf 変換」などで検索してみるか、2ch の UNIX 板 などで質問してみてはいかがでしょうか。 |
はじめまして、こんばんは。 LINUX, Apache, PHP, MySQL、HTMLでのシステムを考えているのですが、 ちょっと行き詰まってしまって、、、よろしくお願いいたします。 ページがジャンプした瞬間に、あるフィールドをいきなり入力待ち状態にしたいのです。 通常はページに移動後マウスなどで入力したいフィールドを一度クリックする必要があります。 現在フィールドはフォーム<input>タグで作成しています。 カスタマーは(バーコードを使って>マウス1クリック無しで) いきなり入力したい!というのがご要望です。 関連のページのご紹介でも何でもかまいませんので、 是非、よろしくお願いいたしますm(_ _)m |
>>3697 うほほ たとえば http://www.google.co.jp/ がその技を使っています。 ソースを見ていただければわかりますが、 <body onload="document.hoge.fuga.focus()"> <form name=hoge> <input type=text name=fuga> </form> </body> とします。 |
>>3696 68user >なるほど、ありがとうございます。Debian の ping は、 > Do you want to ping broadcast? Then -b >というエラーは出さないようですね。 そーゆーことですか、了解です。ならredhat9では次の通りになりました。 % strings /bin/ping | grep Then Do you want to ping broadcast? Then -b % |
ファイルをダウンロードするスクリプトを作成していますが、 ファイルサイズが大きいとファイル内容は一部しかダウンロードできません。 sysreadの戻り値$Ret_Lenは、正しい値が返ってきます。 最後のprint文で、全てを出力していません。あるいは、$INBUFに全てが 格納されてないかです。 全ての内容をダウンロードするには、どうすべきなのでしょうか? $size = -s $dl_file; open(INF, $dl_file) or &CgiError( "Error: Unable to open file $dl_file: $!\n" ); binmode(INF); $Ret_Len = sysread(INF, $INBUF, $size); if (defined $Ret_Len) { #エラーではない if ($Ret_Len >0) { #読み取りの成功 ; } else { #EOF close(INF); } } elsif ($! == EAGAIN) { #ブロックエラー $Ret_Len = sysread(INF, $INBUF, $size); } else { die "sysread() error: $!"; } $NowMime = substr( $f_name, rindex($f_name, ".")+1, length($f_name) ); $NowMime =~ tr/a-z/A-Z/; $RetMime = ""; # 2001.12.19 added by ishikawa -> #$mimeMach = 'dummy'; # 2001.12.19 added end ishikawa <- if( $NowMime ne "" ){ if( open(CB, "./lib/mime.types") ){ @mimein = <CB>; close( CB ); foreach( @mimein ){ if(/^[^#\n\r]/){ s/[\t]+/\t/; ($MimeHead,$MimeBody) = split(/\t/); # 2001.12.19 added by ishikawa -> if( defined $MimeBody ){ # 2001.12.19 added end ishikawa <- foreach $mimeMach ( split( /\s/, $MimeBody ) ){ $mimeMach =~ s/\s//g; $mimeMach =~ tr/a-z/A-Z/; if( $mimeMach eq $NowMime ){ $RetMime = $MimeHead; last; } } # 2001.12.19 added by ishikawa -> } # 2001.12.19 added end ishikawa <- if( $RetMime ne "" ){ last; } } } } } if( $RetMime eq "" ){ print "Content-Type: application/octet-stream\n"; print "Content-Disposition: inline; filename=\"$f_name\"\n\n"; } else{ print "Content-Type: $RetMime\n"; print "Content-Disposition: inline; filename=\"$f_name\"\n\n"; } binmode(STDOUT); print $INBUF; |
>>3700 sagara - 「ファイルサイズが大きい」とは具体的に何バイトですか? - あるバイト数以上のファイルの場合、常にダウンロードできないのですか? - 大きいファイルを処理するのに何秒かかりますか? - length($INBUF) の値は? - $INBUF の内容をファイルに出力すると、正常に出力できますか? - 「sysreadの戻り値は正しい」というのは「正常にダウンロード できなかった場合でも、sysread の戻り値は正しい」ということ ですか? - sysread ではなく read を使うとどうなりますか? - OS 名・OS のバージョン・perl のバージョンは何ですか? あと、コメント部分や関係ない箇所は極力削ってから投稿しましょう。 仕事のソースであれば特に。 |
>68USER様 早々のお返事をありがとうございました。 やってみたら、ばっちりでした〜! 本当にありがとうございました♪ |
はじめまして。よろしくお願いします。 環境:NetBSD1.5.2、Apache2.0.49 以下に示す接続が、4日くらいたっても消えません。 これは、クライアントがhttpで何かをダウンロード中の状態の1つということでしょうか? ずっとこの状態のままなのはどういう原因が考えられますでしょうか? Apacheのログには、このクライアントからのアクセスログは存在しませんでした。 FIN_WAIT_2の状態が終了した後で書き込まれるのでしょうか? %netstat -an (一部抜粋) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 15964 210.*.*.*.80 133.*.*.*.15241 FIN_WAIT_1 tcp 0 16460 210.*.*.*.80 133.*.*.*.6322 FIN_WAIT_1 tcp 0 16500 210.*.*.*.80 133.*.*.*.19339 FIN_WAIT_1 |
>>3703 lock サーバ側から close すると (正確にはアクティブクローズ すると) FIN_WAIT_1 になります。普通はこの後にクライアント から ACK・FIN が帰ってきて FIN_WAIT_2 に遷移しますが、 この辺がうまくいっていないものだと思われます。 > ずっとこの状態のままなのはどういう原因が考えられますでしょうか? わかりません。普通は FIN_WAIT_1 のままにならないように タイマか何かがあると思いますが、FIN_WAIT_1 タイマって 存在するのかな? (FIN_WAIT_2 タイマはあるけど) > FIN_WAIT_2の状態が終了した後で書き込まれるのでしょうか? これまたわかりません。apache のソースを読みましたが、どこで ログを吐いてるのかすらわかりませんでした。 とまぁ何の役にも立たない回答になってしまいましたが、 数日様子を見てはいかがでしょうかね。 |
数日前、FreeBSD 5.2Rをインストールしたのですが、起動時(ログイン前)に Configuring syscons: keymap blanktime と表示され、長時間とまってしまって困っています。 その後ログインプロンプトが表示され、ログイン可能ですし、 その他の操作に問題も無い感じなのですが、毎度の事なので釈然としません。 解決方法は無いものでしょうか?それともこういうものなんのでしょうか? よろしくお願いいたします。 |
>>3705 hash > Configuring syscons: keymap blanktime の後の sendmail 起動時に固まっているものと思われます。 内容は若干グダグダですが、こちらをどうぞ。 http://home.jp.freebsd.org/cgi-bin/thread?mesid=%3c200308030422%2eAA02439%40nt%2em8%2edion%2ene%2ejp%3e てゆーかうちのマシンも sendmail 起動時に固まりますが、 めんどくさいので止まったら Ctrl-C を押してます。 |
>> 3706 早速のお返事ありがとうございます。 ご指摘頂いた通り、原因はメッセージの後のsendmailの起動でした。 > Configuring syscons: keymap blanktime のメッセージから検索しても、解決法が見つからないのはあたりまえでしたね。 ご紹介いただいたウェブサイトに目を通すのに時間がかってしまいましたが、 解決することができました。 私の場合はDNSサーバの指定部分で、ADSLモデムの提供しているDNSで解決しようとしていたのですが、 モデムのDNSサービスがIPv6に対応していない為、名前解決できずTime outを待っていたようです。 DNSサーバの指定をプロバイダーのアドレスにしたら解決しました。 起動する度に気になっていたので、すっきりしました。 どうも、ありがとうございます。 |
DESについて質問させて下さい。 OpensslコマンドでDESを使っているのですが、間違った鍵で復号しようとすると bad decryptというエラーがでます。パリティチェックはOKとします。 これはDESの仕様上、エラーが検出できるということなのでしょうか? DESというと単にビット単位の置換だと思っているので、エラーが検出できるのが ちょっと不思議です。 TripleDESの中ででも、いきなり関係無い鍵で復号したりしてますから、さらに 不思議です。 なにか根本的に理解が違っている気もするので、宜しければご教授ください。 |
>>3708 Sjr `bad decrypt' を出しているのは多分 rypto/evp/evp_enc.c の int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl){ b=ctx->cipher->block_size; n=ctx->final[b-1]; if (n > b){ EVPerr(EVP_F_EVP_DECRYPTFINAL,EVP_R_BAD_DECRYPT); だと思います。PKCS#5 で定義されている操作に矛盾が発生すると このエラーが発生すると思っています。 ところで PKCS#5 の日本語訳のありかをご存知の方いらっしゃい ませんか? (解説している書籍でも可) 以前自分で訳してみたものの、 よく理解していないため何が何だかわからない日本語ができあがって しまいました。 |
68userさん、ご回答有難うございました。 恥ずかしながらPKCSというのは知りませんでした。PKCS#5というのは、 簡単に言うと文字列を鍵とする場合の決まりごと、みたいなものでしょうか? 頂いたソースやPKCS#5を斜め読みしてもまだ今一つピンときていません。 勉強したいと思います。 今のところなんとなく、PKCS#5でのPS(Padding String)についての記述を 見て、Padding ruleによってはエラーが検出できるのではと予想しています。 やっぱりアルゴリズムを見ていくしかないですねぇ… |
>>3710 Sjr > 簡単に言うと文字列を鍵とする場合の決まりごと、みたいなものでしょうか? 決まりごとというか、RSA が作った決めごとですね。 DES は 64bit のデータを暗号化・復号化する機能しか持っていません (だから DES は 64bit ブロック暗号)。 これでは 64bit を超えるデータを暗号化できないので、データを分割して 暗号化する方法の一つが CBC モード (FIPS PUB 81 で規定)。一方、データ 列が 64bit に満たない場合のパディング方法などを規定しているのが PKCS#5 です。 PKCS#5 でのパディングは データ1バイトの場合: A -> A 07 07 07 07 07 07 07 としてから暗号化 データ2バイトの場合: A B -> A B 06 06 06 06 06 06 としてから暗号化 : データ7バイトの場合: A B C D E F G -> A B C D E F G 01 としてから暗号化 データ8バイトの場合: A B C D E F G H -> A B C D E F G H 08 08 08 08 08 08 08 08 としてから暗号化 としていますね。 と書いているうちにわかったような気がしますが、 http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/crypto/openssl/crypto/evp/evp_enc.c?rev=1.1.1.1.2.4 の EVP_DecryptFinal_ex が呼ばれるときの流れは 残りブロックサイズ = ctx->cipher->block_size; if (残りブロックサイズ > 1){ /* 残りはパディング部分のみ */ n=ctx->final[b-1]; /* 最後の 1バイトを読む。その値はパディング長であるはず */ if (n > b) /* パディング長が残りブロックサイズを超えているならエラー */ for (i=0; i<n; i++) パディング部分の値が全て n であることをチェック /* ここまできたら、パディング部分が正しいことがわかる */ n=ctx->cipher->block_size-n; /* パディング部分を除いたブロックサイズを取得 */ for (i=0; i<n; i++) /* パディング部分より前のデータについて出力バッファに書き出す */ out[i]=ctx->final[i]; てな感じでしょうか。 |
一応補足。 >>3708 Sjr > DESというと単にビット単位の置換だと思っているので、エラーが検出できるのが > ちょっと不思議です。 DES 自体は、鍵に含まれるパリティを以外の誤り検出機能はない、という 理解で正しいと思います。 しかし、PKCS#5 においては誤った鍵を使うと >>3711 68user > データ1バイトの場合: A -> A 07 07 07 07 07 07 07 としてから暗号化 > データ2バイトの場合: A B -> A B 06 06 06 06 06 06 としてから暗号化 この最後のデータ列 (06 06 06 06 06 06 など) がめちゃくちゃになって しまうため、パディングチェック時にエラーとなる、ということですね。 なお、PKCS#5 は DES に限らず、ブロック暗号一般に適用できます。ただし PKCS#5 は 64bit 暗号に特化した書き方がされているので、64bit 超暗号に 一般化したものが PKCS#7 に規定されています。 # と言っても、mod 8 とか書いてあるか、mod k と書いてあるかの違いしか # ないような気がしますけど。 |
x168userさん、詳細な説明ありがとうございます。 誤りの検出については、ほぼ理解できたと思います。 >データ8バイトの場合: A B C D E F G H -> A B C D E F G H 08 08 08 08 08 08 08 08 としてから暗号化 のところは意外でした。データが増えてしまうのでしょうか。 確かにこうしないとパディングされているのかされていないのかが 分からない、ということなのでしょうけど。 よくよく見ていくと色々と考えられていて面白いですね。 |
初歩的な質問です。 複数ファイルを1ファイルにcatで結合しようとしたところ次の問題が発生しました。 各ファイルのファイル名は20文字程あり、それら10ファイルをまとめて作成したい ファイル名も20文字程あります。cat以下コマンドを入力していくと、255文字で 入力不能となります。環境はSolarisへのTelnet接続、シェルはkshを使っています。 また、結合したい10ファイルは1つのディレクトリにある全てのファイルです。 ファイル名を短くするとか一度にやらないとか方法はあるでしょうが、画期的な方法が あれば宜しくお願いします。 |
>>3714 SS さん、 ファイル名に共通点ありますか? $ cat aaa.txt a b c $ cat bbb.txt 1 2 3 $ cat ccc.txt x y z $ cat *.txt a b c 1 2 3 x y z |
>>3714 SS Solaris8 では sh・ksh・csh いずれも 255 文字の制限があるようで、極めて 不愉快ですね。 ワイルドカード (glob) を使う以外の別解としては、文字数の制限がある のはコマンドラインからの入力時だけのようなので、シェルスクリプト内で #!/bin/ksh cat file-a file-b ..... > result などとすれば OK なようです。 あとは、tcsh や bash を使うとか。 |
シェルスクリプトで実現することにしました。ありがとうございました。 |
>>3717 SS 3716で68user様もさらっと書いてますが、ワイルドカードをを使用する事でも回避可能です。 % cat * > outfile それにしてもこんな制限があるとは知りませんでした。 で、確認してみたところ、255文字ではなく257文字まで入力できました。 ・・・・・・なんでこんなに中途半端なんでしょう? |
>>3074 68user 返事遅れて申し訳ありません。 回答ありがとうございます。 状況は、全く変化せずFIN_WAIT1の状態のまま残っています。 タイマーはないようです。 OSを再起動すればなくなるのでしょうが、それは出来ないので困っています。 強制的にクローズする方法はありませんでしょうか? apacheを再起動しても変化なしでした。 |
>>3719 lock であれば、NetBSD のバグだと思われます。 http://www.netbsd.org/Misc/query-pr.html#search と http://www.netbsd.org/MailingLists/ で検索してみましたが、 それっぽいものはありませんでした。 # FIN_WAIT_1 が残るというメールはありましたが、NetBSD 1.3.1 # 以前の問題のようです。 これ以上はわたしには全くわからないので、netbsd.org の メーリングリストで質問してみてはいかがでしょうか。 |
初めてメールします。CGIを用いてGREE.jpのようなものを作りたいと考えているのですが、何かいい案はございませんか? |
>>3721 大谷 現状何が問題なのかを提示せずに いきなり「何かいい案は?」と 問われても、何と答えればよいのかわかりません。 |
シェルスクリプト内の変数の使い方について教えて下さい。 環境は、HP-UX11.00で、Cシェルです。 a.cshとb.cshの2つのシェルがあり、 b.cshは、a.cshから呼ばれる動きです。 この時、a.csh内で設定した変数を、b.csh内でもしたいのですが 上手くいきません。 - a.csh ----------- #!/bin/csh set title = "test log" ./b.csh - b.csh ------ #!/bin/csh echo "Subject: $title" >> kekka.log echo "" >> kekka.log というように使いたいのですが、上手くできません。 よろしくお願いします。 |
>>3723 つる setenvしてください。 |
留学歴を調べててわかったんですが、 あべ晋三さんって Mac のノート(G4 パワーブック?)で Unix を使って日本を動かしてるらしい。 http://www.s-abe.or.jp/image/pc_desk.gif 「./configure; make new_japan; make install」ってのがすごいですね。 実装が知りたい (^^) ★ さて質問です。tcup という有名なレンタル掲示板に 「プログラム書き込みを禁止する」という設定項目があり、 これを有効にするといわゆるエロ広告がカットできるようなんですが、 どういう実装になってるんでしょうか。 HTTP-AGENT 環境変数とかだったらフツー偽装しますよね。 (いぜん PC を docomo の携帯に偽装して「グリコの抽選の応募」を 連続応募する裏ワザというのがあった) ていうか、Internet Explorer だってコンピューターのプログラムには 違いないわけで。どうやって判別できるんでしょう? |
>>3275 kotaro > 「./configure; make new_japan; make install」ってのがすごいですね。 何ヶ月か前にほうぼうでネタにされてましたね。configure と make は ; で なくて && でつなぐべきだとか、いったい何を grep してるんだとか、パス ワード入力時に何で * がエコーバックされるんだとか。 http://www.s-abe.or.jp/ の web も XOOPS を使っているようで、ページ 運営者がそういう系統の人なんでしょうね。 > 「プログラム書き込みを禁止する」 http://www.teacup.com/gbbs/l1new.shtml の「プログラム投稿(迷惑投稿)禁止」 のことですね。 http://8520.teacup.com/pon/bbs あれれ? 投稿者:PON 投稿日:10月10日(金)00時00分26秒 以降の発言を見るに、cookie を食べてくれるかとか、referer を 渡してくるかとか、Javascript を正しく解析してくれるかとか、 そういう感じの判定をしているものと思われます。 |
質問です。 Solaris8で、バックアップからのフルリカバリを行う際、 パーティションを作成した後にnewfsでファイルシステムの作成を行いますが、 このときSWAP領域にも、newfs /dev/rdsk/.....というようにファイルシステムを 作成するものなのでしょうか? vfstabファイルによると、SWAPはファイルシステムがufsでなくswapですので、どうなのかと思いまして。 googleで解説ページを検索すると、SWAPにnewfsを行っているサイトもあるのですが、 自分の持っている書籍では行っていません。 ちょっと分からなくなってしまったので、宜しくお願い致します。 |
>>3727 tt ufs ファイルシステムを作るわけではないので、newfs は不要です。 ファイルを swap として追加する場合も、 # mkfile 512m /foo/bar/swap512m # swap -a /foo/bar/swap512m と、ゼロ埋めのファイルを用意して swap -a するだけですので。 |
>>3728 68user様 ご回答ありがとうございます。 やはり不要なのですね。 ただ、それでもnewfsを行った場合、何か不具合が出るのでしょうか? 「不要」とは、「行っても問題無いが、する必要が無い」と言った意味になりますでしょうか。 swapをnewfsしている方は、その後問題無いのかなと思いまして。。 |
>>3729 tt newfsしても問題ないと思います。 ただし、実際にswapを使い始めると(書き込みが行われると) ufsとして書き込みに行かないので、結局ファイルシステムは破壊はされます。 よって、newfsする意味がありません。 |