|
>>4398 68user 1093.txtのソースは何故か警告が出ることも無く、コンパイル出来ました。 定義を二回していますので、仰るとおり何か言われてもおかしくないと思われますが。 ちなみに下記はエラーが出ません。 #include <stdio.h> int a; int a = 10; int main(void) { printf("a = %d\n", a); return 0; } ただし下記はエラーが出ます。 #include <stdio.h> int main(void) { int a; int a = 10; printf("a = %d\n", a); return 0; } 上記の結果をみると、グローバルでは複数定義してもかまわないのかもしれません。 それと、本来は定義 codelist_t class_list[] = {...} をmain.cに書いて、 宣言 extern codelist_t class_list[]; を sub.c に書くのかも知れません。 ただ、そういたしますと、どうヘッダで一元管理すれば良いか思いつきませんでした。 修正した所 ・ soa_record_print の引数 ・ codelist_t を auto から static に変更しました。 static はどうしても値を保持し続けておかないといけない物以外には 使う必要がないと思ってました。 auto なら不要になったら解放されますし。 メモリ領域は、よく分かってないので勉強になります。 ・ main 部分を preprocessing(); … 前処理 make_query(); … 照会用の DNS パケットを作成 send_query(); … DNS サーバに問い合わせを送信 receive_response(); … DNS サーバからの応答を受信 parse_response(); … DNS サーバからの応答を解析 に集約しました。 分からなかった所 ・strcasecmp は、「大文字/小文字を無視して二つの文字列を比較する」そうですが、 私のソースでどうすれば有効活用出来るか分かりませんでしたので、使用しておりません。 それと Makefile のサンプルありがとうございません。 その記述で動作することを確認しました。 その書き方ですと、ソースファイルが増えても OBJS に追加するだけで良いので、 大変助かりました。 現状のソース(linux版(1ソース版)) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1101.txt 上記のソースは今までと少し動作が違いまして、 【実行ファイル DNSサーバ 名前解決ホスト名】 と入力しますと、回答が得られるまで名前解決を行います。 現状の問題点 ・ リソースデータがドメイン名だけで、IPアドレスの情報が無いと名前解決が出来ない。 例) 198.41.0.4 www.livedoor.co.jp zns05.data-hotel.net と zns06.data-hotel.net しか返してくれません。 get_domain(); で、ドメイン名のラベルの部分を出力し、 print_domain(); で【.】を出力し、 ドメイン名の終端に達するまで両関数間を行ったりきたりしているのが原因です。 DNS サーバが IP アドレスでしたら、 a_record_print(); で姑息に sprintf で抜き出せたのですが。 そう考えますと、以前仰られていた > あと、hoge_print 関数も、わたしはこういう書き方をせずに > char *a_record_print(int_buf, search); > と文字列を返すほうですが、メモリ確保を行うのは呼び出し側か、関数の > 中で static に持つか、など悩ましいです。すっぱり割り切って関数内で > printf するのも、保守性はともかく可読性は悪くない、と思いました。 の部分が非常に重要かなと思いました。 文字列を上位に返すようにしていれば、流用もしやすかったのかなと。 そういう部分も保守性なのかなと思いました。 |
|
to 68userさん 急な話ですが、昨日の夜に就職が決まりまして、 来週月曜日からの勤務となりました。 そのため研修は明日で修了となりました。 そして課題の提出も明日となりました。 そのため、ご指摘いただいた箇所すべてを訂正して、 提出することは無理かなと言う感じです。 いろいろ教えていただきましたが、 それらをすべて反映できないことはお許しください。 修正したところ ・ hoge_print 関数を文字列を返す形に変更(それに伴い関数名も変更) resolver-1.pl 互換を目指した Linux 版 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1107.txt 学校の課題用に上記ソースを修正した Linux 版 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1108.txt 表示イメージは下記のとおりです。 実行ファイル名 198.41.0.4 www.livedoor.com DNSサーバ【198.41.0.4】に【www.livedoor.com】の名前解決を依頼 DNSサーバ【198.41.0.4】からの受信データバイト数: 506バイト DNSサーバ【192.12.94.30】に【www.livedoor.com】の名前解決を依頼 DNSサーバ【192.12.94.30】からの受信データバイト数: 120バイト DNSサーバ【203.174.65.123】に【www.livedoor.com】の名前解決を依頼 DNSサーバ【203.174.65.123】からの受信データバイト数: 136バイト 回答(1): リソースデータ: 203.131.197.197 nslookup のような感じの表示に近づけつつ、 実際に再帰的に DNS サーバに問い合わせを行っている事を視覚的にアピールしつつ、 提出期限が迫っているので、現状のソースをなるべく触らない方向でまとめてみました。 なお学校の課題用は最近取り掛かったこともあり、 完成度は前者に比べかなり劣ってます (実用に耐えれないという意味ではどちらも同じですが)。 |
|
>>4400 DNS勉強中 おめでとうございます。向上心のある方のように見受けられますので、どんな 業界でも能力を発揮できることと思います。ご活躍を期待しております。 わたしの方は指摘点をまとめているところですが、あまり時間が取れず 進んでいません。課題提出後なので意味はありませんが、中途半端なのは 気持ちが悪いので、infoseek の方はしばらくそのままにしていただけると ありがたく思います。 |
|
>>4401 68user ありがとうございます。 それと本日は作成したプログラムのドキュメント作成などで時間が取れなかったので 結局 >>4400 のソースを二つとも提出しました。 後、指摘点をまとめていただいていると言うことでどうもありがとうございます。 私のほうでも修正し次第アップロードします。 それとアップロード先の infoseek ですが、 私の管理下に無いアップローダにアップロードしております。 そのため何時消えてしまうか分からないのが現状です。 もっとも一年近く前のアップロード品も残っているようなので、 大丈夫だとは思います。 消えたら別の場所にアップロードします。 |
|
今日は仕事が休みで時間があったのでソースコードを修正しました。 resolver-1.pl 互換を目指した Linux 版 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1142.zip 修正点 ・自作関数が文字列を返すことに伴い、グローバル変数が増えてしまったので、 ローカル static 変数に変更しました。 ・原則 1 つの関数につき、 1 つのソースコードにしました。 そのためソースファイル数が 30 あまりになりました。 ただし、グローバル変数の宣言の定義がよく分からなかったので、 class_list と type_list 関係は type_and_class.c でひとまとめにしました。 ・関数の流れ図?を簡易的に表した html を作成しました。 |
|
resolver-1.pl 互換を目指した Linux 版 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1160.zip 微修正を加えただけです。 ただこれで、指摘していただきました問題点についてはすべて対応したつもりです。 それと、昨日引越しを伴う出向を言い渡されました。 当分の間ネットにつなげる環境も開発環境も無いと思われます。 そのため何かご指摘いただいても、返答を差し上げることは出来ないと思います。 よろしくお願いします。 |
|
こんにちは。 だいぶ前に書き込みをしたものですが 今回自力で何とかしてみようとふんばってみたものの、 2週間近く解決できません 助言をお願いいたしたく書き込みをしました。 SSLを↓のHPを参考に設定してみました http://www.rinzo2.jp/~rinzo/apache_ssl/apache_and_ssl_00.htm 何とか起動はしたんですが、 当初の目的では、 課題として作成したmysqlとJSP(Tomcat4.1)を使用し 作成したjspファイルを SSLの状態で表示させることでした。 例) http://localhost:8080/examples/index.jsp を https://localhost:8080/examples/index.jsp の形に 何とかできないかと、Apache2とTomcatを連携させてみたものの できませんでした。 もともとできないのかもわからず、 書き込んでみました。 あたりまえのことができてない といった返答でもいんで なるべくわかりやすく 助言のほどお願いします。 設定等で疑問のほどありましたら わかる範囲で答えますんでよろしくお願いします |
|
はじめまして、ファンと申します。上海から来ました。いまrsaを勉強していますが、 ちょっと困った事があったので、教えてもらいたいです。 pkcs#1中で、rsa暗号化処理前に、暗号プロックフォーマット処理が必要になりますが、 もし、rsa_no_paddingモードを使用なら、暗号プロックフォーマットの処理必要が なくなりますか。宜しくお願いいたします。 |
|
はじめまして SSL/TLS でアクセスしてみよう (2)を参考にHTTPSでの接続を行っていたのですが、 2回目のSSL_writeに対して、SSL_readの戻り値(文字列長)が0になってしまいます。 https-client-2.c の167〜187行をfor文に入れて2回呼んだ場合も同じように 2回目は文字列長が0で返ってきました。 リクエスト送信のたびにSSL_CTX_freeまで行って、次回は再接続から行わないとだめなのでしょうか? |