LIBOMV-512 PacketToString now decodes nested properties

LIBOMV-509 Loading saved filters will prompt to apply to current session list
LIBOMV-519 Adds initial support for loading GridProxy plugins (not well tested yet)


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2705 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
Jim Radford
2009-05-07 20:55:03 +00:00
parent 85f09236ee
commit ba644b5ff3
7 changed files with 522 additions and 193 deletions

View File

@@ -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;
}
}

View File

@@ -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();
}
}
}

View File

@@ -120,6 +120,15 @@
<metadata name="contextMenuStripSessions.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>524, 17</value>
</metadata>
<metadata name="contextMenuStripRemove.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>185, 54</value>
</metadata>
<metadata name="contextMenuStripSelect.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 54</value>
</metadata>
<metadata name="contextMenuStripMark.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>705, 17</value>
</metadata>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>309, 17</value>
</metadata>
@@ -172,21 +181,6 @@
BQAD/wUACw==
</value>
</data>
<metadata name="contextMenuStripRemove.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>185, 54</value>
</metadata>
<metadata name="contextMenuStripSelect.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 54</value>
</metadata>
<metadata name="contextMenuStripMark.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>705, 17</value>
</metadata>
<metadata name="statusStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>414, 17</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>116, 17</value>
</metadata>
<metadata name="statusStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>414, 17</value>
</metadata>
@@ -212,6 +206,9 @@
s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
</value>
</data>
<metadata name="contextMenuStripCopy.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>919, 17</value>
</metadata>
<data name="EditToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -229,9 +226,6 @@
AAAAAElFTkSuQmCC
</value>
</data>
<metadata name="contextMenuStripCopy.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>919, 17</value>
</metadata>
<data name="toolStripDropDownButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8

View File

@@ -0,0 +1,115 @@
namespace WinGridProxy
{
partial class FormPluginManager
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

View File

@@ -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();
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -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)
{