[#35333] [Ruby 1.8 - Bug #221] (Open) Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...>

チケット #221 が報告されました。 (by Anonymous)

31 messages 2008/07/03
[#35521] [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...> 2008/07/15

チケット #221 が更新されました。 (by Anonymous)

[#35522] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/15

とみたです。

[#35527] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/16

とみたです。

[#35537] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Urabe Shyouhei <shyouhei@...> 2008/07/16

卜部です。

[#35355] リリース前ToDoリスト — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

42 messages 2008/07/04
[#35365] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/04

なかだです。

[#35366] Re: リリース前ToDoリスト — Yukihiro Matsumoto <matz@...> 2008/07/04

まつもと ゆきひろです

[#35464] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/13

高尾宏治です。

[#35514] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35515] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/15

なかだです。

[#35519] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35523] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35528] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35531] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35532] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35534] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35551] [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/16

高尾宏治です。

[#35553] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "Keita Yamaguchi" <keita.yamaguchi@...> 2008/07/16

山口と申します。

[#35556] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/17

高尾宏治です。

[#35588] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35592] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35629] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "M.Suzuki" <macobasi@...> 2008/07/22

GyRCJDMkcyRLJEEkTyEjGyhCTS5TdXp1a2kbJEIkRyQ5ISMbKEINCg0KGyRCO24kNyRGJF8kXiQ3

[#35639] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/23

高尾宏治です。

[#35372] patch for ruby-core:17472 — wanabe <s.wanabe@...>

ワナベと申します。

16 messages 2008/07/05
[#35378] Re: patch for ruby-core:17472 — Nobuyoshi Nakada <nobu@...> 2008/07/06

なかだです。

[#35404] ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...>

前田です。

54 messages 2008/07/09
[#35405] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35413] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/09

前田です。

[#35415] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35418] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/10

前田です。

[#35425] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

Shugo Maeda さんは書きました:

[#35427] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "GOTO Kentaro" <gotoken@...> 2008/07/10

どこにぶら下げるのがいいのかわからないので、単に意思表明ですが、

[#35429] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

卜部です。

[#35440] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Akinori MUSHA" <knu@...> 2008/07/11

At Fri, 11 Jul 2008 01:00:29 +0900,

[#35442] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/11

前田です。

[#35451] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

そういえばこの部分に言及するのを忘れていた

[#35454] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/12

前田です。

[#35455] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

卜部です。

[#35456] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/13

前田です。

[#35462] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Tanaka Akira <akr@...> 2008/07/13

In article <704d5db90807121803o5ea67361ucbf968f8a18a845d@mail.gmail.com>,

[#35465] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

Tanaka Akira さんは書きました:

[#35474] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35457] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

卜部です。

[#35472] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35473] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/14

卜部です。

[#35475] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35420] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — Tanaka Akira <akr@...>

In article <200807100931.m6A9V4vi014459@ci.ruby-lang.org>,

11 messages 2008/07/10
[#35421] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35422] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — "U.Nakamura" <usa@...> 2008/07/10

こんにちは、なかむら(う)です。

[#35423] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35458] make profiler for gc — authorNari <authornari@...>

nariです。

21 messages 2008/07/13
[#35461] Re: make profiler for gc — Tanaka Akira <akr@...> 2008/07/13

In article <1153cee60807122239t19f6ae05vc0c1995c77349377@mail.gmail.com>,

[#35468] Re: make profiler for gc — authorNari <authornari@...> 2008/07/13

nariです。

[#35597] [request]C APIの拡張 — "Goro Fuji" <g.psy.va@...>

藤と申します。

15 messages 2008/07/20

[#35620] non-locale filename encoding — Tanaka Akira <akr@...>

Dir の使いかたとして、ファイル名のエンコーディングが locale

18 messages 2008/07/21
[#35634] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/22

成瀬です。

[#35635] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <48866F3F.80906@airemix.jp>,

[#35642] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/23

成瀬です。

[#35643] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <488771FD.4020800@airemix.jp>,

[#35649] PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/07/24
[#35650] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — Tanaka Akira <akr@...> 2008/07/24

In article <e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com>,

[#35651] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/24

2008/07/25 1:02 Tanaka Akira <akr@fsij.org>:

[#35654] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "NARUSE, Yui" <naruse@...> 2008/07/24

成瀬です。

[#35686] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/29

遠藤です。

[ruby-dev:35313] Re: [BUG] test_win32ole_event.rb in trunk

From: arton <artonx@...>
Date: 2008-07-02 09:23:50 UTC
List: ruby-dev #35313
artonです。

パッチを作ってみました。手元のVC6+Windows Vista 64(ただしRubyはx86)で
再現−解消を確認してあります。
ただ、gc中かどうか判断する必要があるため、gc.cにもパッチが必要でした。
また、チェック対象にCALLTYPE_ASYNCは不要なはずですが(待ち状態なので、
Releaseの応答に相当するCALLTYPE_NESTEDと、CALLTYPE_*_CALLPENDINGのみが来
るはず)、一応、アンドキュメンテッドな振る舞いを気にして入れてあります。
パッチの対象は、Ruby-1.9.0-2のソースです。

diff -p gc.c.old gc.c
*** gc.c.old	Wed Jun 18 23:09:33 2008
--- gc.c	Wed Jul 02 18:19:35 2008
*************** rb_fill_value_cache(rb_thread_t *th)
*** 703,708 ****
--- 703,725 ----
  #endif
  
  VALUE
+ rb_during_gc(void)
+ {
+ #if USE_VALUE_CACHE
+     rb_thread_t *th = GET_THREAD();
+     VALUE v = *th->value_cache_ptr;
+ #if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE
+     rb_objspace_t *objspace = th->vm->objspace;
+ #else
+     rb_objspace_t *objspace = &rb_objspace;
+ #endif
+ #else
+     rb_objspace_t *objspace = &rb_objspace;
+ #endif
+     return (during_gc) ? Qtrue: Qfalse;
+ }
+ 
+ VALUE
  rb_newobj(void)
  {
  #if USE_VALUE_CACHE

diff -up win32ole.c.old win32ole.c
*** win32ole.c.old	Tue Apr 22 09:58:51 2008
--- win32ole.c	Wed Jul 02 16:49:04 2008
***************
*** 31,37 ****
--- 31,40 ----
  #include <varargs.h>
  #define va_init_list(a,b) va_start(a)
  #endif
+ #include <objidl.h>
  
+ extern VALUE rb_during_gc();
+ 
  #define DOUT fprintf(stderr,"[%d]\n",__LINE__)
  #define DOUTS(x) fprintf(stderr,"[%d]:" #x "=%s\n",__LINE__,x)
  #define DOUTMSG(x) fprintf(stderr, "[%d]:" #x "\n",__LINE__)
*************** static rb_encoding *cWIN32OLE_enc;
*** 201,206 ****
--- 204,212 ----
  static UINT g_cp_to_check = CP_ACP;
  static char g_lcid_to_check[8 + 1];
  static VARTYPE g_nil_to = VT_ERROR;
+ static IMessageFilterVtbl message_filter;
+ static IMessageFilter imessage_filter = { &message_filter };
+ static IMessageFilter* previous_filter;
  
  struct oledata {
      IDispatch *pDispatch;
*************** static VALUE folevariant_ary_aset(int ar
*** 517,522 ****
--- 523,623 ----
  static VALUE folevariant_value(VALUE self);
  static VALUE folevariant_vartype(VALUE self);
  static VALUE folevariant_set_value(VALUE self, VALUE val);
+ 
+ static HRESULT (STDMETHODCALLTYPE mf_QueryInterface)(
+     IMessageFilter __RPC_FAR * This,
+     /* [in] */ REFIID riid,
+     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject)
+ {
+     if (MEMCMP(riid, &IID_IUnknown, GUID, 1) == 0
+         || MEMCMP(riid, &IID_IMessageFilter, GUID, 1) == 0)
+     {
+         *ppvObject = &message_filter;
+         return S_OK;
+     }
+     return E_NOINTERFACE;
+ }
+ 
+ static ULONG (STDMETHODCALLTYPE mf_AddRef)( 
+     IMessageFilter __RPC_FAR * This)
+ {
+     return 1;
+ }
+         
+ static ULONG (STDMETHODCALLTYPE mf_Release)( 
+     IMessageFilter __RPC_FAR * This)
+ {
+     return 1;
+ }
+ 
+ static DWORD (STDMETHODCALLTYPE mf_HandleInComingCall)(
+     IMessageFilter __RPC_FAR * pThis,
+     DWORD dwCallType,      //Type of incoming call
+     HTASK threadIDCaller,  //Task handle calling this task
+     DWORD dwTickCount,     //Elapsed tick count
+     LPINTERFACEINFO lpInterfaceInfo //Pointer to INTERFACEINFO structure
+     )
+ {
+ #ifdef DEBUG_MESSAGEFILTER
+     printf("incoming %08X, %08X, %d\n", dwCallType, threadIDCaller, dwTickCount);
+     fflush(stdout);
+ #endif
+     switch (dwCallType)
+     {
+     case CALLTYPE_ASYNC:
+     case CALLTYPE_TOPLEVEL_CALLPENDING:
+     case CALLTYPE_ASYNC_CALLPENDING:
+         if (rb_during_gc() == Qtrue) {
+             return SERVERCALL_RETRYLATER;
+         }
+         break;
+     default:
+         break;
+     }
+     if (previous_filter) {
+         return previous_filter->lpVtbl->HandleInComingCall(previous_filter,
+                                                    dwCallType,
+                                                    threadIDCaller,
+                                                    dwTickCount,
+                                                    lpInterfaceInfo);
+     }
+     return SERVERCALL_ISHANDLED;
+ }
+ 
+ static DWORD (STDMETHODCALLTYPE mf_RetryRejectedCall)(
+     IMessageFilter* pThis,
+     HTASK threadIDCallee,  //Server task handle
+     DWORD dwTickCount,     //Elapsed tick count
+     DWORD dwRejectType     //Returned rejection message
+     )
+ {
+     if (previous_filter) {
+         return previous_filter->lpVtbl->RetryRejectedCall(previous_filter,
+                                                   threadIDCallee,
+                                                   dwTickCount,
+                                                   dwRejectType);
+     }
+     return 1000;
+ }
+ 
+ static DWORD (STDMETHODCALLTYPE mf_MessagePending)(
+     IMessageFilter* pThis,
+     HTASK threadIDCallee,  //Called applications task handle
+     DWORD dwTickCount,     //Elapsed tick count
+     DWORD dwPendingType    //Call type
+     )
+ {
+     if (rb_during_gc()) {
+         return PENDINGMSG_WAITNOPROCESS;
+     }
+     if (previous_filter) {
+         return previous_filter->lpVtbl->MessagePending(previous_filter,
+                                                threadIDCallee,
+                                                dwTickCount,
+                                                dwPendingType);
+     }
+     return PENDINGMSG_WAITNOPROCESS;
+ }
    
  typedef struct _Win32OLEIDispatch
  {
*************** ole_initialize() 
*** 1050,1055 ****
--- 1151,1161 ----
          /*
          atexit((void (*)(void))ole_uninitialize);
          */
+         hr = CoRegisterMessageFilter(&imessage_filter, &previous_filter);
+         if(FAILED(hr)) {
+             previous_filter = NULL;
+             ole_raise(hr, rb_eRuntimeError, "fail: install OLE MessageFilter");
+         }
      }
  }
  
*************** Init_win32ole()
*** 8106,8111 ****
--- 8212,8225 ----
      com_vtbl.GetTypeInfo = GetTypeInfo;
      com_vtbl.GetIDsOfNames = GetIDsOfNames;
      com_vtbl.Invoke = Invoke;
+ 
+     message_filter.QueryInterface = mf_QueryInterface;
+     message_filter.AddRef = mf_AddRef;
+     message_filter.Release = mf_Release;
+     message_filter.HandleInComingCall = mf_HandleInComingCall;
+     message_filter.RetryRejectedCall = mf_RetryRejectedCall;
+     message_filter.MessagePending = mf_MessagePending;
+ 
      com_hash = Data_Wrap_Struct(rb_cData, rb_mark_hash, st_free_table, st_init_numtable());
      rb_register_mark_object(com_hash);

--------------------------------------
Stop! Global Warming ~ Yahoo! JAPAN Earth Project
http://pr.mail.yahoo.co.jp/earthproject/

In This Thread