google-code-export / cpassman

Automatically exported from code.google.com/p/cpassman
0 stars 0 forks source link

How to Load cpassman 1.82 items into Teampass 2.0 and make viewable #230

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Using SQL Admin tool, load cpassman_items into teampass_items
2.
3.

What is the expected output? What do you see instead?
Migrate items from cpassman 1.82 over to teampass 2.0. The items were loaded 
but unable to view them. I see item counts for the list folders but list panel 
is blank when trying to view.

What version of the product are you using?
 teampass 2.0

On what operating system? With what Browser (IEx, FFx, ...)
XP, IE8, FF8

Please provide any additional information below.

I am upgrading to Teampass 2.0 by doing a clean install and just want to backup 
the items from cpassman and load into teampass. There are way too many to enter 
manually. 

Original issue reported on code.google.com by hexxamil...@gmail.com on 4 Jan 2012 at 7:30

GoogleCodeExporter commented 9 years ago
I think this has to do with the SALT Key/encryption used for my 1.82 
installation but I can't put my finger on it. I used the same key as with 1.82 
installation. Still no go. Any suggestions?

Original comment by hexxamil...@gmail.com on 5 Jan 2012 at 11:19

GoogleCodeExporter commented 9 years ago
I have been playing with the aes decrypt/encrypt all day...I am unsure why the 
items cannot be seen. I am using the same key as with the old installation. I 
will add that I did not perform an upgrade but rather a clean install of 2.0 
into a new db and directory. The upgrade steps mentioned in the posts I read 
"sort of worked" but had too many things in the code that needed to be manually 
fixed or modified afterwards and even then I still could not view the items.

Its only the items table that I am having issues with. I can load the users, 
folders, etc from the old db with no problem and they work as expected.

It would be good if there were a way on the old cpassman 1.82 to export with a 
decrypt option then all I need to do is load into the new db and just add the 
aes encrypt key during the load for the pw column. I know that is not secure 
way to go but it would make this a bit easier at least as a workaround for 
upgrading.

Original comment by hexxamil...@gmail.com on 6 Jan 2012 at 7:19

GoogleCodeExporter commented 9 years ago
Hi there,

Sorry to not answering before...

It's normal that you have difficulties to play with the salt on both databases.
Indeed there is a major evolution between 1.XX and 2.XX. THis evolution is that 
I've added an random encryption key to each encrypted item. THis makes 
impossible to uncrypt without the SALTkey and this random key.

It is absolutely mandatory to use the upgrade script for upgrading from 1.xx to 
2.xx. This will build the random key table for each existing items and it will 
re-encrypt the items table based on those random keys and saltkey.

First try this and let us know.

Nils

Original comment by nils.cpa...@gmail.com on 6 Jan 2012 at 8:33

GoogleCodeExporter commented 9 years ago
OK. Can you clarify what files I need to copy from the new installation to my 
old installation? I tried the upgrade last time but still had the same issues.

Original comment by hexxamil...@gmail.com on 6 Jan 2012 at 9:02

GoogleCodeExporter commented 9 years ago
I copied the the following folders from Teampass over to my old cpassman: 
install, includes, sources. I went to my browser and to the install/upgrade.php 
page. After entering my db connection info and click the 'Launch' button 
nothing happens. This is what i got from Firebug:
----------------
gauge.modify($("pbar"),{values:[0.50,1]});document.getElementById("but_next").di
sabled = "";Table 'opsecure.teampass_misc' doesn't exist

missing ; before statement
 eval(xhr_object.responseText); 
--------------

It is complaining about the syntax in file install.js (line 49). That line just 
simply contains "eval(xhr_object.responseText);". I tried this in both Firefox 
and IE. In addition, I noticed that in my old installation of 1.82 there was no 
install.js file.

Original comment by hexxamil...@gmail.com on 6 Jan 2012 at 10:59

GoogleCodeExporter commented 9 years ago
This time I copied the entire Teampass over to cpassman installation 
overwriting. Then went to the upgrade page and received the exact same error 
after clicking 'Launch' when done entering DB connection info. I know the 
Teampass installation files are fine because I already installed it from 
scratch and it functions well.

Original comment by hexxamil...@gmail.com on 6 Jan 2012 at 11:12

GoogleCodeExporter commented 9 years ago
Seems that you're not using the same tables prefix.
THe default prefix for your 1.XX was "cpassman_" and now it is "teampass_".
So when upgrading, please check carefully this point.

Original comment by nils.cpa...@gmail.com on 7 Jan 2012 at 8:16

GoogleCodeExporter commented 9 years ago
The table prefix is being used. It's already defined on the DB connections step 
and I leave that as is.

Original comment by hexxamil...@gmail.com on 7 Jan 2012 at 4:31

GoogleCodeExporter commented 9 years ago
Hum ... in that case, why do you have this error => "Table 
'opsecure.teampass_misc' doesn't exist"

If you're upgrading from version 1.82, your table is called 'cpassman_misc'.
So when indicating the credentials of your DB connection, you have to be sure 
to set the prefix "cpassman_" and not "teampass_" as it is set by default now

Original comment by nils.cpa...@gmail.com on 7 Jan 2012 at 6:14

GoogleCodeExporter commented 9 years ago
Oh I see. I will try again ensuring prefix is cpassman

Original comment by hexxamil...@gmail.com on 7 Jan 2012 at 8:10

GoogleCodeExporter commented 9 years ago
So made some progress and upgrading was alot simpler than i thought. There are 
some problems though, a few errors for the following actions:

1. When clicking on the Password list button (key on toolbar) I get the 
following error: 

JSON.parse: unexpected character
[Break On This Error] (function(a,b){function cy(a){return 
f...ace(B,"mouseenter$1 mouseleave$1")}; 

document.getElementById("mysql_error_warning").innerHTML = "MySQL Query fail: 
\n\n                    SELECT DISTINCT i.id AS id, i.restricted_to AS 
restricted_to, i.perso AS perso, i.label AS label, i.description AS 
description, i.pw AS pw, i.login AS login, i.anyone_can_modify AS 
anyone_can_modify,\n\n                        l.date AS date,\n\n               
         n.renewal_period AS renewal_period,\n\n                        
l.action AS log_action, l.id_user AS log_user,\n\n                        
k.rand_key AS rand_key\n\n                    FROM cpassman_items AS i\n\n      
              INNER JOIN cpassman_nested_tree AS n ON (i.id_tree = n.id)\n\n    
                INNER JOIN cpassman_log_items AS l ON (i.id = 
l.id_item)\n\n                  INNER JOIN cpassman_keys AS k ON (k.id = i.id)\n\n           
         WHERE i.inactif = 0 AND i.id_tree=7\n\n                    AND 
l.action = 'at_creation'\n\n                    ORDER BY i.label ASC, l.date 
DESC\n\n                    LIMIT 0,-4<br />You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right 
syntax to use near \'-4\' at line 13";$("#div_mysql_error").dialog("open");

2. When clicking on the binoculars from the top toolbar to search I get this 
error:

DataTables warning: JSON data from server could not be parsed. This is caused 
by a JSON formatting error.

3. I now can view the items in the password list but I cannot view the item 
details such as password. The Mask/Unmask button is disabled and I am logged in 
as admin.

Original comment by hexxamil...@gmail.com on 10 Jan 2012 at 11:25

GoogleCodeExporter commented 9 years ago
When I click on an item in the password list I get this error. It's complaining 
about this line 118 in the functions.js file: 

string.replace is not a function

string = string.replace(/\\/g,'').replace(/]/g,'\\'); 

Original comment by hexxamil...@gmail.com on 11 Jan 2012 at 4:43

GoogleCodeExporter commented 9 years ago
Has anyone else had any of these errors after upgrading from 1.82 to Teampass 
2.0? Any suggestions? I am very close to just manually entering from 1.82 to 
the new one which will be tedious but will have no errors.

Original comment by hexxamil...@gmail.com on 13 Jan 2012 at 6:27

GoogleCodeExporter commented 9 years ago
Can you try using new 2.1.3 => https://github.com/nilsteampassnet/TeamPass

Original comment by nils.cpa...@gmail.com on 16 Jan 2012 at 7:27

GoogleCodeExporter commented 9 years ago
Cool. I will try this now.

Original comment by hexxamil...@gmail.com on 16 Jan 2012 at 7:49

GoogleCodeExporter commented 9 years ago
So the upgrade process itself was smooth without errors using 2.1.3. I did 
notice that at step 4 these two items did not have a green check when creating 
the tables:

Add table "keys"    
Populate table "keys"

All of the items are in the database but when I go to click on them all of the 
password fields have the work "false" instead of the actual password when I 
unmask it.

Original comment by hexxamil...@gmail.com on 16 Jan 2012 at 8:20

GoogleCodeExporter commented 9 years ago
I also still get this json error when accessing the search page:

DataTables warning: JSON data from server could not be parsed. This is caused 
by a JSON formatting error.

The good news is that the search does actually work it's just that this error 
always pops up. I have been looking in the find.queries source class but can't 
pin point how this is occurring. It would be nice to just suppress it because 
it doesn't seem like the search functionality is impacted at all.

Original comment by hexxamil...@gmail.com on 16 Jan 2012 at 9:32

GoogleCodeExporter commented 9 years ago
Por Fin! 50th time's a charm :)

I'm not sure the the deal was but I did nothing different. I copied the 2.1.3 
files overtop of the 1.82 then ran the upgrade. This time I noticed that the 
"keys" table and population of the keys tables was checked during step 4 of the 
upgrade. Not sure what was the deal with that.  In any event, everything is in 
the database as it was but this time I can actually view the passwords. Whereas 
before the password fields had the word "false" instead of the actual password.

I do, however, still have the Json error on the search page. Again, the search 
still works it's just that this error pops up all the time when accessing it.

"DataTables warning: JSON data from server could not be parsed. This is caused 
by a JSON formatting error."

Original comment by hexxamil...@gmail.com on 17 Jan 2012 at 5:25