68user's page 掲示板

Prev< No. 3934〜3952> Next  [最新発言に戻る] [過去ログ一覧]
No. 3934 # 68user 2004/08/19 (木) 19:43:54
>>3933 たろー
> SSL_connect(ssl)関数のタイムアウトの設定の仕方がわかりません。
関数名しか見てませんが SSL_set_timeout や SSL_CTX_set_timeout じゃ
ないですかねぇ。ぜひ結果を教えてください。

No. 3935 # TSURU 2004/08/20 (金) 20:55:22
こんばんは。TSURUです。
久しぶりです。
また、皆さんのお力を貸して欲しいと思います。

sendmail を久しぶりにコンパイルしようとしたのですが、
以下のようなメッセージが大量に出力されてしまい、コンパイル
できません。

unknown flag -lang-c
unknown flag -Asystem(unix)
unknown flag -Asystem(svr4)
unknown flag -Acpu(sparc)
unknown flag -Amachine(sparc)

環境は、以下のとおりです。

OS : Soraris 2.5.1
sendmail : sendmail-8.12.11

以前は問題なくコンパイルできていたのですが、久しぶりに実行したら、いきなり
コンパイルできなくなってしまいました。環境は、以前と特に変えていません。
コンパイラは gcc ですが、かなり古いです。

% l /usr/local/bin/gcc
-rwxr-xr-x 1 root other 118928 9月 1日 1996年 /usr/local/bin/gcc*

コンパイラが古いとコンパイルできなくなるということはあるのでしょうか?
ちなみに、sendmail だけでなく、UW-IMAP など他の製品をコンパイルしようとした
時にも、同様な現象となります。
gcc が正しくインストールされていないのが原因なのでしょうか?(だとしても、
以前は正常にコンパイルできていました。)

どなたか、解決方法を教えていただきたいと思います。
よろしくお願いします。

No. 3936 # 一人 2004/08/23 (月) 21:39:37
以下のカンマで区切られたデータをフィールド1をキーにして、フィールド3を
1行に編集しようとしたのですが、処理が終了してくれません。
無限ループの状態になってしまいます。

上手くファイルの終了を判断していません。
ファイルの終わり(EOF)を判断するにはどうしたらできますか。


--データ--------------
A001,商品番号,0001
A001,商品番号,0002
A001,商品番号,0003
A002,商品番号,0001
    :
    :
Annn,商品番号,0001
Annn,商品番号.0002

--結果--------------------
A001,0001,0002,0003
A002,0001
    :
    :
Annn,0001,0002

----------------------------------
#!/bin/sh
#

SORT_FILE="/tmp/sort_csv.log"
OUT_FILE="/tmp/kekka.log"

rm ${OUT_FILE}* > /dev/null 2>&1

echo "*** start ***"

awk -v OUT=${OUT_FILE} -F"," '
BEGIN {
                count = 0+0 ;
                output=sprintf("%s",OUT) ;
        }
function edit_proc() {
        cnt = 0+1 ;
        dumy = $1 ;
        printf("%s",$1) >> output ;

        while( NF>0 ) {
                if (dumy != $1) {
                        printf("\n") >> output ;
                        dumy = $1 ;
                        printf("%s",$1) >> output ;
                        cnt++ ;
                }
                printf(",%s",$3) >> output ;
                getline ;
        }
        printf("\n") >> output ;
        return cnt ;
}
{
        count=edit_proc() ;
}
END {
        close(output) ;
        printf("syori count [ %d ] ken\n",count) ;
}' ${SORT_FILE}

echo "*** end ***"

No. 3937 # ネットワーク1年生_forMERCYさま 2004/08/24 (火) 00:31:19
>>3931 MERCY
MERCYさま。ご回答有り難うございます。お礼が遅くなってごめんなさい。
これからもその他、下らないことで質問すると思われますので、
是非とも宜しくお願い致します。
有り難うございました。

No. 3938 # ネットワーク1年生_for68userさま 2004/08/24 (火) 00:49:40
>>3926 68user
管理者さま。大変お世話になっております。
くだらない質問にも、いつも一番にご回答下さり大変嬉しいです。
本当に有り難うございます。

>> CSMA/CDの他、CSMA/CA、ホットポテトルーティング、近隣探索機能(v6)
>CSMA/CD・CSMA/CA は近いという概念とはまったく関係なく、LAN 内での
>コリジョンを防止するための仕組みだと思っています。

はい。まさにその通りでした。。
課題を出した上司はNWがどの様に通信しているのかを勉強させたく、
CSMA/CD・CSMA/CAの課題を持ち出したものでした。
コリジョン防止がNW内通信の速さだと思っていた先輩が誤って、
「NW内の近さ」と関連付けアドバイスしてくれたものですから混乱してました。

「UNIXと言うものが、サーバ向が主体」とどこかで思っているので、
こちらでNWの質問までしてしまって申し訳けございませんでした。
とにかく本当に有り難うございました!

No. 3939 # カトウ [E-mail] 2004/08/24 (火) 10:04:33
はじめまして。
よろしくお願いいたします。

現在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はログファイルの読み取り行)
------------------------------------------
というようなことが、やりたいのですが、うまくいきません。


ご教授のほどお願いいたします。

No. 3940 # zsh 2004/08/24 (火) 15:00:13
>>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.*'
では駄目ですか?

No. 3941 # 一人 2004/08/25 (水) 09:51:00
>>3940 zsh

ありがとうございます。
上手くいきました。

こんな簡単な方法でできるのですね。
考えすぎですね。

No. 3942 # 68user 2004/08/25 (水) 10:39:34
>>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 にワイルドカードなどが入っていると
シェルが展開してしまうので、ログ内容をシェル変数に格納するやり方はお勧め
しません。

No. 3943 # 初心者? 2004/08/26 (木) 10:22:02
始めまして、こんにちは。
UNIX講習を受けてから5年以上も経つのに、ほとんど初心者です。

基本的な質問ですみません。
tar xvf *.tar
で展開して、ファイル情報を表示させたとき、
その内容をファイルに落とすにはどうしたらいいでしょうか?
この展開ですべてのファイルがきちんと展開されたか確認したいのです。
(実は1つだけ展開されていない・・・)
本当に、基本的な質問ですみません。

よろしくお願いいたします。

No. 3944 # ポチ公 [E-mail] 2004/08/26 (木) 11:45:54
初めまして。ポチ公と申します。

ネットワークの勉強中ですがちょっと質問があります。

今、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です。

何故、先頭の数文字が省略されているのが
疑問でしたので、投稿してみました。

もし何か解りましたら教えて頂けたら幸いです。
宜しくお願いします。

No. 3945 # 68user 2004/09/02 (木) 21:46:43
>>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 の使用を
検討してみてください。

No. 3946 # 68user 2004/09/02 (木) 22:01:41
「ネットワークプログラミングの基礎知識」の「リンク集・参考書籍」に
      OpenSSL - 暗号・PKI・SSL/TLS ライブラリの詳細
を追加しました。
      http://X68000.q-e-d.net/~68user/net/link-book.html#4274065731

去年頃から、OpenSSL に一番詳しい日本語の解説を書くことを
目指してがんばってきましたが、夢破れました。この本がもっと
前に出ていれば、あんなことやこんなことで悩む必要はなかった
のに、と理不尽な怒りすら覚えます。

今後は OpenSSL に一番詳しい日本語のサイトを目指すことにします。

No. 3947 # だんだん 2004/09/05 (日) 20:21:01
お初です。
最近このHPにも大変お世話になってます。

組み込みLinuxでクレジットカードリーダーを試作することになり、
PPPでインターネット経由でサーバと通信するって感じです。

手順その他は私に任せられてたので、独自のプロトコルを考えるのが
面倒だし、ゆくゆくはセキュリティーも対策しないといけないので
サーバ側をApache+modsslを使うことにしたのですが、このサイトの情報が
非常に参考になりました。クライアントソフトを解説してあるサイトは
非常に少ないので、大変助かります。

SSLサーバ認証なしで、実験ソフトが動作するところまでは行きました!!

でも私のカードを使ってインターネット経由ってのは、まだ怖いので、
クライアント認証に挑戦したいと思います。

そんな記事を書かれるご予定はありませんか?(^^;
(クライアント側でクライアントの証明書をリストに追加するだけの
ような気がしてますが・・・)

これからもがんばってください。

No. 3948 # 68user 2004/09/05 (日) 21:33:31
>>3947 だんだん
書く気はありますが、もし書く場合は「クライアント認証とは何か」
から始めるつもりなので、いつ書きあがるかは何ともいえません。

要は SSL_CTX_use_certificate_chain_file() などを使ってクライ
アント証明書を使えばいいわけですが、詳しいやり方は
>>3946 68user
の本に書いてあります。

また、概念からして怪しい場合は、
    - 自前で CA (認証局) をたてる
    - クライアントが CSR (証明書発行要求) を作成する
    - それを受けて CA が証明書を発行する
    - IE などのブラウザに証明書を組み込む
としてまず理解を深めることをお勧めします (ここらへんの手順は
検索すればたくさん見つかります)。

No. 3949 # T.Kobayashi [E-mail] 2004/09/06 (月) 13:15:25
はじめまして。

UNIX の部屋 -> コマンド -> cpp にて、
型の別名の定義方法で
typedef MYCHAR_P char *;
が正しいと紹介されていますが、これは
typedef char *MYCHAR_P;
の間違いではないでしょうか?

No. 3950 # 68user 2004/09/07 (火) 09:58:18
>>3949 T.Kobayashi
> typedef char *MYCHAR_P;
> の間違いではないでしょうか?
ごもっともであります。修正しました。
      http://X68000.q-e-d.net/~68user/unix/pickup?cpp

ご指摘ありがとうございました。

No. 3951 # ほんたか 2004/09/07 (火) 11:29:11
はじめまして。

いつもコマンドの参考にさせて貰っております。
説明している数や例がわかりやすくて重宝してます。

大した事ではありませんが、気になった部分を2点ほど
■いずれも【TOP >> UNIX の部屋 >> ジャンル別コマンド一覧 >> vi】にて
1.「h 1文字左に移動」がリストからはみ出ています。
2.「編集モード中に"ESC"」=「編集モードに移行」
    であれば、リストに入れてはいかがでしょうか。
リストにあれば、閲覧2度目以降の人はそれだけ参考にすればよいので見やすいかと。
(個人的にですが)

No. 3952 # shima [E-mail] 2004/09/07 (火) 17:04:46
はじめまして。

ソケット通信について教えてください。

Severプログラムでクライアントから
ConnectしてきたクライアントがClose処理を行ったかわかりますでしょうか?
Connect時は、接続元のIPアドレス・ポートがわかると思いますが
クライアントがCloseを行ったかどうかを知りたいのですが?

よろしく御願いいたします。

    

Prev< No. 3934〜3952> Next  [最新発言に戻る] [過去ログ一覧]