Closed Bug 821855 Opened 11 years ago Closed 11 years ago

SRTP fails to initialize on Android when crypto_kernel_init ciphers fail their self tests at load time

Categories

(Core :: WebRTC: Networking, defect)

ARM
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: dmosedale, Assigned: dmosedale)

References

(Depends on 1 open bug)

Details

(Whiteboard: [qa-])

Attachments

(1 file, 2 obsolete files)

Seen when running the signalling unit tests.  Investigation underway.
At first, 

 status = crypto_kernel_load_cipher_type(&aes_icm, AES_ICM);

was failing out of its initialization tests with a status of err_status_algo_fail.

So I tried commenting out AES_ICM, in the hopes that it was just something wonky with that algorithm.  Now it simply fails in the same way trying to load the very next cipher, AES_CBC.  Hmmm...
Summary: SRTP fails to initialize when crypto_kernel_init fails to load AES_ICM cipher → SRTP fails to initialize when crypto_kernel_init ciphers fail their self tests at load time
OS: Mac OS X → Android
Hardware: x86 → ARM
Summary: SRTP fails to initialize when crypto_kernel_init ciphers fail their self tests at load time → SRTP fails to initialize on Android when crypto_kernel_init ciphers fail their self tests at load time
ekr has a hypothesis that inverted endianness may be the problem here, and also points out the WORDS_BIGENDIAN define in aes.c.  Shouldn't be too hard to test this hypothesis.

An interesting wrinkle is that ARM is said to be "bi-endian".
It turned out while we were compiling without WORDS_BIGENDIAN defined, a test compile with WORDS_BIGENDIAN defined produced no change in behavior.  :-(

Next thing to try:

* get debug logging turned and see if that sheds any light

Failing that, maybe even:

* hook up the crypto unit tests
Got logging working.  The null cipher passes all of its tests, suggesting that the test suite itself is likely functioning correctly.  Then AES_ICM fails on the very first one:

out> cipher: running self-test for cipher null cipher
out> cipher: allocating cipher with key length 0
out> cipher: testing encryption
out> cipher: initializing null cipher
out> cipher: plaintext:    
out> cipher: ciphertext:   
out> cipher: testing decryption
out> cipher: initializing null cipher
out> cipher: ciphertext:    
out> cipher: plaintext:   
out> cipher: allocating cipher with key length 0
out> cipher: random plaintext length 3
out> 
out> cipher: plaintext:    51ccef
out> cipher: initializing null cipher
out> cipher: ciphertext:   51ccef
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 51ccef
out> cipher: random plaintext length 33
out> 
out> cipher: plaintext:    dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: initializing null cipher
out> cipher: ciphertext:   dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: initializing null cipher
out> cipher: plaintext[2]: dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: random plaintext length 23
out> 
out> cipher: plaintext:    d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: initializing null cipher
out> cipher: ciphertext:   d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    88ad98aecf90b6
out> cipher: initializing null cipher
out> cipher: ciphertext:   88ad98aecf90b6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 88ad98aecf90b6
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: initializing null cipher
out> cipher: ciphertext:   3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: random plaintext length 31
out> 
out> cipher: plaintext:    a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: initializing null cipher
out> cipher: ciphertext:   a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    10b210a4d6f1535082fdb9ecea
out> cipher: initializing null cipher
out> cipher: ciphertext:   10b210a4d6f1535082fdb9ecea
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 10b210a4d6f1535082fdb9ecea
out> cipher: random plaintext length 4
out> 
out> cipher: plaintext:    7c069e21
out> cipher: initializing null cipher
out> cipher: ciphertext:   7c069e21
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7c069e21
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: initializing null cipher
out> cipher: ciphertext:   ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: initializing null cipher
out> cipher: ciphertext:   6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: random plaintext length 29
out> 
out> cipher: plaintext:    f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: initializing null cipher
out> cipher: ciphertext:   f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: initializing null cipher
out> cipher: ciphertext:   b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: initializing null cipher
out> cipher: ciphertext:   b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: initializing null cipher
out> cipher: ciphertext:   c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    ad
out> cipher: initializing null cipher
out> cipher: ciphertext:   ad
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ad
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: initializing null cipher
out> cipher: ciphertext:   a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: random plaintext length 4
out> 
out> cipher: plaintext:    d721d40f
out> cipher: initializing null cipher
out> cipher: ciphertext:   d721d40f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d721d40f
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    af2760f8e8ce92
out> cipher: initializing null cipher
out> cipher: ciphertext:   af2760f8e8ce92
out> cipher: initializing null cipher
out> cipher: plaintext[2]: af2760f8e8ce92
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: initializing null cipher
out> cipher: ciphertext:   b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    7b9b1cd994c8f48a5bacdd2c3a
out> cipher: initializing null cipher
out> cipher: ciphertext:   7b9b1cd994c8f48a5bacdd2c3a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7b9b1cd994c8f48a5bacdd2c3a
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: initializing null cipher
out> cipher: ciphertext:   9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    a19e38d680d291eb59fa7773252095d9
out> cipher: initializing null cipher
out> cipher: ciphertext:   a19e38d680d291eb59fa7773252095d9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a19e38d680d291eb59fa7773252095d9
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: initializing null cipher
out> cipher: ciphertext:   d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: random plaintext length 17
out> 
out> cipher: plaintext:    24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: initializing null cipher
out> cipher: ciphertext:   24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: random plaintext length 38
out> 
out> cipher: plaintext:    96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: initializing null cipher
out> cipher: ciphertext:   96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: random plaintext length 12
out> 
out> cipher: plaintext:    6c783c74d71de0607c8d312d
out> cipher: initializing null cipher
out> cipher: ciphertext:   6c783c74d71de0607c8d312d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6c783c74d71de0607c8d312d
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: initializing null cipher
out> cipher: ciphertext:   4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: initializing null cipher
out> cipher: ciphertext:   1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: random plaintext length 24
out> 
out> cipher: plaintext:    324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: initializing null cipher
out> cipher: ciphertext:   324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: initializing null cipher
out> cipher: ciphertext:   e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: initializing null cipher
out> cipher: ciphertext:   8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: random plaintext length 29
out> 
out> cipher: plaintext:    1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: initializing null cipher
out> cipher: ciphertext:   1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    7a
out> cipher: initializing null cipher
out> cipher: ciphertext:   7a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7a
out> cipher: random plaintext length 20
out> 
out> cipher: plaintext:    1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: initializing null cipher
out> cipher: ciphertext:   1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: random plaintext length 19
out> 
out> cipher: plaintext:    cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: initializing null cipher
out> cipher: ciphertext:   cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: random plaintext length 33
out> 
out> cipher: plaintext:    3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: initializing null cipher
out> cipher: ciphertext:   3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: random plaintext length 26
out> 
out> cipher: plaintext:    e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: initializing null cipher
out> cipher: ciphertext:   e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: random plaintext length 36
out> 
out> cipher: plaintext:    2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: initializing null cipher
out> cipher: ciphertext:   2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: initializing null cipher
out> cipher: ciphertext:   cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: initializing null cipher
out> cipher: ciphertext:   dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: initializing null cipher
out> cipher: plaintext[2]: dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: initializing null cipher
out> cipher: ciphertext:   cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: random plaintext length 15
out> 
out> cipher: plaintext:    f07218744a664c5a67818918de9cdc
out> cipher: initializing null cipher
out> cipher: ciphertext:   f07218744a664c5a67818918de9cdc
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f07218744a664c5a67818918de9cdc
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    73a6f593b6
out> cipher: initializing null cipher
out> cipher: ciphertext:   73a6f593b6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 73a6f593b6
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: initializing null cipher
out> cipher: ciphertext:   77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    07679490e8190bf9a4
out> cipher: initializing null cipher
out> cipher: ciphertext:   07679490e8190bf9a4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 07679490e8190bf9a4
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: initializing null cipher
out> cipher: ciphertext:   d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: initializing null cipher
out> cipher: ciphertext:   a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: initializing null cipher
out> cipher: ciphertext:   4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: initializing null cipher
out> cipher: ciphertext:   8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: random plaintext length 39
out> 
out> cipher: plaintext:    6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: initializing null cipher
out> cipher: ciphertext:   6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: random plaintext length 0
out> 
out> cipher: plaintext:    
out> cipher: initializing null cipher
out> cipher: ciphertext:   
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: initializing null cipher
out> cipher: ciphertext:   8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: random plaintext length 32
out> 
out> cipher: plaintext:    1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: initializing null cipher
out> cipher: ciphertext:   1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: random plaintext length 8
out> 
out> cipher: plaintext:    3e3554d9f401fcc1
out> cipher: initializing null cipher
out> cipher: ciphertext:   3e3554d9f401fcc1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3e3554d9f401fcc1
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: initializing null cipher
out> cipher: ciphertext:   a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: initializing null cipher
out> cipher: ciphertext:   5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: random plaintext length 52
out> 
out> cipher: plaintext:    e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: initializing null cipher
out> cipher: ciphertext:   e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: initializing null cipher
out> cipher: ciphertext:   e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: initializing null cipher
out> cipher: ciphertext:   73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: initializing null cipher
out> cipher: ciphertext:   b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: random plaintext length 14
out> 
out> cipher: plaintext:    4278c2eaa755184ea5cf7ca153e3
out> cipher: initializing null cipher
out> cipher: ciphertext:   4278c2eaa755184ea5cf7ca153e3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4278c2eaa755184ea5cf7ca153e3
out> cipher: random plaintext length 53
out> 
out> cipher: plaintext:    a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: initializing null cipher
out> cipher: ciphertext:   a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: initializing null cipher
out> cipher: ciphertext:   581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    360f6e4c623558c8b30e84fb51
out> cipher: initializing null cipher
out> cipher: ciphertext:   360f6e4c623558c8b30e84fb51
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 360f6e4c623558c8b30e84fb51
out> cipher: random plaintext length 45
out> 
out> cipher: plaintext:    bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: initializing null cipher
out> cipher: ciphertext:   bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: initializing null cipher
out> cipher: plaintext[2]: bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: random plaintext length 51
out> 
out> cipher: plaintext:    2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: initializing null cipher
out> cipher: ciphertext:   828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: random plaintext length 26
out> 
out> cipher: plaintext:    365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: initializing null cipher
out> cipher: ciphertext:   365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: initializing null cipher
out> cipher: ciphertext:   2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: random plaintext length 21
out> 
out> cipher: plaintext:    c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: initializing null cipher
out> cipher: ciphertext:   c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    1d6f1a078855c04b55874bf01587a668
out> cipher: initializing null cipher
out> cipher: ciphertext:   1d6f1a078855c04b55874bf01587a668
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1d6f1a078855c04b55874bf01587a668
out> cipher: random plaintext length 45
out> 
out> cipher: plaintext:    71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: initializing null cipher
out> cipher: ciphertext:   71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: random plaintext length 19
out> 
out> cipher: plaintext:    d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: initializing null cipher
out> cipher: ciphertext:   d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: initializing null cipher
out> cipher: ciphertext:   4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: initializing null cipher
out> cipher: ciphertext:   72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    c45da00b085d0af70c081e19cff6ff18
out> cipher: initializing null cipher
out> cipher: ciphertext:   c45da00b085d0af70c081e19cff6ff18
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c45da00b085d0af70c081e19cff6ff18
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: initializing null cipher
out> cipher: ciphertext:   fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: initializing null cipher
out> cipher: ciphertext:   97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: initializing null cipher
out> cipher: ciphertext:   daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    863ea50d3a7f
out> cipher: initializing null cipher
out> cipher: ciphertext:   863ea50d3a7f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 863ea50d3a7f
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: initializing null cipher
out> cipher: ciphertext:   3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: initializing null cipher
out> cipher: ciphertext:   ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: random plaintext length 42
out> 
out> cipher: plaintext:    8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: initializing null cipher
out> cipher: ciphertext:   8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    f4a8f115d15416a1ce
out> cipher: initializing null cipher
out> cipher: ciphertext:   f4a8f115d15416a1ce
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f4a8f115d15416a1ce
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: initializing null cipher
out> cipher: ciphertext:   b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    b8a6f755fb
out> cipher: initializing null cipher
out> cipher: ciphertext:   b8a6f755fb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b8a6f755fb
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: initializing null cipher
out> cipher: ciphertext:   9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: initializing null cipher
out> cipher: ciphertext:   4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    e1c44edfb8a6
out> cipher: initializing null cipher
out> cipher: ciphertext:   e1c44edfb8a6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e1c44edfb8a6
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    c1e79b13a1eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   c1e79b13a1eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c1e79b13a1eb
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: initializing null cipher
out> cipher: ciphertext:   ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: initializing null cipher
out> cipher: ciphertext:   2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    18cdd24af55b
out> cipher: initializing null cipher
out> cipher: ciphertext:   18cdd24af55b
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 18cdd24af55b
out> cipher: random plaintext length 58
out> 
out> cipher: plaintext:    e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: initializing null cipher
out> cipher: ciphertext:   e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: initializing null cipher
out> cipher: ciphertext:   455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    12c018cc57c5
out> cipher: initializing null cipher
out> cipher: ciphertext:   12c018cc57c5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 12c018cc57c5
out> cipher: random plaintext length 14
out> 
out> cipher: plaintext:    2559acf2baca91c8bbef594bef52
out> cipher: initializing null cipher
out> cipher: ciphertext:   2559acf2baca91c8bbef594bef52
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2559acf2baca91c8bbef594bef52
out> cipher: random plaintext length 18
out> 
out> cipher: plaintext:    47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: initializing null cipher
out> cipher: ciphertext:   47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: initializing null cipher
out> cipher: ciphertext:   46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: random plaintext length 22
out> 
out> cipher: plaintext:    f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: initializing null cipher
out> cipher: ciphertext:   f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: random plaintext length 52
out> 
out> cipher: plaintext:    a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: initializing null cipher
out> cipher: ciphertext:   a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: random plaintext length 22
out> 
out> cipher: plaintext:    371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: initializing null cipher
out> cipher: ciphertext:   82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: initializing null cipher
out> cipher: ciphertext:   c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: random plaintext length 55
out> 
out> cipher: plaintext:    7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: initializing null cipher
out> cipher: ciphertext:   7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: initializing null cipher
out> cipher: ciphertext:   03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: initializing null cipher
out> cipher: ciphertext:   cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    b65ea441c2e2c040c3b224f6b36931e2
out> cipher: initializing null cipher
out> cipher: ciphertext:   b65ea441c2e2c040c3b224f6b36931e2
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b65ea441c2e2c040c3b224f6b36931e2
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: initializing null cipher
out> cipher: ciphertext:   a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: initializing null cipher
out> cipher: ciphertext:   8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: initializing null cipher
out> cipher: ciphertext:   9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: initializing null cipher
out> cipher: ciphertext:   397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: initializing null cipher
out> cipher: ciphertext:   9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: initializing null cipher
out> cipher: ciphertext:   d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: initializing null cipher
out> cipher: ciphertext:   074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    9f540662060860d997aa492aaf
out> cipher: initializing null cipher
out> cipher: ciphertext:   9f540662060860d997aa492aaf
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9f540662060860d997aa492aaf
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    073375c147e546
out> cipher: initializing null cipher
out> cipher: ciphertext:   073375c147e546
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 073375c147e546
out> cipher: random plaintext length 55
out> 
out> cipher: plaintext:    0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: initializing null cipher
out> cipher: ciphertext:   0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    db12a512e9
out> cipher: initializing null cipher
out> cipher: ciphertext:   db12a512e9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: db12a512e9
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: initializing null cipher
out> cipher: ciphertext:   c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: initializing null cipher
out> cipher: ciphertext:   09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: initializing null cipher
out> cipher: ciphertext:   0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: initializing null cipher
out> cipher: ciphertext:   06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: random plaintext length 8
out> 
out> cipher: plaintext:    ca22ed9c3f34be1a
out> cipher: initializing null cipher
out> cipher: ciphertext:   ca22ed9c3f34be1a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ca22ed9c3f34be1a
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: initializing null cipher
out> cipher: ciphertext:   ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    ac55468bbf39308170
out> cipher: initializing null cipher
out> cipher: ciphertext:   ac55468bbf39308170
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ac55468bbf39308170
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: initializing null cipher
out> cipher: ciphertext:   59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    59
out> cipher: initializing null cipher
out> cipher: ciphertext:   59
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 59
out> cipher: running self-test for cipher aes integer counter mode
out> cipher: testing encryption
out> cipher: plaintext:    0000000000000000000000000000000000000000000000000000000000000000
out> cipher: ciphertext:   db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e
out> cipher: test case 0 failed
out> cipher: (failure at byte 0)
[New Thread 26562]
out> cipher: c computed: db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e0c000000d0dafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d00
out> cipher: c expected: 92bdd28a93c3f52511c677d08b5515a49da71b2378a854f67050756ded165bac2e0000007024a60078e8b1002000000088e8b10020000000a024a6005024a600
Turning on the aes_icm-specific logging gets us slightly more detailed logs:

out> cipher: running self-test for cipher aes integer counter mode
out> aes icm: allocating cipher with key length 46
out> cipher: testing encryption
out> aes icm: key:  57f82fe3613fd170a85ec93c40b1f0922ec4cb0dc025b58272147cc438944a98
out> aes icm: offset: f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> cipher: plaintext:    0000000000000000000000000000000000000000000000000000000000000000
out> aes icm: setting iv: 00000000000000000000000000000000
out> aes icm: set_counter: f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> aes icm: block index: 0
out> aes icm: counter:    f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> aes icm: ciphertext: db747ba71c58b6446ee6d69f32275ea7
out> aes icm: counter:    f0f1f2f3f4f5f6f7f8f9fafbfcfd0001
out> aes icm: ciphertext: bd1f357413ce7ff985a57797533d5c0e
out> cipher: ciphertext:   db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e
out> cipher: test case 0 failed
out> cipher: (failure at byte 0)
out> cipher: c computed: db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e0c000000306f8bcd80fe11844e0cd8eb9e862e1f5976157655eb936ecbd4c200
out> cipher: c expected: 92bdd28a93c3f52511c677d08b5515a49da71b2378a854f67050756ded165bac2e0000007024a60078e8b1002000000088e8b10020000000a024a6005024a600
Our Makefile.in (quite reasonably, I think!) define CPU_RISC on ARM chips.  Unfortunately, the bug would seem to be in the CPU_RISC guarded-code, because setting CPU_CISC instead makes the self-tests pass.

In the interests of avoiding premature optimization, I propose to set CPU_CISC for now, and file a performance bug for later to find and fix the CPU_RISC problem and flip the define to what it should actually be.
Attachment #692660 - Attachment is obsolete: true
Attachment #692670 - Flags: review?(rjesup)
(In reply to Dan Mosedale (:dmose) from comment #2)
> An interesting wrinkle is that ARM is said to be "bi-endian".

While technically this is configurable, I don't think we run on any big-endian ARM devices. If we did, we would already fail at compile time: <http://mxr.mozilla.org/mozilla-central/source/media/libtheora/lib/arm/armint.h#23>.
Comment on attachment 692670 [details] [diff] [review]
switch ARM builds to use CPU_CISC, since that code works

Review of attachment 692670 [details] [diff] [review]:
-----------------------------------------------------------------

Please open a bug to fix the problem (or get it fixed on upstream and import the fix), and included that bug # in the comment block
Attachment #692670 - Flags: review?(rjesup) → review+
Depends on: 822380
Bug 822380 filed; here's an updated patch with a comment block linking to that back.  Carrying forward r=jesup.
Attachment #692670 - Attachment is obsolete: true
Attachment #693028 - Flags: review+
Set in-testsuite?

While this was sort of caught but the signaling and crypto run-time self tests, and bunch of debugging was required to figure out what was going on.  That said, the test-suite that comes with the SRTP crypto code will presumably pinpoint any regression here relatively clearly, once that suite gets hooked up to our automation.
Flags: in-testsuite?
https://hg.mozilla.org/mozilla-central/rev/9c21138d9e9a
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.