<?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>The #Shell &#187; Linux</title>
	<atom:link href="http://blog.rootshell.ir/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rootshell.ir</link>
	<description>Hey, It&#039;s root, Take care</description>
	<lastBuildDate>Sun, 22 Aug 2010 21:12:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Get Your Interactive Reverse Shell on a Webhost</title>
		<link>http://blog.rootshell.ir/2010/08/get-your-interactive-reverse-shell-on-a-webhost/</link>
		<comments>http://blog.rootshell.ir/2010/08/get-your-interactive-reverse-shell-on-a-webhost/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 20:40:05 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[RootShell]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=209</guid>
		<description><![CDATA[Sometimes you purchase a web host and the only thing you have to control it, is an ftp account. For those familiar with unix-like shells, it would be really cool to have an SSH session on your account, but most of web hosts don&#8217;t allow this option. It makes the life much easier for maintaining [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you purchase a web host and the only thing you have to control it, is an ftp account. For those familiar with unix-like shells, it would be really cool to have an SSH session on your account, but most of web hosts don&#8217;t allow this option. It makes the life much easier for maintaining the files and permissions.</p>
<p>First step is to investigate whether your php service bans the functions to execute a process or not. I&#8217;m talking about the exec and system and popen function series. You may write your own test or install a php script called &#8220;PHP Shell&#8221;. PHP Shell receives the shell commands through the web browser and executes them and finally delivers the output right at the browser window. There are lots of php shells out there. I used <a href="http://mgeisler.net/php-shell/">this one</a> developed by Martin Geisler. Download one of them and upload it using your ftp account.</p>
<p>For simple operations, you can get an interactive shell using <a href="http://sourceforge.net/projects/netcat/">GNU netcat</a> (Note the GNU word, there are lots of other versions and most of them do not support executing commands). If you run the following command on your machine, it would create a simple tcp listener on an specific port :</p>
<p><strong><span style="font-size: x-small;"><span style="font-family: courier new,courier;">netcat -l -p 8999 -v</span></span></strong></p>
<p>As you see, we have provided the verbose option to get notified when some one connects to your listener. Then by running the following line, we can the simply connect from the phpshell to our local listener and receive a shell :</p>
<p><strong><span style="font-family: courier new,courier;"><span style="font-size: x-small;">netcat my.pc.ip.address 8999 -e &#8220;/bin/bash -i&#8221;</span></span></strong></p>
<p>The above netcat command will connect to your pc at home and execute an interactive bash shell. At this stage you have a command and see the resulting shell (i call it semi interactive). Soon you&#8217;ll notice that special terminal commands such as Ctrl+D, Ctrl+C and arrow keys don&#8217;t work as expected.</p>
<p>We&#8217;ll use <a href="http://www.dest-unreach.org/socat/">socat</a> to overcome this problem. socat can connect almost every two streams you find in the world. From files to sockets, Terminals to udp connections, process output to tcp connection and it supports SSL connections too. But it is not installed on most distributions by default. So the first step is to get the source and compile it. We need it both on our local pc and on the web server. Well, the pc part is easy, but for the web server side you should first find out that whether the build tools (compiler, make, etc) are installed on the web server or not. Test it simply by running g++ and make in your php shell. If yes, you&#8217;re all set and follow these steps to get it running :</p>
<ol>
<li>run <strong>wget http://www.dest-unreach.org/socat/download/socat-1.7.1.3.tar.gz</strong></li>
<li>extract the file using <strong>tar -xf socat-1.7.1.3.tar.gz</strong></li>
<li><strong>cd socat-1.7.13</strong></li>
<li><strong>./configure</strong></li>
<li><strong>make</strong></li>
</ol>
<p>if everything went smoothly and fine, you would have the socat binary right under the socat-1.7.13 folder. Note that if your web host doesn&#8217;t have the build tools installed, you should compile the package locally and upload the binary file. The final part is to setup the listener, this time using socat and connect to it from the webhost, run the following command to get the listener :</p>
<p><span style="font-family: courier new,courier;"><span style="font-size: x-small;"><strong>socat file:`tty`,raw,echo=0 tcp-listen:8999</strong><br />
</span></span></p>
<p>and run this one from the php-shell to get the terminal.</p>
<p><strong><span style="font-size: x-small;"><span style="font-family: courier new,courier;">./socat tcp-connect:my.pc.ip.address:80 exec:&#8217;bash -li&#8217;,pty,stderr,setsid,sigint,sane</span></span></strong></p>
<p>The first socat command, connected a tcp socket (which is yet listening) to your current TTY and second one, connects the bash process to your tcp listener. Now, you have a fully functional TTY Terminal connected to your account in the web-host. Almost all terminal commands work and you can run vim, nano, screen and Midnight commander  <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> . There are few differences between an SSH session and this reverse shell. The most  important ones are :</p>
<ol>
<li>Your session is not encrypted, you may use SSL capabilities of socat</li>
<li>SSH automatically forwards some of useful shell variables, you may set them your self or put them in the .bash_profile or .bash_rc of the web hosting account, such as<br />
<span style="font-family: courier new,courier;">export TERM=&#8221;xterm-color&#8221;</span></li>
</ol>
<ul>
<li>For simplicity purposes, you may put the second socat command line in a new php script to avoid using php shell each time. Note that you should either secure your php shell or delete it when everything finished to avoid others, access your account.</li>
<li>Some web servers run using a different user id than your current account. It would cause that you don&#8217;t have permission to create and edit files using the php shell. In such situations, creating a world wide writable directory (Enable All Permissions for All) would do the job.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/08/get-your-interactive-reverse-shell-on-a-webhost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimental Write Support for Ext2 on Mac</title>
		<link>http://blog.rootshell.ir/2010/05/experimental-write-support-for-ext2-ext3-ext4-filesystems-on-mac/</link>
		<comments>http://blog.rootshell.ir/2010/05/experimental-write-support-for-ext2-ext3-ext4-filesystems-on-mac/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:31:24 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=188</guid>
		<description><![CDATA[Userspace Filesystem Drivers are becoming more and more popular since they&#8217;re portable and have less headache of platform specific filesystem driver issues. For example, NTFS-3G project provides the full read/write support for NTFS under Linux and MacOSX while living in userspace. I recently discovered an open source project called &#8220;fuse-ext2&#8221; which is an implementation of [...]]]></description>
			<content:encoded><![CDATA[<p>Userspace Filesystem Drivers are becoming more and more popular since  they&#8217;re portable and have less headache of platform specific filesystem  driver issues. For example, NTFS-3G project provides the full read/write support for NTFS under Linux and MacOSX while living in userspace.</p>
<p>I recently discovered an open source project called &#8220;<a href="http://sourceforge.net/projects/fuse-ext2/">fuse-ext2</a>&#8221; which is an implementation of Ext2/Ext3/Ext4 filesystem driver in userspace. Before this one, there was an ext2-only native kernel extension (kext) implementation. So I had no write access to my Ext3 and no read access to Ext4 file-system at all.</p>
<p>To use and enable experimental write support for your Ext2 partition, follow these steps :</p>
<ol>
<li>Download and install <strong>NTFS-3G</strong> Package which includes <strong>FUSE libraries</strong>.<br />
AFAIK NTFS-3G has been renamed into Tuxera NTFS and is a shareware now. But any way you can download the old GPL version <a href="http://www.rootshell.ir/downloads/MacOSX/NTFS-3G_2009.4.4-catacombae.dmg">here</a>. it works in both Leopard and Snow Leopard.<br />
<span style="color: #ffcc00;">.</span></li>
<li>Download<a href="http://sourceforge.net/projects/fuse-ext2/"> fuse-ext2 </a>package<br />
<span style="color: #ffcc00;">.</span></li>
<li>Use <strong>Disk Utility</strong> to un-mount current Ext2 filesystems if there are any<br />
<span style="color: #ffcc00;">.</span></li>
<li>Remove any old filesystem drivers for ext2 from <strong>/System/Library/FileSystems</strong> (it was ext2.fs for me)<br />
<span style="color: #ffcc00;">.</span></li>
<li>Install fuse-ext2 package<br />
<span style="color: #ffcc00;">.</span></li>
<li>Since write support is experimental, it is not enabled by default. To enable it, open <strong>/System/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util</strong> for edit while having super user privileges.<br />
<span style="color: #ffcc00;">.</span></li>
<li>Edit the OPTIONS variable at line 207 from<br />
<code>OPTIONS="auto_xattr,defer_permissions"</code><br />
to<br />
<code>OPTIONS="auto_xattr,defer_permissions,rw+"</code><br />
<span style="color: #ffcc00;">.</span></li>
<li>Open Disk Utility and choose Mount for your filesystem and have fun !</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/05/experimental-write-support-for-ext2-ext3-ext4-filesystems-on-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Real File Recovery Scenario On Ext4 Filesystem</title>
		<link>http://blog.rootshell.ir/2010/04/a-real-file-recovery-scenario-on-ext4-filesystem/</link>
		<comments>http://blog.rootshell.ir/2010/04/a-real-file-recovery-scenario-on-ext4-filesystem/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 20:16:28 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RootShell]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=146</guid>
		<description><![CDATA[I just pressed the Enter key on the file delete confirmation dialog, and removed my code which I was working on for 3 hours. In fact I had made such a mistake before and had no results searching &#8220;Ext3 Recovery / Ext4 Recovery &#8230;&#8221;. But this time, a new project named extundelete appeared which claims [...]]]></description>
			<content:encoded><![CDATA[<p>I just pressed the Enter key on the file delete confirmation dialog, and removed my code which I was working on for 3 hours. In fact I had made such a mistake before and had no results searching &#8220;Ext3 Recovery / Ext4 Recovery &#8230;&#8221;. But this time, a new project named <a href="http://extundelete.sourceforge.net/">extundelete</a> appeared which claims to extract file metadata from the file-system&#8217;s Journal.</p>
<p>I tried to extract and compile it by just typing &#8220;make&#8221; and found that <strong>ext2fs</strong> library is missing, so I installed ext2fs-dev package using the following command (I&#8217;m using Ubuntu 9.10) :</p>
<p><code><strong>sudo apt-get install ext2fs-dev</strong></code></p>
<p>Then typing &#8220;make&#8221; in the src folder, presents you the binary file named &#8220;extundelete&#8221;. You can run it like this :</p>
<pre style="background-color: black; color: white; padding: 3px">ali@Velocity:~/tmp/extundelete-0.1.8/src$ ./extundelete
No action specified; implying --superblock.

Usage: ./extundelete [options] [--] device-file

Options:
--version, -[vV]       Print version and exit successfully.
--help,                Print this help and exit successfully.
--superblock           Print contents of superblock in addition to the rest.
                       If no action is specified then this option is implied.
--journal              Show content of journal.
--after dtime          Only process entries deleted on or after 'dtime'.
--before dtime         Only process entries deleted before 'dtime'.

Actions:
--inode ino            Show info on inode 'ino'.
--block blk            Show info on block 'blk'.

--restore-inode ino     Restore the file(s) with known inode number 'ino'.
                        The restored files are created in ./RESTORED_FILES
                        with their inode number as extension (ie, inode.12345).

--restore-file 'path'  Will restore file 'path'. 'path' is relative to root of
                      the partition and does not start with a '/'
                      (it must be one of the paths returned by --dump-names).
                      The restored file is created in the current directory
                      as 'RECOVERED_FILES/path'.

--restore-files 'path'    Will restore files which are listed in the file 'path'.
                    Each filename should be in the same format as
                    an option to --restore-file, and there should be one per line.

--restore-all          Attempts to restore everything.
-j journal             Reads an external journal from the named file.
-b blocknumber         Uses the backup superblock at blocknumber when
                                opening the file system.
-B blocksize           Uses blocksize as the block size when opening fs.
                       The number should be the number of bytes.</pre>
<p><br/>
<p>
It seems that running the program with &#8211;restore-all, should restore all possible files. Like this :
</p>
<p><code>ali@Velocity$ ./extundelete /dev/sda6 --restore-all</code></p>
<p>But that option gave me some temporary, hidden and some useless config files over my home folder. I was thinking of rewriting the code &#8230;</p>
<p>Suddenly I found that, extundelete supports another option in which you can specify the inode number of your file, and it will bring it back &#8230; <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Looking at manual of the &#8220;ls&#8221; command you&#8217;ll find that running &#8220;ls&#8221; with -i parameter will give you the inode number of files in a directory. I tried to find a range for inode files around the deleted file and search for all files in the range &#8230;</p>
<pre style="background-color: black; color: white; padding: 3px">ali@Velocity:~/projects/Monko-MovieQuiz/Source/IMDBot/src$ ls -i
7824227 artists.db
7824222 google_spell_checker.py
7824220 merge_tool.py
7824214 movies-merged.db
7824219 movies-vahid.db
7824260 stuff.py
7824252 artists.py
7824211 IMDB.py
7824221 MovieDatabase.py
7824254 movies-sohrab.db
7824256 question_validator.py
7864492 tests
7864514 cache
7824305 lite_tool.py
7824208 MovieDatabase.pyc
7824207 movies-soroush.db
7824293 start.py
7962711 Tools</pre>
<p><br/><br />
It seems that most of the files are in the range of 7824xxx, so searching the range of  to 7824000  to 7824999 might be a good idea (take a look at the following bash code snippet) :</p>
<p><code><strong>for((i=7824000; i&lt;7824999; i++)); do<br />
./extundelete /dev/sda6 --restore-inode $i ;<br />
done</strong></code></p>
<p>Viva !</p>
<p>I got 7 deleted files in this range (inside the <strong>RECOVERED_FILES</strong> directory), and one of them was my deleted python code ! And I spent my time on writing this article instead of rewriting the code <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/04/a-real-file-recovery-scenario-on-ext4-filesystem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Story of Flashrom and My Lenovo V100</title>
		<link>http://blog.rootshell.ir/2010/04/the-story-of-flashrom-and-my-lenovo-v100/</link>
		<comments>http://blog.rootshell.ir/2010/04/the-story-of-flashrom-and-my-lenovo-v100/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 12:20:52 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[/dev/urandom]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=124</guid>
		<description><![CDATA[The fact that I always try to use open source softwares makes me to find new softwares and try them to see if they can solve my problems and do the job or not. Times ago, I had tried flashrom project to see if it can update my bios chip or not and the answer [...]]]></description>
			<content:encoded><![CDATA[<p>The fact that I always try to use open source softwares makes me to find new softwares and try them to see if they can solve my problems and do the job or not. Times ago, I had tried <a href="http://flashrom.org/Flashrom">flashrom</a> project to see if it can update my bios chip or not and the answer was NO ! Your chipset is not supported yet !</p>
<p>Later on, it was about May 2009 which I found a program which could change the boot logo of Phoenix bios images and I recalled <a href="http://flashrom.org/Flashrom">flashrom</a>. It was interesting that this time it said &#8220;Yeah, Your chip is now being supported! <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8221;. I made it to read my Bios image and the result was a real and valid phoenix image which I could change it. After making a new image, running flashrom to write it finished without any warnings or errors. I read the image again and Boom ! It was neither the original bios, nor the new one.</p>
<p>This is exactly where<a href="http://www.mail-archive.com/coreboot@coreboot.org/msg14239.html"> my first email </a>went up online on the community&#8217;s mailing list and I knew that any invalid act which yields to rebooting the laptop is going to kill it. :</p>
<blockquote><p>I tried the latest svn version (6 May 09) of flashrom and unlike older versions didn&#8217;t get a warning on my chipset. flashrom reads my chip successfully and outputs a fine Phoenix bios. After writing a new image into the chip</p>
<p>I found that writer is not fully functional and reading the chip again results in an image that is neither original one nor the new image. then I tried erase functionality and it resulted in some 0xFF and some unchanged bytes in the chip. Currently writing either images doesn&#8217;t change the chip and it remains in mostly 0xFF bytes.</p></blockquote>
<p>Most of open source project maintainers use IRC as their collaboration and communication channel both with themselves and community. I went online and Peter one the maintainers was online but he wasn&#8217;t the person responsible for ICH7 series chipsets, So I had to wait for Carl to come online. It was midnight in Iran and I went to bed leaving the laptop up and running. Next morning I found Carl and after working with him to find the problem, he suggested to try AAI type of Chip-Programming. It was a time consuming task and I had to go for an important session, So I left home.</p>
<p>When I returned back, I got no good results of AAI. The wonderful part of story is that my little sister had played with my laptop, when I was out, and didn&#8217;t power it off, so that I don&#8217;t get noticed she touched my laptop without permission.  <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Carl reviewed the data-sheets for my Bios chip and found that It doesn&#8217;t support writing multiple bytes at a time. Finally he sent me some patches and the last patch wrote the image successfully. I worked a few more hours to finalize <a href="http://www.mail-archive.com/coreboot@coreboot.org/msg14267.html">the patch</a> and sent some verification emails so that Carl can commit them to the main version tree (And got acknowledges for helping to track down the bug !  <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>It was an amazing experience of active community support and I should really thank Carl-Daniel Hailfinger, Peter Stuge and all other active maintainers of open source projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/04/the-story-of-flashrom-and-my-lenovo-v100/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AUT&#8217;s 2nd Linux Festival</title>
		<link>http://blog.rootshell.ir/2010/02/auts-2nd-linux-festival/</link>
		<comments>http://blog.rootshell.ir/2010/02/auts-2nd-linux-festival/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 21:01:33 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RootShell]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=109</guid>
		<description><![CDATA[Second Linux Festival has been successfully held at Amirkabir University of Technology (AKA Polytechnic). It has been divided into three main levels of Beginner, Intermediate and Advanced. The topics has been presented inside Computer Site of CEIT department under a much better quality comparing to the last year&#8217;s festival. People installed, tasted and utilized a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rootshell.ir/wp-content/uploads/2010/02/Linux_Festival_IMG_4598_800x600.jpg"><img class="aligncenter size-full wp-image-121" title="Linux_Festival_IMG_4598_800x600" src="http://blog.rootshell.ir/wp-content/uploads/2010/02/Linux_Festival_IMG_4598_800x600.jpg" alt="Second Linux Festival - AUT" width="480" height="360" /></a></p>
<p>Second Linux Festival has been successfully held at Amirkabir University of Technology (AKA Polytechnic). It has been divided into three main levels of Beginner, Intermediate and Advanced. The topics has been presented inside Computer Site of CEIT department under a much better quality comparing to the last year&#8217;s festival. People installed, tasted and utilized a new operating system in a well mannered approach. During the installation process and most of other presentations, our local server and mirror of software packages (aka SSCLinuxBox) helped a lot and became the standard way of sharing files / installing software during the festival.</p>
<p><span style="font-size: medium;"><strong>Topics and Schedule</strong></span></p>
<p>One month ago, when we were planning for festival topics and schedule, Amir-Mohammad and I reviewed many Linux-related books and their contents. This resulted into a rich outline for the festival topics. Taking a look at topics and presentation quality this was the best and first festival in Iran covering this scope of topics. Here&#8217;s a summary of main subjects and presentations :</p>
<ul>
<li>Beginner (1st Day)
<ul>
<li>Linux W5H2 ?</li>
<li>Distributions</li>
<li>Installing Ubuntu Linux</li>
<li>Package Management</li>
<li>Linux File System Structure</li>
<li>Desktop Environments</li>
<li>Useful Programs</li>
</ul>
</li>
<li>Intermediate (2nd Day)
<ul>
<li>System Configuration</li>
<li>Introduction to command line</li>
<li>Linux and Network</li>
<li>Web Development in Linux</li>
<li>Installing software from source</li>
<li>GUI Development Using QT</li>
</ul>
</li>
<li>Advanced (3rd Day)
<ul>
<li>Boot-up Process</li>
<li>Network concepts in Linux</li>
<li>Linux Servers</li>
<li>Scripting in Linux (Bash, Python, &#8230;)</li>
<li>The Linux Kernel</li>
<li>Linux Security</li>
</ul>
</li>
</ul>
<p>The complete program and schedule can be found <a href="http://ceit-ssc.ir/linux-festival/details.php">here</a>.</p>
<p><span style="font-size: medium;"><strong>What I learned</strong></span></p>
<p>Although it was the second experience on Linux Festival in our university and we fixed almost all of problems which could be seen in the last one, there are always problems and we can learn from them. One of the main points I got in the first few presentations, was the importance of coordination between presenters around the topics and details which is going to be presented. Lack of such synchronization and coordination before the festival, resulted into problems in presentation topics and contents since some of presenters did have a different idea about listener&#8217;s levels and prepared some extra stuff for those who where beginner. In addition none of us knew about the dependencies of subject that was going to be presented, whether they have been discussed up to now or not.</p>
<p>Yet another point on the art of presentation and teaching. In situations like this, where every presenter is a professional in a field and likes the topic and have chosen to teach it, hiding the unnecessary details is a very very hard task. A teacher should have the ability to place and simulate the thinking process of listeners and remove the details that might break this thinking process. On the other hand, he should analyze the required dependencies of current topic and explain them before anything.</p>
<p>I got many feedbacks regarding the presentation style and found that the estimation of listener&#8217;s level and correct decomposition of subject into the simplest form are keys to a successful presentation.</p>
<p><strong>Memories</strong></p>
<p>It was a cool and friendly atmosphere. The support team and technical team were both working hard to reach the best quality and it made it a real memory. Its notable that this was the first serious work/project of our new Scientific Committee and the results were incredible.</p>
<p><a href="http://blog.rootshell.ir/wp-content/uploads/2010/02/Linux_Festival_IMG_5049_800x600.jpg"><img class="aligncenter size-full wp-image-115" title="Linux_Festival_IMG_5049_800x600" src="http://blog.rootshell.ir/wp-content/uploads/2010/02/Linux_Festival_IMG_5049_800x600.jpg" alt="Second Linux Festival - AUT" width="480" height="360" /></a></p>
<p><span style="font-size: medium;"><strong>Links</strong></span></p>
<ul>
<li><a href="http://ceit-ssc.ir/linux-festival">Official site of Linux Festival</a> /دومین جشنواره لینوکس امیرکبیر</li>
<li>Photo Albums on Facebook : <a href="http://www.facebook.com/reqs.php#!/album.php?aid=49496&amp;id=1056288648&amp;ref=nf">First Day</a> , <a href="http://www.facebook.com/reqs.php#!/album.php?aid=49567&amp;id=1056288648&amp;ref=nf">Second Day</a> and Third Day</li>
<li><a href="http://www.rootshell.ir/downloads/Documents/2nd_Linux_Festival/Presentations/">Presentation Files and Resources</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/02/auts-2nd-linux-festival/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Narcis For Linux &#8211; Project</title>
		<link>http://blog.rootshell.ir/2010/01/narcis-for-linux-project/</link>
		<comments>http://blog.rootshell.ir/2010/01/narcis-for-linux-project/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 21:17:18 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[RootShell]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=91</guid>
		<description><![CDATA[I&#8217;ve been playing around with the full-featured English-Persian dictionary named Narcis. Narcis has been provided as a Windows application and AFAIK the development has been stopped. Just found it useful to have their rich database, so wrote some python scripts to decode the character set and export it into C++ source code format. Now I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://www.rootshell.ir/wiki/images/5/51/N4L_rev3_Screenshot.png" alt="Narcis For Linux - Revision 3 - Screenshot" width="518" height="317" /></p>
<p>I&#8217;ve been playing around with the full-featured English-Persian dictionary named Narcis. Narcis has been provided as a Windows application and AFAIK the development has been stopped. Just found it useful to have their rich database, so wrote some python scripts to decode the character set and export it into C++ source code format. Now I&#8217;m writing my Linux port using QT, C++ and Sqlite <img src='http://blog.rootshell.ir/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . For more information on the project, refer to the <a href="http://www.rootshell.ir/wiki/Narcis4Linux">N4L wiki page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/01/narcis-for-linux-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Connecting to OpenVPN on Linux and Windows</title>
		<link>http://blog.rootshell.ir/2010/01/connecting-to-openvpn-on-linux-and-windows/</link>
		<comments>http://blog.rootshell.ir/2010/01/connecting-to-openvpn-on-linux-and-windows/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 11:19:04 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[Believe Me]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[RootShell]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.rootshell.ir/?p=28</guid>
		<description><![CDATA[In fact the worst thing with upgrading your operating system is that there are always some features that you miss in the new one or it is broken by mistake ! I was using Ubuntu version 8.10 and when I upgraded to version 9.04, realized that intel driver that is included in this release is [...]]]></description>
			<content:encoded><![CDATA[<p>In fact the worst thing with upgrading your operating system is that there are always some features that you miss in the new one or it is broken by mistake ! I was using Ubuntu version 8.10 and when I upgraded to version 9.04, realized that intel driver that is included in this release is in beta stages and the performance was really poor. Then I downgrade to 8.10 and again with the release of 9.10 (karmic) my vpn and openvpn configuration using Network Manager did not work.</p>
<p>I decided to stick with Shell again, and connect using my OpenVPN configurations by a simple openvpn command.</p>
<p>It is as simple as running a single command, you should first switch the directory to where your config files exist and type :</p>
<p><code>sudo openvpn --config myclient.conf</code></p>
<p>Two weeks ago I had upgraded my Windows XP SP3 to Windows 7 and guess what, The openvpn-gui package wasn&#8217;t working either.</p>
<p>Taking a look at openvpn log, I found that it has routing problems with the following error and can&#8217;t set the routes, so the windows network applet says &#8220;No internet access&#8221; for that.</p>
<p><code>ROUTE: route addition failed using CreateIpForwardEntry: One or more arguments are not correct.</code></p>
<p>It seems that some forwarding structure and API has been changed since Vista and openvpn version 2.0.9 is not aware of them. After googling around, I found that the latest official OpenVPN release had fixed these issues. And it is interesting that they&#8217;ve included the GUI for windows in the official release. You can download version 2.1.1 from :</p>
<p><a href="http://openvpn.net/index.php/open-source/downloads.html"><code>http://openvpn.net/index.php/open-source/downloads.html</code></a></p>
<p>and take care, you should put it into &#8220;Windows Vista&#8221; compatibility mode and run it as administrator.</p>
<p><a href="http://blog.rootshell.ir/wp-content/uploads/2010/01/openvpn-compat.png"><img class="aligncenter size-full wp-image-29" title="Openvpn compatibility in Windows 7" src="http://blog.rootshell.ir/wp-content/uploads/2010/01/openvpn-compat.png" alt="" width="419" height="515" /></a></p>
<p style="text-align: left;">After installation, you should copy your config files into <strong>C:\Program Files\OpenVPN\config\</strong> and run OpenVPN GUI from start menu. If you got into routing problems again, try running the OpenVPN GUI as administrator too.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.rootshell.ir/2010/01/connecting-to-openvpn-on-linux-and-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
