gmime ist eine Reihe von Dienstprogrammen für das Parsen und Erstellen von Nachrichten mit dem Multipurpose Internet Mail Extension (MIME).
Als Entwickler und Anwender von E-Mail-Clients, hatte ich zu der Erkenntnis gelangt, dass die überwiegende Mehrheit der E-Mail-Client-Lösungen hatten, weniger als zufriedenstellenden MIME-Implementierungen. Mehr als oft nicht diese E-Mail-Clients erstellt gebrochen MIME-Nachrichten und / oder fälschlicherweise versuchen, eine MIME-Nachricht so von den vollen Nutzen, dass MIME wurde bedeutet, um bereitzustellen Subtraktion analysieren. Gmime soll dieses Problem, indem Sie die MIME-Spezifikation während auch Programmierer mit einer extrem einfach zu bedienen Application Programming Interface Adresse
Was ist neu in dieser Pressemitteilung:.
- Diese Version behebt Systemgebietsschema charset Erkennung und jetzt Griffe ERANGE Fehler von iconv (), die GNU-Win32-Version von libiconv scheint gesetzt (ist aber nicht dokumentiert).
Was ist neu in Version 2.2.27:
- configure.in: Bumped Version 2.2.27
- gmime / gmime-gpg-context.c (gpg_ctx_parse_status):. Gönnen EXPSIG, EXPKEYSIG und REVKEYSIG das gleiche wie GOODSIG / BADSIG Statusmeldungen in, dass alle von ihnen bezeichnen einen neuen Unterzeichner info
- gmime / gmime-stream-mem.c (stream_write): Richtig berechnen das Ende Begrenzung des Stroms, wenn bound_end -1 .
- gmime / gmime-utils.h (GMIME_QP_ENCODE_LEN):. Feste in acount die Möglichkeit, dass bei 72 + Zeichen zwingen-Wrap-Linien nehmen
- (GMIME_UUENCODE_LEN): Fest mögliche Pufferüberläufe zu verhindern .
Was ist neu in Version 2.4.22:
- Readme: Bumped Version
- configure.in: Bumped Version 2.4.22
- Bau / VS2008 / gmime.vcproj:. Bumped Version
- gmime / gmime-stream-mem.c (stream_write): Richtig berechnen das Ende Begrenzung des Stroms, wenn bound_end -1 .
Was ist neu in Version 2.5.4:
- gmime / Internet-address.c (decode_address) : Handle Grenzfälle
- , wo InPtr das Ende der Eingabezeichenfolge erreicht vorzeitig aufgrund
- eine ungültige Adresse.
- Pantomime / gmime-pkcs7-context.c (pkcs7_get_validity): Überarbeitete die
- Logik, um den Unterzeichner-Status zu berechnen. Auch fiel
- GMimeSignatureStatus Logik.
- gmime / gmime-gpg-context.c (gpg_verify): Entfernt das (gebrochen)
- Logik der Berechnung einer GMimeSignatureStatus.
- (gpg_decrypt.): Same
- (gpg_ctx_parse_signer_info): Aktualisiert die g_mime_signer_new ()
- API Änderung.
- gmime / gmime-Krypto context.c (g_mime_signature_validity_new): Keine
- mehr initialisiert eine GMimeSignatureStatus Mitglied.
- (g_mime_signature_validity_get_status):. Removed
- (g_mime_signature_validity_set_status):. Removed
- (g_mime_signer_new): Jetzt nimmt eine GMimeSignerStatus, so dass ich konnte,
- der Standardwert NONE Status loszuwerden.
- gmime / gmime-Krypto context.h (GMimeSignatureStatus):. Removed
- gmime / gmime-Krypto context.c (g_mime_signer_new): Initialisieren
- pubkey_algo und hash_algo.
- (g_mime_signer_ [g, s] et_pubkey_algo). Implementiert
- (g_mime_signer_ [g, s] et_hash_algo):. Aus umbenannt [g, s] et_hash ()
- gmime / gmime-Krypto context.h (GMimeCryptoPubKeyAlgo): Definierte
- Enum.
- gmime / gmime-pkcs7-context.c (pkcs7_get_validity): Notieren Sie die
- Hash-Algorithmen und pubkey im GMimeSigner verwendet.
- gmime / gmime-gpg-context.c (gpg_ctx_parse_signer_info): Nehmen Sie
- die pubkey Algorithmus, der von dem Unterzeichner verwendet wird.
- gmime / gmime-Multipart-encrypted.c (g_mime_multipart_encrypted_encrypt):
- Nun nimmt eine Hash-Algorithmus Argument, das es zusammen auf geht
- g_mime_crypto_context_encrypt ().
- gmime / gmime-gpg-context.c (gpg_ctx_get_argv): Bei der Unterzeichnung und
- Verschlüsseln, übergeben Sie die Digest-Algorithmus, um auf der Befehlszeile gpg.
- (gpg_encrypt): Stellen Sie den Hash-ID auf der GpgCtx .
- gmime / gmime-Krypto context.c (g_mime_crypto_context_encrypt):
- Nun nimmt eine Hash-Algorithmus Argument.
- gmime / gmime-gpg-context.c (gpg_hash_from_id): Neue Funktion
- Abbildung der numerischen Hash-IDs, dass GPG verwendet um GMimeCryptoHash
- Ids.
- (gpg_ctx_parse_signer_info): Entpacken Sie die Hash-Algorithmus verwendet, um
- der Unterzeichner.
- (gpg_ctx_parse_status): Update auf gpg_hash_from_id () verwenden .
- gmime / gmime-Krypto context.c (g_mime_signer_set_hash): New
- Funktion, um den Hash-Algorithmus durch die Unterzeichner verwendet wird.
- (g_mime_signer_get_hash): Neue Funktion, um den Hash-Algorithmus zu erhalten
- vom Unterzeichner verwendet wird.
- gmime / gmime-Krypto-Kontext [c, h]:... Aus gmime-Chiffre-Kontext umbenannt [c, h]
- gmime / gmime-Multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Aktualisiert Fehlermeldungen zu mehr konsistent.
- gmime / gmime-Multipart-signed.c (g_mime_multipart_signed_verify):
- Stellen Sie sicher, um einen Fehler in allen Fällen der Rückkehr NULL festgelegt.
- gmime / gmime-Chiffre-context.c (g_mime_signer_get_ *): Diese
- Funktionen alle nun einen const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Nicht mehr hat eine SIGNIERDATEI
- Mitglied. Stattdessen enthält eine sigstream und passwd_fd jetzt umbenannt
- wird secret_fd und sowohl für das Senden gpg passwd des Benutzers als verwendet
- und für das Senden von gpg der digitalen Signatur bei der Überprüfung.
- (gpg_ctx_new): Aktualisiert für die neuen Strukturkomponenten .
- (gpg_ctx_set_sigstream). Ersetzt gpg_ctx_set_sigfile ()
- (gpg_ctx_free). Aktualisiert für die neuen Strukturkomponenten
- (gpg_ctx_get_argv): Ändern Sie unsere --verify Befehlszeile so, dass wir
- kann pas gpg die digitale Signatur, ohne vorher es um das Schreiben
- Festplatte. Auch modifiziert werden, um char statt eines GPtrArray zurückzukehren **
- die Dinge zu vereinfachen.
- (gpg_ctx_op_start): Geändert, um auch mehrere Rohre zu schaffen, in PRÜFEN
- Modus.
- (gpg_ctx_op_step): Geändert, um die digitale Signatur zu streamen
- gpg.
- (gpg_verify): die digitale Signatur Schreiben Sie nicht auf die Festplatte - stattdessen
- wir per Streaming direkt an gpg.
- gmime / gmime-message.c (g_mime_message_get_body): Neue Funktion, um
- versuchen und erraten, welcher Teil (oder multipart / alternative) den
- Nachrichtentext.
- gmime / charset-map.c: Nach rfc1557, wird vorgeschlagen, dass
- euc-kr für Überschriften verwendet werden, da viele koreanische Mailer nicht verarbeiten kann werden
- base64 oder quoted-printable kodierten iso-2022-kr. Auf dieser Grundlage und
- Bug # 629.235, ich bin gerade dabei, iso-2022-kr fallen zu lassen.
- gmime / gmime-utils.c (g_mime_utils_header_decode_text): In der
- Workaround Fall, wenn wir ein Ende Marker nicht finden, setzen unsere InPtr
- an den Anfang des letzten Wort * plus 2 * (zu überspringen
- die führende & quot;? = & Quot;), nicht der Anfang der Texteingabe. Auch müssen
- , unsere ascii Zustand zurückzusetzen.
- (g_mime_utils_header_decode_phrase): In der Workaround Fall, wenn wir
- Sie ein Ende Marker nicht finden, setzen unsere InPtr zu Beginn des
- letzte Wort * plus 2 *, zu überspringen, die führende & quot;? = & Quot;.
- gmime / gmime-encodings.c (g_mime_encoding_quoted_encode_close):
- Wenn die zuletzt eingegebene Zeichen ist kein n, hängen Sie ein & rdquo; = n & rdquo; Folge.
- gmime / gmime-charset.c: Mark known_iconv_charsets [] als
- statisch. Markieren Sie auch String Mitglieder verschiedener privater Strukturen wie
- konst.
- configure.ac: Bump glib Version Voraussetzung für
- g_set_error_literal ().
- gmime / Internet-address.c (group_to_string): Kein Absturz, wenn der
- Gruppenname ist nicht gesetzt. Dank Damian Pietras für diesen Patch.
- gmime / gmime-utils.c (g_mime_utils_header_decode_phrase):
- Implementieren Sie die gleichen RFC2047-Workaround Hack wie die in gefunden
- g_mime_utils_header_decode_text ().
- gmime / gmime-encodings.c (g_mime_encoding_base64_decode_step):
- muss ein Bundesstaat behalten, den Überblick über die Anzahl der 's = wir gesichert haben zu halten
- über den Fall kreuzt Puffergrenzen.
- gmime / gmime-param.c (decode_token): Stellen weniger streng, um
- hand nicht börsennotierte Grenzwerte enthält '=' (und anderen illegalen
- Zeichen).
- gmime / Internet-address.c (_internet_address_set_name): Do not
- Decoder / unquote den Namen. Die Dokumentation für alle Funktionen, die rufen
- Sie diese übernehmen schon der Name String ist in seiner Form decodiert.
- (_ internet_address_decode_name): Neue interne Funktion, die
- entschlüsselt einen String und setzt es mit dem Namen auf die Internetadresse angegeben.
- (decode_address): neu geschrieben, um noch mehr liberal sein, was es
- akzeptiert.
- gmime / gmime-Multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- den verschlüsselten Inhalt Mime Teil Objekt UNREF Sie nicht, wenn die
- Content-Type ist application / octet-stream nicht übereinstimmen,
- g_mime_multipart_get_part () nicht Teile es zurück ref. Wir haben auch
- muss ein Fehler gesetzt, wenn dies der Fall ist.
Was ist neu in Version 2.4.21:
- gmime / Internet-address.c (decode_address) : Handle Grenzfälle
- , wo InPtr das Ende der Eingabezeichenfolge erreicht vorzeitig aufgrund
- eine ungültige Adresse.
- gmime / gmime-Multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Aktualisiert Fehlermeldungen zu mehr konsistent.
- gmime / gmime-Multipart-signed.c (g_mime_multipart_signed_verify):
- Stellen Sie sicher, um einen Fehler in allen Fällen der Rückkehr NULL festgelegt.
- gmime / gmime-Chiffre-context.c (g_mime_signer_get_ *): Diese
- Funktionen alle nun einen const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Nicht mehr hat eine SIGNIERDATEI
- Mitglied. Stattdessen enthält eine sigstream und passwd_fd jetzt umbenannt
- wird secret_fd und sowohl für das Senden gpg passwd des Benutzers als verwendet
- und für das Senden von gpg der digitalen Signatur bei der Überprüfung.
- (gpg_ctx_new): Aktualisiert für die neuen Strukturkomponenten .
- (gpg_ctx_set_sigstream). Ersetzt gpg_ctx_set_sigfile ()
- (gpg_ctx_free). Aktualisiert für die neuen Strukturkomponenten
- (gpg_ctx_get_argv): Ändern Sie unsere --verify Befehlszeile so, dass wir
- kann pas gpg die digitale Signatur, ohne vorher es um das Schreiben
- Festplatte. Auch modifiziert werden, um char statt eines GPtrArray zurückzukehren **
- die Dinge zu vereinfachen.
- (gpg_ctx_op_start): Geändert, um auch mehrere Rohre zu schaffen, in PRÜFEN
- Modus.
- (gpg_ctx_op_step): Geändert, um die digitale Signatur zu streamen
- gpg.
- (gpg_verify): die digitale Signatur Schreiben Sie nicht auf die Festplatte - stattdessen
- wir per Streaming direkt an gpg.
Was ist neu in Version 2.4.19:
- Diese Version wurde behoben aufbauen ältere Versionen GLib (so weit zurück wie 2.12).
- Problemumgehungen wurden gebrochen RFC2047-kodierte E-Mail-Adressen umgesetzt werden.
- Ein Rand-Fall Base64 Decoder Fehler wurde ebenfalls behoben.
Anforderungen :
- Glib & gt; = 1.2.x
Kommentare nicht gefunden