mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.4 KiB
144 lines
4.4 KiB
/**********************************************************************/
|
|
/** Microsoft Windows NT **/
|
|
/** Copyright(c) Microsoft Corp., 1993 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
POP3S.h
|
|
|
|
This file contains constants & type definitions shared between the
|
|
POP3 Service, Installer, and Administration UI.
|
|
|
|
|
|
FILE HISTORY:
|
|
KeithMo 10-Mar-1993 Created.
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _POP3S_H_
|
|
#define _POP3S_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif // _cplusplus
|
|
|
|
#if !defined(MIDL_PASS)
|
|
#include <winsock.h>
|
|
#endif
|
|
|
|
#define IPPORT_POP3 110
|
|
#define IPPORT_POP3_SECURE 111 // ##SSL
|
|
|
|
//
|
|
// Name of the log file, used for logging file accesses.
|
|
//
|
|
|
|
#define POP3_LOG_FILE TEXT("POP3SVC.LOG")
|
|
|
|
//
|
|
// Name of the LSA Secret Object containing the password for
|
|
// anonymous logon.
|
|
//
|
|
#define POP3_ANONYMOUS_SECRET TEXT("POP3_ANONYMOUS_DATA")
|
|
#define POP3_ANONYMOUS_SECRET_A "POP3_ANONYMOUS_DATA"
|
|
#define POP3_ANONYMOUS_SECRET_W L"POP3_ANONYMOUS_DATA"
|
|
|
|
//
|
|
// The set of password/virtual root pairs
|
|
//
|
|
#define POP3_ROOT_SECRET_W L"POP3_ROOT_DATA"
|
|
|
|
//
|
|
// Configuration parameters registry key.
|
|
//
|
|
#if 1 // ##rk: need to change setup stuff (inetinfo.exe, etc).
|
|
#undef IMS_ROOT_KEY_A
|
|
#undef IMS_ROOT_KEY_W
|
|
#undef IMS_ROOT_KEY
|
|
#define IMS_ROOT_KEY_A "System\\CurrentControlSet\\Services"
|
|
#define IMS_ROOT_KEY_W L"System\\CurrentControlSet\\Services"
|
|
#define IMS_ROOT_KEY TEXT("System\\CurrentControlSet\\Services")
|
|
#endif
|
|
#define POP3_PARAMETERS_KEY_A IMS_ROOT_KEY_A "\\Pop3Svc\\Parameters"
|
|
#define POP3_PARAMETERS_KEY_W IMS_ROOT_KEY_W L"\\Pop3Svc\\Parameters"
|
|
#define POP3_PARAMETERS_KEY IMS_ROOT_KEY TEXT("\\Pop3Svc\\Parameters")
|
|
//
|
|
// Performance key.
|
|
//
|
|
#define POP3_PERFORMANCE_KEY IMS_ROOT_KEY TEXT("\\Pop3Svc\\Performance")
|
|
//
|
|
// Registry Key Values
|
|
//
|
|
#define POP3_MAX_ERRORS_KEY TEXT("MaxErrors")
|
|
#define POP3_WELCOME_MSG_KEY TEXT("WelcomeMessage")
|
|
//
|
|
// The authorization type to use for
|
|
// the Clear Text Logon (USER/PASS cmds)
|
|
// 0 == NTLM, 1 == MSN
|
|
//
|
|
#define POP3_MAX_AUTHTYPE_KEY TEXT("ClearTextAuthType")
|
|
//
|
|
// The initial and maximum size of the heap that is used for
|
|
// most non-message communication. There are three buffer schemes
|
|
// for POP3:
|
|
// The first is a static buffer per connection that is
|
|
// used for simple replies (all replies that will fit into the buffer).
|
|
// The heap is used for complex replies that won't fit into the
|
|
// static buffer, yet are small enough to send as a single I/O.
|
|
// (i.e. LIST\r\n w/many messages in the Inbox).
|
|
// Finally, a CPool class is used for large transfers that will
|
|
// require multiple I/Os (i.e. RETR a big message).
|
|
//
|
|
// Performance can be optimized by varying these parameters.
|
|
//
|
|
#define POP3_STATIC_BUFFER_SIZE TEXT("StaticBufferSize")
|
|
#define POP3_HEAP_ELEMENT_SIZE TEXT("HeapElementSize")
|
|
#define POP3_CPOOL_ELEMENT_SIZE TEXT("CPoolElementSize")
|
|
//
|
|
// This limits the number of outstanding writes a connection
|
|
// can have.
|
|
//
|
|
#define POP3_MAX_OUTSTANDING_IO TEXT("MaxOutstandingIO")
|
|
//
|
|
// This is the number of Inbox entries to allocate at a time.
|
|
// -- Because we can't find out how many messages are in the
|
|
// inbox ahead of time, we allocate this many entries at
|
|
// a time. If we fill up our allotment, we get more.
|
|
// -- The trade-off is between ending up with N-1 allocated,
|
|
// but unused elements vs. many reallocations.
|
|
//
|
|
#define POP3_INBOX_ALLOC_INCR TEXT("InboxAllocationIncrement")
|
|
//
|
|
// In UnSecure mode, POP3 will use TransmitFile to send the
|
|
// contents of the file to the client. (In Secure mode, it
|
|
// encrypts the file contents and so can't Transmit it directly).
|
|
// Setting this to true will always cause it to read the file
|
|
// rather than transmitting it. -- it behaves the same way
|
|
// as Secure mode, but skips the encryption.
|
|
//
|
|
#define POP3_NO_TRANSMITFILES TEXT("DontUseTransmitFile")
|
|
|
|
#define NT_MECHANISM "NTLM" // must be ASCII
|
|
#define SICILY_MECHANISM "X-MSN10" // must be ASCII
|
|
|
|
#ifdef UNICODE
|
|
#define TSTRCPY wcscpy
|
|
#define TSTRCAT wcscat
|
|
#define TSTRLEN wcslen
|
|
#else
|
|
#define TSTRCPY lstrcpy
|
|
#define TSTRCAT lstrcat
|
|
#define TSTRLEN lstrlen
|
|
#endif
|
|
#define ProtocolTrace DebugTrace // ##rk: get this as a real bit in tracing.
|
|
|
|
#define _POP3_ // ##rk: until we get abook.dll, we're sharing source files
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // _cplusplus
|
|
|
|
#endif // _POP3S_H_
|
|
|
|
|