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.