|
>>3931 MERCY MERCYさま。ご回答有り難うございます。お礼が遅くなってごめんなさい。 これからもその他、下らないことで質問すると思われますので、 是非とも宜しくお願い致します。 有り難うございました。 |
|
>>3926 68user 管理者さま。大変お世話になっております。 くだらない質問にも、いつも一番にご回答下さり大変嬉しいです。 本当に有り難うございます。 >> CSMA/CDの他、CSMA/CA、ホットポテトルーティング、近隣探索機能(v6) >CSMA/CD・CSMA/CA は近いという概念とはまったく関係なく、LAN 内での >コリジョンを防止するための仕組みだと思っています。 はい。まさにその通りでした。。 課題を出した上司はNWがどの様に通信しているのかを勉強させたく、 CSMA/CD・CSMA/CAの課題を持ち出したものでした。 コリジョン防止がNW内通信の速さだと思っていた先輩が誤って、 「NW内の近さ」と関連付けアドバイスしてくれたものですから混乱してました。 「UNIXと言うものが、サーバ向が主体」とどこかで思っているので、 こちらでNWの質問までしてしまって申し訳けございませんでした。 とにかく本当に有り難うございました! |
|
はじめまして。 よろしくお願いいたします。 現在HP-UX11.00、Bシェルでログの監視ツールを作っています。 早速質問させていただきたいのですが、 たとえば、以下のようなログがあったとします。 ------------------------------------------ 1:I have a error. You have a worning. 2:I have a worning. You have a error. ------------------------------------------ 変数にワイルドカードを使用して ------------------------------------------ pattern="*error*worning*" ------------------------------------------ とパターン定義しておいて、ログファイルを一行ずつ読み込み この場合ですと、一行目のみ出力させるということは可能でしょうか? 現在 ------------------------------------------ message=`echo $line | sed -n /$pattern/p` if [ "x$message" = "x" ] ; then exit 0 else echo $message exit 1 fi #($lineはログファイルの読み取り行) ------------------------------------------ というようなことが、やりたいのですが、うまくいきません。 ご教授のほどお願いいたします。 |
|
>>3936 一人 こんな感じでどうですか? ------ awk 'BEGIN { FS=","; dummy=""; } { if ( $1 != dummy ) { if ( NR > 1 ) printf "\n"; printf "%s,%s",$1,$3; dummy=$1 } else { printf ",%s",$3 } } END { printf "\n"; }' infile ------ >>3939 カトウ pattern='.*error.*worning.*' では駄目ですか? |
|
>>3940 zsh ありがとうございます。 上手くいきました。 こんな簡単な方法でできるのですね。 考えすぎですね。 |
|
>>3935 TSURU > sendmail を久しぶりにコンパイルしようとしたのですが、以下のような > メッセージが大量に出力されてしまい、コンパイルできません。 http://mm.apache.or.jp/pipermail/apache98-99/1999-August/001431.html のスレッドを参考にしてください。 gcc をインストールしなおさないといけないのか、PATH の設定次第で何とか なるものなのかはわかりません。 > コンパイラが古いとコンパイルできなくなるということはあるのでしょうか? あります。しかし今回は環境の問題でしょう。 >>3939 カトウ > message=`echo $line | sed -n /$pattern/p` 質問内容とは関係ありませんが、$line にワイルドカードなどが入っていると シェルが展開してしまうので、ログ内容をシェル変数に格納するやり方はお勧め しません。 |
|
始めまして、こんにちは。 UNIX講習を受けてから5年以上も経つのに、ほとんど初心者です。 基本的な質問ですみません。 tar xvf *.tar で展開して、ファイル情報を表示させたとき、 その内容をファイルに落とすにはどうしたらいいでしょうか? この展開ですべてのファイルがきちんと展開されたか確認したいのです。 (実は1つだけ展開されていない・・・) 本当に、基本的な質問ですみません。 よろしくお願いいたします。 |
|
初めまして。ポチ公と申します。 ネットワークの勉強中ですがちょっと質問があります。 今、httpの仕組みを勉強中でこちらのサイトにたどり着きました。 以下のページで公開されているtcpdump-filter.plで ttp://x68000.q-e-d.net/~68user/net/tcpdump.html 書かれていたとおりに実行して 見事パケットが整形されて表示されました。 以下のようなコマンドです。 tcpdump -l -s 1600 -x -i lo0 | tcpdump-filter.pl | grep http >> packet.txt xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, zation Required ... それで思ったのですが、どうもログを見ると 先頭の3行くらいが全て省略されているようでした。 環境はredhat9/perl5.8です。 何故、先頭の数文字が省略されているのが 疑問でしたので、投稿してみました。 もし何か解りましたら教えて頂けたら幸いです。 宜しくお願いします。 |
|
>>3943 初心者? > tar xvf *.tar > で展開して、ファイル情報を表示させたとき、 > その内容をファイルに落とすにはどうしたらいいでしょうか? tar xvf *.tar > out.txt 2>&1 (sh・bash の場合) tar xvf *.tar >& out.txt (csh・tcsh の場合) とします。ただ、 > この展開ですべてのファイルがきちんと展開されたか確認したいのです。 という目的であれば、 - v オプションをつけない。これで何か出力されれば それはエラーメッセージのはず。 - tar のステータスコード ($? や $status) を確認。 エラーが発生しているならステータスコードが 1 以上のはず。 という手もあります。 >>3944 ポチ公 > それで思ったのですが、どうもログを見ると > 先頭の3行くらいが全て省略されているようでした。 すいません、ちょっと時間と気力不足により、スクリプトの 確認は後日行います。申し訳ないです。 もし正しい出力がほしいなら、tcpdump の -X オプションを 使うとか (Ethernet フレームまで出力されてしまいますが)、 ethereal や ethereal に付属する CUI の tethereal の使用を 検討してみてください。 |
|
「ネットワークプログラミングの基礎知識」の「リンク集・参考書籍」に OpenSSL - 暗号・PKI・SSL/TLS ライブラリの詳細 を追加しました。 http://X68000.q-e-d.net/~68user/net/link-book.html#4274065731 去年頃から、OpenSSL に一番詳しい日本語の解説を書くことを 目指してがんばってきましたが、夢破れました。この本がもっと 前に出ていれば、あんなことやこんなことで悩む必要はなかった のに、と理不尽な怒りすら覚えます。 今後は OpenSSL に一番詳しい日本語のサイトを目指すことにします。 |
|
お初です。 最近このHPにも大変お世話になってます。 組み込みLinuxでクレジットカードリーダーを試作することになり、 PPPでインターネット経由でサーバと通信するって感じです。 手順その他は私に任せられてたので、独自のプロトコルを考えるのが 面倒だし、ゆくゆくはセキュリティーも対策しないといけないので サーバ側をApache+modsslを使うことにしたのですが、このサイトの情報が 非常に参考になりました。クライアントソフトを解説してあるサイトは 非常に少ないので、大変助かります。 SSLサーバ認証なしで、実験ソフトが動作するところまでは行きました!! でも私のカードを使ってインターネット経由ってのは、まだ怖いので、 クライアント認証に挑戦したいと思います。 そんな記事を書かれるご予定はありませんか?(^^; (クライアント側でクライアントの証明書をリストに追加するだけの ような気がしてますが・・・) これからもがんばってください。 |
|
>>3947 だんだん 書く気はありますが、もし書く場合は「クライアント認証とは何か」 から始めるつもりなので、いつ書きあがるかは何ともいえません。 要は SSL_CTX_use_certificate_chain_file() などを使ってクライ アント証明書を使えばいいわけですが、詳しいやり方は >>3946 68user の本に書いてあります。 また、概念からして怪しい場合は、 - 自前で CA (認証局) をたてる - クライアントが CSR (証明書発行要求) を作成する - それを受けて CA が証明書を発行する - IE などのブラウザに証明書を組み込む としてまず理解を深めることをお勧めします (ここらへんの手順は 検索すればたくさん見つかります)。 |
|
はじめまして。 UNIX の部屋 -> コマンド -> cpp にて、 型の別名の定義方法で typedef MYCHAR_P char *; が正しいと紹介されていますが、これは typedef char *MYCHAR_P; の間違いではないでしょうか? |
|
>>3949 T.Kobayashi > typedef char *MYCHAR_P; > の間違いではないでしょうか? ごもっともであります。修正しました。 http://X68000.q-e-d.net/~68user/unix/pickup?cpp ご指摘ありがとうございました。 |
|
はじめまして。 いつもコマンドの参考にさせて貰っております。 説明している数や例がわかりやすくて重宝してます。 大した事ではありませんが、気になった部分を2点ほど ■いずれも【TOP >> UNIX の部屋 >> ジャンル別コマンド一覧 >> vi】にて 1.「h 1文字左に移動」がリストからはみ出ています。 2.「編集モード中に"ESC"」=「編集モードに移行」 であれば、リストに入れてはいかがでしょうか。 リストにあれば、閲覧2度目以降の人はそれだけ参考にすればよいので見やすいかと。 (個人的にですが) |
|
はじめまして。 ソケット通信について教えてください。 Severプログラムでクライアントから ConnectしてきたクライアントがClose処理を行ったかわかりますでしょうか? Connect時は、接続元のIPアドレス・ポートがわかると思いますが クライアントがCloseを行ったかどうかを知りたいのですが? よろしく御願いいたします。 |
|
>>3951 ほんたか ご意見ありがとうございます。 > 1.「h 1文字左に移動」がリストからはみ出ています。 これは HTML 生成スクリプトの不具合で、認識しているの ですが、美しい直し方はないかなぁと考えているところです。 いましばらくお待ちください。 > 2.「編集モード中に"ESC"」=「編集モードに移行」 > であれば、リストに入れてはいかがでしょうか。 ごもっともです。そのように修正しました。 http://X68000.q-e-d.net/~68user/unix/pickup?vi >>3952 shima > ConnectしてきたクライアントがClose処理を行ったかわかりますでしょうか? 簡単に言うと (shutdown の存在を除外して言うと)、サーバが read してクライアントから 0 か SIGPIPE が返ってこれば、 クライアントが close を行ったか、クライアントプログラムが 終了した (close or exit or core dump) ということです。 ただしクライアントのマシンが落ちたり、ネットワークケーブルが 切断された場合は… read が ETIMEOUT を返すんでしたっけ? この辺 あやふやなので、間違ってたらご指摘ください>誰となく |
|
初めまして、 ここのサイトの主旨にあった質問かどうかわからないのですが、 質問させて頂きます。 今、開発作業を以下の構成で実施しているのですが、 Webサーバ:Netscape-Enterprise/3.6 SP3 ブラウザ:Internet Explorer 5.5 SP2 Internet Explorer 6.0 言語:Server Side JavaScript(Livewire) ※サーバ側で動作するJavaScript言語です。 正常にHTML画面が表示されているのに、 パケットの最後に、"400 Bad Request"が入ってしまい、 次の画面で、 "あなたのブラウザがサーバに送ったリクエストはサーバが理解できないリクエストです" のエラー画面が表示されてしまいます。 この現象は必ず発生するわけではなく、 2人のひとが同時に同じ作業をした場合にも、 片方の人は発生し、もう片方の人には発生しないことがあります。 (パケットの例) : </HTML> HTTP/1.1 400 Bad Request Server: Netscape-Enterprise/3.6 SP3 ............ ただ、この問題は Netscape Navigater Ver7.1 では発生せず、 また IE の設定を、 「HTTP 1.1を使用する」 → 「HTTP 1.1を使用しない」 に変更するとこちらも問題が発生しなくなります。 そして、telnet を使用しリクエストした場合には、 必ずこの形(Bad Request)で出力されています。 プロトコルかNetscapeサーバが原因と考えているのですが、 うまく問題を切り分けることができません。 わかるかたがいましたら、すみませんがご教授願います。 |
|
> 3948 . 68user > 要は SSL_CTX_use_certificate_chain_file() などを使ってクライ > アント証明書を使えばいいわけですが、詳しいやり方は あっさり動作しました。 ご指摘ありがとうございます。 |
|
>>3954 則巻せんべい そういう事象は知らないので何とも言えませんが、とりあえず ethereal などで IE5.5 と NN7.1 のそれぞれのリクエストと レスポンスを観察してみることをお勧めします。 |
|
お久しぶりです。 その節はお世話になりました。 現在、再びSSLの改造に着手しています。 OpenSSLを使用してクライアントからサーバに HTTP KEEP ALIVE(パーシステントコネクション)を行いたいのですが、 上手く行きません。 HTTPリクエスト時に Getで最初と異なるHTMLファイルを指定し、 Connection: Keep-Alive を要求した後に、 SSL_read()をしても異なるHTMLファイル を読み込む事ができません。 ちなみに、平文のhttpでは読み込む事が出来たのですが、 この辺りの情報が皆無に近くて苦労しています。 OpenSSLの場合は何か特別な事を行なわないと実装できないのでしょうか? 参考URLや書籍など、ご存知な方が居られましたら ご教授下さい。 |
|
>>3957 ニッタン > OpenSSLの場合は何か特別な事を行なわないと実装できないのでしょうか? 特にないと思っています。 https://www.rsasecurity.com/ と https://www.rsasecurity.com/solutionsPrimary.asp を keep-alive で読むサンプルを http://x68000.q-e-d.net/~68user/tmp/https-client-keep-alive.c に置きました。 このサンプルではレスポンスに </html> が含まれていればレスポンスの 受信が完了したものとみなして次のリクエストを送信する、という手抜き処理を していますが、本来は Content-Length の値などを見るべきです。 |
|
バンガードです。 以下の機能の実現方法が分からず困っています。 --------- rep_file ------------ $SERVER1 $SERVER2 $SERVER3 ------------------------------- 上記のファイルが存在する状態で、以下の定義を行います。 ------------------------------- SERVER1="server01" SERVER2="server02" SERVER3="server03" ------------------------------- この状態で、rep_fileを読み込み各行が表す変数の中身(server01,server02,server03) を表示させたい。 以下のスクリプトを組んで見ましたが、 -------------------------------- while read REP do echo \$$REP done < $REP_LIST -------------------------------- 結果は以下の通りでした。 -------------------------------- $SERVER1 $SERVER2 $SERVER3 -------------------------------- 環境はAIX5.2です。 出来れば、kshで実現したいと考えています。 |
|
>>3959 バンガード > echo \$$REP eval "echo $REP" としてみてください。 |
|
>>3960 68user >eval "echo $REP" としてみてください。 うまく行きました。 ありがとうございました。 |
|
はじめまして。最近Unix系OSをいじりはじめたものです。 このサイトのおかげですごい助かってるぜーと隣の人間に話していたら、 そういうのは掲示板に書き込んだほうが管理者の人が元気になるよー、と 教えてもらったので、感謝報告書き込みさせてください。 これからもリファレンスのお世話になりそうなのでまた利用させて下さい。 お邪魔しましたm(__)m |
|
>>3956 68user ご指摘、ありがとうございます。 教授の内容を試行させて頂きます。 |
|
初めまして。 最近C言語でCGIプログラミングを始めました。 そこで、crypt関数によるMD5暗号化を行う(掲示板のため、所謂トリップのため)ことにしたのですが、 #include <stdio.h> #include <unistd.h> int main(void) { char *salt = "Salt"; char *pass = "pass"; printf("Content-type:text/html\n\n"); crypt_set_format("des"); printf("DES: %s\n", crypt(pass, salt)); crypt_set_format("md5"); printf("MD5: %s\n", crypt(pass, salt)); crypt_set_format("blf"); printf("Blowfish: %s\n", crypt(pass, salt)); return 0; } というソースを見つけたので、動作確認のためgcc3.2、Kernel2.6.5のFedoraCore2ディストリ環境でコンパイルしてみました。 しかし、[-lcrypt]オプションを指定しても解決していない旨のエラーメッセージが表示され、コンパイルできません。 配布も予定しているものなので、httpdを直接書き換える設定は不可能なので、どのようにMD5に指定したらよいか、何方かご教授をお願いします。 |
|
>>3962 タコ見習 ありがとうございます。間違いやわかりにくい表現などありましたら、 ぜひご指摘ください。 >>3964 侍刀 > というソースを見つけたので、動作確認のためgcc3.2、 > Kernel2.6.5のFedoraCore2ディストリ環境でコンパイル > してみました。 http://www.jp.freebsd.org/QandA/HTML/1944.html でしょうか。 この crypt(3) の動作を切り替える仕組みは、わたしの知る限り FreeBSD のみに実装されています。Linux にこういう仕組みがあるかどうかはわかり ません (もしあったとしてもインタフェースは異なる可能性が高いと思われます)。 OpenSSL 必須でよいなら、EVP_Digest* などの仕組みを使うのがよいでしょう。 それがダメなら、*BSD や RFC1321 のソースを同梱して配布することをお勧め します (md5 のソースはそれほど長くないので)。 |
|
>>3965 68user あ、あらららら・・・・・・・そうだったんですか・・・・・ Linux互換じゃないとは知りませんでした・・・・・・ では、RFC1321のソースでも探して見ます・・・・ |
|
HP-UX11.00なのですが、telnetやrlogin、remshなどで、リモートログイン してくるあるユーザ(一般ユーザ)をログインできないようアクセスの拒否 をしたいのですが、実現可能なのでしょうか。 状況としては、UNIX同士、PCからUNIXとあり、同一LAN上にあります。 ftpのアクセス拒否と同じように定義ファイルがあり、ユーザ名を記述 すればアクセス拒否ができるのかと調べてはみたのですが、該当する ようなファイルはなく、実際にはどうなのでしょうか。 |
|
>>3967 でぶ > telnetやrlogin、remshなどで、リモートログインしてくるある > ユーザ(一般ユーザ)をログインできないようアクセスの拒否 > をしたい 以下のような案でどうでしょうか。 - telnetd や remshd を止める (全ユーザが利用不可) - そのユーザのパスワードやログインシェルを変更する (su にも有効。実装によるかもしれないが ftp が使えなくなるかも) - .login や .profile に logout と書いておく (タイミングよく Ctrl-c を押せばよいので気休め程度。su には効かない) |
|
UNIX上のC言語でCGIを作っています、複数のデータを画面に表示する。 沢山データあるので、改ページの機能もあります 1つ悩みがあります。 ページを変わると、タイトルの表示位置も変えてしまう。 タイトルはTPLファイルで定義しています、以下のように <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">選択</TH> <TH width="170">サービス名</TH> <TH width="170">グループ名</TH> <TH width="170">コンテンツ<BR>タイトル名</TH> <TH width="170">コンテンツ<BR>ファイル名</TH> <TH width="100">ファイル<BR>サイズ<BR>(byte)</TH> <TH width="50">更新日時</TH> <TH width="58">無償フラグ</TH> </TR> データ出力はC言語で書いています、以下のように printf("<TR bgcolor=%s><TD align=\"center\" width=\"30\">",html_work2); printf("<INPUT type=\"radio\" name=\"CONTENT_ID\" %s value=\"%s%s%s\">\n",html_work1,recode.my_content_id.arr,recode.my_service_id,recode.my_group_id); printf("</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"100\">%s</TD><TD width=\"53\">%s</TD><TD width=\"58\">%s</TD>\n", service_name, group_name, recode.my_content_title.arr, recode.my_content_filename.arr, recode.my_file_size, recode.my_update_date.arr, html_work3); widthは%の形で定義して見た、それでもページを変わると、タイトルの表示位置をずれてしまう。 誰か教えていただけないでしょうか? |
|
>>3969 田 CGI が出力した HTML のソースを参照し (IE なら「表示->ソース」)、 以下の HTML と比較して、おかしいところはないか調べてみて下さい (例えば </TR> が抜けていないか、など)。 <HTML><BODY> <HR width="98%"> <TABLE width="98%" cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">選択</TH> <TH width="170">サービス名</TH> <TH width="170">グループ名</TH> <TH width="170">コンテンツ<BR>タイトル名</TH> <TH width="170">コンテンツ<BR>ファイル名</TH> <TH width="100">ファイル<BR>サイズ<BR>(byte)</TH> <TH width="50">更新日時</TH> <TH width="58">無償フラグ</TH> </TR> <TR> <TD align="center" width="30"> <INPUT type="radio" name="CONTENT_ID" value="xxx"> </TD> <TD width="170">a</TD> <TD width="170">b</TD> <TD width="170">c</TD> <TD width="170">d</TD> <TD width="100">e</TD> <TD width="53">f</TD> <TD width="58">g</TD> </TR> <TR> <TD align="center" width="30"> <INPUT type="radio" name="CONTENT_ID" value="xxx"> </TD> <TD width="170">A</TD> <TD width="170">B</TD> <TD width="170">C</TD> <TD width="170">D</TD> <TD width="100">E</TD> <TD width="53">F</TD> <TD width="58">G</TD> </TR> </TABLE></BODY></HTML> |
|
こんにちは。 今あるプログラムの不具合調査をしておりまして、 RAND_add() がキーとなった不具合が発生しております。 とても情けない質問になるのですが、 RAND_add とは何を行っている関数なのでしょうか。 |
|
68USER様:貴重な提案をいただきました、ありがとうございます。 試して見ましたが、問題解決まだできません |
|
<HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">チェツ・/TH> <TH width="170">・オ。シ・モ・ケフセ</TH> <TH width="170">・ー・・シ・ラフセ</TH> <TH width="170">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="170">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="100">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="50">ケケソキニ・�</TH> <TH width="58">フオス�・ユ・鬣ー</TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" checked value="0000100050001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">premium</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2023/10/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor= ><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100060001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">abc</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2024/08/04 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100070001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_KC_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2019/08/04 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor= ><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100110001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2013/11/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100170001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_MUSYO_EZ。ハEZ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2015/11/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <input type="hidden" name="TOTAL_PAGE" value ="2"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="2"> <input type="hidden" name="CONTENT_ID" value =""> <input type="hidden" name="MOTO" value ="S"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- disp() //--> </SCRIPT> </TABLE><BR> </FORM></CENTER></BODY></HTML> |
|
ソース表示するとき、文字化けになった、設定の仕方がわからなくて、そのまま下に貼ります |
|
>>3973 田 文字化け部分を適当に直して IE6 で見てみましたが、特にテーブル構成が崩れることは ありませんでした。ブラウザ名とバージョンを確認してください。また、3973 で提示した HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる かどうかを確認してください。 >>3971 吉 まず http://X68000.q-e-d.net/~68user/net/ssl-1.html を読んで、RAND_seed() が「PRNG に乱数の種となるランダムデータを蓄積するためのもの」 であることを理解してください。 RAND_seed() は 「10 バイトのデータを乱数の種として蓄積」 ということしかできません。 しかし RAND_add() は 「10 バイトのデータを乱数の種として蓄積するが、本当にランダムな部分は 5バイト分しかない」 などと、ランダムさを指定することができます。それ以外に RAND_seed() と RAND_add() の 違いはありません。 |
|
68user様:貴重な助言、ありがとうございます。 いま私は使っているブラウザ名とバージョンは ブラウザ:Microsoft Internet Explorer バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0) です、 3973 で提示した HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる かどうかを確認しました。文字化け以外、異常がありませんでした |
|
>>3976 田 > ブラウザ:Microsoft Internet Explorer > バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0) これは IE6 のことを指します。ブラウザのメニューバーの ヘルプ->バージョン情報 で確認するのが確実です。 > 3973 で提示した > HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる > かどうかを確認しました。文字化け以外、異常がありませんでした そもそも >>3973 で提示した HTML は、実際に表示が崩れている HTML の ソースを表示した結果ですか? 表示が崩れていない HTML のソースであれば、当然ながら HTML を見ても原因は わかりません。 表示が崩れている HTML のソースであれば、Javascript が悪さをしているのかも しれませんが、現物がないことには何ともいえません。少しずつ出力するタグを 削っていき、原因がどこにあるのか調べましょう。 |
|
AIXでのcsh実行でよく分からない点があり、初めて投稿させて頂きました。 AIX5.2で以下のcshを実行するとエラーは起きません。 #!/bin/csh if ( '07' >= '01' ) then endif exit しかし、if文内の'07'を'08'or'09'にすると 「if:数値の形式が正しくありません.」 とエラーになります。 ('10'や'11'などでは問題ありません。) HP-UXではエラーにならないのですが、理由がお分かりになる方が いらっしゃったら御教えください。 |
|
>>3978 もの知らず? おそらく、>= は両辺を数値として比較するため、0 から始まる文字列は 8進数と解釈されてしまうのでしょう。 もし /bin/test が存在するなら test '07' -ge '01' if ( $status == 0 ) then 処理 endif とか test '07' -ge '01' && 処理 などとする手があります。 |
|
>>3979 68user 68userさん。早速の御解答有難う御座いました。 8進数として解釈され、8進数に09などという数値が 存在しないのでエラーとなったということですね。 大変勉強になりました。 |
|
はじめまして。 ネットワークプログラミングのことを検索すると、いつもこちらのページがヒットするので、 いろいろと勉強させていただいてます。 さて、↓の UDP の説明ですが、 http://x68000.q-e-d.net/~68user/net/udp-2.html クライアントプログラムのリンクはあるのに、サーバの方がない(?)ようです。 で、もしかしたらと思って↓この URL を開いてみたら当たりました(笑)。 http://x68000.q-e-d.net/~68user/net/sample/udp-server-1.pl なので、こちらの方も本文からのリンクがあるとわかりやすいかなと思います。 |
|
>>3981 とおる。 リンクの張り忘れですので、さっそくリンクを追加いたしました。 ご指摘ありがとうございました。 |
|
68user様:貴重な助言、ありがとうございます。 最近手は回らなくて、返事を遅れて、すみません。 いま私は使っているブラウザ名とバージョンは ブラウザ:Microsoft Internet Explorer Version:6.0.2800.1106 データと関連しているような気がします、4ページから5ページ遷移するとき、問題ない、5ページから6ページ遷移するとき問題が起きる 以下は5ページ表示しているときのソース <HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; return true; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000" Onload="return disp()"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width=3%>チェツ・/TH> <TH width="14%">・オ。シ・モ・ケフセ</TH> <TH width="14%">・ー・・シ・ラフセ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="13%">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="13%">ケケソキニ・�</TH> <TH width="8%"> <CENTER> フオス�<BR>・ユ・鬣ー </CENTER> </TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" checked value="0000909630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-9 </TD><TD width="14%">cameratuika.gif </TD><TD width="13%"> 1,794 </TD><TD width="13%">2004/09/16 11:36:11 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000810110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">8 </TD><TD width="14%">cameratuika.gif </TD><TD width="13%"> 1,794 </TD><TD width="13%">2004/10/05 19:01:42 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001009630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-10 </TD><TD width="14%">cancel.gif </TD><TD width="13%"> 1,529 </TD><TD width="13%">2004/09/16 11:36:23 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000910110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">9 </TD><TD width="14%">cancel.gif </TD><TD width="13%"> 1,529 </TD><TD width="13%">2004/10/05 19:02:18 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000106410001"> </TD><TD width="14%">aaaa </TD><TD width="14%">aaaa </TD><TD width="14%">aaaa </TD><TD width="14%">chekouttest.txt </TD><TD width="13%"> 41 </TD><TD width="13%">2004/05/14 13:32:57 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000509630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-5 </TD><TD width="14%">close_new.gif </TD><TD width="13%"> 1,351 </TD><TD width="13%">2004/09/16 11:35:17 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001010110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">10 </TD><TD width="14%">close_new.gif </TD><TD width="13%"> 1,351 </TD><TD width="13%">2004/10/05 19:02:33 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001308020001"> </TD><TD width="14%">EZ・爍シ・モ。シ </TD><TD width="14%">ez_grp </TD><TD width="14%">sdfafasaasd </TD><TD width="14%">config.gif </TD><TD width="13%"> 1,163 </TD><TD width="13%">2004/08/24 18:37:39 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001908020001"> </TD><TD width="14%">EZ・爍シ・モ。シ </TD><TD width="14%">ez_grp </TD><TD width="14%">syu_test </TD><TD width="14%">contract_change.gif </TD><TD width="13%"> 1,175 </TD><TD width="13%">2004/09/14 17:17:44 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000300020001"> </TD><TD width="14%">test </TD><TD width="14%">test </TD><TD width="14%">sdsa </TD><TD width="14%">dec.amc </TD><TD width="13%"> 130,749 </TD><TD width="13%">2003/12/12 12:26:18 </TD><TD width="8%">、ハ、キ</TD> <input type="hidden" name="TOTAL_PAGE" value ="28"> <input type="hidden" name="MOTO" value ="S"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="5"> </TABLE><BR> </FORM></CENTER></BODY></HTML> 以下は6ページ表示しているときのソース <HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; return true; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000" Onload="return disp()"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width=3%>チェツ・/TH> <TH width="14%">・オ。シ・モ・ケフセ</TH> <TH width="14%">・ー・・シ・ラフセ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="13%">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="13%">ケケソキニ・�</TH> <TH width="8%"> <CENTER> フオス�<BR>・ユ・鬣ー </CENTER> </TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" checked value="0000409510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">02.3.14-005-6_title </TD><TD width="14%">dlcsv.gif </TD><TD width="13%"> 1,483 </TD><TD width="13%">2004/09/02 20:45:25 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000509510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">2.3.14-007_title </TD><TD width="14%">dllimit.gif </TD><TD width="13%"> 1,410 </TD><TD width="13%">2004/08/31 14:07:51 </TD><TD width="8%">、「、・/TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001509510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">0902_title </TD><TD width="14%">dummy.html </TD><TD width="13%"> 53 </TD><TD width="13%">2004/09/02 20:47:46 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000109780002"> </TD><TD width="14%">grp_test </TD><TD width="14%">grp_test </TD><TD width="14%">grp_test </TD><TD width="14%">dummy.html </TD><TD width="13%"> 53 </TD><TD width="13%">2004/09/16 13:43:11 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000200020001"> </TD><TD width="14%">test </TD><TD width="14%">test </TD><TD width="14%">abc </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2004/05/25 17:43:13 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100050001"> </TD><TD width="14%">premiumPPV </TD><TD width="14%">ppv </TD><TD width="14%">premium </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/10/23 10:51:38 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100060001"> </TD><TD width="14%">kccsppv </TD><TD width="14%">a </TD><TD width="14%">abc </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2004/08/24 10:58:05 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100110001"> </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/13 18:00:54 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100840001"> </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/16 16:52:26 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000102520001"> </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/18 20:42:19 </TD><TD width="8%">、ハ、キ</TD> <input type="hidden" name="TOTAL_PAGE" value ="28"> <input type="hidden" name="MOTO" value ="S"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="6"> </TABLE><BR> </FORM></CENTER></BODY></HTML> 問題を見つからないです。 |
|
akuroと申します。 MACの改行コード(CR)の扱いについておうかがしたいことがございます。 RedHat8.0上コマンドラインより、 vi lunux.txt ------------- aiueo kakikukeko sasisuseso というファイルを作成し、これの改行コードを¥r→¥nに変換しました。 perl -pe 's/¥n/¥r/' linux.txt > mac.txt このファイルをWindows2000クライアントPCにDLしメモ帳で表示したところ。 -------- aiueo■kakikukeko■sasisuseso■ (実際は■は半分くらいの大きさです) となり、¥rが存在する事が確認できます。 自動で改行コードを認識するエディタで表示させると改行されて表示されます。 (サクラエディタ使用) この処理を、Vine2.6R4上で実行し、メモ帳、サクラエディタで見たところ ------- aiueokakikukekosasisuseso 両エディタでみてもこのようになっておりました。 ただ、¥r自体は存在するようなのですが、うまく反映されないのです。 (この結果はFreeBSD5.2でも同様でした。) 色々とこの現象について調べてはいるのですが、原因不明です。 どなたかおわかりの方がいらっしゃいましたらよろしくお願いします。 それと、情報が足りない点がありましたらご指摘お願いいたします。 |
|
>>3983 田 こちらの環境ではいずれも正常に表示されたので、解決方法は わかりませんでした。少しずつ出力を削り、どこがまずいのか 調べましょう。 もし他の掲示板で質問する場合は、これまでに述べた環境に 加え、テーブルのどの部分がどういうふうに崩れるのかを 書くとよいでしょう。 >>3984 akuro まずは問題が発生している箇所を切り分けましょう。 perl 実行後に od -cx などでファイルの内容を確認しましょう。 \r になっているなら、Windows 側かファイル転送時の問題です。 \r になっていないなら、Linux 側の問題です。 |
|
>>3985 68user 返信ありがとうございます。 早速ファイルを確認してみましたところ、 (Vine,redhat8.0での確認) →FREEBSDの方は今起動できないため後でテストしてみます。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f 0000034 と同じ結果となり、¥rは存在する事が判明しました。 という事は、”Windows 側かファイル転送時”の問題のようです。 ファイルの取得方法はRedHatもVineもWinSCPを使用して受けとりました。 受け取ったクライアントPCは同じなので原因は転送時の気がします。 となると、SSHの設定かもしれないです。 まだ、原因はわかりませんが引き続き調査してみます。 |
|
>>3986 akuro 原因は、WinSCPでの転送中にファイルが加工されていたためでした。 一度ローカルにDLした後に、再度サーバーへUPしたところ ファイルのダンプデータが異なりました(ファイルサイズも)。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f ↓DL、UP後 0000000 a i u e o k a k i k u k e k o s 6961 6575 6b6f 6b61 6b69 6b75 6b65 736f 0000020 a s i s u s e s o \0 7361 7369 7375 7365 006f 0000031 sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。 なにかよい方法はありませんでしょうか。 (FTPでバイナリモードにするしかないのでしょうか) FTPを使用してバイナリ転送したところ、問題なく転送できました。 |
|
>>3987 akuro WinSCP は知りませんが、 http://itc.sfc.keio.ac.jp/ml/ の「2-6. 転送モードで[テキスト(T)] を選択します」という設定画面で モード切替を行なえるように見えます。 > sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。 わたしの知る限り、UNIX 的な ssh・scp は改行コード置換は行ないません。 WinSCP 独自のおせっかいな機能でしょう。 |
|
>>>3987 akuroと申します。なんども申し訳ありません。 先ほどは、改行コードを¥n→¥r変換しましたが。 ¥nのままでもファイルに異常が生じるかテストしてみました所、 ¥nの場合は問題なく転送できました。 |
|
>>3988 68user 返信ありがとうございます。akuroです。 問題解決いたしました。 ご指摘いただいたWinSCPの転送をバイナリにしたところ 問題なく転送できました。 ありがとうございました。 |
|
sugimotoと申します。 OpenSSLとRSA暗号を調べていてここに辿りつきました。 あるユーザ様とCGIを介してデータ通信を行おうとしているのですが、ユーザ 様の指定で、データはRFC2313に準拠したRSA暗号化して送るという事になって ます。 暗号化/復号については68user様のネットワークプログラミングの基礎を参考 に作れそうなのですが、唯一解決できない問題がありまして、ここに質問して おります。 【問題点】 ユーザ様から提示された仕様には暗号化キー/復号キーがそれぞれ1つしか 無い。 RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な のですが、ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 RSAにおいて、このような事は可能なのでしょうか? 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば指数 とモジュラスに分割できるよ。など情報がありましたら教えて下さい。 ※ユーザ様にも問い合わせ中なのですが、レスポンスの問題がありまして、 こちらにも質問した次第です。 よろしくお願いいたします。 |
|
>>3991 sugimoto > RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な > のですが そのとおりです。 > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 実は「モジュラスと公開指数」を意味する、ということはないですか? # 「暗号化キー/復号キー」が具体的に何を指すのかよくわからない # ので何ともいえないのですが。 > 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば > 指数とモジュラスに分割できるよ。など情報がありましたら教えて下さい。 genrsa で出力されるデータには、モジュラス・公開指数・非公開指数全てが 含まれていますので、可能です (openssl genrsa で生成したデータを読み込み、 openssl rsa -pubout で公開鍵を出力できるわけなので)。 試してませんが、genrsa で生成した PEM ファイルを http://www.openssl.org/docs/crypto/pem.html などで読み込み、RSA 構造体を参照すればよいのではないでしょうか。 |
|
>>3992 68user 素早い回答どうも有難うございます。> 68User様 > > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 > これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 > 実は「モジュラスと公開指数」を意味する、ということはないですか? ユーザからの回答として、上記が来る事を心待ちにしている所です。 PEMファイルからモジュラスを抜き出す処理については、ユーザからの回 答を待ってからにしようと思っておりますが、必要になった場合は頑張って みます。この処理を行いましたらまた報告します。 |
|
>>3993 sugimoto sugimotoです。 結局PEMファイルから秘密指数/公開指数とモジュラスを抜き出す事にしました。 プライベート鍵ファイルからの読み込みは PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 パブリックキーの読み込みに失敗している状態です。 以下が読み込みプログラム RSA *ReadPublicKey(char *keyfile) { FILE *fp = fopen (keyfile, "r"); RSA *pkey; if (!fp) return NULL; pkey = PEM_read_RSAPublicKey(fp,NULL,NULL,NULL); fclose (fp); if (pkey == NULL) ERR_print_errors_fp (stderr); return pkey; } この関数を実行すると、以下のエラーが出てしまいます。 === ここから === 5563:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:669:Expect ing: RSA PUBLIC KEY Error: can't load public key === ここまで === 渡しているファイルは openssl rsa -in private.key -pubout -out public.key で作成した、public.keyになります。 ちなみに、private.keyの読み込みは上記関数のPEM_read_RSAPublicKeyを PEM_read_RSAPrivateKeyに変えた物で、問題無く動作します。 どなたか、private.keyの読み込みを行った方が居ましたら、助言をお願い いたします。 |
|
>>3994 sugimoto 今実行環境がないのでわかりませんが、とりあえず気になったところだけ。 > プライベート鍵ファイルからの読み込みは > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか? あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?) なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか? |
|
>>3995 68user > > プライベート鍵ファイルからの読み込みは > > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 > これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか? はい。セットされます。 動作の確認のため、パブリック鍵ファイルも読み込みたかったのです。 > あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?) PEMは自分で作成して、一方を相手に渡します。 > なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか? PEMファイルの鍵を使って暗号化と復号を行いたいからです。 で、当初の問題であったパブリック鍵の読み込みですが、 PEM_read_RSA_PUBKEY() という関数を使ったところ上手く行きました。 色々ご助言いただき有難うございました。 |
|
>>3996 sugimoto > PEMファイルの鍵を使って暗号化と復号を行いたいからです。 PEM ファイルをロードしたら RSA 構造体が生成されるわけですから、 それを使って OpenSSL の関数で RFC2313 (PKCS#1) なデータを生成 するのはダメなのですか? …と質問しようかと思ったのですが、おそらく「そういう仕様である」が 答えなような気がしますのでやめておきます。 |
|
>>3997 68user あー、公開指数とモジュラスだけ (独自フォーマットで 相手側に送りたい、 という意図かな。 |
|
>>3998 68user やりたい事を上手く伝える事ができないくて、すみません。 送信者は平文をPEM形式のパブリック鍵で暗号化し、 受信者はPEM形式のプライベート鍵で復号する。 という事を実現したかっただけなのです。 暗号化/復号の際にはPEM形式ファイル内の指数とモジュラスを抜き出す 必要があって・・・という話です。 と、ここまで書いて思ったのですが、もしかしてPEM形式の鍵をそのまま 使ってRSA暗号化する関数が存在するのでしょうか? とすれば、何て無駄な事をしているんだ・・・。という感じです。 |
|
はじめまして。 「HTTPクライアントを作ってみよう」に関して質問させてください。 一般的なHPなら「HTTPクライアントを作ってみよう(2)」のソースで、指定されたURLのhtmlファイル のソースを読み込むことができますが、Operaブラウザでオートリダイレクトを有効にしていない場合 に表示されないようなURLを指定すると <head><title>Object moved</title></head> <body><h1>Object Moved</h1>This object may be found <a HREF="">here</a>.</body> のようなhtmlソースを拾ってきてしまいます。 リダイレクト先のhtmlソースを拾ってくるようにしたいのですが、どのようにすればいいのでしょうか。 よろしくお願いします。 |
|
>>3999 sugimoto > 送信者は平文をPEM形式のパブリック鍵で暗号化し、 まずこの表現が微妙に変です。PEM はフォーマットのひとつでしかありません。 「送信者は PEM形式で保存されている公開鍵を使って暗号化し」ならわかります。 # わかっている人が書いた文章であればあまり気になりませんが、今回は # どうも理解があやしいのではないかという気がします。 PEM 形式でファイルに保存されている鍵を使って RSA で暗号化するのであれば、 PEM_read_RSAPrivateKey でファイルから鍵を読み込み、RSA 構造体に適切な データをセットして、 http://X68000.q-e-d.net/~68user/net/rsa-1.html のように RSA_private_encrypt を使えばすみます。モジュラスなどを参照する 必要はありません。 コマンドラインから行うなら openssl rsautl -encrypt でも同じ結果になると 思われます。 なお、PKCS#1 では鍵が k オクテットのとき、最大でも k-11 オクテットのデータ しか暗号化できませんが、それはよいのですか? >>4000 nira > リダイレクト先のhtmlソースを拾ってくるようにしたいのですが Location ヘッダを見て、再度リクエストを送る必要があります。 http://X68000.q-e-d.net/~68user/net/http-4.html#3 をどうぞ。 |
|
はじめまして!! おしえてください。 UNIX(HP)のサーバー間でファイルを大量コピーする作業があります。 rcp -pr コマンドを使用したところ、ログインしたユーザ名で全てのファイルが移動されて しまいます。 例)user1 file0001 コピー後⇒ user1 file0001 root file0002 user1 file0002 所有者を変更せずにコピーできる方法があれば どなたかご教授願います。 宜しくお願いします<m(__)m> |
|
>>4002 アンドロメダ root で実行してもダメですか? もしダメなら tar で固めてそれを rcp し、 tar xfp で展開するとよいでしょう。 |
|
>>4002 アンドロメダ rcpの-pオプションはパーミッションは保持されますが ファイルのオーナーは変わってしまいます。 (Solaris、AIXでも同様) 大ざっぱですが、こんな感じで... tar cfp - ./from_dir | rsh to_server "cd to_dir; tar xfp -" |
|
みなさんアドバイスありがとうございました。 tarでまとめてリモートコピーする方法でテストしたところ うまくできました。 ありがとうございました。\(^O^)/ |
|
はじめまして、くろと申します。 ここのサイトのネットワークプログラミング[ SSL/TLS でアクセスしてみよう (1) ]の サンプルを元に、https接続で、メソッドをGETではなくPOSTで、データを送信したところ HTTPステータス[400 Bad Request]が戻ってきてしまいます。 リクエストのヘッダーがおかしいのかな?と思い、下記のようにしたのですが、 POST プログラム名 HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0) Content-Length: 270 Content-type: text/xml; charset=utf-8 上手くいきませんでした。(改行コードは、\r\nです) このステータスが戻ってくる原因として、他にどんなことが考えられますでしょうか? 正直、今の私にはここまで限界で・・・ どなたかご存知の方がいらっしゃいましたら、教えていただけませんでしょうか? 宜しくお願い致します。 |
|
>>4006 くろ > POST プログラム名 HTTP/1.0 プログラム名って何ですか? https でなく http ならうまくいくんですか? POST でなく GET ならうまくいくんですか? POST を受けてくれる SSL/TLS サーバが手元にないので、 https://www.rsasecurity.com/solutionsPrimary.asp に対して以下のリクエストを送信してみましたが、正常なレスポンスを 取得できました。 POST /solutionsPrimary.asp HTTP/1.0 Host: www.rsasecurity.com Content-Length: 2 ab |
|
>>4007 68user 説明に至らない点があったみたいで、すみません。 >プログラム名って何ですか? これは、POSTをするプログラム名を指しています。 教えて頂いたURLに、POSTしてみたのですが、 サーバーからのレスポンスとして、「HTTP/1.1 400 Bad Request」 が戻ってきました。。。 68userさんでは、上手くいっているようなので、 私のプログラムの問題のようですね。。。 既に6日間も悪戦苦闘しますので、 なにか助言などありましたら、お手数ですが宜しくお願いします。 |
|
>>4008 くろ > これは、POSTをするプログラム名を指しています。 だからプログラム名って具体的に何ですか? POST hoge HTTP/1.0 とかしてたりしませんか? ちゃんと POST /hoge HTTP/1.0 としていますか? んなこたわかっとると思われるかもしれませんが、あなたのレベルが わからないので、こういうところから確認しているんですよ。 |
|
>>4008 くろ > 教えて頂いたURLに、POSTしてみたのですが、 > サーバーからのレスポンスとして、「HTTP/1.1 400 Bad Request」 > が戻ってきました。。。 ああ、これを見落としていました。 ではリクエストのやり方が悪いのでしょう。ソースを提示してください。 |
|
>>4010 68user ご迷惑をお掛けしまして、大変申し訳ありません。 プログラム名ですが、[POST hoge HTTP/1.0] という感じで、 設定しております。 以下がソースになります。 +−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+ #include <stdio.h> #include <string.h> #include <sys/types.h> #include <netdb.h> #include <sys/socket.h> #include <netinet/in.h> #include <sys/types.h> #include <sys/uio.h> #include <unistd.h> #include <openssl/crypto.h> #include <openssl/x509.h> #include <openssl/pem.h> #include <openssl/ssl.h> #include <openssl/err.h> #define EXT_OK 0 #define EXT_ERR -1 #define LINE_MAX_LEN 512 #define FILE_PATH_LEN 256 #define SEND_XML_LEN 640 #define RECV_VAL_LEN 256 #define SEND_VALUE "xml=送信データ" int main(int argc ,char *argv[]) { int ierr = 0; int isockt = 0; int read_size = 0; struct hostent *servhost; // サーバ情報構造体 struct sockaddr_in server; // ソケット構造体 struct servent *service; // サービス構造体 SSL *ssl; SSL_CTX *ctx; char *str; char send_buf[SEND_XML_LEN + 1]; // 送信データ char request[SEND_XML_LEN + 1]; // ヘッダー char total_buf[RECV_VAL_LEN + SEND_XML_LEN + 1]; // 送信データ(ヘッダー + データ) char *host = "接続先ホスト名"; // サーバ名セット char *path = "CGIパス"; // CGI名セット char buf[RECV_VAL_LEN]; memset(send_buf,'\0',sizeof(send_buf)); memset(request,'\0',sizeof(request)); memset(total_buf,'\0',sizeof(total_buf)); servhost = gethostbyname(host); if ( servhost == NULL ) { fprintf(stderr, "[%s] から IP アドレスへの変換に失敗しました。\n", host); exit( EXT_ERR ); } bzero((char *)&server, sizeof(server)); server.sin_family = AF_INET; bcopy(servhost->h_addr, (char *)&server.sin_addr, servhost->h_length); service = getservbyname("https", "tcp"); // ポート番号取得 if ( service != NULL ) { server.sin_port = service->s_port; } else { server.sin_port = htons(443); // 取得できなかったら、ポート番号を 443 に決め打ち } isockt = socket(AF_INET, SOCK_STREAM, 0); if ( isockt < 0 ) { fprintf(stderr, "ソケットの生成に失敗しました。\n"); exit( EXT_ERR ); } if ( connect(isockt, (struct sockaddr*) &server, sizeof(server)) == -1 ) { fprintf(stderr, "connect に失敗しました。\n"); exit( EXT_ERR ); } SSL_library_init(); // SSLのライブラリを初期化 SSL_load_error_strings(); // SSLエラーメッセージ Catch ctx = SSL_CTX_new(SSLv23_client_method()); // SSLv2を使用 ssl = SSL_new(ctx); SSL_set_fd(ssl, isockt); // SSLとソケットの関連付け ierr = SSL_connect(ssl); sprintf(send_buf,"%s",SEND_VALUE); sprintf(request, "POST %s.cgi HTTP/1.0\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0)\r\n" "Content-Length: %d\r\nContent-type: text/xml; " "charset=utf-8\r\n\r\n",argv[0],strlen(send_buf)); sprintf(total_buf,"%s%s",request,send_buf); ierr = SSL_write(ssl, total_buf, strlen(total_buf)); printf("サーバからのレスポンス\n"); while (1) { memset(buf,'\0',sizeof(buf)); read_size = 0; read_size = SSL_read(ssl, buf, sizeof(buf)-1); buf[read_size] = '\0'; if ( read_size > 0 ) { write(1, buf, read_size); } else { break; } } SSL_shutdown(ssl); close(isockt); // ソケットクローズ SSL_free(ssl); SSL_CTX_free(ctx); exit( EXT_OK ); } +−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+ 申し訳ありませんが、ご教授ください。 宜しくお願いします。 |
|
>>4011 くろ SSL/TLS 以前の問題に見えます。http://X68000.q-e-d.net/~68user/net/ の HTTP クライアントを作ってみよう(1)〜(4) を読んでください。 |
|
>>4012 68user ご指摘ありがとうございました。 なんと接続することができました。 ご迷惑をお掛けしまして、申し訳ありません。 |
|
環境変数にセットする値をConfigFileから読み込む仕様のシェルがあります。 しかし今その環境変数の値にスペースがある場合にうまく動きません。 具体的には configFile内に T_DATE=`date +'%Y%m%d%H%M%S'` と記述して実際のBシェルの中で for var in `cat ${CONFIG}` do export $var done としています。 想定としては export T_DATE=`date +'%Y%m%d%H%M%S'` となってほしいのですが 実際には export T_DATE=`date export +'%Y%m%d%H%M%S'`=+'%Y%m%d%H%M%S'` という2つの変数として扱われてしまいます。 これを回避する方法はありませんでしょうか。 使用している環境はHP-UX B.11.11 です。 |
|
>>4014 どんぐ while read line; do eval $line done < ${CONFIG} てな感じでどうでしょうか。 |
|
Vacancies in SUN China In 1982 Sun Microsystems created a business vision named “The Network is the Computer”. In the same year Sun initiated R&D on Java Technology. Today Sun is recognized by all as the Premier Network Enterprise Computing Vendor and have a global presence in over 100 countries. In 1987, Sun entered China market and has been dedicated to the technology and customer solution development in China. Customer Solution Center in Beijing expand repidly to provide technical hot line suppot to mission critical customers. We invite top nortch engineers to join our champion team in Beijing to provide world-class customer services. Solution Center Engineer (GC0201938) (53 Vacancies) UNIX generalist responsible for providing system support that includes hardware, software, software applications, and networking to customers via telephone support. Incumbent must be university graduate in Computer Science / Electronic Engineering, knowledgable in O/S like Unix, Linux or Solaris systems, fluent in written and spoken Japanese and with minimum 3 years of Unix Sever Support, System Integration or internal MIS support of Unix Sever. Solution Center Manager (GC0201941) (2 Vacancies) Manages and directs the activities of the Solution Center teams to provide customer facing technical post sales support of both hardware and software issues. Accountable for meeting operational excellence, customer satisfaction and people management goals of Solution Center. Liaise closely with the product technical support group for technical escalation as well as the local field operations. Incumbent must be Universtiy graduate in Computer Science / Electronics Engineering, 10 years customer support experience with 5 years in managerial capacity and fluent in written and spoken Japanese, good English is a plus. To apply this position, Please send your resume in English, Mandarin or Japanese and marked with position code to Lisa.wu@multimage.com.cn. Contact: Tel: +86 10-65057881-17 Lisa 84580901-17 Lisa Mob: 13501160969 Fax: +86 10-65057880/84583069 |
|
duコマンドで、ディスクの使用率をバイトで表示しようと以下の コマンドを実施したのですが、サイズとディレクトリ名との間に 改行が入り、一行で表示できません。 サイズとディレクトリ名を一行で表示し、その後、改行したいの ですがどうすればよいですか。 5295104 . 2594816 ./tmp1 1864704 ./tmp2 821248 ./tmp3 10240 ./tmp4 ↓ 5295104 . 2594816 ./tmp1 1864704 ./tmp2 821248 ./tmp3 10240 ./tmp4 としたいのですが。 du -k $1 | sort -n -r | awk '{ system("echo "$1"*1024 | bc"); printf(" %s\n", $2) }' |
|
>>4017 さいさん > du -k $1 | sort -n -r | awk '{ system("echo "$1"*1024 | bc"); printf(" %s\n", $2) }' 改行コードが余分なわけなので du -k | sort -nr | awk '{ system("echo "$1"*1024 | bc | tr -d \\\\n"); printf(" %s\n", $2) }' du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' とか。 わたしなら「わかりづらい」「無駄なプロセス生成が嫌」という理由から、 du -k | sort -nr | awk '{ printf("%6d %s\n",$1*1024,$2)}' などとします。 |
|
>>4018 68user >du -k | sort -nr | awk '{ printf("%10d %s\n",$1*1024,$2)}' と最初はやっていたのですが、$1に設定されるブロックサイズが大きい と「$1*1024」でオーバーフローを起こし、正しい計算ができないので systemで、bcで計算をするようなことに |
|
>>4017 さいさん >>4018 68user >du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' サーバとかOSのバーションとか記述されてませんでしたけど、 「echo -n」は、依存しませんでしたか。 |
|
>>4107 68user >>4018 68user >du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }' shかcshで異なるみたいです。 バークレイ版では、「\c」 エスケープを「-n」オプションで代用することができます。 echo が csh(1) の組み込み関数として用いられている場合には、バークレイ方式に 従っています。 #du -k $1 | sort -nr | awk '{ system("echo `echo "$1"*1024 | bc` \\\\c"); printf(" %s\n", $2) }' で、できました。 |
|
こんにちは kenといいます。 Winsockを使ってネットワークの勉強してまして大変勉強になりました。 ソケットプログラミングを進めていくうちにどうしてもわからない点が発生 したので、もしよろしければとおもいメールしました。 問題はSend()/Recv()でパケットサイズを超えるデータを連続で 送受信させたいのです。 パケットを超える送信をするにはsend()の引数にバッファ、サイズを そのままのっければ、自動でパケットサイズに切り分けて送信してる のを確認しました。ですが、受信終了を示す返り値のlengs=0を受信 できませんでした。どうも送ってないようです。httpサーバーに接続して 受信をためしたのですが、lengs=0を確認でき連続で受信することができました。 recv()での受信lengs:0はシャットダウンを意味するとの記述も見つけたのですが、 shutdown()では送信復帰ができないので、使えません。 パケットサイズを超えるデータを連続で送信し受信する時、 受信データの終了を送信したり、受信するにはどうすればいいので しょうか? サーバーがファイルの終了を示すleng=0を送信するのは なにか命令があるのでしょうか? ソケットをシャットダウンするとleng=0を送信できますが シャットダウンを復帰できないはずですがしてるのでしょうか? よかったらレスお願いしますm(__)m page:homepage3.nifty.com/MIDI-EDITOR/ mail:NQD00781@nifty.com ken |
|
>>4022 ken TCP ですか? それとも UDP ですか? > パケットサイズを超えるデータ パケットサイズって具体的に何のことを指していますか? > 受信終了を示す返り値のlengs=0を受信できませんでした。 送信側で close か shutdown しましたか? > shutdown()では送信復帰ができないので、使えません。 送信復帰って何ですか? |
|
sedを使用して先頭1行目のみ置換を行い、 すべてを出力させたいのですが、どうすれば よいですか。 sed 's/o=test$/o=honban/g' とすると置換は行われますが、先頭1行目のみ だけしたいのです。 CM1: id=00001,nm=test,o=aaa,o=test CM2: mod CM3: option - CM4: ftp CM5: get ↓ CM1: id=00001,nm=test,o=aaa,o=honban CM2: mod CM3: option - CM4: ftp CM5: get |
|
>TCP ですか? それとも UDP ですか? TCPです。 >> パケットサイズを超えるデータ >パケットサイズって具体的に何のことを指していますか? send()/recv()での送信、受信レングスです。 この場合では、Recv時のレングスです。 >> 受信終了を示す返り値のlengs=0を受信できませんでした。 >送信側で close か shutdown しましたか? サーバー側でデータを送信し、終了したらshutdown/closeを行うべき なのでしょうか? 確かにレングス0を受信できますが、その後に 送受信を必要な場合はどうすればいいのでしょうか? httpサーバーにアクセスした時はレングス0が帰ってきたのですが、 shutdownしていたのでしょうか? >> shutdown()では送信復帰ができないので、使えません。 >送信復帰って何ですか? 送信の終了を示す、レングス0を送るためにclose/shutdownを使うと、 その後にアクセスができなくなる。 shutodownしたソケットを再使用は危険とMSDNにでてます。 |
|
>>4024 どっかん sed -e '1s/o=test$/o=honban/' |
|
>>4025 ken 要は、ピアが送信したデータが全部届いたことを確認したいのですか? それならば、TCP/IP のレベルではなくアプリケーションのプロトコル レベルで実現するのが普通です。 例: - 送信側は「データ長 + データ」を送信。受信側は最初に受け取った データ長の分だけデータを受信したら、全データ到着とみなす。 - 改行コードをプロトコルのひとまとまりとみなす。送信側は データの末尾に改行コードをつけて送信。受信側は改行コードを 受け取ったら全データ受信とみなす。 端的に言うと、 recv の戻り値が 0 = FIN が届いたとき です (ノンブロッキングモードなどの例外はあるかと思いますが)。 で、FIN を投げるには close か shutdown する必要があるということです。 |
|
レスありがとうございました。m(__)m >要は、ピアが送信したデータが全部届いたことを確認したいのですか? はい。 >それならば、TCP/IP のレベルではなくアプリケーションのプロトコル >レベルで実現するのが普通です。 httpサーバーにつなげてhtmlを受信した場合に受信終了時にrecv()戻り値が 0を送っていたのは、shutdown()がかかっていたと判断していいのでしょうか? だとすれば、再度htmlを受信する場合は、再度acceptでsocketを作成して受信 開始する必要があるのかテストする必要を感じました。 何度もレスいただきましてありがとうございました。 |
|
>>4028 ken > shutdown()がかかっていたと判断していいのでしょうか? http サーバが shutdown か close したと判断してよいです。 > 再度htmlを受信する場合は、再度acceptでsocketを作成して受信 > 開始する必要があるのかテストする必要を感じました。 再度接続する場合は、クライアント側は socket を生成して connect しなおす必要があります。サーバ側はリスニングソケットは listen しっぱなしなので、クライアントが接続しなおしてきたら accept すれば よいです。 ただし毎回接続・切断を繰り返していては性能が出ないため、HTTP/1.1 に おいて keep-alive やパイプラインなどの、コネクションを切断せずに 複数のデータを取得するための仕組みが考案されているわけです (これも アプリケーション層での工夫です)。 |
|
>>4001 68user 2週間程前PEM形式ファイルの読み込みで質問した者です。 なんとか手元を離れたので簡単に報告です。 処理は68user様のご指摘の通り行う事で全て対応できました。 色々ありがとうございました。 行ったのは以下の3処理です。 ・PEM_read_RSAPrivateKey()でPEM形式ファイルを読み込む処理 パスワード付きの場合の処理で少し苦労・・・ ・RSA_private_encrypt()で暗号化する処理 ・Base64エンコードの要求があったので、EVP_EncodeBlock()でエンコー ド処理 出来上がれば単純なのですが、着手した時は全くの白紙状態でしたので 本当に助かりました。有難うございました。 |
|
いつも参考にさせていただいております。 初めて投稿します。 上田といいます。 よろしくお願いします。 『echo サーバを作ってみよう (3)』を参考にして、echoサーバを作成してみました。 概ねはうまくいきました。 しかし、おそらく子プロセスのものだと思うのですが、defunct(ゾンビ)が残ってしまいます。 このdefunct(ゾンビ)をうまく消す方法はないものでしょうか? ちなみに、私の環境は Cobalt LINUX 5.0 です。 もし、私の勘違いでしたらすみません。お許し下さい。 以上、よろしくお願いいたします。 上田 |
|
>>4031 上田 > このdefunct(ゾンビ)をうまく消す方法はないものでしょうか? サンプルプログラムでは wait をさぼっているためゾンビが残ります。 サンプルを直そうと思いつつ、はや 2年近く経ってしまいました。 ひとつのやり方として、 >>2584 persianopeh のように SIGCHLD をキャッチする方法があります。あるいは WNOHANG を 指定して waitpid してもよいです。 |
|
>>4032 68user 68userさん、ありがとうございます。 教えていただいた $SIG{CHLD} = sub { wait }; ですが、不勉強なもので、記述する場所に若干の不安が残っています。 一応、43行目と44行目の間に記述したところ、次の3つは達成できました(目的は達成できました)。 ・サーバ機能 ・複数同時アクセス ・defunctの消去 もし記述する場所が間違っていれば、またご連絡いただけないでしょうか? 36: # forkで子プロセスを生成 37: if ( $pid = fork() ){ 38: # こちらは親プロセス 39: print "親プロセス($$): 引続きポート $port を見張ります。\n"; 40: print "親プロセス($$): クライアントの相手はプロセス $pid が行います。\n"; 41: 42: # 親プロセスはソケットをクローズ 43: close(CLIENT); $SIG{CHLD} = sub { wait }; #←←←ここに追加しました。 44: next; 以上、ありがとうございました。 今後ともよろしくお願いいたします。 上田 |
|
Cシェルの中で、sqlplusに接続してsqlを実行して結果を表示したいのですが、どのようにすればよいですか? 皆さん、教えてください。よろしくお願いします。 |
|
始めまして。 sedコマンドで、改行を含む文字列へ変換したいのですが、どのようにすればいいですか? abcde ------ fgh ijk たとえば、abcdeをfgh(改行)ijkとしたい場合、 sed "s/abcde/fghijk/g" file1 > file2 これでは改行無しで置換されてしまいます。 \n,\r\nなど埋め込んでみましたがうまくいきませんでした。 皆さん教えてください、宜しくお願いします。 |
|
Cシェルの中で、コマンドオプションの有無を判断するのには、どのようにIF文を書けば良いですか? 教えてください、よろしくお願いします。 |
|
>>4034 noza ヒアドキュメントを使うとできた筈ですが sqlplusの引数でユーザ名とパスワードが必要になるため お勧めしません。 >>4035 アトヌル sedでは確か無理だったと思います。 (嘘ついてたらごめんなさい。) >>4036 y コマンドオプションって何ですか?引数の事? |