-/* $Cambridge: exim/src/src/tls-gnu.c,v 1.7 2005/06/07 15:20:56 ph10 Exp $ */
+/* $Cambridge: exim/src/src/tls-gnu.c,v 1.10 2005/06/28 08:49:38 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
init_rsa_dh(host_item *host)
{
int fd;
-int ret = -1;
+int ret;
gnutls_datum m;
uschar filename[200];
(void)close(fd);
ret = gnutls_rsa_params_import_pkcs1(rsa_params, &m, GNUTLS_X509_FMT_PEM);
+
if (ret < 0)
{
DEBUG(D_tls)
/* If the file does not exist, fall through to compute new data and cache it.
If there was any other opening error, it is serious. */
-else if (errno != ENOENT)
+else if (errno == ENOENT)
+ {
+ ret = -1;
+ DEBUG(D_tls)
+ debug_printf("parameter cache file %s does not exist\n", filename);
+ }
+else
return tls_error(string_open_failed(errno, "%s for reading", filename),
host, 0);
return tls_error(string_sprintf("failed to rename %s as %s: %s",
tempfilename, filename, strerror(errno)), host, 0);
- DEBUG(D_tls) debug_printf("wrote RSA and D-H parameters to file\n");
+ DEBUG(D_tls) debug_printf("wrote RSA and D-H parameters to file %s\n",
+ filename);
}
DEBUG(D_tls) debug_printf("initialized RSA and D-H parameters\n");
return DEFER;
}
- DEBUG(D_tls) debug_printf("verify certificates = %s size=%.30g\n",
- cas_expanded, (double)statbuf.st_size);
+ DEBUG(D_tls) debug_printf("verify certificates = %s size=" OFF_T_FMT "\n",
+ cas_expanded, statbuf.st_size);
/* If the cert file is empty, there's no point in loading the CRL file. */
if (!sigalrm_seen)
{
- fclose(smtp_out);
- fclose(smtp_in);
+ (void)fclose(smtp_out);
+ (void)fclose(smtp_in);
}
return FAIL;