SSTP サーバー再開発(2.5)(2001/03/04)
新着情報 トップメニュー ボードメニュー 掲示板 お手紙はここ!

2.5って。 あんた。



あちこちのコンテンツに書き散らすとアレなので、枕詞として書いちゃおう。進展ゼロなので2.5なの(笑)

本家再配布決定の報には、とにかく言祝がざらまじとぞ思いにけり。が。なんかヤヤコシ〜ちっくな……

要するに、開発者と、公開配布者にして裁判担当者と、サーバー運営者による運用になって、裁判費用をカンパで集めよう。と。趣旨はわかるし行動する人はそれ≠しない人より正しい(正義とは限らんが有利だと言う意味)
個人的には、なんだか利用する事と抱き合わせの事実上シェアウェア化、とも取れない事はないんですが……しかしサーバー運営のコストは馬鹿になりますまい。

長山は二年ほど、個人運営の草の根ネットワークをやっていたことがあります。まぁ好きでやっていたので維持に掛かる時間的コストについてはなあんも苦ではなかった、と言うよりホスト自体の盛況とは関係なく異常に情熱を注いでいたりもしました。

が、あれは結構、電気代を喰います。ノートでやればそうでもないんでしょうが……といって、数万円とか掛かるわけじゃないですけどねぇ。486 マシンで外付けドライブを一台、モデムを二基ってな構成だと二千円やそこらは軽く掛かってしまいます。ウチは内蔵ドライブ/モデム一基でしたが、ホストを廃止した後の電気代が目に見えて安くなっていたのには驚きました(^^;)

本家配布のためのサーバーが、個人所有のマシンなのかレンタルサーバーなのかはちと解りかねますが、まぁどっちにしても金が掛かります。この点ではユーザーで負担を分散(分担って言うな)するのには賛成です。


……けどなぁ。何で裁判が前提に……と。だから事実上のシェアウェア化、とまで言いますです。

> あなたは
> 黒衣が開発を続けていた、
> 責任を被ってくれる人もいる、
> ああよかったよかった全て元通りだと満足してクソして寝ますか。

部分引用で済まない。全文がこうではないのですが、しかし……其処まで言うほどエライですか。どうして裁判にならない方法を模索しないですか。裁判して負けても自腹切ってなきゃクソひってスカっと気持ちよく寝れますか。つーか、基金が集まんなかったら自腹を切ってでもやれるのかね。って、別にやんなくても良いんだけどさ。

ぶっちゃけた話、千円二千円が、極端な例では不正に利用されたといって懐が痛いか、と言うとそれほどまでには困窮してはいませんけどね。逆に言うと懐が痛まん程度のカンパで裁判を戦えるんかい。戦う以上は勝つために、と言う意味でだぞ。

「ユーザーが買い支えなかったからじゃい」とかって言い訳するための布石? 裁判で負けたら上訴……って刑事訴訟の場合か? 民事で上へ持ってくのはなんてんだっけ。まぁいいや、それだ。ともかく勝つまでやる気で基金を募ってるのかな、と。裁判やってやるから軍資金よこせってば如何なものか……ユーザーは別に裁判までは望んでいるまい。

フリーソフトウェアです。無料である代わりに責任は使用する個人が所有するわけです。自己責任である故に自由が伴うわけです、これを解ってないアホも居ますが……。この点で、基金の意味する事は何かと言うと「今から戦争をやるので国民皆兵で行くからその様にな」という告知と何が違いますかね御立会い。

長山は自分が平和主義者とは言わんよ。事勿れ主義や弱気を含んでいるとしても、小兵をもって大兵に敵るには真正面から行くべきでない事を知っています。なんで裁判を前提にしてまで配布を再開しなければならぬと? 任意≠ヘ……偽春菜は果たして今でも、そう言うソフトウェアであるのか?

いちプログラマとしては(日曜野郎ではあるがだ)、そうじゃないと思うんですけど。作者だって目標は達したとか言ってたんじゃなかったっけ。結局は自分で言ってて理解できてない文章(もんじょう)野郎に過ぎなかったのかと少なからずガッカリしてたりもしますけど……。作者にしてガッカリされたからって何と云うものでないだろうけどさ(笑)
金さえあれば裁判するって……とにかく裁判なぞ始めからしないで済むに越した事ないのが第一義だと思う。

臨兵闘者皆陣烈在前、てか!


電気代、サーバー代といった継続維持費用に関しては協力するにかなり吝かじゃないですが、裁判前提の戦略に関しては全くもって支持できません愚の骨頂というものでス。こーゆー俺みたいな人はクソして寝るしかないですか。バージョンアップは許されませんか。選択の自由がないなら責任も負えません。有難う御座いました。

敢えて言おう! なんなんだこの計画は! 偏ってる、偏ってるよう!


と言ってしまうとミもフタもないんだが……自ずからプ社の権利を妨害しといて裁判も何もないので、カンパするのは公開されたソフトウェアを見てからですな。プ社にしても同じことを言えして、どっちもどっちな裁判の片方に荷担≠キる事は出来ませんよ。何から何まで権利権利で抑えこめると勘違いしてるような訴訟を起こすなら、そんときゃ俺も正に裁判のためのカンパをするでしょうよ。



先週の日曜日は散髪も行かずに、言葉通り捧げたんだけど……。

AI 呼び出しに失敗(笑) 仕様書の宣言通りに呼んでるんですが、AI に渡す値がわからんのである。で、ダミーの AI を作ることにして、SHIORI.DLL をでっち上げはしたんですが……これもどうやら駄目だったようで。

宣言では、

function getversion(var len: longint): hglobal; cdecl; export;

となってますが……これを呼び出す構文は

function getversion(var len: longint): hglobal; extern 'shiori.dll';

と違うのでござろうか? これは静的エキスポートなんで、もしかすると動的にやらないと蹴られるのかも知らんが……って、その仕様は比較的ヘンだと思うので試すのは後!

って言うか、何で先に AI 呼ぼうとしてるかな?(^^;)

とりあえず基礎的な DLL 連携の実験を経ないと原因は掴めそうにない模様。DLL 側の宣言に使う export; と言う予約語は、16ビットアプリケーションの時の装飾子で、互換性の為に残っているだけなんで、この辺りがクサい気はしてる。



SSTP サーバーとしての通信自体は何とか格好がついている。これが、結構面白かった。

単純に Baqd Request と言っても起こし方は色々で、そもそも「リクエストになってない」と言うのから「必要な情報が抜けている」などあってですな、微妙に返り値が違ってくる。例えば、SEND リクエストだと

SEND SSTP/1.1
Sender: てすためんと
Script: ¥hおっはー。¥uおはー。¥e

と言うような形式(最後に空行が要るんだが)を受ける。ヘッダの一行目第一文節が対応していないリクエストだったり、そもそもこういう書式でない場合なんかには、返り値が「SSTP/1.0 400 Bad Request」が返ってくる。

で、必須項目である Sender が抜けて足りすると、上の例では「SSTP/1.1 400 Bad Request」となる。正しい書式で送った、まだ実装されていないバージョンの、SEND SSTP/2.9 とかは下位互換性によってエラーならないが、Sender を抜いて送ると「SSTP/2.9 400 Bad Request」と返す。

結局、全部のトークンを取得せんとイカンのか……(^^;)


で、実装したんですけどね。下位互換性ってどうやって実現するんだろ? SEND の場合、
  1. 1.1 だと Script と Options だけを読む。
  2. 1.2 で Entry を読みこんで(多分テンポラリファイルに落として)エントリとして扱う。
  3. 1.3 で HWnd を読み込み必要に応じてメッセージの送付先とする。

とるすと、下位互換性があることに付いては、カスケード的分岐で足りるのであろうか。SEND 1.1 で ¥m タグを使ってもそのまま表示させられる、と言う動作が鍵だけどな……まぁいいか。



AI(DLL) 呼び出しは後にするべきかなぁ……


新着情報 トップメニュー ボードメニュー 掲示板 お手紙はここ!