<?xml version="1.0"?>
<!-- $Id$ -->
<configuration>
- <configtab name="utils" desc="External Utilities and Menu">
- <configsection name="spell">
- <configheader>Spell Checker</configheader>
- <configswitch name="driver" required="false" desc="Choose a Spell Checking backend">
- <case name="" desc="None" />
- <case name="aspell" desc="aspell (command line)">
- <configsection name="params">
- <configstring name="path" required="false" desc="Enter the location of
- the aspell binary" />
- </configsection>
- </case>
- </configswitch>
- </configsection>
- <configsection name="utils">
- <configheader>External Utilities</configheader>
- <configstring name="gnupg" required="false" desc="If you want users to have
- the option of using the GNU Privacy Guard program to decrypt/encrypt PGP
- files, enter the location of the 'gpg' binary here. If this is empty this
- feature will be disabled."/>
- <configmultienum name="gnupg_keyserver" required="false" desc="The address
- of the public PGP keyserver(s) to use.">pgp.mit.edu
- <values>
- <value>pgp.mit.edu</value>
- <value>keyserver.noreply.org</value>
- </values>
- </configmultienum>
- <configinteger name="gnupg_timeout" required="false" desc="The timeout for
- connecting to the PGP keyserver. Timeouts are not supported on all
- systems.">10</configinteger>
- <configstring name="openssl_cafile" required="false" desc="The location of
- the root certificates bundle, e.g. /etc/ssl/certs. See
- http://www.php.net/manual/en/ref.openssl.php#openssl.cert.verification for
- details."/>
- <configstring name="openssl_binary" required="false" desc="The location of
- the OpenSSL binary on your system, e.g. /usr/bin/openssl. This program is
- REQUIRED to import personal S/MIME certificate information, as there is no
- native PHP function that can read pkcs12 files."/>
- </configsection>
-
+ <configtab name="menu" desc="Menu">
<configsection name="menu">
<configheader>Menu settings</configheader>
<configmultienum name="apps" desc="Select any applications that should be
'members' => array('conflict_interval')
);
-if (isset($GLOBALS['conf']['utils']['gnupg'])) {
+if (isset($GLOBALS['conf']['gnupg']['path'])) {
$prefGroups['pgp'] = array(
'column' => _("Other Options"),
'label' => _("PGP Options"),
);
}
-if (Horde_Util::extensionExists('openssl') && isset($GLOBALS['conf']['utils']['openssl_binary'])) {
+if (Horde_Util::extensionExists('openssl') && isset($GLOBALS['conf']['openssl']['path'])) {
$prefGroups['smime'] = array(
'column' => _("Other Options"),
'label' => _("S/MIME Options"),
You must use the 2.x branch of Gollem with IMP 5.x.
-6. aspell - Spelling Checker
-
- Aspell, a comand-line program, is used as IMP's spell-checking engine.
- You must install and configure aspell to use IMP's spell-check feature.
-
- Version 0.60 or higher is REQUIRED.
-
- You can obtain aspell from:
-
- http://aspell.sourceforge.net/
-
-7. A web server with PATH_INFO support.
+6. A web server with PATH_INFO support.
IMP requires the PATH_INFO environment variable for several features. Every
modern web server supports this, but you might have to enable this feature
create the information using other server variables, but this process is
slower and less reliable.
-8. A configured VFS backend.
+7. A configured VFS backend.
During composition of messages, it is possible that the PHP session may
timeout. If VFS is enabled in Horde, IMP can store the draft message and
* old attachment icon handling see atc_flag pref
* imp_hook_msglist_flags hook now used to dynamically set flags on messages
* maintenance tasks
-* tos_agreement (moved to Horde)
+* tos_agreement, gnupg, openssl, spellchecking (moved to Horde)
/* Set up the base message now. */
$encrypt = empty($options['encrypt']) ? 0 : $options['encrypt'];
if ($GLOBALS['prefs']->getValue('use_pgp') &&
- !empty($GLOBALS['conf']['utils']['gnupg']) &&
+ !empty($GLOBALS['conf']['gnupg']['path']) &&
in_array($encrypt, array(IMP::PGP_ENCRYPT, IMP::PGP_SIGN, IMP::PGP_SIGNENC, IMP::PGP_SYM_ENCRYPT, IMP::PGP_SYM_SIGNENC))) {
$imp_pgp = Horde_Crypt::singleton(array('IMP', 'Pgp'));
public function __construct()
{
parent::__construct(array(
- 'program' => $GLOBALS['conf']['utils']['gnupg'],
+ 'program' => $GLOBALS['conf']['gnupg']['path'],
'temp' => Horde::getTempDir()
));
}
{
global $conf;
- if (empty($conf['utils']['gnupg_keyserver'])) {
+ if (empty($conf['gnupg']['keyserver'])) {
throw new Horde_Exception(_("Public PGP keyserver support has been disabled."));
}
- $timeout = (empty($conf['utils']['gnupg_timeout'])) ? PGP_KEYSERVER_TIMEOUT : $conf['utils']['gnupg_timeout'];
+ $timeout = empty($conf['gnupg']['timeout'])
+ ? Horde_Crypt_Pgp::KEYSERVER_TIMEOUT
+ : $conf['gnupg']['timeout'];
if ($method == 'put') {
- return $this->putPublicKeyserver($data, $conf['utils']['gnupg_keyserver'][0], $timeout);
+ return $this->putPublicKeyserver($data, $conf['gnupg']['keyserver'][0], $timeout);
}
- foreach ($conf['utils']['gnupg_keyserver'] as $server) {
+ foreach ($conf['gnupg']['keyserver'] as $server) {
try {
return $this->getPublicKeyserver($data, $server, $timeout, $additional);
} catch (Horde_Exception $e) {}
*/
public function verifySignature($text)
{
- return $this->verify($text, empty($GLOBALS['conf']['utils']['openssl_cafile']) ? array() : $GLOBALS['conf']['utils']['openssl_cafile']);
+ return $this->verify($text, empty($GLOBALS['conf']['openssl']['cafile']) ? array() : $GLOBALS['conf']['openssl']['cafile']);
}
*/
public function addFromPKCS12($pkcs12, $password, $pkpass = null)
{
- $sslpath = (empty($GLOBALS['conf']['utils']['openssl_binary'])) ? null : $GLOBALS['conf']['utils']['openssl_binary'];
+ $sslpath = empty($GLOBALS['conf']['openssl']['path'])
+ ? null
+ : $GLOBALS['conf']['openssl']['path'];
+
$params = array('sslpath' => $sslpath, 'password' => $password);
if (!empty($pkpass)) {
$params['newpassword'] = $pkpass;
*/
public function extractSignedContents($data)
{
- $sslpath = empty($GLOBALS['conf']['utils']['openssl_binary'])
+ $sslpath = empty($GLOBALS['conf']['openssl']['path'])
? null
- : $GLOBALS['conf']['utils']['openssl_binary'];
+ : $GLOBALS['conf']['openssl']['path'];
return parent::extractSignedContents($data, $sslpath);
}
$enc_opts = array(self::ENCRYPT_NONE => _("No Encryption"));
$output = '';
- if (!empty($GLOBALS['conf']['utils']['gnupg']) &&
+ if (!empty($GLOBALS['conf']['gnupg']['path']) &&
$GLOBALS['prefs']->getValue('use_pgp')) {
$enc_opts += array(
self::PGP_ENCRYPT => _("PGP Encrypt Message"),
protected function _renderInline()
{
if (empty($this->_imppgp) &&
- !empty($GLOBALS['conf']['utils']['gnupg'])) {
+ !empty($GLOBALS['conf']['gnupg']['path'])) {
$this->_imppgp = Horde_Crypt::singleton(array('IMP', 'Pgp'));
}
$status = &self::$_inlinecache[$base_id][$base_id]['status'][0]['text'];
/* Is PGP active? */
- if (empty($GLOBALS['conf']['utils']['gnupg']) ||
+ if (empty($GLOBALS['conf']['gnupg']['path']) ||
!$GLOBALS['prefs']->getValue('use_pgp')) {
$status[] = _("The message below has been encrypted via PGP, however, PGP support is disabled so the message cannot be decrypted.");
return null;
$status = &$ret[$base_id]['status'][0]['text'];
if (!$GLOBALS['prefs']->getValue('use_pgp') ||
- empty($GLOBALS['conf']['utils']['gnupg'])) {
+ empty($GLOBALS['conf']['gnupg']['path'])) {
/* If PGP not active, hide signature data and output status
* information. */
$status[] = _("The message below has been digitally signed via PGP, but the signature cannot be verified.");
*/
public function embeddedMimeParts()
{
- return (!empty($GLOBALS['conf']['utils']['gnupg']) && $GLOBALS['prefs']->getValue('pgp_scan_body')) || $this->getConfigParam('uudecode');
+ return (!empty($GLOBALS['conf']['gnupg']['path']) && $GLOBALS['prefs']->getValue('pgp_scan_body')) || $this->getConfigParam('uudecode');
}
/**
{
$ret = null;
- if (!empty($GLOBALS['conf']['utils']['gnupg']) &&
+ if (!empty($GLOBALS['conf']['gnupg']['path']) &&
$GLOBALS['prefs']->getValue('pgp_scan_body')) {
$ret = $this->_parsePGP();
}