Oberon || Library || Module Index || Search Engine || Definition || Module


Ulm's Oberon Library:
FTPLoggers


NAME

FTPLoggers - interface for FTP loggers

SYNOPSIS

TYPE Event = POINTER TO EventRec;
TYPE EventRec =
      RECORD
         (Events.EventRec)
         request: FTPRequests.Request;
         response: FTPResponses.Response;
         errors: RelatedEvents.Object;
      END;


PROCEDURE Log(session: FTPSessions.Session; request: FTPRequests.Request; response: FTPResponses.Response);

PROCEDURE GetEventType(session: FTPSessions.Session; VAR eventType: Events.EventType);

DESCRIPTION

FTPLoggers provides an interface between a FTP command processing unit and all parties that are interested in logging all requests (see FTPRequests) together with their responses (see FTPResponses) and possible error events in their context.

FTP command processing units are expected to call Log for session after returning response on request. All error events found related to session (see RelatedEvents) will be removed.

GetEventType returns an event type for session that is used by Log to distribute logging events to all interested parties.

SECURITY CONSIDERATIONS

Error events that result from FTP operations should not be leaked to the FTP client but, if necessary, converted into a general error code. They should be logged instead to allow problems to be analyzed by the administrator of a FTP server.

Note, however, that not all error events indicate real error situations as error events may result from harmless tests. FTPUnixFileSystems, for example, checks a given filename for existance and for being a symbolic link (see FTPUnixPaths) before opening it for writing. This causes most STOR operations to be logged together with an error event while a success indication might have returned to the FTP client.

SEE ALSO

FTPLogPrinter
standard handler of FTP logging events that prints all requests and responses to a given stream

Edited by: borchert, last change: 2001/05/08, revision: 1.2, converted to HTML: 2001/05/08

Oberon || Library || Module Index || Search Engine || Definition || Module