lib: Accomodate FreeBSD return value for ssl connection.
authorEd Maste <emaste@adaranet.com>
Tue, 23 Oct 2012 13:50:10 +0000 (13:50 +0000)
committerBen Pfaff <blp@nicira.com>
Tue, 23 Oct 2012 15:32:55 +0000 (08:32 -0700)
On FreeBSD I see ECONNRESET being returned from check_connection_completion
in ssl_connect.  This happens before entering the SSL states, which return
EPROTO on failure.

Signed-off-by: Ed Maste <emaste@adaranet.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
tests/test-vconn.c

index 5dd38f0..0b2b063 100644 (file)
@@ -159,8 +159,15 @@ test_refuse_connection(int argc OVS_UNUSED, char *argv[])
             ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
                       error, strerror(error));
         }
+    } else if (!strcmp(type, "unix")) {
+        CHECK_ERRNO(error, EPIPE);
+    } else if (!strcmp(type, "ssl")) {
+        if (error != EPROTO && error != ECONNRESET) {
+            ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)",
+                      error, strerror(error));
+        }
     } else {
-        CHECK_ERRNO(error, !strcmp(type, "unix") ? EPIPE : EPROTO);
+        ovs_fatal(0, "invalid connection type %s", type);
     }
 
     vconn_close(vconn);