GMime是解析和創建使用多用途Internet郵件擴展(MIME)消息的一套工具。
作為電子郵件客戶端的開發者和用戶,我已經認識到了E-Mail客戶端解決方案的絕大多數已經低於滿意MIME實現。更多的往往不是這些電子郵件客戶端創建破MIME信息和/或會錯誤地試圖解析MIME消息,因此從全好處MIME是為了提供減去。 GMime是指按照MIME規範,同時也為程序員提供一個非常易於使用的應用程序編程接口來解決這個問題。
什麼是此版本中的新:
- 在這個版本的修復系統區域設置的字符集檢測,並從現在的iconv(),這GNU的Win32版本的libiconv似乎設置(但不記錄)處理ERANGE錯誤。
什麼在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版本的新:
- 在自述:撞到版
- 在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到達輸入字符串的結束過早,由於
- 在一個畸形的地址。
- 在MIME / 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):定義
- 枚舉。
- 在gmime / gmime-PKCS7-context.c(pkcs7_get_validity):記錄
- 在哈希和PUBKEY算法。
- 在gmime / gmime-GPG-context.c(gpg_ctx_parse_signer_info):錄製
- 在使用由簽名者的PUBKEY算法。
- 在gmime / gmime-多部分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-多部分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_ *):這些
- 在功能現在都需要一個const GMimeSigner *。
- 在gmime / gmime-GPG-context.c(GpgCtx):不再有sigfile
- 成員。相反,含有sigstream和passwd_fd現更名
- 來secret_fd並同時用於發送GPG用戶的passwd作為
- 以及用於發送驗證時GPG數字簽名。
- (gpg_ctx_new):更新了新的結構成員 。
- (gpg_ctx_set_sigstream):替換gpg_ctx_set_sigfile()
- (gpg_ctx_free):已更新為新結構成員
- (gpg_ctx_get_argv):修改我們的--verify命令行,使我們
- 在PAS可以不GPG先寫它的數字簽名
- 在磁盤上。還修改返回一個GPtrArray的字符**而不是
- 簡化的東西。
- (gpg_ctx_op_start):修改也創造更多的管道校驗
- 模式。
- (gpg_ctx_op_step):修改流的數字簽名,以
- GPG。
- (gpg_verify):不要寫數字簽名到磁盤 - 相反,
- 我們現在直接串流到GPG。
- 在gmime / gmime-message.c(g_mime_message_get_body):新功能
- 嘗試和猜測其中的一部分(或多重/替代)表示
- 在郵件正文中。
- 在gmime /字符集 - map.c:根據rfc1557,故建議
- 在EUC-KR用於標題,因為很多韓國寄件人不能處理
- 在64或引用可打印編碼的ISO-2022-KR。在此基礎上和
- 在錯誤#629235,我只是去砸的ISO-2022-KR。
- 在gmime / gmime-utils.c(g_mime_utils_header_decode_text):在
- 在解決辦法的情況下,如果我們不找到一個結束標誌,重置我們inptr
- 來最近的單詞的開頭加上* 2 *(跳過
- 龍頭" =&QUOT),輸入文本的不開始。還需要
- 來重置我們的ASCII狀態。
- (g_mime_utils_header_decode_phrase):在解決辦法的情況下,如果我們
- 在沒有找到一個結束標誌,重置我們inptr到 的開始
- 在最近的字加* 2 *,跳過龍頭" ="
- 在gmime / gmime-encodings.c(g_mime_encoding_quoted_encode_close):
- 如果最後一個輸入字符不是 n,即追加一個" = ñ"序列。
- 在gmime / gmime-charset.c:馬克known_iconv_charsets []為
- 在靜態的。也標誌著各種私人結構的字符串成員
- 常量。
- 在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):新的內部函數,
- 在解碼一個字符串,並將其設置在網際的名稱。
- (decode_address):重寫,更加開明的是什麼
- 接受。
- 在gmime / gmime-多部分encrypted.c(g_mime_multipart_encrypted_decrypt):
- 請不要UNREF加密內容MIME部分對象時
- 在內容類型不匹配的應用程序/八位字節流,
- 在g_mime_multipart_get_part()不REF部分返回。我們也
- 在需要設置一個錯誤,當發生這種情況。
在GMimeSigner使用
什麼在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_ *):這些
- 在功能現在都需要一個const GMimeSigner *。
- 在gmime / gmime-GPG-context.c(GpgCtx):不再有sigfile
- 成員。相反,含有sigstream和passwd_fd現更名
- 來secret_fd並同時用於發送GPG用戶的passwd作為
- 以及用於發送驗證時GPG數字簽名。
- (gpg_ctx_new):更新了新的結構成員 。
- (gpg_ctx_set_sigstream):替換gpg_ctx_set_sigfile()
- (gpg_ctx_free):已更新為新結構成員
- (gpg_ctx_get_argv):修改我們的--verify命令行,使我們
- 在PAS可以不GPG先寫它的數字簽名
- 在磁盤上。還修改返回一個GPtrArray的字符**而不是
- 簡化的東西。
- (gpg_ctx_op_start):修改也創造更多的管道校驗
- 模式。
- (gpg_ctx_op_step):修改流的數字簽名,以
- GPG。
- (gpg_verify):不要寫數字簽名到磁盤 - 相反,
- 我們現在直接串流到GPG。
什麼是2.4.19版本的新:
- 在此版本是固定的基礎上舊版本的GLib庫(早2.12)。
- 的變通辦法是斷開的RFC2047編碼的電子郵件地址來實現。
- 在一個邊緣的情況下的base64解碼器的bug也被修復。
要求:
- 在油嘴> = 1.2.x版本
評論沒有發現