#ifdef CRYPT_BACKEND_GPGME
+#include <sys/wait.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <ctype.h>
+
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+#ifdef HAVE_LANGINFO_D_T_FMT
+# include <langinfo.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+#include <gpgme.h>
+
#include <lib-lib/mem.h>
#include <lib-lib/str.h>
#include <lib-lib/ascii.h>
#include <lib-lib/macros.h>
#include <lib-lib/file.h>
-#include <lib-lib/debug.h>
#include <lib-mime/mime.h>
#include <lib-ui/menu.h>
#include "mutt.h"
+#include "lib.h"
+#include "alias.h"
#include <lib-crypt/crypt.h>
#include "handler.h"
#include "copy.h"
#include "recvattach.h"
#include "sort.h"
-
-#include <sys/wait.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <ctype.h>
-
-#include <gpgme.h>
-
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-#ifdef HAVE_LANGINFO_D_T_FMT
-#include <langinfo.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
-
/*
* Helper macros.
*/
} crypt_key_t;
typedef struct crypt_entry {
- size_t num;
+ ssize_t num;
crypt_key_t *key;
} crypt_entry_t;
/* Print the utf-8 encoded string BUF of length LEN bytes to stream
FP. Convert the character set. */
-static void print_utf8 (FILE * fp, const char *buf, size_t len)
+static void print_utf8 (FILE * fp, const char *buf, ssize_t len)
{
char *tstr;
{
gpgme_validity_t val = GPGME_VALIDITY_UNKNOWN;
gpgme_user_id_t uid = NULL;
- unsigned int is_strong = 0;
- unsigned int i = 0;
+ int is_strong = 0;
+ int i = 0;
if ((key->flags & KEYFLAG_ISX509))
return 1;
int err;
char tempfile[_POSIX_PATH_MAX];
FILE *fp;
- size_t nread = 0;
+ ssize_t nread = 0;
mutt_mktemp (tempfile);
fp = safe_fopen (tempfile, "w+");
do {
while (*s == ' ')
s++;
- for (i = 0; *s && *s != ' ' && i < sizeof (buf) - 1;)
+ for (i = 0; *s && *s != ' ' && i < ssizeof(buf) - 1;)
buf[i++] = *s++;
buf[i] = 0;
if (*buf) {
which must have been allocated by the caller with size BUFLEN.
Returns 0 on success or -1 in case of an error. The return string
is truncted to BUFLEN - 1. */
-static int get_micalg (gpgme_ctx_t ctx, char *buf, size_t buflen)
+static int get_micalg (gpgme_ctx_t ctx, char *buf, ssize_t buflen)
{
gpgme_sign_result_t result = NULL;
const char *algorithm_name = NULL;
if ((sum & GPGME_SIGSUM_SIG_EXPIRED)) {
gpgme_verify_result_t result;
gpgme_signature_t sig;
- unsigned int i;
+ int i;
result = gpgme_op_verify_result (ctx);
const char *t0 = NULL, *t1 = NULL;
gpgme_verify_result_t result;
gpgme_signature_t sig;
- unsigned int i;
+ int i;
state_attach_puts (_("A system error occurred"), s);
if (!badsig) {
gpgme_verify_result_t result;
gpgme_sig_notation_t notation;
- gpgme_signature_t signature;
+ gpgme_signature_t sig;
result = gpgme_op_verify_result (ctx);
if (result) {
- for (signature = result->signatures; signature;
- signature = signature->next) {
- if (signature->notations) {
+ for (sig = result->signatures; sig; sig = sig->next) {
+ if (sig->notations) {
state_attach_puts ("*** Begin Notation (signature by: ", s);
- state_attach_puts (signature->fpr, s);
+ state_attach_puts (sig->fpr, s);
state_attach_puts (") ***\n", s);
- for (notation = signature->notations; notation;
- notation = notation->next) {
+ for (notation = sig->notations; notation; notation = notation->next)
+ {
if (notation->name) {
state_attach_puts (notation->name, s);
state_attach_puts ("=", s);
gpgme_release (ctx);
state_attach_puts (_("[-- End signature information --]\n\n"), s);
- debug_print (1, ("returning %d.\n", badsig));
return badsig ? 1 : anywarn ? 2 : 0;
}
{
struct stat info;
BODY *tattach;
- int err;
+ int err = 0;
gpgme_ctx_t ctx;
gpgme_data_t ciphertext, plaintext;
int maybe_signed = 0;
FILE *tmpfp = NULL;
int is_signed;
long saved_b_offset;
- size_t saved_b_length;
+ ssize_t saved_b_length;
int saved_b_type;
if (!mutt_is_application_smime (b))
{
char buf[HUGE_STRING];
short complete, armor_header;
- FGETCONV *fc;
+ fgetconv_t *fc;
char *fname;
FILE *fp;
char body_charset[STRING]; /* Only used for clearsigned messages. */
- debug_print (2, ("Entering pgp_application_pgp handler\n"));
-
/* For clearsigned messages we won't be able to get a character set
but we know that this may only be text thus we assume Latin-1
here. */
copy_clearsigned (armored_data, s, body_charset);
}
else if (pgpout) {
- FGETCONV *fc;
+ fgetconv_t *fc;
int c;
rewind (pgpout);
" of PGP message! --]\n\n"), s);
return (-1);
}
- debug_print (2, ("Leaving pgp_application_pgp handler\n"));
return (err);
}
int is_signed;
int rc = 0;
- debug_print (2, ("Entering pgp_encrypted handler\n"));
a = a->parts;
if (!a || a->type != TYPEAPPLICATION || !a->subtype
|| ascii_strcasecmp ("pgp-encrypted", a->subtype)
fclose (fpout);
mutt_unlink (tempfile);
- debug_print (2, ("Leaving pgp_encrypted handler\n"));
return (rc);
}
int is_signed;
int rc = 0;
- debug_print (2, ("Entering smime_encrypted handler\n"));
-
a->warnsig = 0;
mutt_mktemp (tempfile);
if (!(fpout = safe_fopen (tempfile, "w+"))) {
fclose (fpout);
mutt_unlink (tempfile);
- debug_print (2, ("Leaving smime_encrypted handler\n"));
return (rc);
}
* %[...] date of key using strftime(3)
*/
-static const char *crypt_entry_fmt (char *dest,
- size_t destlen,
- char op,
- const char *src,
- const char *prefix,
- const char *ifstring,
- const char *elsestring,
- unsigned long data, format_flag flags)
+static const char *
+crypt_entry_fmt (char *dest, ssize_t destlen, char op,
+ const char *src, const char *prefix,
+ const char *ifstring, const char *elsestring,
+ unsigned long data, format_flag flags)
{
char fmt[16];
crypt_entry_t *entry;
char buf2[SHORT_STRING], *p;
int do_locales;
struct tm *tm;
- size_t len;
+ ssize_t len;
p = dest;
s = "x";
else {
gpgme_user_id_t uid = NULL;
- unsigned int i = 0;
+ int i = 0;
for (i = 0, uid = key->kobj->uids; uid && (i < key->idx);
i++, uid = uid->next);
}
/* Used by the display fucntion to format a line. */
-static void crypt_entry (char *s, size_t l, MUTTMENU * menu, int num)
+static void crypt_entry (char *s, ssize_t l, MUTTMENU * menu, int num)
{
crypt_key_t **key_table = (crypt_key_t **) menu->data;
crypt_entry_t entry;
const unsigned char *string)
{
const unsigned char *s, *s1;
- size_t n;
+ ssize_t n;
unsigned char *p;
/* parse attributeType */
static struct dn_array_s *parse_dn (const unsigned char *string)
{
struct dn_array_s *array;
- size_t arrayidx, arraysize;
+ ssize_t arrayidx, arraysize;
int i;
arraysize = 7; /* C,ST,L,O,OU,CN,email */
string_list_t *l;
char *pattern, *p;
const char *s;
- size_t n;
+ ssize_t n;
n = 0;
for (l = list; l; l = l->next) {
escaped pappert but simple strings passed in an array to the
keylist_ext_start function. */
string_list_t *l;
- size_t n;
+ ssize_t n;
char **patarr;
for (l = hints, n = 0; l; l = l->next) {
else {
gpgme_validity_t val = GPGME_VALIDITY_UNKNOWN;
gpgme_user_id_t uid = NULL;
- unsigned int j = 0;
+ int j = 0;
warn_s = "??";
if (!keys)
return NULL;
- debug_print (5, ("looking for %s <%s>.\n", a->personal, a->mailbox));
-
for (k = keys; k; k = k->next) {
- debug_print (5, (" looking at key: %s `%.15s'\n", crypt_keyid (k), k->uid));
-
if (abilities && !(k->flags & abilities)) {
- debug_print (5, (" insufficient abilities: Has %x, want %x\n", k->flags, abilities));
continue;
}
continue;
match = 0;
- debug_print (5, ("matching \"%s\" against " "key %s, \"%s\":\n", p, crypt_keyid (k), k->uid));
if (!*p || !m_strcasecmp(p, crypt_keyid (k))
|| (!m_strncasecmp(p, "0x", 2)
|| m_stristr(k->uid, p)) {
crypt_key_t *tmp;
- debug_print (5, ("match.\n"));
-
*matches_endp = tmp = crypt_copy_key (k);
matches_endp = &tmp->next;
}
unsigned int app)
{
char *keyID, *keylist = NULL, *t;
- size_t keylist_size = 0;
- size_t keylist_used = 0;
+ ssize_t keylist_size = 0;
+ ssize_t keylist_used = 0;
address_t *tmp = NULL, *addr = NULL;
address_t **last = &tmp;
address_t *p, *q;
return gpgme_send_menu (msg, redraw, 1);
}
-static int verify_sender (HEADER * h, gpgme_protocol_t protocol)
+static int verify_sender (HEADER * h, gpgme_protocol_t protocol __attribute__((unused)))
{
address_t *sender = NULL;
unsigned int ret = 1;