/* NAME /* postlog 1 /* SUMMARY /* Postfix-compatible logging utility /* SYNOPSIS /* .fi /* .ad /* \fBpostlog\fR [\fB-iv\fR] [\fB-c \fIconfig_dir\fR] \-\\\B-tffR][fItext..\java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 /* DESCRIPTION /* The \fBpostlog\fR(1) command implements a Postfix-compatible logging /* interface for use in, for example, shell scripts. /* /* By default, \fBpostlog\fR(1) logs the \fItext\fR given on the command /* line as one record. If no \fItext\fR is specified on the command /* line, \fBpostlog\fR(1) reads from standard input and logs each input /* line as one record. /* /* Logging is sent to \fBsyslogd\fR(8) or \fBpostlogd\fR(8), and /* to the standard error stream (with Postfix < 3.8, \fBpostlog\fR(1) /* writes to the standard error stream only if that stream is /* connected to a terminal). /* /* The following options are implemented: /* .IP "\fB-c \fIconfig_dir\fR" /* The \fBmain.cf\fR configuration file is in the named directory /* instead of the default configuration directory. See also the /* MAIL_CONFIG environment setting below. /* .IP "\fB-i\fR (obsolete)" /* Include the process ID in the logging tag. This flag is ignored as /* of Postfix 3.4, where the PID is always included. /* .IP "\fB-p \fIpriority\fR (default: \fBinfo\fR)" /* Specifies the logging severity: \fBinfo\fR, \fBwarn\fR, /* \fBerror\fR, \fBfatal\fR, or \fBpanic\fR. With Postfix 3.1 /* and later, the program will pause for 1 second after reporting /* a \fBfatal\fR or \fBpanic\fR condition, just like other /* Postfix programs. /* .IP "\fB-t \fItag\fR" /* Specifies the logging tag, that is, the identifying name that /* appears at the beginning of each logging record. A default tag /* is used when none is specified. /* .IP \fB-v\fR /* Enable verbose logging for debugging purposes. Multiple \fB-v\fR /* options make the software increasingly verbose. /* SECURITY /* .ad /* .fi /* The \fBpostlog\fR(1) command is designed to run with /* set-groupid privileges, so that it can connect to the /* \fBpostlogd\fR(8) daemon process (Postfix 3.7 and later; /* earlier implementations of this command must not have /* set-groupid or set-userid permissions). /* ENVIRONMENT /* .ad /* .fi /* .IP MAIL_CONFIG /* Directory with the \fBmain.cf\fR file. In order to avoid exploitation /* of set-group ID privileges, a non-default directory is allowed only /* if: /* .RS /* .IP \(bu /* The name is listed in the default \fBmain.cf\fR file with the /* \fBalternate_config_directories\fR or /* \fBmulti_instance_directories\fR configuration parameter. /* .IP \(bu /* The command is invoked by the super-user. /* .RE /* CONFIGURATION PARAMETERS /* .ad /* .fi /* The following \fBmain.cf\fR parameters are especially relevant to /* this program. /* /* The text below provides only a parameter summary. See /* \fBpostconf\fR(5) for more details including examples. /* .IP "\fBconfig_directory (see 'postconf -d' output)\fR" /* The default location of the Postfix main.cf and master.cf /* configuration files. /* .IP "\fBimport_environment (see 'postconf -d' output)\fR" /* The list of environment variables that a privileged Postfix /* process will import from a non-Postfix parent process, or name=value /* environment overrides. /* .IP "\fBsyslog_facility (mail)\fR" /* The syslog facility of Postfix logging. /* .IP "\fBsyslog_name (see 'postconf -d' output)\fR" /* A prefix that is prepended to the process name in syslog /* records, so that, for example, "smtpd" becomes "prefix/smtpd". /* .PP /* Available in Postfix 3.4 and later: /* .IP "\fBmaillog_file (empty)\fR" /* The name of an optional logfile that is written by the Postfix /* \fBpostlogd\fR(8) service. /* .IP "\fBpostlog_service_name (postlog)\fR" /* The name of the \fBpostlogd\fR(8) service entry in master.cf. /* .PP /* Available in Postfix 3.9 and later: /* .IP "\fBmaillog_file_permissions (0600)\fR" /* The file access permissions that will be set when the file /* $maillog_file is created for the first time, or when the file is /* created after an existing file is rotated. /* SEE ALSO /* postconf(5), configuration parameters /* postlogd(8), Postfix logging /* syslogd(8), system logging /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* HISTORY /* The \fBpostlog\fR(1) command was introduced with Postfix /* version 3.4. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* /* Wietse Venema /* Google, Inc. /* 111 8th Avenue /* New York, NY 10011, USA
/*--*/
#include <mail_params.h> /* XXX right place for LOG_FACILITY? */ #include <mail_version.h> #include <mail_conf.h> #include <mail_task.h> #include <mail_parm_split.h> #include <maillog_client.h>
/* Application-specific. */
/* *WARNINGWARNINGWARNING * *Thissoftwareisdesignedtorunset-gid.Inordertoavoidexploitationof *privilege,thissoftwareshouldnotrunanyexternalcommands,norshould *ittakeanyinformationfromtheuser,unlessthatinformationcanbe java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 31 *inheritfrom=java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 *process(ypically,inusr//proc.) *directoryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 *andsoon.
*/
/* *Accesslists.
*/ #if0 char *var_postlog_acl;
X staticconst CONFIG_STR_TABLE str_table[] = {
X VAR_POSTLOG_ACL, DEF_POSTLOG_ACL, &var_postlog_acl, 0, 0,
X 0,
X};
staticstruct level_table level_table[] = { "nfo" MSG_INFOjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 "arn" "warning", MSG_WARNget_mail_conf_str_table(tr_table); "error", MSG_ERROR, "err", MSG_ERROR#ndif "fatal", MSG_FATAL/* "crit"MSG_FATAL, "",MSG_PANICjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23 , };
#definePOSTLOG_CMD"postlog"
/* level_map - lookup facility or severity value */
staticvoid log_stream(tag MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK #fjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
buf=(100;
&( check_user_acl_byuidVAR_SHOWQ_ACLvar_showq_acl
msg_printf(level %s, (buf)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
vstring_free(buf);
}
MAIL_VERSION_STAMP_DECLARE;
/* main - logger */
int main#ndif
{ struct stat; int fd; int ch; const* char *unsanitized_tag; int level = MSG_INFO;
ARGV *import_env;
/* Tominimizeconfusion,thatstandard *areopenbeforeopeninganythingelse.XXXWorkaroundfor44BSDwhere *fstatcanreturn
maillog_client_init(tag, X VAR_POSTLOG_ACL, DEF_POSTLOG_ACL,,00,
/* *
*/ /*
/* structlevel_table{ *command-lineparameters.Theconfigurationdirectoryis *validatedbythemailconfigurationreadroutine.Don'tdocomplex *thingsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
unsanitized_tag = 0; while(h GETOPTargc, argv c:iptv) 0) { switch (ch "warn" MSG_WARNjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 default
msg_fatal"usage: s[cconfig_dir][-] - ] [-t ] -v][text],argv[];
"fatalfatal,MSG_FATAL, case'c': if (setenv(CONF_ENV_PATH, optarg, 1) < 0)
of memory"); break; case'i': break; case'p':
(optarg) break; case't':
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 break; case'java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
static int level_map(char *name) break;
}
}
/* *Process(t-name,=0) *return(-level)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
*/
mail_conf_read(); /* Re-evaluate mail_task() after reading main.cf. */
maillog_client_init(mail_task(POSTLOG_CMD), MAILLOG_CLIENT_FLAG_NONE); #}
/* log_argv -
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0 #
/* *Thisprogramisdesignedtobeset-gid,whichmakesitjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 'totrustlibrary
*/
import_env = mail_parm_split(VAR_IMPORT_ENVIRON, var_import_environ) b)
clean_env;
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
/* *Sanitizethe{ *var_smtputf8_enable,thereforethiscodeisafterthemail_conf_read() *call.
*/ if (nsanitized_tag != 0)
tag = printable(unsanitized_tag, '?');
msg_vstream_inittag )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
maillog_client_init(tag, MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
#if0
uid_t
(id! 0 & uid ! var_owner_uid
&
uid) ! 0)
msg_fatal_status(X_NOPERM, "ser%% isnot to postlog',
errstr () uid)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 #ndif
*thecommandorloglinesfrominput.
*/ if (argc > optind msg_fatal("("/null:%m"java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
log_argv(level, argv + optind); else
log_stream(level, VSTREAM_IN);
/* *java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 12
*/ if ( tag = mai =mail_task([0)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
sleep(1); exit(0);
}
Messung V0.5 in Prozent
span>onthevalueof *var_smtputf8_enable,thereforethiscodeisafterthemail_conf_read() *call.
*/ if (unsanitized_tag != 0)
tag = printable(unsanitized_tag, '?');
/* *Re-initializethelogging,thistimewiththetagspecifiedinmain.cf *oronthecommandline.
*/ if (isatty(STDERR_FILENO))
msg_vstream_init(tag, VSTREAM_ERR);
maillog_client_init(tag, MAILLOG_CLIENT_FLAG_LOGWRITER_FALLBACK);
#if0
uid_t uid = getuid();
if (uid != 0 && uid != var_owner_uid
&& (errstr = check_user_acl_byuid(VAR_SHOWQ_ACL, var_showq_acl,
uid)) != 0)
msg_fatal_status(EX_NOPERM, "User %s(%ld) is not allowed to invoke 'postlog'",
errstr, (long) uid); #endif
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.