GMime представляет собой набор утилит для разбора и создания сообщений, используя Multipurpose Internet Mail (Extension MIME).
Как разработчик и пользователь клиентов электронной почты, я пришел к выводу, что подавляющее большинство клиентских решений E-Mail было меньше, чем удовлетворительным реализации MIME. Чаще всего эти клиенты E-Mail создано разбиты MIME сообщения и / или неправильно было бы попытаться разобрать MIME сообщение таким образом, вычитая из полной выгоды, что MIME-был призван обеспечить. GMime предназначен для решения этого вопроса, следуя спецификации MIME, а также предоставляет программистам чрезвычайно простой в использовании интерфейс программирования приложений
Что нового В этом выпуске:.
- Это версия исправления языка системы обнаружения кодировка и теперь обрабатывает ошибки ERANGE от Iconv (), который в Win32 GNU версия 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 или цитирует печатаемые закодированные изо-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 зашифрованное содержимое мим часть объекта, когда
- 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
Комментарии не найдены