nightmaremail

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit e2009717cb61419bc817b2fbef3e2a0951b7e8eb
parent e276badd22c5bb81d6c0ebdde6da4d670a9332d9
Author: Amitai Schleier <schmonz-web-git@schmonz.com>
Date:   Sat, 23 May 2020 16:20:08 +0200

Replace ``foo'' with "foo".

Diffstat:
MBLURB.md | 2+-
MBLURB4.md | 2+-
MCHANGES.md | 58+++++++++++++++++++++++++++++-----------------------------
MFAQ.md | 18+++++++++---------
MINSTALL.alias.md | 2+-
MINSTALL.mbox.md | 6+++---
MREMOVE.binmail.md | 2+-
MSECURITY.md | 4++--
MTEST.deliver.md | 10+++++-----
MTEST.receive.md | 4++--
MTHOUGHTS.md | 28++++++++++++++--------------
MUPGRADE.md | 2+-
12 files changed, 69 insertions(+), 69 deletions(-)

diff --git a/BLURB.md b/BLURB.md @@ -39,5 +39,5 @@ relay control, double-bounce recording, arbitrary RFC 822 address lists, cross-host mailing list loop detection, per-recipient checkpointing, downed host backoffs, independent message retry schedules, etc. In short, it's up to speed on modern MTA features. qmail also includes a -drop-in ``sendmail'' wrapper so that it will be used transparently by +drop-in "sendmail" wrapper so that it will be used transparently by your current UAs. diff --git a/BLURB4.md b/BLURB4.md @@ -2,7 +2,7 @@ qmail's modular, lightweight design and sensible queue management make it the fastest available message transfer agent. Here's how it stacks up against the competition in five different speed measurements. -* Scheduling: I sent a message to 8192 ``trash'' recipients on my home +* Scheduling: I sent a message to 8192 "trash" recipients on my home machine. All the deliveries were done in a mere 78 seconds -- a rate of over 9 million deliveries a day! Compare this to the speed advertised for Zmailer's scheduling: 1.1 million deliveries a day on a diff --git a/CHANGES.md b/CHANGES.md @@ -309,7 +309,7 @@ 19970728 doc: eliminated RFC*. 19970714 doc: added daemontools notes to FAQ. 19970714 code: eliminated ESMTP parameter syntax checking. -19970701 doc: changed ``forwarded'' to ``resent'' in qmail-header.5. +19970701 doc: changed "forwarded" to "resent" in qmail-header.5. 19970629 code: reformatted constmap.c. 19970628 code: changed straynewline() message in qmail-smtpd.c to point to http://pobox.com/~djb/smtplf.html. tnx RDM. @@ -463,9 +463,9 @@ 19961117 change: added maildirbounce. tnx MD, TG. 19961116 change: maildir2smtp and maildir2qmtp now print filenames for permanent bounces. tnx MD. -19961116 change: in SECURITY, ``eleven most recent sendmail security - holes, five'' -> ``twelve most recent sendmail security holes, - six.'' +19961116 change: in SECURITY, "eleven most recent sendmail security + holes, five" -> "twelve most recent sendmail security holes, + six." 19961116 change: rewrote qmail-showctl more professionally. 19961115 change: added several tests to find-systype.sh. this will affect many systypes. @@ -493,8 +493,8 @@ people. 19961110 change: replaced elm instructions in INSTALL.mbox with a simple note to set incomingfolders in elm.rc. tnx AB. -19961110 change: replaced ``owner hack'' with ``variable envelope - return paths'' throughout the documentation. tnx DS. +19961110 change: replaced "owner hack" with "variable envelope + return paths" throughout the documentation. tnx DS. 19961110 change: qmail-setup installs man pages as well as cat pages. 19961110 change: renamed qmail-newuser as qmail-newu. tnx G2A. 19961110 change: renamed qmail-pw2user as qmail-pw2u. tnx G2A. @@ -515,9 +515,9 @@ 19961024 change: replaced qmail-alias.0 with dot-qmail.0 in INSTALL.alias. tnx MW. 19961022 change: switched uids as early as possible in qmail-start.c. -19961022 change: in SECURITY, ``ten most recent sendmail security - holes, five'' -> ``eleven most recent sendmail security holes, - five.'' +19961022 change: in SECURITY, "ten most recent sendmail security + holes, five" -> "eleven most recent sendmail security holes, + five." 19961022 change: quote_need() now treats non-ASCII characters the same way as control characters. 19961022 change: added version and home page to qmail.7. @@ -577,9 +577,9 @@ qmail-popup.c, qmail-rspawn.c, qmail-start.c, qqtalk.c, qsmhook.c. 19960928 cleanup: added libfd. -19960927 change: in SECURITY, ``nine most recent sendmail security - holes, four'' -> ``ten most recent sendmail security holes, - five.'' +19960927 change: in SECURITY, "nine most recent sendmail security + holes, four" -> "ten most recent sendmail security holes, + five." 19960926 change: added tcpcontrol notes to FAQ. 19960926 change: qmail-smtpd now immediately closes connection, with a warning message dedicated to Solaris, if stray newlines show up @@ -599,9 +599,9 @@ 19960922 change: qmail-setup now does umask(077). 19960922 change: maildir2mbox now does umask(077). 19960922 change: moved subfderr buf up to 64 characters. -19960920 change: in SECURITY, ``eight most recent sendmail security - holes, three'' -> ``nine most recent sendmail security holes, - four.'' +19960920 change: in SECURITY, "eight most recent sendmail security + holes, three" -> "nine most recent sendmail security holes, + four." 19960920 portability problem: init run commands are subject to job control signals under more systems than HP-UX. impact: on some systems (e.g., Solaris), qmail daemons would be killed. fix: @@ -613,16 +613,16 @@ 19960919 change: eliminated QQX_EXECHARD and QQT_EXECHARD. this means that all qmail-queue invocation failures are now soft, even things like EPERM. -19960919 change: replaced ``No such address'' with ``Sorry, no mailbox - here by that name.'' tnx G2A. +19960919 change: replaced "No such address" with "Sorry, no mailbox + here by that name." tnx G2A. 19960919 change: qmail-remote now includes host name in no-such-host messages. tnx G2A. -19960919 change: replaced ``Temporarily unable to canonicalize address'' - with ``CNAME lookup failed temporarily.'' +19960919 change: replaced "Temporarily unable to canonicalize address" + with "CNAME lookup failed temporarily." 19960918 change: improved an error message in qmail-alias.c. tnx TG. 19960918 change: added SHELL=/bin/sh to Makefile. tnx JL. 19960916 change: reorganized INSTALL.ids a bit. -19960916 change: ``from smtpd'' is now ``from network''. +19960916 change: "from smtpd" is now "from network". 19960916 change: SMTPD is now DAEMON. 19960916 change: qmail-start sets logger uid to UID_LOG. tnx JLH. 19960916 change: added CONF_USERL. @@ -695,8 +695,8 @@ 19960818 change: introduced port in qmail-remote.c. 19960818 change: qmail-queue records qp in Received lines. 2 lines of code. tnx ME. -19960818 change: in SECURITY, ``seven most recent sendmail security - holes'' -> ``eight most recent sendmail security holes.'' +19960818 change: in SECURITY, "seven most recent sendmail security + holes" -> "eight most recent sendmail security holes." 19960818 change: qmail-pop3d now appends an extra blank line to every message, for compatibility with popper. some clients can't deal with the right thing, unfortunately. tnx FPL. @@ -1041,7 +1041,7 @@ bounced. tnx SS. fix: qmail-smtpd now treats only TOOLONG and EXECHARD as permanent errors. 19960430 cleanup: eliminated QQT_TTY from qqtalk.h. -19960428 change: added ``warning: '' before trouble-marking message. +19960428 change: added "warning: " before trouble-marking message. 19960428 change: added percenthack. requested by GB. 19960428 cleanup: switched to auto-generated Makefile. 19960428 cleanup: switched to auto-generated .o dependencies. @@ -1246,8 +1246,8 @@ tnx RN. 19960310 change: reordered steps in upgrade procedure in INSTALL. 19960308 change: eliminated ownership test in qmail-alias.c. tnx DS. -19960304 change: in SECURITY, ``six most recent sendmail security - holes'' -> ``seven most recent sendmail security holes.'' +19960304 change: in SECURITY, "six most recent sendmail security + holes" -> "seven most recent sendmail security holes." 19960303 qmail 0.73, beta. 19960303 change: added SYSDEPS. 19960303 cleanup: revamped select.h autoconfiguration. @@ -1309,9 +1309,9 @@ 19960229 portability problem: under HP-UX 10 and Solaris 2.5, can't setgroups()/setgid() to the system's nogroup/nobody gid. dorks. impact: inetd chokes, so all SMTP connections are rejected; and - ``alias'' mail, including postmaster, bounces. fix: in + "alias" mail, including postmaster, bounces. fix: in INSTALL.ids, set up a separate powerless gid (tentatively - ``nofiles'') for qmaild and alias. tnx DS and PJG. + "nofiles") for qmaild and alias. tnx DS and PJG. 19960229 change: qreceipt now uses qqtalk rather than qmail-inject. 19960229 change: qlist now uses qqtalk rather than qmail-inject. 19960229 change: incorporated qmail-setup patch from RN for better @@ -1427,7 +1427,7 @@ 19960129 change: qlist now warns you if it didn't see any cmds. tnx RN. 19960129 change: incorporated qlist patch from RN to refuse double subs. 19960129 change: added qlist.1, contributed by RN. mangled it a bit. -19960129 bug: comment was not allowed in ``phrase (comment) <route>''; +19960129 bug: comment was not allowed in "phrase (comment) <route>"; pointed out by RN. impact: some correct address lists could be mis-parsed by qmail-inject or qlist. fix: token.c now allows TOKEN_COMMENT in the appropriate scan. @@ -1514,7 +1514,7 @@ 19960124 bug: in qmail-remote.c, if quit() saw a remote write error, it would call writeerr() even though a message report had already been produced. impact: the mess report would include an extra - ``ZConnected but communications failed,'' which was confusing + "ZConnected but communications failed," which was confusing to humans. fix: quit() now simply skips the wait-for-QUIT smtpcode() upon write error. 19960124 portability problem: Linux does not have SIGSYS or SIGEMT. diff --git a/FAQ.md b/FAQ.md @@ -11,7 +11,7 @@ document, and http://qmail.org/ for qmail community contributions. 2.2. How do I set up a null client? 2.3. How do I send outgoing mail through UUCP? 2.4. How do I set up a separate queue for a SLIP/PPP link? -2.5. How do I deal with ``CNAME lookup failed temporarily''? +2.5. How do I deal with "CNAME lookup failed temporarily"? 3. Routing incoming messages by host 3.1. How do I receive mail for another host name? @@ -65,8 +65,8 @@ document, and http://qmail.org/ for qmail community contributions. 1.1. How do I set up host masquerading? All the users on this host, zippy.af.mil, are users on af.mil. When joe sends a message to fred, the -message should say ``From: joe@af.mil'' and ``To: fred@af.mil'', without -``zippy'' anywhere. +message should say "From: joe@af.mil" and "To: fred@af.mil", without +"zippy" anywhere. Answer: echo af.mil > /var/qmail/control/defaulthost; chmod 644 /var/qmail/control/defaulthost. @@ -82,7 +82,7 @@ environment. 1.3. How do I set up Mail-Followup-To automatically? When I send a message to the sos@heaven.af.mil mailing list, I'd like to include -``Mail-Followup-To: sos@heaven.af.mil''. +"Mail-Followup-To: sos@heaven.af.mil". Answer: Add QMAILMFTFILE=$HOME/.lists to your environment, and put sos@heaven.af.mil into ~/.lists. @@ -134,7 +134,7 @@ running, give it a HUP. Answer: Use serialmail (https://cr.yp.to/serialmail.html). -2.5. How do I deal with ``CNAME lookup failed temporarily''? The log +2.5. How do I deal with "CNAME lookup failed temporarily"? The log showed that a message was deferred for this reason. Why is qmail doing CNAME lookups, anyway? @@ -427,7 +427,7 @@ into ~alias/.qmail-fixup-default. Second, put into /var/qmail/control/virtualdomains, and give qmail-send a HUP. Third, follow the procedure in question 5.4, but set RELAYCLIENT to the -string ``@fixme'': +string "@fixme": tcp-env: 1.2.3.6, 1.2.3.7: setenv = RELAYCLIENT @fixme @@ -500,8 +500,8 @@ that MH is neither secure nor reliable. 6.4. How do I stop Sun's dtcm from hanging? -Answer: There is a novice programming error in dtcm, known as ``failure -to close the output side of the pipe in the child.'' Sun has, at the +Answer: There is a novice programming error in dtcm, known as "failure +to close the output side of the pipe in the child." Sun has, at the time of this writing, not yet provided a patch. Sorry. @@ -514,7 +514,7 @@ sendmail, it was always tricky to kill sendmail without risking the loss of current deliveries; what should I do with qmail-send? Answer: Go ahead and kill the qmail-send process. It will shut down -cleanly. Wait for ``exiting'' to show up in the log. To restart qmail, +cleanly. Wait for "exiting" to show up in the log. To restart qmail, run /var/qmail/rc the same way it is run from your system boot scripts, with the proper PATH, resource limits, etc. diff --git a/INSTALL.alias.md b/INSTALL.alias.md @@ -28,7 +28,7 @@ files are similar to .forward files, but beware that they are strictly line-oriented -- see dot-qmail.0 for details. * Other non-user accounts. Under qmail, non-user accounts don't get -mail; ``user'' means a non-root account that owns ~account. Set up +mail; "user" means a non-root account that owns ~account. Set up aliases for any non-user accounts that normally receive mail. Note that special accounts such as ftp, www, and uucp should always have diff --git a/INSTALL.mbox.md b/INSTALL.mbox.md @@ -33,15 +33,15 @@ hlfsd if it is included in your operating system. If /var/spool/mail is large, you can gain extra speed by configuring all your mail software to look at ~user/Mailbox directly: - * Most MUAs: Put ``setenv MAIL $HOME/Mailbox'' in your system-wide - .cshrc and ``MAIL=$HOME/Mailbox; export MAIL'' in your system-wide + * Most MUAs: Put "setenv MAIL $HOME/Mailbox" in your system-wide + .cshrc and "MAIL=$HOME/Mailbox; export MAIL" in your system-wide .profile. * elm: Change "mailbox" to "Mailbox" around line 388 of newmbox.c and recompile. (elm looks at $MAIL, but without this change elm will fail if two users try to read mail simultaneously.) - * pine: Put ``inbox-path=Mailbox'' in your system-wide pine.conf. + * pine: Put "inbox-path=Mailbox" in your system-wide pine.conf. (For pine versions more recent than 3.91, see also FAQ 6.2.) * qpopper 2.2: Change /.mail to /Mailbox in pop_dropcopy.c and diff --git a/REMOVE.binmail.md b/REMOVE.binmail.md @@ -8,7 +8,7 @@ configured qmail to use binmail for local delivery. 2. Remove permissions from the binmail binary: # chmod 0 /usr/libexec/mail.local -3. If the binmail binary was /bin/mail, make sure that ``mail'' still +3. If the binmail binary was /bin/mail, make sure that "mail" still invokes a usable mailer. Under SVR4 you may want to link mail to mailx. diff --git a/SECURITY.md b/SECURITY.md @@ -20,13 +20,13 @@ an intruder into your machine. sendmail treats programs and files as addresses. Obviously random people can't be allowed to execute arbitrary programs or write to arbitrary files, so sendmail goes through horrendous contortions trying to keep -track of whether a local user was ``responsible'' for an address. This +track of whether a local user was "responsible" for an address. This has proven to be an unmitigated disaster. In qmail, programs and files are not addresses. The local delivery agent, qmail-local, can run programs or write to files as directed by ~user/.qmail, but it's always running as that user. (The notion of -``user'' is configurable, but root is never a user. To prevent silly +"user" is configurable, but root is never a user. To prevent silly mistakes, qmail-local makes sure that neither ~user nor ~user/.qmail is group-writable or world-writable.) diff --git a/TEST.deliver.md b/TEST.deliver.md @@ -3,16 +3,16 @@ accept messages through SMTP or through /usr/lib/sendmail: 1. After you start qmail, look for a qmail: status: local 0/10 remote 0/20 - line in syslog. qmail-send always prints either ``cannot start'' or - ``status''. (The big number is a splogger timestamp.) + line in syslog. qmail-send always prints either "cannot start" or + "status". (The big number is a splogger timestamp.) 2. Do a ps and look for the qmail daemons. There should be four of them, all idle: qmail-send, running as qmails; qmail-lspawn, running as root; qmail-rspawn, running as qmailr; and qmail-clean, running as qmailq. You will also see splogger, running as qmaill. -3. Local-local test: Send yourself an empty message. (Replace ``me'' - with your username. Make sure to include the ``to:'' colon.) +3. Local-local test: Send yourself an empty message. (Replace "me" + with your username. Make sure to include the "to:" colon.) % echo to: me | /var/qmail/bin/qmail-inject The message will show up immediately in your mailbox, and syslog will show something like this: @@ -55,7 +55,7 @@ accept messages through SMTP or through /usr/lib/sendmail: qmail: delivery 4: success: 1.2.3.4_accepted_message./... qmail: status: local 0/10 remote 0/20 qmail: end msg 53 - There will be a pause between ``starting delivery'' and ``success''; + There will be a pause between "starting delivery" and "success"; SMTP is slow. Check that the message is in your mailbox on the other machine. diff --git a/TEST.receive.md b/TEST.receive.md @@ -1,7 +1,7 @@ You can do several tests of messages entering the qmail system: -1. SMTP server test: Forge some mail locally via SMTP. Replace ``me'' - with your username and ``domain'' with your host's name. +1. SMTP server test: Forge some mail locally via SMTP. Replace "me" + with your username and "domain" with your host's name. % telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to 127.0.0.1. diff --git a/THOUGHTS.md b/THOUGHTS.md @@ -1,9 +1,9 @@ -Please note that this file is not called ``Internet Mail For Dummies.'' +Please note that this file is not called "Internet Mail For Dummies." It _records_ my thoughts on various issues. It does not _explain_ them. Paragraphs are not organized except by section. The required background varies wildly from one paragraph to the next. -In this file, ``sendmail'' means Allman's creation; ``sendmail-clone'' +In this file, "sendmail" means Allman's creation; "sendmail-clone" means the program in this package. @@ -22,7 +22,7 @@ securely that a particular message came from a particular local user; how do you know the recipient is telling you the truth about the contents of the message? With QUEUE_EXTRA it'd be possible to record a one-way hash of each outgoing message, but a user who wants to send -``bad'' mail can avoid qmail entirely. +"bad" mail can avoid qmail entirely. I originally decided on security grounds not to put qmail advertisements into SMTP responses: advertisements often act as version identifiers. @@ -58,7 +58,7 @@ system files are owned by root, and if there are no security holes other than NFS, someone who breaks in via NFS won't be able to wipe out the operating system -- he'll merely be able to wipe out all user files. This clueless policy means that, for example, all the qmail users have to be -replaced by root. See what I mean by ``enemy''? ... Basic NFS comments: +replaced by root. See what I mean by "enemy"? ... Basic NFS comments: Aside from the cryptographic problem of having hosts communicate securely, it's obvious that there's an administrative problem of mapping client uids to server uids. If a host is secure and under your control, @@ -74,9 +74,9 @@ is, as far as I can tell, always wrong. RFC 822 section 3.4.9 prohibits certain visual effects in headers, and the 822bis draft prohibits even more. qmail-inject could enforce these absurd restrictions, but why waste the time? If you will suffer from -someone sending you ``flash mail,'' go find a better mail reader. +someone sending you "flash mail," go find a better mail reader. -qmail-inject's ``Cc: recipient list not shown: ;'' successfully stops +qmail-inject's "Cc: recipient list not shown: ;" successfully stops sendmail from adding Apparently-To. Unfortunately, old versions of sendmail will append a host name. This wasn't fixed until sendmail 8.7. How many years has it been since RFC 822 came out? @@ -104,14 +104,14 @@ same pid in the same second. I'm not sure how to fix this without system-supplied sequence numbers. (Of course, the user could just type in his own non-unique Message-IDs.) -The bat book says: ``Rules that hide hosts in a domain should be applied -only to sender addresses.'' Recipient masquerading works fine with +The bat book says: "Rules that hide hosts in a domain should be applied +only to sender addresses." Recipient masquerading works fine with qmail. None of sendmail's pitfalls apply, basically because qmail has a straight paper path. I predicted that I would receive some pressure to make up for the failings of MUA writers who don't understand the concept of reliability. -(``Like, duh, you mean I'm supposed to check the sendmail exit code?'') +("Like, duh, you mean I'm supposed to check the sendmail exit code?") I was right. @@ -248,7 +248,7 @@ three days straight. Hmmm. Are there any hosts, anywhere, whose mailers are bogged down by huge messages to multiple recipients at a single host? For typical hosts, -multiple RCPTs per SMTP aren't an ``efficiency feature''; they're a +multiple RCPTs per SMTP aren't an "efficiency feature"; they're a _slowness_ feature. Separate SMTP transactions have much lower latency. I've heard three complaints about bandwidth use from masochists sending @@ -263,7 +263,7 @@ role in qmail-remote's activities. It should call separate programs to do (1) MX lookups, (2) SMTP connections, (3) QMTP connections. (But this wouldn't be so important if the DNS library didn't burn so much memory.) -I bounce ambiguous MXs. (An ``ambiguous MX'' is a best-preference MX +I bounce ambiguous MXs. (An "ambiguous MX" is a best-preference MX record sending me mail for a host that I don't recognize as local.) Automatically treating ambiguous MXs as local is incompatible with my design decision to keep local delivery working when the network goes @@ -283,7 +283,7 @@ should try to take account of the MTU. Perhaps qmail-remote should allocate a fixed amount of DNS/connect() time across any number of MXs; this idea is due to Mark Delany. -RFC 821 doesn't say what it means by ``text.'' qmail-remote assumes that +RFC 821 doesn't say what it means by "text." qmail-remote assumes that the server's reply text doesn't contain bare LFs. RFC 821 and RFC 1123 prohibit host names in MAIL FROM and RCPT TO from @@ -410,7 +410,7 @@ fit into unsigned long; that gid_t fits into int; that the character set is ASCII; and that all pointers are interchangeable. Do I care? The bat book justifies sendmail's insane line-splitting mechanism by -pointing out that it might be useful for ``a 40-character braille -print-driving program.'' C'mon, guys, is that your best excuse? +pointing out that it might be useful for "a 40-character braille +print-driving program." C'mon, guys, is that your best excuse? qmail's mascot is a dolphin. diff --git a/UPGRADE.md b/UPGRADE.md @@ -28,7 +28,7 @@ How to install: 2. Inform your users that mail will not be accepted for a few minutes. 3. Disable deliveries by killing your old qmail-send. Wait for it to - print ``exiting'' in the log. + print "exiting" in the log. 4. Disable SMTP service by commenting out the smtp line in inetd.conf; kill -HUP your inetd. (If you are using tcpserver, simply kill -STOP