亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? thoughts

?? linux下qmail的源碼 本人加了一些注釋
??
?? 第 1 頁 / 共 2 頁
字號:
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 backgroundvaries wildly from one paragraph to the next.In this file, ``sendmail'' means Allman's creation; ``sendmail-clone''means the program in this package.1. SecurityThere are lots of interesting remote denial-of-service attacks on anymail system. A long-term solution is to insist on prepayment forunauthorized resource use. The tricky technical problem is to make theprepayment enforcement mechanism cheaper than the expected cost of theattacks. (For local denial-of-service attacks it's enough to be able tofigure out which user is responsible.)qmail-send's log was originally designed for profiling. It subsequentlysprouted some tracing features. However, there's no way to verifysecurely that a particular message came from a particular local user;how do you know the recipient is telling you the truth about thecontents of the message? With QUEUE_EXTRA it'd be possible to record aone-way hash of each outgoing message, but a user who wants to send``bad'' mail can avoid qmail entirely.I originally decided on security grounds not to put qmail advertisementsinto SMTP responses: advertisements often act as version identifiers.But this problem went away when I found a stable qmail URL.As qmail grows in popularity, the mere knowledge that rcpthosts is soeasily available will deter people from setting up unauthorized MXs.(I've never seen an unauthorized MX, but I can imagine that it would berather annoying.) Note that, unlike the bat book checkcompat() kludge,rcpthosts doesn't interfere with mailing lists.qmail-start doesn't bother with tty dissociation. On some old machinesthis means that random people can send tty signals to the qmail daemons.That's a security flaw in the job control subsystem, not in qmail.The resolver library isn't too bloated (before 4.9.4, at least), but ituses stdio, which _is_ bloated. Reading /etc/resolv.conf costs lots ofmemory in each qmail-remote process. So it's tempting to incorporate asmaller resolver library into qmail. (Bonus: I'd avoid system-specificproblems with old resolvers.) The problem is that I'd then be writing afundamentally insecure library. I'd no longer be able to blame the BINDauthors and vendors for the fact that attackers can easily use DNS tosteal mail. Solution: insist that the resolver run on the same host; thekernel can guarantee the security of low-numbered 127.0.0.1 UDP ports.NFS is the primary enemy of security partitioning under UNIX. Here's thestory. Sun knew from the start that NFS was completely insecure. Ittried to hide that fact by disallowing root access over NFS. Intrudersnevertheless broke into system after system, first obtaining bin accessand then obtaining root access. Various people thus decided to compoundSun's error and build a wall between root and all other users: if allsystem files are owned by root, and if there are no security holes otherthan NFS, someone who breaks in via NFS won't be able to wipe out theoperating system---he'll merely be able to wipe out all user files. Thisclueless policy means that, for example, all the qmail users have to bereplaced by root. See what I mean by ``enemy''? ... Basic NFS comments:Aside from the cryptographic problem of having hosts communicatesecurely, it's obvious that there's an administrative problem of mappingclient uids to server uids. If a host is secure and under your control,you shouldn't have to map anything. If a host is under someone else'scontrol, you'll want to map his uids to one local account; it's hisclient's job to decide which of his users get to talk NFS in the firstplace. Sun's original map---root to nobody, everyone else left alone---is, as far as I can tell, always wrong.2. Injecting mail locally (qmail-inject, sendmail-clone)RFC 822 section 3.4.9 prohibits certain visual effects in headers, andthe 822bis draft prohibits even more. qmail-inject could enforce theseabsurd restrictions, but why waste the time? If you will suffer fromsomeone sending you ``flash mail,'' go find a better mail reader.qmail-inject's ``Cc: recipient list not shown: ;'' successfully stopssendmail from adding Apparently-To. Unfortunately, old versions ofsendmail will append a host name. This wasn't fixed until sendmail 8.7.How many years has it been since RFC 822 came out?sendmail discards duplicate addresses. This has probably resulted inmore lost and stolen mail over the years than the entire Chicago branchof the United States Postal Service. The qmail system delivers messagesexactly as it's told to do. Along the same lines: qmail-inject is bothunable and unwilling to support anything like sendmail's (default)nometoo option. Of course, a list manager could support nometoo.There should be a mechanism in qmail-inject that does for enveloperecipients what Return-Path does for the envelope sender. Thenqmail-inject -n could print the recipients.Should qmail-inject bounce messages with no recipients? Should there bean option for this? If it stays as is (accept the message), qmail-injectcould at least avoid invoking qmail-queue.It is possible to extract non-unique Message-IDs out of qmail-inject.Here's how: stop qmail-inject before it gets to the third line ofmain(), then wait until the pids wrap around, then restart qmail-injectand blast the message through, then start another qmail-inject with thesame pid in the same second. I'm not sure how to fix this withoutsystem-supplied sequence numbers. (Of course, the user could just typein his own non-unique Message-IDs.)The bat book says: ``Rules that hide hosts in a domain should be appliedonly to sender addresses.'' Recipient masquerading works fine withqmail. None of sendmail's pitfalls apply, basically because qmail has astraight paper path.I predicted that I would receive some pressure to make up for thefailings of MUA writers who don't understand the concept of reliability.(``Like, duh, you mean I'm supposed to check the sendmail exit code?'')I was right.3. Receiving mail from the network (tcp-env, qmail-smtpd)qmail-smtpd doesn't allow privacy-invading commands like VRFY and EXPN.If you really want to publish such information, use a mechanism thatlegitimate users actually know about, such as fingerd or httpd.RFC 1123 says that VRFY and EXPN are important to track down cross-hostmailing list loops. With Delivered-To, mailing list loops do no damage,_and_ one of the list administrators gets a bounce message that showsexactly how the loop occurred. Solve the problem, not the symptom.Should dns.c make special allowances for 127.0.0.1/localhost?badmailfrom (like 8BITMIME) is a waste of code space.In theory a MAIL or RCPT argument can contain unquoted LFs. In practicethere are a huge number of clients that terminate commands with just LF,even if they use CR properly inside DATA.4. Adding messages to the queue (qmail-queue)Should qmail-queue try to make sure enough disk space is free inadvance? When qmail-queue is invoked by qmail-local or (with ESMTP)qmail-smtpd or qmail-qmtpd or qmail-qmqpd, it could be told a size inadvance. I wish UNIX had an atomic allocate-disk-space routine... The qmail.h interface (reflecting the qmail-queue interface, which inturn reflects the current queue file structure) is constitutionallyincapable of handling an address that contains a 0 byte. I can't imaginethat this will be a problem.Should qmail-queue not bother queueing a message with no recipients?5. Handling queued mail (qmail-send, qmail-clean)The queue directory must be local. Mounting it over NFS is extremelydangerous---not that this stops people from running sendmail that way!Diskless hosts should use mini-qmail instead.Queue reliability demands that single-byte writes be atomic. This istrue for a fixed-block filesystem such as UFS, and for a loggingfilesystem such as LFS.qmail-send uses 8 bytes of memory per queued message. Double that forreallocation. (Fix: use a small forest of heaps; i.e., keep severalprioqs.) Double again for buddy malloc()s. (Fix: be clever about theheap sizes.) 32 bytes is worrisome, but not devastating. Even on mydisk-heavy memory-light machine, I'd run out of inodes long beforerunning out of memory.Some mail systems organize the queue by host. This is pointless as ameans of splitting up the queue directory. The real issue is what to dowhen you suddenly find out that a host is up. For local SLIP/PPP linksyou know in advance which hosts need this treatment, so you can handlethem with virtualdomains and serialmail.For the old queue structure I implemented recipient list compression:if mail goes out to a giant mailing list, and most of the recipients aredelivered, make a new, compressed, todo list. But this really isn'tworth the effort: it saves only a tiny bit of CPU time.qmail-send doesn't have any notions of precedence, priority, fairness,importance, etc. It handles the queue in first-seen-first-served order.One could put a lot of work into doing something different, but thatwork would be a waste: given the triggering mechanism and qmail'sdeferral strategy, it is exceedingly rare for the queue to contain morethan one deliverable message at any given moment.Exception: Even with all the concurrency tricks, qmail-send can end upspending a few minutes on a mailing list with thousands of remoteentries. A user might send a new message to a remote address in themeantime. The simplest way to handle this would be to put big messageson a separate channel.qmail-send will never start a pass for a job that it already has. Thismeans that, if one delivery takes longer than the retry interval, thenext pass will be delayed. I implemented the opposite strategy for theold queue structure. Some hassles: mark() had to understand how jobinput was buffered; every new delivery had to check whether the samempos in the same message was already being done.Some things that qmail-send does synchronously: queueing a bouncemessage; doing a cleanup via qmail-clean; classifying and rewriting allthe addresses in a new message. As usual, making these asynchronouswould require some housekeeping, but could speed things up a bit.(I'm willing to assume POSIX waitpid() for asynchronous bounces; puttingan unbounded buffer into wait_pid() for the sake of NeXTSTEP 3 is notworthwhile.)Disk I/O is a bottleneck; UFS is reliable but it isn't fast. A goodlogging filesystem offers much better performance, but logging

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三区视频在线观看| 成人av中文字幕| 亚洲一区二区三区爽爽爽爽爽| 国产亚洲成aⅴ人片在线观看| 日韩欧美久久久| 91精品国产综合久久久久久久| 欧美色视频在线观看| 在线一区二区视频| 欧美日韩精品欧美日韩精品一| 欧美日韩国产综合草草| 欧美精品日韩一本| 91精品国产综合久久国产大片| 亚洲精品成人精品456| 国产精品第五页| 亚洲日本韩国一区| 国产免费成人在线视频| 国产精品麻豆欧美日韩ww| 中文字幕乱码一区二区免费| 中文字幕乱码亚洲精品一区| 国产精品一区二区三区四区| 久久久午夜精品理论片中文字幕| 2020国产成人综合网| 欧美激情自拍偷拍| 亚洲美女视频在线| 午夜伊人狠狠久久| 日本美女一区二区| 国产盗摄一区二区三区| 99久久久久久99| 在线视频你懂得一区二区三区| 欧美日韩五月天| 欧美电影免费观看高清完整版在| 欧美精品一区二区久久婷婷| 中文一区一区三区高中清不卡| 亚洲欧美经典视频| 五月婷婷另类国产| 久久成人av少妇免费| 国产超碰在线一区| 色婷婷综合久色| 777久久久精品| 久久久影院官网| 亚洲精品中文在线观看| 日韩精品一级中文字幕精品视频免费观看 | 91麻豆精品一区二区三区| 欧美精品三级日韩久久| 国产欧美日韩一区二区三区在线观看 | 亚洲最色的网站| 久久er99热精品一区二区| 99久久国产综合精品女不卡| 91精品国产综合久久精品图片 | 亚洲国产高清在线观看视频| 亚洲精品视频在线看| 偷偷要91色婷婷| 成人网男人的天堂| 欧美一区二区三区四区高清| 国产精品久久网站| 男男成人高潮片免费网站| 成人激情小说乱人伦| 欧美丰满高潮xxxx喷水动漫| 亚洲国产电影在线观看| 日韩精品亚洲一区二区三区免费| 成人福利视频在线| 日韩精品资源二区在线| 一个色综合av| 高清不卡在线观看av| 日韩欧美一卡二卡| 有坂深雪av一区二区精品| 国产jizzjizz一区二区| 91精品国产综合久久精品性色 | 麻豆久久一区二区| 91香蕉视频mp4| 久久久久久久久伊人| 舔着乳尖日韩一区| 91视视频在线观看入口直接观看www | 国产三级欧美三级日产三级99| 亚洲地区一二三色| 不卡在线观看av| 欧美变态tickling挠脚心| 亚洲精品你懂的| 成人免费看黄yyy456| 欧美不卡一区二区| 日韩电影一区二区三区四区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品一区二区三区乱码| 69堂国产成人免费视频| 一区二区三区国产精品| av高清不卡在线| 国产日产欧美一区二区三区| 九色综合国产一区二区三区| 欧美日韩在线综合| 亚洲在线中文字幕| 日本乱人伦aⅴ精品| 专区另类欧美日韩| 成人免费视频播放| 国产精品乱人伦| 懂色av一区二区三区免费观看| 亚洲精品在线电影| 黄页网站大全一区二区| 日韩女优av电影| 日韩影院精彩在线| 91精品国产综合久久精品性色 | av成人免费在线观看| 日本一区二区在线不卡| 国产成人自拍在线| 欧美韩国日本综合| 成人激情黄色小说| 亚洲欧洲成人自拍| av激情综合网| 一区二区三区四区五区视频在线观看| av午夜一区麻豆| 亚洲已满18点击进入久久| 欧美在线播放高清精品| 亚洲观看高清完整版在线观看| 欧美日韩黄色影视| 日韩专区欧美专区| 日韩欧美国产一二三区| 国内久久婷婷综合| 国产亚洲一本大道中文在线| 国产精品 欧美精品| 欧美国产精品劲爆| 一本色道久久综合亚洲精品按摩 | 国产成人久久精品77777最新版本| 欧美高清在线一区二区| 91小视频免费观看| 亚瑟在线精品视频| 精品国产乱码久久久久久浪潮| 国产精一区二区三区| 欧美国产禁国产网站cc| 色播五月激情综合网| 午夜精品久久久久影视| 日韩欧美在线一区二区三区| 国产在线精品不卡| 亚洲视频中文字幕| 欧美日韩精品久久久| 激情综合网天天干| 国产精品对白交换视频| 欧美在线视频日韩| 精品影视av免费| 国产精品国产三级国产专播品爱网| 色又黄又爽网站www久久| 亚洲第一av色| 国产日韩精品久久久| 一本色道亚洲精品aⅴ| 全部av―极品视觉盛宴亚洲| 久久精品一区二区三区不卡| 99久久精品国产麻豆演员表| 亚洲成人tv网| 国产婷婷色一区二区三区四区| 91免费看片在线观看| 蜜桃av一区二区三区电影| 国产精品久久久久久亚洲毛片| 欧美日韩综合在线| 国产精品2024| 亚洲第一精品在线| 欧美激情一区二区三区| 911精品国产一区二区在线| 国产成人在线网站| 婷婷久久综合九色综合伊人色| 国产亚洲成av人在线观看导航| 欧美在线制服丝袜| 国产精品一区一区三区| 亚洲国产日产av| 中文字幕av免费专区久久| 欧美日韩国产美| 9久草视频在线视频精品| 美女www一区二区| 亚洲一区二区三区中文字幕 | 亚洲一区二区偷拍精品| 久久精品视频免费观看| 欧美一区二区高清| 色噜噜狠狠成人网p站| 国产麻豆精品theporn| 午夜精品久久久久久久蜜桃app| 国产精品久线在线观看| 日韩女优电影在线观看| 欧美日韩视频在线一区二区| 国产91高潮流白浆在线麻豆| 日日摸夜夜添夜夜添精品视频| 亚洲欧美日韩一区二区| 国产视频一区在线播放| 日韩免费视频一区| 欧美性videosxxxxx| av电影在线观看不卡| 国产成人av自拍| 免费观看日韩av| 婷婷一区二区三区| 亚洲欧美色一区| 中文字幕日韩精品一区 | 婷婷综合在线观看| 一区二区激情视频| 亚洲视频网在线直播| 国产视频911| 久久久亚洲午夜电影| 精品国精品自拍自在线| 欧美放荡的少妇| 欧美日韩电影在线播放| 在线观看国产日韩| 日本高清免费不卡视频| 91蜜桃视频在线| 色欧美乱欧美15图片| 一本色道**综合亚洲精品蜜桃冫 |