68user's page 掲示板

Prev< No. 3961〜4026> Next  [最新発言に戻る] [過去ログ一覧]
No. 3961 # バンガード [URL] [E-mail] 2004/09/16 (木) 16:51:28
>>3960 68user
>eval "echo $REP" としてみてください。
うまく行きました。
ありがとうございました。

No. 3962 # タコ見習 2004/09/17 (金) 18:14:56
はじめまして。最近Unix系OSをいじりはじめたものです。

このサイトのおかげですごい助かってるぜーと隣の人間に話していたら、
そういうのは掲示板に書き込んだほうが管理者の人が元気になるよー、と
教えてもらったので、感謝報告書き込みさせてください。

これからもリファレンスのお世話になりそうなのでまた利用させて下さい。
お邪魔しましたm(__)m

No. 3963 # 則巻せんべい 2004/09/18 (土) 10:21:30
>>3956 68user
ご指摘、ありがとうございます。
教授の内容を試行させて頂きます。

No. 3964 # 侍刀 [URL] [E-mail] 2004/09/20 (月) 03:49:08
初めまして。
最近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に指定したらよいか、何方かご教授をお願いします。

No. 3965 # 68user 2004/09/20 (月) 15:48:43
>>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 のソースはそれほど長くないので)。

No. 3966 # 侍刀 [URL] [E-mail] 2004/09/20 (月) 17:40:20
>>3965 68user
あ、あらららら・・・・・・・そうだったんですか・・・・・
Linux互換じゃないとは知りませんでした・・・・・・

では、RFC1321のソースでも探して見ます・・・・

No. 3967 # でぶ 2004/09/23 (木) 12:27:57
HP-UX11.00なのですが、telnetやrlogin、remshなどで、リモートログイン
してくるあるユーザ(一般ユーザ)をログインできないようアクセスの拒否
をしたいのですが、実現可能なのでしょうか。

状況としては、UNIX同士、PCからUNIXとあり、同一LAN上にあります。

ftpのアクセス拒否と同じように定義ファイルがあり、ユーザ名を記述
すればアクセス拒否ができるのかと調べてはみたのですが、該当する
ようなファイルはなく、実際にはどうなのでしょうか。

No. 3968 # 68user 2004/09/24 (金) 00:27:22
>>3967 でぶ
> telnetやrlogin、remshなどで、リモートログインしてくるある
> ユーザ(一般ユーザ)をログインできないようアクセスの拒否
> をしたい
以下のような案でどうでしょうか。

- telnetd や remshd を止める
    (全ユーザが利用不可)
- そのユーザのパスワードやログインシェルを変更する
    (su にも有効。実装によるかもしれないが ftp が使えなくなるかも)
- .login や .profile に logout と書いておく
    (タイミングよく Ctrl-c を押せばよいので気休め程度。su には効かない)

No. 3969 # 田 [E-mail] 2004/09/28 (火) 13:22:32
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は%の形で定義して見た、それでもページを変わると、タイトルの表示位置をずれてしまう。
誰か教えていただけないでしょうか?

No. 3970 # 68user 2004/09/28 (火) 14:31:00
>>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>

No. 3971 # 吉 2004/09/28 (火) 15:52:46
こんにちは。
今あるプログラムの不具合調査をしておりまして、
RAND_add() がキーとなった不具合が発生しております。

とても情けない質問になるのですが、
RAND_add とは何を行っている関数なのでしょうか。

No. 3972 # 田 [E-mail] 2004/09/28 (火) 17:45:52
68USER様:貴重な提案をいただきました、ありがとうございます。
試して見ましたが、問題解決まだできません

No. 3973 # 田 [E-mail] 2004/09/28 (火) 17:50:07
<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>

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 3974 # 田 [E-mail] 2004/09/28 (火) 17:59:17
ソース表示するとき、文字化けになった、設定の仕方がわからなくて、そのまま下に貼ります

No. 3975 # 68user 2004/09/28 (火) 19:02:28
>>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() の
違いはありません。

No. 3976 # 田 [E-mail] 2004/09/29 (水) 09:52:52
68user様:貴重な助言、ありがとうございます。
いま私は使っているブラウザ名とバージョンは
ブラウザ:Microsoft Internet Explorer
バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0)
です、
3973 で提示した
HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる
かどうかを確認しました。文字化け以外、異常がありませんでした

No. 3977 # 68user 2004/09/29 (水) 18:55:21
>>3976 田
> ブラウザ:Microsoft Internet Explorer
> バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0)
これは IE6 のことを指します。ブラウザのメニューバーの
    ヘルプ->バージョン情報
で確認するのが確実です。

> 3973 で提示した
> HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる
> かどうかを確認しました。文字化け以外、異常がありませんでした
そもそも >>3973 で提示した HTML は、実際に表示が崩れている HTML の
ソースを表示した結果ですか?

表示が崩れていない HTML のソースであれば、当然ながら HTML を見ても原因は
わかりません。

表示が崩れている HTML のソースであれば、Javascript が悪さをしているのかも
しれませんが、現物がないことには何ともいえません。少しずつ出力するタグを
削っていき、原因がどこにあるのか調べましょう。

No. 3978 # もの知らず? 2004/10/01 (金) 11:05:41
AIXでのcsh実行でよく分からない点があり、初めて投稿させて頂きました。

AIX5.2で以下のcshを実行するとエラーは起きません。

        #!/bin/csh
        if ( '07' >= '01' ) then
        endif
        exit

しかし、if文内の'07'を'08'or'09'にすると
    「if:数値の形式が正しくありません.」
とエラーになります。
('10'や'11'などでは問題ありません。)

HP-UXではエラーにならないのですが、理由がお分かりになる方が
いらっしゃったら御教えください。

No. 3979 # 68user 2004/10/01 (金) 12:23:06
>>3978 もの知らず?
おそらく、>= は両辺を数値として比較するため、0 から始まる文字列は
8進数と解釈されてしまうのでしょう。

もし /bin/test が存在するなら
    test '07' -ge '01'
    if ( $status == 0 ) then
        処理
    endif
とか
    test '07' -ge '01' && 処理
などとする手があります。

No. 3980 # もの知らず? 2004/10/01 (金) 12:30:24
>>3979 68user
68userさん。早速の御解答有難う御座いました。
8進数として解釈され、8進数に09などという数値が
存在しないのでエラーとなったということですね。
大変勉強になりました。

No. 3981 # とおる。 [URL] 2004/10/05 (火) 15:13:50
はじめまして。
ネットワークプログラミングのことを検索すると、いつもこちらのページがヒットするので、
いろいろと勉強させていただいてます。

さて、↓の 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
なので、こちらの方も本文からのリンクがあるとわかりやすいかなと思います。

No. 3982 # 68user 2004/10/05 (火) 19:16:47
>>3981 とおる。
リンクの張り忘れですので、さっそくリンクを追加いたしました。
ご指摘ありがとうございました。

No. 3983 # 田 [E-mail] 2004/10/06 (水) 16:57:42
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>


問題を見つからないです。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 3984 # akuro 2004/10/07 (木) 18:57:29
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でも同様でした。)


色々とこの現象について調べてはいるのですが、原因不明です。
どなたかおわかりの方がいらっしゃいましたらよろしくお願いします。

それと、情報が足りない点がありましたらご指摘お願いいたします。

No. 3985 # 68user 2004/10/08 (金) 00:54:06
>>3983 田
こちらの環境ではいずれも正常に表示されたので、解決方法は
わかりませんでした。少しずつ出力を削り、どこがまずいのか
調べましょう。

もし他の掲示板で質問する場合は、これまでに述べた環境に
加え、テーブルのどの部分がどういうふうに崩れるのかを
書くとよいでしょう。

>>3984 akuro
まずは問題が発生している箇所を切り分けましょう。

perl 実行後に od -cx などでファイルの内容を確認しましょう。
\r になっているなら、Windows 側かファイル転送時の問題です。
\r になっていないなら、Linux 側の問題です。

No. 3986 # akuro 2004/10/08 (金) 14:36:02
>>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の設定かもしれないです。

まだ、原因はわかりませんが引き続き調査してみます。

No. 3987 # akuro 2004/10/12 (火) 19:08:09
>>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を使用してバイナリ転送したところ、問題なく転送できました。

No. 3988 # 68user 2004/10/12 (火) 19:37:59
>>3987 akuro
WinSCP は知りませんが、
      http://itc.sfc.keio.ac.jp/ml/
の「2-6. 転送モードで[テキスト(T)] を選択します」という設定画面で
モード切替を行なえるように見えます。

> sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。
わたしの知る限り、UNIX 的な ssh・scp は改行コード置換は行ないません。
WinSCP 独自のおせっかいな機能でしょう。

No. 3989 # akuro 2004/10/12 (火) 19:55:35
>>>3987

akuroと申します。なんども申し訳ありません。

先ほどは、改行コードを¥n→¥r変換しましたが。
¥nのままでもファイルに異常が生じるかテストしてみました所、
¥nの場合は問題なく転送できました。

No. 3990 # akuro 2004/10/12 (火) 20:07:26
>>3988 68user
返信ありがとうございます。akuroです。

問題解決いたしました。

ご指摘いただいたWinSCPの転送をバイナリにしたところ
問題なく転送できました。

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

No. 3991 # sugimoto 2004/10/14 (木) 18:28:40
sugimotoと申します。
OpenSSLとRSA暗号を調べていてここに辿りつきました。
あるユーザ様とCGIを介してデータ通信を行おうとしているのですが、ユーザ
様の指定で、データはRFC2313に準拠したRSA暗号化して送るという事になって
ます。
暗号化/復号については68user様のネットワークプログラミングの基礎を参考
に作れそうなのですが、唯一解決できない問題がありまして、ここに質問して
おります。
【問題点】
    ユーザ様から提示された仕様には暗号化キー/復号キーがそれぞれ1つしか
無い。
    RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な
のですが、ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。
    RSAにおいて、このような事は可能なのでしょうか?
    例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば指数
とモジュラスに分割できるよ。など情報がありましたら教えて下さい。
※ユーザ様にも問い合わせ中なのですが、レスポンスの問題がありまして、
こちらにも質問した次第です。
    よろしくお願いいたします。

No. 3992 # 68user 2004/10/14 (木) 18:59:49
>>3991 sugimoto
> RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な
> のですが
そのとおりです。

> ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。
これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、
実は「モジュラスと公開指数」を意味する、ということはないですか?

# 「暗号化キー/復号キー」が具体的に何を指すのかよくわからない
# ので何ともいえないのですが。

> 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば
> 指数とモジュラスに分割できるよ。など情報がありましたら教えて下さい。
genrsa で出力されるデータには、モジュラス・公開指数・非公開指数全てが
含まれていますので、可能です (openssl genrsa で生成したデータを読み込み、
openssl rsa -pubout で公開鍵を出力できるわけなので)。

試してませんが、genrsa で生成した PEM ファイルを
    http://www.openssl.org/docs/crypto/pem.html
などで読み込み、RSA 構造体を参照すればよいのではないでしょうか。

No. 3993 # sugimoto 2004/10/14 (木) 19:50:18
>>3992 68user
素早い回答どうも有難うございます。> 68User様
> > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。
> これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、
> 実は「モジュラスと公開指数」を意味する、ということはないですか?
    ユーザからの回答として、上記が来る事を心待ちにしている所です。

  PEMファイルからモジュラスを抜き出す処理については、ユーザからの回
答を待ってからにしようと思っておりますが、必要になった場合は頑張って
みます。この処理を行いましたらまた報告します。

No. 3994 # sugimoto 2004/10/15 (金) 18:53:17
>>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の読み込みを行った方が居ましたら、助言をお願い
いたします。

No. 3995 # 68user 2004/10/15 (金) 19:02:13
>>3994 sugimoto
今実行環境がないのでわかりませんが、とりあえず気になったところだけ。

> プライベート鍵ファイルからの読み込みは
> PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、
これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか?

あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?)
なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか?

No. 3996 # sugimoto 2004/10/15 (金) 20:12:28
>>3995 68user
> > プライベート鍵ファイルからの読み込みは
> > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、
> これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか?

はい。セットされます。
動作の確認のため、パブリック鍵ファイルも読み込みたかったのです。

> あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?)
  PEMは自分で作成して、一方を相手に渡します。

> なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか?
    PEMファイルの鍵を使って暗号化と復号を行いたいからです。

    で、当初の問題であったパブリック鍵の読み込みですが、
    PEM_read_RSA_PUBKEY() という関数を使ったところ上手く行きました。
    色々ご助言いただき有難うございました。

No. 3997 # 68user 2004/10/15 (金) 20:19:42
>>3996 sugimoto
> PEMファイルの鍵を使って暗号化と復号を行いたいからです。
PEM ファイルをロードしたら RSA 構造体が生成されるわけですから、
それを使って OpenSSL の関数で RFC2313 (PKCS#1) なデータを生成
するのはダメなのですか?

…と質問しようかと思ったのですが、おそらく「そういう仕様である」が
答えなような気がしますのでやめておきます。

No. 3998 # 68user 2004/10/15 (金) 20:29:31
>>3997 68user
あー、公開指数とモジュラスだけ (独自フォーマットで 相手側に送りたい、
という意図かな。

No. 3999 # sugimoto 2004/10/15 (金) 21:01:45
>>3998 68user
やりたい事を上手く伝える事ができないくて、すみません。
送信者は平文をPEM形式のパブリック鍵で暗号化し、
受信者はPEM形式のプライベート鍵で復号する。
という事を実現したかっただけなのです。
暗号化/復号の際にはPEM形式ファイル内の指数とモジュラスを抜き出す
必要があって・・・という話です。
と、ここまで書いて思ったのですが、もしかしてPEM形式の鍵をそのまま
使ってRSA暗号化する関数が存在するのでしょうか?
とすれば、何て無駄な事をしているんだ・・・。という感じです。

No. 4000 # nira 2004/10/15 (金) 22:11:58
はじめまして。
「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ソースを拾ってくるようにしたいのですが、どのようにすればいいのでしょうか。

よろしくお願いします。

No. 4001 # 68user 2004/10/15 (金) 23:27:56
>>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
をどうぞ。

No. 4002 # アンドロメダ 2004/10/18 (月) 13:51:43
はじめまして!!
おしえてください。
UNIX(HP)のサーバー間でファイルを大量コピーする作業があります。
rcp -pr コマンドを使用したところ、ログインしたユーザ名で全てのファイルが移動されて
しまいます。
例)user1 file0001  コピー後⇒ user1 file0001
        root file0002 user1 file0002

所有者を変更せずにコピーできる方法があれば
どなたかご教授願います。
宜しくお願いします<m(__)m>

No. 4003 # 68user 2004/10/18 (月) 17:29:15
>>4002 アンドロメダ
root で実行してもダメですか? もしダメなら tar で固めてそれを rcp し、
tar xfp で展開するとよいでしょう。

No. 4004 # とーりすがり 2004/10/19 (火) 01:37:52
>>4002 アンドロメダ
rcpの-pオプションはパーミッションは保持されますが
ファイルのオーナーは変わってしまいます。
(Solaris、AIXでも同様)

大ざっぱですが、こんな感じで...
tar cfp - ./from_dir | rsh to_server "cd to_dir; tar xfp -"

No. 4005 # アンドロメダ 2004/10/19 (火) 15:15:24
みなさんアドバイスありがとうございました。
tarでまとめてリモートコピーする方法でテストしたところ
うまくできました。
ありがとうございました。\(^O^)/

No. 4006 # くろ 2004/10/21 (木) 23:18:25
はじめまして、くろと申します。

ここのサイトのネットワークプログラミング[ 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です)

このステータスが戻ってくる原因として、他にどんなことが考えられますでしょうか?
正直、今の私にはここまで限界で・・・

どなたかご存知の方がいらっしゃいましたら、教えていただけませんでしょうか?

宜しくお願い致します。

No. 4007 # 68user 2004/10/22 (金) 01:39:07
>>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

No. 4008 # くろ 2004/10/22 (金) 13:47:15
>>4007 68user

説明に至らない点があったみたいで、すみません。

>プログラム名って何ですか?
これは、POSTをするプログラム名を指しています。

教えて頂いたURLに、POSTしてみたのですが、
サーバーからのレスポンスとして、「HTTP/1.1 400 Bad Request」
が戻ってきました。。。

68userさんでは、上手くいっているようなので、
私のプログラムの問題のようですね。。。

既に6日間も悪戦苦闘しますので、
なにか助言などありましたら、お手数ですが宜しくお願いします。

No. 4009 # 68user 2004/10/22 (金) 13:54:22
>>4008 くろ
> これは、POSTをするプログラム名を指しています。
だからプログラム名って具体的に何ですか?
      POST hoge HTTP/1.0
とかしてたりしませんか? ちゃんと
      POST /hoge HTTP/1.0
としていますか?

んなこたわかっとると思われるかもしれませんが、あなたのレベルが
わからないので、こういうところから確認しているんですよ。

No. 4010 # 68user 2004/10/22 (金) 14:08:46
>>4008 くろ
> 教えて頂いたURLに、POSTしてみたのですが、
> サーバーからのレスポンスとして、「HTTP/1.1 400 Bad Request」
> が戻ってきました。。。
ああ、これを見落としていました。

ではリクエストのやり方が悪いのでしょう。ソースを提示してください。

No. 4011 # くろ 2004/10/22 (金) 15:14:32
>>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 );
}
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+

申し訳ありませんが、ご教授ください。
宜しくお願いします。

No. 4012 # 68user 2004/10/25 (月) 10:06:59
>>4011 くろ
SSL/TLS 以前の問題に見えます。http://X68000.q-e-d.net/~68user/net/ の
    HTTP クライアントを作ってみよう(1)〜(4)
を読んでください。

No. 4013 # くろ 2004/10/25 (月) 17:16:29
>>4012 68user

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

なんと接続することができました。
ご迷惑をお掛けしまして、申し訳ありません。

No. 4014 # どんぐ 2004/10/25 (月) 20:25:48
環境変数にセットする値を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 です。

No. 4015 # 68user 2004/10/25 (月) 21:35:35
>>4014 どんぐ
while read line; do
    eval $line
done < ${CONFIG}

てな感じでどうでしょうか。

No. 4016 # Lococo 2004/10/26 (火) 10:33:08
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

No. 4017 # さいさん 2004/10/26 (火) 20:42:17
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) }'

No. 4018 # 68user 2004/10/26 (火) 21:05:45
>>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)}'
などとします。

No. 4019 # さいさん 2004/10/26 (火) 23:04:36
>>4018 68user

>du -k | sort -nr | awk '{ printf("%10d %s\n",$1*1024,$2)}'
と最初はやっていたのですが、$1に設定されるブロックサイズが大きい
と「$1*1024」でオーバーフローを起こし、正しい計算ができないので
systemで、bcで計算をするようなことに

No. 4020 # NL 2004/10/26 (火) 23:08:07
>>4017 さいさん
>>4018 68user

>du -k | sort -nr | awk '{ system("echo -n `echo "$1"*1024 | bc`"); printf(" %s\n", $2) }'

サーバとかOSのバーションとか記述されてませんでしたけど、
「echo -n」は、依存しませんでしたか。

No. 4021 # さいさん 2004/10/27 (水) 09:50:10
>>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) }'
で、できました。

No. 4022 # ken [URL] [E-mail] 2004/10/27 (水) 23:42:33
こんにちは

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

No. 4023 # 68user 2004/10/28 (木) 03:18:37
>>4022 ken
TCP ですか? それとも UDP ですか?

> パケットサイズを超えるデータ
パケットサイズって具体的に何のことを指していますか?

> 受信終了を示す返り値のlengs=0を受信できませんでした。
送信側で close か shutdown しましたか?

> shutdown()では送信復帰ができないので、使えません。
送信復帰って何ですか?

No. 4024 # どっかん 2004/10/28 (木) 13:12:28
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

No. 4025 # ken 2004/10/28 (木) 16:41:37
>TCP ですか? それとも UDP ですか?
TCPです。

>> パケットサイズを超えるデータ
>パケットサイズって具体的に何のことを指していますか?
send()/recv()での送信、受信レングスです。
この場合では、Recv時のレングスです。

>> 受信終了を示す返り値のlengs=0を受信できませんでした。
>送信側で close か shutdown しましたか?
サーバー側でデータを送信し、終了したらshutdown/closeを行うべき
なのでしょうか? 確かにレングス0を受信できますが、その後に
送受信を必要な場合はどうすればいいのでしょうか?
httpサーバーにアクセスした時はレングス0が帰ってきたのですが、
shutdownしていたのでしょうか?


>> shutdown()では送信復帰ができないので、使えません。
>送信復帰って何ですか?
送信の終了を示す、レングス0を送るためにclose/shutdownを使うと、
その後にアクセスができなくなる。
shutodownしたソケットを再使用は危険とMSDNにでてます。

No. 4026 # zsh 2004/10/28 (木) 18:59:37
>>4024 どっかん
sed -e '1s/o=test$/o=honban/'

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