68user's page 掲示板

Prev< No. 4067〜4085> Next  [最新発言に戻る] [過去ログ一覧]
No. 4067 # 68user 2004/12/20 (月) 22:35:27
>>4066 sqh00
カレントディレクトリにあるバイナリは
    % ./xlib-1
と実行してください (% はプロンプト)。

No. 4068 # sqh00 2004/12/22 (水) 14:30:39
実行ができました。ありがとうございます。

No. 4069 # 68user 2004/12/23 (木) 06:52:27
「ネットワークプログラミングの基礎知識」に
      HTTP クライアントを作ってみよう(6) - Digest 認証編 -
            http://X68000.q-e-d.net/~68user/net/http-auth-2.html
を追加しました。

ところで cnonce は選択平文攻撃への耐性を高める効果があるとかなんとか
知ったかぶって書いてしまいましたが、cnonce がないと具体的にどういう
攻撃ができるんでしょうかね。

差分解読法かなぁと思ったんですが、MD5 に差分解読法って有効なんでしょうか。
あるいは salt 的な意味合いがあるんでしょうか?

いまいちイメージがわかない。

No. 4070 # たなか 2004/12/28 (火) 00:04:48
「ネットワークプログラミングの基礎知識」で勉強させていただいています。
kqueue の説明をみて早速いぢってみました。
サンプルでは kqueue() の戻り値に対して、終了時の処理が何もされていません。
man で調べたたところ、kqueue() の戻り値はファイルデスクリプタと記されています。
init kq = kqueue();
close(kq);
としても、close の戻り値が -1 で閉じることができませんでした。
なので、
init kq = kqueue();
close(kq);
init kq = kqueue();
close(kq);
とすると、kq は 1 回目が 9、2 回目が 10 といったようにインクリメントされてしまいました。
fcntl で kq の情報を取得しようとしてもすべての戻り値は -1 でした。
なんとなく、ファイルデスクリプタとして扱えていないような気がします。
当方は Mac OS X 10.3.7(BSD 4.4 ベースの Darwin) です。
本当の BSD なら、close できるものなのでしょうか。
もし、kqueue の説明を追加する予定があるようでしたら、close または、それに代わる処理も追加してもらえると大変助かります。

No. 4071 # 68user 2004/12/30 (木) 03:31:09
>>4070 たなか
> 本当の BSD なら、close できるものなのでしょうか。
FreeBSD 5.2-RELEASE では close(2) できました。ちなみに
カーネルには queue 用を close するコードも含まれています。

詳しくないので事情はわかりませんが、Mac OS X (Darwin?) の
問題ではないかと思います。

> close または、それに代わる処理も追加してもらえると大変助かります。
echo サーバばかり作っていると終了処理がおろそかになっていけませんね。
「quit」を送ると終了するようにするなど、何かしら考えたいと思います。

No. 4072 # たなか 2004/12/30 (木) 09:44:40
>>4071 68user

どうもありがとうございます。

>> 本当の BSD なら、close できるものなのでしょうか。
> FreeBSD 5.2-RELEASE では close(2) できました。ちなみに
> カーネルには queue 用を close するコードも含まれています。

手元に BSD が動作するマシンがないので、実験できませんでした。
Darwin の問題ですね。Apple に連絡してみます。
下のコードを実行すると次のような結果となります。

kqueue : 3
close(3) : -1
close: Bad file descriptor
kqueue : 4
close(4) : -1
close: Bad file descriptor

------------------------------------------------
#include <stdio.h>

#include <sys/types.h>
#include <sys/event.h>
#include <sys/time.h>

#include <unistd.h>

int
main() {

        int kq;
        int ret;

        kq = kqueue();
        printf("kqueue : %d?n", kq);
        if (kq == -1) {
                perror("kqueue");
        } else {
                ret = close(kq);
                printf("close(%d) : %d?n", kq, ret);
                if (ret == -1) {
                        perror("close");
                }
        }

        kq = kqueue();
        printf("kqueue : %d?n", kq);
        if (kq == -1) {
                perror("kqueue");
        } else {
                ret = close(kq);
                printf("close(%d) : %d?n", kq, ret);
                if (ret == -1) {
                        perror("close");
                }
        }

        return 0;
}
------------------------------------------------

No. 4073 # さいさん 2004/12/30 (木) 18:01:49
サーバがHP-UX11.00で、Bシェルでシェルを書いています。
シェル中で、「ls *.txt」を実行しています。

"*.txt"が存在しない場合、エラーが出力されるので、
「ls *t.xt > /dev/null 2>&1」で、エラーを出さないよう
にしました。

そこで、lsの処理に"grep -v"を追加し、"*.txt"がない
状態にすると「*.txt がみつかりません。」がでます。

ls *t.xt | grep -v "kekka" > /dev/null 2>&1

エラーがでないようにするにはどうしたらよいのですか。

No. 4074 # zsh 2004/12/31 (金) 18:57:02
ここで質問する人のブラウザには、
「UNIX・ネットワークに関する一般的な質問は受け付けていません。」
という一文は映らないのだろうか?

>>4073 さいさん
最終的にどうしたいのか良く判らないが、取りあえずはこれで。
ls *txt 2>/dev/null | grep -v "kekka"

No. 4075 # さいさん 2005/01/01 (土) 16:34:07
>>4074 zsh

ありがとうございます。

実際にしたいことは、
シェルを実行した際、「*.txt がみつかりません。」を
標準出力したくないのと、戻り値の判定をしたいのです。

ls *.ldif | grep -v "kekka" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
        echo "Text File Nothing Today"
        exit 0
fi

No. 4076 # さいさん 2005/01/01 (土) 16:36:28
>>4075 さいさん

すみません。
間違いがありました。


実際にしたいことは、
シェルを実行した際、「*.txt がみつかりません。」を
標準出力したくないのと、戻り値の判定をしたいのです。

ls *.txt | grep -v "kekka" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
                echo "Text File Nothing Today"
                exit 0
fi

No. 4077 # zsh 2005/01/03 (月) 00:17:18
>>4076 さいさん
結果的にファイルの有無を確認したいんですよね?
だとすれば、戻り値のチェックよりも下記のようにしては如何でしょうか?

set -- `ls *txt 2>/dev/null | grep -v "kekka"`
if [ $# -eq 0 ] ; then
        echo "no file."
fi

※:シェルに引数を与えている場合等は考慮が必要です。

No. 4078 # さいさん 2005/01/04 (火) 15:57:43
>>4077 zsh

ありがとうございます。

set -- `ls *txt 2>/dev/null | grep -v "kekka"`

「set -- `ls 」
の使い方教えてください。
どのような意味なのですか

No. 4079 # zsh 2005/01/05 (水) 10:38:55
set --
で引数(定位置パラメタだっけ?)を書き換えることが出来ます。

今回の場合は、
ls *txt 2>/dev/null | grep -v "kekka"
の出力で置き換える事になりますので、
$#で上記コマンドの結果出力されたファイル数を参照できます。

No. 4080 # さいさん 2005/01/09 (日) 14:24:11
>>4079 zsh

お礼遅くなって申し訳ありません。
ありがとうございます。

>set --
>で引数(定位置パラメタだっけ?)を書き換えることが出来ます。

参考本とかで調べてます。

No. 4081 # しょしん [E-mail] 2005/01/21 (金) 14:40:41
ご存知の方おられましたら、ご教授ください。
環境OSは、Win2000です。
OpenSSLライブラリを利用したDER形式の鍵ファイルの読み書き方法を実装方法が
わかりません。i2d_RSAPrivateKey、d2i_RSAPrivateKeyを利用し、ファイル出力
をしてみましたが、_fp付きはエラーです。(_bio付きはOK)
また、ここで出力された鍵ファイルは、OpenSSLでは、暗号/復号可能です。
しかし、他社製品(RSA BSAFE)では、鍵ファイル読み込みエラーとなります。
rsaコマンド等で変換作業を行うと読み込み可能となり、暗号・復号ができます。
なんだか理解できません。
以上、宜しくお願い致します。

No. 4082 # 68user 2005/01/21 (金) 15:17:49
>>4081 しょしん
暗号に関する一般的な質問も受け付けていません。

    ■暗号技術【ROUND2】■
    http://pc5.2ch.net/test/read.cgi/tech/1088530204/l50

などで質問してください。

- OpenSSL のバージョンくらい書きましょう。
- 何を知りたいのか不明。_bio 付きで出力して、rsa コマンド等で
    変換して、RSA BSAFE で読み込めているんなら別にいいのでは。
    例えば「rsa コマンドに頼りたくない」「なぜ rsa コマンドを
    使わなければいけないのかわからないので、解説してほしい」
    などと書くべき。
- 単に _fp 付きはエラーと言われても、「コーディングミスでは?」
    くらいしか返す言葉はありません。つーか、ソースくらい提示しましょう。

No. 4083 # >>4082 2005/01/21 (金) 16:20:40
内容不備&質問場所違いでした。
大変失礼しました。
撤収します。

No. 4084 # yoshiki 2005/01/25 (火) 09:47:00
CGIでmkdirとかmountとかを呼び出す方法をご教授願います。
サーバー上でプログラムを実行させたいのですが、動作しませんでした。

C言語にてCGIプログラムを作っています。
execveを使用してもうまく動作しませんでした。


------- test.c (test.cgi) -----------------------
#include <stdio.h>

int main()
{
    char *argv[3];
    argv[0]="/bin/mkdir";
    argv[1]="test";
    argv[2]=NULL;

    int pid=fork();
    if(pid==0){
        execve(argv[0],argv,NULL);
        perror("execve");
        exit(0);
    }
    return 0;
}

No. 4085 # yoshiki 2005/01/25 (火) 09:48:43
↓↓
#include <unistd.h>

が抜けていました。
よろしくお願いします。

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