PRODUCT, VERSION, MICROUPDATE, OPERATING SYSTEM, ARCHITECTURE
Plesk, 11.0.9, #10, Debian 6.0.5, x86_64
PROBLEM DESCRIPTION
Enabling enhanced security mode with admin password > 32 characters causes mailmng and dnsmng exceptions that can result in webspace, domain and psa database corruption.
STEPS TO REPRODUCE
Fresh install of Plesk 11.0.9 #10 with admin password of 33 characters in length.
Success Test: Activate/deactivate mail services on a domain will work.
Enable Enhanced Security mode.
Fail Test: Activate/deactivate mail services on a domain will fail.
ACTUAL RESULT
Activate/deactivate mail services on a domain will fail with the exception in additional information.
Multiple features (eg delete webspace) will fail with errors related to: mailmng/dnsmng failed: Unable to connect to Plesk Database: Access denied for user 'admin'@'localhost' (using password: YES)
EXPECTED RESULT
All features should work as they did prior to enabling enhanced security mode.
Any limits on maximum password length should be documented and enforced in the password fields with appropriate warnings to prevent errors.
Exceptions related to mailmng and dnsmng operations should be better handled to leave the system in a consistent or recoverable state.
ANY ADDITIONAL INFORMATION
All exceptions are related to: mailmng/dnsmng failed: Unable to connect to Plesk Database: Access denied for user 'admin'@'localhost' (using password: YES)
mail_Facade->setReject() failed: exception 'mail_Exception_ManagerExecution' with message 'mailmng failed: Unable to connect to Plesk Database: Access denied for user 'admin'@'localhost' (using password: YES)' in /opt/psa/admin/plib/mail/Manager.php:186
Stack trace:
#0 /opt/psa/admin/plib/mail/Manager.php(379): mail_Manager->callMailMngWithException('set-reject', Array)
#1 /opt/psa/admin/plib/mail/Facade.php(44): mail_Manager->setReject('domain...')
#2 /opt/psa/admin/plib/DSMail.php(103): mail_Facade->setReject('domain...', false)
#3 [internal function]: DSMail->update(false)
#4 /opt/psa/admin/plib/Transaction/WebspaceObjectCallWrapper.php(35): call_user_func_array(Array, Array)
#5 /opt/psa/admin/plib/ui/client.domain.mail.properties.php(112): Transaction_WebspaceObjectCallWrapper->__call('update', Array)
#6 /opt/psa/admin/plib/ui/client.domain.mail.properties.php(112): Transaction_WebspaceMailService->update(false)
#7 /opt/psa/admin/plib/UIPointer.php(595): plesk__client__domain__mail__properties->accessItem('POST', NULL)
#8 /opt/psa/admin/htdocs/plesk.php(45): UIPointer->access('POST')
#9 {main}
0: DSMail.php:107
DSMail->update(boolean false)
1: :
call_user_func_array(array, array)
2: WebspaceObjectCallWrapper.php:35
Transaction_WebspaceObjectCallWrapper->__call(string 'update', array)
3: client.domain.mail.properties.php:112
Transaction_WebspaceMailService->update(boolean false)
4: client.domain.mail.properties.php:112
plesk__client__domain__mail__properties->accessItem(string 'POST', NULL null)
5: UIPointer.php:595
UIPointer->access(string 'POST')
6: plesk.php:45