وGMime هو مجموعة من الأدوات المساعدة للتحليل وخلق الرسائل باستخدام متعدد الأغراض ملحقات بريد الإنترنت (MIME).
كمطور والمستخدم من عملاء البريد الإلكتروني، وأنا قد حان لندرك أن الغالبية العظمى من حلول عميل البريد الإلكتروني وكان التنفيذ أقل من مرضية MIME. في أكثر الأحيان هؤلاء العملاء البريد الإلكتروني التي تم إنشاؤها كسر الرسائل MIME و / أو سيحاولون بشكل غير صحيح إلى تحليل رسالة MIME مما طرح من الفوائد الكاملة التي MIME كان من المفترض أن تقدمها. والمقصود GMime لمعالجة هذه القضية من خلال اتباع مواصفات MIME في الوقت الذي توفر أيضا المبرمجين مع وسيلة سهلة للغاية لاستخدام واجهة برمجة التطبيقات
ما هو الجديد في هذا الإصدار:.
هذا إصلاحات نسخة نظام الكشف عن لغة محارف والآن يعالج أخطاء ERANGE من iconv ()، والذي يبدو نسخة Win32 وGNU للlibiconv لمجموعة (ولكن لم يتم توثيقها).
ما هو الجديد في الإصدار 2.2.27:
configure.in: صدم الإصدار 2.2.27
gmime / gmime-المنافع العامة العالمية-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-المنافع العامة العالمية-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_ [ز، ق] et_pubkey_algo): نفذت.
(g_mime_signer_ [ز، ق] et_hash_algo): تسمية من [ز، ق] et_hash ().
gmime / gmime-التشفير-context.h (GMimeCryptoPubKeyAlgo): يعرف
التعداد.
gmime / gmime-PKCS7-context.c (pkcs7_get_validity): سجل
التجزئة وpubkey الخوارزميات المستخدمة في GMimeSigner.
gmime / gmime-المنافع العامة العالمية-context.c (gpg_ctx_parse_signer_info): بطاقة
الخوارزمية pubkey التي يستخدمها الموقع.
gmime / gmime-متعددة الأجزاء، encrypted.c (g_mime_multipart_encrypted_encrypt):
الآن يأخذ حجة خوارزمية البعثرة التي يمر على طول ل
g_mime_crypto_context_encrypt ().
gmime / gmime-المنافع العامة العالمية-context.c (gpg_ctx_get_argv): عند التوقيع و
تشفير، وتمرير هضم الخوارزمية إلى GPG على سطر الأوامر.
(gpg_encrypt): تعيين معرف التجزئة على GpgCtx.
gmime / gmime-التشفير-context.c (g_mime_crypto_context_encrypt):
الآن يأخذ حجة خوارزمية البعثرة.
gmime / gmime-المنافع العامة العالمية-context.c (gpg_hash_from_id): وظيفة جديدة
رسم خرائط إسم البائع التجزئة الرقمية التي المنافع العامة العالمية يستخدم ل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-التشفير السياق [ج، ح]: تسمية من gmime-الشفرات السياق [ج، ح].
gmime / gmime-متعددة الأجزاء، encrypted.c (g_mime_multipart_encrypted_decrypt):
رسائل الخطأ تحديثه ليكون أكثر اتساقا.
gmime / gmime-متعددة الأجزاء، signed.c (g_mime_multipart_signed_verify):
تأكد من تعيين خطأ في جميع الحالات تعود NULL.
gmime / gmime-الشفرات-context.c (g_mime_signer_get_ *): هذه
وظائف جميعا الآن اتخاذ GMimeSigner CONST *.
gmime / gmime-المنافع العامة العالمية-context.c (GpgCtx): لم يعد لديه sigfile
الأعضاء. يحتوي بدلا من ذلك sigstream وتتم إعادة تسمية passwd_fd الآن
لsecret_fd وتستخدم لكلا إرسال GPG باسود المستخدم كما هو
كذلك لإرسال GPG التوقيع الرقمي عند التحقق.
(gpg_ctx_new): تحديث لأعضاء البنية الجديد.
(gpg_ctx_set_sigstream): يستبدل gpg_ctx_set_sigfile ().
(gpg_ctx_free): تحديث لأعضاء البنية الجديد.
(gpg_ctx_get_argv): تعديل لدينا --verify سطر الأوامر حتى يتسنى لنا
يمكن با المنافع العامة العالمية التوقيع الرقمي دون كتابة لأول مرة ل
القرص. تعديل أيضا للعودة شار ** بدلا من GPtrArray ل
تبسيط الأمور.
(gpg_ctx_op_start): تعديل إليها أيضا خلق المزيد من الأنابيب في الناصريون
واسطة.
(gpg_ctx_op_step): تعديل لتيار التوقيع الرقمي ل
المنافع العامة العالمية.
(gpg_verify): لا تكتب التوقيع الرقمي إلى القرص - بدلا من ذلك،
نحن تيار عليه الآن مباشرة إلى المنافع العامة العالمية.
gmime / gmime-message.c (g_mime_message_get_body): وظيفة جديدة ل
محاولة لتخمين أي جزء (أو متعددة الأجزاء / البديل) يمثل
نص الرسالة.
gmime / محارف 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 * (الى تجاوز
ومثل الرائدة و.؟ = & مثل؛)، لا بداية إدخال النص. تحتاج أيضا
لإعادة تعيين دولة أسكي لدينا.
(g_mime_utils_header_decode_phrase): في حالة الحل، إذا نحن
لا تجد علامة نهاية، إعادة تعيين inptr جهدنا لبداية
معظم الكلمة الأخيرة * زائد 2 *، لتخطي الرائدة ومثل.؟ = & مثل ؛.
gmime / gmime-encodings.c (g_mime_encoding_quoted_encode_close):
إذا كان الحرف المدخلات الماضي ليس ن، وإلحاق مثل؛ = ن ومثل. التسلسل.
gmime / gmime-charset.c: مارك known_iconv_charsets [] كما
ثابت. أيضا بمناسبة أعضاء سلسلة من مختلف البنيات خاصة كما
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): جعل أقل صرامة من أجل
التعامل مع القيم حدود غير المدرجة تحتوي على '=' (وغيرها غير قانونية
حرفا).
gmime / الإنترنت-address.c (_internet_address_set_name): لا
فك شفرة / نهاية الاقتباس الاسم. مستندات لجميع الوظائف التي تدعو
هذا الافتراض سلسلة اسم هو في شكله فك الشفرة بالفعل.
(_internet_address_decode_name): وظيفة الداخلية الجديدة التي
يترجم سلسلة ويضع على أنها اسم على InternetAddress.
(decode_address): إعادة كتابة أن تكون أكثر ليبرالية في ما
يقبل.
gmime / gmime-متعددة الأجزاء، encrypted.c (g_mime_multipart_encrypted_decrypt):
لا unref محتوى الكائن جزءا التمثيل الصامت مشفرة عندما
نوع المحتوى لا يتطابق التطبيق / الثماني تيار،
g_mime_multipart_get_part () لا المرجع أجزاء تقوم بإرجاع. نحن أيضا
تحتاج إلى تعيين خطأ عندما يحدث هذا.
ما هو الجديد في الإصدار 2.4.21:
gmime / الإنترنت-address.c (decode_address): التعامل مع الحالات حافة
حيث تصل inptr نهاية سلسلة الإدخال قبل الأوان بسبب
عنوان تالف.
gmime / gmime-متعددة الأجزاء، encrypted.c (g_mime_multipart_encrypted_decrypt):
رسائل الخطأ تحديثه ليكون أكثر اتساقا.
gmime / gmime-متعددة الأجزاء، signed.c (g_mime_multipart_signed_verify):
تأكد من تعيين خطأ في جميع الحالات تعود NULL.
gmime / gmime-الشفرات-context.c (g_mime_signer_get_ *): هذه
وظائف جميعا الآن اتخاذ GMimeSigner CONST *.
gmime / gmime-المنافع العامة العالمية-context.c (GpgCtx): لم يعد لديه sigfile
الأعضاء. يحتوي بدلا من ذلك sigstream وتتم إعادة تسمية passwd_fd الآن
لsecret_fd وتستخدم لكلا إرسال GPG باسود المستخدم كما هو
كذلك لإرسال GPG التوقيع الرقمي عند التحقق.
(gpg_ctx_new): تحديث لأعضاء البنية الجديد.
(gpg_ctx_set_sigstream): يستبدل gpg_ctx_set_sigfile ().
(gpg_ctx_free): تحديث لأعضاء البنية الجديد.
(gpg_ctx_get_argv): تعديل لدينا --verify سطر الأوامر حتى يتسنى لنا
يمكن با المنافع العامة العالمية التوقيع الرقمي دون كتابة لأول مرة ل
القرص. تعديل أيضا للعودة شار ** بدلا من GPtrArray ل
تبسيط الأمور.
(gpg_ctx_op_start): تعديل إليها أيضا خلق المزيد من الأنابيب في الناصريون
واسطة.
(gpg_ctx_op_step): تعديل لتيار التوقيع الرقمي ل
المنافع العامة العالمية.
(gpg_verify): لا تكتب التوقيع الرقمي إلى القرص - بدلا من ذلك،
نحن تيار عليه الآن مباشرة إلى المنافع العامة العالمية.
ما هو الجديد في الإصدار 2.4.19:
تم إصلاح هذا الإصدار للبناء على الإصدارات القديمة من الخصلة (بقدر ما يعود إلى 2.12).
تم تنفيذ الحلول لترميز rfc2047 عناوين البريد الإلكتروني مكسورة.
تم إصلاح أيضا ميزة حدة فك الترميز base64 في علة.
المتطلبات:
الخصلة & GT؛ = 1.2.x
لم يتم العثور على التعليقات