[過去ログ] ◆ 全サーバトリップ統一作戦 (513レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 動け動けウゴウゴ2ちゃんねる 03/10/27 18:10 ID:d3gW7L58(1/4)調 AAS
現在三つに分かれているトリップの仕様を統一しようという作戦

>>2-5辺りも読んでください。
2
(2): 動け動けウゴウゴ2ちゃんねる 03/10/27 18:10 ID:d3gW7L58(2/4)調 AAS
104 :鳥屋? ◆TMMMMMMMMM :2003/10/26(日) 19:55 ID:OYk5PAwE
例によってむっちゃ忙しくてアレなのだが、ココで俺意見出しつつ
まとめてみます。ご意見ご希望ご感想pls

・基本は旧鯖仕様
 経緯を見るからに、新鯖仕様は鬼っ子。
対応ツールも、流出互換スクリプトも、旧鯖仕様ベースなので
それに合わせるのがよかろう。
(したらば系のことは、俺が興味ないので忘れる)

 できることならば旧鯖トリップはことごとく通ってほしいのだが、
先頭文字に限っては、特殊文字をいくつか導入し、
それに抵触するトリップを使ってる連中には、半角カタカナに置換する
ことで対処してもらう。
3
(2): 2のつづき 03/10/27 18:11 ID:d3gW7L58(3/4)調 AAS
・付加機能案(1) 任意Salt
例) #$ABcccccccc
1文字目が $ だった場合、2,3文字目の BC をSaltとみなして
4文字目以降のcccccccccをキーとして扱う。BCの扱いは旧鯖仕様にしてしまう。
(俺的には、鳥屋っぽい新々鯖キーを量産できるので大歓迎)
先頭が $ トリップを使ってた香具師は、半角カタカナ 、 でガマンしてもらう。

・付加機能案(2) 玄人向け生キー
例) ##DEADBEEFCAFEABED2710
1文字目が # だった場合、続く16文字の16進数をキー
さらに4文字の8進数もしくは2文字の英数字が存在したらSaltとして扱う。
全空間から余すことなく拾いたいトリップ野郎(俺もだよ漏れも)向けの機能。
先頭が # トリップを使ってた香具師は、半角カタカナ 」 でガマンしてもらおう。

実装はまた後日。たぶん簡単だろうが検証してるヒマがない。
4
(1): 関連スレ 03/10/27 18:11 ID:d3gW7L58(4/4)調 AAS
bbs.cgi 再開発プロジェクト
2chスレ:operate
◆ 移転ですー
2chスレ:operate
5
(4): 未承諾広告※ ◆aiY4htt2.2 03/10/27 18:56 ID:kCrk2mEm(1/8)調 AAS
トリップの歴史のようなもの(激しく添削キボンヌ)
基本。
 「name#trip」と名前欄に入力。name はそのまま出力。'#' 以降を分解。

●初代?
 製塩方法が、
  my $change_salt = substr($handle_pass, , 1) . "H";
 となっていたために、$change_salt は 'ripH' に。
 しかし、crypt で有効な塩は、2 文字分(正確には 12 ビット)
 なので、 3 文字目以降は意味を為していない。
 出力は crypt 出力文字列の後ろから 8 文字分。
  $handle_pass = substr(crypt($handle_pass, $change_salt), -8);
 結果、
 「name#trip」は、
 name ◆pdoZ.tHU
 と出力された。

●2代目?
 割れを防ぐ意味?で出力を 10 文字に増殖。
  $handle_pass = substr(crypt($handle_pass, $change_salt), -10);
 結果、
 「name#trip」は、
 name ◆hEpdoZ.tHU
 と出力された。

●3代目?(現状?)
 製塩時にフィルターが追加された?
 my $salt = substr($key."H.", 1, 2); →トリップ文字列の末尾に 'H.' を追加してから、先頭から2文字目と3文字目を抽出。
 $salt =~ s/\W/\./go; → 'a-zA-Z0-9_' 以外は '.' に変更。
 ★旧仕様のトリップ文字列では出力が違うものが出てきた。
 ★新々鯖(FreeBSD) では、'_' を内部で変換せずにエラーとして判断するために、crypt の返り値が undef (未定義値) となるために
、トリップが表示されない不具合が出た。
6: 動け動けウゴウゴ2ちゃんねる 03/10/27 19:04 ID:ORpxxm18(1)調 AAS
>>5
順序としては、製塩方法が変わってから、10桁化したんだったと思う。
2代目と3代目が逆ということになるかな。

初代は</b><b>がついてなくて、トリップ文字も太字のままだったね。
懐かしい。
7
(1): サザン ◆IDaU21y6wI 03/10/27 20:39 ID:m/mfc4Ea(1/5)調 AAS
>>5
>●初代?
> 製塩方法が、
>  my $change_salt = substr($handle_pass, , 1) . "H";
> となっていたために、$change_salt は 'ripH' に。
> しかし、crypt で有効な塩は、2 文字分(正確には 12 ビット)
> なので、 3 文字目以降は意味を為していない。

my $change_salt = substr($handle_pass, , 1) . "H";
の所なんですけど、
substr の第二引数が省略されてるので、取り出し始めるインデックスが
0(最初)で、取り出す文字数が1文字ってことかと。
そうすると、$change_salt は 'tH' になると思います。
そのスクリプトの方があってればの話ですけど、、
8
(1): 未承諾広告※ ◆aiY4htt2.2 03/10/27 21:13 ID:kCrk2mEm(2/8)調 AAS
>>7
#!/usr/local/bin/perl

$a = "triptrip";
$b = substr($a, , 3) . "H";

printf "[$a] [$b] %s",substr(crypt($a, $b), -8);
exit;
# 結果は [triptrip] [ptripH] eOG.wRhM

実際に動かしてみると、2 番目の引数が undef になるので省略されたとして、
3 番目の引数が offset にされちゃうようです。@ Perl 5.6.1 の場合
9: 未承諾広告※ ◆3SfloA2uBI 03/10/27 21:29 ID:kCrk2mEm(3/8)調 AAS
とりつぷテスト
10
(1): サザン ◆IDaU21y6wI 03/10/27 21:49 ID:m/mfc4Ea(2/5)調 AAS
>>8
おぉ、そうだったんですか。。
というか、substr の第二引数は省略できないですね。

確かめもせずに申し訳ない。。
何でそんなコードになってたんだろう、、
11: 未承諾広告※# 03/10/27 21:57 ID:kCrk2mEm(4/8)調 AAS
>>10
あ、いへいへとんでもないです(汗)
ただこのあたりの実装方法が曖昧になっているようですね。

uma系鯖では tripkey のない場合の対処がややこしそうですね。
現に、 uma系鯖では tripkey のない場合、# が出てくるのも謎だし。。。@本来はマッチしないので出てこないはず?

さてさて、bbs.cgi の現状のトリップ回路は公開されているのでしょうか?
12: 野王・武王 ◆RKyaoobuoo [sage yaoobuoo2002@yahoo.co.jp] 03/10/27 22:06 ID:CZH0FpX5(1/2)調 AAS
とりあえず記念真紀子。
13
(1): サザン ◆IDaU21y6wI 03/10/27 22:25 ID:m/mfc4Ea(3/5)調 AAS
>uma系鯖では tripkey のない場合の対処がややこしそうですね。
>現に、 uma系鯖では tripkey のない場合、# が出てくるのも謎だし。。。@本来はマッチしないので出てこないはず?

これって、名前欄に「名前#」って入れるって事ですかね?
14
(2): 鳥屋™ ◆rmzpYx1111 [《age》 r20@bigfoot.com] 03/10/27 22:29 ID:7FIU3vix(1/2)調 AAS
おつかれさまー

ところで、こんなトリップも出せることに気づいたのですが、
今回考える新仕様では、これに対応する必要ないっすよネ?

…いや、対応は造作もないのだが。
15
(2): 未承諾広告※# 03/10/27 22:39 ID:kCrk2mEm(5/8)調 AAS
uma 系鯖での現状での不具合。
1. トリップキーがないと # が出て来ちゃう。
(凡例:この書き込みの名前欄参照)
 要因:現在不明(^-^;;)

2. _ の扱いでトリップが消える。
 塩に '_' が含まれていたりキーに '_' が含まれていたりいろいろ。
(凡例:#______ のように '_' が 6 つ以上連なってもトリップが消えるみたい。
 要因:crypt()での振る舞いが違うため。

対策?
1. uma系鯖に限って、
 ・crypt する前にキーが存在しないときは何らかのキーを与える。
 ・crypt() の返り値が undef の時に何かキーを与えてみる。
 ・もしくはトリップを作らなくするとか?→名前部分だけ返す。

2. [./0-9A-Za-z] にマッチしない文字を別の文字に変更する。
 ・'.' が妥当?
 ・もしくは他の文字を与える?

こんな所でしょうか。
これが解決できれば、鳥屋TMさんの提案されている塩指定も盛り込めるのではないかと。

>>13
そのとおりです。名前欄に '#' のみでもOKです。
>>14
わー(汗)@ラストに '1'
16
(1): サザン ◆IDaU21y6wI 03/10/27 22:44 ID:m/mfc4Ea(4/5)調 AAS
1は、全サーバそういう仕様だと思いますー。
#(.+) の時にトリップ作る仕様になってますから。
17: 未承諾広告※# 03/10/27 22:49 ID:kCrk2mEm(6/8)調 AAS
>>16
大いなる勘違いをしていました(汗)
って事でこの件は無かったことに(苦笑)
18
(1): 鳥屋™ ◆No1111111k [《age》] 03/10/27 22:49 ID:7FIU3vix(2/2)調 AAS
いったん自宅に帰ろう。

>>15
(1)に関しては、どちらかというとトリップ仕様の範囲外。
想像ではPerlのバージョン依存。
トリップキー抽出部を見せてもらわないことには何とも言えず。

(2)を解決し、ついでに「新鯖トリップ問題」を解決し、
ついでについでに玄人仕様を盛り込んだのが、>>2-3案です。

新鯖トリップ問題に関しては要望があれば解説します。

(ずーっと、流出スクリプトのトリップ生成部が2chで使われてるものと
同じだと思いこんでたので、いろいろ誤解してたのだが、すべて解決!)
19: はりねずみ ◆HaRinezUmI 03/10/27 22:51 ID:cghP2zya(1)調 AAS
>>14
うほっ

どうやってんだ…
20: サザン ◆IDaU21y6wI 03/10/27 22:56 ID:m/mfc4Ea(5/5)調 AAS
ちなみに、今動いてるのは、>>5の初代と二代目を足したものです。
21
(1): 未承諾広告※ 03/10/27 23:07 ID:kCrk2mEm(7/8)調 AAS
さてと、それではお塩に関しては、
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$salt =~ tr/[\.\/0-9A-Za-z]/\./c;
でよいのかな?
22: 未承諾広告※ 03/10/27 23:14 ID:kCrk2mEm(8/8)調 AAS
>>18
判りやすく解説キボンヌですm(_ _)m
23: 転職 ◆Unko/nbypE 03/10/27 23:23 ID:sIZmBxA6(1)調 AAS
記念ヽ(・∀・)ノ ●ウンコー
24
(1): 鳥屋™ ◆No1111111k [《age》] 03/10/27 23:28 ID:qdVcqFdp(1/2)調 AAS
>>21
それで旧鯖仕様互換にできるのだけど
さて、新鯖トリップを活かしたい人をどうしよう

というために、Salt任意指定があればいいなと思うワケです。
25: 野王・武王 ◆RKyaoobuoo [sage yaoobuoo2002@yahoo.co.jp] 03/10/27 23:35 ID:CZH0FpX5(2/2)調 AAS
>>24
とりあえず新鯖専用トリップの人を冷遇するのは反対。
なのでその案に賛成かな。
26: 鳥屋™ ◆No1111111k [《age》] 03/10/27 23:38 ID:qdVcqFdp(2/2)調 AAS
新鯖トリップ問題

【現象】 2002秋以降に新設された鯖で、一部のトリップが
従来と互換のない出力になり、鳥屋が困り果てて右往左往した。
(後半は余計だ)

sakuraに設置されていた鯖も、新鯖と同様の振る舞いをしていた
(ただしトリップは8桁のまま)

具体的には、Saltに一部の記号・漢字・半角カナが含まれてる
トリップが該当。

【原因】
crypt(3)に範囲外のSaltを与えていた bbs.cgi スクリプトと、
範囲外Saltに対して実装依存の振る舞いをする各ライブラリの
crypt(3) との食い合わせ。

Saltは、1文字あたりで、 . / 0-9 A-Z a-z を、0-63 の数字に変換
するのだが、この変換ロジックの手抜きにより、実装依存の挙動が生まれた。

(次につづく)
1-
あと 487 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.078s*