<?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>Meandering thoughts &#187; Linux</title>
	<atom:link href="http://magpie.sytes.net/jesperhogstrom/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://magpie.sytes.net/jesperhogstrom</link>
	<description>Words are flying out like endless rain into a paper cup.</description>
	<lastBuildDate>Fri, 16 Oct 2009 23:06:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Switching ISPs</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2009/05/switching-isps/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2009/05/switching-isps/#comments</comments>
		<pubDate>Wed, 06 May 2009 21:22:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[personligt]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=192</guid>
		<description><![CDATA[After several years of rather satisfying service from Telia I decided &#8211; on a whim &#8211; to switch to Tele2.
Actually, there were a few things that annoyed me on Telia. One was that I didn&#8217;t manage to change the machine that was connected to the ADSL connection. I followed all instructions I could find and [...]]]></description>
			<content:encoded><![CDATA[<p>After several years of rather satisfying service from Telia I decided &#8211; on a whim &#8211; to switch to Tele2.</p>
<p>Actually, there were a few things that annoyed me on Telia. One was that I didn&#8217;t manage to change the machine that was connected to the ADSL connection. I followed all instructions I could find and even called support. All I had to do was switch off the modem for 20 minutes and turn it back on with a new box plugged in. Never worked. Three hours. Still no new IP. Of course, it may have been just me, but that has never stopped anyone from being annoyed before.</p>
<p>The other thing was that I upgraded to 24Mbit/s, paid more, but they didn&#8217;t send me a new modem. I also had a feeling that new customers got better deals than me.</p>
<p>So, I switched. The switch was surprisingly painless. The target date was April 30th, and I expected all connections to go down and I&#8217;d have to install the new shiny modem I received from Tele2. Nothing of the kind! All of a sudden my dhcp address changed and that was it!</p>
<p>Then my wife started complaining about her mail not reaching her friends. My first suspicion was user error, but then I realized I had set up my qmail mail server to route via Telia&#8217;s smtp-server. Doh. I can&#8217;t blame Telia for not routing mail from Tele2 customers.</p>
<p>The neat thing about my linux servers is that they never crave any attention. That&#8217;s also a bad thing. While documentation is fun of the highest degree, my own network is slightly less than 6 sigma standard in that regard. Luckily I remembered that all I had to do was change the server name in the /var/qmail/control/smtproutes file.</p>
<p>Unfortunately Tele2 have blocked all outbound traffic on port 25. Instead they require mail clients to use port 587 and also to authenticate.</p>
<p>I had received a paper with a user name and password. I also set up a mail account with a new password. Furthermore I spent significant time researching how to shove that into the smtproutes file.</p>
<p>All to no avail. Support closes at 8 pm, but then I&#8217;ll try to explain my problem. The support site mentions very little about how to configure an smtp-server, though it does mention a lot about configuring mail clients. They also have a robot help desk service named Sara, where you can presumably ask questions in natural language. She claims to answer questions about internet, broad band and so on. I asked &#8220;How can I relay from my smtp server?&#8221; and got the reply &#8220;Server&#8230; Not my thing really. I don&#8217;t know much about hardware&#8221;.</p>
<p>Tomorrow I&#8217;ll bother tech support. That&#8217;ll be fun&#8230;</p>
<p>&#8211;Jesper</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2009%2F05%2Fswitching-isps%2F&amp;linkname=Switching%20ISPs"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2009/05/switching-isps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gain ssh access to ReadyNAS</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2009/01/hacking-the-readynas/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2009/01/hacking-the-readynas/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 19:56:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=162</guid>
		<description><![CDATA[In my server closet I run a Netgear ReadyNAS+ with 1.5TB of effective storage. It&#8217;s a really neat box with support for various access methods, like nfs, ftp, http and cifs and a few more.
My latest informational reorg included an idea to publish sound and video on a share that the kids could access. All [...]]]></description>
			<content:encoded><![CDATA[<p>In my server closet I run a <a href="http://www.readynas.com/">Netgear ReadyNAS+</a> with 1.5TB of effective storage. It&#8217;s a really neat box with support for various access methods, like nfs, ftp, http and cifs and a few more.</p>
<p>My latest informational reorg included an idea to publish sound and video on a share that the kids could access. All that stuff used to sit on a share deep in a structure from a previous box I used to run.</p>
<p>Easy thing to figure out what to do; simply create a new share, call it Media and allow all the internal network read-access.  Mount it on a linux box with root access, then move everything from the old jesper/backup/jesper/bigdrive/private/media to that directory.</p>
<p>The only thing is that it&#8217;s not possible to simply rewrite the inodes when moving things from one nfs-mounted volume to another nfs-mounted volume. Every single bit needs to be copied.</p>
<p>It was a somewhat lengthy procedure to move everything onto the NAS, but at that time I had a gigabit card (still have it but it is not recognized by vmware esxi) and data was only going one way &#8211; from one box onto the NAS. This time, I was stuck with a 100MBit nic and data had to travel from the NAS, to the computer and then back to the NAS. Admittedly I didn&#8217;t have to watch, but I figured it would take me days to shuffle all of that data.</p>
<p>As the ReadyNAS runs a linux distro behind the scenes I figured the solution would be to gain terminal access to the NAS using ssh. Unfortunately that wasn&#8217;t on by default. I googled and found several solutions to fix the problem, ranging from <a href="http://chapados.org/2006/11/23/infrant-readynas-shell-access">opening the NAS and mounting the disks on another computer</a> to <a href="http://chapados.org/2007/5/6/readynas-shell-access-redux">using some odd &#8220;feature&#8221; in Apple File Protocol and hacking the crontab file</a>.</p>
<p>Eventually I found a much simpler solution: Installing the official &#8216;enable ssh access&#8217; patches. <img src='http://magpie.sytes.net/jesperhogstrom/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>On <a href="http://www.readynas.com/?page_id=94">http://www.readynas.com/?page_id=94</a> you&#8217;ll find &#8211; at the bottom of the page &#8211; two patches; <a href="http://www.readynas.com/download/addons/4.00/ToggleSSH_1.0.bin">ToggleSSH</a> and <a href="http://www.readynas.com/download/addons/4.00/EnableRootSSH_1.0.bin">EnableRootSSH</a>. Both need to be installed, and the NAS wants to reboot after each one.</p>
<p>ssh into the nas. Log in as root with your existing admin password. Voila! you&#8217;re in!</p>
<p>Now moving the remaining data was a few keystrokes away and obviously lightning fast using the good ol&#8217; mv command.</p>
<p>Happy hacking!</p>
<p>&#8211;Jesper Hogstrom</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2009%2F01%2Fhacking-the-readynas%2F&amp;linkname=Gain%20ssh%20access%20to%20ReadyNAS"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2009/01/hacking-the-readynas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic firewalls</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/12/dynamic-firewalls/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/12/dynamic-firewalls/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 21:11:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[internet media]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=123</guid>
		<description><![CDATA[On my way home today I thought abut all the intrusion attacks and pondered the possibilities to update the firewall automatically.
I get logs mailed from my various systems on a daily basis. Several times a week they are filled with failed attempts to pick up mail from adam, annie, alonzo, bert, bill, caesar, daniel, david&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>On my way home today I thought abut all the intrusion attacks and pondered the possibilities to update the firewall automatically.</p>
<p>I get logs mailed from my various systems on a daily basis. Several times a week they are filled with failed attempts to pick up mail from adam, annie, alonzo, bert, bill, caesar, daniel, david&#8230; as well as requests for /phpadmin/index.php /phpdbadmin/index.php, /phpsqladmin/index.php and so on.</p>
<p>The idea I dreamed up was fairly simple; either hook onto an existing intrusion detection system (IDS) like <a href="http://www.snort.org/">snort</a> or write some other simple rules, maybe by analyzing log files from apache; &#8220;if an ip# requested 10 non-existing pages in 5 seconds, drop all packets from that source&#8221;.</p>
<p>I didn&#8217;t get very far in my thinking, before I realized someone else may have already done this. <a href="http://www.google.com/search?q=dynamic+firewall+linux">My first search</a> yielded quite a few hits, including some stating it&#8217;s a bad idea to auto-block ip# based on IDS rules, mainly because of the many false positives.</p>
<p>However, one guy was right along my thinking with a <a href="http://www.subspacefield.org/security/dfd/">Dynamic Firewall Daemon</a>. The specs matched much of what I would eventually have set up myself (he said humbly). Other applications in the same area include <a href="http://www.cipherdyne.org/fwsnort/">fwsnort</a>.</p>
<p>On the other hand, <a href="http://www.linuxsecurity.com/content/view/117370/49/">this article from linuxsecurity.com</a> states &#8220;intrusion prevention is still at its early stage and there is no out-of-the-box product that will perfectly fits your requirements.&#8221; &#8211; though that was written ages ago (2006 I would guess based on the date of the first comment).</p>
<p><a href="http://www.ibm.com/developerworks/linux/library/l-fw/index.html?dwzone=linux%3fopen&amp;l=758,t=gr,p=Fwalls">An insightful article from IBM</a> gives some handy scripts, but not quite automation.</p>
<p>I readily admit to not being an expert in package filtering, but I do run firewalls, IDS and open only the ports required. What worries me a bit is that the majority of people out there are unaware of even the most basic facts about how to protect themselves from attacks. And <a href="http://www.chicagotribune.com/news/nationworld/chi-cyberattack_bdnov30,0,1811402,print.story">even Pentagon have a problem</a> securing their perimeter&#8230;</p>
<p>Before I completely take off on something else, I recommend <a href="http://www.onpointradio.org/shows/2008/12/cyber-warfare/">the OnPoint Radio show on Cyber warfare</a>. Much more high level than mere firewall scripts, but very eye-opening.</p>
<p>Anyway, if you have any experience on dynamic firewalls, open source or commercial, please feel free to share!</p>
<p>&#8211;Jesper Högström</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F12%2Fdynamic-firewalls%2F&amp;linkname=Dynamic%20firewalls"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/12/dynamic-firewalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade failed, black screen of grub, MBR busted</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/11/upgrade-failed-black-screen-of-grub-mbr-busted/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/11/upgrade-failed-black-screen-of-grub-mbr-busted/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 18:08:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=113</guid>
		<description><![CDATA[There I was, having a pretty good time. To me, that means having spent most of the weekend playing table tennis with my son, and finalizing the movement of all my VMs to the shiny new ESXi server.
To make things perfect, I wanted all the machines to run VMWare tools. On some machines that was [...]]]></description>
			<content:encoded><![CDATA[<p>There I was, having a pretty good time. To me, that means having spent most of the weekend playing table tennis with my son, and finalizing the movement of all my VMs to the shiny new ESXi server.</p>
<p>To make things perfect, I wanted all the machines to run VMWare tools. On some machines that was as simple as selecting the appropriate menu item.</p>
<p><a href="http://magpie.sytes.net/jesperhogstrom/wp-content/uploads/2008/11/install_vmwaretools.png"><img class="alignnone size-full wp-image-114" title="install_vmwaretools" src="http://magpie.sytes.net/jesperhogstrom/wp-content/uploads/2008/11/install_vmwaretools.png" alt="" width="282" height="292" /></a></p>
<p>However, in some other cases it was simply not that simple. I needed to do the whole thing manually. For now, I&#8217;ll skip over the details of that and cut to the chase.</p>
<p>I tried to upgrade my kernel so I could recompile some vmware tools drivers when something went terribly wrong.</p>
<p>When I rebooted, all I had was a black screen saying &#8220;GRUB _&#8221; and it didn&#8217;t accept a single key stroke.</p>
<p>Luckily, it wasn&#8217;t the most important machine, but still &#8211; things didn&#8217;t look too good.</p>
<p>After spending some time on google, I found that others had had the same problem, and it seemed to having to do with the MBR (Master Boot Record) being messed up. It made kind of sense, but what then?</p>
<p>A <a href="http://ubuntuforums.org/showthread.php?t=790886">thread I found on an Ubuntu site</a> mentioned something called the Super Grub Disk. I downloaded it from <a href="http://www.supergrubdisk.org/">http://www.supergrubdisk.org/</a> and uploaded it to the ESXi data storage.</p>
<p>Add a CD to the VM and point it to the ISO image.</p>
<p>Next &#8211; how to get the VM to change boot sequence?</p>
<p>Shut down the VM, edit settings and check the little box.</p>
<p><a href="http://magpie.sytes.net/jesperhogstrom/wp-content/uploads/2008/11/bios_next_boot.png"><img class="alignnone size-full wp-image-115" title="bios_next_boot" src="http://magpie.sytes.net/jesperhogstrom/wp-content/uploads/2008/11/bios_next_boot.png" alt="" width="500" height="201" /></a></p>
<p>Save and reboot.</p>
<p>The interface is somewhat different &#8211; but plain menu driven! For me, it worked to simply select the menu options with help, select language, opt for Gnu/Linux and then &#8220;Fix boot of Gnu/Linux (GRUB)&#8221;. 0.1 seconds later I got an OK message, shut down the machine and switched back the boot order.</p>
<p>It just worked, The machine is back online. Now it&#8217;s time to beat the next generation in table tennis one more time before I install the VMWare tools.</p>
<p>A piece of advice: Take snapshots before you upgrade the kernel!</p>
<p>&#8211;Jesper Hogstrom</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F11%2Fupgrade-failed-black-screen-of-grub-mbr-busted%2F&amp;linkname=Upgrade%20failed%2C%20black%20screen%20of%20grub%2C%20MBR%20busted"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/11/upgrade-failed-black-screen-of-grub-mbr-busted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting vmware disks from IDE to SCSI</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/11/converting-vmware-disks-from-ide-to-scsi/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/11/converting-vmware-disks-from-ide-to-scsi/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 22:23:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=101</guid>
		<description><![CDATA[In the process of moving from VMWare Server to VMWare ESXi I realized I must change the layout of my disks. ESXi doesn&#8217;t like growing disks, nor does it like IDE disks.
I alluded to my initial conversion issues in this post. While I learned more than I asked for, it seems it wasn&#8217;t quite necessary [...]]]></description>
			<content:encoded><![CDATA[<p>In the process of moving from <a href="http://www.vmware.com/download/server/">VMWare Server</a> to <a href="https://www.vmware.com/tryvmware/?p=esxi">VMWare ESXi</a> I realized I must change the layout of my disks. ESXi doesn&#8217;t like growing disks, nor does it like IDE disks.</p>
<p>I alluded to my initial conversion issues in <a href="http://magpie.sytes.net/jesperhogstrom/2008/11/creating-floppy-boot-disks-under-vmware/">this post</a>. While I learned more than I asked for, it seems it wasn&#8217;t quite necessary to use the lsilogic adapter. Buslogic worked just as fine&#8230;</p>
<p>First, credit where credit is due. I gathered all my information from <a href="http://hamed.dk/home/53-vm-ide2scsi">http://hamed.dk/home/53-vm-ide2scsi </a>and <a href="http://blog.creonfx.com/linux/howto-convert-vmware-windows-xp-ide-disk-to-lsilogic-scsi">http://blog.creonfx.com/linux/howto-convert-vmware-windows-xp-ide-disk-to-lsilogic-scsi</a>.</p>
<p>Having converted a couple of disks, I felt obliged to add the minor details I managed to add to the process.</p>
<p>Not that I&#8217;m a sissy, but one never knows. Close the virtual machine and backup!</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">cd /VMs
</div>
</li>
<li class="li1">
<div class="de1">$ mkdir backup
</div>
</li>
<li class="li1">
<div class="de1">$ cp -v virtualmach1/* backup</div>
</li>
</ol>
</div>
<p>My disks hadn&#8217;t been defragmented in a while &#8211; as I didn&#8217;t even know that was possible, so lets start doing that:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ cd /VMs/virtualmach1
</div>
</li>
<li class="li1">
<div class="de1">$ vmware-vdiskmanager -d Windows\ XP\ Professional-cl1-000001-cl1.vmdk
</div>
</li>
<li class="li1">
<div class="de1">Using log file /tmp/vmware-root/vdiskmanager.log
</div>
</li>
<li class="li1">
<div class="de1">Defragment: 100% done.
</div>
</li>
<li class="li2">
<div class="de2">Defragmentation completed successfully.</div>
</li>
</ol>
</div>
<p>When I read the other posts, I was quite worried about not having a &#8220;small vmdk-file&#8221; that contained the disk description. Fear not! It will magically appear after the next step: Disk conversion. While we&#8217;re at it, give the disk a better name. Delete the old disk. We have a backup, remember?</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ vmware-vdiskmanager -r Windows\ XP\ Professional-cl1-000001-cl1.vmdk -t 2 virtualmachine1.vmdk
</div>
</li>
<li class="li1">
<div class="de1">Using log file /tmp/vmware-root/vdiskmanager.log
</div>
</li>
<li class="li1">
<div class="de1">Creating monolithic preallocated disk &#8216;virtualmachine1.vmdk&#8217;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; Convert: 100% done.
</div>
</li>
<li class="li2">
<div class="de2">Virtual disk conversion successful.
</div>
</li>
<li class="li1">
<div class="de1">$ ls *.vmdk
</div>
</li>
<li class="li1">
<div class="de1">virtualmachine1-flat.vmdk &nbsp;virtualmachine1.vmdk Windows XP Professional-cl1-000001-cl1.vmdk
</div>
</li>
<li class="li1">
<div class="de1">$ rm &quot;Windows XP Professional-cl1-000001-cl1.vmdk&quot;</div>
</li>
</ol>
</div>
<p>The virtual physical layout of the disks will change when we convert it to a SCSI disk, but the number of sectors remain the same. Check the number of sectors you have now:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ &nbsp;cat virtualmachine1.vmdk|grep RW| awk &nbsp;&#8217;{print $2}&#8217;
</div>
</li>
<li class="li1">
<div class="de1">25165824</div>
</li>
</ol>
</div>
<p>The number 25165824 will be used to create a dummy SCSI disk. YOUR NUMBER WILL NOT BE THE SAME!</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ vmware-vdiskmanager -c -s 25165824 -a buslogic -t 1 scsi.vmdk</div>
</li>
</ol>
</div>
<p>If you&#8217;re like me and prefer to copy entire lines and avoid remembering numbers between screens, here goes:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ vmware-vdiskmanager -c -s `cat virtualmachine1.vmdk|grep RW| awk &nbsp;&#8217;{print $2}&#8217;` -a buslogic -t 1 scsi.vmdk</div>
</li>
</ol>
</div>
<p>Either way, look at the scsi.vmdk file and copy the lines the look similar to</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">ddb.geometry.<span class="re1">cylinders </span>= <span class="st0">&quot;1566&quot;</span></div>
</li>
<li class="li1">
<div class="de1">ddb.geometry.<span class="re1">heads </span>= <span class="st0">&quot;255&quot;</span></div>
</li>
<li class="li1">
<div class="de1">ddb.geometry.<span class="re1">sectors </span>= <span class="st0">&quot;63&quot;</span></div>
</li>
<li class="li1">
<div class="de1">ddb.<span class="re1">adapterType </span>= <span class="st0">&quot;buslogic&quot;</span></div>
</li>
</ol>
</div>
<p>Open virtualmachine1.vmdk and replace the lines that have the same keys.</p>
<p>Now we need to make some changes to the vmx-file. The vmx-files don&#8217;t seem to care about the order of values. My file was hard to navigate in, as keys were not collated. To the rescue:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$ cat winxppro.vmx | grep &nbsp;&quot;\#\!&quot; &nbsp;&gt; w.vmx
</div>
</li>
<li class="li1">
<div class="de1">$ cat winxppro.vmx | grep &nbsp;-v &quot;\#\!&quot; | grep -v &quot;^$&quot; | sort &gt;&gt; w.vmx
</div>
</li>
<li class="li1">
<div class="de1">$ chmod w.vmx &#8211;reference=winxppro.vmx
</div>
</li>
<li class="li1">
<div class="de1">$ rm winxppro.vmx
</div>
</li>
<li class="li2">
<div class="de2">$ mv w.vmx winxppro.vmx</div>
</li>
</ol>
</div>
<p>Edit the vmx-file and remove/comment out  the ide0:0* keys.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">#ide0:<span class="nu0">0</span>.<span class="re1">fileName </span>= <span class="st0">&quot;Windows XP Professional-cl1-000001-cl1.vmdk&quot;</span></div>
</li>
<li class="li1">
<div class="de1">#ide0:<span class="nu0">0</span>.<span class="re1">present </span>= <span class="st0">&quot;TRUE&quot;</span></div>
</li>
<li class="li1">
<div class="de1">#ide0:<span class="nu0">0</span>.<span class="re1">redo </span>= <span class="st0">&quot;&quot;</span></div>
</li>
</ol>
</div>
<p>Find the section mentioning scsi, or place it in the correct alphabetical place:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">scsi0.<span class="re1">present </span>= <span class="st0">&quot;TRUE&quot;</span></div>
</li>
<li class="li1">
<div class="de1">scsi0.<span class="re1">virtualDev </span>= <span class="st0">&quot;buslogic&quot;</span></div>
</li>
<li class="li1">
<div class="de1">scsi0:<span class="nu0">0</span>.<span class="re1">present </span>= <span class="st0">&quot;TRUE&quot;</span></div>
</li>
<li class="li1">
<div class="de1">scsi0:<span class="nu0">0</span>.<span class="re1">fileName </span>= <span class="st0">&quot;virtualmachine1.vmdk&quot;</span></div>
</li>
<li class="li2">
<div class="de2">scsi0:<span class="nu0">0</span>.<span class="re1">mode </span>= <span class="st0">&quot;independent-persistent&quot;</span></div>
</li>
</ol>
</div>
<p>I already had the key &#8217;scsi0.present = &#8220;TRUE&#8221;&#8216; present. Having the key twice prevents the machine from starting!</p>
<p>If you changed names on the vmx-file, remove the old machine from the inventory in VMWare server console. Open the new vmx-file. Start it.</p>
<p>Important: If you did rename the files, you will get a question if you want to keep or replace the identifier. Most likely you want to KEEP the identifier. After all it is the same machine.</p>
<p>If everything worked as expected, delete the backup directory. You can also delete scsi.* from your VM directory. If it didn&#8217;t work out &#8211; restore the directory, start from top of page and read more carefully.</p>
<p>&#8211;Jesper Hogstrom</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F11%2Fconverting-vmware-disks-from-ide-to-scsi%2F&amp;linkname=Converting%20vmware%20disks%20from%20IDE%20to%20SCSI"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/11/converting-vmware-disks-from-ide-to-scsi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing qmail/supervise under fc9</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/10/installing-qmailsupervise-under-fc9/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/10/installing-qmailsupervise-under-fc9/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 15:17:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer tricks]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=80</guid>
		<description><![CDATA[I&#8217;ve spent the evenings of the last few days trying to upgrade a few Fedora Core 8 (fc8) boxes to fc9. I&#8217;ll get into the gory details of it all in some other post; at this point, suffice it to say my mailserver, running qmail, caused me big grievances. Reason? The supervise script as specified [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the evenings of the last few days trying to upgrade a few Fedora Core 8 (fc8) boxes to fc9. I&#8217;ll get into the gory details of it all in some other post; at this point, suffice it to say my mailserver, running qmail, caused me big grievances. Reason? The supervise script as specified in /etc/inittab didn&#8217;t start.</p>
<p>Looking at the file everything looked fine. The line</p>
<pre>SV:123456:respawn:/command/svscanboot</pre>
<p>was indeed present, but &#8220;qmailctl stat&#8221; kindly informed me the services weren&#8217;t running.</p>
<pre># qmailctl stat
/service/qmail-send: supervise not running
/service/qmail-send/log: supervise not running
/service/qmail-smtpd: supervise not running
/service/qmail-smtpd/log: supervise not running
/service/qmail-pop3d: supervise not running
/service/qmail-pop3d/log: supervise not running
messages in queue: 0
messages in queue but not yet preprocessed: 0</pre>
<p>Finally I found <a href="http://www.secureconsulting.net/2008/09/fedora_9_upgrade_snaffus.html">a blog entry</a> that pointed me in the right direction. It also included a pointer to <a href="http://blog.blinkenlights.nl/2006/10/29/daemontools-with-upstart/">this blog entry</a>.<br />
In short, it seems fc9 uses another boot sequence than fc8 and earlier versions. Note too that the two scripts in the above mentioned links look slightly different.<br />
You probably want to read up on things by investigating</p>
<pre>man events
man initctl</pre>
<p><a href="http://upstart.ubuntu.com/getting-started.html">This guide</a> also contains some useful information.<br />
After some experimenting I got the script right, and it looks like</p>
<pre># svscan - daemontools
#
# This service starts daemontools from the point the system is
# started until it is shut down again.

start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5

stop on shutdown

respawn
exec /command/svscanboot</pre>
<p>Put this in /etc/event.d/svscan and reboot &#8211; or simply test it by &#8220;start svscan&#8221;. Verify by invoking initctl list.</p>
<pre>
# initctl list
control-alt-delete (stop) waiting
logd (stop) waiting
prefdm (stop) waiting
rc0 (stop) waiting
rc1 (stop) waiting
rc2 (stop) waiting
rc3 (stop) waiting
rc4 (stop) waiting
rc5 (stop) waiting
rc6 (stop) waiting
rcS (stop) waiting
rcS-sulogin (stop) waiting
serial (instance)
sulogin (stop) waiting
svscan (start) running, process 1862
tty1 (start) running, process 1749
tty2 (start) running, process 1745
tty3 (start) running, process 1747
tty4 (start) running, process 1738
tty5 (start) running, process 1743
tty6 (start) running, process 1751
vpnc-cleanup (stop) waiting</pre>
<p>&#8211;Jesper Högström</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F10%2Finstalling-qmailsupervise-under-fc9%2F&amp;linkname=Installing%20qmail%2Fsupervise%20under%20fc9"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/10/installing-qmailsupervise-under-fc9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving your bug tracking process</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/10/improving-your-bug-tracking-process/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/10/improving-your-bug-tracking-process/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 20:49:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=73</guid>
		<description><![CDATA[We&#8217;re running mantis at work. Each customer project gets a private project, developers are assigned to categories, customers are invited. Everything flows just fine.
Then one day it struck me &#8211; what if the developer is away for a week and the customer files an urgent bug report&#8230; Who gets notified? The answer is: The developer [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re running <a href="http://www.mantisbt.org/">mantis</a> at work. Each customer project gets a private project, developers are assigned to categories, customers are invited. Everything flows just fine.</p>
<p>Then one day it struck me &#8211; what if the developer is away for a week and the customer files an urgent bug report&#8230; Who gets notified? The answer is: The developer who isn&#8217;t there.</p>
<p>A simple solution is to force all project managers to check on their projects every day to make sure reports don&#8217;t fall between chairs. There are two things wrong with that solution imho:</p>
<p>* It&#8217;s error prone as it assumes people will always do what they are told and never forget.<br />
* It doesn&#8217;t entail a single piece of new technology&#8230;</p>
<p>As I already had some scripts doing data extraction from the mantis database I figured something along the following would work:</p>
<p>* For each project; list all managers with an internal email address.<br />
* For each project, select new bugs and list them with some info about the bug.<br />
* Send the bug reports to the managers for the project.</p>
<p>Sounds easy enough, doesn&#8217;t it. </p>
<p>Here&#8217;s the script to get all the project managers</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; project.id, project.name, user.email, userlist.<span class="st0">`access_level`</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FROM</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">`mantis_project_user_list_table`</span> <span class="kw1">AS</span> userlist,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mantis_user_table <span class="kw1">AS</span> user,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mantis_project_table <span class="kw1">AS</span> project</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">WHERE</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; user.id = userlist.user_id <span class="kw1">AND</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; project.id = userlist.project_id <span class="kw1">AND</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; userlist.<span class="st0">`access_level`</span> &gt; <span class="nu0">55</span> <span class="kw1">AND</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>user.email <span class="kw1">LIKE</span> <span class="st0">&quot;%mydomain.tld&quot;</span> <span class="kw1">OR</span> user.email <span class="kw1">LIKE</span> <span class="st0">&quot;%.myotherdomain.tld&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ORDER</span> <span class="kw1">BY</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; project.name</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p><i>Save it as projectmanagers.sql</i></p>
<p>Worth noting is the filtering on email addresses. In some cases we assign manager rights to the project champion on the customer side. Yu may or may not want them to get the bug report email. Your call.</p>
<p>Here&#8217;s a shell script to get the list and then call an awk script to do the rest.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#!/bin/sh</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#</span></div>
</li>
<li class="li2">
<div class="de2"><span class="re3">#Written by Jesper Hogstrom <span class="nu0">2008</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#This will change depending on where your installation of mantis resides</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">mantisconfig=</span>/var/www/mantis<span class="nu0">-1.1</span><span class="nu0">.2</span>/config_inc.php</div>
</li>
<li class="li2">
<div class="de2"><span class="re2">rootdir=</span>`<span class="kw2">dirname</span> $<span class="nu0">0</span>`</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">function</span> getconfig <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">configoption=</span>$<span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">cat</span> <span class="re0">$<span class="br0">&#123;</span>mantisconfig<span class="br0">&#125;</span></span>| \</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">grep</span> -v <span class="st0">&#8216;^#&#8217;</span>|\</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">grep</span> <span class="re0">$<span class="br0">&#123;</span>configoption<span class="br0">&#125;</span></span>| \</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">awk</span> -F = <span class="st0">&#8216;{print $2}&#8217;</span>| \</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">awk</span> <span class="st0">&#8216;{print substr($1,2,length($1)-3)}&#8217;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#Note that all these options MUST be <span class="kw1">set</span> <span class="kw1">in</span> config_inc.php!!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">db_user=</span>`getconfig g_db_username`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">db_password=</span>`getconfig db_password`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">db_database=</span>`getconfig g_database_name`</div>
</li>
<li class="li2">
<div class="de2"><span class="re3">#<span class="re2">db_host=</span>`getconfig g_hostname` &#8211; currently not used, default is localhost</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">mantisbaseurl=</span>`getconfig g_path`</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">function</span> executesql <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">sql=</span>$<span class="nu0">1</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">cat</span> <span class="re1">$sql</span>|mysql -u<span class="re1">$db_user</span> -p<span class="re1">$db_password</span> -D<span class="re1">$db_database</span> &nbsp;&#8211;skip-column-names</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">executesql <span class="re0">$<span class="br0">&#123;</span>rootdir<span class="br0">&#125;</span></span>/projectmanagers.sql &gt; /tmp/projman</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#cat /tmp/projman</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">awk</span> -f <span class="re0">$<span class="br0">&#123;</span>rootdir<span class="br0">&#125;</span></span>/bugreports.<span class="kw2">awk</span> \</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &#8211;<span class="re2">assign=</span><span class="re2">db_user=</span><span class="re0">$<span class="br0">&#123;</span>db_user<span class="br0">&#125;</span></span> \</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &#8211;<span class="re2">assign=</span><span class="re2">db_password=</span><span class="re0">$<span class="br0">&#123;</span>db_password<span class="br0">&#125;</span></span> \</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &#8211;<span class="re2">assign=</span><span class="re2">db_database=</span><span class="re0">$<span class="br0">&#123;</span>db_database<span class="br0">&#125;</span></span> \</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &#8211;<span class="re2">assign=</span><span class="re2">rootdir=</span><span class="re0">$<span class="br0">&#123;</span>rootdir<span class="br0">&#125;</span></span> \</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &#8211;<span class="re2">assign=</span><span class="re2">mantisbaseurl=</span>$<span class="br0">&#123;</span>mantisbaseurl////\\\\/<span class="br0">&#125;</span> \</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; /tmp/projman</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><i>Save it as bugreports and make it executable with chmod +x bugreports</i><br />
There are some things worth noting:<br />
* I specify the path to the mantis configuration file. This is to avoid having to specify the db credentials twice. I guess I could have extracted the php-variables using php, but I don&#8217;t know much php. This works, assuming you formatted your config_inc.php file in a reasonable way.<br />
* The bulk of the work is obviously done elsewhere. You do know about <a href="http://www.gnu.org/software/gawk/manual/">awk</a>, don&#8217;t you?<br />
* Getting the slashes right in mantisbaseurl took a few minutes <img src='http://magpie.sytes.net/jesperhogstrom/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here comes the awk script.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">#Written by Jesper Hogstrom 2008
</div>
</li>
<li class="li1">
<div class="de1">BEGIN {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;FS=&quot;\t&quot;;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp;mailfile=&quot;/tmp/mantismail&quot;;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;sqltemp=&quot;/tmp/mantissql&quot;;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;sqlscript=rootdir &quot;/bugreports.rsql&quot;
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li2">
<div class="de2">#For debugging purposes, name each file differently.
</div>
</li>
<li class="li1">
<div class="de1">mailfile=&quot;/tmp/mantismail_&quot; $1 &quot;_&quot; NR;
</div>
</li>
<li class="li1">
<div class="de1">print &quot;Investigating &quot; $2 &quot; (&quot; $1 &quot;) for &quot; $3
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"># Refresh the script file to pick out only the current project
</div>
</li>
<li class="li2">
<div class="de2">print mantisbaseurl
</div>
</li>
<li class="li1">
<div class="de1">system(&quot;sed -e &#8217;s/PROJNUM/&quot; $1 &quot;/g&#8217; &nbsp;-e &#8217;s/BASEURL/&quot; mantisbaseurl &quot;/g&#8217; &quot; sqlscript &quot; &gt; &quot; sqltemp);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"># Preparing mail
</div>
</li>
<li class="li1">
<div class="de1">print &quot;To: &quot; $3 &gt; mailfile
</div>
</li>
<li class="li2">
<div class="de2">print &quot;Subject: New bug reports for &quot; $2 &gt;&gt; mailfile
</div>
</li>
<li class="li1">
<div class="de1">system(&quot;cat &quot; sqltemp &quot;|mysql -u&quot; db_user &quot; -p&quot; db_password &quot; -D&quot; db_database &quot; &#8211;skip-column-names &gt;&gt; &quot; mailfile);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">#Don&#8217;t send empty emails
</div>
</li>
<li class="li2">
<div class="de2">linecount=0
</div>
</li>
<li class="li1">
<div class="de1">while ((getline line &lt; mailfile) &gt; 0)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;linecount+=1
</div>
</li>
<li class="li1">
<div class="de1">close(mailfile)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"># Send mail
</div>
</li>
<li class="li1">
<div class="de1">if (linecount &gt; 2)
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; print &quot; &#8211; Found &quot; linecount &#8211; 2 &quot; bugs to send.&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;system(&quot;cat &quot; mailfile &quot; | sendmail -t &quot; $3);
</div>
</li>
<li class="li2">
<div class="de2">}
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><i>Save it as bugreports.awk</i></p>
<p>This script will operate on all lines in the /tmp/projman file (with all the project managers in it) and do the following:<br />
* Replace some stuff in a file named bugreports.rsql using <a href="http://www.gnu.org/software/sed/manual/">sed</a>.<br />
* Put mail headers in a text file<br />
* Execute the expanded sql-file and put the result in the text file that makes up the mail<br />
* Could the number of lines in the mail<br />
* If there are any lines above and beyond the headers, send the mail to the manager.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; concat<span class="br0">&#40;</span>bug.id, <span class="st0">&quot; (BASEURL/view.php?id=&quot;</span>, bug.id, <span class="st0">&quot;)&quot;</span><span class="br0">&#41;</span> <span class="kw1">AS</span> <span class="st0">&quot;bug#&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; project.name,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; username <span class="kw1">AS</span> owner,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; severity,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; date<span class="br0">&#40;</span>date_submitted<span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; datediff<span class="br0">&#40;</span>now<span class="br0">&#40;</span><span class="br0">&#41;</span>, date_submitted<span class="br0">&#41;</span> <span class="kw1">AS</span> <span class="st0">&quot;age (days)&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; summary</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FROM</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mantis_bug_table <span class="kw1">AS</span> bug,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mantis_user_table <span class="kw1">AS</span> user,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; mantis_project_table <span class="kw1">AS</span> project</div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">WHERE</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; project_id <span class="kw1">IN</span> <span class="br0">&#40;</span>PROJNUM<span class="br0">&#41;</span> <span class="kw1">AND</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; resolution = <span class="nu0">10</span> <span class="kw1">AND</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; datediff<span class="br0">&#40;</span>now<span class="br0">&#40;</span><span class="br0">&#41;</span>, date_submitted<span class="br0">&#41;</span> &lt; <span class="nu0">5</span> <span class="kw1">AND</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; user.id = handler_id <span class="kw1">AND</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; project.id = project_id</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ORDER</span> <span class="kw1">BY</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;datediff<span class="br0">&#40;</span>now<span class="br0">&#40;</span><span class="br0">&#41;</span>, date_submitted<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><i>Save it as bugreports.rsql</i></p>
<p>This will select all bugs in status new (i.e. resolution = 10) that are younger than 5 days and come from a project with the number PROJNUM. We actually use sed to replace PROJNUM with the actual project id and also BASEURL with the g_path variable in config_inc.php.</p>
<p>The mail you send will look something like</p>
<pre>
123 (http://mydomain.tld/mantis/view.php?id=123)      Project_1       \
developer1 70      2008-10-09      1       \
System stops when power cord is removed.
148 (http://http://mydomain.tld/mantis/view.php?id=148)      Project_1       \
developer2  50      2008-10-08      2       \
Saving big images consumes a lot of disk.
</pre>
<p><i>I put line breaks in there manually</i></p>
<p>I admit it could be done somewhat more glitzy with fireworks and images and what have you. However, it&#8217;s merely a status report and there is no need to add more &#8211; possibly the column headers.</p>
<p>The scripts make very few assumptions about how you have configured things. Feel free to change what doesn&#8217;t suit you (like age of bugs, status, who gets mail).</p>
<p>I run my script nightly by symlinking it to /etc/cron.daily.</p>
<p>&#8211;Jesper Högström</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F10%2Fimproving-your-bug-tracking-process%2F&amp;linkname=Improving%20your%20bug%20tracking%20process"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/10/improving-your-bug-tracking-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backing up your VMs</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/10/backing-up-your-vms/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/10/backing-up-your-vms/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 20:00:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/jesperhogstrom/?p=71</guid>
		<description><![CDATA[Here&#8217;s the problem; you have several virtual machines running on your VMWare server. Each one is configured to back up some of its important state, but what about the machine itself?
Here&#8217;s a shell script I wrote to handle the situation.



&#160;


#!/bin/sh



&#160;


BACKUPDIR=/mnt/bignasdrive/vms



&#160;


function backupvm



{



&#160; vm_config=$1



&#160; vm_path=`dirname &#34;$vm_config&#34;`



&#160; targetdir=$BACKUPDIR$vm_path



&#160;


&#160; echo &#34;Copying $vm_path to $targetdir&#34;



&#160; mkdir &#8211;parents $targetdir



&#160; cp &#8211;update [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the problem; you have several virtual machines running on your <a href="http://www.vmware.com/products/server/">VMWare server</a>. Each one is configured to back up some of its important state, but what about the machine itself?</p>
<p>Here&#8217;s a shell script I wrote to handle the situation.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">#!/bin/sh
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">BACKUPDIR=/mnt/bignasdrive/vms
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">function backupvm
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vm_config=$1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vm_path=`dirname &quot;$vm_config&quot;`
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; targetdir=$BACKUPDIR$vm_path
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; echo &quot;Copying $vm_path to $targetdir&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mkdir &#8211;parents $targetdir
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; cp &#8211;update &#8211;verbose $vm_path/* $targetdir/
</div>
</li>
<li class="li2">
<div class="de2">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">function suspendvm
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vm_config=$1
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; echo Suspending &nbsp;$vm_config&#8230;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vmware-cmd &quot;$vm_config&quot; suspend trysoft
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">function resumevm
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vm_config=$1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; echo Resuming $vm_config&#8230;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; vmware-cmd &quot;$vm_config&quot; start trysoft
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">function checkbackupvm
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; vmpath=$1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vmstate=$2
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; state=`echo $vmstate|awk &#8216;{print $NF}&#8217;`
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; if [ &quot;$state&quot; == &quot;on&quot; ]; then
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; suspendvm &quot;$vmpath&quot;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; backupvm &quot;$vmpath&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; resumevm &quot;$vmpath&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; else
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; backupvm &quot;$vmpath&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; fi
</div>
</li>
<li class="li2">
<div class="de2">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">function getvmlist
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; for b in ${VMs// /___} ;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; do
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; vmstate=`vmware-cmd &quot;${b//___/ }&quot; getstate`
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; checkbackupvm &quot;${b//___/ }&quot; &quot;$vmstate&quot;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; done
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">VMs=`vmware-cmd -l`
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">getvmlist
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>What the script does is<br />
* Get the list of registered machines<br />
* For each machine,<br />
* if it&#8217;s running &#8211; suspend, backup, restore<br />
* else backup</p>
<p>Much ofthe time was spent handling the completely silly idea of putting spaces in file names.</p>
<p>Note that you must probably change the backup target directory high up in the script. I mounted my ReadNAS+ with 1.5TB space for backups&#8230;</p>
<p>Put the script somewhere, make it runnable and symlink it into /etc/cron.daily or cron.weekly</p>
<pre>
chmod +x backupvms
ln -s backupvms /etc/cron.daily
</pre>
<p>It is worth noting that I ran into problems as not all services on all machines handled the suspend/restore cycle well. The backing up worked just fine, though <img src='http://magpie.sytes.net/jesperhogstrom/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8211;Jesper Högström</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F10%2Fbacking-up-your-vms%2F&amp;linkname=Backing%20up%20your%20VMs"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/10/backing-up-your-vms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up an rsync server</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/09/setting-up-an-rsync-server/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/09/setting-up-an-rsync-server/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 15:35:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/blog/?p=27</guid>
		<description><![CDATA[I&#8217;ll describe how to set up an rsync server in Fedora Core.  My current installation is on a Fedore Core 8, but the procedure hasn&#8217;t changed in a long time.
Rsync is is a protocol and a client/server pair that allows you to rapidly synchronize two file sets. The main use is to create a mirror [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll describe how to set up an rsync server in Fedora Core.  My current installation is on a Fedore Core 8, but the procedure hasn&#8217;t changed in a long time.</p>
<p>Rsync is is a protocol and a client/server pair that allows you to rapidly synchronize two file sets. The main use is to create a mirror image of set A onto box B. The neat thing is that it can be configured to skip files that are equal based on check sum, size or timestamp. And if the file is flagged for synchronizing, the rsync protocol copies only the changed bits. This article does not intend to describe the rsync protocol, so I recommend reading one or all of &#8220;<a href="http://samba.anu.edu.au/rsync/how-rsync-works.html" target="_blank">how rsync works</a>&#8220;, &#8220;<a href="http://rsync.samba.org/tech_report/" target="_blank">the rsync algorithm</a>&#8221; or the <a href="http://en.wikipedia.org/wiki/Rsync" target="_blank">wikipedia article on rsync</a>.</p>
<p>Here, we&#8217;re going to get a bit more pragmatic &lt;g&gt;</p>
<p>First, rsync is offered as an option when you install your linux box. You can easily check if it&#8217;s there:</p>
<pre># rpm -qa|grep rsync
rsync-2.6.9-5.fc8</pre>
<p>Yep, I&#8217;ve got it. If you failed to make the correct selection then, fear not! Simply install it with yum.</p>
<pre>yum -y install rsync</pre>
<p>The -y switch prevents silly questions.</p>
<p>Now, rsync runs under <a href="http://en.wikipedia.org/wiki/Xinetd" target="_blank">xinetd</a>, so you&#8217;ll need that too.</p>
<pre># rpm -qa | grep xinet
xinetd-2.3.14-15.fc8</pre>
<p>If nothing, then</p>
<pre>yum -y install xinetd</pre>
<p>This xinetd/rsync combo means you need to turn on rsync under xinet. Edit /etc/xinetd.d/rsync and make it look like</p>
<pre># default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
disable = no # &lt;== This is what needs to change!!
flags           = IPv6
socket_type     = stream
wait            = no
user            = root
server          = /usr/bin/rsync
server_args     = --daemon
log_on_failure  += USERID
}</pre>
<p>Make sure the firewall doesn&#8217;t block the rsync port, per default 873.</p>
<p>If you have a firewall script, add incoming tcp traffic on port 873, or simply edit /etc/sysconfig/iptables and add the line</p>
<pre>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT</pre>
<p>Restart iptables with</p>
<pre>service iptables restart</pre>
<p>That&#8217;s it. You have an rsync server set up. Albeit not configured. To do that, open /etc/rsyncd.conf and add the folders you want to expose.</p>
<p>Naturally, it&#8217;ll look somewhat different for you, but essentially this will work:</p>
<pre>uid = nobody
gid = nobody
use chroot = no
max connections = 4
log file = /var/log/rsync.log

[pearadio]
comment = Podcasts
path = /home/jhogstrom/podcasts
read only = true
dont compress = *.mp3
uid = jhogstrom
exclude = .peapod</pre>
<p>Test the setup by using the rsync client:</p>
<pre>rsync rsync://localhost</pre>
<p>The output will look something like</p>
<pre># rsync rsync://localhost
pearadio        Podcasts</pre>
<p>Next time, we&#8217;ll discuss rsync clients on windows boxes.</p>
<p>&#8211;Jesper Hogstrom</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F09%2Fsetting-up-an-rsync-server%2F&amp;linkname=Setting%20up%20an%20rsync%20server"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/09/setting-up-an-rsync-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mantis no longer sending email on note added</title>
		<link>http://magpie.sytes.net/jesperhogstrom/2008/09/mantis-no-longer-sending-email-on-note-added/</link>
		<comments>http://magpie.sytes.net/jesperhogstrom/2008/09/mantis-no-longer-sending-email-on-note-added/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 20:09:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[development infrastructure]]></category>
		<category><![CDATA[mantis]]></category>

		<guid isPermaLink="false">http://magpie.sytes.net/blog/?p=22</guid>
		<description><![CDATA[Not long ago I upgraded a couple of mantis installations to 1.1.2. Not long after, I got reports about missing email notifications. We used to have emails sent out to stake holders (developers, reporters etc.) when someone added a note to a bug report. Not so after the upgrade.
I spent some time pouring over the [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago I upgraded a couple of <a href="http://mantisbt.org" target="_blank">mantis</a> installations to 1.1.2. Not long after, I got reports about missing email notifications. We used to have emails sent out to stake holders (developers, reporters etc.) when someone added a note to a bug report. Not so after the upgrade.</p>
<p>I spent some time pouring over the various things that I could have done wrong. Email server&#8230; No, emails were sent out on bug added. Maybe some new config setting I should have added? Browsing through config_defaults_inc.php I did indeed find some settings I really liked, but nothing that had an impact on the problem of sending of emails when bug notes were added.</p>
<p>Finally I made some wild google searches, and found the solution! The mantis bug database knew about this case as reported in <a href="http://www.mantisbt.org/bugs/view.php?id=9309" target="_blank">this bug</a>.</p>
<p>What you need to do is to update the file core/bugnote_api.php as per this <a href="http://mantisbt.svn.sourceforge.net/viewvc/mantisbt/branches/BRANCH_1_1_0/mantisbt/core/bugnote_api.php?r1=5370&amp;r2=5407" target="_blank">subversion diff</a>:</p>
<p>First, make a copy of bugnote_api.php to bugnote_api.php.org.</p>
<p>Open bugnote_api.php in some decent editor, like nano.</p>
<p>Find line 102 and replace</p>
<pre>function bugnote_add ( $p_bug_id, $p_bugnote_text, $p_time_tracking =
'0:00', $p_private = false, $p_type = 0, $p_attr = '', $p_user_id =
null ) {</pre>
<p>with</p>
<pre>function bugnote_add ( $p_bug_id, $p_bugnote_text, $p_time_tracking =
'0:00', $p_private = false, $p_type = 0, $p_attr = '', $p_user_id =
null, $p_send_email = TRUE ) {</pre>
<p>After saving your developers will get email notes when customers add notes to bugs.</p>
<p>The fact that this fix is checked in seems to indicate it wont happen in future releases.</p>
<p>&#8211;Jesper</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fmagpie.sytes.net%2Fjesperhogstrom%2F2008%2F09%2Fmantis-no-longer-sending-email-on-note-added%2F&amp;linkname=Mantis%20no%20longer%20sending%20email%20on%20note%20added"><img src="http://magpie.sytes.net/jesperhogstrom/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://magpie.sytes.net/jesperhogstrom/2008/09/mantis-no-longer-sending-email-on-note-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
