* more checks. */
if (result < 0) {
LOG(WARNING,
- "verify_tls_connection(): gnutls_certificate_verify_peers2() failed: %s",
+ "verify_tls_connection(): "
+ "gnutls_certificate_verify_peers2() failed: %s",
gnutls_strerror(result));
return -1;
}
|| status & GNUTLS_CERT_REVOKED
|| status & GNUTLS_CERT_NOT_ACTIVATED
|| status & GNUTLS_CERT_INSECURE_ALGORITHM) {
- LOG(WARNING,
- "verify_tls_connection(): invalid server certificate");
+ LOG(WARNING, "verify_tls_connection(): invalid server certificate");
return -1;
}
* prevent an attacker from changing the certificate type to prevent
* detection. */
if (gnutls_certificate_type_get(session) != GNUTLS_CRT_X509) {
- LOG(WARNING,
- "verify_tls_connection(): no X509 server certificate");
+ LOG(WARNING, "verify_tls_connection(): no X509 server certificate");
return -1;
}
/* Open stored server certificate file. */
if (server_certificate_file(&file, hostname, path, sizeof(path)) != 0) {
- LOG(DEBUG, "server certificate:\n%s", server_cert);
+ LOG(DEBUG1, "server certificate:\n%s", server_cert);
return -1;
}
LOG(WARNING, "verify_tls_connection(): '%s' too big", path);
fclose(file);
- LOG(DEBUG, "server certificate:\n%s", server_cert);
+ LOG(DEBUG1, "server certificate:\n%s", server_cert);
return -1;
}
strcat(stored_cert, buffer);
}
if (ferror(file)) {
- LOG(WARNING,
- "verify_tls_connection(): failed to read from '%s': %s",
- path, strerror(errno));
+ LOG(WARNING, "verify_tls_connection(): failed to read from '%s': %s",
+ path, strerror(errno));
fclose(file);
- LOG(DEBUG, "server certificate:\n%s", server_cert);
+ LOG(DEBUG1, "server certificate:\n%s", server_cert);
return -1;
}
fclose(file);
/* Check if the server certificate matches our stored certificate. */
if (strcmp(stored_cert, server_cert)) {
- LOG(ERROR,
- "verify_tls_connection(): server certificate changed!",
- path, strerror(errno));
+ LOG(ERROR, "verify_tls_connection(): server certificate changed!",
+ path, strerror(errno));
LOG(WARNING, "server certificate:\n%s", server_cert);
return -2;
/* Hostname too long. */
assert(size > strlen(format));
if (size - strlen(format) <= strlen(hostname)) {
- LOG(WARNING,
- "get_certificate_path(): hostname too long: '%s'",
- hostname);
+ LOG(WARNING, "get_certificate_path(): hostname too long: '%s'",
+ hostname);
return -1;
}
/* Try to prevent path traversals in hostnames. */
if (strstr(hostname, "..") != NULL) {
- LOG(WARNING,
- "get_certificate_path(): possible path traversal: '%s'",
- hostname);
+ LOG(WARNING, "get_certificate_path(): possible path traversal: '%s'",
+ hostname);
return -1;
}
/* Safe as format is no user input. */
char *path, size_t size) {
if (get_certificate_path(STORED_SERVER_CERT_FORMAT,
hostname, path, size) != 0) {
- LOG_PERROR(ERROR,
- "server_certificate_file(): failed to get path");
+ LOG_PERROR(ERROR, "server_certificate_file(): failed to get path");
return -1;
}
*file = fopen(path, "rb");
if (*file == NULL) {
if (global_passthrough_unknown) {
- LOG(DEBUG,
- "server_certificate_file(): failed to open '%s': %s",
- path, strerror(errno));
+ LOG(DEBUG1, "server_certificate_file(): failed to open '%s': %s",
+ path, strerror(errno));
} else {
- LOG(WARNING,
- "server_certificate_file(): failed to open '%s': %s",
- path, strerror(errno));
+ LOG(WARNING, "server_certificate_file(): failed to open '%s': %s",
+ path, strerror(errno));
}
/* Couldn't open the file, special case. */
return -2;