GMime er et sæt af værktøjer til parsing og skabe meddelelser via Multipurpose Internet Mail Extension (MIME).
Som udvikler og bruger af elektronisk post-klienter, var jeg kommet til at indse, at det store flertal af e-mail-klient-løsninger havde mindre end tilfredsstillende MIME implementeringer. End ikke disse e-mail-klienter skabt mere ofte brudt MIME-meddelelser og / eller ville fejlagtigt forsøger at parse en MIME-meddelelse dermed formindske det fulde udbytte at MIME var ment til at give. GMime er beregnet til at løse dette problem ved at følge MIME specifikationen samtidig give programmører med en ekstremt nemt at bruge application programming interface
Hvad er nyt i denne udgivelse:.
- Denne version løser systemet locale charset afsløring og nu håndterer ERANGE fejl fra iconv (), som GNU s Win32 version af libiconv synes at sætte (men er ikke dokumenteret).
Hvad er nyt i version 2.2.27:
- configure.in: Bumped version 2.2.27
- gmime / gmime-gpg-context.c (gpg_ctx_parse_status):. Forkæl EXPSIG, EXPKEYSIG og REVKEYSIG det samme som GOODSIG / BADSIG statusmeddelelser på, at alle af dem betegne en ny signer info
- gmime / gmime-stream-mem.c (stream_write): Korrekt beregne enden grænse af strømmen når bound_end er -1 .
- gmime / gmime-utils.h (GMIME_QP_ENCODE_LEN):. Fast at tage hensyn hertil muligheden for at tvinge-wrap linjer ved 72 + tegn
- (GMIME_UUENCODE_LEN): Fast for at forhindre mulige bufferoverløb .
Hvad er nyt i version 2.4.22:
- README: Bumped udgave
- configure.in: Bumped version 2.4.22
- bygge / VS2008 / gmime.vcproj:. Bumped udgave
- gmime / gmime-stream-mem.c (stream_write): Korrekt beregne enden grænse af strømmen når bound_end er -1 .
Hvad er nyt i version 2.5.4:
- gmime / internet-address.c (decode_address) : Håndtag kant sager
- hvor inptr når til slutningen af input strengen for tidligt på grund af
- en misdannet adresse.
- mime / gmime-pkcs7-context.c (pkcs7_get_validity): omarbejdet
- logik til beregning underskriveren status. Også faldt
- GMimeSignatureStatus logik.
- gmime / gmime-gpg-context.c (gpg_verify): Fjernet (brudt)
- logik beregne en GMimeSignatureStatus.
- (gpg_decrypt):. Samme
- (gpg_ctx_parse_signer_info): Opdateret til g_mime_signer_new ()
- API ændring.
- gmime / gmime-krypto-context.c (g_mime_signature_validity_new): Nej
- længere initialiserer et GMimeSignatureStatus medlem.
- (g_mime_signature_validity_get_status):. Fjernet
- (g_mime_signature_validity_set_status):. Fjernet
- (g_mime_signer_new): Nu tager en GMimeSignerStatus så jeg kunne
- slippe af standard NONE status.
- gmime / gmime-krypto-context.h (GMimeSignatureStatus):. Fjernet
- gmime / gmime-krypto-context.c (g_mime_signer_new): Initialiser
- pubkey_algo og hash_algo.
- (g_mime_signer_ [g, s] et_pubkey_algo):. Gennemført
- (g_mime_signer_ [g, s] et_hash_algo):. Omdøbt fra [g, s] et_hash ()
- gmime / gmime-krypto-context.h (GMimeCryptoPubKeyAlgo): Defineret
- enum.
- gmime / gmime-pkcs7-context.c (pkcs7_get_validity): Optag det
- hash og pubkey algoritmer, der anvendes i GMimeSigner.
- gmime / gmime-gpg-context.c (gpg_ctx_parse_signer_info): Optag
- pubkey algoritme bruges af underskriveren.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_encrypt):
- Nu tager en hash-algoritme argument, som den passerer videre til
- g_mime_crypto_context_encrypt ().
- gmime / gmime-gpg-context.c (gpg_ctx_get_argv): Når du tilmelder og
- kryptering, passerer fordøje algoritme til at gpg på kommandolinjen.
- (gpg_encrypt): Indstil hash id på GpgCtx .
- gmime / gmime-krypto-context.c (g_mime_crypto_context_encrypt):
- Nu tager en hash-algoritme argument.
- gmime / gmime-gpg-context.c (gpg_hash_from_id): Ny funktion
- kortlægge de numeriske hash id'er at gpg bruger til GMimeCryptoHash
- id'er.
- (gpg_ctx_parse_signer_info): Uddrag hash algoritme bruges af
- underskriveren.
- (gpg_ctx_parse_status): Opdateret til at bruge gpg_hash_from_id () .
- gmime / gmime-krypto-context.c (g_mime_signer_set_hash): Ny
- funktion til at indstille den hash algoritme bruges af underskriveren.
- (g_mime_signer_get_hash): Ny funktion for at få det hashalgoritmen
- anvendes af underskriveren.
- gmime / gmime-krypto-sammenhæng [c, h]:... Omdøbt fra gmime-cipher-sammenhæng [c, h]
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Opdateret fejlmeddelelser til at være mere konsekvent.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- Sørg for at indstille en fejl i alle tilfælde returnere NULL.
- gmime / gmime-cipher-context.c (g_mime_signer_get_ *): Disse
- funktioner alle nu tage en const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Ikke længere har en sigfile
- medlem. I stedet indeholder en sigstream og passwd_fd er nu omdøbt
- for at secret_fd og anvendes til både afsendelse gpg brugerens passwd som
- og for at sende gpg den digitale signatur ved verificering.
- (gpg_ctx_new): Opdateret til de nye struct medlemmer .
- (gpg_ctx_set_sigstream):. Erstatter gpg_ctx_set_sigfile ()
- (gpg_ctx_free):. Opdateret til de nye struct medlemmer
- (gpg_ctx_get_argv): Ændre vores --verify kommandolinjen, så vi
- Kan pas gpg den digitale signatur, uden først at skrive det til
- disk. Også modificeret til at returnere char ** i stedet for en GPtrArray til
- forenkle tingene.
- (gpg_ctx_op_start): Modificeret til også skabe flere rør i VERIFICER
- mode.
- (gpg_ctx_op_step): Ændret til at streame den digitale signatur til
- gpg.
- (gpg_verify): Skriv ikke den digitale signatur til disk - i stedet,
- vi nu streame den direkte til gpg.
- gmime / gmime-message.c (g_mime_message_get_body): Ny funktion til
- Prøv og gæt hvilken del (eller multipart / alternative) repræsenterer
- meddelelsesteksten.
- gmime / tegnsæt-map.c: Ifølge rfc1557, foreslås det, at
- EUC-kr bruges til overskrifter, da mange koreanske afsendere ikke kan håndtere
- base64 eller quoted-printable kodet iso-2022-kr. Baseret på denne og
- bug # 629235, jeg bare at droppe iso-2022-kr.
- gmime / gmime-utils.c (g_mime_utils_header_decode_text): I
- løsning tilfælde, hvis vi ikke finder en ende markør, nulstille vores inptr
- til starten af den seneste ord * plus 2 * (for at springe over
- den førende & quot;? = & Quot;), ikke i begyndelsen af tekstinput. Også brug
- for at nulstille vores ascii tilstand.
- (g_mime_utils_header_decode_phrase): I løsning tilfælde, hvis vi
- ikke kan finde en ende markør, nulstille vores inptr til begyndelsen af det
- seneste ord * plus 2 *, at springe over den førende & quot;? = & Quot;.
- gmime / gmime-encodings.c (g_mime_encoding_quoted_encode_close):
- Hvis det sidste input karakter er ikke en n, vedhæfte en & quot; = n & quot; sekvens.
- gmime / gmime-charset.c: Mark known_iconv_charsets [] som
- statisk. Også markere string medlemmer af forskellige private structs som
- const.
- configure.ac: Bump glib udgave krav til
- g_set_error_literal ().
- gmime / internet-address.c (group_to_string): Må ikke gå ned, hvis den
- gruppenavn er frakoblet. Tak til Damian Pietras for denne patch.
- gmime / gmime-utils.c (g_mime_utils_header_decode_phrase):
- Implementere samme rfc2047-løsning hack som den, der findes i
- g_mime_utils_header_decode_text ().
- gmime / gmime-encodings.c (g_mime_encoding_base64_decode_step):
- Har du brug for at holde staten til at holde styr på antallet af = 's vi har bakket
- over i tilfælde den krydser buffer grænser.
- gmime / gmime-param.c (decode_token): Gør mindre strenge for at
- håndtere unoterede grænseværdier, der indeholder '=' (og andre ulovlige
- tegn).
- gmime / internet-address.c (_internet_address_set_name): Må ikke
- afkode / citat slut navnet. Docs for alle de funktioner, der kalder
- dette antage navnet strengen er i sin afkodet form, allerede.
- (_ internet_address_decode_name): Ny intern funktion,
- afkoder en streng og sætter det som navnet på InternetAddress.
- (decode_address): omskrevet for at være endnu mere liberal i hvad det
- accepterer.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Du må ikke unref det krypterede indhold mime del objekt, når
- content-type passer ikke application / octet-stream,
- g_mime_multipart_get_part () ikke ref dele den returnerer. Vi har også
- nødt til at indstille en fejl, når det sker.
Hvad er nyt i version 2.4.21:
- gmime / internet-address.c (decode_address) : Håndtag kant sager
- hvor inptr når til slutningen af input strengen for tidligt på grund af
- en misdannet adresse.
- gmime / gmime-multipart-encrypted.c (g_mime_multipart_encrypted_decrypt):
- Opdateret fejlmeddelelser til at være mere konsekvent.
- gmime / gmime-multipart-signed.c (g_mime_multipart_signed_verify):
- Sørg for at indstille en fejl i alle tilfælde returnere NULL.
- gmime / gmime-cipher-context.c (g_mime_signer_get_ *): Disse
- funktioner alle nu tage en const GMimeSigner *.
- gmime / gmime-gpg-context.c (GpgCtx): Ikke længere har en sigfile
- medlem. I stedet indeholder en sigstream og passwd_fd er nu omdøbt
- for at secret_fd og anvendes til både afsendelse gpg brugerens passwd som
- og for at sende gpg den digitale signatur ved verificering.
- (gpg_ctx_new): Opdateret til de nye struct medlemmer .
- (gpg_ctx_set_sigstream):. Erstatter gpg_ctx_set_sigfile ()
- (gpg_ctx_free):. Opdateret til de nye struct medlemmer
- (gpg_ctx_get_argv): Ændre vores --verify kommandolinjen, så vi
- Kan pas gpg den digitale signatur, uden først at skrive det til
- disk. Også modificeret til at returnere char ** i stedet for en GPtrArray til
- forenkle tingene.
- (gpg_ctx_op_start): Modificeret til også skabe flere rør i VERIFICER
- mode.
- (gpg_ctx_op_step): Ændret til at streame den digitale signatur til
- gpg.
- (gpg_verify): Skriv ikke den digitale signatur til disk - i stedet,
- vi nu streame den direkte til gpg.
Hvad er nyt i version 2.4.19:
- Denne udgivelse blev fastsat til at bygge på ældre versioner af GLib (så langt tilbage som 2.12).
- Løsninger blev gennemført for brudte rfc2047-kodet e-mailadresser.
- En kant-sag base64 dekoder bug blev også rettet.
Krav :
- Glib & gt; = 1.2.x
Kommentarer ikke fundet