17.3.4. Wave 4: sendmail 8
After several years, I returned to Berkeley as a staff member. My job was to manage a group installing and supporting shared infrastructure for research around the Computer Science department. For that to succeed, the largely ad hoc environments of individual research groups had to be unified in some rational way. Much like the early days of the Internet, different research groups were running on radically different platforms, some of which were quite old. In general, every research group ran its own systems, and although some of them were well managed, most of them suffered from "deferred maintenance."
In most cases email was similarly fractured. Each person's email address was "person@host.berkeley.edu", where host was the name of the workstation in their office or the shared server they used (the campus didn't even have internal subdomains) with the exception of a few special people who had @berkeley.edu addresses. The goal was to switch to internal subdomains (so all individual hosts would be in the cs.berkeley.edu subdomain) and have a unified mail system (so each person would have an @cs.berkeley.edu address). This goal was most easily realized by creating a new version of sendmail that could be used throughout the department.
I began by studying many of the variants of sendmail that had become popular. My intent was not to start from a different code base but rather to understand the functionality that others had found useful. Many of those ideas found their way into sendmail 8, often with modifications to merge related ideas or make them more generic. For example, several versions of sendmail had the ability to access external databases such as dbm(3) or NIS; sendmail 8 merged these into one "map" mechanism that could handle multiple types of databases (and even arbitrary non-database transformations). Similarly, the "generics" database (internal to external name mapping) from IDA sendmail was incorporated.
Sendmail 8 also included a new configuration package using the m4(1) macro processor. This was intended to be more declarative than the sendmail 5 configuration package, which had been largely procedural. That is, the sendmail 5 configuration package required the administrator to essentially lay out the entire configuration file by hand, really only using the "include" facility from m4 as shorthand. The sendmail 8 configuration file allowed the administrator to just declare what features, mailers, and so on were required, and m4 laid out the final configuration file.
Much of Section 17.7 discusses the enhancements in sendmail 8.
17.3.5. Wave 5: The Commercial Years
As the Internet grew and the number of sendmail sites expanded, support for the ever larger user base became more problematic. For a while I was able to continue support by setting up a group of volunteers (informally called the "Sendmail Consortium", a.k.a. sendmail.org) who provided free support via e-mail and newsgroup. But by the late 1990s, the installed base had grown to such an extent that it was nearly impossible to support it on a volunteer basis. Together with a more business-savvy friend I founded Sendmail, Inc.2, with the expectation of getting new resources to bear on the code.
Although the commercial product was originally based largely on configuration and management tools, many new features were added to the open-source MTA to support the needs of the commercial world. Notably, the company added support for TLS (connection encryption), SMTP Authentication, site security enhancements such as Denial of Service protection, and most importantly mail filtering plugins (the Milter interface discussed below).
At of this writing the commercial product has expanded to include a large suite of e-mail based applications, nearly all of which are constructed on the extensions added to sendmail during the first few years of the company.
17.3.6. Whatever Happened to sendmail 6 and 7?
Sendmail 6 was essentially the beta for sendmail 8. It was never officially released, but was distributed fairly widely. Sendmail 7 never existed at all; sendmail jumped directly to version 8 because all the other source files for the BSD distribution were bumped to version 8 when 4.4 BSD was released in June 1993.
17.3.4 . คลื่น 4 : Sendmail 8
หลังจากหลายปี ผมกลับมาที่ Berkeley เป็นเจ้าหน้าที่ งานของฉันคือการจัดการกลุ่มการติดตั้งและสนับสนุนโครงสร้างพื้นฐานที่ใช้ร่วมกันเพื่อการวิจัยรอบคอมพิวเตอร์แผนก ที่ประสบความสำเร็จส่วนใหญ่เฉพาะกิจสภาพแวดล้อมของกลุ่มงานวิจัยแต่ละคนต้องเป็นปึกแผ่นในบางเหตุผลทาง เหมือนวันแรกของอินเทอร์เน็ตกลุ่มงานวิจัยต่างๆที่ทำงานบนแพลตฟอร์มที่แตกต่างกันอย่างสิ้นเชิง ซึ่งค่อนข้างเก่า โดยทั่วไปทุกกลุ่มงานวิจัยรันระบบของมันเอง และถึงแม้ว่าบางส่วนของพวกเขาถูกจัดการอย่างดี ส่วนใหญ่ของพวกเขาได้รับ " การรักษาจริง . "
ในกรณีส่วนใหญ่อีเมลที่กันแตก ของแต่ละคน ที่อยู่อีเมล์คือ " คน @ โฮสต์ เบิร์กลีย์ . edu "ที่โฮสต์เป็นชื่อของเวิร์กสเตชันในสำนักงานของพวกเขาหรือพวกเขาจะใช้เซิร์ฟเวอร์ที่ใช้ร่วมกัน ( วิทยาเขตไม่ได้ภายในย่อย ) ด้วยข้อยกเว้นของไม่กี่พิเศษใครมี @berkeley.edu ที่อยู่ เป้าหมายคือเพื่อสลับไปยังย่อยภายใน ( ดังนั้นโฮสต์บุคคลทั้งหมดจะอยู่ใน cs.berkeley.edu ย่อย ) และมีการรวมระบบจดหมาย ( ดังนั้นแต่ละคนก็มี @ csที่อยู่ berkeley.edu ) เป้าหมายนี้ส่วนใหญ่ตระหนักได้อย่างง่ายดาย โดยการสร้างเวอร์ชันใหม่ของโปรแกรม Sendmail ที่สามารถใช้ทั่วแผนก
ผมเริ่มโดยการศึกษาจำนวนมากของสายพันธุ์ของ sendmail ได้กลายเป็นที่นิยม เจตนาของผมไม่ได้เริ่มจากฐานรหัสที่แตกต่างกัน แต่เพื่อให้เข้าใจการทํางานที่ผู้อื่นได้ประโยชน์หลายความคิดเหล่านั้นได้พบวิธีการของพวกเขาในโปรแกรม Sendmail 8 , มักจะมีการปรับเปลี่ยนไปผสานกับความคิดหรือให้ทั่วไปมากขึ้น ตัวอย่างเช่น หลายรุ่นของ sendmail มีความสามารถในการเข้าถึงฐานข้อมูลภายนอกเช่น dBm ( 3 ) หรือ N ; sendmail 8 รวมเหล่านี้เป็นหนึ่งใน " แผนที่ " กลไกที่สามารถจัดการกับหลายประเภทของฐานข้อมูล ( และแม้แต่โดยพลการไม่ฐานข้อมูลการแปลง ) ในทํานองเดียวกัน" ข้อมูลทั่วไป " ฐานข้อมูลทั้งภายใน ภายนอก ชื่อแผนที่ ) จากไอด้า sendmail จัดตั้งขึ้น
sendmail 8 ยังรวมถึงการปรับแต่งใหม่แพคเกจใช้ M4 ( 1 ) แมโครโพรเซสเซอร์ นี้มีวัตถุประสงค์เพื่อเป็นการประกาศมากกว่า 5 การกำหนดค่าแพคเกจ sendmail ซึ่งเคยไปขั้นตอน . นั่นคือที่ 5 การกำหนดค่าแพคเกจ sendmail เป็นผู้ดูแลระบบเพื่อหลักออกวางแฟ้มการตั้งค่าทั้งหมดด้วยมือจริงๆ เท่านั้นที่ใช้ " รวมถึง " สิ่งอำนวยความสะดวกจาก M4 เป็นชวเลข ใช้ sendmail 8 แฟ้มค่าตั้งที่อนุญาตให้ผู้ดูแลระบบเพื่อเพียงแค่ประกาศว่าคุณสมบัติ , mailers , และอื่น ๆเป็น และ M4 ออกมาวางแฟ้มปรับแต่งขั้นสุดท้าย .
มาก มาตรา 177 กล่าวถึงการปรับปรุงในโปรแกรม Sendmail 8 .
17.3.5 . คลื่น 5 : ปีพาณิชย์
เป็นอินเทอร์เน็ตเติบโตและจำนวนของ sendmail เว็บไซต์ขยายการสนับสนุนสำหรับฐานผู้ใช้ที่มีขนาดใหญ่กว่าเดิม กลายเป็นปัญหามากขึ้น สักพักฉันก็สามารถที่จะยังคงสนับสนุน โดยการตั้งกลุ่มอาสาสมัคร ( เลยเรียกว่า " sendmail Consortium " , aka sendmail .org ) ที่ให้การสนับสนุน ได้ฟรีผ่านทางอีเมลและกลุ่มข่าว แต่ปลายปี 1990 , ฐานการติดตั้งมีการเติบโตมากว่ามันเป็นไปไม่ได้เกือบที่จะสนับสนุนให้อาสาสมัครได้พื้นฐาน ด้วยกันกับธุรกิจมากขึ้นเข้าใจเพื่อนฉันก่อตั้ง inc.2 Sendmail , , กับการได้รับการจัดสรรทรัพยากรใหม่หมี รหัส .
แม้ว่าผลิตภัณฑ์เป็นไปตามเดิมคือเครื่องมือการกำหนดค่าและการจัดการ คุณสมบัติใหม่ ๆที่ถูกซ้อนโอเพนซอร์สเพื่อสนับสนุนความต้องการของโลกการค้า โดย บริษัท ได้เพิ่มการสนับสนุน TLS ( การเข้ารหัสการเชื่อมต่อ ) , การตรวจสอบ SMTP , เว็บไซต์การรักษาความปลอดภัยการปรับปรุงเช่น การปฏิเสธ การบริการและที่สำคัญที่สุดคือการกรองจดหมายปลั๊กอิน ( ขี้อาย อินเตอร์เฟซที่กล่าวถึงด้านล่าง ) .
ในการเขียนนี้ผลิตภัณฑ์เชิงพาณิชย์ได้ขยายเพื่อรวมชุดใหญ่ของอีเมลจากโปรแกรมเกือบทั้งหมดที่ถูกสร้างขึ้นบนส่วนขยายเพิ่มโปรแกรม Sendmail ในช่วงไม่กี่ปีแรกของบริษัท
17.3.6 . เกิดอะไรขึ้นกับ sendmail 6 และ 7
Sendmail 6 เป็นเบต้าสำหรับ sendmail 8 มันไม่เคยถูกปล่อยออกมาอย่างเป็นทางการ แต่ก็กระจายค่อนข้างอย่างกว้างขวาง Sendmail 7 ไม่เคยมีอยู่เลย ; sendmail กระโดดตรงรุ่นเพราะทุกแหล่งข้อมูลอื่น ๆสำหรับการกระจายไฟล์ BSD เป็นชนรุ่นที่ 8 เมื่อ 4.4 BSD ที่ถูกปล่อยออกมาในเดือนมิถุนายน 1993
การแปล กรุณารอสักครู่..