GMime je sada nástrojů pro analýzu a vytváření zpráv pomocí Multipurpose Internet Mail Extension (MIME).
Jako vývojář a uživatel klientů elektronické pošty, jsem si uvědomil, že drtivá většina klientských řešení E-Mail měl méně než uspokojivý MIME implementace. Více často než ne tito klienti E-Mail vytvořenou zlomený MIME zprávy a / nebo by nesprávně se snaží analyzovat zprávy MIME tak odečtením veškerých výhod, které MIME měl poskytnout. GMime je určen pro řešení tohoto problému tím, že následuje specifikace MIME a zároveň poskytuje programátorům velmi snadno použitelné rozhraní pro programování aplikací
Co je nového v této verzi:.
- Tato verze opravuje lokalizace systému detekce charset a nyní zpracovává chyby eRange z iconv (), která se zdá být GNU Win32 verzi verzi libiconv nastavit (ale není popsána).
Co je nového ve verzi 2.2.27:
- configure.in: naražený verze do 2.2.27
- gmime / gmime-gpg-context.c (gpg_ctx_parse_status). Treat EXPSIG, EXPKEYSIG a REVKEYSIG stejně jako zprávy o stavu GOODSIG / BADSIG v tom, že všichni z nich označují novou podepsaného info
- gmime / gmime-stream-mem.c (stream_write): Správně vypočítat konec hranici proudu, když bound_end je -1 .
- gmime / gmime-utils.h (GMIME_QP_ENCODE_LEN). Pevná vzít v vzalo možnost, že bude muset nutit wrap řádky na 72 + znaků
- (GMIME_UUENCODE_LEN): Pevná, aby se zabránilo možným přetečení zásobníku .
Co je nového ve verzi 2.4.22:
- README: naražený verze
- configure.in: naražený verzi 2.4.22
- vytvořit / VS2008 / gmime.vcproj:. Narazila verze
- gmime / gmime-stream-mem.c (stream_write): Správně vypočítat konec hranici proudu, když bound_end je -1 .
Co je nového ve verzi 2.5.4:
- gmime / internet-address.c (decode_address) : Handle hrana případy
- , kde inptr dosáhne konce vstupního řetězce předčasně kvůli
- chybně adresu.
- mime / gmime-PKCS7-context.c (pkcs7_get_validity): přepracoval
- logika pro výpočet stavu podpisu. Také klesl
- GMimeSignatureStatus logika.
- gmime / gmime-gpg-context.c (gpg_verify): Odstraněno (zlomený)
- Logika výpočtu GMimeSignatureStatus.
- (gpg_decrypt). Stejný
- (gpg_ctx_parse_signer_info): Aktualizováno pro g_mime_signer_new ()
- změna API.
- gmime / gmime-crypto-context.c (g_mime_signature_validity_new): Ne
- již inicializuje člena GMimeSignatureStatus.
- (g_mime_signature_validity_get_status). Odstraněn
- (g_mime_signature_validity_set_status). Odstraněn
- (g_mime_signer_new): Nyní trvá GMimeSignerStatus, takže jsem se mohl
- zbavit stavu výchozí Žádná.
- gmime / gmime-crypto-context.h (GMimeSignatureStatus). Odstraněn
- gmime / gmime-crypto-context.c (g_mime_signer_new): Inicializace
- pubkey_algo a hash_algo.
- (g_mime_signer_ [g, s] et_pubkey_algo). Provedeno
- (g_mime_signer_ [g, s] et_hash_algo). Přejmenováno z [g, s] et_hash ()
- gmime / gmime-crypto-context.h (GMimeCryptoPubKeyAlgo): definovány
- výčet.
- gmime / gmime-PKCS7-context.c (pkcs7_get_validity): Zaznamenejte
- hash a pubkey algoritmy používané v GMimeSigner.
- gmime / gmime-gpg-context.c (gpg_ctx_parse_signer_info): Záznam
- pubkey algoritmus použitý podpisu.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_encrypt):
- Nyní trvá hash algoritmu argument, který prochází podél
- g_mime_crypto_context_encrypt ().
- gmime / gmime-gpg-context.c (gpg_ctx_get_argv): Při podpisu a
- šifrování, projít hashovací algoritmus ke SVS na příkazovém řádku.
- (gpg_encrypt): Nastavte hash id na GpgCtx .
- gmime / gmime-crypto-context.c (g_mime_crypto_context_encrypt):
- Nyní trvá hash algoritmu argument.
- gmime / gmime-gpg-context.c (gpg_hash_from_id): Nová funkce
- mapování numerických hash id, které gpg používá k GMimeCryptoHash
- IDS.
- (gpg_ctx_parse_signer_info): Výpis algoritmus použitý
- podpisu.
- (gpg_ctx_parse_status): Aktualizováno používat gpg_hash_from_id () .
- gmime / gmime-crypto-context.c (g_mime_signer_set_hash): New
- funkce pro nastavení hash algoritmus použitý podpisu.
- (g_mime_signer_get_hash): Nová funkce získat hash algoritmu
- používá podpisu.
- gmime / gmime-crypto-context [c, h]:... Přejmenováno z gmime-číselných kontextu [c, h]
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Aktualizováno chybové hlášení, aby se více konzistentní.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- Ujistěte se, že nastavení chybu ve všech případech vrací NULL.
- gmime / gmime-kód-context.c (g_mime_signer_get_ *): Tyto
- funkce vše nyní se const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Už má sigfile
- členem. Místo toho obsahuje sigstream a passwd_fd je nyní přejmenován
- na secret_fd a použít jak pro zasílání gpg passwd uživatele as
- stejně jako pro odesílání gpg digitálního podpisu při ověřování.
- (gpg_ctx_new): Aktualizováno pro nové členy struct .
- (gpg_ctx_set_sigstream). Nahrazuje gpg_ctx_set_sigfile ()
- (gpg_ctx_free). Aktualizováno pro nové členy struct
- (gpg_ctx_get_argv): Změna našeho --verify příkazového řádku tak, že jsme
- může pas gpg digitálního podpisu, aniž by nejprve písemně na adresu
- disk. Také upraven tak, aby se vrátit char ** místo GPtrArray na
- zjednodušit věci.
- (gpg_ctx_op_start): Modifikovaná také vytvořit více trubek v OVĚŘENÍ
- mode.
- (gpg_ctx_op_step): Modifikovaná streamovat digitální podpis
- gpg.
- (gpg_verify): Nepište digitální podpis na disk - místo toho,
- nyní streamovat přímo na SVS.
- gmime / gmime-message.c (g_mime_message_get_body): Nová funkce na
- Zkuste a hádejte, která část (nebo vícedílné / alternativní) představuje
- těla zprávy.
- gmime / charset-map.c: Podle rfc1557, se navrhuje, aby
- EUC-KR využít k záhlaví, protože mnoho korejských odesílatelé nemůže zvládnout
- base64 nebo quoted-printable zakódovaný iso-2022-kr. Na základě toho a
- bug # 629235, já jsem prostě jít k poklesu iso-2022-KR.
- gmime / gmime-utils.c (g_mime_utils_header_decode_text): V
- řešení případu, pokud se nám nepodaří najít konec značku, obnovit naše inptr
- na začátku poslední slovo * a 2 * (přeskočit
- vedoucí & quot;? = & Quot;), nikoliv začátek vstupního textu. Také je třeba
- pro reset naše ascii stavu.
- (g_mime_utils_header_decode_phrase): V obejití případě, pokud budeme
- nenašli koncovou značku, obnovit naši inptr na začátek
- poslední slovo * a 2 *, přeskočit vedoucí & quot;? = & Quot;.
- gmime / gmime-encodings.c (g_mime_encoding_quoted_encode_close):
- Pokud poslední vstup znak není n, přidejte & quot; = n & quot; sekvencí.
- gmime / gmime-charset.c: Mark known_iconv_charsets [] as
- statické. Také označit členy řetězce různých soukromých structs jako
- const.
- configure.ac: Bump glib požadavek verze pro
- g_set_error_literal ().
- gmime / internet-address.c (group_to_string): Nepoužívejte selhat, pokud
- název skupiny je nastavena. Díky Damian Pietras této opravy.
- gmime / gmime-utils.c (g_mime_utils_header_decode_phrase):
- Provádět stejné rfc2047-potíže obejít hack jako jeden objevil v
- g_mime_utils_header_decode_text ().
- gmime / gmime-encodings.c (g_mime_encoding_base64_decode_step):
- Potřebujete keep state sledovat počet = 's jsme couval
- nad v případě, že překračuje hranice vyrovnávací paměti.
- gmime / gmime-param.c (decode_token): Udělat méně přísná, aby
- zvládnout kótované hraniční hodnoty, které obsahují '=' (a jiné nezákonné
- znaků).
- gmime / internet-address.c (_internet_address_set_name): Ještě
- dekódování / konec citátu jméno. Tyto dokumenty pro všechny funkce, které volají
- to předpokládat název řetězec je ve své dekódované podobě již.
- (_ internet_address_decode_name): Nový interní funkce, které
- dekóduje řetězec a nastaví ji jako název na InternetAddress.
- (decode_address) přepsána tak, aby ještě více liberální v tom, co to
- přijímá.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Nepoužívejte unref zašifrovaného obsahu mime části objektu, pokud
- content-type neodpovídá application / oktet-stream,
- g_mime_multipart_get_part () není ref části se vrací. Také
- je třeba nastavit chybu, když se to stane.
Co je nového ve verzi 2.4.21:
- gmime / internet-address.c (decode_address) : Handle hrana případy
- , kde inptr dosáhne konce vstupního řetězce předčasně kvůli
- chybně adresu.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Aktualizováno chybové hlášení, aby se více konzistentní.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- Ujistěte se, že nastavení chybu ve všech případech vrací NULL.
- gmime / gmime-kód-context.c (g_mime_signer_get_ *): Tyto
- funkce vše nyní se const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Už má sigfile
- členem. Místo toho obsahuje sigstream a passwd_fd je nyní přejmenován
- na secret_fd a použít jak pro zasílání gpg passwd uživatele as
- stejně jako pro odesílání gpg digitálního podpisu při ověřování.
- (gpg_ctx_new): Aktualizováno pro nové členy struct .
- (gpg_ctx_set_sigstream). Nahrazuje gpg_ctx_set_sigfile ()
- (gpg_ctx_free). Aktualizováno pro nové členy struct
- (gpg_ctx_get_argv): Změna našeho --verify příkazového řádku tak, že jsme
- může pas gpg digitálního podpisu, aniž by nejprve písemně na adresu
- disk. Také upraven tak, aby se vrátit char ** místo GPtrArray na
- zjednodušit věci.
- (gpg_ctx_op_start): Modifikovaná také vytvořit více trubek v OVĚŘENÍ
- mode.
- (gpg_ctx_op_step): Modifikovaná streamovat digitální podpis
- gpg.
- (gpg_verify): Nepište digitální podpis na disk - místo toho,
- nyní streamovat přímo na SVS.
Co je nového ve verzi 2.4.19:
- Tato verze byla stanovena na navázat na starší verze GLib (již v 2.12).
- zástupná byly implementovány rozbitých rfc2047 kódované e-mailových adres.
- okraj-case base64 dekodér chyba byla také stanovena.
Požadavky na :
- Glib & gt; = 1.2.x
Komentáře nebyl nalezen