diff --git a/OpenMetaverse.Tests/MessageTests.cs b/OpenMetaverse.Tests/MessageTests.cs
index ae41a662..55375ac4 100644
--- a/OpenMetaverse.Tests/MessageTests.cs
+++ b/OpenMetaverse.Tests/MessageTests.cs
@@ -890,6 +890,75 @@ namespace OpenMetaverse.Tests
Assert.AreEqual(s.Subject, t.Subject);
Assert.AreEqual(s.ToEmail, t.ToEmail);
}
+
+ [Test]
+ public void UpdateNotecardAgentInventoryMessage()
+ {
+ UpdateNotecardAgentInventoryMessage s = new UpdateNotecardAgentInventoryMessage();
+ s.ItemID = UUID.Random();
+
+ OSDMap map = s.Serialize();
+
+ UpdateNotecardAgentInventoryMessage t = new UpdateNotecardAgentInventoryMessage();
+ t.Deserialize(map);
+
+ Assert.AreEqual(s.ItemID, t.ItemID);
+ }
+
+ [Test]
+ public void LandStatReplyMessage()
+ {
+ LandStatReplyMessage s = new LandStatReplyMessage();
+ s.ReporType = 22;
+ s.RequestFlags = 44;
+ s.TotalObjectCount = 2;
+ s.ReportDataBlocks = new LandStatReplyMessage.ReportDataBlock[2];
+
+ LandStatReplyMessage.ReportDataBlock block1 = new LandStatReplyMessage.ReportDataBlock();
+ block1.Location = Vector3.One;
+ block1.MonoScore = 99;
+ block1.OwnerName = "Profoky Neva";
+ block1.Score = 10;
+ block1.TaskID = UUID.Random();
+ block1.TaskLocalID = 987341;
+ block1.TaskName = "Verbal Flogging";
+ block1.TimeStamp = new DateTime(2009, 5, 23, 4, 30, 0);
+ s.ReportDataBlocks[0] = block1;
+
+ LandStatReplyMessage.ReportDataBlock block2 = new LandStatReplyMessage.ReportDataBlock();
+ block2.Location = Vector3.One;
+ block2.MonoScore = 1;
+ block2.OwnerName = "Philip Linden";
+ block2.Score = 5;
+ block2.TaskID = UUID.Random();
+ block2.TaskLocalID = 987342;
+ block2.TaskName = "Happy Ant";
+ block2.TimeStamp = new DateTime(2008, 4, 22, 3, 29, 55);
+ s.ReportDataBlocks[1] = block2;
+
+ OSDMap map = s.Serialize();
+
+ LandStatReplyMessage t = new LandStatReplyMessage();
+ t.Deserialize(map);
+
+ Assert.AreEqual(s.ReporType, t.ReporType);
+ Assert.AreEqual(s.RequestFlags, t.RequestFlags);
+ Assert.AreEqual(s.TotalObjectCount, t.TotalObjectCount);
+
+ for (int i = 0; i < t.ReportDataBlocks.Length; i++)
+ {
+ Assert.AreEqual(s.ReportDataBlocks[i].Location, t.ReportDataBlocks[i].Location);
+ Assert.AreEqual(s.ReportDataBlocks[i].MonoScore, t.ReportDataBlocks[i].MonoScore);
+ Assert.AreEqual(s.ReportDataBlocks[i].OwnerName, t.ReportDataBlocks[i].OwnerName);
+ Assert.AreEqual(s.ReportDataBlocks[i].Score, t.ReportDataBlocks[i].Score);
+ Assert.AreEqual(s.ReportDataBlocks[i].TaskID, t.ReportDataBlocks[i].TaskID);
+ Assert.AreEqual(s.ReportDataBlocks[i].TaskLocalID, t.ReportDataBlocks[i].TaskLocalID);
+ Assert.AreEqual(s.ReportDataBlocks[i].TaskName, t.ReportDataBlocks[i].TaskName);
+ Assert.AreEqual(s.ReportDataBlocks[i].TimeStamp, t.ReportDataBlocks[i].TimeStamp);
+ }
+
+
+ }
}
}
diff --git a/OpenMetaverse/Messages/LindenMessages.cs b/OpenMetaverse/Messages/LindenMessages.cs
index 9b27b794..ff70c091 100644
--- a/OpenMetaverse/Messages/LindenMessages.cs
+++ b/OpenMetaverse/Messages/LindenMessages.cs
@@ -225,6 +225,141 @@ namespace OpenMetaverse.Messages.Linden
}
}
+ public class LandStatReplyMessage : IMessage
+ {
+
+ /* Single map
+ 'RequestData':
+ [
+ {
+ 'ReportType':b64"AAAAAA=="
+ ,
+ 'RequestFlags':b64"AAAABA=="
+ ,
+ 'TotalObjectCount':b64"AAABbw=="
+ }
+ ]
+ */
+ public int ReporType;
+ public int RequestFlags;
+ public int TotalObjectCount;
+
+ /*
+ 'DataExtended':
+ [
+ {
+ 'MonoScore':r0.0053327744826674461
+ ,
+ 'TimeStamp':b64"Seo9lw=="
+ }
+ ]
+ ,
+ 'ReportData':
+ [
+ {
+ 'LocationX':r34.764884948730469
+ ,
+ 'LocationY':r86.75262451171875
+ ,
+ 'LocationZ':r26.555828094482422
+ ,
+ 'OwnerName':'Preostan Scribe'
+ ,
+ 'Score':r0.0023237180430442095
+ ,
+ 'TaskID':u1623b11b-127f-a170-da37-21523b9967a1
+ ,
+ 'TaskLocalID':b64"BhZW4g=="
+ ,
+ 'TaskName':'Dutch Door Upper Half'
+ }
+ ]
+ ,*/
+ public class ReportDataBlock
+ {
+ public Vector3 Location;
+ public string OwnerName;
+ public float Score;
+ public UUID TaskID;
+ public uint TaskLocalID;
+ public string TaskName;
+ public float MonoScore;
+ public DateTime TimeStamp;
+ }
+
+ public ReportDataBlock[] ReportDataBlocks;
+
+ public OSDMap Serialize()
+ {
+ OSDMap map = new OSDMap(3);
+
+ OSDMap requestDataMap = new OSDMap(3);
+ requestDataMap["ReportType"] = OSD.FromInteger(this.ReporType);
+ requestDataMap["RequestFlags"] = OSD.FromInteger(this.RequestFlags);
+ requestDataMap["TotalObjectCount"] = OSD.FromInteger(this.TotalObjectCount);
+ map["RequestData"] = requestDataMap;
+
+ OSDArray reportDataArray = new OSDArray();
+ OSDArray dataExtendedArray = new OSDArray();
+ for (int i = 0; i < ReportDataBlocks.Length; i++)
+ {
+ OSDMap reportMap = new OSDMap(8);
+ reportMap["LocationX"] = OSD.FromReal(ReportDataBlocks[i].Location.X);
+ reportMap["LocationY"] = OSD.FromReal(ReportDataBlocks[i].Location.Y);
+ reportMap["LocationZ"] = OSD.FromReal(ReportDataBlocks[i].Location.Z);
+ reportMap["OwnerName"] = OSD.FromString(ReportDataBlocks[i].OwnerName);
+ reportMap["Score"] = OSD.FromReal(ReportDataBlocks[i].Score);
+ reportMap["TaskID"] = OSD.FromUUID(ReportDataBlocks[i].TaskID);
+ reportMap["TaskLocalID"] = OSD.FromReal(ReportDataBlocks[i].TaskLocalID);
+ reportMap["TaskName"] = OSD.FromString(ReportDataBlocks[i].TaskName);
+ reportDataArray.Add(reportMap);
+
+ OSDMap extendedMap = new OSDMap(2);
+ extendedMap["MonoScore"] = OSD.FromReal(ReportDataBlocks[i].MonoScore);
+ extendedMap["TimeStamp"] = OSD.FromDate(ReportDataBlocks[i].TimeStamp);
+ dataExtendedArray.Add(extendedMap);
+ }
+
+ map["ReportData"] = reportDataArray;
+ map["ExtendedData"] = dataExtendedArray;
+
+ return map;
+ }
+
+ public void Deserialize(OSDMap map)
+ {
+
+ OSDMap requestDataMap = (OSDMap)map["RequestData"];
+ this.ReporType = requestDataMap["ReportType"].AsInteger();
+ this.RequestFlags = requestDataMap["RequestFlags"].AsInteger();
+ this.TotalObjectCount = requestDataMap["TotalObjectCount"].AsInteger();
+
+ OSDArray dataArray = (OSDArray)map["ReportData"];
+ OSDArray dataExtendedArray = (OSDArray)map["ExtendedData"];
+
+ ReportDataBlocks = new ReportDataBlock[dataArray.Count];
+ for (int i = 0; i < dataArray.Count; i++)
+ {
+ OSDMap blockMap = (OSDMap)dataArray[i];
+ OSDMap extMap = (OSDMap)dataExtendedArray[i];
+ ReportDataBlock block = new ReportDataBlock();
+ block.Location = new Vector3(
+ (float)blockMap["LocationX"].AsReal(),
+ (float)blockMap["LocationY"].AsReal(),
+ (float)blockMap["LocationZ"].AsReal());
+ block.OwnerName = blockMap["OwnerName"].AsString();
+ block.Score = (float)blockMap["Score"].AsReal();
+ block.TaskID = blockMap["TaskID"].AsUUID();
+ block.TaskLocalID = blockMap["TaskLocalID"].AsUInteger();
+ block.TaskName = blockMap["TaskName"].AsString();
+ block.MonoScore = (float)extMap["MonoScore"].AsReal();
+ block.TimeStamp = extMap["TimeStamp"].AsDate();
+
+ ReportDataBlocks[i] = block;
+ }
+ }
+ }
+
#endregion
#region Parcel Messages
diff --git a/OpenMetaverse/Messages/MessageEventDecoder.cs b/OpenMetaverse/Messages/MessageEventDecoder.cs
index 9af1d4cb..929386f5 100644
--- a/OpenMetaverse/Messages/MessageEventDecoder.cs
+++ b/OpenMetaverse/Messages/MessageEventDecoder.cs
@@ -43,7 +43,7 @@ namespace OpenMetaverse
/// An to decode
/// A strongly typed object containing the decoded information from the capabilities message, or null
/// if no existing Message object exists for the specified event
- internal static IMessage DecodeEvent(string eventName, OSDMap map)
+ public static IMessage DecodeEvent(string eventName, OSDMap map)
{
IMessage message = null;
@@ -72,7 +72,9 @@ namespace OpenMetaverse
case "UpdateScriptAgent": message = new UpdateScriptAgentMessage(); break;
case "SendPostcard": message = new SendPostcardMessage(); break;
case "UpdateNotecardAgentInventory": message = new UpdateNotecardAgentInventoryMessage(); break;
-
+ case "LandStatReply": message = new LandStatReplyMessage(); break;
+ case "ParcelVoiceInfoRequest": message = new ParcelVoiceInfoRequestMessage(); break;
+ case "ViewerStats": message = new ViewerStatsMessage(); break;
// Capabilities TODO:
// DispatchRegionInfo
diff --git a/Programs/GridProxy/GridProxy.cs b/Programs/GridProxy/GridProxy.cs
index f970464e..9bcf2ba2 100644
--- a/Programs/GridProxy/GridProxy.cs
+++ b/Programs/GridProxy/GridProxy.cs
@@ -349,9 +349,16 @@ namespace GridProxy
// InitializeLoginProxy: initialize the login proxy
private void InitializeLoginProxy()
{
- loginServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- loginServer.Bind(new IPEndPoint(proxyConfig.clientFacingAddress, proxyConfig.loginPort));
- loginServer.Listen(1);
+ try
+ {
+ loginServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ loginServer.Bind(new IPEndPoint(proxyConfig.clientFacingAddress, proxyConfig.loginPort));
+ loginServer.Listen(1);
+ }
+ catch (SocketException e)
+ {
+ Log(e.Message + " " + e.StackTrace, true);
+ }
}
// RunLoginProxy: process login requests from clients
@@ -630,6 +637,8 @@ namespace GridProxy
capReq.Request = OSDParser.DeserializeLLSDXml(content);
}
+ capReq.RawRequest = content;
+
foreach (CapsDelegate d in cap.GetDelegates())
{
if (d(capReq, CapsStage.Request)) { shortCircuit = true; break; }
@@ -657,6 +666,7 @@ namespace GridProxy
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);
req.KeepAlive = false;
+ capReq.RequestHeaders = headers;
foreach (string header in headers.Keys)
{
if (header == "accept" || header == "connection" ||
@@ -739,6 +749,7 @@ namespace GridProxy
{
capReq.Response = OSDParser.DeserializeLLSDXml(respBuf);
}
+ capReq.RawResponse = respBuf;
}
@@ -749,6 +760,7 @@ namespace GridProxy
netStream.Write(wr, 0, wr.Length);
}
+ capReq.ResponseHeaders = resp.Headers;
for (int i = 0; i < resp.Headers.Count; i++)
{
string key = resp.Headers.Keys[i];
@@ -2134,6 +2146,13 @@ namespace GridProxy
// The corresponding response
public OSD Response = null;
+
+ public byte[] RawRequest = null;
+ public byte[] RawResponse = null;
+
+ public Dictionary RequestHeaders;
+ public WebHeaderCollection ResponseHeaders;
+
}
// XmlRpcRequestDelegate: specifies a delegate to be called for XML-RPC requests
diff --git a/Programs/WinGridProxy/Form1.Designer.cs b/Programs/WinGridProxy/Form1.Designer.cs
index 162cae1a..54ed46b3 100644
--- a/Programs/WinGridProxy/Form1.Designer.cs
+++ b/Programs/WinGridProxy/Form1.Designer.cs
@@ -31,7 +31,7 @@
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.panelProxyConfig = new System.Windows.Forms.Panel();
- this.textBoxLoginURL = new System.Windows.Forms.TextBox();
+ this.comboBoxLoginURL = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBoxProxyPort = new System.Windows.Forms.TextBox();
@@ -40,12 +40,6 @@
this.textBoxProxyListenIP = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
- this.listViewSessions = new WinGridProxy.ListViewNoFlicker();
- this.columnHeaderCounter = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderProtocol = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderType = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderSize = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderUrl = new System.Windows.Forms.ColumnHeader();
this.contextMenuStripSessions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItemAutoScroll = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
@@ -99,30 +93,25 @@
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.checkBoxCheckAllPackets = new System.Windows.Forms.CheckBox();
this.grpUDPFilters = new System.Windows.Forms.GroupBox();
- this.listViewPacketFilters = new WinGridProxy.ListViewNoFlicker();
- this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.checkBoxCheckAllMessages = new System.Windows.Forms.CheckBox();
- this.buttonRefreshKnownCaps = new System.Windows.Forms.Button();
this.grpCapsFilters = new System.Windows.Forms.GroupBox();
- this.listViewMessageFilters = new WinGridProxy.ListViewNoFlicker();
- this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.tabPageInspect = new System.Windows.Forms.TabPage();
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.tabControlInspectorRequest = new System.Windows.Forms.TabControl();
- this.tabPage1 = new System.Windows.Forms.TabPage();
- this.richTextBoxRawLogRequest = new System.Windows.Forms.RichTextBox();
- this.tabPage2 = new System.Windows.Forms.TabPage();
- this.treeViewRequestXml = new System.Windows.Forms.TreeView();
- this.tabPage3 = new System.Windows.Forms.TabPage();
+ this.tabPageRawRequest = new System.Windows.Forms.TabPage();
+ this.richTextBoxRawRequest = new System.Windows.Forms.RichTextBox();
+ this.tabPageXMLRequest = new System.Windows.Forms.TabPage();
+ this.treeViewXMLRequest = new System.Windows.Forms.TreeView();
+ this.tabPageHexRequest = new System.Windows.Forms.TabPage();
this.statusStrip2 = new System.Windows.Forms.StatusStrip();
this.labelRequestHex = new System.Windows.Forms.ToolStripStatusLabel();
this.hexBoxRequest = new Be.Windows.Forms.HexBox();
this.tabControlInspectorResponse = new System.Windows.Forms.TabControl();
- this.tabPageInspectorRAW = new System.Windows.Forms.TabPage();
- this.richTextBoxRawLogResponse = new System.Windows.Forms.RichTextBox();
- this.tabPageInspectorXML = new System.Windows.Forms.TabPage();
- this.treeViewResponseXml = new System.Windows.Forms.TreeView();
- this.tabPageHexView = new System.Windows.Forms.TabPage();
+ this.tabPageInspectorRAWResponse = new System.Windows.Forms.TabPage();
+ this.richTextBoxRawResponse = new System.Windows.Forms.RichTextBox();
+ this.tabPageInspectorXMLResponse = new System.Windows.Forms.TabPage();
+ this.treeViewXmlResponse = new System.Windows.Forms.TreeView();
+ this.tabPageHexViewResponse = new System.Windows.Forms.TabPage();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.labelResponseHex = new System.Windows.Forms.ToolStripStatusLabel();
this.hexBoxResponse = new Be.Windows.Forms.HexBox();
@@ -207,6 +196,26 @@
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialog2 = new System.Windows.Forms.SaveFileDialog();
this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog();
+ this.tabPageResponseJson = new System.Windows.Forms.TabPage();
+ this.tabPageRequestJson = new System.Windows.Forms.TabPage();
+ this.richTextBoxNotationResponse = new System.Windows.Forms.RichTextBox();
+ this.richTextBoxNotationRequest = new System.Windows.Forms.RichTextBox();
+ this.listViewSessions = new WinGridProxy.ListViewNoFlicker();
+ this.columnHeaderCounter = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderProtocol = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderType = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderSize = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderUrl = new System.Windows.Forms.ColumnHeader();
+ this.listViewPacketFilters = new WinGridProxy.ListViewNoFlicker();
+ this.columnHeaderPacketName = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderPacketType = new System.Windows.Forms.ColumnHeader();
+ this.listViewMessageFilters = new WinGridProxy.ListViewNoFlicker();
+ this.columnHeaderName = new System.Windows.Forms.ColumnHeader();
+ this.columnHeaderMessageType = new System.Windows.Forms.ColumnHeader();
+ this.tabPageDecodedRequest = new System.Windows.Forms.TabPage();
+ this.tabPageDecodeResponse = new System.Windows.Forms.TabPage();
+ this.richTextBoxDecodedResponse = new System.Windows.Forms.RichTextBox();
+ this.richTextBoxDecodedRequest = new System.Windows.Forms.RichTextBox();
this.panelProxyConfig.SuspendLayout();
this.panel2.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
@@ -232,23 +241,27 @@
this.splitContainer3.Panel2.SuspendLayout();
this.splitContainer3.SuspendLayout();
this.tabControlInspectorRequest.SuspendLayout();
- this.tabPage1.SuspendLayout();
- this.tabPage2.SuspendLayout();
- this.tabPage3.SuspendLayout();
+ this.tabPageRawRequest.SuspendLayout();
+ this.tabPageXMLRequest.SuspendLayout();
+ this.tabPageHexRequest.SuspendLayout();
this.statusStrip2.SuspendLayout();
this.tabControlInspectorResponse.SuspendLayout();
- this.tabPageInspectorRAW.SuspendLayout();
- this.tabPageInspectorXML.SuspendLayout();
- this.tabPageHexView.SuspendLayout();
+ this.tabPageInspectorRAWResponse.SuspendLayout();
+ this.tabPageInspectorXMLResponse.SuspendLayout();
+ this.tabPageHexViewResponse.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.tabPageInject.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.contextMenuStripCopy.SuspendLayout();
+ this.tabPageResponseJson.SuspendLayout();
+ this.tabPageRequestJson.SuspendLayout();
+ this.tabPageDecodedRequest.SuspendLayout();
+ this.tabPageDecodeResponse.SuspendLayout();
this.SuspendLayout();
//
// panelProxyConfig
//
- this.panelProxyConfig.Controls.Add(this.textBoxLoginURL);
+ this.panelProxyConfig.Controls.Add(this.comboBoxLoginURL);
this.panelProxyConfig.Controls.Add(this.label3);
this.panelProxyConfig.Controls.Add(this.label2);
this.panelProxyConfig.Controls.Add(this.textBoxProxyPort);
@@ -260,13 +273,19 @@
this.panelProxyConfig.Size = new System.Drawing.Size(1070, 32);
this.panelProxyConfig.TabIndex = 0;
//
- // textBoxLoginURL
+ // comboBoxLoginURL
//
- this.textBoxLoginURL.Location = new System.Drawing.Point(406, 6);
- this.textBoxLoginURL.Name = "textBoxLoginURL";
- this.textBoxLoginURL.Size = new System.Drawing.Size(252, 20);
- this.textBoxLoginURL.TabIndex = 6;
- this.textBoxLoginURL.Text = "https://login.agni.lindenlab.com/cgi-bin/login.cgi";
+ this.comboBoxLoginURL.FormattingEnabled = true;
+ this.comboBoxLoginURL.Items.AddRange(new object[] {
+ "https://login.agni.lindenlab.com/cgi-bin/login.cgi",
+ "https://login.aditi.lindenlab.com/cgi-bin/login.cgi",
+ "http://127.0.0.1:8002",
+ "http://osgrid.org:8002"});
+ this.comboBoxLoginURL.Location = new System.Drawing.Point(406, 6);
+ this.comboBoxLoginURL.Name = "comboBoxLoginURL";
+ this.comboBoxLoginURL.Size = new System.Drawing.Size(252, 21);
+ this.comboBoxLoginURL.TabIndex = 6;
+ this.comboBoxLoginURL.Text = "https://login.agni.lindenlab.com/cgi-bin/login.cgi";
//
// label3
//
@@ -351,52 +370,6 @@
this.splitContainer1.SplitterDistance = 464;
this.splitContainer1.TabIndex = 0;
//
- // listViewSessions
- //
- this.listViewSessions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeaderCounter,
- this.columnHeaderProtocol,
- this.columnHeaderType,
- this.columnHeaderSize,
- this.columnHeaderUrl});
- this.listViewSessions.ContextMenuStrip = this.contextMenuStripSessions;
- this.listViewSessions.Dock = System.Windows.Forms.DockStyle.Fill;
- this.listViewSessions.FullRowSelect = true;
- this.listViewSessions.GridLines = true;
- this.listViewSessions.HideSelection = false;
- this.listViewSessions.Location = new System.Drawing.Point(0, 0);
- this.listViewSessions.Name = "listViewSessions";
- this.listViewSessions.Size = new System.Drawing.Size(464, 428);
- this.listViewSessions.SmallImageList = this.imageList1;
- this.listViewSessions.TabIndex = 0;
- this.listViewSessions.UseCompatibleStateImageBehavior = false;
- this.listViewSessions.View = System.Windows.Forms.View.Details;
- this.listViewSessions.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listViewSessions_ItemSelectionChanged);
- //
- // columnHeaderCounter
- //
- this.columnHeaderCounter.Text = "#";
- this.columnHeaderCounter.Width = 54;
- //
- // columnHeaderProtocol
- //
- this.columnHeaderProtocol.Text = "Protocol";
- this.columnHeaderProtocol.Width = 55;
- //
- // columnHeaderType
- //
- this.columnHeaderType.Text = "Packet Type";
- this.columnHeaderType.Width = 139;
- //
- // columnHeaderSize
- //
- this.columnHeaderSize.Text = "Bytes";
- //
- // columnHeaderUrl
- //
- this.columnHeaderUrl.Text = "Host/Address";
- this.columnHeaderUrl.Width = 312;
- //
// contextMenuStripSessions
//
this.contextMenuStripSessions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -441,7 +414,7 @@
this.toolStripMenuItemRemoveSelected,
this.toolStripMenuItemRemoveUnselected});
this.contextMenuStripRemove.Name = "contextMenuStripRemove";
- this.contextMenuStripRemove.OwnerItem = this.removeToolStripMenuItem2;
+ this.contextMenuStripRemove.OwnerItem = this.toolStripMenuItem1;
this.contextMenuStripRemove.Size = new System.Drawing.Size(149, 70);
//
// toolStripMenuItemRemoveAll
@@ -483,7 +456,7 @@
this.toolStripMenuItemSelectPacketName,
this.toolStripMenuItemSelectProtocol});
this.contextMenuStripSelect.Name = "contextMenuStripSelect";
- this.contextMenuStripSelect.OwnerItem = this.selectToolStripMenuItem1;
+ this.contextMenuStripSelect.OwnerItem = this.selectToolStripMenuItem2;
this.contextMenuStripSelect.Size = new System.Drawing.Size(167, 120);
//
// allToolStripMenuItem4
@@ -565,7 +538,7 @@
this.toolStripSeparator17,
this.unmarkToolStripMenuItem});
this.contextMenuStripMark.Name = "contextMenuStripMarkDropdown";
- this.contextMenuStripMark.OwnerItem = this.markToolStripMenuItem1;
+ this.contextMenuStripMark.OwnerItem = this.markToolStripMenuItem2;
this.contextMenuStripMark.Size = new System.Drawing.Size(122, 142);
//
// redToolStripMenuItem2
@@ -844,7 +817,6 @@
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.checkBoxCheckAllMessages);
- this.splitContainer2.Panel2.Controls.Add(this.buttonRefreshKnownCaps);
this.splitContainer2.Panel2.Controls.Add(this.grpCapsFilters);
this.splitContainer2.Size = new System.Drawing.Size(587, 390);
this.splitContainer2.SplitterDistance = 294;
@@ -856,7 +828,7 @@
this.checkBoxCheckAllPackets.AutoSize = true;
this.checkBoxCheckAllPackets.Checked = true;
this.checkBoxCheckAllPackets.CheckState = System.Windows.Forms.CheckState.Indeterminate;
- this.checkBoxCheckAllPackets.Location = new System.Drawing.Point(3, 369);
+ this.checkBoxCheckAllPackets.Location = new System.Drawing.Point(6, 369);
this.checkBoxCheckAllPackets.Name = "checkBoxCheckAllPackets";
this.checkBoxCheckAllPackets.Size = new System.Drawing.Size(120, 17);
this.checkBoxCheckAllPackets.TabIndex = 1;
@@ -878,36 +850,13 @@
this.grpUDPFilters.TabStop = false;
this.grpUDPFilters.Text = "UDP Packets";
//
- // listViewPacketFilters
- //
- this.listViewPacketFilters.CheckBoxes = true;
- this.listViewPacketFilters.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader1});
- this.listViewPacketFilters.Dock = System.Windows.Forms.DockStyle.Fill;
- this.listViewPacketFilters.FullRowSelect = true;
- this.listViewPacketFilters.Location = new System.Drawing.Point(3, 16);
- this.listViewPacketFilters.MultiSelect = false;
- this.listViewPacketFilters.Name = "listViewPacketFilters";
- this.listViewPacketFilters.Size = new System.Drawing.Size(282, 338);
- this.listViewPacketFilters.Sorting = System.Windows.Forms.SortOrder.Ascending;
- this.listViewPacketFilters.TabIndex = 0;
- this.listViewPacketFilters.UseCompatibleStateImageBehavior = false;
- this.listViewPacketFilters.View = System.Windows.Forms.View.Details;
- this.listViewPacketFilters.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.listViewPacketFilters_ItemChecked);
- this.listViewPacketFilters.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewFilterSorter_ColumnClick);
- //
- // columnHeader1
- //
- this.columnHeader1.Text = "Packet Name";
- this.columnHeader1.Width = 266;
- //
// checkBoxCheckAllMessages
//
this.checkBoxCheckAllMessages.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkBoxCheckAllMessages.AutoSize = true;
this.checkBoxCheckAllMessages.Checked = true;
this.checkBoxCheckAllMessages.CheckState = System.Windows.Forms.CheckState.Indeterminate;
- this.checkBoxCheckAllMessages.Location = new System.Drawing.Point(3, 370);
+ this.checkBoxCheckAllMessages.Location = new System.Drawing.Point(6, 370);
this.checkBoxCheckAllMessages.Name = "checkBoxCheckAllMessages";
this.checkBoxCheckAllMessages.Size = new System.Drawing.Size(120, 17);
this.checkBoxCheckAllMessages.TabIndex = 2;
@@ -915,17 +864,6 @@
this.checkBoxCheckAllMessages.UseVisualStyleBackColor = true;
this.checkBoxCheckAllMessages.CheckedChanged += new System.EventHandler(this.checkBoxCheckallCaps_CheckedChanged);
//
- // buttonRefreshKnownCaps
- //
- this.buttonRefreshKnownCaps.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.buttonRefreshKnownCaps.Location = new System.Drawing.Point(200, 366);
- this.buttonRefreshKnownCaps.Name = "buttonRefreshKnownCaps";
- this.buttonRefreshKnownCaps.Size = new System.Drawing.Size(86, 21);
- this.buttonRefreshKnownCaps.TabIndex = 1;
- this.buttonRefreshKnownCaps.Text = "Refresh";
- this.buttonRefreshKnownCaps.UseVisualStyleBackColor = true;
- this.buttonRefreshKnownCaps.Click += new System.EventHandler(this.buttonRefreshCapsList_Click);
- //
// grpCapsFilters
//
this.grpCapsFilters.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -940,29 +878,6 @@
this.grpCapsFilters.TabStop = false;
this.grpCapsFilters.Text = "Capabilities Messages";
//
- // listViewMessageFilters
- //
- this.listViewMessageFilters.CheckBoxes = true;
- this.listViewMessageFilters.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader2});
- this.listViewMessageFilters.Dock = System.Windows.Forms.DockStyle.Fill;
- this.listViewMessageFilters.FullRowSelect = true;
- this.listViewMessageFilters.Location = new System.Drawing.Point(3, 16);
- this.listViewMessageFilters.MultiSelect = false;
- this.listViewMessageFilters.Name = "listViewMessageFilters";
- this.listViewMessageFilters.Size = new System.Drawing.Size(277, 338);
- this.listViewMessageFilters.Sorting = System.Windows.Forms.SortOrder.Ascending;
- this.listViewMessageFilters.TabIndex = 1;
- this.listViewMessageFilters.UseCompatibleStateImageBehavior = false;
- this.listViewMessageFilters.View = System.Windows.Forms.View.Details;
- this.listViewMessageFilters.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.listViewMessageFilters_ItemChecked);
- this.listViewMessageFilters.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewFilterSorter_ColumnClick);
- //
- // columnHeader2
- //
- this.columnHeader2.Text = "Message Name";
- this.columnHeader2.Width = 265;
- //
// tabPageInspect
//
this.tabPageInspect.Controls.Add(this.splitContainer3);
@@ -994,9 +909,11 @@
// tabControlInspectorRequest
//
this.tabControlInspectorRequest.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
- this.tabControlInspectorRequest.Controls.Add(this.tabPage1);
- this.tabControlInspectorRequest.Controls.Add(this.tabPage2);
- this.tabControlInspectorRequest.Controls.Add(this.tabPage3);
+ this.tabControlInspectorRequest.Controls.Add(this.tabPageDecodedRequest);
+ this.tabControlInspectorRequest.Controls.Add(this.tabPageRawRequest);
+ this.tabControlInspectorRequest.Controls.Add(this.tabPageXMLRequest);
+ this.tabControlInspectorRequest.Controls.Add(this.tabPageRequestJson);
+ this.tabControlInspectorRequest.Controls.Add(this.tabPageHexRequest);
this.tabControlInspectorRequest.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlInspectorRequest.ImageList = this.imageList1;
this.tabControlInspectorRequest.Location = new System.Drawing.Point(0, 0);
@@ -1005,60 +922,60 @@
this.tabControlInspectorRequest.Size = new System.Drawing.Size(593, 179);
this.tabControlInspectorRequest.TabIndex = 0;
//
- // tabPage1
+ // tabPageRawRequest
//
- this.tabPage1.Controls.Add(this.richTextBoxRawLogRequest);
- this.tabPage1.ImageIndex = 1;
- this.tabPage1.Location = new System.Drawing.Point(4, 26);
- this.tabPage1.Name = "tabPage1";
- this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage1.Size = new System.Drawing.Size(585, 149);
- this.tabPage1.TabIndex = 0;
- this.tabPage1.Text = "Raw";
- this.tabPage1.UseVisualStyleBackColor = true;
+ this.tabPageRawRequest.Controls.Add(this.richTextBoxRawRequest);
+ this.tabPageRawRequest.ImageIndex = 1;
+ this.tabPageRawRequest.Location = new System.Drawing.Point(4, 26);
+ this.tabPageRawRequest.Name = "tabPageRawRequest";
+ this.tabPageRawRequest.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageRawRequest.Size = new System.Drawing.Size(585, 149);
+ this.tabPageRawRequest.TabIndex = 0;
+ this.tabPageRawRequest.Text = "Raw";
+ this.tabPageRawRequest.UseVisualStyleBackColor = true;
//
- // richTextBoxRawLogRequest
+ // richTextBoxRawRequest
//
- this.richTextBoxRawLogRequest.Dock = System.Windows.Forms.DockStyle.Fill;
- this.richTextBoxRawLogRequest.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.richTextBoxRawLogRequest.Location = new System.Drawing.Point(3, 3);
- this.richTextBoxRawLogRequest.Name = "richTextBoxRawLogRequest";
- this.richTextBoxRawLogRequest.Size = new System.Drawing.Size(579, 143);
- this.richTextBoxRawLogRequest.TabIndex = 1;
- this.richTextBoxRawLogRequest.Text = "";
- this.richTextBoxRawLogRequest.WordWrap = false;
+ this.richTextBoxRawRequest.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxRawRequest.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.richTextBoxRawRequest.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxRawRequest.Name = "richTextBoxRawRequest";
+ this.richTextBoxRawRequest.Size = new System.Drawing.Size(579, 143);
+ this.richTextBoxRawRequest.TabIndex = 1;
+ this.richTextBoxRawRequest.Text = "";
+ this.richTextBoxRawRequest.WordWrap = false;
//
- // tabPage2
+ // tabPageXMLRequest
//
- this.tabPage2.Controls.Add(this.treeViewRequestXml);
- this.tabPage2.ImageIndex = 1;
- this.tabPage2.Location = new System.Drawing.Point(4, 26);
- this.tabPage2.Name = "tabPage2";
- this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage2.Size = new System.Drawing.Size(585, 149);
- this.tabPage2.TabIndex = 1;
- this.tabPage2.Text = "XML";
- this.tabPage2.UseVisualStyleBackColor = true;
+ this.tabPageXMLRequest.Controls.Add(this.treeViewXMLRequest);
+ this.tabPageXMLRequest.ImageIndex = 1;
+ this.tabPageXMLRequest.Location = new System.Drawing.Point(4, 26);
+ this.tabPageXMLRequest.Name = "tabPageXMLRequest";
+ this.tabPageXMLRequest.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageXMLRequest.Size = new System.Drawing.Size(585, 149);
+ this.tabPageXMLRequest.TabIndex = 1;
+ this.tabPageXMLRequest.Text = "XML";
+ this.tabPageXMLRequest.UseVisualStyleBackColor = true;
//
- // treeViewRequestXml
+ // treeViewXMLRequest
//
- this.treeViewRequestXml.Dock = System.Windows.Forms.DockStyle.Fill;
- this.treeViewRequestXml.Location = new System.Drawing.Point(3, 3);
- this.treeViewRequestXml.Name = "treeViewRequestXml";
- this.treeViewRequestXml.Size = new System.Drawing.Size(579, 143);
- this.treeViewRequestXml.TabIndex = 1;
+ this.treeViewXMLRequest.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.treeViewXMLRequest.Location = new System.Drawing.Point(3, 3);
+ this.treeViewXMLRequest.Name = "treeViewXMLRequest";
+ this.treeViewXMLRequest.Size = new System.Drawing.Size(579, 143);
+ this.treeViewXMLRequest.TabIndex = 1;
//
- // tabPage3
+ // tabPageHexRequest
//
- this.tabPage3.Controls.Add(this.statusStrip2);
- this.tabPage3.Controls.Add(this.hexBoxRequest);
- this.tabPage3.ImageIndex = 1;
- this.tabPage3.Location = new System.Drawing.Point(4, 26);
- this.tabPage3.Name = "tabPage3";
- this.tabPage3.Size = new System.Drawing.Size(585, 149);
- this.tabPage3.TabIndex = 2;
- this.tabPage3.Text = "Hex";
- this.tabPage3.UseVisualStyleBackColor = true;
+ this.tabPageHexRequest.Controls.Add(this.statusStrip2);
+ this.tabPageHexRequest.Controls.Add(this.hexBoxRequest);
+ this.tabPageHexRequest.ImageIndex = 1;
+ this.tabPageHexRequest.Location = new System.Drawing.Point(4, 26);
+ this.tabPageHexRequest.Name = "tabPageHexRequest";
+ this.tabPageHexRequest.Size = new System.Drawing.Size(585, 149);
+ this.tabPageHexRequest.TabIndex = 2;
+ this.tabPageHexRequest.Text = "Hex";
+ this.tabPageHexRequest.UseVisualStyleBackColor = true;
//
// statusStrip2
//
@@ -1096,9 +1013,11 @@
// tabControlInspectorResponse
//
this.tabControlInspectorResponse.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
- this.tabControlInspectorResponse.Controls.Add(this.tabPageInspectorRAW);
- this.tabControlInspectorResponse.Controls.Add(this.tabPageInspectorXML);
- this.tabControlInspectorResponse.Controls.Add(this.tabPageHexView);
+ this.tabControlInspectorResponse.Controls.Add(this.tabPageDecodeResponse);
+ this.tabControlInspectorResponse.Controls.Add(this.tabPageInspectorRAWResponse);
+ this.tabControlInspectorResponse.Controls.Add(this.tabPageInspectorXMLResponse);
+ this.tabControlInspectorResponse.Controls.Add(this.tabPageResponseJson);
+ this.tabControlInspectorResponse.Controls.Add(this.tabPageHexViewResponse);
this.tabControlInspectorResponse.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlInspectorResponse.ImageList = this.imageList1;
this.tabControlInspectorResponse.Location = new System.Drawing.Point(0, 0);
@@ -1108,61 +1027,61 @@
this.tabControlInspectorResponse.Size = new System.Drawing.Size(593, 213);
this.tabControlInspectorResponse.TabIndex = 0;
//
- // tabPageInspectorRAW
+ // tabPageInspectorRAWResponse
//
- this.tabPageInspectorRAW.Controls.Add(this.richTextBoxRawLogResponse);
- this.tabPageInspectorRAW.ImageIndex = 0;
- this.tabPageInspectorRAW.Location = new System.Drawing.Point(4, 26);
- this.tabPageInspectorRAW.Name = "tabPageInspectorRAW";
- this.tabPageInspectorRAW.Padding = new System.Windows.Forms.Padding(3);
- this.tabPageInspectorRAW.Size = new System.Drawing.Size(585, 183);
- this.tabPageInspectorRAW.TabIndex = 0;
- this.tabPageInspectorRAW.Text = "Raw";
- this.tabPageInspectorRAW.UseVisualStyleBackColor = true;
+ this.tabPageInspectorRAWResponse.Controls.Add(this.richTextBoxRawResponse);
+ this.tabPageInspectorRAWResponse.ImageIndex = 0;
+ this.tabPageInspectorRAWResponse.Location = new System.Drawing.Point(4, 26);
+ this.tabPageInspectorRAWResponse.Name = "tabPageInspectorRAWResponse";
+ this.tabPageInspectorRAWResponse.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageInspectorRAWResponse.Size = new System.Drawing.Size(585, 183);
+ this.tabPageInspectorRAWResponse.TabIndex = 0;
+ this.tabPageInspectorRAWResponse.Text = "Raw";
+ this.tabPageInspectorRAWResponse.UseVisualStyleBackColor = true;
//
- // richTextBoxRawLogResponse
+ // richTextBoxRawResponse
//
- this.richTextBoxRawLogResponse.Dock = System.Windows.Forms.DockStyle.Fill;
- this.richTextBoxRawLogResponse.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.richTextBoxRawLogResponse.Location = new System.Drawing.Point(3, 3);
- this.richTextBoxRawLogResponse.Name = "richTextBoxRawLogResponse";
- this.richTextBoxRawLogResponse.Size = new System.Drawing.Size(579, 177);
- this.richTextBoxRawLogResponse.TabIndex = 0;
- this.richTextBoxRawLogResponse.Text = "";
- this.richTextBoxRawLogResponse.WordWrap = false;
+ this.richTextBoxRawResponse.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxRawResponse.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.richTextBoxRawResponse.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxRawResponse.Name = "richTextBoxRawResponse";
+ this.richTextBoxRawResponse.Size = new System.Drawing.Size(579, 177);
+ this.richTextBoxRawResponse.TabIndex = 0;
+ this.richTextBoxRawResponse.Text = "";
+ this.richTextBoxRawResponse.WordWrap = false;
//
- // tabPageInspectorXML
+ // tabPageInspectorXMLResponse
//
- this.tabPageInspectorXML.Controls.Add(this.treeViewResponseXml);
- this.tabPageInspectorXML.ImageIndex = 0;
- this.tabPageInspectorXML.Location = new System.Drawing.Point(4, 26);
- this.tabPageInspectorXML.Name = "tabPageInspectorXML";
- this.tabPageInspectorXML.Padding = new System.Windows.Forms.Padding(3);
- this.tabPageInspectorXML.Size = new System.Drawing.Size(585, 183);
- this.tabPageInspectorXML.TabIndex = 1;
- this.tabPageInspectorXML.Text = "XML";
- this.tabPageInspectorXML.UseVisualStyleBackColor = true;
+ this.tabPageInspectorXMLResponse.Controls.Add(this.treeViewXmlResponse);
+ this.tabPageInspectorXMLResponse.ImageIndex = 0;
+ this.tabPageInspectorXMLResponse.Location = new System.Drawing.Point(4, 26);
+ this.tabPageInspectorXMLResponse.Name = "tabPageInspectorXMLResponse";
+ this.tabPageInspectorXMLResponse.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageInspectorXMLResponse.Size = new System.Drawing.Size(585, 183);
+ this.tabPageInspectorXMLResponse.TabIndex = 1;
+ this.tabPageInspectorXMLResponse.Text = "XML";
+ this.tabPageInspectorXMLResponse.UseVisualStyleBackColor = true;
//
- // treeViewResponseXml
+ // treeViewXmlResponse
//
- this.treeViewResponseXml.Dock = System.Windows.Forms.DockStyle.Fill;
- this.treeViewResponseXml.Location = new System.Drawing.Point(3, 3);
- this.treeViewResponseXml.Name = "treeViewResponseXml";
- this.treeViewResponseXml.Size = new System.Drawing.Size(579, 177);
- this.treeViewResponseXml.TabIndex = 0;
+ this.treeViewXmlResponse.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.treeViewXmlResponse.Location = new System.Drawing.Point(3, 3);
+ this.treeViewXmlResponse.Name = "treeViewXmlResponse";
+ this.treeViewXmlResponse.Size = new System.Drawing.Size(579, 177);
+ this.treeViewXmlResponse.TabIndex = 0;
//
- // tabPageHexView
+ // tabPageHexViewResponse
//
- this.tabPageHexView.Controls.Add(this.statusStrip1);
- this.tabPageHexView.Controls.Add(this.hexBoxResponse);
- this.tabPageHexView.ImageIndex = 0;
- this.tabPageHexView.Location = new System.Drawing.Point(4, 26);
- this.tabPageHexView.Name = "tabPageHexView";
- this.tabPageHexView.Padding = new System.Windows.Forms.Padding(3);
- this.tabPageHexView.Size = new System.Drawing.Size(585, 183);
- this.tabPageHexView.TabIndex = 4;
- this.tabPageHexView.Text = "Hex";
- this.tabPageHexView.UseVisualStyleBackColor = true;
+ this.tabPageHexViewResponse.Controls.Add(this.statusStrip1);
+ this.tabPageHexViewResponse.Controls.Add(this.hexBoxResponse);
+ this.tabPageHexViewResponse.ImageIndex = 0;
+ this.tabPageHexViewResponse.Location = new System.Drawing.Point(4, 26);
+ this.tabPageHexViewResponse.Name = "tabPageHexViewResponse";
+ this.tabPageHexViewResponse.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageHexViewResponse.Size = new System.Drawing.Size(585, 183);
+ this.tabPageHexViewResponse.TabIndex = 4;
+ this.tabPageHexViewResponse.Text = "Hex";
+ this.tabPageHexViewResponse.UseVisualStyleBackColor = true;
//
// statusStrip1
//
@@ -1273,21 +1192,21 @@
//
this.removeToolStripMenuItem2.DropDown = this.contextMenuStripRemove;
this.removeToolStripMenuItem2.Name = "removeToolStripMenuItem2";
- this.removeToolStripMenuItem2.Size = new System.Drawing.Size(143, 22);
+ this.removeToolStripMenuItem2.Size = new System.Drawing.Size(152, 22);
this.removeToolStripMenuItem2.Text = "Remove";
//
// selectToolStripMenuItem1
//
this.selectToolStripMenuItem1.DropDown = this.contextMenuStripSelect;
this.selectToolStripMenuItem1.Name = "selectToolStripMenuItem1";
- this.selectToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
+ this.selectToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
this.selectToolStripMenuItem1.Text = "Select";
//
// markToolStripMenuItem1
//
this.markToolStripMenuItem1.DropDown = this.contextMenuStripMark;
this.markToolStripMenuItem1.Name = "markToolStripMenuItem1";
- this.markToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
+ this.markToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
this.markToolStripMenuItem1.Text = "Mark";
//
// toolStripLabelHexEditorRequest
@@ -1443,7 +1362,7 @@
//
this.copyToolStripMenuItem1.DropDown = this.contextMenuStripCopy;
this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1";
- this.copyToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
+ this.copyToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
this.copyToolStripMenuItem1.Text = "Copy";
//
// contextMenuStripCopy
@@ -1484,18 +1403,18 @@
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
- this.toolStripSeparator10.Size = new System.Drawing.Size(140, 6);
+ this.toolStripSeparator10.Size = new System.Drawing.Size(149, 6);
//
// toolStripSeparator12
//
this.toolStripSeparator12.Name = "toolStripSeparator12";
- this.toolStripSeparator12.Size = new System.Drawing.Size(140, 6);
+ this.toolStripSeparator12.Size = new System.Drawing.Size(149, 6);
//
// findToolStripMenuItem
//
this.findToolStripMenuItem.Name = "findToolStripMenuItem";
this.findToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
- this.findToolStripMenuItem.Size = new System.Drawing.Size(143, 22);
+ this.findToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.findToolStripMenuItem.Text = "Find";
this.findToolStripMenuItem.Click += new System.EventHandler(this.findSessions_Click);
//
@@ -1850,6 +1769,197 @@
this.openFileDialog2.Filter = "Filter Files|*.osd|All Files|*.*";
this.openFileDialog2.Title = "Load Saved Filter Settings";
//
+ // tabPageResponseJson
+ //
+ this.tabPageResponseJson.Controls.Add(this.richTextBoxNotationResponse);
+ this.tabPageResponseJson.ImageIndex = 0;
+ this.tabPageResponseJson.Location = new System.Drawing.Point(4, 26);
+ this.tabPageResponseJson.Name = "tabPageResponseJson";
+ this.tabPageResponseJson.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageResponseJson.Size = new System.Drawing.Size(585, 183);
+ this.tabPageResponseJson.TabIndex = 5;
+ this.tabPageResponseJson.Text = "Notation";
+ this.tabPageResponseJson.UseVisualStyleBackColor = true;
+ //
+ // tabPageRequestJson
+ //
+ this.tabPageRequestJson.Controls.Add(this.richTextBoxNotationRequest);
+ this.tabPageRequestJson.ImageIndex = 1;
+ this.tabPageRequestJson.Location = new System.Drawing.Point(4, 26);
+ this.tabPageRequestJson.Name = "tabPageRequestJson";
+ this.tabPageRequestJson.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageRequestJson.Size = new System.Drawing.Size(585, 149);
+ this.tabPageRequestJson.TabIndex = 3;
+ this.tabPageRequestJson.Text = "Notation";
+ this.tabPageRequestJson.UseVisualStyleBackColor = true;
+ //
+ // richTextBoxNotationResponse
+ //
+ this.richTextBoxNotationResponse.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxNotationResponse.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxNotationResponse.Name = "richTextBoxNotationResponse";
+ this.richTextBoxNotationResponse.Size = new System.Drawing.Size(579, 177);
+ this.richTextBoxNotationResponse.TabIndex = 0;
+ this.richTextBoxNotationResponse.Text = "";
+ //
+ // richTextBoxNotationRequest
+ //
+ this.richTextBoxNotationRequest.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxNotationRequest.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxNotationRequest.Name = "richTextBoxNotationRequest";
+ this.richTextBoxNotationRequest.Size = new System.Drawing.Size(579, 143);
+ this.richTextBoxNotationRequest.TabIndex = 0;
+ this.richTextBoxNotationRequest.Text = "";
+ //
+ // listViewSessions
+ //
+ this.listViewSessions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeaderCounter,
+ this.columnHeaderProtocol,
+ this.columnHeaderType,
+ this.columnHeaderSize,
+ this.columnHeaderUrl});
+ this.listViewSessions.ContextMenuStrip = this.contextMenuStripSessions;
+ this.listViewSessions.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.listViewSessions.FullRowSelect = true;
+ this.listViewSessions.GridLines = true;
+ this.listViewSessions.HideSelection = false;
+ this.listViewSessions.Location = new System.Drawing.Point(0, 0);
+ this.listViewSessions.Name = "listViewSessions";
+ this.listViewSessions.Size = new System.Drawing.Size(464, 428);
+ this.listViewSessions.SmallImageList = this.imageList1;
+ this.listViewSessions.TabIndex = 0;
+ this.listViewSessions.UseCompatibleStateImageBehavior = false;
+ this.listViewSessions.View = System.Windows.Forms.View.Details;
+ this.listViewSessions.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listViewSessions_ItemSelectionChanged);
+ //
+ // columnHeaderCounter
+ //
+ this.columnHeaderCounter.Text = "#";
+ this.columnHeaderCounter.Width = 54;
+ //
+ // columnHeaderProtocol
+ //
+ this.columnHeaderProtocol.Text = "Protocol";
+ this.columnHeaderProtocol.Width = 55;
+ //
+ // columnHeaderType
+ //
+ this.columnHeaderType.Text = "Packet Type";
+ this.columnHeaderType.Width = 139;
+ //
+ // columnHeaderSize
+ //
+ this.columnHeaderSize.Text = "Bytes";
+ //
+ // columnHeaderUrl
+ //
+ this.columnHeaderUrl.Text = "Host/Address";
+ this.columnHeaderUrl.Width = 312;
+ //
+ // listViewPacketFilters
+ //
+ this.listViewPacketFilters.CheckBoxes = true;
+ this.listViewPacketFilters.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeaderPacketName,
+ this.columnHeaderPacketType});
+ this.listViewPacketFilters.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.listViewPacketFilters.FullRowSelect = true;
+ this.listViewPacketFilters.GridLines = true;
+ this.listViewPacketFilters.Location = new System.Drawing.Point(3, 16);
+ this.listViewPacketFilters.MultiSelect = false;
+ this.listViewPacketFilters.Name = "listViewPacketFilters";
+ this.listViewPacketFilters.Size = new System.Drawing.Size(282, 338);
+ this.listViewPacketFilters.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.listViewPacketFilters.TabIndex = 0;
+ this.listViewPacketFilters.UseCompatibleStateImageBehavior = false;
+ this.listViewPacketFilters.View = System.Windows.Forms.View.Details;
+ this.listViewPacketFilters.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.listViewPacketFilters_ItemChecked);
+ this.listViewPacketFilters.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewFilterSorter_ColumnClick);
+ //
+ // columnHeaderPacketName
+ //
+ this.columnHeaderPacketName.Text = "Packet Name";
+ this.columnHeaderPacketName.Width = 215;
+ //
+ // columnHeaderPacketType
+ //
+ this.columnHeaderPacketType.Text = "Type";
+ //
+ // listViewMessageFilters
+ //
+ this.listViewMessageFilters.CheckBoxes = true;
+ this.listViewMessageFilters.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeaderName,
+ this.columnHeaderMessageType});
+ this.listViewMessageFilters.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.listViewMessageFilters.FullRowSelect = true;
+ this.listViewMessageFilters.GridLines = true;
+ this.listViewMessageFilters.Location = new System.Drawing.Point(3, 16);
+ this.listViewMessageFilters.MultiSelect = false;
+ this.listViewMessageFilters.Name = "listViewMessageFilters";
+ this.listViewMessageFilters.Size = new System.Drawing.Size(277, 338);
+ this.listViewMessageFilters.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.listViewMessageFilters.TabIndex = 1;
+ this.listViewMessageFilters.UseCompatibleStateImageBehavior = false;
+ this.listViewMessageFilters.View = System.Windows.Forms.View.Details;
+ this.listViewMessageFilters.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.listViewMessageFilters_ItemChecked);
+ this.listViewMessageFilters.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewFilterSorter_ColumnClick);
+ //
+ // columnHeaderName
+ //
+ this.columnHeaderName.Text = "Message Name";
+ this.columnHeaderName.Width = 181;
+ //
+ // columnHeaderMessageType
+ //
+ this.columnHeaderMessageType.Text = "Type";
+ this.columnHeaderMessageType.Width = 92;
+ //
+ // tabPageDecodedRequest
+ //
+ this.tabPageDecodedRequest.Controls.Add(this.richTextBoxDecodedRequest);
+ this.tabPageDecodedRequest.ImageIndex = 1;
+ this.tabPageDecodedRequest.Location = new System.Drawing.Point(4, 26);
+ this.tabPageDecodedRequest.Name = "tabPageDecodedRequest";
+ this.tabPageDecodedRequest.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageDecodedRequest.Size = new System.Drawing.Size(585, 149);
+ this.tabPageDecodedRequest.TabIndex = 4;
+ this.tabPageDecodedRequest.Text = "Request";
+ this.tabPageDecodedRequest.UseVisualStyleBackColor = true;
+ //
+ // tabPageDecodeResponse
+ //
+ this.tabPageDecodeResponse.Controls.Add(this.richTextBoxDecodedResponse);
+ this.tabPageDecodeResponse.ImageIndex = 0;
+ this.tabPageDecodeResponse.Location = new System.Drawing.Point(4, 26);
+ this.tabPageDecodeResponse.Name = "tabPageDecodeResponse";
+ this.tabPageDecodeResponse.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPageDecodeResponse.Size = new System.Drawing.Size(585, 183);
+ this.tabPageDecodeResponse.TabIndex = 6;
+ this.tabPageDecodeResponse.Text = "Response";
+ this.tabPageDecodeResponse.UseVisualStyleBackColor = true;
+ //
+ // richTextBoxDecodedResponse
+ //
+ this.richTextBoxDecodedResponse.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxDecodedResponse.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.richTextBoxDecodedResponse.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxDecodedResponse.Name = "richTextBoxDecodedResponse";
+ this.richTextBoxDecodedResponse.Size = new System.Drawing.Size(579, 177);
+ this.richTextBoxDecodedResponse.TabIndex = 0;
+ this.richTextBoxDecodedResponse.Text = "";
+ //
+ // richTextBoxDecodedRequest
+ //
+ this.richTextBoxDecodedRequest.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBoxDecodedRequest.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.richTextBoxDecodedRequest.Location = new System.Drawing.Point(3, 3);
+ this.richTextBoxDecodedRequest.Name = "richTextBoxDecodedRequest";
+ this.richTextBoxDecodedRequest.Size = new System.Drawing.Size(579, 143);
+ this.richTextBoxDecodedRequest.TabIndex = 0;
+ this.richTextBoxDecodedRequest.Text = "";
+ //
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -1892,17 +2002,17 @@
this.splitContainer3.Panel2.ResumeLayout(false);
this.splitContainer3.ResumeLayout(false);
this.tabControlInspectorRequest.ResumeLayout(false);
- this.tabPage1.ResumeLayout(false);
- this.tabPage2.ResumeLayout(false);
- this.tabPage3.ResumeLayout(false);
- this.tabPage3.PerformLayout();
+ this.tabPageRawRequest.ResumeLayout(false);
+ this.tabPageXMLRequest.ResumeLayout(false);
+ this.tabPageHexRequest.ResumeLayout(false);
+ this.tabPageHexRequest.PerformLayout();
this.statusStrip2.ResumeLayout(false);
this.statusStrip2.PerformLayout();
this.tabControlInspectorResponse.ResumeLayout(false);
- this.tabPageInspectorRAW.ResumeLayout(false);
- this.tabPageInspectorXML.ResumeLayout(false);
- this.tabPageHexView.ResumeLayout(false);
- this.tabPageHexView.PerformLayout();
+ this.tabPageInspectorRAWResponse.ResumeLayout(false);
+ this.tabPageInspectorXMLResponse.ResumeLayout(false);
+ this.tabPageHexViewResponse.ResumeLayout(false);
+ this.tabPageHexViewResponse.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.tabPageInject.ResumeLayout(false);
@@ -1910,6 +2020,10 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.contextMenuStripCopy.ResumeLayout(false);
+ this.tabPageResponseJson.ResumeLayout(false);
+ this.tabPageRequestJson.ResumeLayout(false);
+ this.tabPageDecodedRequest.ResumeLayout(false);
+ this.tabPageDecodeResponse.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -1924,7 +2038,6 @@
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBoxProxyListenIP;
- private System.Windows.Forms.TextBox textBoxLoginURL;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.SplitContainer splitContainer1;
private ListViewNoFlicker listViewSessions;
@@ -1936,7 +2049,6 @@
private System.Windows.Forms.TabPage tabPageInject;
private System.Windows.Forms.RichTextBox richTextBoxInject;
private System.Windows.Forms.CheckBox checkBoxCheckAllPackets;
- private System.Windows.Forms.Button buttonRefreshKnownCaps;
private System.Windows.Forms.ColumnHeader columnHeaderCounter;
private System.Windows.Forms.ColumnHeader columnHeaderProtocol;
private System.Windows.Forms.ColumnHeader columnHeaderType;
@@ -1952,12 +2064,12 @@
private System.Windows.Forms.TabPage tabPageInspect;
private System.Windows.Forms.ColumnHeader columnHeaderSize;
private System.Windows.Forms.TabControl tabControlInspectorResponse;
- private System.Windows.Forms.TabPage tabPageInspectorRAW;
- private System.Windows.Forms.TabPage tabPageInspectorXML;
- private System.Windows.Forms.RichTextBox richTextBoxRawLogResponse;
+ private System.Windows.Forms.TabPage tabPageInspectorRAWResponse;
+ private System.Windows.Forms.TabPage tabPageInspectorXMLResponse;
+ private System.Windows.Forms.RichTextBox richTextBoxRawResponse;
private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TreeView treeViewResponseXml;
- private System.Windows.Forms.TabPage tabPageHexView;
+ private System.Windows.Forms.TreeView treeViewXmlResponse;
+ private System.Windows.Forms.TabPage tabPageHexViewResponse;
private System.Windows.Forms.StatusStrip statusStrip1;
private Be.Windows.Forms.HexBox hexBoxResponse;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
@@ -1999,11 +2111,11 @@
private System.Windows.Forms.Button button3;
private System.Windows.Forms.SplitContainer splitContainer3;
private System.Windows.Forms.TabControl tabControlInspectorRequest;
- private System.Windows.Forms.TabPage tabPage1;
- private System.Windows.Forms.RichTextBox richTextBoxRawLogRequest;
- private System.Windows.Forms.TabPage tabPage2;
- private System.Windows.Forms.TreeView treeViewRequestXml;
- private System.Windows.Forms.TabPage tabPage3;
+ private System.Windows.Forms.TabPage tabPageRawRequest;
+ private System.Windows.Forms.RichTextBox richTextBoxRawRequest;
+ private System.Windows.Forms.TabPage tabPageXMLRequest;
+ private System.Windows.Forms.TreeView treeViewXMLRequest;
+ private System.Windows.Forms.TabPage tabPageHexRequest;
private System.Windows.Forms.StatusStrip statusStrip2;
private System.Windows.Forms.ToolStripStatusLabel toolStripLabelHexEditorRequest;
private Be.Windows.Forms.HexBox hexBoxRequest;
@@ -2082,9 +2194,9 @@
private System.Windows.Forms.ToolStripMenuItem saveFilterSelectionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem loadFilterSelectionsToolStripMenuItem;
private ListViewNoFlicker listViewPacketFilters;
- private System.Windows.Forms.ColumnHeader columnHeader1;
+ private System.Windows.Forms.ColumnHeader columnHeaderPacketName;
private ListViewNoFlicker listViewMessageFilters;
- private System.Windows.Forms.ColumnHeader columnHeader2;
+ private System.Windows.Forms.ColumnHeader columnHeaderName;
private System.Windows.Forms.ToolStripMenuItem saveOptionsOnExitToolStripMenuItem;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
@@ -2094,6 +2206,17 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem autoAddNewDiscoveredMessagesToolStripMenuItem;
+ private System.Windows.Forms.ComboBox comboBoxLoginURL;
+ private System.Windows.Forms.ColumnHeader columnHeaderMessageType;
+ private System.Windows.Forms.ColumnHeader columnHeaderPacketType;
+ private System.Windows.Forms.TabPage tabPageRequestJson;
+ private System.Windows.Forms.RichTextBox richTextBoxNotationRequest;
+ private System.Windows.Forms.TabPage tabPageResponseJson;
+ private System.Windows.Forms.RichTextBox richTextBoxNotationResponse;
+ private System.Windows.Forms.TabPage tabPageDecodedRequest;
+ private System.Windows.Forms.RichTextBox richTextBoxDecodedRequest;
+ private System.Windows.Forms.TabPage tabPageDecodeResponse;
+ private System.Windows.Forms.RichTextBox richTextBoxDecodedResponse;
}
}
diff --git a/Programs/WinGridProxy/Form1.cs b/Programs/WinGridProxy/Form1.cs
index 1f5ec4eb..7821074d 100644
--- a/Programs/WinGridProxy/Form1.cs
+++ b/Programs/WinGridProxy/Form1.cs
@@ -78,8 +78,49 @@ namespace WinGridProxy
ProxyManager.OnMessageLog += new ProxyManager.MessageLogHandler(ProxyManager_OnMessageLog);
ProxyManager.OnLoginResponse += new ProxyManager.LoginLogHandler(ProxyManager_OnLoginResponse);
ProxyManager.OnCapabilityAdded += new ProxyManager.CapsAddedHandler(ProxyManager_OnCapabilityAdded);
+ ProxyManager.OnEventMessageLog += new ProxyManager.EventQueueMessageHandler(ProxyManager_OnEventMessageLog);
}
+ #region Event Handlers for Messages/Packets
+
+ ///
+ /// Adds a new EventQueue message to the Message Filters listview.
+ ///
+ ///
+ ///
+ void ProxyManager_OnEventMessageLog(CapsRequest req, CapsStage stage)
+ {
+ if (this.InvokeRequired)
+ {
+ this.BeginInvoke(new MethodInvoker(delegate()
+ {
+ ProxyManager_OnEventMessageLog(req, stage);
+ }));
+ }
+ else
+ {
+ ListViewItem foundCap = listViewMessageFilters.FindItemWithText(req.Info.CapType);
+ if (foundCap == null)
+ {
+ ListViewItem addedItem = listViewMessageFilters.Items.Add(new ListViewItem(req.Info.CapType, new ListViewGroup("EventQueue Messages")));
+ addedItem.SubItems.Add("EventMessage");
+ addedItem.BackColor = Color.AliceBlue;
+
+ if (autoAddNewDiscoveredMessagesToolStripMenuItem.Checked)
+ addedItem.Checked = true;
+ }
+ else
+ {
+ // add to sessions if checked = true
+ ProxyManager_OnMessageLog(req, CapsStage.Response);
+ }
+ }
+ }
+
+ ///
+ /// Adds a new Capability message to the message filters listview
+ ///
+ ///
void ProxyManager_OnCapabilityAdded(CapInfo cap)
{
if (this.InvokeRequired)
@@ -94,17 +135,16 @@ namespace WinGridProxy
ListViewItem foundCap = listViewMessageFilters.FindItemWithText(cap.CapType);
if (foundCap == null)
{
- ListViewItem addedItem = listViewMessageFilters.Items.Add(new ListViewItem(cap.CapType));
+ ListViewItem addedItem = listViewMessageFilters.Items.Add(new ListViewItem(cap.CapType, new ListViewGroup("Capabilities Messages")));
+ addedItem.SubItems.Add("CapMessage");
+ addedItem.BackColor = Color.Honeydew;
+
if (autoAddNewDiscoveredMessagesToolStripMenuItem.Checked)
addedItem.Checked = true;
}
}
}
-
-
- #region Event Handlers
-
void ProxyManager_OnPacketLog(Packet packet, Direction direction, IPEndPoint endpoint)
{
PacketAnalyzer_OnPacketLog(packet, direction, endpoint);
@@ -125,7 +165,7 @@ namespace WinGridProxy
string t = (request is XmlRpcRequest) ? "Login Request" : "Login Response";
string l = request.ToString().Length.ToString();
- string[] s = { PacketCounter.ToString(), "HTTPS", t, l, textBoxLoginURL.Text };
+ string[] s = { PacketCounter.ToString(), "HTTPS", t, l, comboBoxLoginURL.Text };
ListViewItem session = new ListViewItem(s);
session.Tag = request;
session.ImageIndex = (request is XmlRpcRequest) ? 1 : 0;
@@ -193,21 +233,6 @@ namespace WinGridProxy
}
}
- //void ProxyManager_OnEventQueueRunning()
- //{
- // if (this.InvokeRequired)
- // {
- // this.BeginInvoke(new MethodInvoker(delegate()
- // {
- // ProxyManager_OnEventQueueRunning();
- // }));
- // }
- // else
- // {
- // buttonRefreshCapsList_Click(null, null);
- // }
- //}
-
void ProxyManager_OnMessageLog(CapsRequest req, CapsStage stage)
{
if (this.InvokeRequired)
@@ -223,13 +248,13 @@ namespace WinGridProxy
if (found != null && found.Checked)
{
-
PacketCounter++;
// TODO: the sizes should be combined
string size = (stage == CapsStage.Request) ? req.Request.ToString().Length.ToString() : req.Response.ToString().Length.ToString();
- string[] s = { PacketCounter.ToString(), "CAPS", req.Info.CapType, size, req.Info.URI };
+ string[] s = { PacketCounter.ToString(), found.SubItems[1].Text, req.Info.CapType, size, req.Info.URI };
ListViewItem session = new ListViewItem(s);
+ session.BackColor = found.BackColor;
session.Tag = req;
@@ -272,8 +297,8 @@ namespace WinGridProxy
if (button1.Text.StartsWith("Start") && IsProxyRunning.Equals(false))
{
- proxy = new ProxyManager(textBoxProxyPort.Text, textBoxProxyListenIP.Text, textBoxLoginURL.Text);
- textBoxProxyListenIP.Enabled = textBoxProxyPort.Enabled = textBoxLoginURL.Enabled = false;
+ proxy = new ProxyManager(textBoxProxyPort.Text, textBoxProxyListenIP.Text, comboBoxLoginURL.Text);
+ textBoxProxyListenIP.Enabled = textBoxProxyPort.Enabled = comboBoxLoginURL.Enabled = false;
InitProxyFilters();
@@ -290,7 +315,7 @@ namespace WinGridProxy
proxy.Stop();
grpUDPFilters.Enabled = grpCapsFilters.Enabled = IsProxyRunning = false;
button1.Text = "Start Proxy";
- textBoxProxyListenIP.Enabled = textBoxProxyPort.Enabled = textBoxLoginURL.Enabled = true;
+ textBoxProxyListenIP.Enabled = textBoxProxyPort.Enabled = comboBoxLoginURL.Enabled = true;
if (!enableStatisticsToolStripMenuItem.Checked && timer1.Enabled)
timer1.Enabled = false;
@@ -305,33 +330,6 @@ namespace WinGridProxy
}
}
- private void buttonRefreshCapsList_Click(object sender, EventArgs e)
- {
- OSDMap map = new OSDMap(1);
-
- OSDArray capsArray = new OSDArray();
- foreach (KeyValuePair kvp in proxy.GetCapabilities())
- {
- OSDMap cap = new OSDMap(1);
- cap["capability"] = OSD.FromString(kvp.Value.CapType);
- cap["Enabled"] = OSD.FromBoolean(true);
- capsArray.Add(cap);
-
- listViewMessageFilters.BeginUpdate();
- ListViewItem found = listViewMessageFilters.FindItemWithText(kvp.Value.CapType);
- if(found == null)
- {
- listViewMessageFilters.Items.Add(kvp.Value.CapType);
- }
- listViewMessageFilters.Sort();
- listViewMessageFilters.EndUpdate();
- }
- map["Capabilities"] = capsArray;
-
- System.IO.File.WriteAllText("capabilities.osd", map.ToString());
-
- }
-
private void listViewSessions_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
@@ -344,56 +342,70 @@ namespace WinGridProxy
{
XmlRpcRequest requestData = (XmlRpcRequest)tag;
- richTextBoxRawLogRequest.Text = requestData.ToString();
- updateTreeView(requestData.ToString(), treeViewRequestXml);
-
+ richTextBoxDecodedRequest.Text = requestData.ToString();
+ richTextBoxRawRequest.Text = requestData.ToString();
+ richTextBoxNotationRequest.Text = "Notation Not Available for XML Request";
+ updateTreeView(requestData.ToString(), treeViewXMLRequest);
Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(Utils.StringToBytes(requestData.ToString()));
hexBoxRequest.ByteProvider = data;
+ richTextBoxDecodedResponse.Text = String.Empty;
+ richTextBoxRawResponse.Text = String.Empty;
+ richTextBoxNotationResponse.Text = String.Empty;
+ treeViewXmlResponse.Nodes.Clear();
hexBoxResponse.ByteProvider = null;
- richTextBoxRawLogResponse.Text = String.Empty;
- treeViewResponseXml.Nodes.Clear();
}
else if (tag is XmlRpcResponse)
{
XmlRpcResponse responseData = (XmlRpcResponse)tag;
- richTextBoxRawLogResponse.Text = responseData.ToString();
- updateTreeView(responseData.ToString(), treeViewResponseXml);
-
+ richTextBoxDecodedResponse.Text = responseData.ToString();
+ richTextBoxRawResponse.Text = responseData.ToString();
+ richTextBoxNotationResponse.Text = "Notation Not Available for XML Request";
+ updateTreeView(responseData.ToString(), treeViewXmlResponse);
Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(Utils.StringToBytes(responseData.ToString()));
hexBoxResponse.ByteProvider = data;
+ richTextBoxDecodedRequest.Text = String.Empty;
+ richTextBoxRawRequest.Text = String.Empty;
+ richTextBoxNotationRequest.Text = String.Empty;
+ treeViewXMLRequest.Nodes.Clear();
hexBoxRequest.ByteProvider = null;
- richTextBoxRawLogRequest.Text = "No Data";
- treeViewRequestXml.Nodes.Clear();
+
}
else if (tag is Packet)
{
Packet packet = (Packet)tag;
Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(packet.ToBytes());
+ // we have no conversion from Packet to xml or notation
+ richTextBoxNotationRequest.Text = String.Empty;
+ richTextBoxNotationResponse.Text = String.Empty;
+ treeViewXmlResponse.Nodes.Clear();
+ treeViewXMLRequest.Nodes.Clear();
// 0 = incoming, 1 = outgoing
if (e.Item.ImageIndex == 1)
{
- richTextBoxRawLogRequest.Text = TagToString(tag);
+ richTextBoxDecodedRequest.Text = String.Empty;
+ richTextBoxRawRequest.Text = String.Empty;
+ richTextBoxNotationRequest.Text = "Notation Not Available for Packet Types";
hexBoxRequest.ByteProvider = data;
- treeViewRequestXml.Nodes.Clear();
- richTextBoxRawLogResponse.Text = String.Empty;
+ richTextBoxDecodedResponse.Text = String.Empty;
+ richTextBoxRawResponse.Text = String.Empty;
hexBoxResponse.ByteProvider = null;
- treeViewResponseXml.Nodes.Clear();
}
else
{
- richTextBoxRawLogRequest.Text = String.Empty;
- hexBoxRequest.ByteProvider = null;
- treeViewRequestXml.Nodes.Clear();
-
- richTextBoxRawLogResponse.Text = TagToString(tag);
+ richTextBoxDecodedResponse.Text = TagToString(tag, listViewSessions.FocusedItem.SubItems[2].Text);
+ richTextBoxRawResponse.Text = TagToString(tag, listViewSessions.FocusedItem.SubItems[2].Text);
+ richTextBoxNotationResponse.Text = "Notation Not Available for Packet Types";
hexBoxResponse.ByteProvider = data;
- treeViewResponseXml.Nodes.Clear();
+
+ richTextBoxDecodedRequest.Text = String.Empty;
+ richTextBoxRawRequest.Text = String.Empty;
+ hexBoxRequest.ByteProvider = null;
}
}
else if (tag is CapsRequest)
@@ -402,29 +414,66 @@ namespace WinGridProxy
if (capsData.Request != null)
{
- richTextBoxRawLogRequest.Text = capsData.Request.ToString();
- updateTreeView(OSDParser.SerializeLLSDXmlString(capsData.Request), treeViewRequestXml);
- Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(Utils.StringToBytes(capsData.Request.ToString()));
+ StringBuilder rawRequest = new StringBuilder();
+
+ if(capsData.RequestHeaders != null)
+ {
+ foreach (KeyValuePair kvp in capsData.RequestHeaders)
+ {
+ rawRequest.AppendFormat("{0}: {1}" + System.Environment.NewLine, kvp.Key, kvp.Value);
+ }
+ rawRequest.AppendLine();
+ }
+ rawRequest.AppendLine(Utils.BytesToString(capsData.RawRequest));
+
+ OSD requestOSD = OSDParser.DeserializeLLSDXml(capsData.RawRequest);
+
+ richTextBoxDecodedRequest.Text = TagToString(requestOSD, listViewSessions.FocusedItem.SubItems[2].Text);//.ToString();
+ richTextBoxRawRequest.Text = rawRequest.ToString();
+ richTextBoxNotationRequest.Text = requestOSD.ToString();
+ updateTreeView(Utils.BytesToString(capsData.RawRequest), treeViewXMLRequest);
+ Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(capsData.RawRequest);
hexBoxRequest.ByteProvider = data;
}
else
{
- richTextBoxRawLogRequest.Text = "No Data";
- treeViewRequestXml.Nodes.Clear();
+ richTextBoxDecodedRequest.Text = "No Data";
+ richTextBoxRawRequest.Text = "No Data";
+ richTextBoxNotationRequest.Text = "No Data";
+ treeViewXMLRequest.Nodes.Clear();
hexBoxRequest.ByteProvider = null;
+
}
if (capsData.Response != null)
{
- richTextBoxRawLogResponse.Text = capsData.Response.ToString();
- updateTreeView(OSDParser.SerializeLLSDXmlString(capsData.Response), treeViewResponseXml);
- Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(Utils.StringToBytes(capsData.Response.ToString()));
+ StringBuilder rawResponse = new StringBuilder();
+
+ if (capsData.ResponseHeaders != null)
+ {
+ foreach (string key in capsData.ResponseHeaders.Keys)
+ {
+ rawResponse.AppendFormat("{0}: {1}" + System.Environment.NewLine, key, capsData.ResponseHeaders[key]);
+ }
+ rawResponse.AppendLine();
+ }
+ rawResponse.AppendLine(Utils.BytesToString(capsData.RawResponse));
+
+ OSD responseOSD = OSDParser.DeserializeLLSDXml(capsData.RawResponse);
+
+ richTextBoxDecodedResponse.Text = TagToString(responseOSD, listViewSessions.FocusedItem.SubItems[2].Text);//.ToString();
+ richTextBoxRawResponse.Text = rawResponse.ToString();
+ richTextBoxNotationResponse.Text = responseOSD.ToString();
+ updateTreeView(Utils.BytesToString(capsData.RawResponse), treeViewXmlResponse);
+ Be.Windows.Forms.DynamicByteProvider data = new Be.Windows.Forms.DynamicByteProvider(capsData.RawResponse);
hexBoxResponse.ByteProvider = data;
}
else
{
- richTextBoxRawLogResponse.Text = "No Data";
- treeViewResponseXml.Nodes.Clear();
+ richTextBoxDecodedResponse.Text = "No Data";
+ richTextBoxRawResponse.Text = "No Data";
+ richTextBoxNotationResponse.Text = "No Data";
+ treeViewXmlResponse.Nodes.Clear();
hexBoxResponse.ByteProvider = null;
}
}
@@ -592,11 +641,6 @@ namespace WinGridProxy
}
}
- private void filterDisableByProtocolName_CheckedChanged(object sender, EventArgs e)
- {
-
- }
-
///
/// Setup the context menu prior to it being displayed with specific entries for filtering packets/messages
///
@@ -807,12 +851,57 @@ namespace WinGridProxy
#region Helpers
- // This is from omv Utils, once we get it prettied up put it back there
+ ///
+ /// Decode an IMessage object into a string of key/value pairs
+ ///
+ /// The IMessage object
+ /// A formatted string containing the names and values of the source object
+ public static string IMessageToString(IMessage message)
+ {
+ StringBuilder result = new StringBuilder();
+ // common/custom types
+ result.AppendFormat("Message Type {0}" + System.Environment.NewLine, message.GetType().Name);
+
+ foreach (FieldInfo messageField in message.GetType().GetFields())
+ {
+ // a byte array
+ if (messageField.GetValue(message).GetType() == typeof(Byte[]))
+ {
+ result.AppendFormat("{0, 30}: {1} ({2})" + System.Environment.NewLine,
+ messageField.Name, Utils.BytesToHexString((byte[])messageField.GetValue(message), ""), messageField.FieldType.Name);
+ }
+
+ // an array of class objects
+ else if (messageField.FieldType.IsArray)
+ {
+ object messageObjectData = messageField.GetValue(message);
+ result.AppendFormat("-- {0} --" + System.Environment.NewLine, messageField.FieldType.Name);
+ foreach (object nestedArrayObject in messageObjectData as Array)
+ {
+ result.AppendFormat(" [{0}]" + System.Environment.NewLine, nestedArrayObject.GetType().Name);
+
+ foreach (FieldInfo nestedField in nestedArrayObject.GetType().GetFields())
+ {
+ result.AppendFormat("{0, 30}: {1} ({2})" + System.Environment.NewLine,
+ nestedField.Name, nestedField.GetValue(nestedArrayObject), nestedField.Name.GetType().Name);
+ }
+ }
+ }
+ else
+ {
+ result.AppendFormat("{0, 30}: {1} ({2})" + System.Environment.NewLine,
+ messageField.Name, messageField.GetValue(message), messageField.FieldType.Name);
+ }
+ }
+
+ return result.ToString();
+ }
+
public static string PacketToString(Packet packet)
{
StringBuilder result = new StringBuilder();
- //result.AppendFormat("{0}" + System.Environment.NewLine, packet.Type);
+ result.AppendFormat("Packet Type: {0}" + System.Environment.NewLine, packet.Type);
foreach (FieldInfo packetField in packet.GetType().GetFields())
{
@@ -901,12 +990,18 @@ namespace WinGridProxy
foreach (ListViewItem item in listViewPacketFilters.Items)
{
- Store.PacketSessions.Add(item.Text, item.Checked);
+ FilterEntry entry = new FilterEntry();
+ entry.Checked = item.Checked;
+ entry.pType = item.SubItems[1].Text;
+ Store.PacketSessions.Add(item.Text, entry);
}
foreach (ListViewItem item in listViewMessageFilters.Items)
{
- Store.MessageSessions.Add(item.Text, item.Checked);
+ FilterEntry entry = new FilterEntry();
+ entry.Checked = item.Checked;
+ entry.pType = item.SubItems[1].Text;
+ Store.MessageSessions.Add(item.Text, entry);
}
Store.StatisticsEnabled = enableStatisticsToolStripMenuItem.Checked;
@@ -930,34 +1025,37 @@ namespace WinGridProxy
// Update message filter listview
listViewMessageFilters.BeginUpdate();
- foreach (KeyValuePair kvp in Store.MessageSessions)
+ foreach (KeyValuePair kvp in Store.MessageSessions)
{
ListViewItem foundMessage = listViewPacketFilters.FindItemWithText(kvp.Key);
if (foundMessage == null)
{
ListViewItem addedItem = listViewMessageFilters.Items.Add(kvp.Key);
- addedItem.Checked = kvp.Value;
+ addedItem.Checked = kvp.Value.Checked;
+ addedItem.SubItems.Add(kvp.Value.pType);
+ addedItem.BackColor = (kvp.Value.pType.Equals("CapMessage")) ? Color.Honeydew : Color.AliceBlue;
}
else
{
- foundMessage.Checked = kvp.Value;
+ foundMessage.Checked = kvp.Value.Checked;
}
}
listViewMessageFilters.EndUpdate();
// updateTreeView packet filter listview
listViewPacketFilters.BeginUpdate();
- foreach (KeyValuePair kvp in Store.PacketSessions)
+ foreach (KeyValuePair kvp in Store.PacketSessions)
{
ListViewItem foundPacket = listViewPacketFilters.FindItemWithText(kvp.Key);
if (foundPacket == null)
{
ListViewItem addedItem = listViewPacketFilters.Items.Add(new ListViewItem(kvp.Key));
- addedItem.Checked = kvp.Value;
+ addedItem.Checked = kvp.Value.Checked;
+ addedItem.SubItems.Add(kvp.Value.pType);
}
else
{
- foundPacket.Checked = kvp.Value;
+ foundPacket.Checked = kvp.Value.Checked;
}
}
listViewPacketFilters.EndUpdate();
@@ -989,6 +1087,7 @@ namespace WinGridProxy
if (!String.IsNullOrEmpty(name) && found == null)
{
ListViewItem addedItem = listViewPacketFilters.Items.Add(new ListViewItem(name));
+ addedItem.SubItems.Add("UDP");
}
}
catch (Exception)
@@ -998,9 +1097,8 @@ namespace WinGridProxy
}
}
- listViewPacketFilters.Sort();
+ //listViewPacketFilters.Sort();
- // load from previous stored settings
listViewPacketFilters.EndUpdate();
}
@@ -1026,7 +1124,7 @@ namespace WinGridProxy
foreach (ListViewItem item in listViewSessions.Items)
{
- if (item.Text.Contains(opts.SearchText) || TagToString(item.Tag).Contains(opts.SearchText))
+ if (item.Text.Contains(opts.SearchText) || TagToString(item.Tag, item.SubItems[2].Text).Contains(opts.SearchText))
{
if (opts.UnMarkPrevious)
item.BackColor = Color.White;
@@ -1038,8 +1136,6 @@ namespace WinGridProxy
else
item.Selected = false;
}
-
-
}
if (opts.SearchWhat.Equals("Both") || opts.SearchWhat.Equals("Messages"))
{
@@ -1047,7 +1143,7 @@ namespace WinGridProxy
}
}
- private string TagToString(object tag)
+ private string TagToString(object tag, string key)
{
if (tag is XmlRpcRequest)
{
@@ -1077,10 +1173,37 @@ namespace WinGridProxy
if (capsData.Response != null)
{
- return capsData.Response.ToString();
+ return capsData.Response.ToString();
+ }
+ return "Unable to decode CapsRequest";
+ }
+ else if (tag is OSD)
+ {
+ OSD osd = (OSD)tag;
+ if (osd.Type == OSDType.Map)
+ {
+ OSDMap data = (OSDMap)osd;
+ IMessage message;
+ if (data.ContainsKey("body"))
+ message = Caps.DecodeEvent(key, (OSDMap)data["body"]);
+ else
+ message = Caps.DecodeEvent(key, data);
+
+ if (message != null)
+ return IMessageToString(message);
+ else
+ return "No Decoder for " + key + System.Environment.NewLine
+ + osd.ToString();
+ }
+ else
+ {
+ return osd.ToString();
}
}
- return string.Empty;
+ else
+ {
+ return "Could not decode object type: " + tag.GetType().ToString();
+ }
}
#endregion
@@ -1091,7 +1214,7 @@ namespace WinGridProxy
{
try
{
- treeViewResponseXml.Nodes.Clear();
+ treeView.Nodes.Clear();
XmlDocument tmpxmldoc = new XmlDocument();
tmpxmldoc.LoadXml(xml);
diff --git a/Programs/WinGridProxy/Form1.resx b/Programs/WinGridProxy/Form1.resx
index 61ec2a85..94254aef 100644
--- a/Programs/WinGridProxy/Form1.resx
+++ b/Programs/WinGridProxy/Form1.resx
@@ -172,6 +172,12 @@
BQAD/wUACw==
+
+ 414, 17
+
+
+ 116, 17
+
185, 54
@@ -187,12 +193,6 @@
116, 17
-
- 414, 17
-
-
- 116, 17
-
17, 17
@@ -229,6 +229,9 @@
AAAAAElFTkSuQmCC
+
+ 919, 17
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -244,9 +247,6 @@
s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
-
- 919, 17
-
226, 17
diff --git a/Programs/WinGridProxy/ProxyManager.cs b/Programs/WinGridProxy/ProxyManager.cs
index 8696198b..069caf3e 100644
--- a/Programs/WinGridProxy/ProxyManager.cs
+++ b/Programs/WinGridProxy/ProxyManager.cs
@@ -35,20 +35,28 @@ using OpenMetaverse.StructuredData;
namespace WinGridProxy
{
- public class ProxyManager
+ public class ProxyManager
{
+ // fired when a new packet arrives
public delegate void PacketLogHandler(Packet packet, Direction direction, IPEndPoint endpoint);
public static event PacketLogHandler OnPacketLog;
+ // fired when a message arrives over a known capability
public delegate void MessageLogHandler(CapsRequest req, CapsStage stage);
public static event MessageLogHandler OnMessageLog;
+ // handle login request/response data
public delegate void LoginLogHandler(object request, Direction direction);
public static event LoginLogHandler OnLoginResponse;
+ // fired when a new Capability is added to the KnownCaps Dictionary
public delegate void CapsAddedHandler(CapInfo cap);
public static event CapsAddedHandler OnCapabilityAdded;
+ // Handle messages sent via the EventQueue
+ public delegate void EventQueueMessageHandler(CapsRequest req, CapsStage stage);
+ public static event EventQueueMessageHandler OnEventMessageLog;
+
private string _Port;
private string _ListenIP;
private string _LoginURI;
@@ -67,9 +75,9 @@ namespace WinGridProxy
_ListenIP = "--proxy-client-facing-address=127.0.0.1";
if (String.IsNullOrEmpty(loginUri))
- _LoginURI = "https://login.agni.lindenlab.com/cgi-bin/login.cgi";
+ _LoginURI = "--proxy-remote-login-uri=https://login.agni.lindenlab.com/cgi-bin/login.cgi";
else
- _LoginURI = loginUri;
+ _LoginURI = "--proxy-remote-login-uri=" + loginUri;
string[] args = { _Port, _ListenIP, _LoginURI };
@@ -94,6 +102,7 @@ namespace WinGridProxy
Proxy.proxy.AddCapsDelegate("EventQueueGet", new CapsDelegate(EventQueueGetHandler));
+ // this is so we are informed of any new capabilities that are added to the KnownCaps dictionary
Proxy.proxy.KnownCaps.AddDelegate(OpenMetaverse.DictionaryEventAction.Add, new OpenMetaverse.DictionaryChangeCallback(KnownCapsAddedHandler));
}
@@ -147,6 +156,13 @@ namespace WinGridProxy
return false;
}
+ ///
+ /// Process individual messages that arrive via the EventQueue and convert each indvidual event into a format
+ /// suitable for processing by the IMessage system
+ ///
+ ///
+ ///
+ ///
private bool EventQueueGetHandler(CapsRequest req, CapsStage stage)
{
if (stage == CapsStage.Response)
@@ -157,17 +173,19 @@ namespace WinGridProxy
for (int i = 0; i < eventsArray.Count; i++)
{
OSDMap bodyMap = (OSDMap)eventsArray[i];
- if (OnMessageLog != null)
+ if (OnEventMessageLog != null)
{
CapInfo capInfo = new CapInfo(req.Info.URI, req.Info.Sim, bodyMap["message"].AsString());
CapsRequest capReq = new CapsRequest(capInfo);
- capReq.Request = req.Request;
+ capReq.RequestHeaders = req.RequestHeaders;
+ capReq.ResponseHeaders = req.ResponseHeaders;
+ capReq.Request = null;// req.Request;
+ capReq.RawRequest = null;// req.RawRequest;
+ capReq.RawResponse = OSDParser.SerializeLLSDXmlBytes(bodyMap);
capReq.Response = bodyMap;
- OnMessageLog(capReq, CapsStage.Response);
+ OnEventMessageLog(capReq, CapsStage.Response);
}
-
- //Console.WriteLine("[" + i + "] " + bodyMap["message"].AsString());
}
}
return false;
diff --git a/Programs/WinGridProxy/SettingsStore.cs b/Programs/WinGridProxy/SettingsStore.cs
index 6450c905..ee41f37c 100644
--- a/Programs/WinGridProxy/SettingsStore.cs
+++ b/Programs/WinGridProxy/SettingsStore.cs
@@ -32,10 +32,16 @@ using System.IO;
namespace WinGridProxy
{
+ public class FilterEntry
+ {
+ public bool Checked;
+ public string pType;
+ }
+
class SettingsStore
{
- public Dictionary MessageSessions;
- public Dictionary PacketSessions;
+ public Dictionary MessageSessions;
+ public Dictionary PacketSessions;
public bool AutoScrollEnabled;
public bool StatisticsEnabled;
public bool SaveSessionOnExit;
@@ -43,8 +49,8 @@ namespace WinGridProxy
public SettingsStore()
{
- MessageSessions = new Dictionary();
- PacketSessions = new Dictionary();
+ MessageSessions = new Dictionary();
+ PacketSessions = new Dictionary();
}
public OSDMap Serialize()
@@ -53,11 +59,12 @@ namespace WinGridProxy
if (MessageSessions.Count > 0)
{
OSDArray messageArray = new OSDArray(MessageSessions.Count);
- foreach (KeyValuePair kvp in MessageSessions)
+ foreach (KeyValuePair kvp in MessageSessions)
{
- OSDMap sessionMap = new OSDMap(2);
+ OSDMap sessionMap = new OSDMap(3);
sessionMap["Capability"] = OSD.FromString(kvp.Key);
- sessionMap["Capture"] = OSD.FromBoolean(kvp.Value);
+ sessionMap["Capture"] = OSD.FromBoolean(kvp.Value.Checked);
+ sessionMap["Type"] = OSD.FromString(kvp.Value.pType);
messageArray.Add(sessionMap);
}
map.Add("message_sessions", messageArray);
@@ -66,11 +73,12 @@ namespace WinGridProxy
if (PacketSessions.Count > 0)
{
OSDArray packetArray = new OSDArray(PacketSessions.Count);
- foreach (KeyValuePair kvp in PacketSessions)
+ foreach (KeyValuePair kvp in PacketSessions)
{
- OSDMap sessionMap = new OSDMap(2);
+ OSDMap sessionMap = new OSDMap(3);
sessionMap["PacketName"] = OSD.FromString(kvp.Key);
- sessionMap["Capture"] = OSD.FromBoolean(kvp.Value);
+ sessionMap["Capture"] = OSD.FromBoolean(kvp.Value.Checked);
+ sessionMap["Type"] = OSD.FromString(kvp.Value.pType);
packetArray.Add(sessionMap);
}
map.Add("packet_sessions", packetArray);
@@ -97,12 +105,15 @@ namespace WinGridProxy
OSDArray messageArray = (OSDArray)map["message_sessions"];
- MessageSessions = new Dictionary(messageArray.Count);
+ MessageSessions = new Dictionary(messageArray.Count);
for (int i = 0; i < messageArray.Count; i++)
{
OSDMap m = (OSDMap)messageArray[i];
- MessageSessions.Add(m["Capability"].AsString(), m["Capture"].AsBoolean());
+ FilterEntry entry = new FilterEntry();
+ entry.Checked = m["Capture"].AsBoolean();
+ entry.pType = m["Type"].AsString();
+ MessageSessions.Add(m["Capability"].AsString(), entry);
}
}
@@ -116,13 +127,15 @@ namespace WinGridProxy
{
OSDArray packetArray = (OSDArray)map["packet_sessions"];
- PacketSessions = new Dictionary(packetArray.Count);
+ PacketSessions = new Dictionary(packetArray.Count);
for (int i = 0; i < packetArray.Count; i++)
{
OSDMap packetMap = (OSDMap)packetArray[i];
-
- PacketSessions.Add(packetMap["PacketName"].AsString(), packetMap["Capture"].AsBoolean());
+ FilterEntry entry = new FilterEntry();
+ entry.Checked = packetMap["Capture"].AsBoolean();
+ entry.pType = packetMap["Type"].AsString();
+ PacketSessions.Add(packetMap["PacketName"].AsString(), entry);
}
}
else