https://bugzilla.redhat.com/show_bug.cgi?id=1128032 Bug ID: 1128032 Summary: upstream test fails in FIPS mode Product: Fedora Version: rawhide Component: perl Keywords: Patch Severity: high Assignee: jplesnik@xxxxxxxxxx Reporter: ppisar@xxxxxxxxxx QA Contact: extras-qa@xxxxxxxxxxxxxxxxx CC: cweyl@xxxxxxxxxxxxxxx, iarnell@xxxxxxxxx, isenfeld@xxxxxxxxxx, jplesnik@xxxxxxxxxx, kasal@xxxxxx, omoris@xxxxxxxxxx, perl-devel@xxxxxxxxxxxxxxxxxxxxxxx, perl-maint-list@xxxxxxxxxx, ppisar@xxxxxxxxxx, psabata@xxxxxxxxxx, qe-baseos-apps@xxxxxxxxxx, rc040203@xxxxxxxxxx, tcallawa@xxxxxxxxxx +++ This bug was initially created as a clone of Bug #1084796 +++ Description of problem: The upstream test fails in FIPS mode, the following tests fails: :: [ FAIL ] :: Test: crypt.t (Expected 0, got 1): Use of uninitialized value in substr at ./op/crypt.t line 33. substr outside of string at ./op/crypt.t line 33. Use of uninitialized value in substr at ./op/crypt.t line 33. substr outside of string at ./op/crypt.t line 33. Use of uninitialized value in string ne at ./op/crypt.t line 33. Use of uninitialized value in string ne at ./op/crypt.t line 33. # Failed test 1 - salt makes a difference at ./op/crypt.t line 33 ./op/crypt.t .. Failed 1/4 subtests Test Summary Report ------------------- ./op/crypt.t (Wstat: 0 Tests: 4 Failed: 1) Failed test: 1 Files=1, Tests=4, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.01 cusr 0.00 csys = 0.03 CPU) Result: FAIL Use of uninitialized value in substr at ./op/crypt.t line 33. substr outside of string at ./op/crypt.t line 33. Use of uninitialized value in substr at ./op/crypt.t line 33. substr outside of string at ./op/crypt.t line 33. Use of uninitialized value in string ne at ./op/crypt.t line 33. Use of uninitialized value in string ne at ./op/crypt.t line 33. # Failed test 1 - salt makes a difference at ./op/crypt.t line 33 ./op/crypt.t .. 1..4 not ok 1 - salt makes a difference ok 2 - wide characters ungood ok 3 - downgrade to eight bit characters ok 4 - downgrade results agree Failed 1/4 subtests Test Summary Report ------------------- ./op/crypt.t (Wstat: 0 Tests: 4 Failed: 1) Failed test: 1 Files=1, Tests=4, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.01 cusr 0.00 csys = 0.03 CPU) Result: FAIL :: [ FAIL ] :: Test: taint.t (Expected 0, got 1) Use of uninitialized value in split at /usr/share/perl5/vendor_perl/TAP/Parser/SourceHandler/Perl.pm line 170. # Failed test 694 - tainted crypt at ./op/taint.t line 1876 ./op/taint.t .. Failed 1/794 subtests (less 6 skipped subtests: 787 okay) Test Summary Report ------------------- ./op/taint.t (Wstat: 0 Tests: 794 Failed: 1) Failed test: 694 Files=1, Tests=794, 0 wallclock secs ( 0.11 usr 0.01 sys + 0.11 cusr 0.03 csys = 0.26 CPU) Result: FAIL Use of uninitialized value in split at /usr/share/perl5/vendor_perl/TAP/Parser/SourceHandler/Perl.pm line 170. # Failed test 694 - tainted crypt at ./op/taint.t line 1876 ./op/taint.t .. 1..794 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # skip This is not VMS ok 9 # skip This is not VMS ok 10 # skip This is not VMS ok 11 # skip This is not VMS ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 - match with string tainted: s tainted ok 37 - match with string tainted: res not tainted ok 38 - match with string tainted: $1 not tainted ok 39 - match with string tainted: res value ok 40 - match with string tainted: $1 value ok 41 - match /g with string tainted: s tainted ok 42 - match /g with string tainted: res not tainted ok 43 - match /g with string tainted: $1 not tainted ok 44 - match /g with string tainted: res value ok 45 - match /g with string tainted: $1 value ok 46 - match with string tainted, list cxt: s tainted ok 47 - match with string tainted, list cxt: res not tainted ok 48 - match with string tainted, list cxt: $1 not tainted ok 49 - match with string tainted, list cxt: res value ok 50 - match with string tainted, list cxt: $1 value ok 51 - match /g with string tainted, list cxt: s tainted ok 52 - match /g with string tainted, list cxt: res not tainted ok 53 - match /g with string tainted, list cxt: res2 not tainted ok 54 - match /g with string tainted, list cxt: $1 not tainted ok 55 - match /g with string tainted, list cxt: res value ok 56 - match /g with string tainted, list cxt: res2 value ok 57 - match /g with string tainted, list cxt: $1 value ok 58 - match with pattern tainted: s not tainted ok 59 - match with pattern tainted: res not tainted ok 60 - match with pattern tainted: $1 tainted ok 61 - match with pattern tainted: res value ok 62 - match with pattern tainted: $1 value ok 63 - match /g with pattern tainted: s not tainted ok 64 - match /g with pattern tainted: res not tainted ok 65 - match /g with pattern tainted: $1 tainted ok 66 - match /g with pattern tainted: res value ok 67 - match /g with pattern tainted: $1 value ok 68 - match with pattern tainted via locale: s not tainted ok 69 - match with pattern tainted via locale: res not tainted ok 70 - match with pattern tainted via locale: $1 tainted ok 71 - match with pattern tainted via locale: res value ok 72 - match with pattern tainted via locale: $1 value ok 73 - match /g with pattern tainted via locale: s not tainted ok 74 - match /g with pattern tainted via locale: res not tainted ok 75 - match /g with pattern tainted via locale: $1 tainted ok 76 - match /g with pattern tainted via locale: res value ok 77 - match /g with pattern tainted via locale: $1 value ok 78 - match with pattern tainted, list cxt: s not tainted ok 79 - match with pattern tainted, list cxt: res tainted ok 80 - match with pattern tainted, list cxt: $1 tainted ok 81 - match with pattern tainted, list cxt: res value ok 82 - match with pattern tainted, list cxt: $1 value ok 83 - match /g with pattern tainted, list cxt: s not tainted ok 84 - match /g with pattern tainted, list cxt: res tainted ok 85 - match /g with pattern tainted, list cxt: $1 tainted ok 86 - match /g with pattern tainted, list cxt: res value ok 87 - match /g with pattern tainted, list cxt: res2 value ok 88 - match /g with pattern tainted, list cxt: $1 value ok 89 - match with pattern tainted via locale, list cxt: s not tainted ok 90 - match with pattern tainted via locale, list cxt: res tainted ok 91 - match with pattern tainted via locale, list cxt: $1 tainted ok 92 - match with pattern tainted via locale, list cxt: res value ok 93 - match with pattern tainted via locale, list cxt: $1 value ok 94 - match /g with pattern tainted via locale, list cxt: s not tainted ok 95 - match /g with pattern tainted via locale, list cxt: res tainted ok 96 - match /g with pattern tainted via locale, list cxt: res2 tainted ok 97 - match /g with pattern tainted via locale, list cxt: $1 tainted ok 98 - match /g with pattern tainted via locale, list cxt: res value ok 99 - match /g with pattern tainted via locale, list cxt: res2 value ok 100 - match /g with pattern tainted via locale, list cxt: $1 value ok 101 - substitution with string tainted: s tainted ok 102 - substitution with string tainted: res not tainted ok 103 - substitution with string tainted: $1 not tainted ok 104 - substitution with string tainted: s value ok 105 - substitution with string tainted: res value ok 106 - substitution with string tainted: $1 value ok 107 - substitution /g with string tainted: s tainted ok 108 - substitution /g with string tainted: res tainted ok 109 - substitution /g with string tainted: $1 not tainted ok 110 - substitution /g with string tainted: s value ok 111 - substitution /g with string tainted: res value ok 112 - substitution /g with string tainted: $1 value ok 113 - substitution /r with string tainted: s tainted ok 114 - substitution /r with string tainted: res tainted ok 115 - substitution /r with string tainted: $1 not tainted ok 116 - substitution /r with string tainted: s value ok 117 - substitution /r with string tainted: res value ok 118 - substitution /r with string tainted: $1 value ok 119 - substitution /e with string tainted: code not tainted within /e ok 120 - substitution /e with string tainted: $1 not tainted within /e ok 121 - substitution /e with string tainted: s tainted ok 122 - substitution /e with string tainted: res not tainted ok 123 - substitution /e with string tainted: $1 not tainted ok 124 - substitution /e with string tainted: s value ok 125 - substitution /e with string tainted: res value ok 126 - substitution /e with string tainted: $1 value ok 127 - substitution with pattern tainted: s tainted ok 128 - substitution with pattern tainted: res not tainted ok 129 - substitution with pattern tainted: $1 tainted ok 130 - substitution with pattern tainted: s value ok 131 - substitution with pattern tainted: res value ok 132 - substitution with pattern tainted: $1 value ok 133 - substitution /g with pattern tainted: s tainted ok 134 - substitution /g with pattern tainted: res tainted ok 135 - substitution /g with pattern tainted: $1 tainted ok 136 - substitution /g with pattern tainted: s value ok 137 - substitution /g with pattern tainted: res value ok 138 - substitution /g with pattern tainted: $1 value ok 139 - substitution /ge with pattern tainted: code not tainted within /e ok 140 - substitution /ge with pattern tainted: s not tainted loop 1 ok 141 - substitution /ge with pattern tainted: $1 tainted loop 1 ok 142 - substitution /ge with pattern tainted: code not tainted within /e ok 143 - substitution /ge with pattern tainted: s tainted loop 2 ok 144 - substitution /ge with pattern tainted: $1 tainted loop 2 ok 145 - substitution /ge with pattern tainted: code not tainted within /e ok 146 - substitution /ge with pattern tainted: s tainted loop 3 ok 147 - substitution /ge with pattern tainted: $1 tainted loop 3 ok 148 - substitution /ge with pattern tainted: s tainted ok 149 - substitution /ge with pattern tainted: res tainted ok 150 - substitution /ge with pattern tainted: $1 tainted ok 151 - substitution /ge with pattern tainted: s value ok 152 - substitution /ge with pattern tainted: res value ok 153 - substitution /ge with pattern tainted: $1 value ok 154 - substitution /r with pattern tainted: s not tainted ok 155 - substitution /r with pattern tainted: res tainted ok 156 - substitution /r with pattern tainted: $1 tainted ok 157 - substitution /r with pattern tainted: s value ok 158 - substitution /r with pattern tainted: res value ok 159 - substitution /r with pattern tainted: $1 value ok 160 - substitution with pattern tainted via locale: s tainted ok 161 - substitution with pattern tainted via locale: res not tainted ok 162 - substitution with pattern tainted via locale: $1 tainted ok 163 - substitution with pattern tainted via locale: s value ok 164 - substitution with pattern tainted via locale: res value ok 165 - substitution with pattern tainted via locale: $1 value ok 166 - substitution /g with pattern tainted via locale: s tainted ok 167 - substitution /g with pattern tainted via locale: res tainted ok 168 - substitution /g with pattern tainted via locale: $1 tainted ok 169 - substitution /g with pattern tainted via locale: s value ok 170 - substitution /g with pattern tainted via locale: res value ok 171 - substitution /g with pattern tainted via locale: $1 value ok 172 - substitution /r with pattern tainted via locale: s not tainted ok 173 - substitution /r with pattern tainted via locale: res tainted ok 174 - substitution /r with pattern tainted via locale: $1 tainted ok 175 - substitution /r with pattern tainted via locale: s value ok 176 - substitution /r with pattern tainted via locale: res value ok 177 - substitution /r with pattern tainted via locale: $1 value ok 178 - substitution with replacement tainted: s tainted ok 179 - substitution with replacement tainted: res not tainted ok 180 - substitution with replacement tainted: $1 not tainted ok 181 - substitution with replacement tainted: s value ok 182 - substitution with replacement tainted: res value ok 183 - substitution with replacement tainted: $1 value ok 184 - substitution /g with replacement tainted: s tainted ok 185 - substitution /g with replacement tainted: res not tainted ok 186 - substitution /g with replacement tainted: $1 not tainted ok 187 - substitution /g with replacement tainted: s value ok 188 - substitution /g with replacement tainted: res value ok 189 - substitution /g with replacement tainted: $1 value ok 190 - substitution /ge with replacement tainted: code not tainted within /e ok 191 - substitution /ge with replacement tainted: s not tainted loop 1 ok 192 - substitution /ge with replacement tainted: $1 not tainted within /e ok 193 - substitution /ge with replacement tainted: code not tainted within /e ok 194 - substitution /ge with replacement tainted: s tainted loop 2 ok 195 - substitution /ge with replacement tainted: $1 not tainted within /e ok 196 - substitution /ge with replacement tainted: code not tainted within /e ok 197 - substitution /ge with replacement tainted: s tainted loop 3 ok 198 - substitution /ge with replacement tainted: $1 not tainted within /e ok 199 - substitution /ge with replacement tainted: s tainted ok 200 - substitution /ge with replacement tainted: res tainted ok 201 - substitution /ge with replacement tainted: $1 not tainted ok 202 - substitution /ge with replacement tainted: s value ok 203 - substitution /ge with replacement tainted: res value ok 204 - substitution /ge with replacement tainted: $1 value ok 205 - substitution /r with replacement tainted: s not tainted ok 206 - substitution /r with replacement tainted: res tainted ok 207 - substitution /r with replacement tainted: $1 not tainted ok 208 - substitution /r with replacement tainted: s value ok 209 - substitution /r with replacement tainted: res value ok 210 - substitution /r with replacement tainted: $1 value ok 211 - use re 'taint': match with string tainted: s tainted ok 212 - use re 'taint': match with string tainted: res not tainted ok 213 - use re 'taint': match with string tainted: $1 tainted ok 214 - use re 'taint': match with string tainted: res value ok 215 - use re 'taint': match with string tainted: $1 value ok 216 - use re 'taint': match /g with string tainted: s tainted ok 217 - use re 'taint': match /g with string tainted: res not tainted ok 218 - use re 'taint': match /g with string tainted: $1 tainted ok 219 - use re 'taint': match /g with string tainted: res value ok 220 - use re 'taint': match /g with string tainted: $1 value ok 221 - use re 'taint': match with string tainted, list cxt: s tainted ok 222 - use re 'taint': match with string tainted, list cxt: res tainted ok 223 - use re 'taint': match with string tainted, list cxt: $1 tainted ok 224 - use re 'taint': match with string tainted, list cxt: res value ok 225 - use re 'taint': match with string tainted, list cxt: $1 value ok 226 - use re 'taint': match /g with string tainted, list cxt: s tainted ok 227 - use re 'taint': match /g with string tainted, list cxt: res tainted ok 228 - use re 'taint': match /g with string tainted, list cxt: res2 tainted ok 229 - use re 'taint': match /g with string tainted, list cxt: $1 not tainted ok 230 - use re 'taint': match /g with string tainted, list cxt: res value ok 231 - use re 'taint': match /g with string tainted, list cxt: res2 value ok 232 - use re 'taint': match /g with string tainted, list cxt: $1 value ok 233 - use re 'taint': match with pattern tainted: s not tainted ok 234 - use re 'taint': match with pattern tainted: res not tainted ok 235 - use re 'taint': match with pattern tainted: $1 tainted ok 236 - use re 'taint': match with pattern tainted: res value ok 237 - use re 'taint': match with pattern tainted: $1 value ok 238 - use re 'taint': match /g with pattern tainted: s not tainted ok 239 - use re 'taint': match /g with pattern tainted: res not tainted ok 240 - use re 'taint': match /g with pattern tainted: $1 tainted ok 241 - use re 'taint': match /g with pattern tainted: res value ok 242 - use re 'taint': match /g with pattern tainted: $1 value ok 243 - use re 'taint': match with pattern tainted via locale: s not tainted ok 244 - use re 'taint': match with pattern tainted via locale: res not tainted ok 245 - use re 'taint': match with pattern tainted via locale: $1 tainted ok 246 - use re 'taint': match with pattern tainted via locale: res value ok 247 - use re 'taint': match with pattern tainted via locale: $1 value ok 248 - use re 'taint': match /g with pattern tainted via locale: s not tainted ok 249 - use re 'taint': match /g with pattern tainted via locale: res not tainted ok 250 - use re 'taint': match /g with pattern tainted via locale: $1 tainted ok 251 - use re 'taint': match /g with pattern tainted via locale: res value ok 252 - use re 'taint': match /g with pattern tainted via locale: $1 value ok 253 - use re 'taint': match with pattern tainted, list cxt: s not tainted ok 254 - use re 'taint': match with pattern tainted, list cxt: res tainted ok 255 - use re 'taint': match with pattern tainted, list cxt: $1 tainted ok 256 - use re 'taint': match with pattern tainted, list cxt: res value ok 257 - use re 'taint': match with pattern tainted, list cxt: $1 value ok 258 - use re 'taint': match /g with pattern tainted, list cxt: s not tainted ok 259 - use re 'taint': match /g with pattern tainted, list cxt: res tainted ok 260 - use re 'taint': match /g with pattern tainted, list cxt: $1 tainted ok 261 - use re 'taint': match /g with pattern tainted, list cxt: res value ok 262 - use re 'taint': match /g with pattern tainted, list cxt: res2 value ok 263 - use re 'taint': match /g with pattern tainted, list cxt: $1 value ok 264 - use re 'taint': match with pattern tainted via locale, list cxt: s not tainted ok 265 - use re 'taint': match with pattern tainted via locale, list cxt: res tainted ok 266 - use re 'taint': match with pattern tainted via locale, list cxt: $1 tainted ok 267 - use re 'taint': match with pattern tainted via locale, list cxt: res value ok 268 - use re 'taint': match with pattern tainted via locale, list cxt: $1 value ok 269 - use re 'taint': match /g with pattern tainted via locale, list cxt: s not tainted ok 270 - use re 'taint': match /g with pattern tainted via locale, list cxt: res tainted ok 271 - use re 'taint': match /g with pattern tainted via locale, list cxt: res2 tainted ok 272 - use re 'taint': match /g with pattern tainted via locale, list cxt: $1 tainted ok 273 - use re 'taint': match /g with pattern tainted via locale, list cxt: res value ok 274 - use re 'taint': match /g with pattern tainted via locale, list cxt: res2 value ok 275 - use re 'taint': match /g with pattern tainted via locale, list cxt: $1 value ok 276 - use re 'taint': substitution with string tainted: s tainted ok 277 - use re 'taint': substitution with string tainted: res not tainted ok 278 - use re 'taint': substitution with string tainted: $1 tainted ok 279 - use re 'taint': substitution with string tainted: s value ok 280 - use re 'taint': substitution with string tainted: res value ok 281 - use re 'taint': substitution with string tainted: $1 value ok 282 - use re 'taint': substitution /g with string tainted: s tainted ok 283 - use re 'taint': substitution /g with string tainted: res tainted ok 284 - use re 'taint': substitution /g with string tainted: $1 tainted ok 285 - use re 'taint': substitution /g with string tainted: s value ok 286 - use re 'taint': substitution /g with string tainted: res value ok 287 - use re 'taint': substitution /g with string tainted: $1 value ok 288 - use re 'taint': substitution /r with string tainted: s tainted ok 289 - use re 'taint': substitution /r with string tainted: res tainted ok 290 - use re 'taint': substitution /r with string tainted: $1 tainted ok 291 - use re 'taint': substitution /r with string tainted: s value ok 292 - use re 'taint': substitution /r with string tainted: res value ok 293 - use re 'taint': substitution /r with string tainted: $1 value ok 294 - use re 'taint': substitution /e with string tainted: code not tainted within /e ok 295 - use re 'taint': substitution /e with string tainted: abcd tainted within /e ok 296 - use re 'taint': substitution /e with string tainted: s tainted ok 297 - use re 'taint': substitution /e with string tainted: res not tainted ok 298 - use re 'taint': substitution /e with string tainted: $1 tainted ok 299 - use re 'taint': substitution /e with string tainted: s value ok 300 - use re 'taint': substitution /e with string tainted: res value ok 301 - use re 'taint': substitution /e with string tainted: $1 value ok 302 - use re 'taint': substitution with pattern tainted: s tainted ok 303 - use re 'taint': substitution with pattern tainted: res not tainted ok 304 - use re 'taint': substitution with pattern tainted: $1 tainted ok 305 - use re 'taint': substitution with pattern tainted: s value ok 306 - use re 'taint': substitution with pattern tainted: res value ok 307 - use re 'taint': substitution with pattern tainted: $1 value ok 308 - use re 'taint': substitution /g with pattern tainted: s tainted ok 309 - use re 'taint': substitution /g with pattern tainted: res tainted ok 310 - use re 'taint': substitution /g with pattern tainted: $1 tainted ok 311 - use re 'taint': substitution /g with pattern tainted: s value ok 312 - use re 'taint': substitution /g with pattern tainted: res value ok 313 - use re 'taint': substitution /g with pattern tainted: $1 value ok 314 - use re 'taint': substitution /ge with pattern tainted: code not tainted within /e ok 315 - use re 'taint': substitution /ge with pattern tainted: s not tainted loop 1 ok 316 - use re 'taint': substitution /ge with pattern tainted: $1 tainted loop 1 ok 317 - use re 'taint': substitution /ge with pattern tainted: code not tainted within /e ok 318 - use re 'taint': substitution /ge with pattern tainted: s tainted loop 2 ok 319 - use re 'taint': substitution /ge with pattern tainted: $1 tainted loop 2 ok 320 - use re 'taint': substitution /ge with pattern tainted: code not tainted within /e ok 321 - use re 'taint': substitution /ge with pattern tainted: s tainted loop 3 ok 322 - use re 'taint': substitution /ge with pattern tainted: $1 tainted loop 3 ok 323 - use re 'taint': substitution /ge with pattern tainted: s tainted ok 324 - use re 'taint': substitution /ge with pattern tainted: res tainted ok 325 - use re 'taint': substitution /ge with pattern tainted: $1 tainted ok 326 - use re 'taint': substitution /ge with pattern tainted: s value ok 327 - use re 'taint': substitution /ge with pattern tainted: res value ok 328 - use re 'taint': substitution /ge with pattern tainted: $1 value ok 329 - use re 'taint': substitution /r with pattern tainted: s not tainted ok 330 - use re 'taint': substitution /r with pattern tainted: res tainted ok 331 - use re 'taint': substitution /r with pattern tainted: $1 tainted ok 332 - use re 'taint': substitution /r with pattern tainted: s value ok 333 - use re 'taint': substitution /r with pattern tainted: res value ok 334 - use re 'taint': substitution /r with pattern tainted: $1 value ok 335 - use re 'taint': substitution with pattern tainted via locale: s tainted ok 336 - use re 'taint': substitution with pattern tainted via locale: res not tainted ok 337 - use re 'taint': substitution with pattern tainted via locale: $1 tainted ok 338 - use re 'taint': substitution with pattern tainted via locale: s value ok 339 - use re 'taint': substitution with pattern tainted via locale: res value ok 340 - use re 'taint': substitution with pattern tainted via locale: $1 value ok 341 - use re 'taint': substitution /g with pattern tainted via locale: s tainted ok 342 - use re 'taint': substitution /g with pattern tainted via locale: res tainted ok 343 - use re 'taint': substitution /g with pattern tainted via locale: $1 tainted ok 344 - use re 'taint': substitution /g with pattern tainted via locale: s value ok 345 - use re 'taint': substitution /g with pattern tainted via locale: res value ok 346 - use re 'taint': substitution /g with pattern tainted via locale: $1 value ok 347 - use re 'taint': substitution /r with pattern tainted via locale: s not tainted ok 348 - use re 'taint': substitution /r with pattern tainted via locale: res tainted ok 349 - use re 'taint': substitution /r with pattern tainted via locale: $1 tainted ok 350 - use re 'taint': substitution /r with pattern tainted via locale: s value ok 351 - use re 'taint': substitution /r with pattern tainted via locale: res value ok 352 - use re 'taint': substitution /r with pattern tainted via locale: $1 value ok 353 - use re 'taint': substitution with replacement tainted: s tainted ok 354 - use re 'taint': substitution with replacement tainted: res not tainted ok 355 - use re 'taint': substitution with replacement tainted: $1 not tainted ok 356 - use re 'taint': substitution with replacement tainted: s value ok 357 - use re 'taint': substitution with replacement tainted: res value ok 358 - use re 'taint': substitution with replacement tainted: $1 value ok 359 - use re 'taint': substitution /g with replacement tainted: s tainted ok 360 - use re 'taint': substitution /g with replacement tainted: res not tainted ok 361 - use re 'taint': substitution /g with replacement tainted: $1 not tainted ok 362 - use re 'taint': substitution /g with replacement tainted: s value ok 363 - use re 'taint': substitution /g with replacement tainted: res value ok 364 - use re 'taint': substitution /g with replacement tainted: $1 value ok 365 - use re 'taint': substitution /ge with replacement tainted: code not tainted within /e ok 366 - use re 'taint': substitution /ge with replacement tainted: s not tainted loop 1 ok 367 - use re 'taint': substitution /ge with replacement tainted: $1 not tainted ok 368 - use re 'taint': substitution /ge with replacement tainted: code not tainted within /e ok 369 - use re 'taint': substitution /ge with replacement tainted: s tainted loop 2 ok 370 - use re 'taint': substitution /ge with replacement tainted: $1 not tainted ok 371 - use re 'taint': substitution /ge with replacement tainted: code not tainted within /e ok 372 - use re 'taint': substitution /ge with replacement tainted: s tainted loop 3 ok 373 - use re 'taint': substitution /ge with replacement tainted: $1 not tainted ok 374 - use re 'taint': substitution /ge with replacement tainted: s tainted ok 375 - use re 'taint': substitution /ge with replacement tainted: res tainted ok 376 - use re 'taint': substitution /ge with replacement tainted: $1 not tainted ok 377 - use re 'taint': substitution /ge with replacement tainted: s value ok 378 - use re 'taint': substitution /ge with replacement tainted: res value ok 379 - use re 'taint': substitution /ge with replacement tainted: $1 value ok 380 - use re 'taint': substitution /r with replacement tainted: s not tainted ok 381 - use re 'taint': substitution /r with replacement tainted: res tainted ok 382 - use re 'taint': substitution /r with replacement tainted: $1 not tainted ok 383 - use re 'taint': substitution /r with replacement tainted: s value ok 384 - use re 'taint': substitution /r with replacement tainted: res value ok 385 - use re 'taint': substitution /r with replacement tainted: $1 value ok 386 ok 387 ok 388 ok 389 ok 390 ok 391 - Exited with status 0 ok 392 ok 393 ok 394 ok 395 ok 396 ok 397 ok 398 ok 399 ok 400 ok 401 ok 402 ok 403 ok 404 ok 405 ok 406 ok 407 ok 408 ok 409 ok 410 ok 411 - chmod ok 412 ok 413 - truncate ok 414 ok 415 - rename ok 416 ok 417 - unlink ok 418 ok 419 - utime ok 420 ok 421 - chown ok 422 ok 423 - link ok 424 ok 425 - symlink ok 426 ok 427 - mkdir ok 428 ok 429 - rmdir ok 430 ok 431 - chdir ok 432 ok 433 - chroot ok 434 ok 435 - require ok 436 ok 437 - open for read ok 438 ok 439 - open for read ok 440 ok 441 ok 442 - open for write ok 443 ok 444 - open for write ok 445 ok 446 - popen to ok 447 ok 448 - popen from ok 449 ok 450 - popen to ok 451 ok 452 - popen from ok 453 ok 454 - exec ok 455 ok 456 - system ok 457 ok 458 - backticks ok 459 ok 460 # skip This is not VMS ok 461 # skip This is not VMS ok 462 - kill ok 463 ok 464 - setpgrp ok 465 ok 466 - setpriority ok 467 ok 468 - syscall ok 469 ok 470 ok 471 - ioctl ok 472 ok 473 ok 474 - ioctl ok 475 ok 476 - fcntl ok 477 ok 478 - fcntl ok 479 ok 480 ok 481 ok 482 ok 483 ok 484 ok 485 ok 486 ok 487 ok 488 ok 489 ok 490 ok 491 ok 492 ok 493 ok 494 ok 495 ok 496 ok 497 ok 498 ok 499 ok 500 ok 501 ok 502 ok 503 ok 504 ok 505 ok 506 ok 507 ok 508 ok 509 ok 510 ok 511 ok 512 ok 513 ok 514 ok 515 ok 516 ok 517 ok 518 ok 519 ok 520 ok 521 ok 522 ok 523 ok 524 ok 525 ok 526 ok 527 ok 528 - ge?cos ok 529 ok 530 - shell ok 531 ok 532 ok 533 ok 534 ok 535 ok 536 ok 537 ok 538 ok 539 ok 540 ok 541 ok 542 ok 543 ok 544 ok 545 ok 546 ok 547 ok 548 ok 549 ok 550 ok 551 ok 552 ok 553 - sysopen ok 554 ok 555 - sysopen ok 556 ok 557 - sysopen ok 558 ok 559 - sysopen ok 560 ok 561 - sysopen ok 562 ok 563 ok 564 ok 565 - sysopen ok 566 ok 567 - sysopen ok 568 ok 569 - sysopen ok 570 ok 571 - sysopen ok 572 ok 573 - sysopen ok 574 ok 575 ok 576 ok 577 - sysopen ok 578 ok 579 - sysopen ok 580 ok 581 - sysopen ok 582 ok 583 - sysopen ok 584 ok 585 - sysopen ok 586 ok 587 ok 588 ok 589 ok 590 - $^TAINT is on ok 591 - $^TAINT is not assignable ok 592 - Assigning to ${^TAINT} fails ok 593 ok 594 ok 595 ok 596 ok 597 - exec ok 598 ok 599 - exec ok 600 ok 601 - exec ok 602 ok 603 - exec ok 604 ok 605 - exec ok 606 ok 607 - system ok 608 ok 609 - system ok 610 ok 611 - system ok 612 ok 613 - system ok 614 ok 615 - system ok 616 ok 617 ok 618 ok 619 ok 620 ok 621 ok 622 ok 623 ok 624 ok 625 ok 626 ok 627 ok 628 ok 629 ok 630 ok 631 ok 632 ok 633 ok 634 ok 635 ok 636 ok 637 ok 638 ok 639 ok 640 ok 641 ok 642 ok 643 ok 644 ok 645 ok 646 ok 647 ok 648 ok 649 ok 650 ok 651 ok 652 ok 653 ok 654 ok 655 ok 656 ok 657 ok 658 ok 659 ok 660 - infinite m//g on arrays (aelemfast) ok 661 - infinite m//g on arrays (aelem) ok 662 - infinite m//g on hashes (helem) ok 663 - Arithmetic on tainted dualvars works ok 664 - fork triggers %ENV check ok 665 - pipe/fork/open/close failed ok 666 - popen neglects %ENV check ok 667 - $AUTOLOAD can be untainted ok 668 - $AUTOLOAD can be untainted ok 669 - $AUTOLOAD can be tainted ok 670 - $AUTOLOAD can be tainted ok 671 - $AUTOLOAD can be untainted ok 672 - $AUTOLOAD can be untainted ok 673 - printf doesn't like tainted formats ok 674 ok 675 - printf doesn't like tainted format expressions ok 676 # foo ok 677 - printf accepts other tainted args ok 678 - sprintf doesn't like tainted formats ok 679 ok 680 - sprintf doesn't like tainted format expressions ok 681 ok 682 - sprintf accepts other tainted args ok 683 - Assignment to untainted variable ok 684 - Assignment to tainted variable ok 685 - eval doesn't like tainted strings ok 686 ok 687 ok 688 ok 689 - \S match with chr 78 ok 690 ok 691 - \S match with chr 163 ok 692 ok 693 - \S match with chr 256 not ok 694 - tainted crypt ok 695 - untainted crypt ok 696 - tainted complement ok 697 - untainted complement ok 698 - tainted data ok 699 - tainted result 0 ok 700 - correct content 0 ok 701 - tainted result 1 ok 702 - correct content 1 ok 703 - tainted result 2 ok 704 - correct content 2 ok 705 - tainted result 3 ok 706 - correct content 3 ok 707 - still tainted data ok 708 - tainted result 0 ok 709 - correct content 0 ok 710 - tainted result 1 ok 711 - correct content 1 ok 712 - tainted result 2 ok 713 - correct content 2 ok 714 - tainted result 3 ok 715 - correct content 3 ok 716 - still tainted data ok 717 - tainted result 0 ok 718 - correct content 0 ok 719 - tainted result 1 ok 720 - correct content 1 ok 721 - tainted result 2 ok 722 - correct content 2 ok 723 - tainted result 3 ok 724 - correct content 3 ok 725 - pack a* preserves tainting ok 726 - pack A* preserves tainting ok 727 - pack a*a* preserves tainting ok 728 - tainted $! ok 729 - tied arg1 tainted ok 730 - tied arg2 tainted ok 731 - tied arg1 tainted ok 732 - tied arg2 tainted ok 733 - tied STORE called correct number of times ok 734 - sprintf '%s', '', '0' ok 735 - sprintf ' %s', '', '0' ok 736 - sprintf '%s%s', '', '0' ok 737 - sprintf '%s', '', '456' ok 738 - sprintf ' %s', '', '456' ok 739 - sprintf '%s%s', '', '456' ok 740 - sprintf '%s', '123', '0' ok 741 - sprintf ' %s', '123', '0' ok 742 - sprintf '%s%s', '123', '0' ok 743 - sprintf '%s', '123', '456' ok 744 - sprintf ' %s', '123', '456' ok 745 - sprintf '%s%s', '123', '456' ok 746 - $1 should be tainted ok 747 - $untainted should be untainted ok 748 - $untainted should still be untainted ok 749 - $untainted should yet still be untainted ok 750 - formline survives a tainted dynamic picture ok 751 - format accumulator not tainted yet ok 752 - tainted formline argument makes a tainted accumulator ok 753 - accumulator can be explicitly untainted ok 754 - accumulator still untainted ok 755 - accumulator can be explicitly tainted ok 756 - accumulator still tainted ok 757 - accumulator untainted again ok 758 - accumulator still untainted not ok 759 - the accumulator should be tainted already # TODO get magic handled too late? # Failed test 759 - the accumulator should be tainted already at ./op/taint.t line 2047 ok 760 - tainted formline picture makes a tainted accumulator ok 761 - regex optimization of single char /[]/i doesn't taint ok 762 - regex optimization of single char /[]/i doesn't taint ok 763 - RT 81230 ok 764 - Constants folded value not tainted ok 765 - match bare regex ok 766 - match bare regex taint ok 767 - match bare regex taint value ok 768 - user-defined property: non-tainted case ok 769 - user-defined property: tainted case ok 770 - lc(tainted) taints its return value ok 771 - lcfirst(tainted) taints its return value ok 772 - uc(tainted) taints its return value ok 773 - ucfirst(tainted) taints its return value ok 774 - tainted value returned from when is correct ok 775 - tainted value returned from when stays tainted ok 776 - tainted value returned from given end is correct ok 777 - tainted value returned from given end stays tainted ok 778 - tainted value returned from default is correct ok 779 - tainted value returned from default stays tainted ok 780 - initial taintedness ok 781 - constant is tainted properly ok 782 - tainting not broken yet ok 783 - tainting still works after index() of the constant ok 784 - $tainted ~~ ["whatever", "match"] ok 785 - $tainted ~~ ["whatever", undef] ok 786 - no death when TARG of ref is tainted ok 787 - PID not tainted initially ok 788 - PID not tainted when read in tainted expression ok 789 - under locale, lc(latin1) taints the result ok 790 - under locale, lc(utf8) taints the result ok 791 - under locale, \Flatin1 taints the result ok 792 - under locale, \Futf8 taints the result ok 793 - error should be propagated ok 794 - Match on tainted multiline data should fail promptly Failed 1/794 subtests (less 6 skipped subtests: 787 okay) Test Summary Report ------------------- ./op/taint.t (Wstat: 0 Tests: 794 Failed: 1) Failed test: 694 Files=1, Tests=794, 0 wallclock secs ( 0.06 usr 0.00 sys + 0.05 cusr 0.01 csys = 0.12 CPU) Result: FAIL Version-Release number of selected component (if applicable): perl-5.16.3-283.el7 How reproducible: 100% in FIPS mode Steps to Reproduce: 1. Enable FIPS mode. 2. Execute the upstream test. Actual results: Some tests failed. Expected results: all tests passed. Additional info: This is happening in FIPS mode only and hence it is probably related to using some forbidden cryptographic functionality. --- Additional comment from Petr Pisar on 2014-04-07 08:53:18 GMT --- That's because the DES algorithm which is a default one is disabled in FIPS mode. And the test: SKIP: { skip ("VOS crypt ignores salt.", 1) if ($^O eq 'vos'); ok(substr(crypt("ab", "cd"), 2) ne substr(crypt("ab", "ce"), 2), "salt makes a difference"); } Just calls for the default one---DES. Unfortunately, there is no standardized way of recognizing FIPS mode. We can add a quirk specific pro glibc on Linux (the proc file system) or just skip the test on undef return value or to change the salt values to something sensible for today's glibc. --- Additional comment from Petr Pisar on 2014-04-07 10:52:51 GMT --- Submitted to upstream <https://rt.perl.org/Ticket/Display.html?id=121591> ---- Fedora (perl-5.18.2-302.fc22) is affected. -- You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=BnTF724MyQ&a=cc_unsubscribe -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel