diff options
-rw-r--r-- | openbsd-compat/openssl-compat.c | 6 | ||||
-rw-r--r-- | openbsd-compat/regress/opensslvertest.c | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c index 63a660c7a..3f62403ce 100644 --- a/openbsd-compat/openssl-compat.c +++ b/openbsd-compat/openssl-compat.c | |||
@@ -36,7 +36,7 @@ | |||
36 | /* | 36 | /* |
37 | * OpenSSL version numbers: MNNFFPPS: major minor fix patch status | 37 | * OpenSSL version numbers: MNNFFPPS: major minor fix patch status |
38 | * We match major, minor, fix and status (not patch) for <1.0.0. | 38 | * We match major, minor, fix and status (not patch) for <1.0.0. |
39 | * After that, we acceptable compatible fix versions (so we | 39 | * After that, we accept compatible fix and status versions (so we |
40 | * allow 1.0.1 to work with 1.0.0). Going backwards is only allowed | 40 | * allow 1.0.1 to work with 1.0.0). Going backwards is only allowed |
41 | * within a patch series. | 41 | * within a patch series. |
42 | */ | 42 | */ |
@@ -57,10 +57,10 @@ ssh_compatible_openssl(long headerver, long libver) | |||
57 | } | 57 | } |
58 | 58 | ||
59 | /* | 59 | /* |
60 | * For versions >= 1.0.0, major,minor,status must match and library | 60 | * For versions >= 1.0.0, major,minor must match and library |
61 | * fix version must be equal to or newer than the header. | 61 | * fix version must be equal to or newer than the header. |
62 | */ | 62 | */ |
63 | mask = 0xfff0000fL; /* major,minor,status */ | 63 | mask = 0xfff00000L; /* major,minor */ |
64 | hfix = (headerver & 0x000ff000) >> 12; | 64 | hfix = (headerver & 0x000ff000) >> 12; |
65 | lfix = (libver & 0x000ff000) >> 12; | 65 | lfix = (libver & 0x000ff000) >> 12; |
66 | if ( (headerver & mask) == (libver & mask) && lfix >= hfix) | 66 | if ( (headerver & mask) == (libver & mask) && lfix >= hfix) |
diff --git a/openbsd-compat/regress/opensslvertest.c b/openbsd-compat/regress/opensslvertest.c index 5d019b598..58474873d 100644 --- a/openbsd-compat/regress/opensslvertest.c +++ b/openbsd-compat/regress/opensslvertest.c | |||
@@ -35,6 +35,7 @@ struct version_test { | |||
35 | 35 | ||
36 | /* built with 1.0.1b release headers */ | 36 | /* built with 1.0.1b release headers */ |
37 | { 0x1000101fL, 0x1000101fL, 1},/* exact match */ | 37 | { 0x1000101fL, 0x1000101fL, 1},/* exact match */ |
38 | { 0x1000101fL, 0x10001010L, 1}, /* different status: ok */ | ||
38 | { 0x1000101fL, 0x1000102fL, 1}, /* newer library patch version: ok */ | 39 | { 0x1000101fL, 0x1000102fL, 1}, /* newer library patch version: ok */ |
39 | { 0x1000101fL, 0x1000100fL, 1}, /* older library patch version: ok */ | 40 | { 0x1000101fL, 0x1000100fL, 1}, /* older library patch version: ok */ |
40 | { 0x1000101fL, 0x1000201fL, 1}, /* newer library fix version: ok */ | 41 | { 0x1000101fL, 0x1000201fL, 1}, /* newer library fix version: ok */ |