/*++ /* NAME /* smtp_key 3 /* SUMMARY /* cache/table lookup key management /* SYNOPSIS /* #include "smtp.h" /* /* char *smtp_key_prefix(buffer, delim_na, iterator, context_flags) /* VSTRING *buffer; /* const char *delim_na; /* SMTP_ITERATOR *iterator; /* int context_flags; /* DESCRIPTION /* The Postfix SMTP server accesses caches and lookup tables, /* using lookup keys that contain information from various /* contexts: per-server configuration, per-request envelope, /* and results from DNS queries. /* /* These lookup keys sometimes share the same context information. /* The primary purpose of this API is to ensure that this /* shared context is used consistently, and that its use is /* made explicit (both are needed to verify that there is no /* false cache sharing). /* /* smtp_key_prefix() constructs a lookup key prefix from context /* that may be shared with other lookup keys. The user is free /* to append additional application-specific context. The result /* value is a pointer to the result text. /* /* Arguments: /* .IP buffer /* Storage for the result. /* .IP delim_na /* The field delimiter character, and the optional place holder /* character for a) information that is unavailable, b) /* information that is inapplicable, or c) that would result /* in an empty field. Key fields that contain "delim_na" /* characters will be base64-encoded. /* Do not specify "delim_na" characters that are part of the /* base64 character set. /* .IP iterator /* Information that will be selected by the specified flags. /* .IP context_flags /* Bit-wise OR of one or more of the following. /* .RS /* .IP SMTP_KEY_FLAG_SERVICE /* The global service name. This is a proxy for /* destination-independent and request-independent context. /* .IP SMTP_KEY_FLAG_SENDER /* The envelope sender address. This is a proxy for sender-dependent /* context, such as per-sender SASL authentication. /* .IP SMTP_KEY_FLAG_REQ_NEXTHOP /* The delivery request nexthop destination, including optional /* [] and :port (the same form that users specify in a SASL /* password or TLS policy lookup table). This is a proxy for /* destination-dependent, but host-independent context. /* .IP SMTP_KEY_FLAG_CUR_NEXTHOP /* The current iterator's nexthop destination (delivery request /* nexthop or fallback nexthop, including optional [] and /* :port). /* .IP SMTP_KEY_FLAG_HOSTNAME /* The current iterator's remote hostname. /* .IP SMTP_KEY_FLAG_ADDR /* The current iterator's remote address. /* .IP SMTP_KEY_FLAG_PORT /* The current iterator's remote port. /* .IP SMTP_KEY_FLAG_TLS_LEVEL /* The requested TLS security level. /* .IP SMTP_KEY_FLAG_REQ_SMTPUTF8 /* Whether SMTPUTF8 support is required. /* .IP SMTP_KEY_FLAG_REQTLS_LEVEL /* The REQUIRETLS enforcement level. /* .RE /* DIAGNOSTICS /* Panic: undefined flag or zero flags. Fatal: out of memory. /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* 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
/*--*/
/* *Systemlibrary.
*/ #include <sys_defs.h> #include <netinet/in.h> /* ntohs() for Solaris or BSD */ #include <arpa/inet.h> /* ntohs() for Linux or BSD */ #include <string.h>
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.