X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pgppubring.c;h=7b297edcea69599ea40ee02752701a72ff62be55;hp=7e62d836a045a017893f8691d7dd8bb84befe6b1;hb=2a2f2f9a5bad73c883b7f9c9b4166d932b6aaf37;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/pgppubring.c b/pgppubring.c index 7e62d83..7b297ed 100644 --- a/pgppubring.c +++ b/pgppubring.c @@ -1,22 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 1997-2001 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. */ /* @@ -38,6 +26,10 @@ # include "config.h" #endif +#include +#include +#include + #include #include #include @@ -45,19 +37,17 @@ #include #ifdef HAVE_GETOPT_H # include -#endif -#include - +#else extern char *optarg; extern int optind; +#endif +#include -short Umask; /* dirty hack because we need Umask in lib.c but don't want globals.h there */ +short Umask; /* dirty hack because we need Umask in lib.c but don't want globals.h there */ -#include "sha1.h" -#include "md5.h" #include "lib.h" -#include "pgplib.h" -#include "pgppacket.h" +#include +#include #define MD5_DIGEST_LENGTH 16 @@ -65,8 +55,8 @@ short Umask; /* dirty hack because we need Umask in lib.c but #define FGETPOS(fp,pos) fgetpos((fp),&(pos)) #define FSETPOS(fp,pos) fsetpos((fp),&(pos)) #else -#define FGETPOS(fp,pos) pos=ftell((fp)); -#define FSETPOS(fp,pos) fseek((fp),(pos),SEEK_SET) +#define FGETPOS(fp,pos) pos=ftello((fp)); +#define FSETPOS(fp,pos) fseeko((fp),(pos),SEEK_SET) #endif @@ -135,10 +125,10 @@ int main (int argc, char *const argv[]) } if (_kring) - strfcpy (kring, _kring, sizeof (kring)); + m_strcpy(kring, sizeof(kring), _kring); else { if ((env_pgppath = getenv ("PGPPATH"))) - strfcpy (pgppath, env_pgppath, sizeof (pgppath)); + m_strcpy(pgppath, sizeof(pgppath), env_pgppath); else if ((env_home = getenv ("HOME"))) snprintf (pgppath, sizeof (pgppath), "%s/.pgp", env_home); else { @@ -232,7 +222,7 @@ static pgp_key_t pgp_parse_pgp2_key (unsigned char *buff, size_t l) memcpy (p->fingerprint, digest, MD5_DIGEST_LENGTH); } else /* just to be usre */ - memset (p->fingerprint, 0, MD5_DIGEST_LENGTH); + p_clear(p->fingerprint, MD5_DIGEST_LENGTH); expl = 0; for (i = 0; i < 2; i++) @@ -255,13 +245,13 @@ static pgp_key_t pgp_parse_pgp2_key (unsigned char *buff, size_t l) "%08lX", id); } - p->keyid = safe_strdup ((char *) scratch); + p->keyid = m_strdup((char *) scratch); return p; bailout: - FREE (&p); + p_delete(&p); return NULL; } @@ -357,7 +347,7 @@ static pgp_key_t pgp_parse_pgp3_key (unsigned char *buff, size_t l) id); } - p->keyid = safe_strdup ((char *) scratch); + p->keyid = m_strdup((char *) scratch); return p; } @@ -588,7 +578,7 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) #ifdef HAVE_FGETPOS fpos_t pos; #else - long pos; + off_t pos; #endif pgp_key_t root = NULL; @@ -645,7 +635,7 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) case PT_SIG: { if (lsig) { - pgp_sig_t *signature = safe_calloc (sizeof (pgp_sig_t), 1); + pgp_sig_t *signature = p_new(pgp_sig_t, 1); *lsig = signature; lsig = &signature->next; @@ -676,12 +666,9 @@ static pgp_key_t pgp_parse_keyblock (FILE * fp) if (!addr) break; - chr = safe_malloc (l); - memcpy (chr, buff + 1, l - 1); - chr[l - 1] = '\0'; - + chr = p_dupstr(buff + 1, l - 1); - *addr = uid = safe_calloc (1, sizeof (pgp_uid_t)); /* XXX */ + *addr = uid = p_new(pgp_uid_t, 1); /* XXX */ uid->addr = chr; uid->parent = p; uid->trust = 0; @@ -719,7 +706,7 @@ static int pgpring_string_matches_hint (const char *s, const char *hints[], return 1; for (i = 0; i < nhints; i++) { - if (mutt_stristr (s, hints[i]) != NULL) + if (m_stristr(s, hints[i]) != NULL) return 1; } @@ -739,7 +726,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], #ifdef HAVE_FGETPOS fpos_t pos, keypos; #else - long pos, keypos; + off_t pos, keypos; #endif unsigned char *buff = NULL; @@ -752,11 +739,11 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], char *error_buf; size_t error_buf_len; - error_buf_len = sizeof ("fopen: ") - 1 + strlen (ringfile) + 1; - error_buf = safe_malloc (error_buf_len); + error_buf_len = sizeof ("fopen: ") - 1 + m_strlen(ringfile) + 1; + error_buf = p_new(char, error_buf_len); snprintf (error_buf, error_buf_len, "fopen: %s", ringfile); perror (error_buf); - FREE (&error_buf); + p_delete(&error_buf); return; } @@ -773,10 +760,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], keypos = pos; } else if (pt == PT_NAME) { - char *tmp = safe_malloc (l); - - memcpy (tmp, buff + 1, l - 1); - tmp[l - 1] = '\0'; + char *tmp = p_dupstr(buff + 1, l - 1); /* mutt_decode_utf8_string (tmp, chs); */ @@ -794,7 +778,7 @@ static void pgpring_find_candidates (char *ringfile, const char *hints[], pgp_free_key (&p); } - FREE (&tmp); + p_delete(&tmp); } FGETPOS (rfp, pos);