การเปิดตัวระบบการพิมพ์ CUPS 2.3 พร้อมการเปลี่ยนแปลงใบอนุญาตสำหรับรหัสโครงการ

เกือบสามปีหลังจากการก่อตั้งสาขาสำคัญแห่งสุดท้ายอย่าง Apple นำเสนอ เปิดตัวระบบการพิมพ์ฟรี คัพ 2.3 (ระบบการพิมพ์ Unix ทั่วไป) ใช้ใน macOS และ Linux ส่วนใหญ่ การพัฒนา CUPS ได้รับการควบคุมอย่างสมบูรณ์โดย Apple ซึ่งในปี 2007 ดูดซึม Easy Software Products ผู้สร้าง CUPS

ตั้งแต่เวอร์ชันนี้เป็นต้นไป สิทธิ์การใช้งานโค้ดได้เปลี่ยนจาก GPLv2 และ LGPLv2 เป็น Apache 2.0 ซึ่งจะช่วยให้บุคคลที่สามสามารถใช้โค้ด CUPS ในผลิตภัณฑ์ของตนได้โดยไม่ต้องทำการเปลี่ยนแปลงแบบโอเพ่นซอร์ส และยังจะอนุญาตให้ใช้สิทธิ์การใช้งานร่วมกับโปรเจ็กต์โอเพ่นซอร์สอื่นๆ ของ Apple ได้อีกด้วย เช่น Swift, WebKit และ mDNSResponder ใบอนุญาต Apache 2.0 ยังกำหนดการโอนสิทธิ์ไปยังเทคโนโลยีที่เป็นกรรมสิทธิ์อย่างชัดเจนพร้อมกับรหัส ผลเสียของการเปลี่ยนใบอนุญาตจาก GPL เป็น Apache คือการสูญเสียความเข้ากันได้ของใบอนุญาตกับโครงการที่ให้มาภายใต้ใบอนุญาต GPLv2 เท่านั้น (ใบอนุญาต Apache 2.0 เข้ากันได้กับ GPLv3 แต่เข้ากันไม่ได้กับ GPLv2) เพื่อแก้ไขปัญหานี้ ได้มีการเพิ่มข้อยกเว้นพิเศษลงในข้อตกลงใบอนุญาตสำหรับรหัสที่ได้รับอนุญาตภายใต้ GPLv2/LGPLv2

หลัก การเปลี่ยนแปลง ในถ้วย 2.3:

  • เพิ่มการรองรับค่าที่ตั้งล่วงหน้าและ "จบ» ในเทมเพลตงานพิมพ์สำหรับโปรโตคอล IPP ทุกที่ซึ่งมีเครื่องมือสำหรับการเลือกเครื่องพิมพ์ที่พร้อมใช้งานบนเครือข่ายแบบไดนามิก ช่วยให้คุณสามารถกำหนดความพร้อมของเครื่องพิมพ์ ส่งคำขอ และดำเนินการพิมพ์ ทั้งโดยตรงและผ่านโฮสต์ระดับกลาง
  • มียูทิลิตี้ใหม่รวมอยู่ด้วย ippeveprinter ด้วยการใช้งานเซิร์ฟเวอร์ IPP Everywhere แบบธรรมดาที่สามารถใช้เพื่อทดสอบซอฟต์แวร์ไคลเอนต์หรือรันคำสั่งสำหรับงานพิมพ์แต่ละงาน
  • ขณะนี้คำสั่ง lpstat แสดงสถานะหยุดชั่วคราวของงานพิมพ์ใหม่
  • เพิ่มการรองรับ HTTP Digest และการตรวจสอบสิทธิ์ SHA-256 ลงในไลบรารี libcups แล้ว
  • ในการใช้โปรโตคอลการแชร์เครื่องพิมพ์ Bonjour รับประกันการใช้ชื่อ DNS-SD เมื่อลงทะเบียนเครื่องพิมพ์บนเครือข่าย
  • เพิ่มความสามารถในการเขียนไฟล์แอตทริบิวต์ ippserver ลงในยูทิลิตี้ ipptool แล้ว
  • เพิ่มการรองรับตัวเลือก MinTLS และ MaxTLS ให้กับคำสั่ง SSLOptions สำหรับการเลือกเวอร์ชัน TLS ที่จะใช้
  • เพิ่มการรองรับคำสั่ง UserAgentTokens เป็น “client.conf”;
  • อัปเดตบริการ systemd เพื่อรัน Cupsd;
  • คำสั่ง lpoptions ขณะนี้มีความสามารถในการทำงานกับเครื่องพิมพ์ IPP Everywhere ที่ไม่ได้เพิ่มในคิวการพิมพ์ในเครื่อง
  • เพิ่มการรองรับที่ถูกต้องสำหรับเครื่องพิมพ์ที่มีโหมดการพิมพ์ด้านหน้าให้กับไดรเวอร์ IPP Everywhere
  • เพิ่มกฎเพื่อคำนึงถึงคุณสมบัติของเครื่องพิมพ์ USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox และ HP LaserJet P1102;
  • แก้ไขช่องโหว่แล้ว CVE-2019-8696 и CVE-2019-8675นำไปสู่การโอเวอร์โฟลว์ของบัฟเฟอร์ที่จัดสรรสำหรับสแต็กเมื่อประมวลผลข้อมูลที่ไม่ถูกต้องในฟังก์ชัน asn1_get_packed และ asn1_get_type ที่ใช้เมื่อประมวลผลคำขอ SNMP
  • ยูทิลิตี้ Cupaddsmb และ Cuptestdsc ถูกลบออกแล้ว

ที่มา: opennet.ru

เพิ่มความคิดเห็น