X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pgpkey.c;h=5e5172d87bc8cb8e2b14033905b3b0db479602f2;hp=4fd24ac44a243873449c1b80b460ed385a1aea48;hb=cdd5dd2b406b2af4359f7b1e7360d0c9aba13777;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/pgpkey.c b/pgpkey.c index 4fd24ac..5e5172d 100644 --- a/pgpkey.c +++ b/pgpkey.c @@ -1,23 +1,11 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1996,1997 Michael R. Elkins * Copyright (c) 1998,1999 Thomas Roessler - * - * This program is free software; you can redistribute it - * and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be - * useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the Free - * Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111, USA. + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ #if HAVE_CONFIG_H @@ -32,6 +20,10 @@ #include "pager.h" #include "sort.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" + #include #include #include @@ -285,10 +277,10 @@ static int _pgp_compare_address (const void *a, const void *b) pgp_uid_t **s = (pgp_uid_t **) a; pgp_uid_t **t = (pgp_uid_t **) b; - if ((r = mutt_strcasecmp ((*s)->addr, (*t)->addr))) + if ((r = safe_strcasecmp ((*s)->addr, (*t)->addr))) return r > 0; else - return (mutt_strcasecmp (_pgp_keyid ((*s)->parent), + return (safe_strcasecmp (_pgp_keyid ((*s)->parent), _pgp_keyid ((*t)->parent)) > 0); } @@ -307,11 +299,11 @@ static int _pgp_compare_keyid (const void *a, const void *b) pgp_uid_t **s = (pgp_uid_t **) a; pgp_uid_t **t = (pgp_uid_t **) b; - if ((r = mutt_strcasecmp (_pgp_keyid ((*s)->parent), + if ((r = safe_strcasecmp (_pgp_keyid ((*s)->parent), _pgp_keyid ((*t)->parent)))) return r > 0; else - return (mutt_strcasecmp ((*s)->addr, (*t)->addr)) > 0; + return (safe_strcasecmp ((*s)->addr, (*t)->addr)) > 0; } static int pgp_compare_keyid (const void *a, const void *b) @@ -328,7 +320,7 @@ static int _pgp_compare_date (const void *a, const void *b) if ((r = ((*s)->parent->gen_time - (*t)->parent->gen_time))) return r > 0; - return (mutt_strcasecmp ((*s)->addr, (*t)->addr)) > 0; + return (safe_strcasecmp ((*s)->addr, (*t)->addr)) > 0; } static int pgp_compare_date (const void *a, const void *b) @@ -353,9 +345,9 @@ static int _pgp_compare_trust (const void *a, const void *b) return r < 0; if ((r = ((*s)->parent->gen_time - (*t)->parent->gen_time))) return r < 0; - if ((r = mutt_strcasecmp ((*s)->addr, (*t)->addr))) + if ((r = safe_strcasecmp ((*s)->addr, (*t)->addr))) return r > 0; - return (mutt_strcasecmp (_pgp_keyid ((*s)->parent), + return (safe_strcasecmp (_pgp_keyid ((*s)->parent), _pgp_keyid ((*t)->parent))) > 0; } @@ -414,11 +406,11 @@ static int pgp_id_matches_addr (ADDRESS * addr, ADDRESS * u_addr, rv |= PGP_KV_STRONGID; if (addr->mailbox && u_addr->mailbox - && mutt_strcasecmp (addr->mailbox, u_addr->mailbox) == 0) + && safe_strcasecmp (addr->mailbox, u_addr->mailbox) == 0) rv |= PGP_KV_ADDR; if (addr->personal && u_addr->personal - && mutt_strcasecmp (addr->personal, u_addr->personal) == 0) + && safe_strcasecmp (addr->personal, u_addr->personal) == 0) rv |= PGP_KV_STRING; return rv; @@ -526,13 +518,13 @@ static pgp_key_t pgp_select_key (pgp_key_t keys, ADDRESS * p, const char *s) mutt_mktemp (tempfile); if ((devnull = fopen ("/dev/null", "w")) == NULL) { /* __FOPEN_CHECKED__ */ - mutt_perror _("Can't open /dev/null"); + mutt_perror (_("Can't open /dev/null")); break; } if ((fp = safe_fopen (tempfile, "w")) == NULL) { fclose (devnull); - mutt_perror _("Can't create temporary file"); + mutt_perror (_("Can't create temporary file")); break; } @@ -546,7 +538,7 @@ static pgp_key_t pgp_select_key (pgp_key_t keys, ADDRESS * p, const char *s) if ((thepid = pgp_invoke_verify_key (NULL, NULL, NULL, -1, fileno (fp), fileno (devnull), tmpbuf)) == -1) { - mutt_perror _("Can't create filter"); + mutt_perror (_("Can't create filter")); unlink (tempfile); fclose (fp); @@ -649,7 +641,7 @@ pgp_key_t pgp_ask_for_key (char *tag, char *whatfor, if (whatfor) { for (l = id_defaults; l; l = l->next) - if (!mutt_strcasecmp (whatfor, l->what)) { + if (!safe_strcasecmp (whatfor, l->what)) { strfcpy (resp, NONULL (l->dflt), sizeof (resp)); break; } @@ -663,7 +655,7 @@ pgp_key_t pgp_ask_for_key (char *tag, char *whatfor, if (whatfor) { if (l) - mutt_str_replace (&l->dflt, resp); + str_replace (&l->dflt, resp); else { l = safe_malloc (sizeof (struct pgp_cache)); l->next = id_defaults; @@ -711,13 +703,13 @@ BODY *pgp_make_key_attachment (char *tempf) } if ((tempfp = safe_fopen (tempf, tempf == tempfb ? "w" : "a")) == NULL) { - mutt_perror _("Can't create temporary file"); + mutt_perror (_("Can't create temporary file")); return NULL; } if ((devnull = fopen ("/dev/null", "w")) == NULL) { /* __FOPEN_CHECKED__ */ - mutt_perror _("Can't open /dev/null"); + mutt_perror (_("Can't open /dev/null")); fclose (tempfp); if (tempf == tempfb) @@ -731,7 +723,7 @@ BODY *pgp_make_key_attachment (char *tempf) if ((thepid = pgp_invoke_export (NULL, NULL, NULL, -1, fileno (tempfp), fileno (devnull), tmp)) == -1) { - mutt_perror _("Can't create filter"); + mutt_perror (_("Can't create filter")); unlink (tempf); fclose (tempfp); @@ -770,7 +762,7 @@ static LIST *pgp_add_string_to_hints (LIST * hints, const char *str) for (t = strtok (scratch, " ,.:\"()<>\n"); t; t = strtok (NULL, " ,.:\"()<>\n")) { - if (strlen (t) > 3) + if (safe_strlen (t) > 3) hints = mutt_add_list (hints, t); } @@ -940,12 +932,12 @@ pgp_key_t pgp_getkeybystr (char *p, short abilities, pgp_ring_t keyring) (debugfile, "pgp_getkeybystr: matching \"%s\" against key %s, \"%s\": ", p, pgp_keyid (k), a->addr)); - if (!*p || mutt_strcasecmp (p, pgp_keyid (k)) == 0 - || (!mutt_strncasecmp (p, "0x", 2) - && !mutt_strcasecmp (p + 2, pgp_keyid (k))) - || (option (OPTPGPLONGIDS) && !mutt_strncasecmp (p, "0x", 2) - && !mutt_strcasecmp (p + 2, k->keyid + 8)) - || mutt_stristr (a->addr, p)) { + if (!*p || safe_strcasecmp (p, pgp_keyid (k)) == 0 + || (!safe_strncasecmp (p, "0x", 2) + && !safe_strcasecmp (p + 2, pgp_keyid (k))) + || (option (OPTPGPLONGIDS) && !safe_strncasecmp (p, "0x", 2) + && !safe_strcasecmp (p + 2, k->keyid + 8)) + || str_isstr (a->addr, p)) { dprint (5, (debugfile, "match.\n")); match = 1; break;