פרטי תוכנה:
GMime הוא סט של כלי עזר לניתוח ויצירת הודעות באמצעות Multipurpose Internet Mail Extension (MIME).
כמפתח ומשתמש של לקוחות דואר אלקטרוני, הגיעה למסקנה כי רובם המכריע של פתרונות לקוח דואר האלקטרוני היו מימושי MIME פחות מ-משביע רצון. לעתים קרובות יותר מאשר לא אלה לקוחות הדואר אלקטרוני שנוצרו שבורים הודעות MIME ו / או היה בצורה לא נכונה ינסו לנתח הודעת MIME כך הפחתה ממלוא היתרונות שMIME היה אמור לספק. GMime נועד לטפל בבעיה זו על ידי ביצוע מפרט MIME גם בעת מתן מתכנתים עם ממשק תכנות יישומים מאוד קל לשימוש
מה חדש במהדורה זו:.
- זיהוי זה תיקוני גרסת אזור מערכת charset ועכשיו מטפל בשגיאות ERANGE מiconv (), נראה שגרסת Win32 של גנו libiconv להגדיר (אך אינו מתועדת).
מה חדש בגרסת 2.2.27:
- configure.in: גרסת Bumped ל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: גרסת Bumped
- configure.in: Bumped גרסה ל2.4.22
- לבנות / VS2008 / gmime.vcproj:. גרסת Bumped
- 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_ [g, s] et_pubkey_algo):. מיושם
- (g_mime_signer_ [g, s] et_hash_algo):. שמם מ[ g, s] et_hash ()
- gmime / gmime-אנוסים context.h (GMimeCryptoPubKeyAlgo): מוגדר
- . enum
- gmime / gmime-pkcs7-context.c (pkcs7_get_validity): רשום את
- חשיש ומפתח ציבורי המשמשים בGMimeSigner.
- gmime / gmime-gpg-context.c (gpg_ctx_parse_signer_info): שיא
- אלגוריתם המפתח הציבורי המשמש את החותם.
- gmime / gmime-מרובה-encrypted.c (g_mime_multipart_encrypted_encrypt):
- עכשיו לוקח טיעון אלגוריתם hash שהוא עובר לאורך ל
- 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):
- עכשיו לוקח טיעון אלגוריתם hash.
- gmime / gmime-gpg-context.c (gpg_hash_from_id): פונקציה חדשה
- מיפוי id החשיש של המספרי שgpg משתמש כדי GMimeCryptoHash
- תעודות זהות.
- (gpg_ctx_parse_signer_info): חלץ את אלגוריתם hash בשימוש על ידי
- . החותם
- (gpg_ctx_parse_status): עודכן להשתמש gpg_hash_from_id () .
- gmime / gmime-אנוסים context.c (g_mime_signer_set_hash): ניו
- פונקציה כדי להגדיר את אלגוריתם hash בשימוש על ידי החותם.
- (g_mime_signer_get_hash): פונקציה חדשה כדי לקבל את אלגוריתם 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-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 החתימה הדיגיטלית ללא ראשון כותב את זה ל
- דיסק. כמו כן שונו לחזור char ** במקום GPtrArray ל
- לפשט את הדברים.
- (gpg_ctx_op_start): השתנה גם כדי ליצור יותר צינורות VERIFY ב
- . מצב
- (gpg_ctx_op_step): שינוי כדי להזרים את החתימה הדיגיטלית ל
- . gpg
- (gpg_verify): אל תכתוב את החתימה הדיגיטלית לדיסק - במקום,
- עכשיו אנחנו להזרים אותו ישירות לgpg.
- gmime / gmime-message.c (g_mime_message_get_body): פונקציה חדשה ל
- לנסות ולנחש איזה חלק (או מרובה / אלטרנטיבי) מייצג את
- גוף הודעה.
- gmime / charset-map.c: על פי rfc1557, הוא הציע ש
- euc-kr לשמש לכותרות מאז רבים דיוורים קוריאנים לא יכולים להתמודד
- base64 או ISO-2022-kr המקודד מצוטט-להדפסה. על בסיס זה ו
- באג # 629,235, אני פשוט הולך לרדת 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 המוביל?.
- 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): הפוך פחות קפדן, על מנת
- להתמודד עם ערכי גבול שאינם סחירים המכילים '=' (ואחרים לא חוקי
- תווים).
- 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 () לא ref חלקים שהוא חוזר. כמו כן, אנו
- צריך להגדיר שגיאה כאשר זה קורה.
אלגוריתמים
quot = &;;
מה חדש בגרסה 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-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 החתימה הדיגיטלית ללא ראשון כותב את זה ל
- דיסק. כמו כן שונו לחזור char ** במקום 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
תגובות לא נמצא