nilsteampassnet / TeamPass

Collaborative Passwords Manager
https://www.teampass.net
1.66k stars 540 forks source link

Problem import keepass with folders #4075

Open silfius opened 7 months ago

silfius commented 7 months ago

Page on which it happened

Import XML from Keepass

Steps to reproduce

1.Import a XML from import of keepass 2,54 with folders

Expected behaviour

I want to do a import from a keepass file to my personal folder

Actual behaviour

When select a personal folder and click "Perform", it's show a message "Creating folder", and don't change and don't do anything

Server configuration

Operating system: Linux protectvault 6.1.0-18-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64

Web server: Apache/2.4.57 (Debian)

Database: 10.11.6-MariaDB-0+deb12u1

PHP version: 8.2.7

Teampass version: 3.1.2

Teampass configuration file:

'max_latest_items' => '10',
'enable_favourites' => '1',
'show_last_items' => '1',
'enable_pf_feature' => '1',
'log_connections' => '1',
'log_accessed' => '1',
'time_format' => 'H:i:s',
'date_format' => 'd/m/Y',
'duplicate_folder' => '0',
'item_duplicate_in_same_folder' => '0',
'duplicate_item' => '0',
'number_of_used_pw' => '3',
'manager_edit' => '1',
'cpassman_dir' => '/var/www/html/TeamPass',
'cpassman_url' => 'https://<anonym_url>
'favicon' => 'https://<anonym_url>/favicon.ico',
'path_to_upload_folder' => '/var/www/html/TeamPass/upload',
'path_to_files_folder' => '/var/www/html/TeamPass/files',
'url_to_files_folder' => 'https://<anonym_url>/files',
'activate_expiration' => '0',
'pw_life_duration' => '0',
'maintenance_mode' => '0',
'enable_sts' => '0',
'encryptClientServer' => '1',
'teampass_version' => '3.1.2',
'ldap_mode' => '0',
'ldap_type' => '0',
'ldap_suffix' => '0',
'ldap_domain_dn' => '0',
'ldap_domain_controler' => '0',
'ldap_user_attribute' => '0',
'ldap_ssl' => '0',
'ldap_tls' => '0',
'ldap_search_base' => '0',
'ldap_port' => '389',
'richtext' => '0',
'allow_print' => '1',
'roles_allowed_to_print' => '0',
'show_description' => '1',
'anyone_can_modify' => '1',
'anyone_can_modify_bydefault' => '0',
'nb_bad_authentication' => '0',
'utf8_enabled' => '1',
'restricted_to' => '1',
'restricted_to_roles' => '1',
'enable_send_email_on_user_login' => '0',
'enable_user_can_create_folders' => '1',
'insert_manual_entry_item_history' => '0',
'enable_kb' => '1',
'enable_email_notification_on_item_shown' => '0',
'enable_email_notification_on_user_pw_change' => '0',
'custom_logo' => 'https://engisoft.com/wp-content/uploads/2023/06/logotipo-engisoft.svg',
'custom_login_text' => '',
'default_language' => 'spanish',
'send_stats' => '0',
'send_statistics_items' => 'stat_country;stat_users;stat_items;stat_items_shared;stat_folders;stat_folders_shared;stat_admins;stat_managers;stat_ro;stat_mysqlversion;stat_phpversion;stat_teampassversion;stat_languages;stat_kb;stat_suggestion;stat_customfields;stat_api;stat_2fa;stat_agses;stat_duo;stat_ldap;stat_syslog;stat_stricthttps;stat_fav;stat_pf;',
'send_stats_time' => '1704716779',
'get_tp_info' => '1',
'send_mail_on_user_login' => '0',
'nb_items_by_query' => 'auto',
'enable_delete_after_consultation' => '0',
'enable_personal_saltkey_cookie' => '0',
'personal_saltkey_cookie_duration' => '31',
'email_smtp_server' => '<removed>'
'email_smtp_auth' => '1',
'email_auth_username' => '<removed>'
'email_auth_pwd' => '<removed>'
'email_port' => '587',
'email_security' => 'tls',
'email_server_url' => 'https://<anonym_url>/',
'email_from' => '<removed>'
'email_from' => '<removed>'
'pwd_maximum_length' => '40',
'google_authentication' => '1',
'delay_item_edition' => '2',
'allow_import' => '1',
'proxy_ip' => '<removed>'
'proxy_port' => '',
'upload_maxfilesize' => '10mb',
'upload_docext' => 'doc,docx,dotx,xls,xlsx,xltx,rtf,csv,txt,pdf,ppt,pptx,pot,dotx,xltx',
'upload_imagesext' => 'jpg,jpeg,gif,png',
'upload_pkgext' => '7z,rar,tar,zip',
'upload_otherext' => 'sql,xml',
'upload_imageresize_options' => '1',
'upload_imageresize_width' => '800',
'upload_imageresize_height' => '600',
'upload_imageresize_quality' => '90',
'use_md5_password_as_salt' => '0',
'ga_website_name' => 'TeamPass for ChangeMe',
'api' => '0',
'subfolder_rights_as_parent' => '1',
'show_only_accessible_folders' => '0',
'enable_suggestion' => '1',
'otv_expiration_period' => '7',
'default_session_expiration_time' => '20',
'duo' => '0',
'enable_server_password_change' => '0',
'ldap_object_class' => '0',
'bck_script_path' => '/var/www/html/TeamPass/backups',
'bck_script_filename' => 'bck_teampass',
'syslog_enable' => '1',
'syslog_host' => '<removed>'
'syslog_port' => '514',
'manager_move_item' => '1',
'create_item_without_password' => '1',
'otv_is_enabled' => '1',
'agses_authentication_enabled' => '0',
'item_extra_fields' => '0',
'saltkey_ante_2127' => 'none',
'migration_to_2127' => 'done',
'files_with_defuse' => 'done',
'timezone' => 'Europe/Paris',
'enable_attachment_encryption' => '1',
'personal_saltkey_security_level' => '50',
'ldap_new_user_is_administrated_by' => '0',
'disable_show_forgot_pwd_link' => '0',
'offline_key_level' => '0',
'enable_http_request_login' => '0',
'ldap_and_local_authentication' => '0',
'secure_display_image' => '1',
'upload_zero_byte_file' => '0',
'upload_all_extensions_file' => '0',
'bck_script_passkey' => '<removed>'
'admin_2fa_required' => '1',
'password_overview_delay' => '4',
'copy_to_clipboard_small_icons' => '1',
'duo_ikey' => '<removed>'
'duo_skey' => '<removed>'
'duo_host' => '<removed>'
'duo_failmode' => 'secure',
'roles_allowed_to_print_select' => '[6]',
'clipboard_life_duration' => '30',
'mfa_for_roles' => '',
'tree_counters' => '1',
'settings_offline_mode' => '0',
'settings_tree_counters' => '0',
'enable_massive_move_delete' => '0',
'email_debug_level' => '0',
'ga_reset_by_user' => '0',
'onthefly-backup-key' => '<removed>'
'onthefly-restore-key' => '<removed>'
'ldap_user_dn_attribute' => '',
'ldap_dn_additional_user_dn' => '',
'ldap_user_object_filter' => '',
'ldap_bdn' => '',
'ldap_hosts' => '<removed>'
'ldap_password' => '<removed>'
'ldap_username' => '',
'api_token_duration' => '60',
'enable_tasks_manager' => '1',
'task_maximum_run_time' => '300',
'tasks_manager_refreshing_period' => '20',
'maximum_number_of_items_to_treat' => '100',
'ldap_tls_certifacte_check' => 'LDAP_OPT_X_TLS_NEVER',
'enable_tasks_log' => '1',
'upgrade_timestamp' => '1708678866',
'enable_ad_users_with_ad_groups' => '0',
'enable_ad_user_auto_creation' => '0',
'ldap_group_object_filter' => '',
'ldap_guid_attibute' => 'objectguid',
'sending_emails_job_frequency' => '1',
'user_keys_job_frequency' => '1',
'items_statistics_job_frequency' => '1',
'users_personal_folder_task' => 'hourly;00:01',
'clean_orphan_objects_task' => '',
'purge_temporary_files_task' => '',
'rebuild_config_file' => '',
'reload_cache_table_task' => 'daily;00:00',
'maximum_session_expiration_time' => '60',
'items_ops_job_frequency' => '1',
'enable_refresh_task_last_execution' => '1',
'ldap_group_objectclasses_attibute' => 'top,groupofuniquenames',
'pwd_default_length' => '14',
'can_create_root_folder' => '1',
'rebuild_config_file_task' => 'hourly;00:01',
'items_statistics_job_frequency' => '5',
'tasks_log_retention_delay' => '3650',

Updated from an older Teampass or fresh install:

Client configuration

Browser: -

Operating system: - bits

Logs

Web server error log

[Wed Feb 28 09:43:55.339050 2024] [php:notice] [pid 167493] [client 185.242.250.185:61019] /tmp/phpX6B3kB, referer: https://protectvault.engisoft.com/index.php?page=import [Wed Feb 28 09:44:20.054895 2024] [php:error] [pid 167328] [client 185.242.250.185:61028] PHP Fatal error: Uncaught MeekroDBException: Column 'valeur' cannot be null in /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php:934\nStack trace:\n#0 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(890): MeekroDB->queryHelper()\n#1 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(549): MeekroDB->query()\n#2 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(554): MeekroDB->insertOrReplace()\n#3 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(116): MeekroDB->insert()\n#4 /var/www/html/TeamPass/sources/import.queries.php(861): DB::__callStatic()\n#5 /var/www/html/TeamPass/sources/import.queries.php(650): createFolder()\n#6 {main}\n thrown in /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php on line 934, referer: https://protectvault.engisoft.com/index.php?page=import

Teampass 10 last system errors

Log from the web-browser developer console (CTRL + SHIFT + i)

Web server error log
[Wed Feb 28 09:43:55.339050 2024] [php:notice] [pid 167493] [client 185.242.250.185:61019] /tmp/phpX6B3kB, referer: https://protectvault.engisoft.com/index.php?page=import
[Wed Feb 28 09:44:20.054895 2024] [php:error] [pid 167328] [client 185.242.250.185:61028] PHP Fatal error: Uncaught MeekroDBException: Column 'valeur' cannot be null in /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php:934\nStack trace:\n#0 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(890): MeekroDB->queryHelper()\n#1 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(549): MeekroDB->query()\n#2 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(554): MeekroDB->insertOrReplace()\n#3 /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php(116): MeekroDB->insert()\n#4 /var/www/html/TeamPass/sources/import.queries.php(861): DB::__callStatic()\n#5 /var/www/html/TeamPass/sources/import.queries.php(650): createFolder()\n#6 {main}\n thrown in /var/www/html/TeamPass/vendor/sergeytsalkov/meekrodb/db.class.php on line 934, referer: https://protectvault.engisoft.com/index.php?page=import

Teampass 10 last system errors.

THANKS FOR YOUR WORK AND HELP!!

lblantana commented 3 months ago

We found that regardless of what the upload settings are, Keepass XML files larger than 1MB or so fail to import, nothing happens. We split them up into smaller segments, and then uploads would complete (with some follow-up issues). If your Keepass XML is larger than 1MB, maybe try splitting it up.

silfius commented 2 months ago

Thanks for your answer, but the size of my XML is only 154 KB. I have tried again in version 3.1.2.45 with the same result. @lblantana .

We found that regardless of what the upload settings are, Keepass XML files larger than 1MB or so fail to import, nothing happens. We split them up into smaller segments, and then uploads would complete (with some follow-up issues). If your Keepass XML is larger than 1MB, maybe try splitting it up.