X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=smime.c;h=608d53b55ac0e6834ddf2bc0647c0695493fca17;hp=95083df6cfd18550c9e5142701c900f7d3af42bc;hb=1c16e9623a9fb6a15bb284a6f7322b583ebc06a7;hpb=8e037c67a88cb4680c4391134c578e3b55a80f8a diff --git a/smime.c b/smime.c index 95083df..608d53b 100644 --- a/smime.c +++ b/smime.c @@ -14,6 +14,9 @@ #endif #include +#include +#include +#include #include "mutt.h" #include "enter.h" @@ -24,9 +27,6 @@ #include "mime.h" #include "copy.h" -#include "lib/mem.h" -#include "lib/intl.h" -#include "lib/str.h" #include "lib/debug.h" #include @@ -94,7 +94,7 @@ static char SmimeIntermediateToUse[_POSIX_PATH_MAX]; void smime_void_passphrase (void) { - memset (SmimePass, 0, sizeof (SmimePass)); + p_clear(SmimePass, sizeof(SmimePass)); SmimeExptime = 0; } @@ -267,7 +267,7 @@ static pid_t smime_invoke (FILE ** smimein, FILE ** smimeout, struct smime_command_context cctx; char cmd[HUGE_STRING]; - memset (&cctx, 0, sizeof (cctx)); + p_clear(&cctx, 1); if (!format || !*format) return (pid_t) - 1; @@ -376,7 +376,7 @@ char *smime_ask_for_key (char *prompt, char *mailbox, short public) } fclose (index); - FOREVER { + for (;;) { *qry = 0; if (mutt_get_field (prompt, qry, sizeof (qry), 0)) return NULL; @@ -391,7 +391,7 @@ char *smime_ask_for_key (char *prompt, char *mailbox, short public) } /* Read Entries */ cur = 0; - Table = mem_calloc (cert_num, sizeof (smime_id)); + Table = p_new(smime_id, cert_num); while (!feof (index)) { numFields = fscanf (index, MUTT_FORMAT (STRING) " %x.%i " MUTT_FORMAT (STRING), @@ -410,8 +410,8 @@ char *smime_ask_for_key (char *prompt, char *mailbox, short public) Table[cur].hash = hash; Table[cur].suffix = hash_suffix; - strncpy (Table[cur].email, fields[0], sizeof (Table[cur].email)); - strncpy (Table[cur].nick, fields[2], sizeof (Table[cur].nick)); + m_strcpy(Table[cur].email, sizeof(Table[cur].email), fields[0]); + m_strcpy(Table[cur].nick, sizeof(Table[cur].nick), fields[2]); Table[cur].trust = *fields[4]; Table[cur].public = public; @@ -490,8 +490,8 @@ char *smime_get_field_from_db (char *mailbox, char *query, short public, if (!mailbox && !query) return (NULL); - addr_len = mailbox ? str_len (mailbox) : 0; - query_len = query ? str_len (query) : 0; + addr_len = mailbox ? m_strlen(mailbox) : 0; + query_len = query ? m_strlen(query) : 0; *key = '\0'; @@ -623,8 +623,8 @@ char *smime_get_field_from_db (char *mailbox, char *query, short public, } - /* Note: str_dup ("") returns NULL. */ - return str_dup (key); + /* Note: m_strdup("") returns NULL. */ + return m_strdup(key); } @@ -650,7 +650,7 @@ void _smime_getkeys (char *mailbox) if (k) { /* the key used last time. */ if (*SmimeKeyToUse && - !str_casecmp (k, SmimeKeyToUse + str_len (SmimeKeys) + 1)) { + !str_casecmp (k, SmimeKeyToUse + m_strlen(SmimeKeys) + 1)) { p_delete(&k); return; } @@ -672,7 +672,7 @@ void _smime_getkeys (char *mailbox) if (*SmimeKeyToUse) { if (!str_casecmp (SmimeDefaultKey, - SmimeKeyToUse + str_len (SmimeKeys) + 1)) + SmimeKeyToUse + m_strlen(SmimeKeys) + 1)) return; smime_void_passphrase (); @@ -774,10 +774,10 @@ char *smime_findKeys (ADDRESS * to, ADDRESS * cc, ADDRESS * bcc) return NULL; } - keylist_size += str_len (keyID) + 2; - mem_realloc (&keylist, keylist_size); + keylist_size += m_strlen(keyID) + 2; + p_realloc(&keylist, keylist_size); sprintf (keylist + keylist_used, "%s\n", keyID); /* __SPRINTF_CHECKED__ */ - keylist_used = str_len (keylist); + keylist_used = m_strlen(keylist); rfc822_free_address (&addr); @@ -834,8 +834,8 @@ static int smime_handle_cert_email (char *certificate, char *mailbox, while ((fgets (email, sizeof (email), fpout))) { - *(email + str_len (email) - 1) = '\0'; - if (str_ncasecmp (email, mailbox, str_len (mailbox)) == 0) + *(email + m_strlen(email) - 1) = '\0'; + if (str_ncasecmp (email, mailbox, m_strlen(mailbox)) == 0) ret = 1; ret = ret < 0 ? 0 : ret; @@ -856,14 +856,13 @@ static int smime_handle_cert_email (char *certificate, char *mailbox, if (copy && buffer && num) { (*num) = count; - *buffer = mem_calloc (sizeof (char *), count); + *buffer = p_new(char *, count); count = 0; rewind (fpout); while ((fgets (email, sizeof (email), fpout))) { - *(email + str_len (email) - 1) = '\0'; - (*buffer)[count] = mem_calloc (1, str_len (email) + 1); - strncpy ((*buffer)[count], email, str_len (email)); + *(email + m_strlen(email) - 1) = '\0'; + (*buffer)[count] = p_dupstr(email, m_strlen(email)); count++; } } @@ -979,7 +978,7 @@ static char *smime_extract_certificate (char *infile) fclose (fpout); fclose (fperr); - return str_dup (certfile); + return m_strdup(certfile); } static char *smime_extract_signer_certificate (char *infile) @@ -1041,7 +1040,7 @@ static char *smime_extract_signer_certificate (char *infile) fclose (fpout); fclose (fperr); - return str_dup (certfile); + return m_strdup(certfile); } @@ -1243,7 +1242,7 @@ BODY *smime_build_smime_entity (BODY * a, char *certlist) *certfile = '\0'; while (1) { - int off = str_len (certfile); + int off = m_strlen(certfile); while (*++cert_end && *cert_end != '\n'); if (!*cert_end) @@ -1306,14 +1305,14 @@ BODY *smime_build_smime_entity (BODY * a, char *certlist) t = mutt_new_body (); t->type = TYPEAPPLICATION; - t->subtype = str_dup ("x-pkcs7-mime"); + t->subtype = m_strdup("x-pkcs7-mime"); mutt_set_parameter ("name", "smime.p7m", &t->parameter); mutt_set_parameter ("smime-type", "enveloped-data", &t->parameter); t->encoding = ENCBASE64; /* The output of OpenSSL SHOULD be binary */ t->use_disp = 1; t->disposition = DISPATTACH; - t->d_filename = str_dup ("smime.p7m"); - t->filename = str_dup (tempfile); + t->d_filename = m_strdup("smime.p7m"); + t->filename = m_strdup(tempfile); t->unlink = 1; /*delete after sending the message */ t->parts = 0; t->next = 0; @@ -1422,7 +1421,7 @@ BODY *smime_sign_message (BODY * a) t = mutt_new_body (); t->type = TYPEMULTIPART; - t->subtype = str_dup ("signed"); + t->subtype = m_strdup("signed"); t->encoding = ENC7BIT; t->use_disp = 0; t->disposition = DISPINLINE; @@ -1439,9 +1438,9 @@ BODY *smime_sign_message (BODY * a) t->parts->next = mutt_new_body (); t = t->parts->next; t->type = TYPEAPPLICATION; - t->subtype = str_dup ("x-pkcs7-signature"); - t->filename = str_dup (signedfile); - t->d_filename = str_dup ("smime.p7s"); + t->subtype = m_strdup("x-pkcs7-signature"); + t->filename = m_strdup(signedfile); + t->d_filename = m_strdup("smime.p7s"); t->use_disp = 1; t->disposition = DISPATTACH; t->encoding = ENCBASE64; @@ -1729,7 +1728,7 @@ static BODY *smime_handle_entity (BODY * m, STATE * s, FILE * outFile) } } while (fgets (buf, sizeof (buf) - 1, smimeout) != NULL) { - len = str_len (buf); + len = m_strlen(buf); if (len > 1 && buf[len - 2] == '\r') { buf[len - 2] = '\n'; buf[len - 1] = '\0'; @@ -1815,7 +1814,7 @@ int smime_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b, BODY ** cur) if (b->parts) return -1; - memset (&s, 0, sizeof (s)); + p_clear(&s, 1); s.fpin = fpin; fseeko (s.fpin, b->offset, 0);