X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fstream-ssl.c;h=0ca5b18dfb775e3bc12419a7c8b30cc50605f6e8;hb=568e23fc2772235204dcabb61e1425b312070da2;hp=b9b3410737ab6c010f1882bbb9632d72e2834feb;hpb=47ebcf25ef6d1475b5e634d79218ad553f72fdcd;p=openvswitch diff --git a/lib/stream-ssl.c b/lib/stream-ssl.c index b9b34107..0ca5b18d 100644 --- a/lib/stream-ssl.c +++ b/lib/stream-ssl.c @@ -230,7 +230,7 @@ new_ssl_stream(const char *name, int fd, enum session_type type, VLOG_ERR("CA certificate must be configured to use SSL"); retval = ENOPROTOOPT; } - if (!SSL_CTX_check_private_key(ctx)) { + if (!retval && !SSL_CTX_check_private_key(ctx)) { VLOG_ERR("Private key does not match certificate public key: %s", ERR_error_string(ERR_get_error(), NULL)); retval = ENOPROTOOPT; @@ -479,7 +479,7 @@ ssl_connect(struct stream *stream) * certificate, but that's more trouble than it's worth. These * connections will succeed the next time they retry, assuming that * they have a certificate against the correct CA.) */ - VLOG_ERR("rejecting SSL connection during bootstrap race window"); + VLOG_INFO("rejecting SSL connection during bootstrap race window"); return EPROTO; } else { return 0; @@ -862,6 +862,13 @@ pssl_wait(struct pstream *pstream) poll_fd_wait(pssl->fd, POLLIN); } +static int +pssl_set_dscp(struct pstream *pstream, uint8_t dscp) +{ + struct pssl_pstream *pssl = pssl_pstream_cast(pstream); + return set_dscp(pssl->fd, dscp); +} + const struct pstream_class pssl_pstream_class = { "pssl", true, @@ -869,6 +876,7 @@ const struct pstream_class pssl_pstream_class = { pssl_close, pssl_accept, pssl_wait, + pssl_set_dscp, }; /*