⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read_me

📁 早期freebsd实现
💻
📖 第 1 页 / 共 3 页
字号:
		try to divine: the name of your kernel, the name of the		variable in the kernel to examine, the number of bits of		precision in a fixed point load average, and so forth.		In desperation, use LA_ZERO.  The actual code is in		conf.c -- it can be tweaked if you are brave.SFS_TYPE	Encodes how your kernel can locate the amount of free		space on a disk partition.  This can be set to SFS_NONE		(0) if you have no way of getting this information,		SFS_USTAT (1) if you have the ustat(2) system call,		SFS_4ARGS (2) if you have a four-argument statfs(2)		system call (and the include file is <sys/statfs.h>),		and SFS_VFS (3), SFS_MOUNT (4), SFS_STATFS (5) or		SFS_STATVFS (6) if you have the two-argument statfs(2)		system call, with includes in <sys/vfs.h>, <sys/mount.h>,		<sys/statfs.h>, or <sys/statvfs.h> respectively.  The		default if nothing is defined is SFS_NONE.ERRLIST_PREDEFINED		If set, assumes that some header file defines sys_errlist.		This may be needed if you get type conflicts on this		variable -- otherwise don't worry about it.WAITUNION	The wait(2) routine takes a "union wait" argument instead		of an integer argument.  This is for compatibility with		old versions of BSD.SCANF		You can set this to extend the F command to accept a		scanf string -- this gives you a primitive parser for		class definitions -- BUT it can make you vulnerable to		core dumps if the target file is poorly formed.SYSLOG_BUFSIZE	You can define this to be the size of the buffer that		syslog accepts.  If it is not defined, it assumes a		1024-byte buffer.  If the buffer is very small (under		256 bytes) the log message format changes -- each		e-mail message will log many more messages, since it		will log each piece of information as a separate line		in syslog.BROKEN_RES_SEARCH		On Ultrix (and maybe other systems?) if you use the		res_search routine with an unknown host name, it returns		-1 but sets h_errno to 0 instead of HOST_NOT_FOUND.  If		you set this, sendmail considers 0 to be the same as		HOST_NOT_FOUND.+-----------------------+| COMPILE-TIME FEATURES |+-----------------------+There are a bunch of features that you can decide to compile in, suchas selecting various database packages and special protocol support.Several are assumed based on other compilation flags -- if you want to"un-assume" something, you probably need to edit conf.h.  Compilationflags that add support for special features include:NDBM		Include support for "new" DBM library for aliases and maps.		Normally defined in the Makefile.NEWDB		Include support for Berkeley "db" package (hash & btree)		for aliases and maps.  Normally defined in the Makefile.OLD_NEWDB	If non-zero, the version of NEWDB you have is the old		one that does not include the "fd" call.  This call was		added in version 1.5 of the Berkeley DB code.  If you		use -DOLD_NEWDB=0 it forces you to use the new interface.NIS		Define this to get NIS (YP) support for aliases and maps.		Normally defined in the Makefile.USERDB		Include support for the User Information Database.  Implied		by NEWDB in conf.h.IDENTPROTO	Define this as 1 to get IDENT (RFC 1413) protocol support.		This is assumed unless you are running on Ultrix or		HP-UX, both of which have a problem in the UDP		implementation.  You can define it to be 0 to explicitly		turn off IDENT protocol support.MIME		Include support for MIME-encapsulated error messages.LOG		Set this to get syslog(3) support.  Defined by default		in conf.h.  You want this if at all possible.NETINET		Set this to get TCP/IP support.  Defined by default		in conf.h.  You probably want this.NETISO		Define this to get ISO networking support.SMTP		Define this to get the SMTP code.  Implied by NETINET		or NETISO.NAMED_BIND	Define this to get DNS (name daemon) support, including		MX support.  The specs you must use this if you run		SMTP.  Defined by default in conf.h.QUEUE		Define this to get queueing code.  Implied by NETINET		or NETISO; required by SMTP.  This gives you other good		stuff -- it should be on.DAEMON		Define this to get general network support.  Implied by		NETINET or NETISO.  Defined by default in conf.h.  You		almost certainly want it on.MATCHGECOS	Permit fuzzy matching of user names against the full		name (GECOS) field in the /etc/passwd file.  This should		probably be on, since you can disable it from the config		file if you want to.  Defined by default in conf.h.SETPROCTITLE	Try to set the string printed by "ps" to something		informative about what sendmail is doing.  Defined by		default in conf.h.+---------------------+| DNS/RESOLVER ISSUES |+---------------------+Many systems have old versions of the resolver library.  At a minimum,you should be running BIND 4.8.3; older versions may compile, but theyhave known bugs that should give you pause.Common problems in old versions include "undefined" errors fordn_skipname.Some people have had a problem with BIND 4.9; it uses some routinesthat it expects to be externally defined such as strerror().  It mayhelp to link with "-l44bsd" to solve this problem.!PLEASE! be sure to link with the same version of the resolver asthe header files you used -- some people have used the 4.9 headersand linked with BIND 4.8 or vice versa, and it doesn't work.Unfortunately, it doesn't fail in an obvious way -- things justsubtly don't work.+-------------------------------------+| OPERATING SYSTEM AND COMPILE QUIRKS |+-------------------------------------+GCC 2.5.x problems  *** IMPORTANT ***	Date: Mon, 29 Nov 93 19:08:44 PST	From: wilson@cygnus.com (Jim Wilson)	Message-Id: <9311300308.AA04608@cygnus.com>	To: kenner@vlsi1.ultra.nyu.edu	Subject: [cattelan@thebarn.com: gcc 2.5.4-2.5.5 -O bug]	Cc: cattelan@thebarn.com, rms@gnu.ai.mit.edu, sendmail@cs.berkeley.edu	This fixes a problem that occurs when gcc 2.5.5 is used to compile	sendmail 8.6.4 with optimization on a sparc.	Mon Nov 29 19:00:14 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)		* reload.c (find_reloads_toplev): Replace obsolete reference to		BYTE_LOADS_*_EXTEND with LOAD_EXTEND_OP.	*** clean-ss-931128/reload.c    Sun Nov 14 16:20:01 1993	--- ss-931128/reload.c  Mon Nov 29 18:52:55 1993	*************** find_reloads_toplev (x, opnum, type, ind	*** 3888,3894 ****		 force a reload in that case.  So we should not do anything here.  */	  		else if (regno >= FIRST_PSEUDO_REGISTER	! #if defined(BYTE_LOADS_ZERO_EXTEND) || defined(BYTE_LOADS_SIGN_EXTEND)		       && (GET_MODE_SIZE (GET_MODE (x))			   <= GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))	  #endif	--- 3888,3894 ----		 force a reload in that case.  So we should not do anything here.  */	  		else if (regno >= FIRST_PSEUDO_REGISTER	! #ifdef LOAD_EXTEND_OP		       && (GET_MODE_SIZE (GET_MODE (x))			   <= GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))	  #endifSunOS 4.x (Solaris 1.x)	You may have to use -lresolv on SunOS.  However, beware that	this links in a new version of gethostbyname that does not	understand NIS, so you must have all of your hosts in DNS.	Some people have reported problems with the SunOS version of	-lresolv and/or in.named, and suggest that you get a newer	version.  The symptoms are delays when you connect to the	SMTP server on a SunOS machine or having your domain added to	addresses inappropriately.  There is a version of BIND	version 4.9 on gatekeeper.DEC.COM in pub/BSD/bind/4.9.	There is substantial disagreement about whether you can make	this work with resolv+, which allows you to specify a search-path	of services.  Some people report that it works fine, others	claim it doesn't work at all (including causing sendmail to	drop core when it tries to do multiple resolv+ lookups for a	single job).  I haven't tried resolv+, as we use DNS exclusively.	Should you want to try resolv+, it is on ftp.uu.net in	/networking/ip/dns.Solaris 2.x (SunOS 5.x)	To compile for Solaris, be sure you use -DSOLARIS.	To the best of my knowledge, Solaris does not have the	gethostbyname problem described above.  However, it does	have another one:	From a correspondent:	   For solaris 2.2, I have 		hosts:      files dns	   in /etc/nsswitch.conf and /etc/hosts has to have the fully	   qualified host name. I think "files" has to be before "dns"	   in /etc/nsswitch.conf during bootup.	From another correspondent:	   When running sendmail under Solaris, the gethostbyname()	   hack in conf.c which should perform proper canonicalization	   of host names could fail.  Result: the host name is not	   canonicalized despite the hack, and you'll have to define $j	   and $m in sendmail.cf somewhere.	   The reason could be that /etc/nsswitch.conf is improperly	   configured (at least from sendmail's point of view).  For	   example, the line		hosts:      files nisplus dns	   will make gethostbyname() look in /etc/hosts first, then ask	   nisplus, then dns.  However, if /etc/hosts does not contain	   the full canonicalized hostname, then no amount of	   gethostbyname()s will work.	   Solution (or rather, a workaround): Ask nisplus first, then	   dns, then local files:		hosts:      nisplus dns [NOTFOUND=return] files	The Solaris "syslog" function is apparently limited to something	about 90 characters because of a kernel limitation.  If you have	source code, you can probably up this number.  You can get patches	that fix this problem: the patch ids are:		Solaris 2.1	100834		Solaris 2.2	100999		Solaris 2.3	101318	Be sure you have the appropriate patch installed or you won't	see system logging.OSF/1	If you are compiling on OSF/1 (DEC Alpha), you must use 	-L/usr/shlib (otherwise it core dumps on startup).  You may also	need -mld to get the nlist() function, although some versions	apparently don't need this.		Also, the enclosed makefile removed /usr/sbin/smtpd; if you need	it, just create the link to the sendmail binary.IRIX	The header files on SGI IRIX are completely prototyped, and as	a result you can sometimes get some warning messages during	compilation.  These can be ignored.  There are two errors in	deliver only if you are using gcc, both of the form ``warning:	passing arg N of `execve' from incompatible pointer type''.	Also, if you compile with -DNIS, you will get a complaint	about a declaration of struct dom_binding in a prototype	when compiling map.c; this is not important because the	function being prototyped is not used in that file.NeXT	If you are compiling on NeXT, you will have to create an empty	file "unistd.h" and create a file "dirent.h" containing:		#include <sys/dir.h>		#define dirent	direct	(The Makefile.NeXT should try to do both of these for you.)	Apparently, there is a bug in getservbyname on Nextstep 3.0	that causes it to fail under some circumstances with the	message "SYSERR: service "smtp" unknown" logged.  You should	be able to work around this by including the line:		OOPort=25	in your .cf file.	You may have to use -DNeXT.BSDI (BSD/386) 1.0, NetBSD 0.9, FreeBSD 1.0	The "m4" from BSDI won't handle the config files properly.	I haven't had a chance to test this myself.	The M4 shipped in FreeBSD and NetBSD 0.9 don't handle the config	files properly. One must use either GNU m4 1.1 or the PD-M4	recently posted in comp.os.386bsd.bugs (and maybe others).	NetBSD-current includes the PD-M4 (as stated in the NetBSD file	CHANGES).		FreeBSD 1.0 RELEASE has uname(2) now. Use -DUSEUNAME in order to	use it (look into Makefile.FreeBSD). NetBSD-current may have	it too but it has not been verified.	You cannot port the latest version of the Berkeley db library	and use it with sendmail without recompiling the world.  This	is because C library routines use the older version which have	incompatible header files -- the result is that it can't read

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -