<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>code-complete - Win2K3 Server</title>
    <link>http://www.code-complete.com/code/</link>
    <description>est.1998 :: v. 8.0 </description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    <pubDate>Tue, 20 Nov 2007 04:25:29 GMT</pubDate>

    <image>
        <url>http://www.code-complete.com/code/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: code-complete - Win2K3 Server - est.1998 :: v. 8.0 </title>
        <link>http://www.code-complete.com/code/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>0-Byte CFMail files in Spool and Undeliv Directories - scripts to delete</title>
    <link>http://www.code-complete.com/code/index.php?/archives/34-0-Byte-CFMail-files-in-Spool-and-Undeliv-Directories-scripts-to-delete.html</link>
            <category>Coldfusion Programming</category>
            <category>Coldfusion Server</category>
            <category>Win2K3 Server</category>
    
    <comments>http://www.code-complete.com/code/index.php?/archives/34-0-Byte-CFMail-files-in-Spool-and-Undeliv-Directories-scripts-to-delete.html#comments</comments>
    <wfw:comment>http://www.code-complete.com/code/wfwcomment.php?cid=34</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://www.code-complete.com/code/rss.php?version=2.0&amp;type=comments&amp;cid=34</wfw:commentRss>
    

    <author>nospam@example.com (thaddeus)</author>
    <content:encoded>
    Way back in the olden days of Coldfusion 4.5/5 I would occasionally see a 0-Byte file sitting in coldfusions mail spool directory which seemed to cause Coldfusion to hang and mail to queue up in the spool folder.  Well, since then in CFMX 7/8 when the server notices this file in the spool directory, it moves it immediately into the Undelivr directory.  However, it seems that the 0-Byte file in Undelivr does have some effects on the CF server, and we have seem Coldfusion MX7 become unreponsive to requests after a period of time when the 0-Byte file is present.  Here are a couple ways to get rid of that file.  The first is a windows batch file that can be called as a scheduled task, and the second is a coldfusion script that could be invoked as cf scheduled task or via GET or curl from the command line:&lt;br /&gt;
&lt;br /&gt;
Here&#039;s the batch file:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
:: file rem0bytefiles.bat&lt;br /&gt;
:: SpireMedia, Inc. Thaddeus Batt thad@spiremedia.com&lt;br /&gt;
:: windows batch file for removing 0 byte files to be called on a scheduled&lt;br /&gt;
:: basis when 0-byte files get written to the cfmx mail undeliv folder&lt;br /&gt;
:: causing cfmx to go into a death spiral&lt;br /&gt;
&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
for /f &quot;tokens=* delims=&quot; %%F in (&#039;dir /s/b/a-d C:\CFusionMX7\Mail\Undelivr&#039;) do (&lt;br /&gt;
if 0 equ %%~zF del &quot;%%F&quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
And here&#039;s the cfscript:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
:: file rem0bytefiles.bat&lt;br /&gt;
:: SpireMedia, Inc. Thaddeus Batt thad@spiremedia.com&lt;br /&gt;
:: windows batch file for removing 0 byte files to be called on a scheduled&lt;br /&gt;
:: basis when 0-byte files get written to the cfmx mail undeliv folder&lt;br /&gt;
:: causing cfmx to go into a death spiral&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfparam name=\&amp;quot;url.do\&amp;quot; default = \&amp;quot;nothing\&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfdirectory action=\&amp;quot;list\&amp;quot; directory=\&amp;quot;#ExpandPath(\&amp;quot;./\&amp;quot;)#\&amp;quot; name=\&amp;quot;dir\&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfif url.do eq \&amp;quot;delete\&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;cfif \&amp;quot;#dir.size#\&amp;quot; eq 0 and \&amp;quot;#dir.type#\&amp;quot; eq \&amp;quot;File\&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;cffile action = \&amp;quot;delete\&amp;quot; file = \&amp;quot;#dir.Directory#\#dir.name#\&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;/cfif&amp;gt;&lt;br /&gt;
&amp;lt;cfdirectory action=\&amp;quot;list\&amp;quot; directory=\&amp;quot;#ExpandPath(\&amp;quot;./\&amp;quot;)#\&amp;quot; name=\&amp;quot;dir1\&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfdump var=\&amp;quot;&amp;dir1;\&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/cfif&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cfdirectory action=\&amp;quot;list\&amp;quot; directory=\&amp;quot;#ExpandPath(\&amp;quot;./\&amp;quot;)#\&amp;quot; name=\&amp;quot;dir1\&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cfdump var=\&amp;quot;&amp;dir1;\&amp;quot;&amp;gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 19 Nov 2007 14:41:05 -0700</pubDate>
    <guid isPermaLink="false">http://www.code-complete.com/code/index.php?/archives/34-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>IIS Resource Pools and CFMX Web Services</title>
    <link>http://www.code-complete.com/code/index.php?/archives/30-IIS-Resource-Pools-and-CFMX-Web-Services.html</link>
            <category>Coldfusion Programming</category>
            <category>Win2K3 Server</category>
            <category>Windows Server 2008</category>
    
    <comments>http://www.code-complete.com/code/index.php?/archives/30-IIS-Resource-Pools-and-CFMX-Web-Services.html#comments</comments>
    <wfw:comment>http://www.code-complete.com/code/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.code-complete.com/code/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (thaddeus)</author>
    <content:encoded>
    &lt;!-- s9ymdb:14 --&gt;&lt;img width=&#039;292&#039; height=&#039;437&#039; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.code-complete.com/code/uploads/apppools.jpg&quot; alt=&quot;&quot; /&gt;We have a CFMX-based Web Content Management System that manages multiple websites.  The system uses name-based virtual hosting and the public facing website(s) and the ESM application can live on the same box running on a single IP address or on seperate machines with seperate IPs.  The Enterprise Site Manager uses web services extensively as do the sites that are being managed.  The webservices are invoked using the same URL on the seperate sites:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
http://www1.clientwebsite.com/wsdl/index.cfc?wsdl&lt;br /&gt;
http://www2.clientwebsite.com/wsdl/index.cfc?wsdl&lt;br /&gt;
http://www3.clientwebsite.com/wsdl/index.cfc?wsdl&lt;br /&gt;
http://ECMS.clientwebsite.com/wsdl/index.cfc?wsdl&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Using name-based virtual hosting with a single IP, there are no problems with this when running cfmx under apache, everything works fine.  But if you run this kind of set up under IIS some strange things happen:  Once the wsdl URL is invoked it is cached in the Default Application pool simply as /wsdl/index.cfc?wsdl  so whether you are calling the ESM wsdl, or any of the client site wsdls you may of may not get the right one.  What this means is that if you have name-based virtual host applications running under IIS that have the same URLs as one another, you MUST run each site under it&#039;s own application pool otherwise you can expect to see some wacky results on your URL calls.&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 16 Oct 2007 10:54:15 -0600</pubDate>
    <guid isPermaLink="false">http://www.code-complete.com/code/index.php?/archives/30-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Naming Directories Using Dots and IIS Security Lockdown</title>
    <link>http://www.code-complete.com/code/index.php?/archives/29-Naming-Directories-Using-Dots-and-IIS-Security-Lockdown.html</link>
            <category>Tools of the Trade</category>
            <category>Win2K3 Server</category>
    
    <comments>http://www.code-complete.com/code/index.php?/archives/29-Naming-Directories-Using-Dots-and-IIS-Security-Lockdown.html#comments</comments>
    <wfw:comment>http://www.code-complete.com/code/wfwcomment.php?cid=29</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.code-complete.com/code/rss.php?version=2.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    

    <author>nospam@example.com (thaddeus)</author>
    <content:encoded>
    The other day one of our developers was migrating a client site to a new dedicated server that the hosting company had just built.  The application being migrated was an instance of our &lt;a href=&quot;http://www.spiremedia.com/spiremedia2k5/index.cfm?cid=136&quot;  title=&quot;ESM&quot;&gt;Enterprise Site Manager&lt;/a&gt; application which runs under CFMX 8.  It had been running fine, and we were just switching boxes so we were puzzled by the fact the implementation was severely broken on the new server.  Our developer was able to trace the issue to the fact that certain CFCs seemed to be inaccessible, specifically, CFCs that lived in a directory that used version numbers with dots.  (for example /sitemapeditor1.1/index.cfc, or /autocompleter1.2/index.cfc)&lt;br /&gt;
&lt;br /&gt;
When trying to access these files directly via a web browser, the server was returning a 302 error, then a 404 error.  Strange.  Remove the dot from the directory name, and the CFCs came up fine.  So at first I thought there was something up with our ISAPI_Rewrite configuration, which we use to provide clean URLs on the client site.  But that checked out fine.  So I did what I usually do when I&#039;m completely stumped and fired up &lt;a href=&quot;http://blogs.technet.com/markrussinovich/&quot;  title=&quot;mark&quot;&gt;Mark Russinovich&#039;s&lt;/a&gt; great utility called &lt;a href=&quot;http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx&quot;  title=&quot;procmon&quot;&gt;Procmon&lt;/a&gt;, which shows which processes are accessing which files in realtime.  So I noticed that when trying to pull up the URL, the w3 service was accessing a a file called UrlScan.101107.1916.log.  When I looked at the file, I saw this line:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
[10-11-2007 - 13:48:36] URLs must not contain any dot except for the file extension.&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Furthur down, lot&#039;s of entries like this:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
[10-11-2007 - 13:48:37] Client at 127.0.0.1: URL contains &#039;.&#039; in the path. Request will be rejected.  Site Instance=&#039;1456874306&#039;, Raw URL=&#039;//validator1.0/&#039;&lt;br /&gt;
[10-11-2007 - 13:54:43] Client at 127.0.0.1: URL contains &#039;.&#039; in the path. Request will be rejected.  Site Instance=&#039;1456874306&#039;, Raw URL=&#039;//validator1.0/&#039;&lt;br /&gt;
[10-11-2007 - 13:55:10] Client at 127.0.0.1: URL contains &#039;.&#039; in the path. Request will be rejected.  Site Instance=&#039;1456874306&#039;, Raw URL=&#039;//validator1.0/&#039;&lt;br /&gt;
[10-11-2007 - 13:55:30] Client at 127.0.0.1: URL contains &#039;.&#039; in the path. Request will be rejected.  Site Instance=&#039;1456874306&#039;, Raw URL=&#039;//validator1.0/&#039;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
AHA!  The hosting company must have installed the &lt;a href=&quot;http://www.securityfocus.com/infocus/1755&quot;  title=&quot;iislockdown&quot;&gt;IISLockdown Tools&lt;/a&gt;!  by opening up the urlscan.ini file and setting the following parameter, all was good with the application:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
AllowDotInPath=1               ; If 1, allow dots that are not file extensions.&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 15 Oct 2007 10:59:25 -0600</pubDate>
    <guid isPermaLink="false">http://www.code-complete.com/code/index.php?/archives/29-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Sys Admin Appreciation Day</title>
    <link>http://www.code-complete.com/code/index.php?/archives/18-Sys-Admin-Appreciation-Day.html</link>
            <category>Redhat Linux</category>
            <category>SQL Server 2k5</category>
            <category>Win2K3 Server</category>
            <category>Windows Server 2008</category>
    
    <comments>http://www.code-complete.com/code/index.php?/archives/18-Sys-Admin-Appreciation-Day.html#comments</comments>
    <wfw:comment>http://www.code-complete.com/code/wfwcomment.php?cid=18</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.code-complete.com/code/rss.php?version=2.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    

    <author>nospam@example.com (thaddeus)</author>
    <content:encoded>
    &lt;strong&gt;July 27th, 2007 (Last Friday Of July)&lt;br /&gt;
8th Annual&lt;br /&gt;
System Administrator Appreciation Day&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;If you can read this, thank your sysadmin&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.sysadminday.com/&quot;  title=&quot;sysadmins rejoice&quot;&gt;http://www.sysadminday.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 27 Jul 2007 10:59:14 -0600</pubDate>
    <guid isPermaLink="false">http://www.code-complete.com/code/index.php?/archives/18-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>

</channel>
</rss>