A remote code execution vulnerability exists in Microsoft Agent in the way that it handles certain specially crafted URLs. The risk is HIGH. Remote code execution.
Agent::Channel(3pm) User Contributed Perl Documentation Agent::Channel(3pm)NAME
Log::Agent::Channel - ancestor class for all Log::Agent channels
SYNOPSIS
@Log::Agent::Channel::XXX::ISA = qw(Log::Agent::Channel);
DESCRIPTION
The "Log::Agent::Channel" class is the root class from which all "Log::Agent" channels inherit. It is a deferred class, meaning that it
cannot be instantiated directly. All the deferred routines need to be implemented by its heirs to form a valid driver.
Internally, the various "Log::Agent::Driver" objects create "Log::Agent::Channel" instances for each logging channel defined at driver
creation time. The channels are therefore architecturally hidden within "Log::Agent", since this module only provides redefined mappings
for the various logxxx() routines (logerr(), logwarn(), logdie(), etc...).
However, this does not mean that channel classes cannot be used externally: the "Log::Agent::Logger" extension makes "Log::Agent::Channel"
objects architecturally visible, thereby offering an application-level logging API that can be redirected to various places transparently
for the application.
CHANNEL LIST
The following channels are currently made available by "Log::Agent". More channels can be defined by the "Log::Agent::Logger" extension:
Log::Agent::Channel::File
This channel writes logs to files, defined by their path or via a magical opening sequence such as "|cmd". See
Log::Agent::Channel::File.
Log::Agent::Channel::Handle
This channel writes logs to an already opened descriptor, as specified by its file handle: an IO::Handle object, or a GLOB reference
such as *FILE. See Log::Agent::Channel::Handle.
Log::Agent::Channel::Syslog
This channel redirects logs to the syslogd(8) daemon, which will then handle the dispatching to various logfiles, based on its own
configuration. See Log::Agent::Channel::Syslog.
INTERFACE
You need not read this section if you're only using "Log::Agent". However, if you wish to implement another channel, then this section
might be of interest.
The following routines are deferred and therefore need to be defined by the heir:
write($priority, $logstring)
Emit the log entry held in $logstring, at priority $priority. A trailing "
" is added to the $logstring, if needed (i.e. if the
physical entity does not do it already, like syslog does).
The $priority argument must be a valid syslog priority, i.e. one of the following strings: "emerg", "alert", "crit", "err", "warning",
"notice", "info", "debug".
The $logstring may not really be a plain string. It can actually be a Log::Agent::Message object with an overloaded stringification
routine, so the illusion should be complete.
close
Close the channel.
make
This is the creation routine. Its signature varies for each channel, naturally.
AUTHOR
Raphael Manfredi <Raphael_Manfredi@pobox.com>
SEE ALSO Log::Agent::Channel::File(3), Log::Agent::Channel::Handle(3), Log::Agent::Channel::Syslog(3), Log::Agent::Logger(3).
perl v5.10.0 2002-03-09 Agent::Channel(3pm)