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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? thoughts

?? linux下qmail的源碼 本人加了一些注釋
??
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与禽zozo性伦| 欧美日韩亚洲国产综合| 日韩一区二区三区视频在线| 国产盗摄视频一区二区三区| 国产精品欧美精品| 欧美美女bb生活片| 成人av电影免费观看| 日韩国产欧美在线视频| 亚洲精品视频在线观看免费| 久久久久88色偷偷免费| 91国模大尺度私拍在线视频 | 日韩精品中文字幕在线不卡尤物| 成人精品小蝌蚪| 极品美女销魂一区二区三区| 亚洲三级视频在线观看| 国产精品美女久久久久久2018 | 国产综合久久久久影院| 免费日本视频一区| 国产一区二区三区在线观看免费| 午夜视频在线观看一区二区| 丝袜诱惑亚洲看片| 蜜臀99久久精品久久久久久软件| 亚洲美女区一区| 中文字幕一区二区三区色视频 | 欧美性感一区二区三区| 91久久精品一区二区| 91亚洲精品久久久蜜桃网站| 成人免费毛片aaaaa**| 国产宾馆实践打屁股91| av亚洲产国偷v产偷v自拍| 99re热这里只有精品免费视频| 97久久超碰国产精品电影| 色综合欧美在线视频区| 欧美日韩国产在线观看| 国产午夜精品久久久久久免费视| 亚洲女与黑人做爰| 久久精工是国产品牌吗| 91视视频在线观看入口直接观看www | 欧美久久一二三四区| 日韩欧美一区在线| 中文字幕在线一区| 午夜精品久久久久久久久| 国产自产v一区二区三区c| 国产成人精品1024| 4438x亚洲最大成人网| 中文字幕永久在线不卡| 天天影视涩香欲综合网| 99精品黄色片免费大全| 精品国产乱码久久久久久影片| 亚洲一二三专区| 91女人视频在线观看| 国产精品拍天天在线| 国产一区二区美女诱惑| 欧美精品一区二区三区蜜桃| 亚洲无人区一区| 一本一道综合狠狠老| 久久九九全国免费| 久久精品国产亚洲高清剧情介绍| 91亚洲国产成人精品一区二三| 国产精品麻豆网站| 成人免费毛片片v| 国产精品麻豆久久久| 成人黄色大片在线观看| 亚洲高清在线精品| 在线免费av一区| 日韩**一区毛片| 中文字幕国产一区| 在线免费观看成人短视频| 亚洲一区av在线| 精品精品国产高清一毛片一天堂| 婷婷丁香久久五月婷婷| 91视频免费观看| 国产高清精品网站| 精品免费视频一区二区| 97aⅴ精品视频一二三区| 亚洲色图欧美偷拍| 精品国产伦一区二区三区观看方式 | 成人av中文字幕| 亚洲大片在线观看| 国产欧美日韩麻豆91| 欧美一级一级性生活免费录像| 国产精品一区二区x88av| 亚洲狠狠丁香婷婷综合久久久| 制服丝袜日韩国产| 一本久久综合亚洲鲁鲁五月天| 天涯成人国产亚洲精品一区av| 欧美经典一区二区三区| 欧美一级免费大片| 日本电影亚洲天堂一区| 国产iv一区二区三区| 日本视频一区二区三区| 亚洲6080在线| 天堂影院一区二区| 成人免费在线视频| 国产蜜臀av在线一区二区三区| 日韩欧美国产综合在线一区二区三区| 国产成人在线色| 99精品在线免费| 国产酒店精品激情| 国产乱妇无码大片在线观看| 国产精品1024久久| 奇米777欧美一区二区| 久久99在线观看| 成人免费毛片高清视频| 色婷婷综合激情| 欧美天堂一区二区三区| 欧美男男青年gay1069videost| 99这里只有精品| 欧美日韩高清一区二区| 欧美精品一卡二卡| 久久影院电视剧免费观看| 中文字幕日韩一区| 另类小说色综合网站| 强制捆绑调教一区二区| 国产高清久久久| 99视频有精品| 91超碰这里只有精品国产| 欧美系列日韩一区| 欧美本精品男人aⅴ天堂| 国产精品视频你懂的| 蜜桃久久久久久| 在线亚洲一区二区| 国产日韩av一区二区| 日韩精品1区2区3区| 97久久精品人人做人人爽| 日韩免费成人网| 亚洲国产精品精华液网站| av网站免费线看精品| 亚洲精品一线二线三线无人区| 亚洲成a人片在线观看中文| 成人a级免费电影| 久久久久九九视频| 亚洲综合区在线| av激情成人网| 国产欧美日韩视频一区二区 | 国产在线视频精品一区| 欧美精品日韩精品| 亚洲靠逼com| 成人综合日日夜夜| 久久新电视剧免费观看| 国产在线播放一区| 欧美高清你懂得| 亚洲综合激情网| 91久久精品一区二区| 中文字幕国产精品一区二区| 国产在线观看一区二区| 国产天堂亚洲国产碰碰| 国产99久久久国产精品 | 一区二区中文字幕在线| 成人激情文学综合网| 日韩一区二区三区在线| 日本亚洲最大的色成网站www| 国产夫妻精品视频| 国产精品婷婷午夜在线观看| 91色视频在线| 日日夜夜一区二区| 日韩三级伦理片妻子的秘密按摩| 黑人巨大精品欧美黑白配亚洲| 国产精品美女久久久久av爽李琼 | 在线播放中文一区| 久久精品av麻豆的观看方式| 国产欧美一区二区精品性色| 日本电影亚洲天堂一区| 精品亚洲成a人在线观看| 亚洲精品国久久99热| www.欧美亚洲| 亚洲va国产天堂va久久en| 中文字幕乱码日本亚洲一区二区| 欧美精品乱码久久久久久按摩 | 欧美日韩五月天| 99视频精品在线| 国产69精品久久久久毛片| 亚洲图片自拍偷拍| 亚洲精品免费看| 久久久亚洲国产美女国产盗摄 | 国产麻豆精品视频| 狠狠狠色丁香婷婷综合激情| 亚洲精品v日韩精品| 中文字幕日本不卡| 国产精品你懂的在线| 国产日韩精品一区| 国产亚洲欧美色| 久久女同精品一区二区| 日韩欧美国产综合一区| 日韩一区二区中文字幕| 精品欧美一区二区久久| 欧美一区二区三区免费观看视频 | 成人午夜在线播放| 国产91精品精华液一区二区三区| 国产麻豆欧美日韩一区| 麻豆91在线播放免费| 久久精品国产免费| 激情图区综合网| 国产精品一区二区果冻传媒| 国产福利91精品一区二区三区| 国产高清不卡二三区| 在线观看三级视频欧美| 8v天堂国产在线一区二区| 日韩一区二区在线免费观看| 精品成人一区二区三区|