From e8646000d5e352c8dd673ea5418f9d6e0c0feab5 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Tue, 5 Sep 2023 09:10:24 -0400 Subject: [PATCH] U/sgriffin/build (#76) * fix archive dir * fix path * try adjusting path again * Clean up readme * further cleanup * more cleanup --- README.md | 43 +++++++++++++++++++++++++------------------ scripts/Sign.yml | 10 +++++----- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index aa3ca65..bc2f722 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,45 @@ # Microsoft Office Inspectors for Fiddler -This README document provides the instruction on installing Microsoft Office Inspectors for Fiddler. -The MAPI Inspector evaluates the captured traffic between Outlook and Exchange; whereas the FSSHTTPandWOPI Inspector evaluates the captured traffic between client and SharePoint. These Microsoft Office Inspectors are able to display the protocol content in a user-friendly format. You may choose to install one or both inspectors. +This README document provides the instruction on installing Microsoft Office Inspectors for Fiddler. + +The MAPI Inspector evaluates the captured traffic between Outlook and Exchange; whereas the FSSHTTPandWOPI Inspector evaluates the captured traffic between client and SharePoint. These Microsoft Office Inspectors are able to display the protocol content in a user-friendly format. You may choose to install one or both inspectors. For details on how to use the inspectors: see [*MAPI Inspector for Fiddler User Guide*](https://github.com/OfficeDev/MAPI-Inspector-for-Fiddler/wiki), see also [*FSSHTTPandWOPI Inspector for Fiddler User Guide*](https://github.com/OfficeDev/Office-Inspectors-for-Fiddler/wiki/FSSHTTPandWOPI). ## Overview + The Messaging Application Programming Interface (MAPI) Inspector for [Fiddler](http://www.telerik.com/fiddler) decodes the MAPI message payload of an HTTP POST request and response according to [MS-OXCMAPIHTTP](https://msdn.microsoft.com/en-us/library/Dn530952(v=EXCHG.80).aspx). The MAPI Inspector is displayed under the *Inspectors* tab in Fiddler. In addition to the MAPI Inspector, the File Synchronization via SOAP over HTTP Protocol (FSSHTTP) and the Web Application Open Platform Interface Protocol (WOPI)—combined as FSSHTTPandWOPI—also has a plug-in inspector for Fiddler which decodes: + * FSSHTTP protocol message that enables one or more clients to synchronize changes done on shared files stored on a server. -* WOPI protocol message that enables a client to access and change files stored by a server. +* WOPI protocol message that enables a client to access and change files stored by a server. The FSSHTTPandWOPI Inspector is displayed under the *Inspectors* tab in Fiddler and decodes the message payload according to [MS-FSSHTTP](https://msdn.microsoft.com/en-us/library/dd943623%28v=office.12%29.aspx), [MS-FSSHTTPB](https://msdn.microsoft.com/en-us/library/dd965780%28v=office.12%29.aspx), [MS-FSSHTTPD](https://msdn.microsoft.com/en-us/library/ee365790%28v=office.12%29.aspx) and [MS-WOPI](https://msdn.microsoft.com/en-us/library/hh622722%28v=office.12%29.aspx). This repository also includes Jscript that adds an *MS Protocol* column in the Fiddler web session panel. The *MS Protocol* column displays protocols that are relevant to MAPI, FSSHTTP, and WOPI messages, thereby allowing you to easily identify which HTTP requests and responses contain the respective message payloads. ## Building the Inspectors -Each of the inspectors has a Visual Studio solution file in the Source folder, for example: - - `Office-Inspectors-for-Fiddler\FSSHTTPWOPIInspector\Source\FSSHTTPandWOPIInspector.sln` - `Office-Inspectors-for-Fiddler\MAPIInspector\Source\MAPIInspector.sln` -These will allow you to modify and build the inspector dlls. +Each of the inspectors has a Visual Studio solution file in the Source folder, for example: +`Office-Inspectors-for-Fiddler\MAPIInspector\Source\MAPIInspector.sln` +`Office-Inspectors-for-Fiddler\FSSHTTPWOPIInspector\Source\FSSHTTPandWOPIInspector.sln` + +These will allow you to modify and build the inspector dlls. -NOTE: There are dependencies on a few libraries and some of these are found in the Fiddler install folder. Specifically, the correct versions of the **HexBox** libraries can be found in your system's install folder for Fiddler. These are the libraries that you should point the Visual Studio inspector projects to for references. For example: +## Installation - `C:\Users\\AppData\Local\Programs\Fiddler\Be.Windows.Forms.HexBox.dll` +First install the latest [Fiddler Classic](https://www.telerik.com/download/fiddler) tool and then run it. Note that Fiddler must be run at least once before installing any inspectors. To install the inspector of your choice (MAPI, FSSHTTPWOPI) or to install both, add the respective DLL files and the scripts. -## Installation -First install the latest [Fiddler](http://www.telerik.com/fiddler) tool and then run it. Note that Fiddler must be run at least once before installing any inspectors. To install the inspector of your choice (MAPI, FSSHTTPWOPI) or to install both, add the respective DLL files and the scripts. +### Inspector DLL -### Inspector DLL -1. Copy the file MAPIFiddlerInspector.dll into the C:\Program Files\Fiddler2\Inspectors directory. Alternatively, you can clone this repository, build the MAPIFiddlerInspector.dll, and copy the built .dll to your C:\Program Files\Fiddler2\Inspectors directory. +1. Copy the file MAPIFiddlerInspector.dll into the Fiddler directory, located here: + + `%LocalAppData%\Programs\Fiddler\Inspectors` + or here: + `%ProgramFiles%\Fiddler2\Inspectors` + + Alternatively, you can clone this repository and build the MAPIFiddlerInspector.dll, which will copy the built .dll to your fiddler Inspectors directory. Follow the same process if you wish to use FSSHTTPAndWOPIFiddlerInspector.dll. @@ -40,17 +47,17 @@ First install the latest [Fiddler](http://www.telerik.com/fiddler) tool and then ![alt tag](/README-Images/InspectorsTabs.png) -### Script +### Script 1. From the *Rules* menu, which is shown in the following screenshot, click *Customize Rules*. - + ![alt tag](/README-Images/Figure2-mapiscript.png) 2. When the following message box displays, click *Yes* to install the FiddlerScript editor. ![alt tag](/README-Images/Figure3-mapiscript.png) -3. Restart Fiddler after installing the FiddlerScript editor. Fiddler displays a new tab, *FiddlerScript*, as shown in the following screenshot. +3. Restart Fiddler after installing the FiddlerScript editor. Fiddler displays a new tab, *FiddlerScript*, as shown in the following screenshot. ![alt tag](/README-Images/Figure4-mapiscript.png) @@ -59,7 +66,7 @@ First install the latest [Fiddler](http://www.telerik.com/fiddler) tool and then But if you wish to add the code from the FSSHTTPAndWOPI.js file, then update **CalcMethodCol** function definition with the code for FSSHTTP and WOPI. Don't forget to add **GetWOPIOperationName** function definition as well. **Note:** When you combine the scripts for MAPI and FSSHTTP in function **CalcMethodCol**, modify the code accordingly to ensure protocol names are displayed under the *MS Protocol* column. As shown below, the else statement is removed and the if statement for MAPI is added. - + ![alt tag](/README-Images/ScriptMAPIAndFSSHTTP.png) 5. Restart Fiddler. The *MS Protocol* column is displayed in the session view. diff --git a/scripts/Sign.yml b/scripts/Sign.yml index 47aedad..56aa0b5 100644 --- a/scripts/Sign.yml +++ b/scripts/Sign.yml @@ -76,19 +76,19 @@ stages: - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/MAPIFiddlerInspector.dll' - archiveFile: '$(System.ArtifactStagingDirectory)/MAPIFiddlerInspector.dll.$(Build.BuildNumber).zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/MAPIFiddlerInspector.dll.$(Build.BuildNumber).zip' - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/MAPIFiddlerInspector.pdb' - archiveFile: '$(System.ArtifactStagingDirectory)/MAPIFiddlerInspector.pdb.$(Build.BuildNumber).zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/MAPIFiddlerInspector.pdb.$(Build.BuildNumber).zip' - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/FSSHTTPandWOPIFiddlerInspector.dll' - archiveFile: '$(System.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.dll.$(Build.BuildNumber).zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.dll.$(Build.BuildNumber).zip' - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/FSSHTTPandWOPIFiddlerInspector.pdb' - archiveFile: '$(System.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.pdb.$(Build.BuildNumber).zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.pdb.$(Build.BuildNumber).zip' - task: GitHubRelease@1 inputs: @@ -99,7 +99,7 @@ stages: tagSource: 'userSpecifiedTag' tag: '$(Build.BuildNumber)' assets: | - $(System.ArtifactStagingDirectory)/drop/*.zip + $(Build.ArtifactStagingDirectory)/*.zip isDraft: true isPreRelease: true changeLogCompareToRelease: 'lastFullRelease'