}
ret = gnutls_record_recv (data->state, buf, len);
- if (gnutls_error_is_fatal (ret) == 1) {
+ if (ret < 0 && gnutls_error_is_fatal (ret) == 1) {
mutt_error (_("tls_socket_read (%s)"), gnutls_strerror (ret));
mutt_sleep (4);
return -1;
}
ret = gnutls_record_send (data->state, buf, len);
- if (gnutls_error_is_fatal (ret) == 1) {
+ if (ret < 0 && gnutls_error_is_fatal (ret) == 1) {
mutt_error (_("tls_socket_write (%s)"), gnutls_strerror (ret));
mutt_sleep (4);
return -1;
static char *tls_make_date (time_t t, char *s, ssize_t len)
{
- struct tm *l = gmtime (&t);
-
- if (l)
- snprintf (s, len, "%s, %d %s %d %02d:%02d:%02d UTC",
- Weekdays[l->tm_wday], l->tm_mday, Months[l->tm_mon],
- l->tm_year + 1900, l->tm_hour, l->tm_min, l->tm_sec);
- else
- m_strcpy(s, len, _("[invalid date]"));
+ struct tm *l = gmtime(&t);
+
+ if (l) {
+ const char *loc;
+ loc = setlocale(LC_TIME, "C");
+ strftime(s, len, "%a, %d %b %Y %T UTC", l);
+ setlocale(LC_TIME, loc);
+ } else {
+ m_strcpy(s, len, _("[invalid date]"));
+ }
- return (s);
+ return (s);
}
static int tls_check_stored_hostname (const gnutls_datum * cert,