windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/smtp/adminsso/smtpprop.h
2020-09-26 16:20:57 +08:00

270 lines
7.1 KiB
C

#ifndef _SMTP_PROP_H__
#define _SMTP_PROP_H__
// const
#define TSTR_POSTMASTR_NAME _T("Postmaster")
// Bitmasks for changed fields:
#define ID_SERVER_BINDINGS 0
#define ID_PORT 0
#define ID_SSLPORT 1
#define ID_SECURE_BINDINGS 1
#define ID_OUTBOUNDPORT 2
#define ID_REMOTE_SECURE_PORT 2
#define ID_SMARTHOST 3
#define ID_SMART_HOST_TYPE 3
#define ID_SHOULD_DELIVER 3
#define ID_ENABLEDNSLOOKUP 4
#define ID_POSTMASTEREMAIL 5
#define ID_POSTMASTERNAME 5
#define ID_HOP_COUNT 6
#define ID_AUTH_PACKAGES 7
#define ID_CLEARTEXT_AUTH_PACKAGE 7
#define ID_AUTH_METHOD 7
#define ID_DEFAULT_LOGON_DOMAIN 7
#define ID_DROPDIR 8
#define ID_BADMAILDIR 8
#define ID_PICKUPDIR 8
#define ID_QUEUEDIR 8
#define ID_ALLOW_VERIFY 9
#define ID_ALLOW_EXPAND 9
#define ID_ROUTE_ACTION 10
#define ID_ROUTE_USER_NAME 10
#define ID_ROUTE_PASSWORD 10
#define ID_ALWAYS_USE_SSL 11
#define ID_MAX_OUT_CONN_PER_DOMAIN 11
#define ID_LIMIT_REMOTE_CONNECTIONS 11
#define ID_MAXINCONNECTION 11
#define ID_MAXOUTCONNECTION 11
#define ID_INCONNECTIONTIMEOUT 11
#define ID_OUTCONNECTIONTIMEOUT 11
#define ID_BATCH_MSGS 12
#define ID_BATCH_MSG_LIMIT 12
// these two must be unique
#define ID_FQDN 13
#define ID_DEFAULTDOMAIN 14
#define ID_MAXMESSAGESIZE 15
#define ID_MAXSESSIONSIZE 15
#define ID_MAXMESSAGERECIPIENTS 15
#define ID_LOCALRETRIES 18
#define ID_REMOTERETRIES 18
#define ID_LOCALRETRYTIME 18
#define ID_REMOTERETRYTIME 18
#define ID_DO_MASQUERADE 19
#define ID_MASQUERADE 19
#define ID_ETRNDAYS 21
#define ID_SENDDNRTOPOSTMASTER 22
#define ID_SENDBADMAILTOPOSTMASTER 22
#define ID_SENDNDRTO 22
#define ID_SENDBADTO 22
#define ID_ROUTINGDLL 24
#define ID_ROUTINGSOURCES 24
#define ID_LOGFILEDIRECTORY 25
#define ID_LOGFILEPERIOD 25
#define ID_LOGFILETRUNCATESIZE 25
#define ID_LOGMETHOD 25
#define ID_LOGTYPE 25
#define ID_LOCALDOMAINS 26
#define ID_DOMAINROUTING 27
#define ID_AUTOSTART 28
#define ID_COMMENT 29
inline DWORD BitMask(DWORD dwId)
{
_ASSERT(dwId < 32);
return ( ((DWORD)1) << dwId );
}
// Default Values:
#define UNLIMITED ( 0xffffffff )
#define MAX_LONG UNLIMITED
#define DEFAULT_SERVER_BINDINGS ( ( L":25:\0\0" ) ) // multisz
#define DEFAULT_SECURE_BINDINGS ( ( L":465:\0\0" ) ) // multisz
#define DEFAULT_COMMENT (_T( "" ))
#define DEFAULT_SMART_HOST (_T( "" ))
#define DEFAULT_SMART_HOST_TYPE ( 0 )
#define DEFAULT_SHOULD_DELIVER ( TRUE )
#define DEFAULT_ALLOW_EXPAND ( FALSE )
#define DEFAULT_ALLOW_VERIFY ( FALSE )
#define DEFAULT_POSTMASTER_EMAIL (_T( "Postmaster" ))
#define DEFAULT_POSTMASTER_NAME (_T( "Postmaster" ))
#define DEFAULT_SENDNDRTO (_T( "" ))
#define DEFAULT_SENDBADTO (_T( "" ))
#define DEFAULT_FQDN (_T( "" ))
#define DEFAULT_DEFAULT_DOMAIN (_T( "" ))
#define DEFAULT_DO_MASQUERADE ( FALSE )
#define DEFAULT_MASQUERADE_DOMAIN (_T( "" ))
#define DEFAULT_DROP_DIR (_T( "" ))
#define DEFAULT_BADMAIL_DIR (_T( "" ))
#define DEFAULT_PICKUP_DIR (_T( "" ))
#define DEFAULT_QUEUE_DIR (_T( "" ))
#define DEFAULT_ROUTING_SOUCES (_T( "" ))
#define DEFAULT_LOGFILE_DIRECTORY (_T( "" ))
#define DEFAULT_AUTH_PACKAGES (_T("NTLM"))
#define DEFAULT_CLEARTEXT_AUTH_PACKAGE (_T(""))
#define DEFAULT_AUTHENTICATION (MD_AUTH_ANONYMOUS | MD_AUTH_BASIC | MD_AUTH_NT)
#define DEFAULT_LOGON_DOMAIN (_T(""))
#define DEFAULT_PORT ( 25 )
#define DEFAULT_SSLPORT ( 465 )
#define DEFAULT_OUTBOND_PORT ( 25 )
#define DEFAULT_REMOTE_SECURE_PORT ( 465 )
#define DEFAULT_HOP_COUNT ( 10 )
#define DEFAULT_ALWAYS_USE_SSL ( FALSE )
#define DEFAULT_LIMIT_REMOTE_CONNECTIONS ( TRUE )
#define DEFAULT_MAX_OUT_CONN_PER_DOMAIN ( 0 )
#define DEFAULT_MAX_IN_CONNECTION ( 1000 )
#define DEFAULT_MAX_OUT_CONNECTION ( 1000 )
#define DEFAULT_IN_CONNECTION_TIMEOUT ( 60 )
#define DEFAULT_OUT_CONNECTION_TIMEOUT ( 60 )
#define DEFAULT_BATCH_MSGS ( TRUE )
#define DEFAULT_BATCH_MSG_LIMIT ( 0 )
#define DEFAULT_MAX_MESSAGE_SIZE ( 2048 * 1024 )
#define DEFAULT_MAX_SESSION_SIZE ( 10240 * 1024 )
#define DEFAULT_MAX_MESSAGE_RECIPIENTS ( 100 )
#define DEFAULT_LOCAL_RETRIES ( 48 )
#define DEFAULT_LOCAL_RETRY_TIME ( 60 )
#define DEFAULT_REMOTE_RETRIES ( 48 )
#define DEFAULT_REMOTE_RETRY_TIME ( 60 )
#define DEFAULT_ETRN_DAYS ( 10 )
#define DEFAULT_ROUTING_DLL ( ( L"routeldp.dll" ) )
#define DEFAULT_ROUTING_SOURCES ( ( L"\0\0" ) ) // multisz
#define DEFAULT_LOCAL_DOMAINS ( ( L"corp.com\0\0" ) ) // multisz
#define DEFAULT_DOMAIN_ROUTING ( ( L"\0\0" ) ) // multisz
#define DEFAULT_ROUTE_ACTION ( SMTP_SMARTHOST )
#define DEFAULT_ROUTE_USER_NAME (_T(""))
#define DEFAULT_ROUTE_PASSWORD (_T(""))
#define DEFAULT_LOGFILE_PERIOD ( 1 )
#define DEFAULT_LOGFILE_TRUNCATE_SIZE ( 1388000 )
#define DEFAULT_LOG_METHOD ( 0 )
#define DEFAULT_LOG_TYPE ( 1 )
#define DEFAULT_ENABLE_DNS_LOOKUP ( FALSE )
#define DEFAULT_SEND_DNR_TO_POSTMASTER ( FALSE )
#define DEFAULT_SEND_BAD_TO_POSTMASTER ( FALSE )
#define DEFAULT_AUTOSTART ( TRUE )
// Parameter ranges:
#define MIN_PORT ( 0 )
#define MIN_SSLPORT ( 0 )
#define MIN_OUTBOND_PORT ( 0 )
#define MIN_MAX_IN_CONNECTION ( 0 )
#define MIN_MAX_OUT_CONNECTION ( 0 )
#define MIN_IN_CONNECTION_TIMEOUT ( 0 )
#define MIN_OUT_CONNECTION_TIMEOUT ( 0 )
#define MIN_MAX_MESSAGE_SIZE ( 0 )
#define MIN_MAX_SESSION_SIZE ( 0 )
#define MIN_MAX_MESSAGE_RECIPIENTS ( 0 )
#define MIN_LOCAL_RETRIES ( 0 )
#define MIN_REMOTE_RETRIES ( 0 )
#define MIN_LOCAL_RETRY_TIME ( 0 )
#define MIN_REMOTE_RETRY_TIME ( 0 )
#define MIN_ETRN_DAYS ( 0 )
#define MIN_LOGFILE_PERIOD ( 0 )
#define MIN_LOGFILE_TRUNCATE_SIZE ( 0 )
#define MIN_LOG_METHOD ( 0 )
#define MIN_LOG_TYPE ( 0 )
#define MAX_PORT ( MAX_LONG )
#define MAX_SSLPORT ( MAX_LONG )
#define MAX_OUTBOND_PORT ( MAX_LONG )
#define MAX_MAX_IN_CONNECTION ( MAX_LONG )
#define MAX_MAX_OUT_CONNECTION ( MAX_LONG )
#define MAX_IN_CONNECTION_TIMEOUT ( MAX_LONG )
#define MAX_OUT_CONNECTION_TIMEOUT ( MAX_LONG )
#define MAX_MAX_MESSAGE_SIZE ( MAX_LONG )
#define MAX_MAX_SESSION_SIZE ( MAX_LONG )
#define MAX_MAX_MESSAGE_RECIPIENTS ( MAX_LONG )
#define MAX_LOCAL_RETRIES ( MAX_LONG )
#define MAX_REMOTE_RETRIES ( MAX_LONG )
#define MAX_LOCAL_RETRY_TIME ( MAX_LONG )
#define MAX_REMOTE_RETRY_TIME ( MAX_LONG )
#define MAX_ETRN_DAYS ( MAX_LONG )
#define MAX_LOGFILE_PERIOD ( MAX_LONG )
#define MAX_LOGFILE_TRUNCATE_SIZE ( MAX_LONG )
#define MAX_LOG_METHOD ( MAX_LONG )
#define MAX_LOG_TYPE ( MAX_LONG )
// string length
#define MAXLEN_SERVER ( 256 )
#define MAXLEN_SMART_HOST ( 256 )
#define MAXLEN_POSTMASTER_EMAIL ( 256 )
#define MAXLEN_POSTMASTER_NAME ( 256 )
#define MAXLEN_DEFAULT_DOMAIN ( 256 )
#define MAXLEN_BADMAIL_DIR ( 256 )
#define MAXLEN_PICKUP_DIR ( 256 )
#define MAXLEN_QUEUE_DIR ( 256 )
#define MAXLEN_ROUTING_SOUCES ( 256 )
#define MAXLEN_LOGFILE_DIRECTORY ( 256 )
#endif