|
Lines 48-68
ssh_compatible_openssl(long headerver, long libver)
Link Here
|
| 48 |
if (headerver == libver) |
48 |
if (headerver == libver) |
| 49 |
return 1; |
49 |
return 1; |
| 50 |
|
50 |
|
| 51 |
/* for versions < 1.0.0, major,minor,fix,status must match */ |
|
|
| 52 |
if (headerver < 0x1000000f) { |
| 53 |
mask = 0xfffff00fL; /* major,minor,fix,status */ |
| 54 |
return (headerver & mask) == (libver & mask); |
| 55 |
} |
| 56 |
|
| 57 |
/* |
51 |
/* |
| 58 |
* For versions >= 1.0.0, major,minor,status must match and library |
52 |
* For versions < 3.0.0, major,minor,status must match and library |
| 59 |
* fix version must be equal to or newer than the header. |
53 |
* fix version must be equal to or newer than the header. |
| 60 |
*/ |
54 |
*/ |
| 61 |
mask = 0xfff0000fL; /* major,minor,status */ |
55 |
if (headerver < 0x3000000f) { |
| 62 |
hfix = (headerver & 0x000ff000) >> 12; |
56 |
mask = 0xfff0000fL; /* major,minor,status */ |
| 63 |
lfix = (libver & 0x000ff000) >> 12; |
57 |
hfix = (headerver & 0x000ff000) >> 12; |
|
|
58 |
lfix = (libver & 0x000ff000) >> 12; |
| 59 |
if ( (headerver & mask) == (libver & mask) && lfix >= hfix) |
| 60 |
return 1; |
| 61 |
} |
| 62 |
|
| 63 |
/* |
| 64 |
* For versions >= 3.0.0, major must match and minor,status must be |
| 65 |
* equal to or greater than the header. |
| 66 |
*/ |
| 67 |
mask = 0xf000000fL; /* major, status */ |
| 68 |
hfix = (headerver & 0x0ffffff0L) >> 12; |
| 69 |
lfix = (libver & 0x0ffffff0L) >> 12; |
| 64 |
if ( (headerver & mask) == (libver & mask) && lfix >= hfix) |
70 |
if ( (headerver & mask) == (libver & mask) && lfix >= hfix) |
| 65 |
return 1; |
71 |
return 1; |
|
|
72 |
|
| 66 |
return 0; |
73 |
return 0; |
| 67 |
} |
74 |
} |
| 68 |
|
75 |
|