diff --git a/Programs/WinGridProxy/Form1.Designer.cs b/Programs/WinGridProxy/Form1.Designer.cs
index 6bd3bf45..874e4e93 100644
--- a/Programs/WinGridProxy/Form1.Designer.cs
+++ b/Programs/WinGridProxy/Form1.Designer.cs
@@ -40,13 +40,6 @@
this.label1 = new System.Windows.Forms.Label();
this.panelMainWindow = new System.Windows.Forms.Panel();
this.splitContainerSessionsTabs = 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.columnHeaderContentType = 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();
@@ -55,7 +48,6 @@
this.toolStripMenuItemRemoveAll = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemRemoveSelected = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemRemoveUnselected = new System.Windows.Forms.ToolStripMenuItem();
- this.removeToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.selectToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStripSelect = new System.Windows.Forms.ContextMenuStrip(this.components);
this.allToolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem();
@@ -63,7 +55,6 @@
this.noneToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparatorSelectPacketProto = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItemSelectPacketName = new System.Windows.Forms.ToolStripMenuItem();
- this.selectToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparatorFilterPacketByName = new System.Windows.Forms.ToolStripSeparator();
this.enableDisableFilterByNameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator();
@@ -76,6 +67,7 @@
this.orangeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator();
this.unmarkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.markToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator();
this.findToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
@@ -100,14 +92,8 @@
this.splitContainerFilters = 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.columnHeaderPacketName = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderPacketType = new System.Windows.Forms.ColumnHeader();
this.checkBoxCheckAllMessages = new System.Windows.Forms.CheckBox();
this.grpCapsFilters = new System.Windows.Forms.GroupBox();
- this.listViewMessageFilters = new WinGridProxy.ListViewNoFlicker();
- this.columnHeaderName = new System.Windows.Forms.ColumnHeader();
- this.columnHeaderMessageType = new System.Windows.Forms.ColumnHeader();
this.tabPageInspect = new System.Windows.Forms.TabPage();
this.splitContainerInspectorTab = new System.Windows.Forms.SplitContainer();
this.tabControlInspectorRequest = new System.Windows.Forms.TabControl();
@@ -142,7 +128,8 @@
this.button3 = new System.Windows.Forms.Button();
this.buttonInjectPacket = new System.Windows.Forms.Button();
this.richTextBoxInject = new System.Windows.Forms.RichTextBox();
- this.markToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.removeToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
+ this.selectToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripLabelHexEditorRequest = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
@@ -158,6 +145,8 @@
this.saveOptionsOnExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.startProxyOnStartupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
+ this.toolStripMenuItemPlugins = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.EditToolStripButton = new System.Windows.Forms.ToolStripDropDownButton();
this.copyToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
@@ -223,8 +212,19 @@
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.autoColorizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.colorDialog1 = new System.Windows.Forms.ColorDialog();
- this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
+ 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.columnHeaderContentType = 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.panelProxyConfig.SuspendLayout();
this.panelMainWindow.SuspendLayout();
this.splitContainerSessionsTabs.Panel1.SuspendLayout();
@@ -382,59 +382,6 @@
this.splitContainerSessionsTabs.SplitterWidth = 5;
this.splitContainerSessionsTabs.TabIndex = 0;
//
- // listViewSessions
- //
- this.listViewSessions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeaderCounter,
- this.columnHeaderProtocol,
- this.columnHeaderType,
- this.columnHeaderSize,
- this.columnHeaderUrl,
- this.columnHeaderContentType});
- 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(469, 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 = 59;
- //
- // columnHeaderType
- //
- this.columnHeaderType.Text = "Packet Type";
- this.columnHeaderType.Width = 151;
- //
- // columnHeaderSize
- //
- this.columnHeaderSize.Text = "Bytes";
- this.columnHeaderSize.Width = 64;
- //
- // columnHeaderUrl
- //
- this.columnHeaderUrl.Text = "Host/Address";
- this.columnHeaderUrl.Width = 312;
- //
- // columnHeaderContentType
- //
- this.columnHeaderContentType.Text = "Content Type";
- this.columnHeaderContentType.Width = 250;
- //
// contextMenuStripSessions
//
this.contextMenuStripSessions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -479,7 +426,7 @@
this.toolStripMenuItemRemoveSelected,
this.toolStripMenuItemRemoveUnselected});
this.contextMenuStripRemove.Name = "contextMenuStripRemove";
- this.contextMenuStripRemove.OwnerItem = this.toolStripMenuSessionsRemove;
+ this.contextMenuStripRemove.OwnerItem = this.removeToolStripMenuItem2;
this.contextMenuStripRemove.Size = new System.Drawing.Size(149, 70);
//
// toolStripMenuItemRemoveAll
@@ -504,13 +451,6 @@
this.toolStripMenuItemRemoveUnselected.Text = "Unselected";
this.toolStripMenuItemRemoveUnselected.Click += new System.EventHandler(this.sessionRemoveUnselected_Click);
//
- // removeToolStripMenuItem2
- //
- this.removeToolStripMenuItem2.DropDown = this.contextMenuStripRemove;
- this.removeToolStripMenuItem2.Name = "removeToolStripMenuItem2";
- this.removeToolStripMenuItem2.Size = new System.Drawing.Size(143, 22);
- this.removeToolStripMenuItem2.Text = "Remove";
- //
// selectToolStripMenuItem2
//
this.selectToolStripMenuItem2.DropDown = this.contextMenuStripSelect;
@@ -527,7 +467,7 @@
this.toolStripSeparatorSelectPacketProto,
this.toolStripMenuItemSelectPacketName});
this.contextMenuStripSelect.Name = "contextMenuStripSelect";
- this.contextMenuStripSelect.OwnerItem = this.selectToolStripMenuItem2;
+ this.contextMenuStripSelect.OwnerItem = this.selectToolStripMenuItem1;
this.contextMenuStripSelect.Size = new System.Drawing.Size(167, 98);
//
// allToolStripMenuItem4
@@ -564,13 +504,6 @@
this.toolStripMenuItemSelectPacketName.Text = "All (Packet Type)";
this.toolStripMenuItemSelectPacketName.Click += new System.EventHandler(this.sessionSelectAllPacketType_Click);
//
- // selectToolStripMenuItem1
- //
- this.selectToolStripMenuItem1.DropDown = this.contextMenuStripSelect;
- this.selectToolStripMenuItem1.Name = "selectToolStripMenuItem1";
- this.selectToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
- this.selectToolStripMenuItem1.Text = "Select";
- //
// toolStripSeparatorFilterPacketByName
//
this.toolStripSeparatorFilterPacketByName.Name = "toolStripSeparatorFilterPacketByName";
@@ -609,7 +542,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
@@ -659,6 +592,13 @@
this.unmarkToolStripMenuItem.Text = "Unmark";
this.unmarkToolStripMenuItem.Click += new System.EventHandler(this.sessionUnmarkSelected_Click);
//
+ // markToolStripMenuItem1
+ //
+ this.markToolStripMenuItem1.DropDown = this.contextMenuStripMark;
+ this.markToolStripMenuItem1.Name = "markToolStripMenuItem1";
+ this.markToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
+ this.markToolStripMenuItem1.Text = "Mark";
+ //
// toolStripSeparator16
//
this.toolStripSeparator16.Name = "toolStripSeparator16";
@@ -914,35 +854,6 @@
this.grpUDPFilters.TabStop = false;
this.grpUDPFilters.Text = "UDP Packets";
//
- // 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(286, 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";
- //
// checkBoxCheckAllMessages
//
this.checkBoxCheckAllMessages.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@@ -971,36 +882,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.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(284, 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;
- //
// tabPageInspect
//
this.tabPageInspect.Controls.Add(this.splitContainerInspectorTab);
@@ -1410,12 +1291,19 @@
this.richTextBoxInject.Text = "";
this.richTextBoxInject.TextChanged += new System.EventHandler(this.richTextBoxInject_TextChanged);
//
- // markToolStripMenuItem1
+ // removeToolStripMenuItem2
//
- this.markToolStripMenuItem1.DropDown = this.contextMenuStripMark;
- this.markToolStripMenuItem1.Name = "markToolStripMenuItem1";
- this.markToolStripMenuItem1.Size = new System.Drawing.Size(143, 22);
- this.markToolStripMenuItem1.Text = "Mark";
+ this.removeToolStripMenuItem2.DropDown = this.contextMenuStripRemove;
+ this.removeToolStripMenuItem2.Name = "removeToolStripMenuItem2";
+ 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(152, 22);
+ this.selectToolStripMenuItem1.Text = "Select";
//
// toolStripLabelHexEditorRequest
//
@@ -1451,7 +1339,7 @@
this.toolStripSeparator8,
this.settingsToolStripMenuItem,
this.toolStripSeparator9,
- this.toolStripMenuItem1,
+ this.toolStripMenuItemPlugins,
this.toolStripSeparator14,
this.exitToolStripMenuItem1});
this.toolStripFileMenu.Image = ((System.Drawing.Image)(resources.GetObject("toolStripFileMenu.Image")));
@@ -1546,6 +1434,19 @@
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(184, 6);
//
+ // toolStripMenuItemPlugins
+ //
+ this.toolStripMenuItemPlugins.Enabled = false;
+ this.toolStripMenuItemPlugins.Name = "toolStripMenuItemPlugins";
+ this.toolStripMenuItemPlugins.Size = new System.Drawing.Size(187, 22);
+ this.toolStripMenuItemPlugins.Text = "Plugins";
+ this.toolStripMenuItemPlugins.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
+ //
+ // toolStripSeparator14
+ //
+ this.toolStripSeparator14.Name = "toolStripSeparator14";
+ this.toolStripSeparator14.Size = new System.Drawing.Size(184, 6);
+ //
// exitToolStripMenuItem1
//
this.exitToolStripMenuItem1.Name = "exitToolStripMenuItem1";
@@ -1576,7 +1477,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";
this.copyToolStripMenuItem1.Visible = false;
//
@@ -1618,18 +1519,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);
//
@@ -2037,16 +1938,117 @@
this.autoColorizeToolStripMenuItem.Text = "Auto Colorize";
this.autoColorizeToolStripMenuItem.Click += new System.EventHandler(this.autoColorizeToolStripMenuItem_Click);
//
- // toolStripMenuItem1
+ // listViewSessions
//
- this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- this.toolStripMenuItem1.Size = new System.Drawing.Size(187, 22);
- this.toolStripMenuItem1.Text = "Plugins";
+ this.listViewSessions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeaderCounter,
+ this.columnHeaderProtocol,
+ this.columnHeaderType,
+ this.columnHeaderSize,
+ this.columnHeaderUrl,
+ this.columnHeaderContentType});
+ 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(469, 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);
//
- // toolStripSeparator14
+ // columnHeaderCounter
//
- this.toolStripSeparator14.Name = "toolStripSeparator14";
- this.toolStripSeparator14.Size = new System.Drawing.Size(184, 6);
+ this.columnHeaderCounter.Text = "#";
+ this.columnHeaderCounter.Width = 54;
+ //
+ // columnHeaderProtocol
+ //
+ this.columnHeaderProtocol.Text = "Protocol";
+ this.columnHeaderProtocol.Width = 59;
+ //
+ // columnHeaderType
+ //
+ this.columnHeaderType.Text = "Packet Type";
+ this.columnHeaderType.Width = 151;
+ //
+ // columnHeaderSize
+ //
+ this.columnHeaderSize.Text = "Bytes";
+ this.columnHeaderSize.Width = 64;
+ //
+ // columnHeaderUrl
+ //
+ this.columnHeaderUrl.Text = "Host/Address";
+ this.columnHeaderUrl.Width = 312;
+ //
+ // columnHeaderContentType
+ //
+ this.columnHeaderContentType.Text = "Content Type";
+ this.columnHeaderContentType.Width = 250;
+ //
+ // 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(286, 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(284, 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;
//
// FormWinGridProxy
//
@@ -2315,7 +2317,7 @@
private System.Windows.Forms.ColorDialog colorDialog1;
private System.Windows.Forms.ColumnHeader columnHeaderContentType;
private System.Windows.Forms.ComboBox comboBoxListenAddress;
- private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemPlugins;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator14;
}
}
diff --git a/Programs/WinGridProxy/Form1.cs b/Programs/WinGridProxy/Form1.cs
index bbc0f2f8..248fad8f 100644
--- a/Programs/WinGridProxy/Form1.cs
+++ b/Programs/WinGridProxy/Form1.cs
@@ -311,7 +311,7 @@ namespace WinGridProxy
// enable any gui elements
toolStripDropDownButton5.Enabled =
- grpUDPFilters.Enabled = grpCapsFilters.Enabled = IsProxyRunning = true;
+ toolStripMenuItemPlugins.Enabled = grpUDPFilters.Enabled = grpCapsFilters.Enabled = IsProxyRunning = true;
button1.Text = "Stop Proxy";
if (enableStatisticsToolStripMenuItem.Checked && !timer1.Enabled)
@@ -321,7 +321,7 @@ namespace WinGridProxy
{
// stop the proxy
proxy.Stop();
- grpUDPFilters.Enabled = grpCapsFilters.Enabled = IsProxyRunning = false;
+ toolStripMenuItemPlugins.Enabled = grpUDPFilters.Enabled = grpCapsFilters.Enabled = IsProxyRunning = false;
button1.Text = "Start Proxy";
comboBoxListenAddress.Enabled = textBoxProxyPort.Enabled = comboBoxLoginURL.Enabled = true;
@@ -760,6 +760,22 @@ namespace WinGridProxy
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
RestoreSavedSettings(openFileDialog2.FileName);
+ if(listViewSessions.Items.Count > 0)
+ {
+ if(MessageBox.Show("Would you like to apply these settings to the currention session list?", "Apply Filter", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
+ {
+ foreach(ListViewItem item in listViewSessions.Items)
+ {
+ ListViewItem found = FindListViewItem(listViewPacketFilters, item.SubItems[2].Text, false);
+ if (found == null)
+ found = FindListViewItem(listViewMessageFilters, item.SubItems[2].Text, false);
+
+ if(found != null && !found.Checked)
+ listViewSessions.Items.Remove(item);
+
+ }
+ }
+ }
}
}
@@ -1027,29 +1043,44 @@ namespace WinGridProxy
{
foreach (object nestedArrayRecord in packetDataObject as Array)
{
+ // handle properties
+ foreach (PropertyInfo propertyInfo in nestedArrayRecord.GetType().GetProperties())
+ {
+ if (propertyInfo.GetValue(nestedArrayRecord, null).GetType() == typeof(byte[]))
+ {
+
+ result.AppendFormat("{0, 30}: {1}" + Environment.NewLine,
+ propertyInfo.Name, Utils.BytesToString((byte[])propertyInfo.GetValue(nestedArrayRecord, null)));
+
+ }
+
+ }
+
+ // handle fields
foreach (FieldInfo packetArrayField in nestedArrayRecord.GetType().GetFields())
{
- if (packetArrayField.GetValue(nestedArrayRecord).GetType() == typeof(System.Byte[]))
+ if (packetArrayField.GetValue(nestedArrayRecord).GetType() == typeof(Byte[]))
{
- result.AppendFormat("{0,30}: {1}" + System.Environment.NewLine,
+ result.AppendFormat("{0,30}: {1}" + Environment.NewLine,
packetArrayField.Name,
- new Color4((byte[])packetArrayField.GetValue(nestedArrayRecord), 0, false).ToString());
+ new Color4((byte[])packetArrayField.GetValue(nestedArrayRecord), 0, false));
}
else
{
- result.AppendFormat("{0,30}: {1}" + System.Environment.NewLine,
+ result.AppendFormat("{0,30}: {1}" + Environment.NewLine,
packetArrayField.Name, packetArrayField.GetValue(nestedArrayRecord));
}
}
}
}
+
else
{
// handle non array data blocks
foreach (PropertyInfo packetPropertyField in packetField.GetValue(packet).GetType().GetProperties())
{
// Handle fields named "Data" specifically, this is generally binary data, we'll display it as hex values
- if (packetPropertyField.PropertyType.Equals(typeof(System.Byte[]))
+ if (packetPropertyField.PropertyType.Equals(typeof(Byte[]))
&& packetPropertyField.Name.Equals("Data"))
{
result.AppendFormat("{0}" + System.Environment.NewLine,
@@ -1057,7 +1088,7 @@ namespace WinGridProxy
packetPropertyField.Name));
}
// decode bytes into strings
- else if (packetPropertyField.PropertyType.Equals(typeof(System.Byte[])))
+ else if (packetPropertyField.PropertyType.Equals(typeof(Byte[])))
{
// Handle TextureEntry fields specifically
if (packetPropertyField.Name.Equals("TextureEntry"))
@@ -1080,7 +1111,10 @@ namespace WinGridProxy
}
else if (bytes.Length == 17)
{
- bbDecoded = String.Format("{0} {1} ({2})", new UUID(bytes, 1).ToString(), bytes[0], (AssetType)bytes[0]);
+ bbDecoded = String.Format("{0} {1} ({2})",
+ new UUID(bytes, 1),
+ bytes[0],
+ (AssetType)bytes[0]);
}
else
{
@@ -1539,5 +1573,11 @@ namespace WinGridProxy
//listview.BackColor = colorDialog1.Color;
}
}
+
+ private void toolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ FormPluginManager pluginManager = new FormPluginManager(proxy.Proxy);
+ pluginManager.ShowDialog();
+ }
}
}
diff --git a/Programs/WinGridProxy/Form1.resx b/Programs/WinGridProxy/Form1.resx
index 01fe664c..bc044b9f 100644
--- a/Programs/WinGridProxy/Form1.resx
+++ b/Programs/WinGridProxy/Form1.resx
@@ -120,6 +120,15 @@
524, 17
+
+ 185, 54
+
+
+ 17, 54
+
+
+ 705, 17
+
309, 17
@@ -172,21 +181,6 @@
BQAD/wUACw==
-
- 185, 54
-
-
- 17, 54
-
-
- 705, 17
-
-
- 414, 17
-
-
- 116, 17
-
414, 17
@@ -212,6 +206,9 @@
s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
+
+ 919, 17
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -229,9 +226,6 @@
AAAAAElFTkSuQmCC
-
- 919, 17
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
diff --git a/Programs/WinGridProxy/FormPluginManager.Designer.cs b/Programs/WinGridProxy/FormPluginManager.Designer.cs
new file mode 100644
index 00000000..1b77bf0f
--- /dev/null
+++ b/Programs/WinGridProxy/FormPluginManager.Designer.cs
@@ -0,0 +1,115 @@
+namespace WinGridProxy
+{
+ partial class FormPluginManager
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
+ this.buttonLoadPlugin = new System.Windows.Forms.Button();
+ this.buttonClose = new System.Windows.Forms.Button();
+ this.listView1 = new System.Windows.Forms.ListView();
+ this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
+ this.SuspendLayout();
+ //
+ // openFileDialog1
+ //
+ this.openFileDialog1.DefaultExt = "dll";
+ this.openFileDialog1.FileName = "openFileDialog1";
+ this.openFileDialog1.Filter = "GridProxy Plugins|*.dll";
+ this.openFileDialog1.Multiselect = true;
+ this.openFileDialog1.Title = "Load GridProxy Plugin";
+ //
+ // buttonLoadPlugin
+ //
+ this.buttonLoadPlugin.Location = new System.Drawing.Point(12, 247);
+ this.buttonLoadPlugin.Name = "buttonLoadPlugin";
+ this.buttonLoadPlugin.Size = new System.Drawing.Size(75, 23);
+ this.buttonLoadPlugin.TabIndex = 0;
+ this.buttonLoadPlugin.Text = "Load";
+ this.buttonLoadPlugin.UseVisualStyleBackColor = true;
+ this.buttonLoadPlugin.Click += new System.EventHandler(this.buttonLoadPlugin_Click);
+ //
+ // buttonClose
+ //
+ this.buttonClose.Location = new System.Drawing.Point(174, 247);
+ this.buttonClose.Name = "buttonClose";
+ this.buttonClose.Size = new System.Drawing.Size(75, 23);
+ this.buttonClose.TabIndex = 3;
+ this.buttonClose.Text = "Close";
+ this.buttonClose.UseVisualStyleBackColor = true;
+ this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click);
+ //
+ // listView1
+ //
+ this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader1,
+ this.columnHeader2});
+ this.listView1.Location = new System.Drawing.Point(12, 12);
+ this.listView1.Name = "listView1";
+ this.listView1.Size = new System.Drawing.Size(237, 229);
+ this.listView1.TabIndex = 4;
+ this.listView1.UseCompatibleStateImageBehavior = false;
+ this.listView1.View = System.Windows.Forms.View.Details;
+ //
+ // columnHeader1
+ //
+ this.columnHeader1.Text = "Name";
+ this.columnHeader1.Width = 89;
+ //
+ // columnHeader2
+ //
+ this.columnHeader2.Text = "Path";
+ this.columnHeader2.Width = 142;
+ //
+ // FormPluginManager
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.buttonClose;
+ this.ClientSize = new System.Drawing.Size(262, 280);
+ this.Controls.Add(this.listView1);
+ this.Controls.Add(this.buttonClose);
+ this.Controls.Add(this.buttonLoadPlugin);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "FormPluginManager";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Plugin Manager";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.OpenFileDialog openFileDialog1;
+ private System.Windows.Forms.Button buttonLoadPlugin;
+ private System.Windows.Forms.Button buttonClose;
+ private System.Windows.Forms.ListView listView1;
+ private System.Windows.Forms.ColumnHeader columnHeader1;
+ private System.Windows.Forms.ColumnHeader columnHeader2;
+ }
+}
\ No newline at end of file
diff --git a/Programs/WinGridProxy/FormPluginManager.cs b/Programs/WinGridProxy/FormPluginManager.cs
new file mode 100644
index 00000000..5edc29a5
--- /dev/null
+++ b/Programs/WinGridProxy/FormPluginManager.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Windows.Forms;
+using GridProxy;
+using System.Reflection;
+using System.IO;
+
+namespace WinGridProxy
+{
+ public partial class FormPluginManager : Form
+ {
+ private ProxyFrame _Frame;
+ public FormPluginManager(ProxyFrame frame)
+ {
+ InitializeComponent();
+ _Frame = frame;
+ }
+
+ private void buttonLoadPlugin_Click(object sender, EventArgs e)
+ {
+ if(openFileDialog1.ShowDialog() == DialogResult.OK)
+ {
+ LoadPlugin(openFileDialog1.FileName);
+ }
+ }
+ public void LoadPlugin(string name)
+ {
+
+ Assembly assembly = Assembly.LoadFile(Path.GetFullPath(name));
+ foreach (Type t in assembly.GetTypes())
+ {
+ try
+ {
+ if (t.IsSubclassOf(typeof(ProxyPlugin)))
+ {
+ ConstructorInfo info = t.GetConstructor(new Type[] { typeof(ProxyFrame) });
+ ProxyPlugin plugin = (ProxyPlugin)info.Invoke(new object[] { _Frame });
+ plugin.Init();
+ listView1.Items.Add(new ListViewItem(new []{assembly.ManifestModule.Name, Path.GetFullPath(name)}));
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ }
+
+ private void buttonClose_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ }
+}
diff --git a/Programs/WinGridProxy/FormPluginManager.resx b/Programs/WinGridProxy/FormPluginManager.resx
new file mode 100644
index 00000000..8dc6b17c
--- /dev/null
+++ b/Programs/WinGridProxy/FormPluginManager.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/Programs/WinGridProxy/ProxyManager.cs b/Programs/WinGridProxy/ProxyManager.cs
index 069caf3e..7bf8fc5b 100644
--- a/Programs/WinGridProxy/ProxyManager.cs
+++ b/Programs/WinGridProxy/ProxyManager.cs
@@ -61,7 +61,7 @@ namespace WinGridProxy
private string _ListenIP;
private string _LoginURI;
- ProxyFrame Proxy;
+ public ProxyFrame Proxy;
public ProxyManager(string port, string listenIP, string loginUri)
{