[Ultramonkey-l7-develop 838] [PATCH] proto_mod_ip XFF/SorryURI bugfix(1/1)

Back to archive index

Hibari Michiro hibar****@lab*****
2012年 12月 10日 (月) 12:51:03 JST


雲雀です。

userのML投稿で見つかった、ipモジュールで-Fオプションを
使用した際に、HTTPリクエストが壊れる問題の修正patchです。

コードを解析したところ、本問題はipモジュールでSorryURIオプションを
利用したときにも発生します。
添付のpatchで、-Fオプション利用時とSorryURIオプション利用時、
どちらの場合でも、事象が解消します。

本修正は、v3.1.0に取り込むのが良いと思います。

(修正内容)
put_data_into_sendbuffer()関数内で、送信データがsend_bufferを
上回った場合に、残ったデータの開始位置とサイズが更新されていな
かった箇所を修正しました。

以上、宜しくお願いいたします。

-------- Original Message --------
Subject: 	[Ultramonkey-l7-users 524] UltraMonkey-L7 v3系の処理異常事象報告
Date: 	Tue, 04 Dec 2012 16:23:51 +0900
From: 	株式会社ジーシーシー 太田 立志 <t-oot****@gcc*****>
To: 	ultra****@lists*****



開発者の皆様

太田と申します。

UltraMonkey-L7を大変有意義に使用させていただいております。
この場を借りて感謝の言葉を述べさせていただきます。

さて、
UltraMonkey-L7 v3系において、
ロードバランサー経由のPost処理後のWeb画面が正常に
表示されない事象が発生しましたので、
ご報告いたします。

パケットキャプチャ等取得しましたので、
ご確認いただけますと幸いです。

【事象】
クライアントPCから、
UltraMonkey-l7-3.0.3-1経由でWebシステムのPost処理を
行った際に処理後のWeb画面が正常に表示されない場合がある。
(事象を記したpdfファイルを別途お送りします)

【検証】
・Webサーバに直接アクセスして処理を行った場合、正常に動作します。
・UltraMonkey-l7-2.1.3-1であれば問題なく動作します。
・UltraMonkey-l7-3.0.4-2では同様に処理異常となります。
・処理異常が発生する前に「Malformed Packet」が発生しております。

【環境】
<ロードバランサー>
OS:Cent OS 5.6 32bit
Kernel:2.6.18-238.el5
UltraMonkey-l7バージョン:3.0.3-1
振り分け方法:IPモジュール( module = ip -F -R )

<Webサーバー>
OS:RHEL 5.4
Kernel:2.6.18-164.el5 32bit
Apache:2.2.15

【お送りする情報】
※各種取得情報を竹林様宛に別途送らせていただきます。

・Ultramonkeyl7-3.0.3.1経由の処理異常画面.pdf

・パケットキャプチャ
  <UltraMonkey-l7-3.0.3-1経由>
  1.クライアントPCパケットキャプチャ「PC_dump_UMv3.pcap」
  2.ロードバランサーパケットキャプチャ「LB_dump_UMv3.pcap」
  3.WEBサーバーパケットキャプチャ「WEB_dump_UMv3.pcap」

  <UltraMonkey-l7-2.1.3-1経由>
  4.クライアントPCパケットキャプチャ
    「PC_dump_UMv2.pcap」

・l7directord.cf

※その他必要な情報がありましたら、
 お申し付けください。


以上、よろしくお願いいたします。

_______________________________________________
Ultramonkey-l7-users mailing list
Ultra****@lists*****
http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users

_______________________________________________
Ultramonkey-l7-users mailing list
Ultra****@lists*****
http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users


-------------- next part --------------
--- protocol_module_ip.cpp.org	2012-12-10 11:10:51.240650941 +0900
+++ protocol_module_ip.cpp	2012-12-10 11:14:07.519280924 +0900
@@ -5657,6 +5657,11 @@ bool protocol_module_ip::put_data_into_s
                         buffer_element.first += sendbuffer_rest_size;
                         buffer_element.second -= sendbuffer_rest_size;
                         sendbuffer_rest_size = 0;
+
+                        //add remain item
+                        data_ptr->buffer_sequence.push_back(buffer_element);
+                        //delete the item
+                        data_ptr->buffer_sequence.pop_front();
                         break;
                 }
         }



Ultramonkey-l7-develop メーリングリストの案内
Back to archive index