Previous: finger variables, Up: finger Analyzer



7.13.2 finger event handlers

The standard script defines one event handler:

finger_request (c: connection, request: string, full: bool)
Invoked upon connection c having made the request request. The full flag is true if the request included the “long format” option (which the event engine will have removed from the request).

The standard script flags long requests and truncates them as noted above, and then checks whether the request is for a name in hot_names. It then formats the request either by placing double quotation marks around it, or, if the request was empty—indicating a request for information on all users—the request is changed to the string ALL with no quotes around it.

If the originator already made a request, then this additional request is placed in parentheses (though multiple requests violate the Finger protocol). If the request was for the full format, then the text “(/W)” is appended to the request. Finally, the request is appended to the connection's field.

The event engine generates an additional event that the predefined finger script does not handle:

finger_reply (c: connection, reply_line: string)
Generated for each line of text sent in response to the originator's request.