Параметры в src/conf.h
Параметры и опции компиляции определяются в conf.h. Большинство из них обычно не трогают; все общие параметры находятся в sendmail.cf. Однако, размеры конкретных простейших векторов и т.д., включены в этот файл. Числа, стоящие после параметров означают их значения по умолчанию.
Этот документ не лучший источник информации о флагах компиляции в conf.h - лучше смотреть src/READ_ME или сам src/conf.h.
NETINET| | Если установлена, вкомпилируется поддержка сетевого протокола Internet. Предыдущие версии sendmail устанавливали ее опцией DAEMON; это старое использование теперь неправильно. По умолчанию включена; выключите ее, если ваша система не поддерживает протоколы Internet. |
NETISO| | Если установлена, вкомпилируется поддержка сетевого протокола ISO (она может быть соответственно определена как #define в Makefile вместо conf.h). |
LOG | Если установлена, то используется программа syslog. Она делает информационные записи в протокол при каждой обработке сообщения, и делает запись в лог более высокого приоритета при внутренних ошибках системы. ОЧЕНЬ РЕКОМЕНДУЕТСЯ - если вам не нужно протоколирование, выключите его в файле конфигурации. |
MATCHGECOS| | Вкомпилировать код для "нечеткого совпадения " в поле GECOSв /etc/passwd. Также требует, чтобы опция MatchGECOS была включена. |
NAMED_BIND| | Вкомпилировать код для использования сервера Berkeley Internet Name Domain (BIND) для определения TCP/IP имен хостов. |
NOTUNIX | Если вы используете почтовый формат, отличный от UNIX, вы можете выставить этот флаг, чтобы отключить специальную обработку строк "From" в стиле UNIX. |
QUEUE| | Этот флаг должен быть выставлен для включения кода очереди. Если он не установлен, почтовые программы должны принимать почту немедленно, или она будет возвращена отправителю. |
SMTP| | Если установлен, то будет вкомпилирован код для обработки пользовательского и серверного SMTP. Необходим только в случае, если ваша машина имеет почтовые программы, говорящие на SMTP (то есть большинство машин). |
USERDB| | Включить экспериментальный пакет Berkeley user Information database. Это добавит новый уровень расширения локальных имен между псевдонимизированием и перенаправлением. Использует пакет NEWDB. Может быть изменено в будущих выпусках. |
Следующие опции обычно включаются в описаниях операционных систем в conf.h.
IDENTPROTO| | Вкомпилировать протокол IDENT определенный в RFC 1413. По умолчанию включена для всех систем, кроме Ultrix, которая, видимо, имеет такую интересную "особенность", что при получении сообщения "host unreachable", она закрывает все открытые соединения к тому хосту. Из-за того, что некоторые файервольные шлюзы посылают этот код ошибки при соединении с неавторизованным портом (типа 113, используемого IDENT), Ultrix не может получать email с таких хостов. |
SYSTEM5 | Устанавливает все параметры компиляции, подходящие для System V. |
HASFLOCK| | Использовать для блокировки Berkeley-style flock вместо SystemV lockf. Вследствие очень необычной семантики блокировок между разветвлениями в lockf, эта опция, по возможности, всегда должна быть использована. |
HASINITGROUPS | Выставьте эту опцию, если ваша система имеет вызов initgroups()(если вы имеете поддержку множественных групп). Используется по умолчанию, если не определена SYSTEM5, или если у вас HPUX. |
HASUNAME | Установите ее, если у ваша система имеет системный вызов uname(2) (или соответствующую библиотечную подпрограмму). Используется по умолчанию, если определена SYSTEM5. |
HASGETDTABLESIZE | Установите ее, если вы имеете системный вызов getdtablesize(2). |
HASWAITPID | Установите ее, если вы имеете системный вызов haswaitpid(2). |
SFS_TYPE | Механизм, который может быть использован для получения информации об объеме файловой системы. Значение может быть одним из SFS_USTAT (использует системный вызов ustat(2)), SFS_4ARGS (использует системный вызов statfs(2) с четырьмя аргументами), SFS_VFS (использует системный вызов statfs(2) с двумя аргументами, включая <sys/vfs.h>), SFS_MOUNT (использует системный вызов statfs(2) с двумя аргументами, включая <sys/mount.h>), SFS_STATFS (использует системный вызов statfs(2) с двумя аргументами, включая <sys/statfs.h>), SFS_STATVFS (использует системный вызов statfs(2) с двумя аргументами, включая <sys/statvfs.h>), или SFS_NONE (никаким образом нельзя получить эту информацию). |
LA_TYPE | Тип средней загрузки. Подробности описаны ниже. |
Существует несколько встроенных способов подсчета средней загрузки. Sendmail пытается автоматически сконфигурировать их на основе несовершенных догадок; вы можете выбрать один из них используя опцию cc -DLA_TYPE=type, где type - это:
LA_INT | Ядро хранит среднюю загрузку в ядре как целые числа типа long. Настоящие значения масштабируются коэффициентом FSCALE (по умолчанию 256). |
LA_SHORT | Ядро хранит среднюю загрузку в ядре как целые числа типа short. Настоящие значения масштабируются коэффициентом FSCALE (по умолчанию 256). |
LA_FLOAT | Ядро хранит среднюю загрузку в ядре как массив чисел с плавающей точкой двойной точности. |
LA_MACH | Использовать средние загрузки в стиле MACH. |
LA_SUBR | Вызывать программу getloadavg для получения средних загрузок в виде массива чисел типа double. |
LA_ZERO | Всегда в качестве средней загрузки возвращать ноль. Это крайний случай. |
Если определен тип LA_INT, LA_SHORT, или LA_FLOAT, вам также может понадобиться определить _PATH_UNIX (путь к вашим системным бинарникам) и LA_AVENRUN (имя переменной, содержащей среднюю загрузку в ядре; обычно "_avenrun" или "avenrun").