NAME
EMDIS::ECS::Config - ECS configuration data
SYNOPSIS
use EMDIS::ECS::Config;
$cfg = new EMDIS::ECS::Config("ecs.cfg");
$cfg->display();
print "ECS data directory: " . $cfg->ECS_DAT_DIR . "\n";
DESCRIPTION
ECS configuration object. Parses configuration file, performs basic validation of configuration, and provides interface to configuration settings.
Modifiable Configuration Settings
- ACK_THRES
-
seq_num threshold for deleting outbound messages
- ADAPTER_CMD
-
executable command for use by MSG_PROC; for example:
fml2pars.pl -mdf emdis-v31.mdf -proc msg_proc.pl $1 $2 $3
- ADM_ADDR
-
email address(es) of ECS administrator(s) (separated by comma)
- ALWAYS_ACK
-
YES/NO value. If set to YES, the ecs_scan_mail program sends a MSG_ACK meta message after each successfully processed incoming message. Otherwise, the ecs_chk_com program will periodically send MSG_ACK messages, for those nodes with in_seq_ack less than in_seq.
- AMQP_ADDR_DOC
-
AMQP queue (or address) for inbound documents.
- AMQP_ADDR_META
-
AMQP queue (or address) for inbound META messages
- AMQP_ADDR_MSG
-
AMQP queue (or address) for inbound EMDIS messages
- AMQP_BROKER_URL
-
URL for AMQP broker, e.g. amqps://msg01.emdis.net
- AMQP_CMD_RECV
-
AMQP receive command, e.g. ecs_amqp_recv.py
- AMQP_CMD_SEND
-
AMQP send command, e.g. ecs_amqp_send.py
- AMQP_DEBUG_LEVEL
-
AMQP debug output level, e.g. 0
- AMQP_PASSWORD
-
Password for AMQP SASL PLAIN authentication (see also AMQP_USERNAME)
- AMQP_RECV_TIMEOUT
-
Inactivity timeout threshold, in seconds, before tearing down AMQP receiver link. E.g. 5
- AMQP_RECV_TIMELIMIT
-
Time limit, in seconds, after which AMQP_CMD_RECV command is forcibly terminated.
- AMQP_SEND_TIMELIMIT
-
Time limit, in seconds, after which AMQP_CMD_SEND command is forcibly terminated.
- AMQP_SSLCERT
-
Client-side SSL certificate for AMQP communications. E.g. sslcert.pem (see also AMQP_SSLKEY, AMQP_SSLPASS)
- AMQP_SSLKEY
-
Client-side SSL secret key for AMQP communications. E.g. sslkey.pem (see also AMQP_SSLCERT, AMQP_SSLPASS)
- AMQP_SSLPASS
-
Password for AMQP_SSLKEY (see also AMQP_SSLCERT)
- AMQP_TRUSTSTORE
-
Trust store for verifying SSL connection to AMQP broker, e.g. truststore.pem
- AMQP_USERNAME
-
User name for AMQP SASL PLAIN authentication (see also AMQP_PASSWORD)
- AMQP_VHOST
-
AMQP broker virtual host namespace (if needed), e.g. default
- BCK_DIR
-
backup directory for incoming messages (or NONE)
- ECS_BIN_DIR
-
directory containing ECS scripts (typically set to __SCRIPT_DIR__)
- ECS_DAT_DIR
-
directory containing ECS node_tbl, mboxes subdirectories, etc. (typically set to __CONFIG_DIR__)
- ECS_DEBUG
-
debug level for ECS
- ECS_FROM_DIR
-
location of a directory which has a subdirectory for each partner node; each subdirectory here holds files containing the decrypted payload for messages from the corresponding partner node
- ECS_TO_DIR
-
location of a directory which has a subdirectory for each partner node; each subdirectory here contains untransmitted outbound messages for the corresponding partner node
- ENABLE_AMQP
-
YES/NO value. If set to YES, enable use of AMQP messaging.
- ERR_FILE
-
full pathname of ECS error file (optional - defaults to program_name.err)
- GNU_TAR
-
location of GNU tar program; required for ecstool --archive command
- GPG_HOMEDIR
-
home directory for GnuPG (defines value for GNUPGHOME environment variable)
- GPG_KEYID
-
GnuPG key id for this node, for signing encrypted messages and creating encrypted messages that are decryptable by self
- GPG_PASSPHRASE
-
passphrase for GnuPG private key
- INBOX_DEBUG
-
debug level for mailbox interactions (using POP3/IMAP)
- INBOX_FOLDER
-
inbox folder, used by IMAP only
- INBOX_HOST
-
POP3/IMAP server name
- INBOX_MAX_MSG_SIZE
-
size limit for incoming email messages
- INBOX_PASSWORD
-
password for POP3/IMAP inbox
- INBOX_PORT
-
POP3/IMAP server port (default 110/143, or 995/993 if INBOX_USE_SSL is YES)
- INBOX_PROTOCOL
-
inbox protocol: DIRECTORY, POP3, IMAP, or NONE
- INBOX_TIMEOUT
-
time limit for mailbox interactions
- INBOX_USE_SSL
-
YES/NO value; default is NO. If set to YES, when reading inbox, use immediate SSL/TLS encryption on the POP3 or IMAP server connection. Mutually exclusive with INBOX_USE_STARTTLS.
- INBOX_USE_STARTTLS
-
YES/NO value; default is NO. If set to YES, when reading inbox, use STARTTLS to initiate SSL/TLS encryption on the POP3 or IMAP server connection. Mutually exclusive with INBOX_USE_SSL.
- INBOX_USERNAME
-
username for POP3/IMAP inbox
- DIRECTORY
-
Directory for message files for the DIRECTORY protocol
- INBOX_USERNAME
-
username for POP3/IMAP mailbox
- LOG_FILE
-
full pathname of ECS log file (optional - defaults to program_name.log)
- LOG_LEVEL
-
Numeric value which controls level of messages written to log files (0=debug, 1=info, 2=warn, 3=error, 4=fatal).
- M_MSG_PROC
-
command executed to process ECS meta-message
- MAIL_LEVEL
-
Numeric value which controls level of messages emailed to ECS administrators (0=debug, 1=info, 2=warn, 3=error, 4=fatal).
- MAIL_MRK
-
ECS mark in subject header of incoming email
- MSG_PART_SIZE_DFLT
-
Default message part maximum size, in bytes. Applies to nodes which do not have a msg_part_size value specified in the NODE_TBL. A node-specific, non-zero msg_part_size value in the NODE_TBL takes precedence over MSG_PART_SIZE_DFLT for that node. Refer to the EMDISCORD email parts RFC (RFC-20091021-EmailParts.pdf) for additional information about message parts.
- MSG_PROC
-
command executed to process FML message
- NODE_TBL
-
basename of node_tbl
- NODE_TBL_LCK
-
name of node_tbl lockfile
- OPENPGP_CMD_DECRYPT
-
template for OpenPGP decrypt command
- OPENPGP_CMD_ENCRYPT
-
template for OpenPGP encrypt command
- PGP_HOMEDIR
-
home directory for PGP (defined value for PGPPATH environment variable)
- PGP_KEYID
-
PGP key id for this node, for signing encrypted messages and creating encrypted messages that are decryptable by self
- PGP_PASSPHRASE
-
passphrase for PGP private key
- PGP2_CMD_DECRYPT
-
template for PGP2 decrypt command
- PGP2_CMD_ENCRYPT
-
template for PGP2 encrypt command
- SMTP_DEBUG
-
debug level for outgoing email (SMTP) communications
- SMTP_DOMAIN
-
mail domain
- SMTP_FROM
-
email "from" address
- SMTP_HOST
-
SMTP server hostname
- SMTP_PASSWORD
-
password for SMTP server
- SMTP_PORT
-
SMTP server port, typically 25, 465, or 587 (465 if SMTP_USE_SSL is selected, 587 if SMTP_USE_STARTTLS is selected)
- SMTP_TIMEOUT
-
maximum time, in seconds, to wait for response from SMTP server
- SMTP_USE_SSL
-
YES/NO value; default is NO. If set to YES, when sending email, use immediate SSL/TLS encryption on the SMTP server connection. Mutually exclusive with SMTP_USE_STARTTLS.
- SMTP_USE_STARTTLS
-
YES/NO value; default is NO. If set to YES, when sending mail, use STARTTLS to initiate SSL/TLS encryption on the SMTP server connection. Mutually exclusive with SMTP_USE_SSL.
- SMTP_USERNAME
-
username for SMTP server
- T_ADM_DELAY
-
seconds after detection of communication loss to delay notification of administrator (this may be useful to reduce the number of comm loss "nag" emails)
- T_ADM_REMIND
-
seconds to wait before repeating admin notification of communication loss
- T_CHK
-
seconds between ECS connection checks
- T_MSG_PROC
-
message processing time limit, in seconds
- T_RESEND_DELAY
-
seconds to delay before automatically sending a batch of RE_SEND requests
- T_SCN
-
seconds between scans of email inbox
- THIS_NODE
-
EMDIS id of this ECS node
Derived Configuration Settings
- ECS_DRP_DIR
-
"maildrop" directory: contains outbound FML messages created by the adapter program or the ecstool --maildrop command
- ECS_MBX_ACTIVE_DIR
-
"active" mailbox subdirectory (not currently used in this ECS implementation)
- ECS_MBX_DIR
-
"mboxes" (mailbox) directory: contains mailbox subdirectories
- ECS_MBX_IN_DIR
-
"in" mailbox subdirectory: all ECS messages received via email
- ECS_MBX_OUT_DIR
-
"out" mailbox subdirectory: all messages sent to local ECS administrator
- ECS_MBX_STORE_DIR
-
"store" mailbox subdirectory: ECS messages waiting to be processed, including early messages and any message from an unknown node
- ECS_MBX_TRASH_DIR
-
"trash" mailbox subdirectory: ECS messages that arrived more than one time which were discarded and never processed
- ECS_TMP_DIR
-
"tmp" directory: temporary files, typically ECS messages being passed to message processing scripts that are deleted after processing
SEE ALSO
EMDIS::ECS, EMDIS::ECS::FileBackedMessage, EMDIS::ECS::LockedHash, EMDIS::ECS::Message, ecs_setup
AUTHOR
Joel Schneider <jschneid@nmdp.org>
COPYRIGHT AND LICENSE
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Copyright (C) 2002-2020 National Marrow Donor Program. All rights reserved.
See LICENSE file for license details.
HISTORY
ECS, the EMDIS Communication System, was originally designed and implemented by the ZKRD (http://www.zkrd.de/). This Perl implementation of ECS was developed by the National Marrow Donor Program (http://www.marrow.org/).
2004-03-12 Canadian Blood Services - Tony Wai Added MS Windows support for Windows 2000 and Windows XP Added "DIRECTORY" inBox Protocol. This can interface with any mail system that can output the new messages to text files.