| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_versions.c | 
| Switch to Source code | Preprocessed file | 
| Line | Source | Count | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||||||||
| 2 | static int | - | ||||||||||||||||||
| 3 | ssl_clamp_version_range(uint16_t *min_ver, uint16_t *max_ver, | - | ||||||||||||||||||
| 4 | uint16_t clamp_min, uint16_t clamp_max) | - | ||||||||||||||||||
| 5 | { | - | ||||||||||||||||||
| 6 | if (clamp_min > clamp_max 
 
 
 | 0-414 | ||||||||||||||||||
| 7 | return executed 5 times by 1 test: 0; return 0;Executed by: 
 executed 5 times by 1 test:  return 0;Executed by: 
 | 5 | ||||||||||||||||||
| 8 | if (clamp_max < *min_ver 
 
 | 0-408 | ||||||||||||||||||
| 9 | return executed 1 time by 1 test: 0; return 0;Executed by: 
 executed 1 time by 1 test:  return 0;Executed by: 
 | 1 | ||||||||||||||||||
| 10 | - | |||||||||||||||||||
| 11 | if (* 
 
 | 10-398 | ||||||||||||||||||
| 12 | * executed 10 times by 2 tests: min_ver = clamp_min; *min_ver = clamp_min;Executed by: 
 executed 10 times by 2 tests:  *min_ver = clamp_min;Executed by: 
 | 10 | ||||||||||||||||||
| 13 | if (* 
 
 | 66-342 | ||||||||||||||||||
| 14 | * executed 66 times by 3 tests: max_ver = clamp_max; *max_ver = clamp_max;Executed by: 
 executed 66 times by 3 tests:  *max_ver = clamp_max;Executed by: 
 | 66 | ||||||||||||||||||
| 15 | - | |||||||||||||||||||
| 16 | return executed 408 times by 5 tests: 1; return 1;Executed by: 
 executed 408 times by 5 tests:  return 1;Executed by: 
 | 408 | ||||||||||||||||||
| 17 | } | - | ||||||||||||||||||
| 18 | - | |||||||||||||||||||
| 19 | int | - | ||||||||||||||||||
| 20 | ssl_version_set_min(const SSL_METHOD *meth, uint16_t ver, uint16_t max_ver, | - | ||||||||||||||||||
| 21 | uint16_t *out_ver) | - | ||||||||||||||||||
| 22 | { | - | ||||||||||||||||||
| 23 | uint16_t min_version, max_version; | - | ||||||||||||||||||
| 24 | - | |||||||||||||||||||
| 25 | if (ver == 0 
 | 17-18 | ||||||||||||||||||
| 26 | *out_ver = meth->internal->min_version; | - | ||||||||||||||||||
| 27 | return executed 18 times by 1 test: 1; return 1;Executed by: 
 executed 18 times by 1 test:  return 1;Executed by: 
 | 18 | ||||||||||||||||||
| 28 | } | - | ||||||||||||||||||
| 29 | - | |||||||||||||||||||
| 30 | min_version = ver; | - | ||||||||||||||||||
| 31 | max_version = max_ver; | - | ||||||||||||||||||
| 32 | - | |||||||||||||||||||
| 33 | if (!ssl_clamp_version_range(&min_version, &max_version, 
 | 2-15 | ||||||||||||||||||
| 34 | meth->internal->min_version, meth->internal->max_version) 
 | 2-15 | ||||||||||||||||||
| 35 | return executed 2 times by 1 test: 0; return 0;Executed by: 
 executed 2 times by 1 test:  return 0;Executed by: 
 | 2 | ||||||||||||||||||
| 36 | - | |||||||||||||||||||
| 37 | *out_ver = min_version; | - | ||||||||||||||||||
| 38 | - | |||||||||||||||||||
| 39 | return executed 15 times by 1 test: 1; return 1;Executed by: 
 executed 15 times by 1 test:  return 1;Executed by: 
 | 15 | ||||||||||||||||||
| 40 | } | - | ||||||||||||||||||
| 41 | - | |||||||||||||||||||
| 42 | int | - | ||||||||||||||||||
| 43 | ssl_version_set_max(const SSL_METHOD *meth, uint16_t ver, uint16_t min_ver, | - | ||||||||||||||||||
| 44 | uint16_t *out_ver) | - | ||||||||||||||||||
| 45 | { | - | ||||||||||||||||||
| 46 | uint16_t min_version, max_version; | - | ||||||||||||||||||
| 47 | - | |||||||||||||||||||
| 48 | if (ver == 0 
 | 16-17 | ||||||||||||||||||
| 49 | *out_ver = meth->internal->max_version; | - | ||||||||||||||||||
| 50 | return executed 16 times by 1 test: 1; return 1;Executed by: 
 executed 16 times by 1 test:  return 1;Executed by: 
 | 16 | ||||||||||||||||||
| 51 | } | - | ||||||||||||||||||
| 52 | - | |||||||||||||||||||
| 53 | min_version = min_ver; | - | ||||||||||||||||||
| 54 | max_version = ver; | - | ||||||||||||||||||
| 55 | - | |||||||||||||||||||
| 56 | if (!ssl_clamp_version_range(&min_version, &max_version, 
 | 3-14 | ||||||||||||||||||
| 57 | meth->internal->min_version, meth->internal->max_version) 
 | 3-14 | ||||||||||||||||||
| 58 | return executed 3 times by 1 test: 0; return 0;Executed by: 
 executed 3 times by 1 test:  return 0;Executed by: 
 | 3 | ||||||||||||||||||
| 59 | - | |||||||||||||||||||
| 60 | *out_ver = max_version; | - | ||||||||||||||||||
| 61 | - | |||||||||||||||||||
| 62 | return executed 14 times by 1 test: 1; return 1;Executed by: 
 executed 14 times by 1 test:  return 1;Executed by: 
 | 14 | ||||||||||||||||||
| 63 | } | - | ||||||||||||||||||
| 64 | - | |||||||||||||||||||
| 65 | int | - | ||||||||||||||||||
| 66 | ssl_enabled_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | - | ||||||||||||||||||
| 67 | { | - | ||||||||||||||||||
| 68 | uint16_t min_version, max_version; | - | ||||||||||||||||||
| 69 | min_version = 0; | - | ||||||||||||||||||
| 70 | max_version = 0x0303; | - | ||||||||||||||||||
| 71 | - | |||||||||||||||||||
| 72 | if (( 
 
 | 21-178 | ||||||||||||||||||
| 73 | min_version = 0x0301; executed 178 times by 4 tests:  min_version = 0x0301;Executed by: 
 | 178 | ||||||||||||||||||
| 74 | else if (( 
 
 | 4-17 | ||||||||||||||||||
| 75 | min_version = 0x0302; executed 4 times by 1 test:  min_version = 0x0302;Executed by: 
 | 4 | ||||||||||||||||||
| 76 | else if (( 
 
 | 2-15 | ||||||||||||||||||
| 77 | min_version = 0x0303; executed 15 times by 3 tests:  min_version = 0x0303;Executed by: 
 | 15 | ||||||||||||||||||
| 78 | - | |||||||||||||||||||
| 79 | if (( 
 
 
 | 0-189 | ||||||||||||||||||
| 80 | max_version = 0x0302; executed 10 times by 2 tests:  max_version = 0x0302;Executed by: 
 | 10 | ||||||||||||||||||
| 81 | if (( 
 
 
 | 8-176 | ||||||||||||||||||
| 82 | max_version = 0x0301; executed 8 times by 2 tests:  max_version = 0x0301;Executed by: 
 | 8 | ||||||||||||||||||
| 83 | if (( 
 
 
 | 2-178 | ||||||||||||||||||
| 84 | max_version = 0; executed 2 times by 1 test:  max_version = 0;Executed by: 
 | 2 | ||||||||||||||||||
| 85 | - | |||||||||||||||||||
| 86 | - | |||||||||||||||||||
| 87 | if (min_version == 0 
 
 | 0-197 | ||||||||||||||||||
| 88 | return executed 2 times by 1 test: 0; return 0;Executed by: 
 executed 2 times by 1 test:  return 0;Executed by: 
 | 2 | ||||||||||||||||||
| 89 | - | |||||||||||||||||||
| 90 | - | |||||||||||||||||||
| 91 | if (!ssl_clamp_version_range(&min_version, &max_version, 
 | 0-197 | ||||||||||||||||||
| 92 | s->internal->min_version, s->internal->max_version) 
 | 0-197 | ||||||||||||||||||
| 93 | return never executed: 0; return 0;never executed:  return 0; | 0 | ||||||||||||||||||
| 94 | - | |||||||||||||||||||
| 95 | if (min_ver != 
 | 0-197 | ||||||||||||||||||
| 96 | ((void *)0) 
 | 0-197 | ||||||||||||||||||
| 97 | ) | - | ||||||||||||||||||
| 98 | * executed 197 times by 5 tests: min_ver = min_version; *min_ver = min_version;Executed by: 
 executed 197 times by 5 tests:  *min_ver = min_version;Executed by: 
 | 197 | ||||||||||||||||||
| 99 | if (max_ver != 
 | 2-195 | ||||||||||||||||||
| 100 | ((void *)0) 
 | 2-195 | ||||||||||||||||||
| 101 | ) | - | ||||||||||||||||||
| 102 | * executed 195 times by 5 tests: max_ver = max_version; *max_ver = max_version;Executed by: 
 executed 195 times by 5 tests:  *max_ver = max_version;Executed by: 
 | 195 | ||||||||||||||||||
| 103 | - | |||||||||||||||||||
| 104 | return executed 197 times by 5 tests: 1; return 1;Executed by: 
 executed 197 times by 5 tests:  return 1;Executed by: 
 | 197 | ||||||||||||||||||
| 105 | } | - | ||||||||||||||||||
| 106 | - | |||||||||||||||||||
| 107 | int | - | ||||||||||||||||||
| 108 | ssl_supported_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | - | ||||||||||||||||||
| 109 | { | - | ||||||||||||||||||
| 110 | uint16_t min_version, max_version; | - | ||||||||||||||||||
| 111 | - | |||||||||||||||||||
| 112 | - | |||||||||||||||||||
| 113 | if (( 
 
 | 23-184 | ||||||||||||||||||
| 114 | min_version = max_version = 0xFEFF; | - | ||||||||||||||||||
| 115 | goto executed 23 times by 2 tests: done; goto done;Executed by: 
 executed 23 times by 2 tests:  goto done;Executed by: 
 | 23 | ||||||||||||||||||
| 116 | } | - | ||||||||||||||||||
| 117 | - | |||||||||||||||||||
| 118 | if (!ssl_enabled_version_range(s, &min_version, &max_version) 
 | 1-183 | ||||||||||||||||||
| 119 | return executed 1 time by 1 test: 0; return 0;Executed by: 
 executed 1 time by 1 test:  return 0;Executed by: 
 | 1 | ||||||||||||||||||
| 120 | - | |||||||||||||||||||
| 121 | - | |||||||||||||||||||
| 122 | if (!ssl_clamp_version_range(&min_version, &max_version, 
 | 1-182 | ||||||||||||||||||
| 123 | s->method->internal->min_version, 
 | 1-182 | ||||||||||||||||||
| 124 | s->method->internal->max_version) 
 | 1-182 | ||||||||||||||||||
| 125 | return executed 1 time by 1 test: 0; return 0;Executed by: 
 executed 1 time by 1 test:  return 0;Executed by: 
 | 1 | ||||||||||||||||||
| 126 | - | |||||||||||||||||||
| 127 | done: code before this statement executed 182 times by 5 tests:  done:Executed by: 
 | 182 | ||||||||||||||||||
| 128 | if (min_ver != 
 | 74-131 | ||||||||||||||||||
| 129 | ((void *)0) 
 | 74-131 | ||||||||||||||||||
| 130 | ) | - | ||||||||||||||||||
| 131 | * executed 131 times by 4 tests: min_ver = min_version; *min_ver = min_version;Executed by: 
 executed 131 times by 4 tests:  *min_ver = min_version;Executed by: 
 | 131 | ||||||||||||||||||
| 132 | if (max_ver != 
 | 0-205 | ||||||||||||||||||
| 133 | ((void *)0) 
 | 0-205 | ||||||||||||||||||
| 134 | ) | - | ||||||||||||||||||
| 135 | * executed 205 times by 5 tests: max_ver = max_version; *max_ver = max_version;Executed by: 
 executed 205 times by 5 tests:  *max_ver = max_version;Executed by: 
 | 205 | ||||||||||||||||||
| 136 | - | |||||||||||||||||||
| 137 | return executed 205 times by 5 tests: 1; return 1;Executed by: 
 executed 205 times by 5 tests:  return 1;Executed by: 
 | 205 | ||||||||||||||||||
| 138 | } | - | ||||||||||||||||||
| 139 | - | |||||||||||||||||||
| 140 | int | - | ||||||||||||||||||
| 141 | ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) | - | ||||||||||||||||||
| 142 | { | - | ||||||||||||||||||
| 143 | uint16_t min_version, max_version, shared_version; | - | ||||||||||||||||||
| 144 | - | |||||||||||||||||||
| 145 | *max_ver = 0; | - | ||||||||||||||||||
| 146 | - | |||||||||||||||||||
| 147 | if (( 
 
 | 13-72 | ||||||||||||||||||
| 148 | if (peer_ver >= 0xFEFF 
 | 1-12 | ||||||||||||||||||
| 149 | *max_ver = 0xFEFF; | - | ||||||||||||||||||
| 150 | return executed 12 times by 2 tests: 1; return 1;Executed by: 
 executed 12 times by 2 tests:  return 1;Executed by: 
 | 12 | ||||||||||||||||||
| 151 | } | - | ||||||||||||||||||
| 152 | return executed 1 time by 1 test: 0; return 0;Executed by: 
 executed 1 time by 1 test:  return 0;Executed by: 
 | 1 | ||||||||||||||||||
| 153 | } | - | ||||||||||||||||||
| 154 | - | |||||||||||||||||||
| 155 | if (peer_ver >= 0x0303 
 | 30-42 | ||||||||||||||||||
| 156 | shared_version = 0x0303; executed 42 times by 4 tests:  shared_version = 0x0303;Executed by: 
 | 42 | ||||||||||||||||||
| 157 | else if (peer_ver >= 0x0302 
 | 5-25 | ||||||||||||||||||
| 158 | shared_version = 0x0302; executed 5 times by 1 test:  shared_version = 0x0302;Executed by: 
 | 5 | ||||||||||||||||||
| 159 | else if (peer_ver >= 0x0301 
 | 2-23 | ||||||||||||||||||
| 160 | shared_version = 0x0301; executed 23 times by 3 tests:  shared_version = 0x0301;Executed by: 
 | 23 | ||||||||||||||||||
| 161 | else | - | ||||||||||||||||||
| 162 | return executed 2 times by 1 test: 0; return 0;Executed by: 
 executed 2 times by 1 test:  return 0;Executed by: 
 | 2 | ||||||||||||||||||
| 163 | - | |||||||||||||||||||
| 164 | if (!ssl_supported_version_range(s, &min_version, &max_version) 
 | 2-68 | ||||||||||||||||||
| 165 | return executed 2 times by 1 test: 0; return 0;Executed by: 
 executed 2 times by 1 test:  return 0;Executed by: 
 | 2 | ||||||||||||||||||
| 166 | - | |||||||||||||||||||
| 167 | if (shared_version < min_version 
 | 2-66 | ||||||||||||||||||
| 168 | return executed 2 times by 1 test: 0; return 0;Executed by: 
 executed 2 times by 1 test:  return 0;Executed by: 
 | 2 | ||||||||||||||||||
| 169 | - | |||||||||||||||||||
| 170 | if (shared_version > max_version 
 | 5-61 | ||||||||||||||||||
| 171 | shared_version = max_version; executed 5 times by 1 test:  shared_version = max_version;Executed by: 
 | 5 | ||||||||||||||||||
| 172 | - | |||||||||||||||||||
| 173 | *max_ver = shared_version; | - | ||||||||||||||||||
| 174 | - | |||||||||||||||||||
| 175 | return executed 66 times by 4 tests: 1; return 1;Executed by: 
 executed 66 times by 4 tests:  return 1;Executed by: 
 | 66 | ||||||||||||||||||
| 176 | } | - | ||||||||||||||||||
| 177 | - | |||||||||||||||||||
| 178 | uint16_t | - | ||||||||||||||||||
| 179 | ssl_max_server_version(SSL *s) | - | ||||||||||||||||||
| 180 | { | - | ||||||||||||||||||
| 181 | uint16_t max_version, min_version = 0; | - | ||||||||||||||||||
| 182 | - | |||||||||||||||||||
| 183 | if (( 
 
 | 0 | ||||||||||||||||||
| 184 | return never executed: (0xFEFF); return (0xFEFF);never executed:  return (0xFEFF); | 0 | ||||||||||||||||||
| 185 | - | |||||||||||||||||||
| 186 | if (!ssl_enabled_version_range(s, &min_version, &max_version) 
 | 0 | ||||||||||||||||||
| 187 | return never executed: 0; return 0;never executed:  return 0; | 0 | ||||||||||||||||||
| 188 | - | |||||||||||||||||||
| 189 | - | |||||||||||||||||||
| 190 | - | |||||||||||||||||||
| 191 | - | |||||||||||||||||||
| 192 | - | |||||||||||||||||||
| 193 | - | |||||||||||||||||||
| 194 | if (!ssl_clamp_version_range(&min_version, &max_version, 
 | 0 | ||||||||||||||||||
| 195 | s->ctx->method->internal->min_version, 
 | 0 | ||||||||||||||||||
| 196 | s->ctx->method->internal->max_version) 
 | 0 | ||||||||||||||||||
| 197 | return never executed: 0; return 0;never executed:  return 0; | 0 | ||||||||||||||||||
| 198 | - | |||||||||||||||||||
| 199 | return never executed: (max_version); return (max_version);never executed:  return (max_version); | 0 | ||||||||||||||||||
| 200 | } | - | ||||||||||||||||||
| Switch to Source code | Preprocessed file |