projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rocco Rutte:
[apps/madmutt.git]
/
mutt_ssl_gnutls.c
diff --git
a/mutt_ssl_gnutls.c
b/mutt_ssl_gnutls.c
index
7b6cb09
..
a7181bd
100644
(file)
--- a/
mutt_ssl_gnutls.c
+++ b/
mutt_ssl_gnutls.c
@@
-56,7
+56,7
@@
static int tls_init (void)
err = gnutls_global_init ();
if (err < 0) {
err = gnutls_global_init ();
if (err < 0) {
- mutt_error (
"gnutls_global_init: %s"
, gnutls_strerror (err));
+ mutt_error (
_("gnutls_global_init: %s")
, gnutls_strerror (err));
mutt_sleep (2);
return -1;
}
mutt_sleep (2);
return -1;
}
@@
-84,14
+84,14
@@
static int tls_socket_read (CONNECTION * conn, char *buf, size_t len)
int ret;
if (!data) {
int ret;
if (!data) {
- mutt_error (
"Error: no TLS socket open"
);
+ mutt_error (
_("Error: no TLS socket open")
);
mutt_sleep (2);
return -1;
}
ret = gnutls_record_recv (data->state, buf, len);
if (gnutls_error_is_fatal (ret) == 1) {
mutt_sleep (2);
return -1;
}
ret = gnutls_record_recv (data->state, buf, len);
if (gnutls_error_is_fatal (ret) == 1) {
- mutt_error (
"tls_socket_read (%s)"
, gnutls_strerror (ret));
+ mutt_error (
_("tls_socket_read (%s)")
, gnutls_strerror (ret));
mutt_sleep (4);
return -1;
}
mutt_sleep (4);
return -1;
}
@@
-104,14
+104,14
@@
static int tls_socket_write (CONNECTION * conn, const char *buf, size_t len)
int ret;
if (!data) {
int ret;
if (!data) {
- mutt_error (
"Error: no TLS socket open"
);
+ mutt_error (
_("Error: no TLS socket open")
);
mutt_sleep (2);
return -1;
}
ret = gnutls_record_send (data->state, buf, len);
if (gnutls_error_is_fatal (ret) == 1) {
mutt_sleep (2);
return -1;
}
ret = gnutls_record_send (data->state, buf, len);
if (gnutls_error_is_fatal (ret) == 1) {
- mutt_error (
"tls_socket_write (%s)"
, gnutls_strerror (ret));
+ mutt_error (
_("tls_socket_write (%s)")
, gnutls_strerror (ret));
mutt_sleep (4);
return -1;
}
mutt_sleep (4);
return -1;
}
@@
-155,12
+155,12
@@
static int tls_negotiate (CONNECTION * conn)
tlssockdata *data;
int err;
tlssockdata *data;
int err;
- data = (tlssockdata *)
safe
_calloc (1, sizeof (tlssockdata));
+ data = (tlssockdata *)
mem
_calloc (1, sizeof (tlssockdata));
conn->sockdata = data;
err = gnutls_certificate_allocate_credentials (&data->xcred);
if (err < 0) {
conn->sockdata = data;
err = gnutls_certificate_allocate_credentials (&data->xcred);
if (err < 0) {
-
FREE
(&conn->sockdata);
- mutt_error (
"gnutls_certificate_allocate_credentials: %s"
,
+
mem_free
(&conn->sockdata);
+ mutt_error (
_("gnutls_certificate_allocate_credentials: %s")
,
gnutls_strerror (err));
mutt_sleep (2);
return -1;
gnutls_strerror (err));
mutt_sleep (2);
return -1;
@@
-225,11
+225,11
@@
static int tls_negotiate (CONNECTION * conn)
}
if (err < 0) {
if (err == GNUTLS_E_FATAL_ALERT_RECEIVED) {
}
if (err < 0) {
if (err == GNUTLS_E_FATAL_ALERT_RECEIVED) {
- mutt_error (
"gnutls_handshake: %s(%s)"
, gnutls_strerror (err),
+ mutt_error (
_("gnutls_handshake: %s(%s)")
, gnutls_strerror (err),
gnutls_alert_get_name (gnutls_alert_get (data->state)));
}
else {
gnutls_alert_get_name (gnutls_alert_get (data->state)));
}
else {
- mutt_error (
"gnutls_handshake: %s"
, gnutls_strerror (err));
+ mutt_error (
_("gnutls_handshake: %s")
, gnutls_strerror (err));
}
mutt_sleep (2);
goto fail;
}
mutt_sleep (2);
goto fail;
@@
-256,7
+256,7
@@
static int tls_negotiate (CONNECTION * conn)
fail:
gnutls_certificate_free_credentials (data->xcred);
gnutls_deinit (data->state);
fail:
gnutls_certificate_free_credentials (data->xcred);
gnutls_deinit (data->state);
-
FREE
(&conn->sockdata);
+
mem_free
(&conn->sockdata);
return -1;
}
return -1;
}
@@
-269,7
+269,7
@@
static int tls_socket_close (CONNECTION * conn)
gnutls_certificate_free_credentials (data->xcred);
gnutls_deinit (data->state);
gnutls_certificate_free_credentials (data->xcred);
gnutls_deinit (data->state);
-
FREE
(&conn->sockdata);
+
mem_free
(&conn->sockdata);
}
return raw_socket_close (conn);
}
return raw_socket_close (conn);
@@
-304,7
+304,7
@@
static int tls_compare_certificates (const gnutls_datum * peercert)
return 0;
b64_data.size = filestat.st_size + 1;
return 0;
b64_data.size = filestat.st_size + 1;
- b64_data_data = (unsigned char *)
safe
_calloc (1, b64_data.size);
+ b64_data_data = (unsigned char *)
mem
_calloc (1, b64_data.size);
b64_data_data[b64_data.size - 1] = '\0';
b64_data.data = b64_data_data;
b64_data_data[b64_data.size - 1] = '\0';
b64_data.data = b64_data_data;
@@
-319,12
+319,12
@@
static int tls_compare_certificates (const gnutls_datum * peercert)
do {
ret = gnutls_pem_base64_decode_alloc (NULL, &b64_data, &cert);
if (ret != 0) {
do {
ret = gnutls_pem_base64_decode_alloc (NULL, &b64_data, &cert);
if (ret != 0) {
-
FREE
(&b64_data_data);
+
mem_free
(&b64_data_data);
return 0;
}
return 0;
}
- ptr = (unsigned char *) strstr (b64_data.data, CERT_SEP) + 1;
- ptr = (unsigned char *) strstr (ptr, CERT_SEP);
+ ptr = (unsigned char *) strstr (
(char*)
b64_data.data, CERT_SEP) + 1;
+ ptr = (unsigned char *) strstr (
(char*)
ptr, CERT_SEP);
b64_data.size = b64_data.size - (ptr - b64_data.data);
b64_data.data = ptr;
b64_data.size = b64_data.size - (ptr - b64_data.data);
b64_data.data = ptr;
@@
-333,7
+333,7
@@
static int tls_compare_certificates (const gnutls_datum * peercert)
if (memcmp (cert.data, peercert->data, cert.size) == 0) {
/* match found */
gnutls_free (cert.data);
if (memcmp (cert.data, peercert->data, cert.size) == 0) {
/* match found */
gnutls_free (cert.data);
-
FREE
(&b64_data_data);
+
mem_free
(&b64_data_data);
return 1;
}
}
return 1;
}
}
@@
-342,7
+342,7
@@
static int tls_compare_certificates (const gnutls_datum * peercert)
} while (ptr != NULL);
/* no match found */
} while (ptr != NULL);
/* no match found */
-
FREE
(&b64_data_data);
+
mem_free
(&b64_data_data);
return 0;
}
return 0;
}
@@
-412,10
+412,10
@@
static int tls_check_stored_hostname (const gnutls_datum * cert,
if (regexec (&preg, linestr, 3, pmatch, 0) == 0) {
linestr[pmatch[1].rm_eo] = '\0';
linestr[pmatch[2].rm_eo] = '\0';
if (regexec (&preg, linestr, 3, pmatch, 0) == 0) {
linestr[pmatch[1].rm_eo] = '\0';
linestr[pmatch[2].rm_eo] = '\0';
- if (
mutt_str
cmp (linestr + pmatch[1].rm_so, hostname) == 0 &&
-
mutt_str
cmp (linestr + pmatch[2].rm_so, buf) == 0) {
+ if (
str_
cmp (linestr + pmatch[1].rm_so, hostname) == 0 &&
+
str_
cmp (linestr + pmatch[2].rm_so, buf) == 0) {
regfree (&preg);
regfree (&preg);
-
FREE
(&linestr);
+
mem_free
(&linestr);
fclose (fp);
return 1;
}
fclose (fp);
return 1;
}
@@
-449,10
+449,9
@@
static int tls_check_certificate (CONNECTION * conn)
MUTTMENU *menu;
int done, row, i, ret;
FILE *fp;
MUTTMENU *menu;
int done, row, i, ret;
FILE *fp;
- gnutls_x509_dn dn;
time_t t;
const gnutls_datum *cert_list;
time_t t;
const gnutls_datum *cert_list;
- int cert_list_size = 0;
+
unsigned
int cert_list_size = 0;
gnutls_certificate_status certstat;
char datestr[30];
gnutls_x509_crt cert;
gnutls_certificate_status certstat;
char datestr[30];
gnutls_x509_crt cert;
@@
-486,7
+485,7
@@
static int tls_check_certificate (CONNECTION * conn)
/* We only support X.509 certificates (not OpenPGP) at the moment */
if (gnutls_certificate_type_get (state) != GNUTLS_CRT_X509) {
/* We only support X.509 certificates (not OpenPGP) at the moment */
if (gnutls_certificate_type_get (state) != GNUTLS_CRT_X509) {
- mutt_error (_("
Error c
ertificate is not X.509"));
+ mutt_error (_("
C
ertificate is not X.509"));
mutt_sleep (2);
return 0;
}
mutt_sleep (2);
return 0;
}
@@
-584,9
+583,9
@@
static int tls_check_certificate (CONNECTION * conn)
/* interactive check from user */
menu = mutt_new_menu ();
menu->max = 25;
/* interactive check from user */
menu = mutt_new_menu ();
menu->max = 25;
- menu->dialog = (char **)
safe
_calloc (1, menu->max * sizeof (char *));
+ menu->dialog = (char **)
mem
_calloc (1, menu->max * sizeof (char *));
for (i = 0; i < menu->max; i++)
for (i = 0; i < menu->max; i++)
- menu->dialog[i] = (char *)
safe
_calloc (1, SHORT_STRING * sizeof (char));
+ menu->dialog[i] = (char *)
mem
_calloc (1, SHORT_STRING * sizeof (char));
row = 0;
strfcpy (menu->dialog[row], _("This certificate belongs to:"),
row = 0;
strfcpy (menu->dialog[row], _("This certificate belongs to:"),
@@
-748,6
+747,7
@@
static int tls_check_certificate (CONNECTION * conn)
menu->help = helpstr;
done = 0;
menu->help = helpstr;
done = 0;
+ set_option (OPTUNBUFFEREDINPUT);
while (!done) {
switch (mutt_menuLoop (menu)) {
case -1: /* abort */
while (!done) {
switch (mutt_menuLoop (menu)) {
case -1: /* abort */
@@
-790,6
+790,7
@@
static int tls_check_certificate (CONNECTION * conn)
break;
}
}
break;
}
}
+ unset_option (OPTUNBUFFEREDINPUT);
mutt_menuDestroy (&menu);
gnutls_x509_crt_deinit (cert);
return (done == 2);
mutt_menuDestroy (&menu);
gnutls_x509_crt_deinit (cert);
return (done == 2);