SMTPControl.mesa
The implementation module for Control contains the command interpreter and interactive write-arounds for public procedures.
Last Edited by: DCraft, December 21, 1983 8:21 pm
Last Edited by: Taft, January 22, 1984 12:38:12 pm PST
Last Edited by: HGM, April 26, 1984 11:24:07 pm PST
John Larson, July 21, 1987 1:55:53 am PDT
DIRECTORY
BasicTime USING [GMT],
GVBasics USING [Password],
IPDefs USING [DByte],
Rope USING [ROPE],
SMTPSupport USING [LogPriority];
SMTPControl: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
Constants controlling server behavior
The following "constants" are defined in the impl so they can be changed w/o recompiling the defs. [Also, because ropes generate code!]
xeroxDomain: ROPE; -- the SMTP domain name for this server
arpaMSPort: IPDefs.DByte; -- the TCP port for SMTP
gvMSName: ROPE; -- the name of this server (primarily for logging)
longGVMSName: ROPE;
defaultLogAcceptPriority: SMTPSupport.LogPriority; -- the default minimum acceptance priority for log entries
defaultInhibitTime: INT; -- the default time for which queues/ queue elements will be automatically inhibited
itemExpiryTimeout: INT; -- time after which mail items should be returned to sender if not delivered
notifyManagerNames: LIST OF ROPE; -- the path names of managers who should be notified of problems
arpaExceptions: LIST OF ROPE; -- send info on header parsing troubles here
deadLetterName: ROPE; -- the dead letter box to which bad items, etc. should be sent
deadLetterSenderName: ROPE; -- dead letter daemon
deadLetterPath: ROPE; -- arpa version of deadLetterSenderName
defaultRegistry: ROPE; -- .PA
startTime: BasicTime.GMT;
Access to the logged in user
LoggedInUser: PROC RETURNS [name: ROPE, password: GVBasics.Password, acl: AccessControlList];
! NoLoggedInUser
AccessControlList: TYPE = {none, regFriend, regOwner}; -- GV acl w.r.t. the gvMSName
accessControlListNames: ARRAY AccessControlList OF ROPE; -- printable
NoLoggedInUser: ERROR;
Control of reception demons
OKToAcceptGVInput: PROC RETURNS [ok: BOOL, whyNot: ROPE];
Returns whether, based on system load, it is OK to accept an input request from Grapevine.
OKToAcceptSMTPInput: PROC RETURNS [ok: BOOL, whyNot: ROPE];
Returns whether, based on system load, it is OK to accept an input request from Arpanet.
END.