Fixed ext storage password field order issue
The old password field is now preserved in the JSON structure to make sure that the order is preserved. This is a quick fix until the UI is fixed to not rely on the PHP array key order.
This commit is contained in:
parent
5b6c36347b
commit
9116c39a82
|
@ -50,6 +50,7 @@ class OC_Mount_Config {
|
|||
*/
|
||||
public static function getBackends() {
|
||||
|
||||
// FIXME: do not rely on php key order for the options order in the UI
|
||||
$backends['\OC\Files\Storage\Local']=array(
|
||||
'backend' => 'Local',
|
||||
'configuration' => array(
|
||||
|
@ -649,7 +650,9 @@ class OC_Mount_Config {
|
|||
private static function encryptPasswords($options) {
|
||||
if (isset($options['password'])) {
|
||||
$options['password_encrypted'] = self::encryptPassword($options['password']);
|
||||
unset($options['password']);
|
||||
// do not unset the password, we want to keep the keys order
|
||||
// on load... because that's how the UI currently works
|
||||
$options['password'] = '';
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
|
|
|
@ -245,6 +245,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
|
|||
$this->assertEquals('\OC\Files\Storage\SMB', $config['ext']['class']);
|
||||
$savedMountConfig = $config['ext']['configuration'];
|
||||
$this->assertEquals($mountConfig, $savedMountConfig);
|
||||
// key order needs to be preserved for the UI...
|
||||
$this->assertEquals(array_keys($mountConfig), array_keys($savedMountConfig));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -281,6 +283,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
|
|||
$this->assertEquals('\OC\Files\Storage\SMB', $config['ext']['class']);
|
||||
$savedMountConfig = $config['ext']['configuration'];
|
||||
$this->assertEquals($mountConfig, $savedMountConfig);
|
||||
// key order needs to be preserved for the UI...
|
||||
$this->assertEquals(array_keys($mountConfig), array_keys($savedMountConfig));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -316,8 +320,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
|
|||
$config = $this->readUserConfig();
|
||||
$savedConfig = $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options'];
|
||||
|
||||
// no more clear text password in file
|
||||
$this->assertFalse(isset($savedConfig['password']));
|
||||
// no more clear text password in file (kept because of key order)
|
||||
$this->assertEquals('', $savedConfig['password']);
|
||||
|
||||
// encrypted password is present
|
||||
$this->assertNotEquals($mountConfig['password'], $savedConfig['password_encrypted']);
|
||||
|
|
Loading…
Reference in New Issue