GMime є набір утиліт для розбору і створення повідомлень за допомогою багатофункціональних інтернет-Extension Mail (MIME).
Як розробник і користувач клієнтів електронної пошти, я прийшов до висновку, що переважна більшість клієнтських рішень E-Mail було менше ніж задовільний реалізації MIME. Найчастіше ці клієнти E-Mail створено розбиті MIME повідомлення і / або буде неправильно намагатися розібрати MIME повідомлення таким чином, віднімаючи з усіх переваг, які MIME повинен був надати. GMime призначена для вирішення цієї проблеми, слідуючи специфікації MIME, а також надає програмістам дуже простий у використанні інтерфейс прикладного програмування
Що нового У цьому випуску :.
- У даній версії виправлені мови системи виявлення кодування і тепер обробляє помилки 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.): Виправлено взяти до АСоіп можливість того, щоб примусово рядки довжиною приблизно в 72 + символів
- (GMIME_UUENCODE_LEN): Виправлено для запобігання можливих переповнення буфера .
Що нового у версії 2.4.22:
- README: Зіткнувся версія
- configure.in: Зіткнувся версію 2.4.22
- Build / 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 так, щоб я міг
- позбутися статусу за замовчуванням немає.
- 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): Запишіть
- хеш і Публічних алгоритми, використовувані в GMimeSigner.
- gmime / gmime-GPG-context.c (gpg_ctx_parse_signer_info): Запис
- алгоритм Публічних використовується підписала.
- 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): Встановіть хеш-ідентифікатор на GpgCtx .
- gmime / gmime-крипто-context.c (g_mime_crypto_context_encrypt):
- Тепер приймає аргумент алгоритм хешування.
- gmime / gmime-GPG-context.c (gpg_hash_from_id): Нова функція
- відображення цифрових хеш-ідентифікаторів, що GPG використовує для GMimeCryptoHash
- IDS.
- (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_ *): Це
- Всі функції тепер взяти константних 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 командного рядка, так що ми
- може па 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 бути використані для заголовків, так як багато корейські поштові не може впоратися
- base64 або цитироваться друкуються закодовані ISO-2022-кр. Виходячи з цього і
- помилка # 629235, я просто хочу, щоб кинути изо-2022-кр.
- 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):
- Якщо минулого введення Літери не п, додати і Quot; = п & Quot; Послідовність.
- gmime / gmime-charset.c: Марк known_iconv_charsets [], а
- статичним. Також зазначають члени рядок різних приватних структур, як
- Уст.
- configure.ac: Bump жвавий вимогу про версії
- 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 зашифроване вміст MIME частину об'єкта, коли
- Content-Type не відповідає додатки / октет-потік,
- 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 *.
- 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 командного рядка, так що ми
- може па GPG цифрового підпису без попереднього записавши його на
- диск. Також змінений, щоб повернутися символ ** замість GPtrArray на
- спростити речі.
- (gpg_ctx_op_start): Модифікована також створити більше труб в ПЕРЕВІРЯТИ
- Режим.
- (gpg_ctx_op_step): Модифікована потік цифровий підпис, щоб
- GPG.
- (gpg_verify): Не пишіть цифрового підпису на диск - замість цього,
- ми тепер потік його безпосередньо GPG.
Що нового у версії 2.4.19:
- Цей реліз був зафіксований побудувати на застарілі версії GLib (ще в 2.12).
- обхідні шляхи були реалізовані зламаних RFC2047 кодуванні адрес електронної пошти.
- краю разі base64 декодер помилка також виправлена.
Вимоги
- Гліб і GT; = 1.2.x
Коментар не знайдено