14a672054Schristosvoid void rewrite_proto stream 24a672054Schristos Strip trailing dot at end of domain but not dot dot or dot This 34a672054Schristos strip source routed addresses site site user domain 44a672054Schristostransport_lookup transport_lookup finds the channel and nexthop for the given 54a672054Schristos Typically the nexthop specifies a hostname hostname TCP Port or the 64a672054Schristosresolve_addr resolve_addr resolve address according to rule set 74a672054Schristos technically incorrect this is needed to stop user domain domain relay 84a672054Schristos needs white space but stuff stuff does not This is not a 94a672054Schristos where stuff stuff does not happen 104a672054Schristos Strip trailing dot at end of domain but not dot dot or at dot 114a672054SchristosXXX XXX Short cut invalid address forms 124a672054Schristos Connect via TCP to domain domain port port The default 134a672054Schristos Connect via TCP to domain domain port port The default 144a672054Schristosfiles files that are owned by the wrong user or files that have world write 154a672054Schristos name is is not defined 164a672054Schristos conditionally to value when name is is not 174a672054SchristosMUMBLE_TODO MUMBLE_TODO flags must not be cleared once raised The _TODO_TO_PASS and 184a672054Schristospsc_todo_tests psc_todo_tests overwrites all per session flag bits and 194a672054Schristos Either hand off the socket to a real SMTP engine or say bye bye 204a672054Schristoschar char context 214a672054Schristosinet_pton inet_pton 224a672054Schristosvoid void psc_early_tests state 234a672054Schristosvoid void psc_smtpd_init void 244a672054Schristosvoid void psc_smtpd_tests state 254a672054Schristos IP postscreen_dnsbl_max_ttl postscreen_dnsbl_ttl postscreen_dnsbl_ttl 1 h 264a672054Schristos WARNING WARNING WARNING 274a672054Schristos WARNING WARNING WARNING 284a672054Schristos The event driven TLS I O implementation is founded on on line OpenSSL 294a672054Schristosunused unused 304a672054Schristos IP f command command 314a672054Schristos IP q command command 324a672054Schristos IP Q command command 334a672054Schristos IP r command command 344a672054Schristos IP s command command 354a672054Schristos TCP port port Both host and port may be 364a672054Schristosvoid void 374a672054Schristos reset_cmd_flags reset per command command flags 384a672054Schristos set_cmd_flags set per command command flags 394a672054Schristos Connect via TCP to host host port port The default 404a672054Schristos Connect via TCP to host host port port The default 414a672054Schristosargv argv command 424a672054Schristostime time of entry into active queue 434a672054Schristospeer peer entries 444a672054SchristosFD_SETSIZE FD_SETSIZE 454a672054SchristosFD_SETSIZE FD_SETSIZE 464a672054SchristosFD_SETSIZE FD_SETSIZE 474a672054Schristos var spool postfix incoming incoming queue 484a672054Schristos var spool postfix active active queue 494a672054Schristos var spool postfix deferred deferred queue 504a672054Schristostime time of entry into active queue 514a672054SchristosFD_SETSIZE FD_SETSIZE 524a672054SchristosFD_SETSIZE FD_SETSIZE 534a672054SchristosFD_SETSIZE FD_SETSIZE 544a672054Schristos var spool postfix incoming incoming queue 554a672054Schristos var spool postfix active active queue 564a672054Schristos var spool postfix deferred deferred queue 574a672054SchristosXXX XXX 584a672054Schristos WARNING WARNING WARNING 594a672054Schristos WARNING WARNING WARNING 604a672054SchristosNOTREACHED NOTREACHED 614a672054Schristos If not connected to stdin stdin must not be a terminal 624a672054Schristos WARNING WARNING WARNING 634a672054Schristos WARNING WARNING WARNING 644a672054Schristos WARNING WARNING WARNING 654a672054Schristos WARNING WARNING WARNING 664a672054Schristos WARNING WARNING WARNING 674a672054Schristos WARNING WARNING WARNING 684a672054Schristos WARNING WARNING WARNING 694a672054Schristos WARNING WARNING WARNING 704a672054Schristos If not connected to stdin stdin must not be a terminal 714a672054Schristosselect select 724a672054Schristos If not connected to stdin stdin must not be a terminal 734a672054Schristos main main program 744a672054Schristosthis this first 754a672054Schristoslinkage linkage 764a672054Schristos Postfix master master cf file processing 774a672054Schristosselect select 784a672054Schristos If not connected to stdin stdin must not be a terminal 794a672054Schristos response to stress level changes Doing so would would contaminate 804a672054Schristos IP CA_MAIL_SERVER_EXIT void void 814a672054Schristos If not connected to stdin stdin must not be a terminal 824a672054Schristossmtp_site_fail smtp_site_fail handles the case where the program fails to 834a672054Schristos We can t avoid copying copying lots of strings into VSTRING buffers 844a672054Schristosbinding binding properties passivated 854a672054Schristosendpoint endpoint properties passivated 864a672054Schristossafety safety 874a672054SchristosXXX XXX 884a672054Schristos See src tls tls_level c and src tls tls h Levels above encrypt require 894a672054Schristossmtp_rcpt_done smtp_rcpt_done 904a672054Schristossmtp_rcpt_done smtp_rcpt_done 914a672054Schristossmtp_rcpt_done smtp_rcpt_done 924a672054Schristos Ignore out of protocol enhanced status codes codes that accompany 3XX 934a672054Schristos IP name name 944a672054Schristosvoid void 954a672054SchristosFALLTHROUGH FALLTHROUGH 964a672054SchristosHAS_PCRE HAS_PCRE 974a672054SchristosHAS_PCRE HAS_PCRE 984a672054Schristos any any 994a672054Schristos typedef DICT DICT_OPEN_FN const char int int 1004a672054SchristosEDIT_FILE EDIT_FILE edit_file_open original_path output_flags output_mode 1014a672054Schristosvoid void 1024a672054Schristosnvtable_locate nvtable_locate returns a pointer to the entry that was stored 1034a672054Schristoslegacy legacy 1044a672054Schristos for symlinks owned by root NEVER NEVER make exceptions for symlinks 1054a672054Schristos sanitize sanitize db_get put del result 1064a672054Schristos simple attr attr name colon attr value newline 1074a672054Schristosvoid void htable_free table free_fn 1084a672054Schristosvoid void htable_walk table action ptr 1094a672054Schristoshtable_locate htable_locate returns a pointer to the entry that was stored 1104a672054Schristos IP CA_VSTREAM_POPEN_WAITPID_FN pid_t pid_t WAIT_STATUS_T int 1114a672054Schristosoptimization optimization 1124a672054Schristosmsg_fatal msg_fatal reports an unrecoverable error and terminates the program 1134a672054Schristos compare compare the address family and network address or 1144a672054Schristos numbers or number number ranges 1154a672054Schristos v4pattern v4field v4field v4field v4field 1164a672054Schristos v4pattern v4field v4field v4field v4field 1174a672054Schristos v4pattern v4field v4field v4field v4field 1184a672054Schristos v4seq_member v4octet v4octet v4octet 1194a672054Schristos v4seq_member v4octet v4octet v4octet 1204a672054SchristosCorruption Corruption 1214a672054Schristos main main program 1224a672054Schristosprivileges privileges 1234a672054SchristosDICT_THASH_OPEN_RETURN DICT_THASH_OPEN_RETURN 1244a672054Schristos Fatal errors cannot open file file write error out of memory 1254a672054Schristosfound found 1264a672054Schristosfound found 1274a672054SchristosXXX XXX maybe earlier 1284a672054SchristosXXX XXX 1294a672054Schristos verified RedHat 3 03 1304a672054Schristos Bits per byte byte in vector bit offset in byte bytes per set 1314a672054Schristos echo echo text received on stdin 1324a672054Schristos request request a bunch of timer events 1334a672054Schristos Fatal errors cannot open file file write error out of memory 1344a672054Schristosfound found 1354a672054Schristosfound found 1364a672054Schristos concatenate concatenate null terminated list of strings 1374a672054Schristosvoid void context 1384a672054Schristosvoid void binhash_free table free_fn 1394a672054Schristosvoid void binhash_walk table action ptr 1404a672054Schristosbinhash_locate binhash_locate returns a pointer to the entry that was stored 1414a672054Schristoswidth width precision separator 1424a672054Schristos and whitespace characters must be replaced by XX XX being the 1434a672054Schristos and whitespace characters and the by XX XX being the two digit 1444a672054Schristos Fatal errors cannot open file file write error out of 1454a672054Schristosprivileges privileges 1464a672054Schristos Example 00000000000000000000000000000001 01 80 10 80 lo 1474a672054Schristos text text 1484a672054Schristosvoid void 1494a672054Schristosmatched matched text 1504a672054SchristosSUNOS5 SUNOS5 1514a672054Schristos casefold casefold text for caseless comparison 1524a672054Schristos simple name string string simple name 1534a672054Schristos attribute list attribute attribute attribute list 1544a672054Schristos attribute list attribute attribute attribute list 1554a672054Schristos attribute string string 1564a672054Schristosstring string ISO Latin 1 character set except the character 1574a672054Schristos WARNING WARNING WARNING 1584a672054Schristos WARNING WARNING WARNING 1594a672054Schristos Example checking infrastructure for int int const int 1604a672054Schristos Example variables with type int int const int 1614a672054Schristosint int int_val 1624a672054Schristos host port host host 1634a672054Schristoshost host port host host 1644a672054Schristos host port host host 1654a672054Schristos port port 1664a672054Schristos host port host host 1674a672054Schristos host port host host port port 1684a672054Schristos host port host host port port 1694a672054Schristos simple attr attr name null attr value null 1704a672054Schristos IP CA_SLMDB_CTL_LONGJMP_FN void void int 1714a672054Schristos IP CA_SLMDB_CTL_NOTIFY_FN void void int 1724a672054Schristos IP CA_SLMDB_CTL_ASSERT_FN void void const char 1734a672054Schristos DICT dict_static_open name name dict_flags 1744a672054Schristosbuffer buffer length 1754a672054Schristosprivileges privileges 1764a672054Schristoskey key length 1774a672054Schristos simple attr attr name attr value newline 1784a672054Schristos attr name any string without null or or newline 1794a672054Schristos var spool postfix maildrop maildrop queue 1804a672054Schristos WARNING WARNING WARNING 1814a672054Schristos WARNING WARNING WARNING 1824a672054Schristoslmdb lmdb supports concurrent writes and reads from different 1834a672054Schristosprivate private 1844a672054Schristosprivate private 1854a672054Schristos var spool postfix private private class endpoints 1864a672054Schristos var spool postfix public public class endpoints 1874a672054Schristosmessages messages put on hold 1884a672054Schristosoption option disables UTF 8 syntax checks on query keys and 1894a672054Schristosoption option disables UTF 8 syntax checks on query keys and 1904a672054Schristoslmdb lmdb supports concurrent writes and reads from different 1914a672054Schristospeer peer 1924a672054Schristosvoid void 1934a672054SchristosXXX XXX 1944a672054Schristos relay loopholes with user domain domain when relaying mail to a 1954a672054Schristos Strip one trailing dot but not dot dot 1964a672054Schristosvoid void 1974a672054Schristosheaders headers after multipart boundary 1984a672054Schristos by XX XX being the two digit uppercase hexadecimal equivalent 1994a672054Schristosmust must 2004a672054Schristosrequest request completed unsuccessfully 2014a672054SchristosDSN_BUF DSN_BUF dsb_create void 2024a672054SchristosDSN_SPLIT DSN_SPLIT dsn_split dp def_dsn text 2034a672054Schristos that registers operators such as level level that compare 2044a672054Schristos var_maillog_file var_maillog_file import_service_path 0 2054a672054Schristos IP address address family information and the numerical TCP port 2064a672054Schristosprivileges privileges 2074a672054Schristosvoid void rcpb_reset rcpb 2084a672054Schristos The entire lookup key key 2094a672054SchristosDSN DSN dsn_create status action reason dtype dtext mtype mname 2104a672054Schristos When specified with a flush request request that 2114a672054Schristosstorage storage 2124a672054Schristosmessage message size 2134a672054Schristos starts with or or the prefix which will be used 2144a672054Schristos with or or the prefix which will be used to obtain 2154a672054Schristosstrings strings with digits uppercase letters and lowercase 2164a672054Schristossafe_strtoul safe_strtoul implements similar functionality as strtoul 2174a672054Schristos typedef LOGIN_SENDER_MATCH LOGIN_SENDER_MATCH 2184a672054SchristosLOGIN_SENDER_MATCH LOGIN_SENDER_MATCH login_sender_create 2194a672054Schristosvoid void anvil_clnt_free anvil_clnt 2204a672054Schristosprivileges privileges 2214a672054Schristos characters specified with special with x XX XX being 2224a672054Schristos0000 0000 0000 007 F 0x xxxxxx 2234a672054Schristos0000 0000 0000 007 F 0x xxxxxx 2244a672054Schristos https github com aox aox blob master encodings utf cpp with 2254a672054SchristosFALLTHROUGH FALLTHROUGH 2264a672054Schristos Detail format is digit digit 1 3 digit 1 3 2274a672054Schristosencoding encoding domain 2284a672054Schristosdomain domain 2294a672054Schristosdomain domain 2304a672054Schristosencoding encoding 2314a672054SchristosXXX XXX EAI inspect encoded message global 2324a672054Schristosdomain domain 2334a672054SchristosMBOX MBOX mbox_open path flags mode st user group lock_style 2344a672054Schristos incomplete address address rewriting alias expansion automatic BCC 2354a672054Schristosunquoted unquoted form then quoted 2364a672054Schristos records data offset offset of the first REC_TYPE_NORM or REC_TYPE_CONT 2374a672054SchristosDELIVER_REQUEST DELIVER_REQUEST deliver_request_read stream 2384a672054SchristosMAIL_VERSION MAIL_VERSION mail_version_parse version_string why 2394a672054Schristosdict_xx_open dict_xx_open result 2404a672054Schristos When specified with a flush request request that 2414a672054SchristosMAIL_STREAM MAIL_STREAM mail_stream_file queue class service mode 2424a672054Schristos starts with or or the prefix which will be used to 2434a672054Schristoshosts hosts on which databases reside 2444a672054Schristos or maptype mapname search name name The search 2454a672054Schristos with or or the prefix which will be used to obtain 2464a672054Schristosthe the message delivery record 2474a672054SchristosMKMAP MKMAP mkmap_open type path open_flags dict_flags 2484a672054SchristosBOUNCE_LOG BOUNCE_LOG bounce_log_open queue id flags mode 2494a672054Schristos internal external external first 2504a672054Schristoscontext context for queue file changes 2514a672054Schristossender sender transport 2524a672054SchristosSMFIM_EOH SMFIM_EOH SMFIM_EOM 2534a672054Schristosvalue value to string 2544a672054SchristosRE RE 2554a672054SchristosPCF_MASTER_ENT PCF_MASTER_ENT local_scope 2564a672054Schristosto to instantiate legacy per dbms parameters and to examine 2574a672054Schristos tls_digest_encode encode message digest binary blob as xx xx 2584a672054Schristoslogged logged 2594a672054Schristoslogged logged 2604a672054Schristos DNS at the dane dane only and half dane security levels or be 2614a672054Schristosvoid void tls_pre_jail_init TLS_ROLE 2624a672054SchristosTLS_ROLE TLS_ROLE role 2634a672054Schristosand and the protocol version floor ceiling given a list plist of 2644a672054Schristos of the form name name hexvalue hexvalue If plist 2654a672054Schristos of the form name name hexvalue hexvalue If plist 2664a672054SchristosXXX XXX We re ignoring the function name do we want to log it 2674a672054Schristos If the match is required unambiguous insist that that no other values 2684a672054Schristos etc postfix canonical canonical mapping table 2694a672054Schristos etc postfix virtual virtual mapping table 2704a672054Schristosvoid void 2714a672054Schristosregions regions with body content 2724a672054SchristosSASLv2 SASLv2 s sasl_server_new takes two new parameters to specify local and 2734a672054SchristosSASLv2 SASLv2 s sasl_client_new takes two new parameters to specify local and 2744a672054Schristos All 5xx replies must have a 5 xx xx detail code 2754a672054Schristos Truncate hostnames ending in dot but not dot dot 2764a672054Schristos Truncate hostnames ending in dot but not dot dot 2774a672054Schristos Truncate hostnames ending in dot but not dot dot 2784a672054Schristos Truncate names ending in dot but not dot dot 2794a672054Schristos200412 200412 2804a672054Schristos Reject mail to unknown addresses in local domains domains that 2814a672054Schristosclient client name 2824a672054Schristosstuff stuff 2834a672054Schristoscounter counter 2844a672054SchristosMilter Milter initialization status 2854a672054SchristosUSE_TLSPROXY USE_TLSPROXY 2864a672054Schristosaddress address family 2874a672054Schristosvoid void 2884a672054Schristosprobed probed if non zero the time the currently outstanding address probe was 2894a672054Schristos recipient lists and some MUAs even specify word word address 2904a672054SchristosVERP VERP 2914a672054SchristosNOTREACHED NOTREACHED 2924a672054SchristosNOTREACHED NOTREACHED 2934a672054SchristosNOTREACHED NOTREACHED 2944a672054SchristosNOTREACHED NOTREACHED 2954a672054SchristosNOTREACHED NOTREACHED 2964a672054SchristosNOTREACHED NOTREACHED 2974a672054SchristosNOTREACHED NOTREACHED 2984a672054Schristoskey key 2994a672054Schristoskey key 3004a672054Schristoskey key 3014a672054Schristoskey key 3024a672054Schristoskey key 3034a672054Schristoskey key 3044a672054Schristoskey key 3054a672054Schristoskey key 3064a672054Schristoskey key 3074a672054Schristoskey key 3084a672054Schristoskey key 3094a672054Schristoskey key 3104a672054Schristoskey key 3114a672054Schristoskey key 3124a672054Schristoskey key 3134a672054Schristoskey key 3144a672054Schristoskey key 3154a672054Schristos Fatal error error opening existing file 3164a672054Schristosvoid void bounce_cleanup_unregister void 3174a672054Schristos Fatal error error opening existing file 3184a672054SchristosBOUNCE_TEMPLATES BOUNCE_TEMPLATES bounce_templates_create void 3194a672054Schristosvoid void bounce_templates_free templates 3204a672054Schristos Fatal error error opening existing file 3214a672054Schristos also showq showq c 3224a672054Schristosname name length 3234a672054SchristosBOUNCE_INFO BOUNCE_INFO bounce_mail_init service queue_name queue_id encoding 3244a672054Schristos Fatal error error opening existing file 3254a672054Schristosmore more useful and more consistent 3264a672054Schristos Fatal error error opening existing file 3274a672054Schristos Fatal error error opening existing file 3284a672054SchristosXXX XXX 3294a672054Schristos int compar DNS_RR DNS_RR 3304a672054SchristosUSE_FNV_32BIT USE_FNV_32BIT 331*059c16a8Schristosvoid void cleanup_milter_receive state count 332*059c16a8Schristos struct DICT open const char int int dict_xx_open 333*059c16a8Schristos Available in in Postfix version 2 3 3 7 334*059c16a8Schristoslength length of 0 31 0 127 335*059c16a8Schristosaddress address string length 336