[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: voting counter robot



佐野@浜松です。

 # ギプスの中の左腕が痒い、、、

In <87vgral34q.wl@lichee.ukai.org>,
 on "Sat, 20 Jan 2001 23:17:09 +0900",
  Fumitoshi UKAI <ukai@debian.or.jp> さん wrote:

> At 20 Jan 2001 14:13:50 +0900,
> Taketoshi Sano <kgh12351@nifty.ne.jp> wrote:
> 
> >  2) とりあえず現在 Debian で使っているシステムをそのまま採用すると
> >     MIME な署名は無効となり、本文に直接署名済みテキストを入れる必要が
> 
> んー gpgwrapperのコードだと たぶん MIMEな署名も有効っぽいですね。

を ?

   # Get the email 
   ErrType = EX_PERMFAIL;
   ErrMsg = "Failed to understand the email or find a signature:";
   Email = mimetools.Message(sys.stdin,0);
   Msg = GetClearSig(Email);

   ErrMsg = "Message is not PGP signed:"
   if string.find(Msg[0],"-----BEGIN PGP SIGNED MESSAGE-----") == -1:
      raise Error, "No PGP signature";

   # Check the signature
   ErrMsg = "Unable to check the signature or the signature was invalid:";
   Res = GPGCheckSig(Msg[0]);

   if Res[0] != None:
      raise Error, Res[0];
      
   if Res[3] == None:
      raise Error, "Null signature text";

   # Extract the plain message text in the event of mime encoding
   global PlainText;
   ErrMsg = "Problem stripping MIME headers from the decoded message"
   if Msg[1] == 1:
      try:
         Index = string.index(Res[3],"\n\n") + 2;
      except ValueError:
         Index = string.index(Res[3],"\n\r\n") + 3;
      PlainText = Res[3][Index:];
   else:
      PlainText = Res[3];   

   # Check the signature against the replay cache
   if ReplayCacheFile != None:
      ErrMsg = "The replay cache rejected your message. Check your clock!";
      Rply = RC.Check(Res[1]);
      if Rply != None:
         raise Error, Rply;
      RC.Add(Res[1]);

ふぅむ。GPGCheckSig(Msg[0]); は gpg/userdir_gpg.py の

# GetClearSig takes an un-seekable email message stream (mimetools.Message) 
# and returns a standard PGP '---BEGIN PGP SIGNED MESSAGE---' bounded 
# clear signed text.
# If this is fed to gpg/pgp it will verify the signature and spit out the
# signed text component. Email headers and PGP mime (RFC 2015) is understood
# but no effort is made to cull any information outside the PGP boundaries
# Please note that in the event of a mime decode the mime headers will be
# present in the signature text! The return result is a tuple, the first
# element is the text itself the second is a mime flag indicating if the
# result should be mime processed after sig checking.
def GetClearSig(Msg):

ですね。いつのまにか MIME な署名も OK になっていたのかな ?

In <200101201407.XAA01465@cs13.catv.ne.jp>,
 on "Sat, 20 Jan 2001 23:08:24 +0900",
  Kenshi Muto <kmuto@topstudio.co.jp> さん wrote:

> そういえば 3-9 の理事/監事の人数をはっきりしちゃいたいですね。現行だと
> 理事の選挙という意味あいがちょっと薄い気がするので。
> 投票システムができたら実地テストの意味あいも兼ねて動議出しましょうか。

うーん、テストはテストでまず単独に実施しておきたいかも。

選挙については 3-9 というより 3-10 ですね。現状だと「理事および監事」を
一度に同じ選挙で選んでしまうことも可能なようにも読めます。それぞれ別に
選挙が必要とするならそう明記したほうがいいかも。

あと 4-14 にでてくる事務局長、副会長、などについても 3-9,10,11 に
追記しておいたほうがいいかな。

> >  1) 今後 JP での投票処理 (票のカウントや有効/無効の判定) も Debian での
> >     方法にならって自動化したい
> > 
> >  2) とりあえず現在 Debian で使っているシステムをそのまま採用すると
> >     MIME な署名は無効となり、本文に直接署名済みテキストを入れる必要が
> >     あるが、この点について JP Project 内で確認しておきたい
> >     (Mew や Gnus から mailcrypt 経由で署名する方法は以前 JP の devel に
> >     流したことがあるし、他のメールソフトでも本文に signed text を入れる
> >     のは不可能ではないはず)
> 
> 投票のたびにやり方については添付したほうがいいですね。mew/gnusのほかに
> wlも入れましょう :)

鵜飼さんの調査によれば、なんか既に MIME な署名でも直接署名でも
両方いけるみたいですね。これは実地テストをしてみたいところ。

もしどっちでも OK だと確認できたら、提案 2) は意味が無いので
取り下げたいと思います

> >  3) Debian の投票システムをそのまま採用するにせよ、一部改良するにせよ、
> >     あるいは独自の実装を作成するにせよ、実際にシステムを動かしてお守りを
> >     する人が必要 → 誰かいませんか ?
> 
> とりあえず鵜飼さんが試されてるみたいですね。僕も見てみます。
> 
> 1,2,3に関してはお守りの問題さえ解決すれば賛成です。

まあ鵜飼さんがやってくだされば安心なのは確かですが、鵜飼さんだけしか
メンテできないような仕事をあまり増やしたくないという気持もあるので、
できれば他にお守りのできる人を養成したいな、と。

 (まあ自分でもなるべくお手伝いしなきゃと思ってはいます)

--
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <kgh12351@nifty.ne.jp> : Taketoshi Sano (佐野 武俊)