mirror of https://github.com/MISP/MISP
chg: Allow to load Crypt_GPG from composer
parent
eebeeb9804
commit
863e38807d
|
@ -4330,8 +4330,17 @@ class Server extends AppModel
|
|||
if (Configure::read('GnuPG.email') && Configure::read('GnuPG.homedir')) {
|
||||
$continue = true;
|
||||
try {
|
||||
require_once 'Crypt/GPG.php';
|
||||
$gpg = new Crypt_GPG(array('homedir' => Configure::read('GnuPG.homedir'), 'gpgconf' => Configure::read('GnuPG.gpgconf'), 'binary' => (Configure::read('GnuPG.binary') ? Configure::read('GnuPG.binary') : '/usr/bin/gpg')));
|
||||
if (!class_exists('Crypt_GPG')) {
|
||||
if (!stream_resolve_include_path('Crypt/GPG.php')) {
|
||||
throw new Exception("Crypt_GPG is not installed");
|
||||
}
|
||||
require_once 'Crypt/GPG.php';
|
||||
}
|
||||
$gpg = new Crypt_GPG(array(
|
||||
'homedir' => Configure::read('GnuPG.homedir'),
|
||||
'gpgconf' => Configure::read('GnuPG.gpgconf'),
|
||||
'binary' => Configure::read('GnuPG.binary') ?: '/usr/bin/gpg'
|
||||
));
|
||||
} catch (Exception $e) {
|
||||
$gpgStatus = 2;
|
||||
$continue = false;
|
||||
|
|
|
@ -306,8 +306,7 @@ class User extends AppModel
|
|||
|
||||
// we have a clean, hopefully public, key here
|
||||
try {
|
||||
require_once 'Crypt/GPG.php';
|
||||
$gpg = new Crypt_GPG(array('homedir' => Configure::read('GnuPG.homedir'), 'gpgconf' => Configure::read('GnuPG.gpgconf'), 'binary' => (Configure::read('GnuPG.binary') ? Configure::read('GnuPG.binary') : '/usr/bin/gpg')));
|
||||
$gpg = $this->initializeGpg();
|
||||
try {
|
||||
$keyImportOutput = $gpg->importKey($check['gpgkey']);
|
||||
if (!empty($keyImportOutput['fingerprint'])) {
|
||||
|
@ -379,7 +378,7 @@ class User extends AppModel
|
|||
return preg_match($regex, $value);
|
||||
}
|
||||
|
||||
public function identicalFieldValues($field=array(), $compareField=null)
|
||||
public function identicalFieldValues($field = array(), $compareField = null)
|
||||
{
|
||||
foreach ($field as $key => $value) {
|
||||
$v1 = $value;
|
||||
|
@ -450,10 +449,9 @@ class User extends AppModel
|
|||
{
|
||||
if (!$gpg) {
|
||||
try {
|
||||
require_once 'Crypt/GPG.php';
|
||||
$gpg = new Crypt_GPG(array('homedir' => Configure::read('GnuPG.homedir'), 'gpgconf' => Configure::read('GnuPG.gpgconf'), 'binary' => (Configure::read('GnuPG.binary') ? Configure::read('GnuPG.binary') : '/usr/bin/gpg')));
|
||||
$gpg = $this->initializeGpg();
|
||||
} catch (Exception $e) {
|
||||
$result[2] ='GnuPG is not configured on this system.';
|
||||
$result[2] = 'GnuPG is not configured on this system.';
|
||||
$result[0] = true;
|
||||
return $result;
|
||||
}
|
||||
|
@ -499,7 +497,6 @@ class User extends AppModel
|
|||
|
||||
public function verifyGPG($id = false)
|
||||
{
|
||||
require_once 'Crypt/GPG.php';
|
||||
$this->Behaviors->detach('Trim');
|
||||
$results = array();
|
||||
$conditions = array('not' => array('gpgkey' => ''));
|
||||
|
@ -513,7 +510,7 @@ class User extends AppModel
|
|||
if (empty($users)) {
|
||||
return $results;
|
||||
}
|
||||
$gpg = new Crypt_GPG(array('homedir' => Configure::read('GnuPG.homedir'), 'gpgconf' => Configure::read('GnuPG.gpgconf'), 'binary' => (Configure::read('GnuPG.binary') ? Configure::read('GnuPG.binary') : '/usr/bin/gpg')));
|
||||
$gpg = $this->initializeGpg();
|
||||
foreach ($users as $k => $user) {
|
||||
$results[$user['User']['id']] = $this->verifySingleGPG($user, $gpg);
|
||||
}
|
||||
|
@ -1217,9 +1214,9 @@ class User extends AppModel
|
|||
public function verifyPassword($user_id, $password)
|
||||
{
|
||||
$currentUser = $this->find('first', array(
|
||||
'conditions' => array('User.id' => $user_id),
|
||||
'recursive' => -1,
|
||||
'fields' => array('User.password')
|
||||
'conditions' => array('User.id' => $user_id),
|
||||
'recursive' => -1,
|
||||
'fields' => array('User.password')
|
||||
));
|
||||
if (empty($currentUser)) {
|
||||
return false;
|
||||
|
@ -1253,4 +1250,26 @@ class User extends AppModel
|
|||
$this->save($admin);
|
||||
return $authKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Crypt_GPG
|
||||
* @throws Exception
|
||||
*/
|
||||
private function initializeGpg()
|
||||
{
|
||||
if (!class_exists('Crypt_GPG')) {
|
||||
if (!stream_resolve_include_path('Crypt/GPG.php')) {
|
||||
throw new Exception("Crypt_GPG is not installed.");
|
||||
}
|
||||
require_once 'Crypt/GPG.php';
|
||||
}
|
||||
|
||||
$options = array(
|
||||
'homedir' => Configure::read('GnuPG.homedir'),
|
||||
'gpgconf' => Configure::read('GnuPG.gpgconf'),
|
||||
'binary' => Configure::read('GnuPG.binary') ?: '/usr/bin/gpg',
|
||||
);
|
||||
|
||||
return new Crypt_GPG($options);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue