<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Filter.NET Framework</title><link>http://filterdotnet.codeplex.com/Project/ProjectRss.aspx</link><description>Filter.NET is a framework designed to expose the ISAPI Filters API to .NET while maintaining the power, flexibility and efficiency of the IIS platform.</description><item><title>New Post: EventLog error Unable to get server variable 'HTTP_COOKIE'</title><link>http://filterdotnet.codeplex.com/Thread/View.aspx?ThreadId=59191</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hello Tiago,&lt;/p&gt;
&lt;p&gt;Thanks a lot for this easy to use solution for writing ISAPI filters. I have written my own little filter that basically subscribes to the PreProcHeaders event and then the Log event.&amp;nbsp; In the PreProcHeaders event I attempt to get at the cookie string by using the following&lt;/p&gt;
&lt;p&gt;e.Context.ServerVariables[ServerVariable.HTTP_COOKIE];&lt;/p&gt;
&lt;p&gt;I then grab the neccesary key and string out of the cookie string and populate a variable that is used in the Log event to write&amp;nbsp; the clientusername in the IISLog(cs-username).&amp;nbsp; This process works and the IIS logs are being populated correctly, but more often than not my eventlog is being spammed by the error from the filter.NET Framework ...Please see the error below:&lt;/p&gt;
&lt;p style="padding-left:30px"&gt;&lt;em&gt;Unable to get server variable 'HTTP_COOKIE'&lt;br&gt;The data area passed to a system call is too small.&lt;br&gt;&lt;br&gt;&lt;br&gt;Filename: .\helper.cpp&lt;br&gt;Line: 16&lt;br&gt;Function: void __cdecl Helper_T::GetServerVariable(struct _HTTP_FILTER_CONTEXT *,char *,char *,int *).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Would you know why this error is being thrown...I have a try catch around the e.Context.ServerVariables[ServerVariable.HTTP_COOKIE]; but this does not seem to stop the errors being written to the eventlog.&lt;/p&gt;
&lt;p&gt;Your help would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Paul&lt;/p&gt;
&lt;p style="padding-left:30px"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>pthawkes</author><pubDate>Thu, 11 Jun 2009 13:10:43 GMT</pubDate><guid isPermaLink="false">New Post: EventLog error Unable to get server variable 'HTTP_COOKIE' 20090611011043P</guid></item><item><title>Updated Release: Filter.NET 1.0.1 (Sep 03, 2007)</title><link>http://filterdotnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6851</link><description>&lt;div&gt;This release is production ready.&lt;br&gt;&lt;br&gt;&lt;br&gt;The items available for download are:&lt;br&gt;
&lt;ul&gt;&lt;li&gt;framework installation binary&lt;/li&gt;
&lt;li&gt;class library documentation (also available with the installation binary)&lt;/li&gt;
&lt;li&gt;zip file with 6 Samples&lt;/li&gt;
&lt;li&gt;VS2005 project template&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Thu, 07 May 2009 05:44:50 GMT</pubDate><guid isPermaLink="false">Updated Release: Filter.NET 1.0.1 (Sep 03, 2007) 20090507054450A</guid></item><item><title>Released: Filter.NET 1.0.1 (Sep 03, 2007)</title><link>http://filterdotnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6851</link><description>&lt;div&gt;This release is production ready.&lt;br&gt;&lt;br&gt;&lt;br&gt;The items available for download are:&lt;br&gt;
&lt;ul&gt;&lt;li&gt;framework installation binary&lt;/li&gt;
&lt;li&gt;class library documentation (also available with the installation binary)&lt;/li&gt;
&lt;li&gt;zip file with 6 Samples&lt;/li&gt;
&lt;li&gt;VS2005 project template&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Thu, 07 May 2009 05:44:50 GMT</pubDate><guid isPermaLink="false">Released: Filter.NET 1.0.1 (Sep 03, 2007) 20090507054450A</guid></item><item><title>New Post: ISAPI Filter to modify request server variable</title><link>http://filterdotnet.codeplex.com/Thread/View.aspx?ThreadId=53370</link><description>&lt;div style="line-height: normal;"&gt;Hi Tiago,&lt;br&gt;
&lt;br&gt;
                 Thanks for your response. That is exactly what I did to log the actual client IP address. &lt;br&gt;
&lt;br&gt;
a)Subscribe to the PreProcessHeader and the Log events. &lt;br&gt;
b)Retrieve the client IP address from the &amp;quot;X-FORWARDED-FOR&amp;quot; header in the PreProcessHeader event handler and store it in the filter session.&lt;br&gt;
c)Finally in the Log event handler, get the value from the filter session and update the client hostname.&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
Codeplex user. &lt;br&gt;
&lt;/div&gt;</description><author>usercodeplexone</author><pubDate>Sun, 19 Apr 2009 14:29:35 GMT</pubDate><guid isPermaLink="false">New Post: ISAPI Filter to modify request server variable 20090419022935P</guid></item><item><title>New Post: ISAPI Filter to modify request server variable</title><link>http://filterdotnet.codeplex.com/Thread/View.aspx?ThreadId=53370</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks so much!&lt;/p&gt;
&lt;p&gt;As for your question, seems you have a reverse proxy in place, not a router. IIS records the IP address used to connect to it in REMOTE_ADDR, one of its internal contextual properties. IIS provides server variables, which are read only, as a collection of IIS internal contextual properties and request headers.&lt;/p&gt;
&lt;p&gt;You may, however, subscribe to the managed Log event (native SF_NOTIFY_LOG event) and replace the client hostname. Read more here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms525464.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms525464.aspx&lt;/a&gt;. Let me know how it goes.&lt;br&gt;
&lt;br&gt;
regards&lt;br&gt;
Tiago Halm&lt;/p&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Sat, 18 Apr 2009 17:37:57 GMT</pubDate><guid isPermaLink="false">New Post: ISAPI Filter to modify request server variable 20090418053757P</guid></item><item><title>New Post: ISAPI Filter to modify request server variable</title><link>http://filterdotnet.codeplex.com/Thread/View.aspx?ThreadId=53370</link><description>&lt;div style="line-height: normal;"&gt;Hi Tiago,&lt;br&gt;
&lt;br&gt;
               Before posting my question, I would like to thank you for providing a cool framework for writing ISAPI filters. I installed Filter.net framework on my local machine and tried few of your sample apps and everything works fine. Here is my situation.....&lt;br&gt;
&lt;br&gt;
              In our environment, any incoming request comes through a Load Balancer and as a result, the client IP address that gets stored in the IIS log file is that of the Load Balancer and not the actual client's IP address. The &amp;quot;X-FORWARDED-FOR&amp;quot; header which holds the actual client IP address is passed along with the request . &lt;br&gt;
&lt;br&gt;
             In short what I would like to achieve is write an ISAPI filter that would replace the &amp;quot;REMOTE_ADDR&amp;quot; server variable value ( Load Balancer's IP address value) with the value from the &amp;quot;X-FORWARDED-FOR&amp;quot; header. I am subscribing to the PreProcHeaders event to retrieve the header values, but I am unable to change the &amp;quot;REMOTE_ADDR&amp;quot; server variable value as it is read only. &lt;br&gt;
&lt;br&gt;
By doing so I am hoping that when IIS logs the request to the log file, the c-ip value would be the correct client's IP address. Would really appreciate your help in this matter.&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
Codeplex user.
&lt;/div&gt;</description><author>usercodeplexone</author><pubDate>Wed, 15 Apr 2009 14:35:45 GMT</pubDate><guid isPermaLink="false">New Post: ISAPI Filter to modify request server variable 20090415023545P</guid></item><item><title>Created Issue: Bad VSI Template</title><link>http://www.codeplex.com/filterdotnet/WorkItem/View.aspx?WorkItemId=7047</link><description>The C&amp;#35; template does not work.  I opend it up and fixed the XML inside it to allow it to work as a vsi template file.  The attached document is my fixed VSI file.&lt;br /&gt;</description><author>tweidman</author><pubDate>Thu, 05 Feb 2009 14:34:03 GMT</pubDate><guid isPermaLink="false">Created Issue: Bad VSI Template 20090205023403P</guid></item><item><title>New Post: Any ideas?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41272</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br&gt;
&lt;br&gt;
Can Filter.Net analyze POST data in IIS5 and IIS6?&lt;br&gt;
&lt;br&gt;
Of no, can you give an advice what project can do it?&lt;br&gt;
NOTE: this different project must support managed code =)&lt;br&gt;
&lt;br&gt;
The basic idea of the project:&lt;br&gt;
&lt;br&gt;
1. user will fill the form&lt;br&gt;
2. submit it back to server&lt;br&gt;
3. we will intercept the request and decide cancel it(if user will enter non-valid words: porno, sex etc) or process it 
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Tue, 02 Dec 2008 14:24:44 GMT</pubDate><guid isPermaLink="false">New Post: Any ideas? 20081202022444P</guid></item><item><title>New Post: How to launch my filter before aspx processing mechanizm?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41009</link><description>&lt;div style="line-height: normal;"&gt;Hi Tiago,&lt;br&gt;
&lt;br&gt;
OnPreProcHeaders everything is working ok.&lt;br&gt;
Maybe a was using different notification.&lt;br&gt;
&lt;br&gt;
Sorry.&lt;br&gt;
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Tue, 02 Dec 2008 14:15:04 GMT</pubDate><guid isPermaLink="false">New Post: How to launch my filter before aspx processing mechanizm? 20081202021504P</guid></item><item><title>New Post: How to retrive POST data?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41000</link><description>&lt;div style="line-height: normal;"&gt;Hi Tiago,&lt;br&gt;
&lt;br&gt;
So I can't get post data using your project on IIS6?&lt;br&gt;
Or&amp;nbsp; Filter.Net allows to create custom Wildcard ISAPI Extensions?&lt;br&gt;
&lt;br&gt;
Because I don't want to get POST data from IIS 5.x using your project and get POST data from IIS 6.0 using different project.&lt;br&gt;
It will be too difficult.&lt;br&gt;
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Tue, 02 Dec 2008 14:13:28 GMT</pubDate><guid isPermaLink="false">New Post: How to retrive POST data? 20081202021328P</guid></item><item><title>New Post: How to launch my filter before aspx processing mechanizm?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41009</link><description>&lt;div style="line-height: normal;"&gt;Hi Arthur,&lt;br&gt;
&lt;br&gt;
The Filter.NET framework is a managed wrapper around ISAPI Filters, so any managed filter is launched and executed before (if you handle the appropriate notifications like OnPreProcHeaders for example) the request reaches any ISAPI Extension, in particular, the ASP.NET ISAPI Extension, ASP, etc ...&lt;br&gt;
&lt;br&gt;
How do you see the filter firing up after the ASP.NET page?&lt;br&gt;
&lt;br&gt;
regards&lt;br&gt;
Tiago Halm
&lt;/div&gt;</description><author>thalm</author><pubDate>Fri, 28 Nov 2008 21:30:56 GMT</pubDate><guid isPermaLink="false">New Post: How to launch my filter before aspx processing mechanizm? 20081128093056P</guid></item><item><title>New Post: How to retrive POST data?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41000</link><description>&lt;div style="line-height: normal;"&gt;Hi Arthur,&lt;br&gt;
&lt;br&gt;
Starting with IIS 6.0 is no longer possible to process POST data in an ISAPI Filter. Only IIS 5.x allows that. Microsoft's proposal is to process POST data using Wildcard ISAPI Extensions, new feature of IIS6.0.&lt;br&gt;
&lt;br&gt;
Read more here:&lt;br&gt;
&lt;a href="http://blogs.msdn.com/david.wang/archive/2006/04/07/IIS6_and_HTTP_Server_API_Part_1.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2006/04/07/IIS6_and_HTTP_Server_API_Part_1.aspx&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
regards&lt;br&gt;
Tiago Halm
&lt;/div&gt;</description><author>thalm</author><pubDate>Fri, 28 Nov 2008 21:27:16 GMT</pubDate><guid isPermaLink="false">New Post: How to retrive POST data? 20081128092716P</guid></item><item><title>New Post: How to launch my filter before aspx processing mechanizm?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41009</link><description>&lt;div style="line-height: normal;"&gt;Tiago,&lt;br&gt;
&lt;br&gt;
I want to launch my filter before IIS start processing aspx files and other predefined Asp.Net extensions.&lt;br&gt;
&lt;br&gt;
For example:&lt;br&gt;
1) user trying to open an aspx page&lt;br&gt;
2) our filter intercepts this request&lt;br&gt;
3) using some algo it will decide: to pass request to the aspnet isapi or to cancel it.&lt;br&gt;
&lt;br&gt;
Any suggestions of how to implement it?&lt;br&gt;
&lt;br&gt;
Because my current test shows that my filter fire ups after asp.net page processing.&lt;br&gt;
&lt;br&gt;
Best regards, Artur Okolity. 
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Fri, 28 Nov 2008 12:24:55 GMT</pubDate><guid isPermaLink="false">New Post: How to launch my filter before aspx processing mechanizm? 20081128122455P</guid></item><item><title>New Post: How to retrive POST data?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=41000</link><description>&lt;div style="line-height: normal;"&gt;Tiago,&lt;br&gt;
&lt;br&gt;
I need to analyze POST data that is coming from the form in filter.&lt;br&gt;
&lt;br&gt;
I've found an article on MSDN after searching for a while. It says:&lt;br&gt;
&amp;quot;Microsoft does not recommend processing POST data with the OnReadRawData method of an ISAPI filter&amp;quot;&lt;br&gt;
&lt;br&gt;
Is it true that I can get POST data in your &lt;code&gt;&lt;/code&gt;ReadRawData(SF_NOTIFY_READ_RAW_DATA)?&lt;br&gt;
&lt;br&gt;
If so why doesn't this event fire up in my code?&lt;br&gt;
&lt;br&gt;
void IHttpFilter.Init(IFilterEvents events)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; events.PreProcHeaders += OnPreProcHeaders;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; events.ReadRawData += OnReadRawData;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; events.SendResponse += OnSendResponse;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static void OnReadRawData(object sender, RawDataEventArgs e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // IN DEBUG MODE IT WON'T STOP HERE&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
Btw, thanks for your previous response&lt;br&gt;
&lt;br&gt;
Best regards,&lt;br&gt;
Arthur Okolity 
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Fri, 28 Nov 2008 10:16:55 GMT</pubDate><guid isPermaLink="false">New Post: How to retrive POST data? 20081128101655A</guid></item><item><title>New Post: How to debug my own filter?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=40862</link><description>&lt;div style="line-height: normal;"&gt;Tiago,&lt;br&gt;
&lt;br&gt;
Thanks!!&lt;br&gt;
It really helps.&lt;br&gt;
&lt;br&gt;
I've created another discussion about POST parameters. 
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Fri, 28 Nov 2008 09:56:19 GMT</pubDate><guid isPermaLink="false">New Post: How to debug my own filter? 20081128095619A</guid></item><item><title>New Post: How to debug my own filter?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=40862</link><description>&lt;div style="line-height: normal;"&gt;Arthur,&lt;br&gt;
&lt;br&gt;
It should be as easy as setting a Thread.Sleep in the constructor of your filter and quickly attach your Visual Studio to the proper w3wp.exe, and you're off.&lt;br&gt;
&lt;br&gt;
hope it helps&lt;br&gt;
Tiago Halm
&lt;/div&gt;</description><author>thalm</author><pubDate>Fri, 28 Nov 2008 09:02:06 GMT</pubDate><guid isPermaLink="false">New Post: How to debug my own filter? 20081128090206A</guid></item><item><title>New Post: How to debug my own filter?</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=40862</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br&gt;
&lt;br&gt;
I want to create my first filter using your framework.&lt;br&gt;
&lt;br&gt;
How can I debug my filter using VS.Net? 
&lt;/div&gt;</description><author>Artur_Okolity</author><pubDate>Wed, 26 Nov 2008 12:44:28 GMT</pubDate><guid isPermaLink="false">New Post: How to debug my own filter? 20081126124428P</guid></item><item><title>New Post: 64-bit version</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=38873</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br&gt;
&lt;br&gt;
I have not built the 64bit version, nor am I planning to, sorry.&lt;br&gt;
However, feel free to compile the code on a 64 bit box, and try it out.&lt;br&gt;
&lt;br&gt;
regards&lt;br&gt;
Tiago Halm
&lt;/div&gt;</description><author>thalm</author><pubDate>Thu, 06 Nov 2008 05:09:07 GMT</pubDate><guid isPermaLink="false">New Post: 64-bit version 20081106050907A</guid></item><item><title>New Post: 64-bit version</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=38873</link><description>&lt;div style="line-height: normal;"&gt;Hi Thalm,&lt;br&gt;
&lt;br&gt;
We are using your Filter.NET in one project, and it's really good! Great job! Thank you!&lt;br&gt;
&lt;br&gt;
We've tested our solution in 32-bit environment only, but are planning to go for 64-bits in production. Is Filter.NET working on 64-bit IIS? May be you could share some installation package for 64-bits?&lt;br&gt;
&lt;br&gt;
Thanks!
&lt;/div&gt;</description><author>cyberious</author><pubDate>Thu, 30 Oct 2008 15:19:43 GMT</pubDate><guid isPermaLink="false">New Post: 64-bit version 20081030031943P</guid></item><item><title>New Post: Impersonation Question</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=35197</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;FYI,&lt;/p&gt;
&lt;p&gt;David Wang has a really good post on this subject.&lt;br&gt;
&lt;a href="http://blogs.msdn.com/david.wang/archive/2005/08/23/Can-ISAPI-override-its-user-impersonation.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/08/23/Can-ISAPI-override-its-user-impersonation.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tiago Halm&lt;/p&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Tue, 09 Sep 2008 01:48:02 GMT</pubDate><guid isPermaLink="false">New Post: Impersonation Question 20080909014802A</guid></item></channel></rss>