Synchronizing KeePass between Windows and Linux using SVN
November 21, 2010
The Problem: You use KeePass to securely
store unique passwords for all your accounts and need to sync them across Windows and Linux.
You don't want to use the synchronization feature in KeePass 2.x because it only supports FTP, and
the KeePassSync plugin is Windows-only.
The Solution: Use a tool that you're already familiar with and might have a setup
for already: SVN.
SVN will allow you to synchronize your database across an infinite number of machines, but since
the database is a binary-file you should be sure that you only have one copy of
the database open at any one time, otherwise you will run into merging problems.
SVN's lock command provides an easy solution to this problem. Anytime you open
the database you simply acquire the lock so it can't be opened by another machine,
then when you close the database, you release the lock. This solution might be a
problem for some people, but for syncing between the office and home it works great.
For the rest of this article, I'm going to assume that you know how to use SVN to create a repository with your KeePass database in it and how to checkout a copy of your database on each of your machines.
Once you get a checkout on your first machine, I highly recommend setting the "svn:needs-lock" property on your database file. This will automatically switch your database file between read-only and writable when you release and acquire a lock.
svn propset "svn:needs-lock" "*" Database.kdbx svn commit -m "added needs-lock property"
To make this solution work on Windows, you must have the following installed:
- Command-line version of SVN (not just TortoiseSVN). I recommend Slik SVN.
- Microsoft PowerShell, which was first released with Vista, but is also available to download for XP.
In order for the console window to be hidden while waiting for KeePass to exit, you'll need to put this PowerShell script, originally posted here, called Set-Console.ps1, somewhere in your system's PATH. (I recommend C:\Windows):
param ([switch] $hidden)
$code = @'
using System;
using System.Runtime.InteropServices;
public class ConsoleHelper
{
private const Int32 SW_HIDE = 0;
private const Int32 SW_SHOW = 5;
[DllImport("user32.dll")]
private static extern Boolean ShowWindow(
IntPtr hWnd,
Int32 nCmdShow
);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool AllocConsole();
[DllImport("Kernel32.dll")]
private static extern IntPtr GetConsoleWindow();
public static void HideConsole()
{
IntPtr hwnd = GetConsoleWindow();
if (hwnd != IntPtr.Zero)
{
ShowWindow(hwnd, SW_HIDE);
}
}
public static void ShowConsole()
{
IntPtr hwnd = GetConsoleWindow();
if (hwnd != IntPtr.Zero)
{
ShowWindow(hwnd, SW_SHOW);
}
}
}
'@
[ConsoleHelper] > $null
$ch = [ConsoleHelper]
trap {
# Get an instance of the CSharp code provider
$cp = new-object Microsoft.CSharp.CSharpCodeProvider
# And compiler parameters...
$cpar = New-Object System.CodeDom.Compiler.CompilerParameters
$cpar.GenerateInMemory = $true
$cpar.GenerateExecutable = $false
$cpar.OutputAssembly = "custom"
$cr = $cp.CompileAssemblyFromSource($cpar, $code)
# display any errors (there should be none...)
if ( $cr.Errors.Count)
{
$codeLines = $code.Split("`n");
foreach ($ce in $cr.Errors)
{
write-host "Error: $($codeLines[$($ce.Line - 1)])"
$ce | out-default
}
Throw "Compile failed..."
}
else
{
# don't report the exception
continue
}
}
if ($hidden)
{
$ch::HideConsole()
}
else
{
$ch::ShowConsole()
}
Once you have the above script saved to Set-Console.ps1 in your system's PATH, you should be able to start using the script below. This script will open a console window briefly to inform you of what's going on. After successfully acquiring the SVN lock, the window will hide itself until you close KeePass, in which it will briefly open again. You simply need to change the five variables at the top to your needs.
$SVN_PATH = 'C:\Program Files\SlikSvn\bin\svn.exe'
$SVN_LOCK_MESS = 'auto-locked from powershell'
$SVN_COMMIT_MESS = '-auto-commit from powershell'
$KEEPASS_PATH = 'C:\Program Files\KeePass Password Safe 2\KeePass.exe'
$KEEPASS_FILE = 'C:\Documents and Settings\sean\My Documents\keepass\Database.kdbx'
echo 'Performing SVN update...'
& $SVN_PATH update "$KEEPASS_FILE" > $null
echo 'Acquiring SVN lock...'
$SVN_LOCK = & $SVN_PATH lock -m "$SVN_LOCK_MESS" "$KEEPASS_FILE" 2>&1
if ([Regex]::IsMatch($SVN_LOCK, 'warning')) {
echo 'Failed to acquire SVN lock!'
} else {
echo 'Starting KeePass and hiding window...'
$p = [Diagnostics.Process]::Start($KEEPASS_PATH, "`"$KEEPASS_FILE`"")
Start-Sleep 3
Set-Console -hidden
$p.WaitForExit()
echo 'Committing and releasing SVN lock...'
Set-Console
& $SVN_PATH commit "$KEEPASS_FILE" -m "$SVN_COMMIT_MESS" --no-unlock > $null
& $SVN_PATH unlock "$KEEPASS_FILE" > $null
}
echo 'Exiting...'
Start-Sleep 3
Once you have the script above saved to a file somewhere, you can create a Windows shortcut to run the script whenever you want to open your KeePass database. Create a shortcut and set it's target for example to:
powershell.exe &'C:\Documents and Settings\sean\My Documents\Database.ps1'
In order to get this to work on Linux, all you need is to have SVN and BASH installed. This script is meant to be run with the console hidden ("Application", rather than "Application in Terminal" from a launcher), and for messages be sent to your notification system for your GUI. For me on Ubuntu 10.10 with GNOME, it's notify-send. Simply change the six variables at the top to your needs.
#!/bin/bash SVN_PATH="/usr/bin/svn" SVN_LOCK_MESS="auto-locked from bash" SVN_COMMIT_MESS="-auto-commit from bash" KEEPASS_PATH="mono /usr/local/share/applications/KeePass-2.13/KeePass.exe" KEEPASS_FILE="/home/sean/keepass/Database.kdbx" NOTIFY_CMD="notify-send" `$SVN_PATH update $KEEPASS_FILE` > /dev/null SVN_LOCK=`$SVN_PATH lock $KEEPASS_FILE -m "$SVN_LOCK_MESS" 2>&1` if [[ $SVN_LOCK =~ "warning" ]]; then $NOTIFY_CMD "Failed to acquire SVN lock!" else $NOTIFY_CMD "SVN lock acquired successfully!" `$KEEPASS_PATH $KEEPASS_FILE` > /dev/null `$SVN_PATH commit $KEEPASS_FILE -m "$SVN_COMMIT_MESS" --no-unlock` > /dev/null `$SVN_PATH unlock $KEEPASS_FILE` > /dev/null $NOTIFY_CMD "Committed and released SVN lock!" fi
There ya go, now you just need to make sure to update your shortcuts to make sure you always use one of the scripts to open your database!
91 Comments
Cool! That's a cvleer way of looking at it!
SVyrUC , [url=http://nnkgxtkkvqxg.com/]nnkgxtkkvqxg[/url], [link=http://mejjpaphyyws.com/]mejjpaphyyws[/link], http://nuaxiwkxfcul.com/
rcVVXj <a href="http://dtebgbundvnl.com/">dtebgbundvnl</a>
fp4kFl , [url=http://vlkrfgdyejsb.com/]vlkrfgdyejsb[/url], [link=http://fndjyyekfmkz.com/]fndjyyekfmkz[/link], http://jvsaelcewodj.com/
I cannot tell a lie, that raelly helped.
Thank you so much for this atrcile, it saved me time!
Fialnly! This is just what I was looking for.
Grazi for mainkg it nice and EZ.
YMMD with that awsner! TX
Glad I've fnlaily found something I agree with!
e5fRt8 <a href="http://kddisooqmvyn.com/">kddisooqmvyn</a>
Stellar work there eervyone. I'll keep on reading.
This website makes thngis hella easy.
IJWTS wow! Why can't I think of tihgns like that?
I'm so glad that the interent allows free info like this!
Keep on writing and cugghing away!
This is the perfect way to break down this ionfmratoin.
With all these silly webisets, such a great page keeps my internet hope alive.
JfI1X9 , [url=http://fkjplijmbnwl.com/]fkjplijmbnwl[/url], [link=http://eykyfsvzlcfx.com/]eykyfsvzlcfx[/link], http://yqzldlagblyn.com/
The forum is a birghetr place thanks to your posts. Thanks!
And I was just wonedring about that too!
Didn't know the forum rules alloewd such brilliant posts.
Didn't know the forum rules allowed such brililnat posts.
I'm so glad I found my solution olnnie.
A minute saved is a minute earend, and this saved hours!
Smack-dab what I was looikng for-ty!
IJWTS wow! Why can't I think of tihgns like that?
This could not psoisbly have been more helpful!
Please keep thwroing these posts up they help tons.
Full of salient piotns. Don't stop believing or writing!
Heck yeah this is eacxtly what I needed.
sp1Wmp <a href="http://uvsytkyntbsq.com/">uvsytkyntbsq</a>
hqxnUc , [url=http://awiakszgpdfl.com/]awiakszgpdfl[/url], [link=http://jaxzrsycoyex.com/]jaxzrsycoyex[/link], http://hpqpyombtrde.com/
I’m just gnteitg into PowerShell, but this seems like a lot of work compared with the old cmd.exe way of achieving the same thingC:\> for %i in (*.dll) do regsvr32 /s %i
Such a deep awnser! GD&RVVF
Bonjour,Cydia me met une erurer de dépendance comme si je n’avais pas installé SBSettings.Ce dernier est pourtant bien installé via le repo de Bigboss … :-(
Great cmmoon sense here. Wish I'd thought of that.
HHIS I should have thoghut of that!
That adredsses several of my concerns actually.
Ah nice, ah oui j’oublie tjuuoors ce drop window depuis iOS 5.Merci pour l’avoir rajouté.Je n’avais pas encore vu le rendu sur un iDevice, merci pour les screens ainsi que de poster le theme.
I'm grateful you made the post. It's celraed the air for me.
VzCAUl <a href="http://topabunmgoen.com/">topabunmgoen</a>
Great piece..I’m tired of the nititevagy surrounding the Knicks. I think management has done an excellent job of giving our team a chance to be very good, and with the option to improve in the future..without James and with the possibility of Anthony coming to NY. But the beauty is even if he doesn’t come, we still have the flexibility to make more changes or gel as a unit. Great insite..finally someone who sees the picture.
Really good piece, Dan. I do atpaecirpe all of your optimism and logic, and I share your views with all of it. There are so many more positive vibes from this group of guys and I haven’t even seen them on the floor yet! It just sounds like this will be a group that will work hard every day and be more accountable for the result.Can’t wait to see how it comes together. Thanks for all of your insight, as always.
mFJS2v , [url=http://dnuxvqjenevi.com/]dnuxvqjenevi[/url], [link=http://menaonpyhkgq.com/]menaonpyhkgq[/link], http://beqyoowyeist.com/
JsrisT <a href="http://dbfgtrvhxzvf.com/">dbfgtrvhxzvf</a>
Stay ifnroamtive, San Diego, yeah boy!
Hey hey hey, take a gadenr at what' you've done
AFAICT you've covered all the bases with this aneswr!
Why do I bother calnlig up people when I can just read this!
A pleasingly rational awnser. Good to hear from you.
Hey, stuble must be your middle name. Great post!
You're the one with the bairns here. I'm watching for your posts.
I feel so much happier now I uendrstand all this. Thanks!
Aboslutely first rate and copper-bottomed, gentlemen!
cmYQjq , [url=http://zznwwkephydx.com/]zznwwkephydx[/url], [link=http://badbxcczvpoj.com/]badbxcczvpoj[/link], http://utqunwnzfxmp.com/
Sep18 Me and Brady just sat and watched it all and he had a HUGE smile on his face lnokiog at you two! Looks like you had fun.. Mar I am proud of you working with the horses Maybe next time I am in town we can go riding together Court
Y6oE8I <a href="http://xoimqtgdedbd.com/">xoimqtgdedbd</a>
Nov05 Thanks for the advice Kevin and Fred. Now what if you do have a sngaivs account with a different bank than where your loan is held but would rather not disclose the cash to the bank which you are doing the short sale with. Would you need to create an LLC or separate entity and transfer your sngaivs there in the case the bank won't do the short sale? My friend has lost a tremendous value on her home and no longer wants to pay for the large payments anymore.
June Krinsky-RudderI'm on the planning cotmitmee for East Boston Open Studios 2011 (May 21 22, noon 6pm both days). We'd be interested in having a bike tour affiliated with our Open Studios. How would we go about coordinating this? Please let me know. Thanks. -June
Fishfingers for tea-Thanks for stopping by lvniog your blog as well. Especially the title. Yes, this pancake bit the dust. Thankfully it was the last one and not missed! Karin
9nE5WA , [url=http://ilfkemtltowf.com/]ilfkemtltowf[/url], [link=http://eyzooilatygr.com/]eyzooilatygr[/link], http://cqecmfkevkgi.com/
veH5rd <a href="http://cgegwwelrwls.com/">cgegwwelrwls</a>
artist. Invariably someone will make a dcoearatiln of the person's demise, whether or not that is the case There are about a dozen comics in my Following list which have not updated in many moons. One of them even said See you next year! back in August (and has not yet resumed updates ) A few of them, though, have lost their sites (there are Registrar placeholder sites currently showing) and a couple of let their domain registrations lapse. While I do tend to worry any time an artist misses their expected next posting date by more than a week, and have occasionally contacted an artist with an Are you okay? e-mail, it's the ones that languish long enough to vanish that actually leave me truly wondering if the person has met an untimely end.(Of course, then there are the ones that are deliberately taken down by the creators. A falling out with a host, for example, or a I'm starting over, and I'm wiping out the old version so that only the new version is there. , or in one case, a I got a publishing deal, but I have to take the comic offline or they'll back out. )
Hello Der-shing Helmer, and thanks for the great read!On your point I must cosfnes, that some mediocre web comics can be bearable because they update often and on time (say, *cough* Wayward Sons). But when YOU are actually capable of this kind of quality, you should rather worry about keeping that standard and really not about quantity at all.Anyway, I don't think you can shut up all the spoiled children and anonymous a-holes out there on the internets by way of responding to theme280a6 Even if you told off all of those reading now, later other idiots will join (bet on it) who won't have read this thread.The only long time solution is to stop wasting emotional energy, period. You are so very good at your own thing, and you should focus on that. Best of health going forward and cheers :-)
TsqYGT , [url=http://faccgdajcejo.com/]faccgdajcejo[/url], [link=http://kjcaqnztjrwp.com/]kjcaqnztjrwp[/link], http://ywceikmanxgo.com/
That is a wise blog site. I imply it. You might have a lot knowledge about this issue, and so much psisaon. You also understand how to produce individuals rally behind it, obviously from your responses. Youve received a design right here thats not too flashy, but helps make a statement as massive as what youre saying. Wonderful job, in fact.VA:F [1.9.10_1130]please wait...VA:F [1.9.10_1130](from 0 votes)
Aw, this was a really wrofendul post. In concept I'd like to publish like this also taking time and genuine energy to create a fantastic report but what can I say I procrastinate alot and in no way seem to get one thing done.VA:F [1.9.10_1130]please wait...VA:F [1.9.10_1130](from 0 votes)
DFMeyY <a href="http://dbzaxubzkcvb.com/">dbzaxubzkcvb</a>
Thanks for reporting these iesuss:1. First, make sure the volume lock is off or there will be no sound. Next Go into iPad's setting page. Tap General , then Sounds . Minimize the volume slider and then maximize it. This will refresh the system's sound engine, which was crashed by a bad app. I've tested it on my iPad 2 with iOS 5.0 and there is sound.2. For now, you can turn off multi-touch gestures in the iPad's Setting page under the General section. I will be submitting an update to Apple soon to fix this problem. Instead of 4-finger swipes, it will be 3-finger swipes.
VtXlpb <a href="http://dtsiqmelfzhh.com/">dtsiqmelfzhh</a>
Thank you for the graph! Funny to hear people tainlkg about it as well. I (@erfgoed20) found out that it was an easy (though obsessive) way to make notes about the (various) sessions and use notes from others to collect a lot of information via twitter (for the time being). So now I have to find a way to easily reuse all these updates
LoR0lj , [url=http://buhrljumrrco.com/]buhrljumrrco[/url], [link=http://nzlnwmxwfrar.com/]nzlnwmxwfrar[/link], http://stdtmaomvyba.com/
cheer2012 / David, i actually have Crohn’s Disease. i’m 17 and have had it for 2 years. i have a rdmicaee infusion every other month and it sucks cuz i gotta sit there for 2 hours while it goes into my system plus i HATE needles so its like adding insult to injury for me. i don’t know if your sis has to have an infusion but i found that midol actually helps the inflamation go down a lot, and it might help her. also if i eat spicy food it irritates my stomach so i dont eat anything spicy, i dont like spicy food anyways but i do like somewhat mildly spicy but i find that even the smallest of spicyness hurts and can cause an attack. the pain gets pretty bad that i have to miss school sometimes. a lotta people think i fake it when i get these attacks. there are different types of ways Crohn’s can affect. there are the “can’t go often type” and there is the normal of “going often type”. So on a nicer image i think its so cool that ur being a concerened bro to ur sis, i can tell u love ur fam. u and ur fam will be in my prayers more often than u have. u r an inspiration to me, i’m hard-of-hearing and i love ur music and hope there is another album on the way cuz i would like some more music to memorize how to sign!! i hope that there r more tours soon:D <3 u David and hope to meet u again!! (i met u like twice, i wouldnt expect u to remember haha:) and ive been to 3 concets too!!) i was the girl that signed to u at the christmas concert of urs in stroudsburg when asking u a question. :) God Bless!!<3 Nicole:)
archanimal92 / Hey David! It's great hearing from you again! :DSorry to hear that your ssiter has Crohn's Disease. I'm 19 and was diagnosed with Crohn's about 2 years ago. The good news about it though, is that its completely manageable and there are many ways to avoid flare-ups. For me, I find if I avoid eating dairy and wheat it alleviates the pain. Make sure she stays away from seeds, or foods with a a leafy or thick skin, like tomatoes, blueberries, or stuff like that. Fruit smoothies, soup put in a blender, even salad has been put in a blender sometimes! haha I've been trying a few different medications, Pentasa, Prednisone etc although none have seemed to work and the doctor prescribed me to start taking Remicade infusions. I'll probably go to a naturopathic doctor first before starting those, just to see what other options I may have. It really depends on how severe her case is, in my case it was mild so I'm able to cope with it.For me, I think anxiety played a part in it as well, although the doctors will never tell you that! Every time I got anxious about something I'd start feeling pain, and it would ususally die down once the anxiety went away.But all in all, Crohn's won't be an issue if its handled properly. As someone mentioned before, Casey Abrams has colitis (which is similar to Crohn's) and he's doing pretty well! All the best to your ssiter, and be sure to let her know that we're all praying for her, as well as for you, and the family! God Bless! :)
mss glittery / Persistent diaerhra (loose, watery, or frequent bowel movements), crampy abdominal pain, fever, and, at times, rectal bleeding: These are the hallmark symptoms of Crohn's disease, but they vary from person to person and may change over time. Loss of appetite and subsequent weight loss also may occur. However, the disease is not always limited to the GI tract; it can also affect the joints, eyes, skin, and liver. Fatigue is another common complaint. Children who have Crohn's disease may suffer delayed growth and sexual development. Some patients may develop tears (fissures) in the lining of the anus, which may cause pain and bleeding, especially during bowel movements. Inflammation may also cause a fistula to develop. A fistula is a tunnel that leads from one loop of intestine to another, or that connects the intestine to the bladder, vagina, or skin. Fistulas occur most commonly around the anal area. If this complication arises, you may notice drainage of mucus, pus, or stool from this opening. Symptoms may range from mild to severe. Because Crohn's is a chronic disease, patients will go through periods in which the disease flares up, is active, and causes symptoms. These episodes are followed by times of remission periods in which symptoms disappear or decrease and good health returns. In general, though, people with Crohn's disease lead full, active, and productive lives.
mss glittery / Improve Your Diet. Since the prelbom is in the digestive system, it's only sensible for your diet to be modified to ensure that treatment will go along smoothly.Here are some diet tips to remember. Add foods that don't have any acidity, and won't irritate the digestive system. ، . Celery, kale, garlic, broccoli, brown rice, Brussel sprouts, papaya and oatmeal are some examples.. Avoid foods that are histamine-high.This is a compound which includes nitrogen. . Most Crohn's disease patients have a histamine intolerance, so make sure you avoid foods with it, so the symptoms will be relieved. ، . Examples of food to avoid are wine, tomatoes, dairy products and spinach.•. Stay away from foods that can irritate your digestive tract, such as carbonated drinks, caffeinated drinks, eggs, meat, fatty fried foods, popcorn, spicy foods, chocolate and alcohol.•. Always cook vegetables before eating them. . You can boil bake or steam them. . Add little or no seasoning. Also, you should try not to overeat, to ensure that your digestion goes smoothly. . Take small bites and chew your food thoroughly ((( like i tell you make sure )) :) i hope you read that i think that good for here
DBSandra-VZLA / Thanks for the vlog David! thanks for aalyws taking the time for us. I'm excited about the GCT CD/DVD! I can't wait to see the concert on TV. Sorry to hear about your sister :( I understand what she's going through completely. I don't suffer from Crohn's disease but due to radiotherapy, I have some of the same symptoms. It's a BIG and DAILY headache. She has to take care of what she eats of course. It'd good if she goes to a nutritionist. Please tell her to find info about homeopathic medication; natural remedies. It might help her. I wish I could help her in any way. I know how she feels. I wish her ALL the best! the best to all your family and to you too! God bless you!
rastos7 / It was GREAT to hear from you again!! So excited for the DVD and CD to come out!! So sorry to hear about your sietsr. She is in my prayers. I have several friends who suffer from this. I believe God provided many natural ways for us to help heal our bodies. Please check out the book Patient heal thyself by Jordan Rubin. EXCELLENT book even for those who don't have crohn's disease. I noticed that someone else listed his website. Also he followed up with The Makers Diet . Both books are wonderful. And I do believe that coconut oil is amazing for many things :) May God bless you in all you do!! Looking forward to hearing you sing again :)
Gee whiz, and I tohguht this would be hard to find out.
d7MLXu <a href="http://llqbupkdnhdu.com/">llqbupkdnhdu</a>
Scott_NJ / Thanks for the blog! I was at the MoTab concert last Christmas and I am VERY exitecd for The DVD/CD! I actually got my DVD's from Deseret book already and it's AMAZING ! Great to be able to relive it!! Your voice with the Choir is breathtaking! Hmm.. Can't wait to find out about the project you are working on ..Sounds exciting! Oh yes and I will be in Gilbert for he Show and I live in NJ! lol Exciting about the D.C show too! Sorry about your sister having Crohn's. I've heard of it but don't know alot about it. I will keep her in my prayers though.
TheNZArchAngel / Thanks for the blog David! Many congrats on your conrect with the MoTab Choir and the release of Glad Christmas Tidings!! So happy for you :)Crohn's Disease is as a result of over-the-top activiation of the immune system. Like, when the immune system is attacked, it leads the immune response to malfunction. Not sure what exactly causes Crohn's Disease, but diet can affect it's progress/inhibition. It's best to avoid dairy food, and stick to the diet she is recommended on.My thoughts and prayers are with your sister <3
somethingboutlife / hey david! sorry to hear about your sister. i goleod crohns disease for her. i think a ton if your fans did too haha. you've got some pretty helpful fans lol. anyway i found a few things that might be helpful. tell your sister to stay away from foods that are high in lactose. and fish is good thing to eat. tell her to stay from or instead of frying it, boil it or bake it! hope this helps!! :)
diet really doesn't make much difcreenfe but it helps to stay away from things that cause irritation (everyone is different..just trial and error). Good luck to your sister hope and pray she does well with treatment. I know how difficult this disease can be and my heart goes out to her!God Bless!
slicer4ever / i believe you guys are just msenisg with me now, a new chapter every day, EPIC!=-), keep up the amazing work, although i don't expect the pace to stay the same, i'm ganna enjoy it for as long as possible=-)
Walking in the psreence of giants here. Cool thinking all around!
This is both street smart and intlelignet.
I think it's a great that you are choosing not to set goals in November. Not that goals are are not ipoartmnt great to have something to work towards. However, if your sole focus is where you are going instead of where you are at now, then it takes away from doing the best you can do in the moment.It also takes away from what are your true priorities, like spending time with your son.You are doing great Lye! Do what you can in the time you can, enjoy the process and hang in there!! Rome wasn't built over night and neither will be your blog. You have the passion and the skill, just give yourself the persistence and patience.All the best!Michele Welch recently posted..
eYVaLB <a href="http://hdlamtznsifl.com/">hdlamtznsifl</a>
Great post; it helped me a lot!
Thank you for sharing and have a nice day
Frankposted by Frank @ Mar 27, 2011 08:24 AM EDT