<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for MagicalTux in Japan</title>
	<atom:link href="http://blog.magicaltux.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.magicaltux.net</link>
	<description>Geekness brought me to Japan!</description>
	<lastBuildDate>Sat, 24 Jul 2010 02:41:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>Comment on Adding memory to w001.tx.us by Aurélien Derouineau</title>
		<link>http://blog.magicaltux.net/2010/05/28/adding-memory-to-w001-tx-us/comment-page-1/#comment-3269</link>
		<dc:creator>Aurélien Derouineau</dc:creator>
		<pubDate>Sat, 24 Jul 2010 02:41:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=492#comment-3269</guid>
		<description>Stop making PHP versions of every existent service and it&#039;ll be better :p</description>
		<content:encoded><![CDATA[<p>Stop making PHP versions of every existent service and it&#8217;ll be better :p</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Eve Online pathfinder by Matt</title>
		<link>http://blog.magicaltux.net/2008/11/30/eve-online-pathfinder/comment-page-1/#comment-3268</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Thu, 22 Jul 2010 00:45:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=185#comment-3268</guid>
		<description>Like the fellow above I&#039;m looking for some information on the idx &amp; dat files.   I&#039;ve got the system running, however, like Ryan, I&#039;m unable to access the idx/dat file.

If it&#039;s not too much trouble, could you send me the same info that you provided to Ryan?   If it&#039;s a pain, could you just point me in the right direction or hint?

thanks very much,

Matt @ Adelaide</description>
		<content:encoded><![CDATA[<p>Like the fellow above I&#8217;m looking for some information on the idx &amp; dat files.   I&#8217;ve got the system running, however, like Ryan, I&#8217;m unable to access the idx/dat file.</p>
<p>If it&#8217;s not too much trouble, could you send me the same info that you provided to Ryan?   If it&#8217;s a pain, could you just point me in the right direction or hint?</p>
<p>thanks very much,</p>
<p>Matt @ Adelaide</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by coacheach</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3249</link>
		<dc:creator>coacheach</dc:creator>
		<pubDate>Mon, 19 Jul 2010 19:52:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3249</guid>
		<description>A few quick comments.

phpseclib&#039;s Net_SSH2 uses Crypt_AES - not Crypt_Rijndael.  And Crypt_AES does use mcrypt.  Crypt_Rijndael doesn&#039;t, but then I suspect most people shouldn&#039;t be using Crypt_Rijndael anyway.
The &quot;weird stuff after that&quot; in the random number generator is, I think, explained by this:

http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives

Note the whole bit about running block ciphers on counter mode and using stream ciphers.
The fact that you can only run one process at a time with exec() actually makes a lot of sense to me as it makes for a much simpler API.  If you could run multiple processes simultaneously how would you know when one ended?  Would you have to wait until all of them ended?  Or maybe you could check once a second?  Or maybe you could do something like select() and block until one process ends.  But then you couldn&#039;t do echo $ssh-&gt;exec(&#039;...&#039;) - you&#039;d have to do while ($ssh-&gt;block()) { echo $ssh-&gt;output(2); if ($ssh-&gt;num_open_streams == 0) break; }.  Or something like that.
A Google search for stderr reveals this:

http://www.ohloh.net/p/phpseclib/commits/67946901</description>
		<content:encoded><![CDATA[<p>A few quick comments.</p>
<p>phpseclib&#8217;s Net_SSH2 uses Crypt_AES &#8211; not Crypt_Rijndael.  And Crypt_AES does use mcrypt.  Crypt_Rijndael doesn&#8217;t, but then I suspect most people shouldn&#8217;t be using Crypt_Rijndael anyway.<br />
The &#8220;weird stuff after that&#8221; in the random number generator is, I think, explained by this:</p>
<p><a href="http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives" rel="nofollow">http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives</a></p>
<p>Note the whole bit about running block ciphers on counter mode and using stream ciphers.<br />
The fact that you can only run one process at a time with exec() actually makes a lot of sense to me as it makes for a much simpler API.  If you could run multiple processes simultaneously how would you know when one ended?  Would you have to wait until all of them ended?  Or maybe you could check once a second?  Or maybe you could do something like select() and block until one process ends.  But then you couldn&#8217;t do echo $ssh-&gt;exec(&#8216;&#8230;&#8217;) &#8211; you&#8217;d have to do while ($ssh-&gt;block()) { echo $ssh-&gt;output(2); if ($ssh-&gt;num_open_streams == 0) break; }.  Or something like that.<br />
A Google search for stderr reveals this:</p>
<p><a href="http://www.ohloh.net/p/phpseclib/commits/67946901" rel="nofollow">http://www.ohloh.net/p/phpseclib/commits/67946901</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by Linkpool Nummer 10 &#124; PHP Gangsta - Der PHP Blog</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3245</link>
		<dc:creator>Linkpool Nummer 10 &#124; PHP Gangsta - Der PHP Blog</dc:creator>
		<pubDate>Sat, 17 Jul 2010 22:29:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3245</guid>
		<description>[...] SSH-Server in PHP: http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/ [...]</description>
		<content:encoded><![CDATA[<p>[...] SSH-Server in PHP: <a href="http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/" rel="nofollow">http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by coacheach</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3239</link>
		<dc:creator>coacheach</dc:creator>
		<pubDate>Wed, 14 Jul 2010 14:32:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3239</guid>
		<description>Criticizing phpseclib for not using mcrypt for Rijndael seems silly given that they do use mcrypt for AES.  And it&#039;s SSH implementation uses Crypt_AES (which does use mcrypt) - not Crypt_Rijndael (which does not use mcrypt).

As for the random number generator...  I&#039;ll concede that OpenSSL&#039;s is better.  OpenSSL can take on a whole lot more sources of entropy, among other things.  As for the &quot;weird stuff after that&quot;...  check out wikipedia.org&#039;s article on CSPRNG&#039;s:

http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives

Note the whole bit about running block ciphers on counter mode and using stream ciphers.

I&#039;m not sure I agree with your objection to exec() either.  So you can&#039;t run more than one process at a time.  That makes for a much simpler API.  Consider curl.  There&#039;s curl_init() and curl_multi_init().  The latter lets you perform multiple HTTP requests simultaneously but at the expense of having a more complicated API.  You have to use curl_multi_select() or else bog down the CPU while you constantly check for updates.  And given that I&#039;ve never yet seen a program that actually uses curl_multi_init() its power seems unnecessary.

I think the phpseclib guys took the right approach with only letting exec() do one command at a time.

As for stderr...  a Google search for phpseclib stderr revealed this:

http://www.ohloh.net/p/phpseclib/commits/67946901</description>
		<content:encoded><![CDATA[<p>Criticizing phpseclib for not using mcrypt for Rijndael seems silly given that they do use mcrypt for AES.  And it&#8217;s SSH implementation uses Crypt_AES (which does use mcrypt) &#8211; not Crypt_Rijndael (which does not use mcrypt).</p>
<p>As for the random number generator&#8230;  I&#8217;ll concede that OpenSSL&#8217;s is better.  OpenSSL can take on a whole lot more sources of entropy, among other things.  As for the &#8220;weird stuff after that&#8221;&#8230;  check out wikipedia.org&#8217;s article on CSPRNG&#8217;s:</p>
<p><a href="http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives" rel="nofollow">http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives</a></p>
<p>Note the whole bit about running block ciphers on counter mode and using stream ciphers.</p>
<p>I&#8217;m not sure I agree with your objection to exec() either.  So you can&#8217;t run more than one process at a time.  That makes for a much simpler API.  Consider curl.  There&#8217;s curl_init() and curl_multi_init().  The latter lets you perform multiple HTTP requests simultaneously but at the expense of having a more complicated API.  You have to use curl_multi_select() or else bog down the CPU while you constantly check for updates.  And given that I&#8217;ve never yet seen a program that actually uses curl_multi_init() its power seems unnecessary.</p>
<p>I think the phpseclib guys took the right approach with only letting exec() do one command at a time.</p>
<p>As for stderr&#8230;  a Google search for phpseclib stderr revealed this:</p>
<p><a href="http://www.ohloh.net/p/phpseclib/commits/67946901" rel="nofollow">http://www.ohloh.net/p/phpseclib/commits/67946901</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by MagicalTux</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3238</link>
		<dc:creator>MagicalTux</dc:creator>
		<pubDate>Tue, 13 Jul 2010 22:43:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3238</guid>
		<description>Unfortunately the guys working on phpseclib went way too far. Re-implementing RSA in pure PHP is not a bad thing. Re-implementing Rijndael in pure php was, especially &quot;Does not use mcrypt, even when available, for reasons that are explained below.&quot; (and the reason is mcrypt only supports 128/192/256 bits, and not 160/224. For SSH you don&#039;t need RSA160 nor RSA224).
I&#039;m not sure about the random generator either (it uses &quot;/dev/urandom&quot; as a trusted source for random bits, or use mt_rand() with a lot of weird stuff after that).

It looks also like this lib cannot handle running more than one process at a time, the exec() function uses a constant (Oo) for each channel type, and exec() will not return until program execution completes (not even sure how stderr is handled in there).

Well, the philosophy behind phpseclib of doing *everything* in pure-PHP is nice, but not what I&#039;m looking for (especially implementing the block cipher in pure php is most likely going to be very costly in terms of CPU). It is better documented than mine (when writing a ssh client in a few hours only comments tend to become minimalistic) but the work there is impressive (it just doesn&#039;t fit my needs).</description>
		<content:encoded><![CDATA[<p>Unfortunately the guys working on phpseclib went way too far. Re-implementing RSA in pure PHP is not a bad thing. Re-implementing Rijndael in pure php was, especially &#8220;Does not use mcrypt, even when available, for reasons that are explained below.&#8221; (and the reason is mcrypt only supports 128/192/256 bits, and not 160/224. For SSH you don&#8217;t need RSA160 nor RSA224).<br />
I&#8217;m not sure about the random generator either (it uses &#8220;/dev/urandom&#8221; as a trusted source for random bits, or use mt_rand() with a lot of weird stuff after that).</p>
<p>It looks also like this lib cannot handle running more than one process at a time, the exec() function uses a constant (Oo) for each channel type, and exec() will not return until program execution completes (not even sure how stderr is handled in there).</p>
<p>Well, the philosophy behind phpseclib of doing *everything* in pure-PHP is nice, but not what I&#8217;m looking for (especially implementing the block cipher in pure php is most likely going to be very costly in terms of CPU). It is better documented than mine (when writing a ssh client in a few hours only comments tend to become minimalistic) but the work there is impressive (it just doesn&#8217;t fit my needs).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by coacheach</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3236</link>
		<dc:creator>coacheach</dc:creator>
		<pubDate>Tue, 13 Jul 2010 19:18:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3236</guid>
		<description>Nice work!

That said, if you&#039;re planning on making a php ssh client library it should be noted that there already is one out there:

http://phpseclib.sourceforge.net/

Seems like ya&#039;ll could combine your efforts instead of creating two classes that are functionally the same.</description>
		<content:encoded><![CDATA[<p>Nice work!</p>
<p>That said, if you&#8217;re planning on making a php ssh client library it should be noted that there already is one out there:</p>
<p><a href="http://phpseclib.sourceforge.net/" rel="nofollow">http://phpseclib.sourceforge.net/</a></p>
<p>Seems like ya&#8217;ll could combine your efforts instead of creating two classes that are functionally the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by aleks</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3213</link>
		<dc:creator>aleks</dc:creator>
		<pubDate>Sat, 03 Jul 2010 06:27:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3213</guid>
		<description>sounds great! will definitely watch this space!</description>
		<content:encoded><![CDATA[<p>sounds great! will definitely watch this space!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by Max&#8217; Lesestoff zum Wochenende &#8211; 26/2010 &#124; PHP hates me - Der PHP Blog</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3212</link>
		<dc:creator>Max&#8217; Lesestoff zum Wochenende &#8211; 26/2010 &#124; PHP hates me - Der PHP Blog</dc:creator>
		<pubDate>Sat, 03 Jul 2010 04:59:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3212</guid>
		<description>[...]   PInetd :: Portable INET Daemon Tool um einfach Daemons in PHP schreiben zu können.   PHP can do anything, what about some ssh? « MagicalTux in Japan Holy. Eine SSH2-Implementierung in Plain PHP.   Perfection kills » JScript and DOM changes in IE9 [...]</description>
		<content:encoded><![CDATA[<p>[...]   PInetd :: Portable INET Daemon Tool um einfach Daemons in PHP schreiben zu können.   PHP can do anything, what about some ssh? « MagicalTux in Japan Holy. Eine SSH2-Implementierung in Plain PHP.   Perfection kills » JScript and DOM changes in IE9 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP can do anything, what about some ssh? by MagicalTux</title>
		<link>http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/comment-page-1/#comment-3211</link>
		<dc:creator>MagicalTux</dc:creator>
		<pubDate>Sat, 03 Jul 2010 02:49:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.magicaltux.net/?p=501#comment-3211</guid>
		<description>I&#039;m planning on adapting this code as a ssh client library as it would be mostly identical (only the packet sequence is a bit different, as the client is &quot;client&quot;, it is the one initiating some parts of the protocol and not others).
Anyway it&#039;d make a nice SSH2 client library in a class (SSH2Client) with a few other classes (Crypto for crypto-related stuff, and SFTPClient for sftp access).</description>
		<content:encoded><![CDATA[<p>I&#8217;m planning on adapting this code as a ssh client library as it would be mostly identical (only the packet sequence is a bit different, as the client is &#8220;client&#8221;, it is the one initiating some parts of the protocol and not others).<br />
Anyway it&#8217;d make a nice SSH2 client library in a class (SSH2Client) with a few other classes (Crypto for crypto-related stuff, and SFTPClient for sftp access).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
