<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.giustetti.net/wiki/index.php?action=history&amp;feed=atom&amp;title=En%2Fseamonkey_password_migration</id>
	<title>En/seamonkey password migration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.giustetti.net/wiki/index.php?action=history&amp;feed=atom&amp;title=En%2Fseamonkey_password_migration"/>
	<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;action=history"/>
	<updated>2026-05-12T05:33:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=1133&amp;oldid=prev</id>
		<title>Wikiuser at 12:08, 21 March 2022</title>
		<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=1133&amp;oldid=prev"/>
		<updated>2022-03-21T12:08:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:08, 21 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Wikiuser</name></author>
	</entry>
	<entry>
		<id>http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=662&amp;oldid=prev</id>
		<title>Wikiuser: Partial page redesign</title>
		<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=662&amp;oldid=prev"/>
		<updated>2016-04-15T13:28:02Z</updated>

		<summary type="html">&lt;p&gt;Partial page redesign&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:28, 15 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Welcome &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Simone Giustetti's wiki pages.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{header_en|title=Migrating Seamonkey passwords between versions of the program| keyword={{Template:keyword_en_linux}}| description=A brief tutorial discussing how &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;migrate passwords from older Seamonkey releases to newer ones | link_page&lt;/ins&gt;=seamonkey_password_migration&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title&lt;/del&gt;=seamonkey_password_migration &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Italiano]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;----&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Seamonkey 1.1.x to 2.0.x password migration ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Seamonkey 1.1.x to 2.0.x password migration ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l218&quot; &gt;Line 218:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 212:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For any feedback, questions, errors and such, please e-mail me at &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;studiosg [at] giustetti [dot] net&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;External Links&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;External Links&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.seamonkey-project.org/ Seamonkey home page]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.seamonkey-project.org/ Seamonkey home page]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title&lt;/del&gt;=seamonkey_password_migration &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Italiano]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{footer_en | link_page&lt;/ins&gt;=seamonkey_password_migration&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiuser</name></author>
	</entry>
	<entry>
		<id>http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=83&amp;oldid=prev</id>
		<title>Wikiuser at 21:24, 8 June 2011</title>
		<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=83&amp;oldid=prev"/>
		<updated>2011-06-08T21:24:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:24, 8 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l216&quot; &gt;Line 216:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 216:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Whichever path you'll choose to follow, please always back-up your .mozilla data directory first.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Whichever path you'll choose to follow, please always back-up your .mozilla data directory first.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For any feedback, questions, errors and such, please e-mail me at studiosg [at] giustetti [dot] net&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiuser</name></author>
	</entry>
	<entry>
		<id>http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=38&amp;oldid=prev</id>
		<title>Wikiuser at 15:26, 16 August 2010</title>
		<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=38&amp;oldid=prev"/>
		<updated>2010-08-16T15:26:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:26, 16 August 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot; &gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== A known problem ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== A known problem ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I was not the first and probably won't be the last to face the migration issue. Some &amp;quot;googling&amp;quot; returned several comments related to the 2.0 alpha versions of Seamonkey on the Bugzilla mailing list. The issue seemed to be a closed one, but the same symptoms were later reported by users on forums dedicated to the stable versions: [http://forums.mozillazine.org/viewtopic.php?f=40&amp;amp;t=1562745&amp;amp;start=30 forums.mozillazine.org]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I was not the first and probably won't be the last to face the migration issue. Some &amp;quot;googling&amp;quot; returned several comments related to the 2.0 alpha versions of Seamonkey on the Bugzilla mailing list&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: [https://bugzilla.mozilla.org/show_bug.cgi?id=482443 bugzilla.mozilla.org]&lt;/ins&gt;. The issue seemed to be a closed one, but the same symptoms were later reported by users on forums dedicated to the stable versions: [http://forums.mozillazine.org/viewtopic.php?f=40&amp;amp;t=1562745&amp;amp;start=30 forums.mozillazine.org]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I tried to follow the forum suggested workaround, removed the 2.0.4 version, reinstalled the 1.1.8 one and rerun the upgrade, but the password import did not work so I gave up automated tools and resolved to do it myself.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I tried to follow the forum suggested workaround, removed the 2.0.4 version, reinstalled the 1.1.8 one and rerun the upgrade, but the password import did not work so I gave up automated tools and resolved to do it myself.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_SeaMonkey&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_SeaMonkey&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    http://seamonkey.ilias.ca/profilefaq/#transferring_passwords&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    http://seamonkey.ilias.ca/profilefaq/#transferring_passwords&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   http://snarfed.org/space/change_firefoxs_saved_passwords&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l180&quot; &gt;Line 180:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 181:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    'sUserPassword','MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    'sUserPassword','MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    '{c9158a9c-022c-4413-8b40-f843b5c8a5ec}',1);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    '{c9158a9c-022c-4413-8b40-f843b5c8a5ec}',1);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please note: '''all string data are enclosed between &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;' &lt;/del&gt;characters''' as per SQL language standard for text data. Moreover note that the asterisk character from the '''*sUserPassword''' line was not included. The omission is an intentional one. Concerning field ''guid'' a value from a previously inserted password was used. The insert clause was terminated by a ';' character again as per SQL language standard.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please note: '''all string data are enclosed between &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;single quote &lt;/ins&gt;characters''' as per SQL language standard for text data. Moreover note that the asterisk character from the '''*sUserPassword''' line was not included. The omission is an intentional one. Concerning field ''guid'' a value from a previously inserted password was used. The insert clause was terminated by a ';' character again as per SQL language standard.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To load the new password into the database open the '''sqlite3''' interpreter, copy the clause to '''sqlite3''' prompt and press enter:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To load the new password into the database open the '''sqlite3''' interpreter, copy the clause to '''sqlite3''' prompt and press enter:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiuser</name></author>
	</entry>
	<entry>
		<id>http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=35&amp;oldid=prev</id>
		<title>Wikiuser: Created page with 'Welcome to Simone Giustetti's wiki pages.   Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=seamonkey_password_migration Italiano]  ----   == Seamonkey …'</title>
		<link rel="alternate" type="text/html" href="http://www.giustetti.net/wiki/index.php?title=En/seamonkey_password_migration&amp;diff=35&amp;oldid=prev"/>
		<updated>2010-08-10T17:47:56Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;Welcome to Simone Giustetti&amp;#039;s wiki pages.   Languages: &amp;#039;&amp;#039;&amp;#039;English&amp;#039;&amp;#039;&amp;#039; - [http://www.giustetti.net/wiki/index.php?title=seamonkey_password_migration Italiano]  ----   == Seamonkey …&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Welcome to Simone Giustetti's wiki pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=seamonkey_password_migration Italiano]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Seamonkey 1.1.x to 2.0.x password migration ==&lt;br /&gt;
&lt;br /&gt;
One really useful feature of '''Seamonkey''', the Mozilla foundation web suite consisting of an integrated browser, e-mail client, Html editor and chat program, consists of '''saving user passwords''' for web sites and performing authentication by means of but '''one single  Master Password'''. I often need to access multiple authentication requiring sites to work and password management becomes a tiresome activity as the web site number increases. Recurring to a single password instead of dozens means a great saving of time not to mention a radical decrease in errors and mistakes. I recently '''upgraded Seamonkey''' from the old 1.1.8 version to the new 2.0.4 one while performing a Slackware version upgrade from 13.0 to 13.1. Upon upgrade completion I found out an issue concerning saved passwords: the migration procedure did not import data from the old user profile to the new one. An error message was prompted at each subsequent Seamonkey start up: some inconsistencies with the cryptographic subsystem prevented it from loading and as a consequence authentication was disabled.&lt;br /&gt;
&lt;br /&gt;
Reconfiguring dozens of passwords was not an option so I managed to manually import passwords. What follows is the procedure I used to migrate Seamonkey 1.1.8 stored passwords to a fresh 2.0.4 install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A known problem ==&lt;br /&gt;
&lt;br /&gt;
I was not the first and probably won't be the last to face the migration issue. Some &amp;quot;googling&amp;quot; returned several comments related to the 2.0 alpha versions of Seamonkey on the Bugzilla mailing list. The issue seemed to be a closed one, but the same symptoms were later reported by users on forums dedicated to the stable versions: [http://forums.mozillazine.org/viewtopic.php?f=40&amp;amp;t=1562745&amp;amp;start=30 forums.mozillazine.org]&lt;br /&gt;
&lt;br /&gt;
I tried to follow the forum suggested workaround, removed the 2.0.4 version, reinstalled the 1.1.8 one and rerun the upgrade, but the password import did not work so I gave up automated tools and resolved to do it myself.&lt;br /&gt;
&lt;br /&gt;
The first step consisted in studying the way passwords are stored by both version 1.0.x and 2.0.x of Seamonkey.&lt;br /&gt;
Some useful insight on the Seamonkey 1.0.x encryption subject was provided by the following links. What the documentation lacked I made up running tests.&lt;br /&gt;
   http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_SeaMonkey&lt;br /&gt;
   http://seamonkey.ilias.ca/profilefaq/#transferring_passwords&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Passwords in Seamonkey 1.1.x ==&lt;br /&gt;
&lt;br /&gt;
Password related information are stored in files with the ''*.s'' extension in Seamonkey 1.0.8. If using a '''Masterkey''', a master password, the password itself and identifiers for the passwords list are stored in file ''key3.db''. Both files are located in the user profile directory.&lt;br /&gt;
&lt;br /&gt;
For me the authentication data files were:&lt;br /&gt;
   /home/twinstar/.mozilla/default/xt5ed1fd.slt/key3.db&lt;br /&gt;
   /home/twinstar/.mozilla/default/xt5ed1fd.slt/52829682.s&lt;br /&gt;
&lt;br /&gt;
Let's study part of file 52829682.s to understand how information are organized.&lt;br /&gt;
   bash-4.1$ cd /home/twinstar/.mozilla/default/xt5ed1fd.slt&lt;br /&gt;
   bash-4.1$ cat 52829682.s &lt;br /&gt;
   #2c&lt;br /&gt;
   http://localhost&lt;br /&gt;
   http://www.giustetti.net&lt;br /&gt;
   https://localhost&lt;br /&gt;
   https://login.yahoo.com&lt;br /&gt;
   .&lt;br /&gt;
   http://appdb.winehq.org&lt;br /&gt;
   sUserEmail&lt;br /&gt;
   MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   *sUserPassword&lt;br /&gt;
   MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   .&lt;br /&gt;
   https://sourceforge.net&lt;br /&gt;
   form_loginname&lt;br /&gt;
   MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   *form_pw&lt;br /&gt;
   MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   .&lt;br /&gt;
&lt;br /&gt;
A line consisting of a single dot is a field or record terminator.&lt;br /&gt;
&lt;br /&gt;
The first 4 file lines, the ones between code #2c and the first dot line consist of a list of sites for which a password shall never be saved.&lt;br /&gt;
&lt;br /&gt;
Line http://appdb.winehq.org starts a password record related to web site appdb.winehq.org. The lines that follow contain information related to the authentication form for the web page. In short:&lt;br /&gt;
   ''http://appdb.winehq.org'' - It's the web address for the authentication requiring site.&lt;br /&gt;
   ''sUserEmail'' - It's the user name form field.&lt;br /&gt;
   ''MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...'' - It's the user name. Data are encrypted for better security.&lt;br /&gt;
   ''*sUserPassword'' - It's the password form field.&lt;br /&gt;
   ''MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC.'' - It's the encrypted password.&lt;br /&gt;
&lt;br /&gt;
The following line dot marks the end for web site appdb.winehq.org authentication data. The next line marks the start for a new password record, coded as the previous one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Passwords in Seamonkey 2.0.x ==&lt;br /&gt;
&lt;br /&gt;
Password coding and information retention for cookies, page history, download history and much more were fully rewritten in Seamonkey version 2.0.x. '''Sqlite''' was introduced to store in an homogeneous way all information. [http://www.sqlite.org Sqlite] is a library implementing a SQL relational database engine without the need for a server. Old text files were replaced by ''cookies.sqlite'', ''downloads.sqlite'', ''formhistory.sqlite'', ''permissions.sqlite'', ''places.sqlite'', '''signons.sqlite''' and ''urlbarhistory.sqlite''. File signons.sqlite is used to store passwords and replaces the old *.s extension one. Password management in Seamonkey 2.0.x is attained through the file couple '''signons.sqlite''' and '''key3.db'''.&lt;br /&gt;
&lt;br /&gt;
To study file signons.sqlite format a SQL client is needed; a client able to decipher files with extension *.sqlite. A certain experience with the SQL language comes in handy too. Slackware 13.1 comes equipped with package sqlite-3.6.23.1-&amp;lt;''arch''&amp;gt;-1. Libraries needed to create databases and a client to manipulate data are part of the package. We'll use the client program, ''sqlite3'', to analyze the password file format.&lt;br /&gt;
   bash-4.1$ sqlite3 signons.sqlite&lt;br /&gt;
   SQLite version 3.6.23.1&lt;br /&gt;
   Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
   Enter SQL statements terminated with a &amp;quot;;&amp;quot;&lt;br /&gt;
   sqlite&amp;gt; .schema&lt;br /&gt;
   CREATE TABLE moz_disabledHosts (id INTEGER PRIMARY KEY,hostname TEXT UNIQUE ON CONFLICT REPLACE);&lt;br /&gt;
   CREATE TABLE moz_logins (id INTEGER PRIMARY KEY, hostname TEXT NOT NULL, httpRealm TEXT, formSubmitURL TEXT,&lt;br /&gt;
   usernameField TEXT NOT NULL, passwordField TEXT NOT NULL,encryptedUsername TEXT NOT NULL,&lt;br /&gt;
   encryptedPassword TEXT NOT NULL,guid TEXT, encType INTEGER);&lt;br /&gt;
   CREATE INDEX moz_logins_encType_index ON moz_logins(encType);&lt;br /&gt;
   CREATE INDEX moz_logins_guid_index ON moz_logins(guid);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_formSubmitURL_index ON moz_logins(hostname, formSubmitURL);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_httpRealm_index ON moz_logins(hostname, httpRealm);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_index ON moz_logins(hostname);&lt;br /&gt;
&lt;br /&gt;
Command ''.schema'' prints out the '''database structure''' and '''a list of tables'''. Database signons.sqlite is made up of 2 tables only: moz_disabledHosts and moz_logins; the latter of which is the subject of our analysis.&lt;br /&gt;
&lt;br /&gt;
We'll use command ''.dump'' to search through table '''moz_logins''' contents. The command will print out a series of SQL clauses needed to create a full back-up of the database data and table structure.&lt;br /&gt;
   sqlite&amp;gt; .dump moz_logins&lt;br /&gt;
   PRAGMA foreign_keys=OFF;&lt;br /&gt;
   BEGIN TRANSACTION;&lt;br /&gt;
   CREATE TABLE moz_logins (id INTEGER PRIMARY KEY, hostname TEXT NOT NULL, httpRealm TEXT, formSubmitURL TEXT,&lt;br /&gt;
   usernameField TEXT NOT NULL, passwordField TEXT NOT NULL, encryptedUsername TEXT NOT NULL,&lt;br /&gt;
   encryptedPassword TEXT NOT NULL, guid TEXT,encType INTEGER);&lt;br /&gt;
   INSERT INTO &amp;quot;moz_logins&amp;quot; VALUES(1,'http://www.gemave.it',NULL,'http://www.gemave.it','username','password',&lt;br /&gt;
   'MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;br /&gt;
   '{cae1a5bb-56f8-4366-91cc-20bc2f7af323}',1);&lt;br /&gt;
   INSERT INTO &amp;quot;moz_logins&amp;quot; VALUES(3,'https://sourceforge.net',NULL,'https://sourceforge.net','form_loginname',&lt;br /&gt;
   'form_pw','MDoEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;br /&gt;
   '{2f7d87e6-64db-418a-8f26-1ee4b1fec787}',1);&lt;br /&gt;
   INSERT INTO &amp;quot;moz_logins&amp;quot; VALUES(12,'http://appdb.winehq.org',NULL,'http://appdb.winehq.org','sUserEmail',&lt;br /&gt;
   'sUserPassword','MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;br /&gt;
   '{3c600fba-7ec9-4deb-b644-f775defad46f}',1);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_index ON moz_logins(hostname);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_formSubmitURL_index ON moz_logins(hostname, formSubmitURL);&lt;br /&gt;
   CREATE INDEX moz_logins_hostname_httpRealm_index ON moz_logins(hostname, httpRealm);&lt;br /&gt;
   CREATE INDEX moz_logins_guid_index ON moz_logins(guid);&lt;br /&gt;
   CREATE INDEX moz_logins_encType_index ON moz_logins(encType);&lt;br /&gt;
   COMMIT;&lt;br /&gt;
&lt;br /&gt;
Table ''moz_logins'' is made of 10 columns:&lt;br /&gt;
   ''id'' - It' a unique identifier for the row. An integer number greater than 0 that is sequentially increased by 1 at each&lt;br /&gt;
   subsequent password save.&lt;br /&gt;
   ''hostname'' - It's the web site address.&lt;br /&gt;
   ''httpRealm'' - Was never populated during my tests. In the above examples it always contains the NULL value. Null value &lt;br /&gt;
   means a not initialized database field.&lt;br /&gt;
   ''formSubmitURL'' - It's the form web address. It usually equals hostname.&lt;br /&gt;
   ''usernameField'' - It's the user name form field.&lt;br /&gt;
   ''passwordField'' - It's the password form field.&lt;br /&gt;
   ''encryptedUsername'' - It's the user name. Data are encrypted for better security.&lt;br /&gt;
   ''encryptedPassword'' - It's the encrypted password.&lt;br /&gt;
   ''guid'' - An identifier with format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.&lt;br /&gt;
   ''encType'' - A value of 1 means the password is encrypted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to convert data ==&lt;br /&gt;
&lt;br /&gt;
Before proceeding a full back-up of directory .mozilla from the user home is strongly suggested.&lt;br /&gt;
The easiest way to create such copy it using the tar command:&lt;br /&gt;
   bash-4.1$ tar -jcpf mozilla_bck.tar.bz2 .mozilla&lt;br /&gt;
Doing so, if something were to go wrong, it will still be possible to recover the initial status by deleting the modified .mozilla directory and uncompressing the created archive:&lt;br /&gt;
   bash-4.1$ rm -r .mozilla&lt;br /&gt;
   bash-4.1$ tar -jxf mozilla_bck.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Please check for Seamonkey to be closed during data import.&lt;br /&gt;
&lt;br /&gt;
=== Find user profile directories ===&lt;br /&gt;
&lt;br /&gt;
I always used the default profile for my user and only that. As a consequence the user data containing directory is /home/twinstar/.mozilla/default/&amp;lt;random name&amp;gt; or: /home/twinstar/.mozilla/default/xt5ed1fd.slt/ for Seamonkey 1.1.8. The files in the directory contain candidate for migration data.&lt;br /&gt;
&lt;br /&gt;
Starting Seamonkey 2.0.x will result in the creation of a new directory structure for user profiles: .mozilla/seamonkey/&amp;lt;random name&amp;gt;.default/; .mozilla/seamonkey/8i3q7qe7.default/ for my user. Data shall be migrated to that directory. Files contained therein are obviously empty.&lt;br /&gt;
&lt;br /&gt;
=== Seamonkey 2.0.x configuration ===&lt;br /&gt;
&lt;br /&gt;
Next step consists of Seamonkey configuration. Start the web browser and enter the &amp;quot;Edit -&amp;gt; Preferences&amp;quot; menu. Check for option &amp;quot;Remember Passwords&amp;quot; to be enabled. If not enable it and set a &amp;quot;'''Master Password'''&amp;quot;. Set the same password used for Seamonkey 1.1.x.&lt;br /&gt;
&lt;br /&gt;
Then replace file ''key3.db'' in the 2.0.x profile directory with the one from version 1.1.x directory.&lt;br /&gt;
&lt;br /&gt;
The last step consists of converting the actual data from file with extension ''*.s'' to ''SQL'' insert clauses that should later be loaded into the database file ''signons.sqlite''. The data format cross reference being:&lt;br /&gt;
&lt;br /&gt;
   ''id'' -&amp;gt; Whatever integer, greater than zero number. Increment it for each record. The starting value being the&lt;br /&gt;
   higher value ever saved increased by 1. If the maximum is 4, for example, 5 will be the first available number.&lt;br /&gt;
   ''hostname'' -&amp;gt; The first record line from file xxxxxxx.s.&lt;br /&gt;
   ''httpRealm'' -&amp;gt; Use NULL.&lt;br /&gt;
   ''formSubmitURL'' -&amp;gt; The same value used for field ''hostname''.&lt;br /&gt;
   ''usernameField'' -&amp;gt; The second record line from file xxxxxxx.s.&lt;br /&gt;
   ''passwordField'' -&amp;gt; The fourth record line from file xxxxxxx.s.&lt;br /&gt;
   ''encryptedUsername'' -&amp;gt; The third record line from file xxxxxxx.s.&lt;br /&gt;
   ''encryptedPassword'' -&amp;gt; The fifth record line from file xxxxxxx.s.&lt;br /&gt;
   ''guid'' -&amp;gt; If a password were already saved into the file use the same value of field ''guid''. Use NULL otherwise.&lt;br /&gt;
   ''encType'' -&amp;gt; Use value 1 for password encryption.&lt;br /&gt;
&lt;br /&gt;
=== SQL clauses ===&lt;br /&gt;
&lt;br /&gt;
As an example, password data for web site http://appdb.winehq.org will be converted from the file 52829682.s format to the corresponding SQL clause.&lt;br /&gt;
   http://appdb.winehq.org&lt;br /&gt;
   sUserEmail&lt;br /&gt;
   MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   *sUserPassword&lt;br /&gt;
   MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...&lt;br /&gt;
   .&lt;br /&gt;
In our example the last previously inserted password has field ''id'' equal to 14. We are going to insert the fifteenth password in the list:&lt;br /&gt;
   INSERT INTO &amp;quot;moz_logins&amp;quot; VALUES(15,'http://appdb.winehq.org',NULL,'http://appdb.winehq.org','sUserEmail',&lt;br /&gt;
   'sUserPassword','MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;br /&gt;
   '{c9158a9c-022c-4413-8b40-f843b5c8a5ec}',1);&lt;br /&gt;
Please note: '''all string data are enclosed between ' characters''' as per SQL language standard for text data. Moreover note that the asterisk character from the '''*sUserPassword''' line was not included. The omission is an intentional one. Concerning field ''guid'' a value from a previously inserted password was used. The insert clause was terminated by a ';' character again as per SQL language standard.&lt;br /&gt;
&lt;br /&gt;
To load the new password into the database open the '''sqlite3''' interpreter, copy the clause to '''sqlite3''' prompt and press enter:&lt;br /&gt;
   bash-4.1$ sqlite3 signons.sqlite &lt;br /&gt;
   SQLite version 3.6.23.1&lt;br /&gt;
   Enter &amp;quot;.help&amp;quot; for instructions&lt;br /&gt;
   Enter SQL statements terminated with a &amp;quot;;&amp;quot;&lt;br /&gt;
   sqlite&amp;gt; INSERT INTO &amp;quot;moz_logins&amp;quot; VALUES(15,'http://appdb.winehq.org',NULL,'http://appdb.winehq.org','sUserEmail',&lt;br /&gt;
   'sUserPassword','MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...','MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcEC...',&lt;br /&gt;
   '{c9158a9c-022c-4413-8b40-f843b5c8a5ec}',1);&lt;br /&gt;
   sqlite&amp;gt;&lt;br /&gt;
The password is now migrated and will be available from next Seamonkey start-up.&lt;br /&gt;
Use the .quit command to leave program sqlite3:&lt;br /&gt;
   sqlite&amp;gt; .quit&lt;br /&gt;
   bash-4.1$&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
To remove an imported by mistake password it's possible to use the following SQL clause:&lt;br /&gt;
   sqlite&amp;gt; delete from &amp;quot;moz_logins&amp;quot; where id=&amp;lt;''identifier for the candidate for removal password''&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Loading passwords to file ''signons.sqlite'' alone does not suffice to execute a full import. The ''key3.db'' file from the old user profile is needed too. Without the ''key3.db'' file imported passwords will be ignored by Seamonkey.&lt;br /&gt;
&lt;br /&gt;
You are strongly suggested to close Seamonkey while importing passwords and to start it after completion to check the outcome and authentication subsystem behavior.&lt;br /&gt;
&lt;br /&gt;
The proposed import procedure presumes a fresh Seamonkey 2.0.x install. If you were in need of other data from your old profile: e-mails, bookmarks and such, You'll need to move them from the old user profile to the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
In the previous article the password storage format for some Seamonkey versions was described along with a non automated migration procedure between major releases of the program. A format conversion example was provided for a single password record. Whoever were in need to migrate many records could:&lt;br /&gt;
# Convert data by means of a text editor.&lt;br /&gt;
# Write a conversion script to read an input file and output a SQL formatted text file to use in conjunction with the sqlite3 program or another SQL client.&lt;br /&gt;
&lt;br /&gt;
Whichever path you'll choose to follow, please always back-up your .mozilla data directory first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
External Links&lt;br /&gt;
----&lt;br /&gt;
* [http://www.seamonkey-project.org/ Seamonkey home page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=seamonkey_password_migration Italiano]&lt;/div&gt;</summary>
		<author><name>Wikiuser</name></author>
	</entry>
</feed>