allow to store (user specific) s/mime private keys in mail account

This commit is contained in:
Ralf Becker 2017-01-25 11:39:31 +01:00
parent 3a42900eb6
commit 75a83fa35c
4 changed files with 35 additions and 4 deletions

View File

@ -12,7 +12,7 @@
/* Basic information about this app */
$setup_info['api']['name'] = 'api';
$setup_info['api']['title'] = 'EGroupware API';
$setup_info['api']['version'] = '16.1.005';
$setup_info['api']['version'] = '16.9.001';
$setup_info['api']['versions']['current_header'] = '1.29';
$setup_info['api']['enable'] = 3;
$setup_info['api']['app_order'] = 1;

View File

@ -463,7 +463,7 @@ $phpgw_baseline = array(
'cred_type' => array('type' => 'int','precision' => '1','nullable' => False,'comment' => '&1=imap, &2=smtp, &4=admin'),
'account_id' => array('type' => 'int','meta' => 'user','precision' => '4','nullable' => False,'comment' => 'account_id or 0=all'),
'cred_username' => array('type' => 'varchar','precision' => '80','nullable' => False,'comment' => 'username'),
'cred_password' => array('type' => 'varchar','precision' => '80','comment' => 'password encrypted'),
'cred_password' => array('type' => 'varchar','precision' => '9600','comment' => 'password encrypted'),
'cred_pw_enc' => array('type' => 'int','precision' => '1','default' => '0','comment' => '0=not, 1=user pw, 2=system')
),
'pk' => array('cred_id'),

View File

@ -192,3 +192,29 @@ HAVING COUNT(*) > 1', __LINE__, __FILE__, 0, $junk_size, false, Api\Db::FETCH_AS
return $GLOBALS['setup_info']['api']['currentver'] = '16.1.005';
}
/**
* Update to 17.1 development as 16.9
*
* @return string
*/
function api_upgrade16_1_005()
{
return $GLOBALS['setup_info']['api']['currentver'] = '16.9';
}
/**
* Give egw_ea_credentials.cred_password size 9600 to accomodate private s/mime keys
*
* @return string
*/
function api_upgrade16_9()
{
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_ea_credentials','cred_password',array(
'type' => 'varchar',
'precision' => '9600',
'comment' => 'password encrypted'
));
return $GLOBALS['setup_info']['api']['currentver'] = '16.9.001';
}

View File

@ -59,9 +59,13 @@ class Credentials
*/
const ADMIN = 8;
/**
* All credentials IMAP|SMTP|ADMIN
* Credentials for admin connection
*/
const ALL = 11;
const SMIME = 16;
/**
* All credentials IMAP|SMTP|ADMIN|SMIME
*/
const ALL = 27;
/**
* Password in cleartext
@ -108,6 +112,7 @@ class Credentials
self::IMAP => 'acc_imap_',
self::SMTP => 'acc_smtp_',
self::ADMIN => 'acc_imap_admin_',
self::SMIME => 'acc_smime_',
);
/**