<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kroko</title>
	<atom:link href="http://blog.kroko.ro/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kroko.ro</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 13 Feb 2010 23:45:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Install Phusion Passenger (mod_rails) on cPanel Server</title>
		<link>http://blog.kroko.ro/2010/01/10/install-phusion-passenger-a-k-a-mod_rails-on-cpanel-server/</link>
		<comments>http://blog.kroko.ro/2010/01/10/install-phusion-passenger-a-k-a-mod_rails-on-cpanel-server/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 22:49:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=89</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">Although cPanel has built in support for running Ruby or Rails apps, it uses <a href="http://mongrel.rubyforge.org/" target="_blank"><span style="text-decoration: underline;">Mongrel</span></a> as the server and doesn’t allow more than one instance per user. That makes it pretty useless for any application that gets even a moderate amount of traffic. Instead we can install <a href="http://www.modrails.com/" target="_blank&quot;"><span style="text-decoration: underline;">Phusion Passenger</span></a> (a.k.a mod_rails), which in my opinion is a much nicer solution anyway.</span></p>
<p><span style="font-size: small;">First we need to make sure Ruby is installed via a cpanel script:</span></p>
<div>
<div><span style="font-family: 'Courier New';">sudo /scripts/installruby</span></div>
</div>
<p><span style="font-size: small;">Now we can install the passenger gem:</span></p>
<div>
<div><span style="font-family: 'Courier New';">sudo gem install passenger</span></div>
</div>
<p><span style="font-size: small;">Next, compile the apache2 module</span></p>
<div>
<div><span style="font-family: 'Courier New';">sudo passenger-install-apache2-module</span></div>
</div>
<p><span style="font-size: small;">The installer may tell you that the the Apache development headers are needed and will suggest ‘yum install httpd-devel’. Since cPanel compiles it’s own version of apache, yum is configured to ignore that package. That is OK, because the program we need is already installed, we just have to tell Passenger where to find it.</span></p>
<div>
<div><span style="font-family: 'Courier New';">APXS2=/usr/local/apache/bin/apxs PATH=$PATH:/usr/local/apache/bin passenger-install-apache2-module</span></div>
</div>
<p><span style="font-size: small;">Everything should go OK this time, and the installer will give you a few lines to add to your apache config file. It’s best practice with cPanel not to put these in your main httpd.conf, but rather the pre_main_global.conf:</span></p>
<div>
<div><span style="font-family: 'Courier New';">vi /usr/local/apache/conf/includes/pre_main_global.conf </span></div>
<div><span style="font-family: 'Courier New';">LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-X.X.X/ext/apache2/mod_passenger.so </span></div>
<div><span style="font-family: 'Courier New';">PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-X.X.X </span></div>
<div><span style="font-family: 'Courier New';">PassengerRuby /usr/bin/ruby</span></div>
<div><span style="font-family: 'Courier New';"></span></div>
</div>
<p><span style="font-size: small;">Now we need to setup passenger to run on a per virtual host basis. Open up the httpd.conf file and find the virtual host you want to run a Rails app and add this line:</span></p>
<div>
<div><span style="font-family: 'Courier New';">Include &#8221;/usr/local/apache/conf/userdata/std/2/username/domain_name/*.conf&#8221;</span></div>
</div>
<p><span style="font-size: small;">Replace <em>username</em> with the username of the account.</span></p>
<p><span style="font-size: small;">Now we need to create the directory we just specified, and also create a configuration file letting passenger know it should load for this host:</span></p>
<div>
<div><span style="font-family: 'Courier New';">mkdir -p /usr/local/apache/conf/userdata/std/2/username/domain_name/ vi /usr/local/apache/conf/userdata/std/2/username/domain_name/rails.conf</p>
<div id="_mcePaste">PassengerAppRoot /home/username/railsapp</div>
<p></span></div>
<div><span style="font-family: 'Courier New';">RailsBaseURI /</span></div>
</div>
<p><span style="font-size: small;">To make sure those files load, run this:</span></p>
<div>
<div><span style="font-family: 'Courier New';">/scripts/ensure_vhost_includes &#8211;user=username</span></div>
</div>
<p><span style="font-size: small;">We need to make sure cPanel records the changes we have for when it rebuilds those files, so run the following two commands:</span></p>
<div>
<div><span style="font-family: 'Courier New';">/usr/local/cpanel/bin/apache_conf_distiller &#8211;update /usr/local/cpanel/bin/build_apache_conf</span></div>
</div>
<p><span style="font-size: small;">We can now restart apache:</span></p>
<div>
<div><span style="font-family: 'Courier New';">/etc/init.d/httpd restart</span></div>
</div>
<p><span style="font-size: small;">Since by default the Apache Document Root for each host is /home/username/public_html, you will probably need to symlink that to your applications public directory:</span></p>
<div>
<div><span style="font-family: 'Courier New';">ln -s /home/username/railsapp/public /home/username/public_html</span></div>
</div>
<p><span style="font-size: small;">To restart that application, you just need to touch the restart.txt file:</span></p>
<div>
<div><span style="font-family: 'Courier New';">touch /home/username/railsapp/tmp/restart.txt</span></div>
</div>
<p><span style="font-size: small;">And there you have it, a working high performance rail application server on cPanel! For more information on tuning the Passenger configuration, read the <a href="http://www.modrails.com/documentation/Users%20guide%20Apache.html" target="_blank"><span style="text-decoration: underline;">complete docs</span></a>.</span></p>
<p><span style="font-size: x-small;">PS:</span></p>
<p><span style="font-size: small;">I just modified few lines from this article after i installed passenger on my cpanel server.</span></p>
<div><span style="font-size: small;">original source of this article is: <span style="font-size: 11px;"><a href="http://jetpackweb.com/blog/2009/07/21/install-phusion-passenger-a-k-a-mod_rails-on-cpanel-server/#comments">http://jetpackweb.com/blog/2009/07/21/install-phusion-passenger-a-k-a-mod_rails-on-cpanel-server/</a></span></span></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2010%2F01%2F10%2Finstall-phusion-passenger-a-k-a-mod_rails-on-cpanel-server%2F&amp;linkname=Install%20Phusion%20Passenger%20%28mod_rails%29%20on%20cPanel%20Server"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2010/01/10/install-phusion-passenger-a-k-a-mod_rails-on-cpanel-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to virus scan FTP uploads</title>
		<link>http://blog.kroko.ro/2009/12/11/how-to-virus-scan-ftp-uploads/</link>
		<comments>http://blog.kroko.ro/2009/12/11/how-to-virus-scan-ftp-uploads/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 12:53:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=85</guid>
		<description><![CDATA[To help protect your server, you may want to scan your users FTP uploads.  Here is a great way of doing this, if you are using Pure-FTP and ClamAV.  Pure-FTP has an option to run a file after an upload, called the pure-uploadscript.  What you do, is tie the virus scanner into this script, so [...]]]></description>
			<content:encoded><![CDATA[<p>To help protect your server, you may want to scan your users FTP uploads.  Here is a great way of doing this, if you are using Pure-FTP and ClamAV.  Pure-FTP has an option to run a file after an upload, called the pure-uploadscript.  What you do, is tie the virus scanner into this script, so that when a file gets uploaded, it will get scanned.  As long as you have your virus scanner up to date, this will pick up most of the main stream virii, as well as the dreaded php shell scripts.</p>
<p></p>
<p><span id="more-21"> </span></p>
<p>Here is how we do it.  We first need to ssh into our server, and then switch user to root.  Now, execute the following from the command line:</p>
<p><span style="color: #ff0000;">echo \#\!/bin/sh &gt; /etc/pure-ftpd/upload-check.sh</span></p>
<p>This command will create a file called upload-check.sh, and place an interpreter call on the first line.  Next, we add the action line to the file, by executing this command:</p>
<p><span style="color: #ff0000;">echo /usr/bin/clamdscan –move=/root/badfiles/ –quiet –no-summary –log=/var/log/clamscan.log “\$1″ &gt;&gt; /etc/pure-ftpd/upload-check.sh</span></p>
<p>This will insert the second line in the upload-check script.  This line calls the virus scanner, clamdscan, and passes some information to it.  The first one, tells the scanner to move the file, if it has found a problem with it.  I always find it usefull to see what people are trying to upload, instead of just deleting the file as soon as its scanned.  The other important parameter here, is the log value.  We are telling the scanner to log all activity to the clamscan.log file, which is usefull to view every so often, to see if anyone was trying to upload something nasty.  Now, chmod the script:</p>
<p><span style="color: #ff0000;">chmod 700 /etc/pure-ftpd/upload-check.sh</span></p>
<p>The next step, is to ensure that when your server starts up, that the pure-uploadscript binary is running, using the newly created upload-check.sh script:</p>
<p><span style="color: #ff0000;">echo /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/upload-check.sh &gt;&gt; /etc/rc.d/rc.local</span></p>
<p>This places a line at the bottom of your rc.local file, telling it to run the pure-uploadscript, with the parameters you have assigned to it.</p>
<p>Next, we tell pure-ftpd to use the upload scanner, use what ever editor you prefer:</p>
<p><span style="color: #ff0000;">vi /etc/pure-ftpd.conf</span></p>
<p>Search for – <strong>CallUploadScript</strong>,<strong> </strong>and uncomment the line.  Save your changes, and exit.</p>
<p>Now, all we need to do, is start the pure-uploadscript daemon, and restart pure-ftpd:</p>
<p><span style="color: #ff0000;">/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/upload-check.sh</span></p>
<p><span style="color: #ff0000;">service pure-ftpd restart</span></p>
<p>Once done, you should now be scanning all files uploaded through ftp.  To check if you have found any virii, you can check the log file, running this command only displays the lines that have reported a virus:</p>
<p><span style="color: #ff0000;">tail -n 1000 /var/log/clamscan.log | grep FOUND</span></p>
<p>The files found to have virii’s, will also have been moved to /root/badfiles, so that you can take a look at them, and if it is a false positive, move the file back to the users directory.</p>
<p>text from <a href="http://solidservers.ca/2009/04/how-to-virus-scan-ftp-uploads/">http://solidservers.ca/2009/04/how-to-virus-scan-ftp-uploads/</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F12%2F11%2Fhow-to-virus-scan-ftp-uploads%2F&amp;linkname=How%20to%20virus%20scan%20FTP%20uploads"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/12/11/how-to-virus-scan-ftp-uploads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no sound for flash in google chrome</title>
		<link>http://blog.kroko.ro/2009/11/30/no-sound-for-flash-in-google-chrome/</link>
		<comments>http://blog.kroko.ro/2009/11/30/no-sound-for-flash-in-google-chrome/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 22:46:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=83</guid>
		<description><![CDATA[1. While in Google Chrome, use the following keyboard shortcut: Shift+Esc.
2. The Task Manager will appear. Select the &#8220;Plugin: Shockwave Flash&#8221;, click end process, refresh page (F5) or from the menu
This is what you need to do:
1. While in Google Chrome, use the following keyboard shortcut:  [Shift] + [Esc].
2. The Task Manager will appear.  Select [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">1. While in Google Chrome, use the following keyboard shortcut: Shift+Esc.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">2. The Task Manager will appear. Select the &#8220;Plugin: Shockwave Flash&#8221;, click end process, refresh page (F5) or from the menu</div>
<p>This is what you need to do:</p>
<p>1. While in Google Chrome, use the following keyboard shortcut:  [Shift] + [Esc].</p>
<p><span style="background-color: #ffffff;">2. The Task Manager will appear.  Select the &#8220;Plugin: Shockwave Flash&#8221;, click end process, now try again.</span></p>
<p><span style="background-color: #ffffff;"><span style="font-family: Consolas, Monaco, Courier, monospace; line-height: 16px; font-size: 11px; color: #333333;"></span></span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F11%2F30%2Fno-sound-for-flash-in-google-chrome%2F&amp;linkname=no%20sound%20for%20flash%20in%20google%20chrome"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/11/30/no-sound-for-flash-in-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook 3.0 for iPhone</title>
		<link>http://blog.kroko.ro/2009/08/28/facebook-3-0-for-iphone/</link>
		<comments>http://blog.kroko.ro/2009/08/28/facebook-3-0-for-iphone/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 07:27:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=80</guid>
		<description><![CDATA[Muhaha .. Facebook 3.0 for iPhone The long-anticipated (by Facebook and iPhone lovers, at least) Facebook 3.0 for iPhone hits the App Store today. Even if you&#8217;re not a big Facebook fan, it&#8217;s undeniably a great mobile application. It&#8217;s not showing up as new just yet in the App Store (either in iTunes or on [...]]]></description>
			<content:encoded><![CDATA[<p>Muhaha .. Facebook 3.0 for iPhone The long-anticipated (by Facebook and iPhone lovers, at least) Facebook 3.0 for iPhone hits the App Store today. Even if you&#8217;re not a big Facebook fan, it&#8217;s undeniably a great mobile application. It&#8217;s not showing up as new just yet in the App Store (either in iTunes or on my iPhone), so if you&#8217;re not seeing it as an update, go ahead and download anyway (on your iPhone, you&#8217;ll have to delete your old install before downloading a new one.</p>
<p><img style="margin-top: 0px; margin-right: 10px; margin-bottom: 0.75em; margin-left: 0px; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; font-family: inherit; vertical-align: baseline; background-color: #ffffff; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; float: left; clear: left; background-position: initial initial; padding: 0px; border: 1px solid #b3b3b3;" src="http://cache.gawker.com/assets/images/lifehacker/2009/08/facebook-iphone.png" alt="" width="340" /></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F08%2F28%2Ffacebook-3-0-for-iphone%2F&amp;linkname=Facebook%203.0%20for%20iPhone"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/08/28/facebook-3-0-for-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Total Commander: how to use the ssl/tls feature for secure ftp</title>
		<link>http://blog.kroko.ro/2009/08/19/total-commander-how-to-use-the-ssltls-feature-for-secure-ftp/</link>
		<comments>http://blog.kroko.ro/2009/08/19/total-commander-how-to-use-the-ssltls-feature-for-secure-ftp/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 00:24:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[fuck windows]]></category>
		<category><![CDATA[ftps]]></category>
		<category><![CDATA[total commander]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=78</guid>
		<description><![CDATA[This is from: http://www.ghisler.ch/board/viewtopic.php?t=12105
Here is some information on how to use the ssl/tls feature. Because of the Swiss crypto export laws, I cannot include the openssl dlls in the install package.
1. Get the compiled OpenSSL package from the LibCurl library:
http://curl.haxx.se/download.html
Please scroll down to the section named &#8220;Win32 &#8211; Generic&#8221;
and download the following package (or a [...]]]></description>
			<content:encoded><![CDATA[<p><span>This is from: <a href="http://www.ghisler.ch/board/viewtopic.php?t=12105">http://www.ghisler.ch/board/viewtopic.php?t=12105</a></span></p>
<p><span>Here is some information on how to use the ssl/tls feature. Because of the Swiss crypto export laws, I cannot include the openssl dlls in the install package.</p>
<p>1. Get the compiled OpenSSL package from the LibCurl library:<br />
<a href="http://curl.haxx.se/download.html" target="_blank">http://curl.haxx.se/download.html</a><br />
Please scroll down to the section named &#8220;Win32 &#8211; Generic&#8221;<br />
and download the following package (or a newer one):<br />
Win32 2000/XP 7.19.0 libcurl SSL enabled Günter Knauf 1.54 MB</p>
<p>2. Copy the two dlls libssl32.dll and libeay32.dll from the &#8220;bin&#8221; subdir of the archive to the Total Commander directory.<br />
3. Now you can make connections with prefix <a href="ftps:///" target="_blank">ftps://</a> and <a href="https:///" target="_blank">https://</a></p>
<p>There will appear a red open locker for connections because the root certificates are missing. To get the root certificates of Verisign, Thawte etc, do the following:<br />
1. Start Internet Explorer and open its configuration dialog<br />
2. Go to the page &#8220;Content&#8221;<br />
3. Click on &#8220;Certificates&#8221;<br />
4. Go to the last page &#8220;Trusted root certificate authorities&#8221;<br />
5. Select all certificates<br />
6. Click on&#8221;Export&#8221;<br />
7. As name, enter: rootcerts<br />
8. Confirm with Next/OK. This creates a file rootcerts.p7b<br />
9. Issue the following two commands to convert to openssl format:</p>
<p>openssl pkcs7 -inform DER -in rootcerts.p7b -print_certs -out unfiltered.pem<br />
openssl x509 -in unfiltered.pem -out rootcert.pem</p>
<p>10. Put the file rootcert.pem in the Total Commander directory</span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F08%2F19%2Ftotal-commander-how-to-use-the-ssltls-feature-for-secure-ftp%2F&amp;linkname=Total%20Commander%3A%20how%20to%20use%20the%20ssl%2Ftls%20feature%20for%20secure%20ftp"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/08/19/total-commander-how-to-use-the-ssltls-feature-for-secure-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XP Automatic Update Nagging</title>
		<link>http://blog.kroko.ro/2009/07/29/xp-automatic-update-nagging/</link>
		<comments>http://blog.kroko.ro/2009/07/29/xp-automatic-update-nagging/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 00:08:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[fuck windows]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=67</guid>
		<description><![CDATA[Windows XP&#8217;s automatic update facility is clearly a good thing. Except when an update is installed that requires a reboot and you&#8217;re working on the computer at the time. Then you get this lovely dialog:

As if I needed another reason to hate dialog boxes. This is perhaps the Naggiest. Dialog. Box. Ever. It can&#8217;t be dismissed. [...]]]></description>
			<content:encoded><![CDATA[<h3 style="font-size: 21px; color: #666666; padding: 0px; margin: 0px;"><span style="color: #000000; font-weight: normal; font-size: 13px;">Windows XP&#8217;s automatic update facility is clearly a good thing. Except when an update is installed that requires a reboot and you&#8217;re working on the computer at the time. Then you get this lovely dialog:</span></h3>
<p><img src="http://blog.kroko.ro/images/automatic_update_dialog.png" alt="Updating your computer is almost complete. You must restart your computer for the updates to take effect. Do you want to restart your computer now?" /></p>
<p><a style="color: #0066cc; text-decoration: none;" href="http://www.codinghorror.com/blog/archives/000019.html">As if I needed another reason to hate dialog boxes.</a> This is perhaps the Naggiest. Dialog. Box. <em>Ever</em>. It can&#8217;t be dismissed. You get two choices&#8211; Restart Now, or Restart Later.<strong>If you click Restart Later, it pops up again ten minutes later, like clockwork.</strong> It belongs to wuauclt.exe, part of the Microsoft automatic update provider. I tried killing wuauclt.exe, and like a bad zombie movie, it keeps coming back.</p>
<p>I want automatic updates, but I also want to restart my computer when I feel like it. <strong>Is there any way to turn off this incredibly annoying nag dialog?</strong> <span style="color: red;">UPDATE:</span> Thanks to the many commenters, we now have at least two ways to disable Mister Naggy McNaggerson:</p>
<p><strong>1. Stop the &#8220;Automatic Updates&#8221; service.</strong></p>
<blockquote style="font-family: calibri, tahoma, arial, sans-serif; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #f5f5f5; color: #333333; background-position: initial initial; padding: 5px;"><p>Navigate to Control Panel | Administrative Tools | Services:<img style="border: 0px initial initial;" src="http://blog.kroko.ro/images/automatic_updates-service-screenshot.png" border="0" alt="Automatic Updates service screenshot" width="693" height="209" /></p>
<p>Right click the Automatic Updates service and stop it. You can also do the same thing at the command line by typing:</p>
<pre style="font-size: 14px; overflow-x: auto; overflow-y: auto; width: 974px; max-height: 450px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; line-height: 14px; padding: 5px; border: 2px dotted silver;">net stop wuauserv</pre>
<p>or you can type this, which does the same thing, and is a little easier to remember:</p>
<pre style="font-size: 14px; overflow-x: auto; overflow-y: auto; width: 974px; max-height: 450px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; line-height: 14px; padding: 5px; border: 2px dotted silver;">net stop "automatic updates"</pre>
<p>After the service is stopped, the nag message stops, too. Then you can reboot when you have time. The service will restart when you reboot.</p></blockquote>
<p><strong>2. Modify Group Policy settings.</strong></p>
<blockquote style="font-family: calibri, tahoma, arial, sans-serif; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #f5f5f5; color: #333333; background-position: initial initial; padding: 5px;"><p>Start, Run &#8220;gpedit.msc&#8221; to bring up the group policy editor. Then navigate to the folder</p>
<pre style="font-size: 14px; overflow-x: auto; overflow-y: auto; width: 974px; max-height: 450px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; line-height: 14px; padding: 5px; border: 2px dotted silver;">Local Computer Policy
  Computer Configuration
    Administrative Templates
      Windows Components
        Windows Update</pre>
<p><img src="http://www.codinghorror.com/blog/images/windows-update-policy-screenshot.png" border="0" alt="Windows Update group policies screenshot" width="777" height="456" /></p>
<p>There are two settings and both will work, so it&#8217;s your choice. Either enable <strong>No auto-restart for schedule Automatic Updates installations</strong> or set <strong>Re-prompt for restart with scheduled installations</strong> to a long time interval, like 1440 minutes.</p></blockquote>
<p><ins style="display: inline-table; height: 90px; position: relative; visibility: visible; width: 728px; padding: 0px; margin: 0px; border: initial none initial;"></ins></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F07%2F29%2Fxp-automatic-update-nagging%2F&amp;linkname=XP%20Automatic%20Update%20Nagging"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/07/29/xp-automatic-update-nagging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote Access Service (RAS) Error Code List</title>
		<link>http://blog.kroko.ro/2009/05/15/remote-access-service-ras-error-code-list/</link>
		<comments>http://blog.kroko.ro/2009/05/15/remote-access-service-ras-error-code-list/#comments</comments>
		<pubDate>Fri, 15 May 2009 07:23:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/2009/05/15/remote-access-service-ras-error-code-list/</guid>
		<description><![CDATA[This article lists the error codes that Remote Access Service (RAS) reports in Windows NT 4.0, Windows 98, and Windows 95.

MORE INFORMATION

   Error   Messages
   -------------------------------

   600     An operation is pending.
   601     The port handle is invalid.
  [...]]]></description>
			<content:encoded><![CDATA[<p>This article lists the error codes that Remote Access Service (RAS) reports in Windows NT 4.0, Windows 98, and Windows 95.</p>
<h4>
<p><a href="http://support.microsoft.com/">MORE INFORMATION</a></p>
</h4>
<pre>   Error   Messages
   -------------------------------

   600     An operation is pending.
   601     The port handle is invalid.
   602     The port is already open.
   603     Caller's buffer is too small.
   604     Wrong information specified.
   605     Cannot set port information.
   606     The port is not connected.
   607     The event is invalid.
   608     The device does not exist.
   609     The device type does not exist.
   610     The buffer is invalid.
   611     The route is not available.
   612     The route is not allocated.
   613     Invalid compression specified.
   614     Out of buffers.
   615     The port was not found.
   616     An asynchronous request is pending.
   617     The port or device is already disconnecting.
   618     The port is not open.
   619     The port is disconnected.
   620     There are no endpoints.
   621     Cannot open the phone book file.
   622     Cannot load the phone book file.
   623     Cannot find the phone book entry.
   624     Cannot write the phone book file.
   625     Invalid information found in the phone book.
   626     Cannot load a string.
   627     Cannot find key.
   628     The port was disconnected.
   629     The port was disconnected by the remote machine.
   630     The port was disconnected due to hardware failure.
   631     The port was disconnected by the user.
   632     The structure size is incorrect.
   633     The port is already in use or is not configured for Remote
           Access dialout.
   634     Cannot register your computer on the remote network.
   635     Unknown error.
   636     The wrong device is attached to the port.
   637     The string could not be converted.
   638     The request has timed out.
   639     No asynchronous net available.
   640     A NetBIOS error has occurred.
   641     The server cannot allocate NetBIOS resources needed to support
           the client.
   642     One of your NetBIOS names is already registered on the remote
           network.
   643     A network adapter at the server failed.
   644     You will not receive network message popups.
   645     Internal authentication error.
   646     The account is not permitted to log on at this time of day.
   647     The account is disabled.
   648     The password has expired.
   649     The account does not have Remote Access permission.
   650     The Remote Access server is not responding.
   651     Your modem (or other connecting device) has reported an error.
   652     Unrecognized response from the device.
   653     A macro required by the device was not found in the device .INF
           file section.
   654     A command or response in the device .INF file section refers to
           an undefined macro
   655     The &lt;message&gt; macro was not found in the device .INF file
           section.
   656     The &lt;defaultoff&gt; macro in the device .INF file section contains
           an undefined macro
   657     The device .INF file could not be opened.
   658     The device name in the device .INF or media .INI file is too
           long.
   659     The media .INI file refers to an unknown device name.
   660     The device .INF file contains no responses for the command.
   661     The device .INF file is missing a command.
   662     Attempted to set a macro not listed in device .INF file section.
   663     The media .INI file refers to an unknown device type.
   664     Cannot allocate memory.
   665     The port is not configured for Remote Access.
   666     Your modem (or other connecting device) is not functioning.
   667     Cannot read the media .INI file.
   668     The connection dropped.
   669     The usage parameter in the media .INI file is invalid.
   670     Cannot read the section name from the media .INI file.
   671     Cannot read the device type from the media .INI file.
   672     Cannot read the device name from the media .INI file.
   673     Cannot read the usage from the media .INI file.
   674     Cannot read the maximum connection BPS rate from the media .INI
           file.
   675     Cannot read the maximum carrier BPS rate from the media .INI
           file.
   676     The line is busy.
   677     A person answered instead of a modem.
   678     There is no answer.
   679     Cannot detect carrier.
   680     There is no dial tone.
   681     General error reported by device.
   682     ERROR WRITING SECTIONNAME
   683     ERROR WRITING DEVICETYPE
   684     ERROR WRITING DEVICENAME
   685     ERROR WRITING MAXCONNECTBPS
   686     ERROR WRITING MAXCARRIERBPS
   687     ERROR WRITING USAGE
   688     ERROR WRITING DEFAULTOFF
   689     ERROR READING DEFAULTOFF
   690     ERROR EMPTY INI FILE
   691     Access denied because username and/or password is invalid on the
           domain.
   692     Hardware failure in port or attached device.
   693     ERROR NOT BINARY MACRO
   694     ERROR DCB NOT FOUND
   695     ERROR STATE MACHINES NOT STARTED
   696     ERROR STATE MACHINES ALREADY STARTED
   697     ERROR PARTIAL RESPONSE LOOPING
   698     A response keyname in the device .INF file is not in the
           expected format.
   699     The device response caused buffer overflow.
   700     The expanded command in the device .INF file is too long.
   701     The device moved to a BPS rate not supported by the COM driver.
   702     Device response received when none expected.
   703     ERROR INTERACTIVE MODE
   704     ERROR BAD CALLBACK NUMBER
   705     ERROR INVALID AUTH STATE
   706     ERROR WRITING INITBPS
   707     X.25 diagnostic indication.
   708     The account has expired.
   709     Error changing password on domain.
   710     Serial overrun errors were detected while communicating with
           your modem.
   711     RasMan initialization failure. Check the event log.
   712     Biplex port is initializing. Wait a few seconds and redial.
   713     No active ISDN lines are available.
   714     Not enough ISDN channels are available to make the call.
   715     Too many errors occurred because of poor phone line quality.
   716     The Remote Access IP configuration is unusable.
   717     No IP addresses are available in the static pool of Remote
           Access IP addresses.
   718     PPP timeout.
   719     PPP terminated by remote machine.
   720     No PPP control protocols configured.
   721     Remote PPP peer is not responding.
   722     The PPP packet is invalid.
   723     The phone number, including prefix and suffix, is too long.
   724     The IPX protocol cannot dial-out on the port because the
           computer is an IPX router.
   725     The IPX protocol cannot dial-in on the port because the IPX
           router is not installed..
   726     The IPX protocol cannot be used for dial-out on more than one
           port at a time.
   727     Cannot access TCPCFG.DLL.
   728     Cannot find an IP adapter bound to Remote Access.
   729     SLIP cannot be used unless the IP protocol is installed.
   730     Computer registration is not complete.
   731     The protocol is not configured.
   732     The PPP negotiation is not converging.
   733     The PPP control protocol for this network protocol is not
           available on the server.
   734     The PPP link control protocol terminated..
   735     The requested address was rejected by the server..
   736     The remote computer terminated the control protocol.
   737     Loopback detected..
   738     The server did not assign an address.
   739     The remote server cannot use the Windows NT encrypted password.
   740     The TAPI devices configured for Remote Access failed to
           initialize or were not installed correctly.
   741     The local computer does not support encryption.
   742     The remote server does not support encryption.
   743     The remote server requires encryption.
   744     Cannot use the IPX net number assigned by the remote server.
           Check the event log.
   752     A syntax error was encountered while processing a script.
				</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F05%2F15%2Fremote-access-service-ras-error-code-list%2F&amp;linkname=Remote%20Access%20Service%20%28RAS%29%20Error%20Code%20List"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/05/15/remote-access-service-ras-error-code-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kill Frozen Windows Apps Easily</title>
		<link>http://blog.kroko.ro/2009/04/30/kill-frozen-windows-apps-easily/</link>
		<comments>http://blog.kroko.ro/2009/04/30/kill-frozen-windows-apps-easily/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 10:35:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/2009/04/30/kill-frozen-windows-apps-easily/</guid>
		<description><![CDATA[If you&#8217;ve used Windows for any amount of time, you&#8217;ve already had to deal with the dreaded (Not Responding) frozen application—so instead of using task manager, why not create a shortcut to auto-kill them?
The HaxAttack weblog writes up a great tip to create a batch file that automatically kills any applications with a status of [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve used Windows for any amount of time, you&#8217;ve already had to deal with the dreaded (Not Responding) frozen application—so instead of using task manager, why not create a shortcut to auto-kill them?</p>
<p>The HaxAttack weblog writes up a great tip to create a batch file that automatically kills any applications with a status of Not Responding, but you can actually just create a shortcut directly, omitting the batch file altogether.   <br />To create your own quick-killing mechanism, just create a new shortcut anywhere, using this as the location:</p>
<blockquote><p>taskkill.exe /f /fi &quot;status eq not responding&quot;</p>
</blockquote>
<p>Once you are done, you can change the icon, or even assign a shortcut key in the properties dialog—just make sure the shortcut is on your desktop or in the start menu if you want the hotkey to work, since Windows hotkeys don&#8217;t work in the Quick Launch. <em>Thanks, Cyrus!</em></p>
<p>For more, check out how to<a href="http://lifehacker.com/321649/kill-runaway-processes-from-the-task-bar-with-task-killer"> kill runaway processes with Task Killer</a>, <a href="http://lifehacker.com/5053207/clickgone-turns-your-mouse-into-an-app-assassin">previously mentioned ClickGone</a>, or simply use the <a href="http://lifehacker.com/software/windows/download-of-the-day-process-explorer-153832.php">very powerful Process Explorer</a>.</p>
<p><a href="http://haxattack.com/2009/04/29/tip-easy-kill-apps-that-freeze/" class="broken_link" >Tip: Easy Kill Apps That Freeze</a> [HaxAttack]</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F04%2F30%2Fkill-frozen-windows-apps-easily%2F&amp;linkname=Kill%20Frozen%20Windows%20Apps%20Easily"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/04/30/kill-frozen-windows-apps-easily/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RUNNING A SECURE DDNS SERVICE WITH BIND</title>
		<link>http://blog.kroko.ro/2009/03/29/running-a-secure-ddns-service-with-bind/</link>
		<comments>http://blog.kroko.ro/2009/03/29/running-a-secure-ddns-service-with-bind/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 14:22:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ddns]]></category>
		<category><![CDATA[dns]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=63</guid>
		<description><![CDATA[Posted on March 12, 2007, 21:54, by Julien.
Last updated on January 17, 2009, 12:11.

This article will give you a short introduction to DDNS, and will only apply to a precise example. I will not detail the reasons of my choice. However, the links provided at the end of the document will allow you further understand [...]]]></description>
			<content:encoded><![CDATA[<div class="postmetadata">Posted on March 12, 2007, 21:54, by Julien.</div>
<div class="postmetadata">Last updated on January 17, 2009, 12:11.</div>
<div class="entry">
<p>This article will give you a short introduction to DDNS, and will only apply to a precise example. I will not detail the reasons of my choice. However, the links provided at the end of the document will allow you further understand the uses that can be made of DDNS.</p>
<h3>REQUIREMENTS</h3>
<ul>
<li>2 machines running <acronym class="uttAcronym" title="GNU's Not Unix">GNU</acronym>/Linux: one at home with a dynamic IP, the other elsewhere with a fix IP</li>
<li>BIND 9.2.0 or newer should be installed on the external machine (and act as primary DNS for your domain &#8211; the setup won’t be detailed here)</li>
<li>the nsupdate utility on your router at home. This comes as part of the <a href="http://packages.debian.org/dnsutils">dnsutils</a>Debian package.</li>
</ul>
<h3>GENERATING THE KEY</h3>
<p>Updates being initiated from the client, the process needs to be secured by a TSIG key:”(TSIG keys are symmetric HMAC-MD5 keys; although asymmetric SIG keys can also be used, the set up is a bit more complicated)”:.</p>
<p>On the external machine running BIND 9, run as root:</p>
<div class="wp_syntax">
<div class="code">
<pre class="none">dnssec-keygen -a HMAC-MD5 -b 512 -n HOST &lt;keyname&gt;</pre>
</div>
</div>
<p>where <tt>&lt;keyname&gt;</tt> should be replaced by a whatever name you want, and 512 is the key size (512 is the maximum with the HMAC-MD5 algorithm).</p>
<p>This will generate 2 files like <tt>Kkeyname.+157+12505.key</tt> and<tt>Kkeyname.+157+12505.private</tt>. Both files should remain private (remember, we work with symmetric key).</p>
<h3>ON THE SERVER SIDE</h3>
<p>Both files created before do contain the secret key, which needs to be set up on the BIND configuration file (eg.<tt>named.conf</tt> or <tt>named.conf.local</tt> in Debian) as follows:</p>
<div class="wp_syntax">
<div class="code">
<pre class="none">key "keyname." {
  algorithm hmac-md5;
  secret "v9BhsbwDu4q95g/Gf/EiXA==";
};</pre>
</div>
</div>
<p>Once this is defined, you can start using this shared secret in the definition of your zone:</p>
<div class="wp_syntax">
<div class="code">
<pre class="none">zone "example.com" {
  type master;
  file "master/db.example.com";
  allow-update { key "keyname."; };
};</pre>
</div>
</div>
<p>The BIND service should obviously be reloaded to start using the new configuration:</p>
<div class="wp_syntax">
<div class="code">
<pre class="none"># /etc/init.d/bind9 reload</pre>
</div>
</div>
<h3>ON THE CLIENT SITE</h3>
<h4>UPDATING THE ZONE WHEN YOUR DSL PROVIDER IP CHANGES &#8211; NSUPDATE</h4>
<p>If you can’t get a fix IP address from your <em>x</em>DSL provider and still want to host your server at home, you can use third services companies like <a href="http://www.dyndns.org/">DynDNS.org</a> or <a href="http://www.zonedit.com/">Zonedit.com</a>, but did you know you can set up a secure DDNS service using the BIND DNS server and the nsupdate utility. Still, you need to have control on a machine with a static IP somewhere on the public Internet.</p>
<p><tt>nsupdate</tt> is the tool needed to update the IP on the DNS server. You can use it manually whenever you want (see manpage for additional information), or in scripts run automatically by cron or, better, directly by ppp through the ppp-ip facilty.</p>
<p>In Debian, save the following script as <tt>/etc/ppp/ip-up.d/ddupdate</tt>, change the options at the top of the file and make it executable:</p>
<div class="wp_syntax">
<table border="0">
<tbody>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48</pre>
</td>
<td class="code">
<pre class="bash"><span>#!/bin/bash</span>
<span># Script to update DNS zones on a remote server</span>
<span># Copyright © 2005-2007 - Julien Valroff &lt;julien@kirya.net&gt;</span>
<span># Parts of the script Copyright © 2001-2002 - Dag Wieers &lt;dag@wieers.com&gt;</span>

<span>KEY</span>=<span>"/root/Kkeyname.+157+29630.private"</span>
<span>SERVER</span>=<span>"ns.domain.com"</span>
<span>LOGFILE</span>=<span>"/var/log/syslog"</span>
<span>PPP_IFACE</span>=<span>"ppp0"</span>

<span>if</span> <span>[</span> <span>"<span>$PPP_LOCAL</span>"</span> <span>!</span>= <span>''</span> <span>]</span>; <span>then</span>
   <span>if</span> <span>[</span> <span>"<span>$PPP_IFACE</span>"</span> <span>!</span>= <span>"<span>$PPP_IFACE</span>"</span> <span>]</span>; <span>then</span>
      <span>echo</span> <span>"<span>$(LANG=C date +'%b %e %X')</span> <span>$(hostname)</span> ddupdate[$$]: ABORTED: Not updating dynamic IP <span>\
</span>        address <span>$PPP_LOCAL</span> (already done for <span>$(ip addr show $PPP_IFACE | awk '/inet/ { print $2 }')</span>)"</span> <span>&gt;&gt;</span><span>$LOGFILE</span> <span>2</span><span>&gt;&amp;</span><span>1</span>
      <span>exit</span> <span>0</span>
   <span>fi</span>
   <span>IPADDR</span>=<span>$PPP_LOCAL</span>
   <span>sleep</span> <span>3</span>
<span>else</span>
   <span>IPADDR</span>=$<span>(</span>ip addr show <span>$PPP_IFACE</span> <span>|</span> <span>awk</span> <span>'/inet/ { print $2 }'</span><span>)</span>
<span>fi</span>

<span>(</span>
<span>cat</span> <span>&lt;&lt;</span>EOF <span>|</span> nsupdate <span>-k</span> <span>"<span>$KEY</span>"</span>
server <span>$SERVER</span>
zone example.com
update delete example.com. A
update add example.com. <span>60</span> A <span>$IPADDR</span>
update delete mail.example.com. A
update add mail.example.com. <span>60</span> A <span>$IPADDR</span>
send
EOF

  <span>RC</span>=<span>$?</span>

  <span>if</span> <span>[</span> <span>$RC</span> <span>!</span>= <span>0</span> <span>]</span>; <span>then</span>
    <span>echo</span> <span>"<span>$(LANG=C date +'%b %e %X')</span> <span>$(hostname)</span> ddupdate[$$]: FAILURE: Updating dynamic IP <span>$IPADDR</span> on <span>$SERVER</span> failed (RC=<span>$RC</span>)"</span>
    <span>(</span>
        <span>echo</span> <span>"Subject: DDNS update failed"</span>
        <span>echo</span>
        <span>echo</span> <span>"Updating dynamic IP <span>$IPADDR</span> on <span>$SERVER</span> failed (RC=<span>$RC</span>)"</span>
    <span>)</span> <span>|</span> <span>/</span>usr<span>/</span>sbin<span>/</span><span>sendmail</span> root
  <span>else</span>
    <span>echo</span> <span>"<span>$(LANG=C date +'%b %e %X')</span> <span>$(hostname)</span> ddupdate[$$]: SUCCESS: Updating dynamic IP <span>$IPADDR</span> on <span>$SERVER</span> succeeded"</span>
  <span>fi</span>
<span>)</span> <span>&gt;&gt;</span><span>$LOGFILE</span> <span>2</span><span>&gt;&amp;</span><span>1</span>

<span>exit</span> <span>$RC</span></pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>Next time your connection will be restarted, the IP will be updated on your DNS server, and you’ll see an entry in your log file:<br />
<code>Mar 12 18:43:26 athena ddupdate[14507]: SUCCESS: Updating dynamic IP 81.13.52.124 on ns.domain.com succeeded</code><br />
An e-mail will alert the system administrator in case the update fails.</p>
<p>Remember to use low TTL for the zone which is meant to be updated, 60 seconds seems to be a good value.</p>
<h4>UPDATING THE DNS WITH DYNAMIC IP ON YOUR LOCAL NETWORK &#8211; DHCPD</h4>
<p>DDNS can also be used in conjunction with dhcpd to dynamically update the DNS when a machine is given an IP. A very <a href="http://www.debian-administration.org/articles/343">detailed article</a> was written by Adam Trickett for <a href="http://www.debian-administration.org/">debian-administration.org</a> to explain this setup.</p>
<h4>COMBINE BOTH METHODS WITH A ROADWARRIOR CLIENT</h4>
<p>I plan to combine the methods described earlier to allow a roadwarrior to be reachable by its name wherever it is located.</p>
<p>When out of the company, the roadwarrior is connected to the network through a secure<a href="http://www.openvpn.net/">OpenVPN</a> tunnel. Thanks to the <tt>--client-connect</tt> and <tt>--client-disconnect</tt>directives, the OpenVPN server can update the DNS entry for the given host (cf.<tt>ifconfig_pool_remote_ip</tt> and <tt>common_name</tt> environmental variables in OpenVPN man page).</p>
<p>When directly connected to the local network, the roadwarrior gets an IP from the DHCP server which updates the DNS.</p>
<p>I haven’t yet worked on this setup, and am not sure it would be very useful, but this is an example of use of dynamic DNS.</p>
<h3>OTHER (MORE DETAILED) ARTICLES ON DDNS</h3>
<p>As usual, here are some external resources which helped me writing this article, and which will allow you to study the DDNS methods in details:</p>
<ul>
<li>ISC BIND homepage: <a href="http://www.isc.org/index.pl?/sw/bind/">www.isc.org/index.pl?/sw/bind/</a></li>
<li>ISC DHCP homepage: <a href="http://www.isc.org/index.pl?/sw/dhcp/">www.isc.org/index.pl?/sw/dhcp/</a></li>
<li><a href="http://www.oceanwave.com/technical-resources/unix-admin/nsupdate.html">www.oceanwave.com/technical-resources/unix-admin/nsupdate.html</a></li>
<li><a href="http://ops.ietf.org/dns/dynupd/secure-ddns-howto.html">ops.ietf.org/dns/dynupd/secure-ddns-howto.html</a></li>
<li><a href="http://dag.wieers.com/howto/bits/bind-ddns.php">dag.wieers.com/howto/bits/bind-ddns.php</a></li>
<li><a href="http://linux.yyz.us/nsupdate/">linux.yyz.us/nsupdate/</a></li>
</ul>
</div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F03%2F29%2Frunning-a-secure-ddns-service-with-bind%2F&amp;linkname=RUNNING%20A%20SECURE%20DDNS%20SERVICE%20WITH%20BIND"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/03/29/running-a-secure-ddns-service-with-bind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>install yum into virtuozzo centos 5.2 vps</title>
		<link>http://blog.kroko.ro/2009/02/10/install-yum-into-virtuozzo-centos-52-vps/</link>
		<comments>http://blog.kroko.ro/2009/02/10/install-yum-into-virtuozzo-centos-52-vps/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 22:40:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kroko.ro/?p=62</guid>
		<description><![CDATA[run this :

  
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-libs-0.125-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/gmp-4.1.4-10.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/readline-5.1-1.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-2.4.3-21.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/expat-1.95.8-8.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/sqlite-3.3.6-2.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-0.125-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/rpm-python-4.4.2-48.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/m2crypto-0.16-6.el5.2.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-2.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
yum -y update
  
]]></description>
			<content:encoded><![CDATA[<pre>run this :</pre>
<p>
  </p>
<pre>rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-libs-0.125-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/gmp-4.1.4-10.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/readline-5.1-1.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-2.4.3-21.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/expat-1.95.8-8.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/sqlite-3.3.6-2.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/elfutils-0.125-3.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/rpm-python-4.4.2-48.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/m2crypto-0.16-6.el5.2.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-2.el5.i386.rpm
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
yum -y update</pre>
<pre> <img src='http://blog.kroko.ro/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.kroko.ro%2F2009%2F02%2F10%2Finstall-yum-into-virtuozzo-centos-52-vps%2F&amp;linkname=install%20yum%20into%20virtuozzo%20centos%205.2%20vps"><img src="http://blog.kroko.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.kroko.ro/2009/02/10/install-yum-into-virtuozzo-centos-52-vps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
