GMime คือชุดของสาธารณูปโภคสำหรับการแยกและการสร้างข้อความโดยใช้ Multipurpose Internet Mail Extension (MIME)
ในฐานะที่เป็นผู้พัฒนาและผู้ใช้ของลูกค้าจดหมายอิเล็กทรอนิกส์ที่ฉันได้มาทราบว่าส่วนใหญ่ของอีเมล์โซลูชั่นลูกค้ามีน้อยกว่าการใช้งานที่น่าพอใจไมม์ บ่อยกว่าไม่เหล่านี้ลูกค้าอีเมล์สร้างหักข้อความ MIME และ / หรือไม่ถูกต้องจะพยายามที่จะแยกข้อความไมม์จึงลบจากประโยชน์เต็มรูปแบบที่ไมม์ก็หมายความว่าจะให้ GMime จะหมายถึงการแก้ไขปัญหานี้โดยทำตามข้อกำหนดไมม์ขณะที่ยังให้การเขียนโปรแกรมที่มีความง่ายมากที่จะใช้อินเตอร์เฟซการเขียนโปรแกรมประยุกต์
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- รุ่นนี้สามารถแก้ไขระบบการตรวจสอบสถานที่เกิดเหตุ charset และตอนนี้จัดการกับข้อผิดพลาดจาก ERANGE iconv () ซึ่งรุ่น GNU ของ Win32 ของ libiconv ดูเหมือนว่าจะกำหนด (แต่ไม่ได้บันทึกไว้).
มีอะไรใหม่ ในรุ่น 2.2.27:
- configure.in: รุ่นกระแทกเพื่อ 2.2.27
- gmime / gmime-gpg-context.c (gpg_ctx_parse_status). รักษา EXPSIG, EXPKEYSIG และ REVKEYSIG เดียวกับ GOODSIG / Badsig ข้อความสถานะในการที่พวกเขาทั้งหมดแสดงข้อมูลผู้ลงนามใหม่
- gmime / gmime-กระแส mem.c (stream_write) อย่างถูกต้องคำนวณขอบเขตสิ้นสุดของกระแสเมื่อ bound_end เป็น -1 .
- gmime / gmime-utils.h (GMIME_QP_ENCODE_LEN). คงที่จะเข้า acount ของความเป็นไปได้ของการมีการบังคับให้ห่อสายที่ 72 + ตัวละคร
- (GMIME_UUENCODE_LEN): คงที่เพื่อป้องกันไม่ให้หน่วยความจำล้นไปได้ .
มีอะไรใหม่ ในรุ่น 2.4.22:
- README: ชนรุ่น
- configure.in: ชนรุ่นที่จะ 2.4.22
- สร้าง / vs2008 / gmime.vcproj. ชนรุ่น
- gmime / gmime-กระแส mem.c (stream_write) อย่างถูกต้องคำนวณขอบเขตสิ้นสุดของกระแสเมื่อ bound_end เป็น -1 .
มีอะไรใหม่ ในรุ่น 2.5.4:
- gmime / อินเทอร์เน็ต address.c (decode_address) : กรณีขอบจับ
- ที่ inptr ถึงจุดสิ้นสุดของสายเข้าก่อนเวลาอันควรเนื่องจาก
- ที่อยู่ในรูปแบบ.
- ละครใบ้ / gmime-PKCS7-context.c (pkcs7_get_validity): เปลี่ยนใหม่
- ตรรกะในการคำนวณสถานะผู้ลงนาม นอกจากนี้ยังลดลง
- GMimeSignatureStatus ตรรกะ.
- gmime / gmime-gpg-context.c (gpg_verify): ลบออก (หัก)
- ตรรกะของการคำนวณ GMimeSignatureStatus.
- (gpg_decrypt). เดียวกัน
- (gpg_ctx_parse_signer_info): อัพเดทสำหรับ g_mime_signer_new ()
- การเปลี่ยนแปลง API.
- gmime / gmime-เข้ารหัสลับ context.c (g_mime_signature_validity_new): ไม่มี
- อีกต่อไปเริ่มต้นสมาชิก GMimeSignatureStatus.
- (g_mime_signature_validity_get_status). ลบ
- (g_mime_signature_validity_set_status). ลบ
- (g_mime_signer_new): ตอนนี้ใช้เวลา GMimeSignerStatus เพื่อที่ฉันสามารถทำได้
- กำจัด NONE สถานะเริ่มต้น.
- gmime / gmime-เข้ารหัสลับ context.h (GMimeSignatureStatus). ลบ
- gmime / gmime-เข้ารหัสลับ context.c (g_mime_signer_new): เริ่มต้น
- pubkey_algo และ hash_algo.
- (g_mime_signer_ [กรัม s] et_pubkey_algo). ดำเนินการ
- (g_mime_signer_ [กรัม s] et_hash_algo). เปลี่ยนชื่อจาก [กรัม s] et_hash ()
- gmime / gmime-เข้ารหัสลับ context.h (GMimeCryptoPubKeyAlgo): กำหนด
- enum.
- gmime / gmime-PKCS7-context.c (pkcs7_get_validity): บันทึก
- กัญชาและขั้นตอนวิธี pubkey ใช้ใน GMimeSigner.
- gmime / gmime-gpg-context.c (gpg_ctx_parse_signer_info): บันทึก
- อัลกอริทึม pubkey ที่ใช้โดยผู้ลงนาม.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_encrypt):
- ตอนนี้จะใช้เวลาโต้แย้งวิธีกัญชาซึ่งมันผ่านไปพร้อมกับ
- g_mime_crypto_context_encrypt ().
- gmime / gmime-gpg-context.c (gpg_ctx_get_argv): เมื่อลงนามและ
- การเข้ารหัสผ่านขั้นตอนวิธีการที่จะแยกแยะ gpg ในบรรทัดคำสั่ง.
- (gpg_encrypt): ตั้ง id กัญชาใน GpgCtx .
- gmime / gmime-เข้ารหัสลับ context.c (g_mime_crypto_context_encrypt):
- ตอนนี้ใช้อาร์กิวเมนต์วิธีกัญชา.
- gmime / gmime-gpg-context.c (gpg_hash_from_id): ฟังก์ชั่นใหม่
- การทำแผนที่ id กัญชาเป็นตัวเลขที่ใช้ในการ gpg GMimeCryptoHash
- รหัส.
- (gpg_ctx_parse_signer_info): สารสกัดจากอัลกอริทึมแฮชที่ใช้โดย
- ผู้ลงนาม.
- (gpg_ctx_parse_status): การปรับปรุงเพื่อใช้ gpg_hash_from_id () .
- gmime / gmime-เข้ารหัสลับ context.c (g_mime_signer_set_hash): ใหม่
- ฟังก์ชั่นในการติดตั้งวิธีกัญชาที่ใช้โดยผู้ลงนาม.
- (g_mime_signer_get_hash): ฟังก์ชั่นใหม่ที่จะได้รับวิธีกัญชา
- ใช้โดยผู้ลงนาม.
- gmime / gmime-ลับบริบท [C, H]:... เปลี่ยนชื่อจาก gmime-ตัวเลขบริบท [C, H]
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- ข้อความผิดพลาดการปรับปรุงเพื่อให้สอดคล้องมากขึ้น.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- ตรวจสอบให้แน่ใจที่จะตั้งข้อผิดพลาดในทุกกรณีที่กลับมาเป็นโมฆะ.
- gmime / gmime-ตัวเลข-context.c (g_mime_signer_get_ *): เหล่านี้
- การทำงานทั้งหมดตอนนี้ใช้เวลา GMimeSigner const *.
- gmime / gmime-gpg-context.c (GpgCtx): ไม่ได้มี sigfile
- สมาชิก แทนที่จะมี sigstream passwd_fd และมีการเปลี่ยนชื่อตอนนี้
- เพื่อ secret_fd และใช้สำหรับทั้งการส่ง gpg passwd ของผู้ใช้เป็น
- เดียวกับการส่ง gpg ลายเซ็นดิจิตอลเมื่อตรวจสอบ.
- (gpg_ctx_new): อัพเดทสำหรับสมาชิก struct ใหม่ .
- (gpg_ctx_set_sigstream). แทนที่ gpg_ctx_set_sigfile ()
- (gpg_ctx_free). ปรับปรุงสำหรับสมาชิก struct ใหม่
- (gpg_ctx_get_argv): ปรับเปลี่ยนบรรทัดคำสั่ง --verify เราเพื่อให้เรา
- สามารถ pas gpg ลายเซ็นดิจิตอลโดยไม่ต้องเขียนครั้งแรกมันไป
- ดิสก์ นอกจากนี้การปรับเปลี่ยนเพื่อกลับถ่าน ** แทน GPtrArray ที่
- ง่ายสิ่ง.
- (gpg_ctx_op_start): ปรับเปลี่ยนไปยังสร้างท่อใน VERIFY
- โหมด.
- (gpg_ctx_op_step): ปรับเปลี่ยนการสตรีมลายเซ็นดิจิทัลไป
- gpg.
- (gpg_verify): อย่าเขียนลายเซ็นดิจิตอลไปยังดิสก์ - แทน
- ตอนนี้เราสตรีมโดยตรงไปยัง gpg.
- gmime / gmime-message.c (g_mime_message_get_body): ฟังก์ชั่นใหม่
- และพยายามเดาซึ่งเป็นส่วนหนึ่ง (หรือ multipart / ทางเลือก) หมายถึง
- เนื้อหาของข้อความ.
- gmime / charset-map.c: ตาม rfc1557 มันก็บอกว่า
- EUC-KR นำมาใช้สำหรับส่วนหัวตั้งแต่จดหมายเกาหลีจำนวนมากไม่สามารถจัดการ
- base64 หรือยกพิมพ์เข้ารหัส iso-2022-KR จากนี้และ
- ข้อผิดพลาด # 629235 ฉันแค่ไปวาง iso-2022-kr.
- gmime / gmime-utils.c (g_mime_utils_header_decode_text): ใน
- กรณีการแก้ปัญหาถ้าเราไม่พบเครื่องหมายปลายรีเซ็ต inptr ของเรา
- จุดเริ่มต้นของคำว่าล่าสุด * บวก 2 * (จะข้าม
- ชั้นนำ & quot; = & quot;) ไม่ใช่จุดเริ่มต้นของการป้อนข้อความ ยังต้อง
- การตั้งค่าใหม่รัฐ ASCII ของเรา.
- (g_mime_utils_header_decode_phrase) ในกรณีการแก้ปัญหาถ้าเรา
- ไม่พบเครื่องหมายปลายรีเซ็ต inptr ของเราที่จะเริ่มต้นของ
- คำล่าสุด * * * * * * * * บวก 2 เพื่อข้ามชั้นนำ & quot; = & quot;.
- gmime / gmime-encodings.c (g_mime_encoding_quoted_encode_close):
- ถ้าตัวท่านที่ผ่านมาไม่ได้ n ผนวก & quot; = n & quot; ลำดับ.
- gmime / gmime-charset.c: มาร์ค known_iconv_charsets [] เช่น
- คงที่ นอกจากนี้ยังทำเครื่องหมายสมาชิกสตริงของ structs ส่วนตัวต่างๆเช่น
- const.
- configure.ac ชนต้องการรุ่นกะล่อนสำหรับ
- g_set_error_literal ().
- gmime / อินเทอร์เน็ต address.c (group_to_string): อย่าผิดพลาดถ้า
- ชื่อกลุ่มล้าง ขอบคุณที่เดเมียน Pietras สำหรับแพทช์นี้.
- gmime / gmime-utils.c (g_mime_utils_header_decode_phrase):
- ใช้สับ RFC2047-วิธีแก้ปัญหาเดียวกับที่พบใน
- g_mime_utils_header_decode_text ().
- gmime / gmime-encodings.c (g_mime_encoding_base64_decode_step):
- ต้องการที่จะให้รัฐในการติดตามของจำนวน = ของเราได้รับการสนับสนุน
- ออกไปในกรณีที่มันข้ามเขตแดนบัฟเฟอร์.
- gmime / gmime-param.c (decode_token): ให้เข้มงวดน้อยลงเพื่อที่จะ
- จัดการค่าขอบเขต unquoted มี '=' (และอื่น ๆ ที่ผิดกฎหมาย
- ตัวอักษร).
- gmime / อินเทอร์เน็ต address.c (_internet_address_set_name): อย่า
- ถอดรหัส / UnQuote ชื่อ เอกสารสำหรับการทำงานทั้งหมดที่เรียก
- นี้ถือว่าสตริงชื่ออยู่ในรูปแบบของการถอดรหัสแล้ว.
- (_ internet_address_decode_name): ฟังก์ชั่นภายในใหม่ที่
- ถอดรหัสสตริงและชุดมันเป็นชื่อใน InternetAddress.
- (decode_address) เขียนใหม่เพื่อจะได้อีกมากมายในสิ่งที่มัน
- ยอมรับ.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- อย่า unref ใบ้เนื้อหาที่มีการเข้ารหัสส่วนวัตถุเมื่อ
- ชนิดเนื้อหาไม่ตรงกับ application / octet-stream,
- g_mime_multipart_get_part () ไม่ ref ชิ้นส่วนไม่ได้ก็จะส่งกลับ นอกจากนี้เรายัง
- ต้องตั้งข้อผิดพลาดเมื่อเกิดเหตุการณ์นี้.
มีอะไรใหม่ ในรุ่น 2.4.21:
- gmime / อินเทอร์เน็ต address.c (decode_address) : กรณีขอบจับ
- ที่ inptr ถึงจุดสิ้นสุดของสายเข้าก่อนเวลาอันควรเนื่องจาก
- ที่อยู่ในรูปแบบ.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- ข้อความผิดพลาดการปรับปรุงเพื่อให้สอดคล้องมากขึ้น.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- ตรวจสอบให้แน่ใจที่จะตั้งข้อผิดพลาดในทุกกรณีที่กลับมาเป็นโมฆะ.
- gmime / gmime-ตัวเลข-context.c (g_mime_signer_get_ *): เหล่านี้
- การทำงานทั้งหมดตอนนี้ใช้เวลา GMimeSigner const *.
- gmime / gmime-gpg-context.c (GpgCtx): ไม่ได้มี sigfile
- สมาชิก แทนที่จะมี sigstream passwd_fd และมีการเปลี่ยนชื่อตอนนี้
- เพื่อ secret_fd และใช้สำหรับทั้งการส่ง gpg passwd ของผู้ใช้เป็น
- เดียวกับการส่ง gpg ลายเซ็นดิจิตอลเมื่อตรวจสอบ.
- (gpg_ctx_new): อัพเดทสำหรับสมาชิก struct ใหม่ .
- (gpg_ctx_set_sigstream). แทนที่ gpg_ctx_set_sigfile ()
- (gpg_ctx_free). ปรับปรุงสำหรับสมาชิก struct ใหม่
- (gpg_ctx_get_argv): ปรับเปลี่ยนบรรทัดคำสั่ง --verify เราเพื่อให้เรา
- สามารถ pas gpg ลายเซ็นดิจิตอลโดยไม่ต้องเขียนครั้งแรกมันไป
- ดิสก์ นอกจากนี้การปรับเปลี่ยนเพื่อกลับถ่าน ** แทน GPtrArray ที่
- ง่ายสิ่ง.
- (gpg_ctx_op_start): ปรับเปลี่ยนไปยังสร้างท่อใน VERIFY
- โหมด.
- (gpg_ctx_op_step): ปรับเปลี่ยนการสตรีมลายเซ็นดิจิทัลไป
- gpg.
- (gpg_verify): อย่าเขียนลายเซ็นดิจิตอลไปยังดิสก์ - แทน
- ตอนนี้เราสตรีมโดยตรงไปยัง gpg.
มีอะไรใหม่ ในรุ่น 2.4.19:
- ข่าวประชาสัมพันธ์ฉบับนี้ได้รับการแก้ไขในการสร้างรุ่นเก่าของ GLib (ไกลกลับเป็น 2.12).
- การแก้ปัญหาถูกนำมาใช้สำหรับการทำลายที่อยู่อีเมล RFC2047 เข้ารหัส.
- ขอบกรณีข้อผิดพลาดถอดรหัส base64 ก็ยังคงที่.
ต้องการ
- กะล่อน & gt; = 1.2.x
ความคิดเห็นที่ไม่พบ