Compare commits
720 commits
fi_write_u
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
acdc9374d2 | ||
![]() |
8c88150ca1 | ||
![]() |
6bd2de5c86 | ||
![]() |
cb2784cbd8 | ||
![]() |
5b8f4db757 | ||
![]() |
23e5f715f1 | ||
![]() |
e2c417d324 | ||
![]() |
377f4eda27 | ||
![]() |
531aede488 | ||
![]() |
87e7b95767 | ||
![]() |
91edd1e701 | ||
![]() |
21dab7aee6 | ||
![]() |
bab7ef4f0d | ||
![]() |
1724bd2a4f | ||
![]() |
52d0b48f04 | ||
![]() |
270626ee70 | ||
![]() |
5a1d0fc55f | ||
![]() |
8d2b7aaede | ||
![]() |
08d6737368 | ||
![]() |
0ec5979461 | ||
![]() |
217565ef4e | ||
![]() |
46bef5f929 | ||
![]() |
c24a1e86da | ||
![]() |
6527cd382b | ||
![]() |
3e7b61c42b | ||
![]() |
cd7d074ff9 | ||
![]() |
2c8cfcf59f | ||
![]() |
c3ccae7faf | ||
![]() |
984fd07c53 | ||
![]() |
228b98f24f | ||
![]() |
384a0880c4 | ||
![]() |
aa9dfbfdf4 | ||
![]() |
05371be430 | ||
![]() |
b72f0ed48a | ||
![]() |
f70a3144a0 | ||
![]() |
cb25374b2c | ||
![]() |
22092e483e | ||
![]() |
4a5ed0231d | ||
![]() |
09d33092cb | ||
![]() |
d80763761f | ||
![]() |
a7e586bc2f | ||
![]() |
c5714bb4ea | ||
![]() |
b7bb068b84 | ||
![]() |
5bf15b6d63 | ||
![]() |
d61fa61bef | ||
![]() |
7bee63a310 | ||
![]() |
c776582dc3 | ||
![]() |
18a8698e76 | ||
![]() |
2ed6fe0b30 | ||
![]() |
c785394ba6 | ||
![]() |
cd65b62f21 | ||
![]() |
0c0f9adab1 | ||
![]() |
c22d0b9d5b | ||
![]() |
4823624542 | ||
![]() |
490c5d4628 | ||
![]() |
6f69d4c7e2 | ||
![]() |
4c71707987 | ||
![]() |
7dac825a3c | ||
![]() |
e8ee0f1a94 | ||
![]() |
6a66737433 | ||
![]() |
86cb928e54 | ||
![]() |
f13a47bbb2 | ||
![]() |
8d265f75a4 | ||
![]() |
69b904b679 | ||
![]() |
1b6a24f759 | ||
![]() |
738d2310a7 | ||
![]() |
388a9d3a8b | ||
![]() |
121d7c7c14 | ||
![]() |
58ec378912 | ||
![]() |
f604240b1b | ||
![]() |
b01ce91745 | ||
![]() |
57f8e9116e | ||
![]() |
210a0168d5 | ||
![]() |
6855d1a457 | ||
![]() |
ed9f7989f2 | ||
![]() |
ce455ddb3e | ||
![]() |
3c30a7aeda | ||
![]() |
718972e94e | ||
![]() |
b9fce3cea1 | ||
![]() |
ab5849527d | ||
![]() |
468ef4b3c7 | ||
![]() |
0c11622504 | ||
![]() |
fb6876a111 | ||
![]() |
b5e295d5c9 | ||
![]() |
05974893e6 | ||
![]() |
831956980c | ||
![]() |
2ecc0b89f3 | ||
![]() |
89816bc020 | ||
![]() |
7ba73e5756 | ||
![]() |
7252ec3947 | ||
![]() |
cd2e248fdd | ||
![]() |
6c91b7c91e | ||
![]() |
e8d7e6c6e4 | ||
![]() |
c071373842 | ||
![]() |
96a7064754 | ||
![]() |
44e89c547f | ||
![]() |
7f652adc48 | ||
![]() |
47e4035e98 | ||
![]() |
2cf44b6941 | ||
![]() |
634fe27a12 | ||
![]() |
fee234afcd | ||
![]() |
9039f16c48 | ||
![]() |
80fa1b4d8f | ||
![]() |
9c6cb217f1 | ||
![]() |
80a2c2a5f9 | ||
![]() |
6260b70717 | ||
![]() |
9a3cf3174d | ||
![]() |
5d453ee882 | ||
![]() |
226626fd42 | ||
![]() |
a82e56aa91 | ||
![]() |
01c69377bd | ||
![]() |
0b7cb319cd | ||
![]() |
629fd9362c | ||
![]() |
15c39e53e5 | ||
![]() |
3b7523e11e | ||
![]() |
3fac0bae4a | ||
![]() |
3d5d889e0d | ||
![]() |
7bbd7ea7ad | ||
![]() |
f3493024f6 | ||
![]() |
69029cd29b | ||
![]() |
a4b98a970f | ||
![]() |
2d3f296729 | ||
![]() |
22a854ab96 | ||
![]() |
15e860c639 | ||
![]() |
9e8acb6861 | ||
![]() |
319b5939dd | ||
![]() |
3f35b87db9 | ||
![]() |
8ed9ac85e5 | ||
![]() |
bcfa41753d | ||
![]() |
07d1f47a39 | ||
![]() |
77cb30c3cb | ||
![]() |
5dd1e266e1 | ||
![]() |
74b7ee4f12 | ||
![]() |
c7ea6340cf | ||
![]() |
49e6e9d410 | ||
![]() |
ce6fa8f411 | ||
![]() |
877329af75 | ||
![]() |
a18813ea1c | ||
![]() |
4a0ccb6862 | ||
![]() |
415c7be0aa | ||
![]() |
25038abadb | ||
![]() |
63d19c0586 | ||
![]() |
ad59a2a4a7 | ||
![]() |
4c1939738d | ||
![]() |
027b601690 | ||
![]() |
e98bbbeb06 | ||
![]() |
7bd481cad2 | ||
![]() |
d2d0e70276 | ||
![]() |
0b9bc0bd77 | ||
![]() |
671600cd44 | ||
![]() |
d31012ecea | ||
![]() |
56ad24cad7 | ||
![]() |
d552630f33 | ||
![]() |
1a0c7fb383 | ||
![]() |
0391ea39c1 | ||
![]() |
bc60d69153 | ||
![]() |
0525114752 | ||
![]() |
2f78062e75 | ||
![]() |
debf3ae54e | ||
![]() |
e3645ee8b4 | ||
![]() |
3cfee6c71e | ||
![]() |
25dee5df1a | ||
![]() |
9f0da915b5 | ||
![]() |
e78a0c3e14 | ||
![]() |
481ff8e621 | ||
![]() |
8ffc158c36 | ||
![]() |
43f2f4eeed | ||
![]() |
0ac6e0a8dc | ||
![]() |
076c97e29a | ||
![]() |
0a635600ba | ||
![]() |
a3e57531d1 | ||
![]() |
bc7379022f | ||
![]() |
f9a7f5feca | ||
![]() |
23cb65e32f | ||
![]() |
22c4385e25 | ||
![]() |
13b8a26730 | ||
![]() |
567bd958ff | ||
![]() |
23055427af | ||
![]() |
9a8aee45b6 | ||
![]() |
ff28df98f5 | ||
![]() |
0df9c529a9 | ||
![]() |
ffdcadf084 | ||
![]() |
663d0993ec | ||
![]() |
91ee76380c | ||
![]() |
02c7b48a70 | ||
![]() |
fbd0110dbd | ||
![]() |
b74e0d0bc5 | ||
![]() |
e944cac87a | ||
![]() |
bd1b89a354 | ||
![]() |
2f26bf7e88 | ||
![]() |
90b545881c | ||
![]() |
188e192eeb | ||
![]() |
e1a7cad3c6 | ||
![]() |
27db5e4405 | ||
![]() |
36c2ea5376 | ||
![]() |
4785ec1dbc | ||
![]() |
319eee5fdd | ||
![]() |
b2aeb75509 | ||
![]() |
3ce9480c38 | ||
![]() |
12b89cbc0b | ||
![]() |
e39d14b142 | ||
![]() |
506498eaa3 | ||
![]() |
84d4f022e2 | ||
![]() |
401ba5e9b7 | ||
![]() |
e72c8d28f1 | ||
![]() |
f9604bbdc1 | ||
![]() |
30b242de50 | ||
![]() |
70f7f67133 | ||
![]() |
f21639fc2f | ||
![]() |
5feba8dae1 | ||
![]() |
d5253bba32 | ||
![]() |
2681e99a41 | ||
![]() |
0c633dab7f | ||
![]() |
87d7936d40 | ||
![]() |
99693aab21 | ||
![]() |
1bfb45cb93 | ||
![]() |
e4dbb99f9f | ||
![]() |
639c5e5713 | ||
![]() |
359d049f1b | ||
![]() |
ad5c5a2763 | ||
![]() |
319ecf3192 | ||
![]() |
dfb5cff2f5 | ||
![]() |
848a4e06b3 | ||
![]() |
627aeef6ae | ||
![]() |
1bfb580f8c | ||
![]() |
4ac5a7be5a | ||
![]() |
36169d479f | ||
![]() |
de4bcf22c1 | ||
![]() |
fa3b3e0d88 | ||
![]() |
75475d8465 | ||
![]() |
f0a3cddefe | ||
![]() |
c9ebbd5843 | ||
![]() |
5b2e60dc36 | ||
![]() |
ab9ec32879 | ||
![]() |
46f49a8bbc | ||
![]() |
f08284769d | ||
![]() |
590b2d9614 | ||
![]() |
ce45d1a759 | ||
![]() |
f0b469e42b | ||
![]() |
14cb46de24 | ||
![]() |
8c3fa63f90 | ||
![]() |
d69edda8de | ||
![]() |
650ce76544 | ||
![]() |
03b4ef6a05 | ||
![]() |
50f6a192b5 | ||
![]() |
e6e812a712 | ||
![]() |
6b739bb138 | ||
![]() |
c3d0a7f1ec | ||
![]() |
db1e7a8f7b | ||
![]() |
0ac8a78aa7 | ||
![]() |
300e1b3a6f | ||
![]() |
91615cf7ff | ||
![]() |
0e7bdd1340 | ||
![]() |
2dcd0674e6 | ||
![]() |
2645bcc709 | ||
![]() |
2823efabc8 | ||
![]() |
a2947ac7bb | ||
![]() |
daba4f67cc | ||
![]() |
b9c64e4538 | ||
![]() |
5bfa623e9b | ||
![]() |
19735b69b8 | ||
![]() |
4ca60502d8 | ||
![]() |
62870c9a7e | ||
![]() |
a1919ad6e0 | ||
![]() |
7442f843d5 | ||
![]() |
581af9f720 | ||
![]() |
bedcb3eb24 | ||
![]() |
cbd5c03343 | ||
![]() |
e63fc6d52b | ||
![]() |
fcf6c16470 | ||
![]() |
9acf943b98 | ||
![]() |
1505e42de9 | ||
![]() |
ba5cba838c | ||
![]() |
d5f8c26e01 | ||
![]() |
3fa7c64edf | ||
![]() |
0ca801af76 | ||
![]() |
de7e03688d | ||
![]() |
4ddfdbf76a | ||
![]() |
6579235d9c | ||
![]() |
d8dc8e29c1 | ||
![]() |
58c8da2d7e | ||
![]() |
dfd517234d | ||
![]() |
c703cf1aec | ||
![]() |
9ad5128324 | ||
![]() |
f1ef89586b | ||
![]() |
b394b43cf8 | ||
![]() |
3eaa10389d | ||
![]() |
7433fa4f4a | ||
![]() |
f82cb79b87 | ||
![]() |
681615a276 | ||
![]() |
8e8898d40f | ||
![]() |
4bdc13ff09 | ||
![]() |
aea41df254 | ||
![]() |
9fde353f68 | ||
![]() |
d239794deb | ||
![]() |
e1b1fffaad | ||
![]() |
cf03a61d97 | ||
![]() |
253b0de23d | ||
![]() |
09ac297f7f | ||
![]() |
94fd8dc066 | ||
![]() |
2b2f956f22 | ||
![]() |
2b80249c04 | ||
![]() |
5bb6f3c3db | ||
![]() |
a6c1317685 | ||
![]() |
74503bb5fc | ||
![]() |
1e94128f30 | ||
![]() |
de02b580c8 | ||
![]() |
0dab12ec2c | ||
![]() |
a237722118 | ||
![]() |
368fc65f80 | ||
![]() |
fde750550d | ||
![]() |
a60d0f2acb | ||
![]() |
87a602dd67 | ||
![]() |
cadcf4cec6 | ||
![]() |
8be9d3b833 | ||
![]() |
49e94e3889 | ||
![]() |
86ad5be18a | ||
![]() |
d96edbc600 | ||
![]() |
41ee83972b | ||
![]() |
7d6326dbf9 | ||
![]() |
84697ca359 | ||
![]() |
2845fcc8ab | ||
![]() |
a242f50acd | ||
![]() |
1535a43149 | ||
![]() |
afc2717e84 | ||
![]() |
f90597f21e | ||
![]() |
c33e92189a | ||
![]() |
cfc77d49bd | ||
![]() |
eeea9ead3c | ||
![]() |
beaf396619 | ||
![]() |
a586099fd3 | ||
![]() |
ee69477890 | ||
![]() |
5b6bebe2de | ||
![]() |
15a7cd1052 | ||
![]() |
abc460236f | ||
![]() |
dd5f369328 | ||
![]() |
599a234000 | ||
![]() |
6c48d09c2f | ||
![]() |
ef5f8fc52a | ||
![]() |
49e6caf12e | ||
![]() |
14a5645cbf | ||
![]() |
1d5ef2919b | ||
![]() |
b2eb38d391 | ||
![]() |
afbe3ee87c | ||
![]() |
7e8f1af0a6 | ||
![]() |
d7a4df8341 | ||
![]() |
6d1f0ad7b6 | ||
![]() |
5b13a86e11 | ||
![]() |
a0c9ff3e52 | ||
![]() |
c9914ecd01 | ||
![]() |
c7f8aec493 | ||
![]() |
fc253b38bb | ||
![]() |
f69b919844 | ||
![]() |
eab4a7a05d | ||
![]() |
805b1461b8 | ||
![]() |
d2b5ad871d | ||
![]() |
1ee685018a | ||
![]() |
de4ad2da38 | ||
![]() |
3a1944a187 | ||
![]() |
81286d242e | ||
![]() |
b0c260881f | ||
![]() |
1bff6847fb | ||
![]() |
c2400d38fe | ||
![]() |
2df1423eff | ||
![]() |
66e4dffa4e | ||
![]() |
2df5857dbe | ||
![]() |
2ebb1e18e9 | ||
![]() |
20cd85c6e1 | ||
![]() |
7d7c00412f | ||
![]() |
a90a95bcbd | ||
![]() |
2d91c30f4c | ||
![]() |
424210a93c | ||
![]() |
301a9ee583 | ||
![]() |
72177e362b | ||
![]() |
0defc579d7 | ||
![]() |
18b0b3c4b5 | ||
![]() |
c7295f5416 | ||
![]() |
c334f41bf9 | ||
![]() |
84fd657240 | ||
![]() |
b34aeeb8d6 | ||
![]() |
047986c2f8 | ||
![]() |
d18f0519a5 | ||
![]() |
fb11d252b2 | ||
![]() |
23983f30de | ||
![]() |
948cd23845 | ||
![]() |
f744bd72ee | ||
![]() |
51b41d5422 | ||
![]() |
468a76f88a | ||
![]() |
efb669c280 | ||
![]() |
9581fa3050 | ||
![]() |
32b629dc99 | ||
![]() |
157cffebab | ||
![]() |
f250380df3 | ||
![]() |
d7296020a6 | ||
![]() |
f8f61aad0f | ||
![]() |
7ea4b4d70a | ||
![]() |
711eea30b9 | ||
![]() |
35f8a54405 | ||
![]() |
8f397268d3 | ||
![]() |
dbe3d2b434 | ||
![]() |
cd6fd060ec | ||
![]() |
74fc3be396 | ||
![]() |
001eb3cec4 | ||
![]() |
de719d5d69 | ||
![]() |
08fd43c4f6 | ||
![]() |
635a374944 | ||
![]() |
36acd547c5 | ||
![]() |
46bf7da684 | ||
![]() |
6a9433ef34 | ||
![]() |
5f5695077d | ||
![]() |
8f6726623a | ||
![]() |
c81c5889e9 | ||
![]() |
3ce3ddf1ac | ||
![]() |
bdcb39616d | ||
![]() |
e9073a6cb2 | ||
![]() |
471ae59783 | ||
![]() |
3a562d75fb | ||
![]() |
62b293df5b | ||
![]() |
c5243c198c | ||
![]() |
8cb1981acd | ||
![]() |
7c0f1c3067 | ||
![]() |
49d3dd0afc | ||
![]() |
014ff5b0d6 | ||
![]() |
503b79e866 | ||
![]() |
f2c6e340de | ||
![]() |
2d727dfe64 | ||
![]() |
f25cd6ba5f | ||
![]() |
d9701ae21e | ||
![]() |
ed1f673525 | ||
![]() |
8bfe12b1ff | ||
![]() |
f54a5de66a | ||
![]() |
934080e731 | ||
![]() |
b6484875cc | ||
![]() |
3c23c82dac | ||
![]() |
43c74d20de | ||
![]() |
401825148f | ||
![]() |
66de311e0b | ||
![]() |
cd29f862f6 | ||
![]() |
ce5d854dca | ||
![]() |
ffaef81586 | ||
![]() |
e6f1f245f5 | ||
![]() |
125f89b893 | ||
![]() |
e856ba11a1 | ||
![]() |
5893bdc513 | ||
![]() |
2dfc9fe293 | ||
![]() |
d2f0073c09 | ||
![]() |
e913f911cd | ||
![]() |
4f84cc7d67 | ||
![]() |
c64d847127 | ||
![]() |
2c6089f52a | ||
![]() |
98aa53d0e4 | ||
![]() |
0665677265 | ||
![]() |
2eefeeebdb | ||
![]() |
c98ca37cb9 | ||
![]() |
6645fd31e7 | ||
![]() |
8b34fef0a8 | ||
![]() |
543e6c5a7e | ||
![]() |
ff8ae11159 | ||
![]() |
b58d07f892 | ||
![]() |
01836bffe0 | ||
![]() |
0f593416e0 | ||
![]() |
21f2ba54f7 | ||
![]() |
43e068c9eb | ||
![]() |
e6c0c7d369 | ||
![]() |
dac156b631 | ||
![]() |
fcccfbc64a | ||
![]() |
a3c6c8a945 | ||
![]() |
77b1f3051a | ||
![]() |
1e8cafcd3d | ||
![]() |
313bb50db3 | ||
![]() |
d135bbd7a1 | ||
![]() |
5ac979309b | ||
![]() |
971e5e9f98 | ||
![]() |
1e557b7f17 | ||
![]() |
df4f7c1274 | ||
![]() |
4796c19516 | ||
![]() |
899f63805a | ||
![]() |
08fc4aaec0 | ||
![]() |
d6189e115d | ||
![]() |
108ebf2b26 | ||
![]() |
df5614ef1d | ||
![]() |
989d05ffd8 | ||
![]() |
eb59af14b0 | ||
![]() |
2ccdf897d8 | ||
![]() |
e335816bf6 | ||
![]() |
468adcc20b | ||
![]() |
7c8c9c9531 | ||
![]() |
317e7a19eb | ||
![]() |
1c2c1bd7b0 | ||
![]() |
025747bd81 | ||
![]() |
4b29e7d682 | ||
![]() |
9a0e0f2655 | ||
![]() |
5a711aba01 | ||
![]() |
ec4c956372 | ||
![]() |
9d0cee0d08 | ||
![]() |
034ee2b848 | ||
![]() |
7c4912d758 | ||
![]() |
f2cf40ba1a | ||
![]() |
67c3c3fc1b | ||
![]() |
5bd9f56d15 | ||
![]() |
c91c38182a | ||
![]() |
74c9e5750e | ||
![]() |
9307375f2e | ||
![]() |
f0b343c39f | ||
![]() |
cff94e33b0 | ||
![]() |
9fb6324687 | ||
![]() |
ff873432d4 | ||
![]() |
15316fdb94 | ||
![]() |
edf0076a00 | ||
![]() |
531b00bb39 | ||
![]() |
12c299caea | ||
![]() |
3d9b798f60 | ||
![]() |
bd8caeb65c | ||
![]() |
da1d437389 | ||
![]() |
acf7f2ce93 | ||
![]() |
e675a8d9bb | ||
![]() |
01955792b3 | ||
![]() |
a8bc32872a | ||
![]() |
11b0269696 | ||
![]() |
867ab917db | ||
![]() |
399b82f986 | ||
![]() |
5d1dfd4108 | ||
![]() |
a1bb3f86e9 | ||
![]() |
af67f8db77 | ||
![]() |
ea16e3dd7f | ||
![]() |
926f696a73 | ||
![]() |
8c3ad4bfcb | ||
![]() |
c373000307 | ||
![]() |
2a1d9332d5 | ||
![]() |
dab3fd64ab | ||
![]() |
ef98d49997 | ||
![]() |
85ce08d0ca | ||
![]() |
c04703c58c | ||
![]() |
816305b8f5 | ||
![]() |
84751ec1d4 | ||
![]() |
ce56956f59 | ||
![]() |
fea21d4c3d | ||
![]() |
368ccd416b | ||
![]() |
0d5b016709 | ||
![]() |
cecc726b91 | ||
![]() |
1978b68a2f | ||
![]() |
eb9929e6e1 | ||
![]() |
3a1b209f9e | ||
![]() |
d69f51b216 | ||
![]() |
b19ad118dd | ||
![]() |
69cc630750 | ||
![]() |
bde4d3045b | ||
![]() |
07c83f27ad | ||
![]() |
5e65619669 | ||
![]() |
6c2908ea5f | ||
![]() |
a151d5b8d1 | ||
![]() |
901e87e5d1 | ||
![]() |
984c1f77c5 | ||
![]() |
f60041688c | ||
![]() |
bfa0f7d540 | ||
![]() |
b08a3344a5 | ||
![]() |
7fe5ac1b62 | ||
![]() |
e8caf2634b | ||
![]() |
edb58adaa1 | ||
![]() |
34cbf106f3 | ||
![]() |
b85ce9eaeb | ||
![]() |
5cc087945a | ||
![]() |
14ba0ce43b | ||
![]() |
5c15847086 | ||
![]() |
96955d5c55 | ||
![]() |
98a879a806 | ||
![]() |
a46f75cbad | ||
![]() |
b5695d9997 | ||
![]() |
47f728718f | ||
![]() |
acfa36890c | ||
![]() |
302f57a8c2 | ||
![]() |
bae7328b32 | ||
![]() |
85c4c865db | ||
![]() |
874a64ece9 | ||
![]() |
679d2de36b | ||
![]() |
3104eec4cf | ||
![]() |
22348c78ee | ||
![]() |
d7c2737f40 | ||
![]() |
21e9a4c3b6 | ||
![]() |
0b54a46cda | ||
![]() |
69feadc782 | ||
![]() |
9f3bdb87e5 | ||
![]() |
52dbda62a0 | ||
![]() |
498e632b08 | ||
![]() |
0fce215851 | ||
![]() |
04039a5893 | ||
![]() |
334cf59930 | ||
![]() |
0b59b6d82d | ||
![]() |
6444d1557d | ||
![]() |
d09fcdedb9 | ||
![]() |
96ed13e21b | ||
![]() |
12fb9c383d | ||
![]() |
25bb8dc228 | ||
![]() |
9ab0305700 | ||
![]() |
a59988e197 | ||
![]() |
8d9b1c471c | ||
![]() |
b458b1f552 | ||
![]() |
cabf0eed66 | ||
![]() |
82ebf511e9 | ||
![]() |
0fe92c2f4f | ||
![]() |
99d70d8cb1 | ||
![]() |
8ece8572b2 | ||
![]() |
e0ced3a3d6 | ||
![]() |
56427c2d2b | ||
![]() |
27c15c7853 | ||
![]() |
3e9f5228c8 | ||
![]() |
8fe3b79cdb | ||
![]() |
e6cca7c937 | ||
![]() |
c63676a0bb | ||
![]() |
4cc20f6f3d | ||
![]() |
216c44d6eb | ||
![]() |
a7b9007d60 | ||
![]() |
d20ae896ea | ||
![]() |
7c9add2f64 | ||
![]() |
b10fd065be | ||
![]() |
bac9f1bfb0 | ||
![]() |
1f10f2e282 | ||
![]() |
58c27790de | ||
![]() |
cc41e6cd75 | ||
![]() |
114d339756 | ||
![]() |
7550e857bf | ||
![]() |
d0c2575324 | ||
![]() |
68a24eba00 | ||
![]() |
6f45cb995b | ||
![]() |
b0deeccc58 | ||
![]() |
75aab5276f | ||
![]() |
1a30fbbd3b | ||
![]() |
83a5672ae1 | ||
![]() |
42b8194b53 | ||
![]() |
42e4f6b706 | ||
![]() |
3a3b161e96 | ||
![]() |
32b0216dd7 | ||
![]() |
39e2c0eeb6 | ||
![]() |
95a17fbe17 | ||
![]() |
4ef189df49 | ||
![]() |
f02988e577 | ||
![]() |
349a079f2d | ||
![]() |
c0546439c4 | ||
![]() |
1dfc361a50 | ||
![]() |
86dd9501ba | ||
![]() |
269d414189 | ||
![]() |
554d5d598f | ||
![]() |
4a55e7c736 | ||
![]() |
19baefa04f | ||
![]() |
afbcf97c20 | ||
![]() |
d5c4a7cc11 | ||
![]() |
01a96d6fd2 | ||
![]() |
f0486052b7 | ||
![]() |
baf23000e1 | ||
![]() |
3f1c68a1e2 | ||
![]() |
f18de50b49 | ||
![]() |
d71f31bfb7 | ||
![]() |
e25f1ee44d | ||
![]() |
b159ae8409 | ||
![]() |
b2fddfd3f1 | ||
![]() |
14528628c8 | ||
![]() |
359a01e07c | ||
![]() |
798e394943 | ||
![]() |
fbe4c947cd | ||
![]() |
1f21c1d519 | ||
![]() |
bd87a59007 | ||
![]() |
58525180fb | ||
![]() |
aac48d1b3d | ||
![]() |
e1bf02ae26 | ||
![]() |
27d221a1aa | ||
![]() |
45ec990711 | ||
![]() |
b11ce0ec2d | ||
![]() |
7a34bcffef | ||
![]() |
867a3abff5 | ||
![]() |
4f6cf38016 | ||
![]() |
3d826456f5 | ||
![]() |
4ea2319726 | ||
![]() |
4c3408b140 | ||
![]() |
e9ae6305ea | ||
![]() |
b9f6f9bc97 | ||
![]() |
b02a233218 | ||
![]() |
f4c0dbc628 | ||
![]() |
1baed82774 | ||
![]() |
d65df1fa67 | ||
![]() |
0e59c473cd | ||
![]() |
912ffe414e | ||
![]() |
c4280acfa0 | ||
![]() |
c68b70c9dc | ||
![]() |
ec904e4b57 | ||
![]() |
8fedeaacd5 | ||
![]() |
33685f51f3 | ||
![]() |
ac479065f0 | ||
![]() |
b1478e8ebc | ||
![]() |
ff26b04fe3 | ||
![]() |
069fb0e09a | ||
![]() |
16ee3c15a3 | ||
![]() |
8b424397b9 | ||
![]() |
cc74872ba9 | ||
![]() |
e215a4d05e | ||
![]() |
f6c2061af2 | ||
![]() |
1989218456 | ||
![]() |
dd5b67b4f4 | ||
![]() |
e3d8cf1966 | ||
![]() |
596fdfd6cf | ||
![]() |
8cec70a8c4 | ||
![]() |
340d6099a0 | ||
![]() |
9fb4518728 | ||
![]() |
3f9c973452 | ||
![]() |
759c91d66a | ||
![]() |
6735363f80 | ||
![]() |
0b5e804c09 | ||
![]() |
db6f41402c | ||
![]() |
0bf49eb85b | ||
![]() |
c6b098655e | ||
![]() |
7430d23358 | ||
![]() |
4284becde9 | ||
![]() |
761f88818e | ||
![]() |
c85dcb31d9 | ||
![]() |
3354f75bc1 | ||
![]() |
3c3bf4dfdb | ||
![]() |
1eb7ba7cdd | ||
![]() |
80b3f4b20a | ||
![]() |
6b2c50c01f | ||
![]() |
6d10a56ce8 | ||
![]() |
3b0c430638 |
435 changed files with 18435 additions and 5740 deletions
5
.github/pull_request_template.md
vendored
5
.github/pull_request_template.md
vendored
|
@ -1,8 +1,5 @@
|
||||||
Notes:
|
Notes:
|
||||||
* Pull requests cannot be accepted until:
|
* Pull requests cannot be accepted until the PR follows the [contributing guidelines](../CONTRIBUTING.md). In particular, each commit must have at least one `Signed-off-by:` line from the committer to certify that the contribution is made under the terms of the [Developer Certificate of Origin](../dco.txt).
|
||||||
- The submitter has [accepted the online agreement here with a click through](https://developer.mbed.org/contributor_agreement/)
|
|
||||||
or for companies or those that do not wish to create an mbed account, a slightly different agreement can be found [here](https://www.mbed.com/en/about-mbed/contributor-license-agreements/)
|
|
||||||
- The PR follows the [mbed TLS coding standards](https://tls.mbed.org/kb/development/mbedtls-coding-standards)
|
|
||||||
* This is just a template, so feel free to use/remove the unnecessary things
|
* This is just a template, so feel free to use/remove the unnecessary things
|
||||||
## Description
|
## Description
|
||||||
A few sentences describing the overall goals of the pull request's commits.
|
A few sentences describing the overall goals of the pull request's commits.
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -40,4 +40,5 @@ massif-*
|
||||||
/GSYMS
|
/GSYMS
|
||||||
/GTAGS
|
/GTAGS
|
||||||
/TAGS
|
/TAGS
|
||||||
|
/cscope*.out
|
||||||
/tags
|
/tags
|
||||||
|
|
22
.pylintrc
22
.pylintrc
|
@ -40,7 +40,27 @@ max-attributes=15
|
||||||
max-module-lines=2000
|
max-module-lines=2000
|
||||||
|
|
||||||
[MESSAGES CONTROL]
|
[MESSAGES CONTROL]
|
||||||
disable=
|
# * locally-disabled, locally-enabled: If we disable or enable a message
|
||||||
|
# locally, it's by design. There's no need to clutter the Pylint output
|
||||||
|
# with this information.
|
||||||
|
# * logging-format-interpolation: Pylint warns about things like
|
||||||
|
# ``log.info('...'.format(...))``. It insists on ``log.info('...', ...)``.
|
||||||
|
# This is of minor utility (mainly a performance gain when there are
|
||||||
|
# many messages that use formatting and are below the log level).
|
||||||
|
# Some versions of Pylint (including 1.8, which is the version on
|
||||||
|
# Ubuntu 18.04) only recognize old-style format strings using '%',
|
||||||
|
# and complain about something like ``log.info('{}', foo)`` with
|
||||||
|
# logging-too-many-args (Pylint supports new-style formatting if
|
||||||
|
# declared globally with logging_format_style under [LOGGING] but
|
||||||
|
# this requires Pylint >=2.2).
|
||||||
|
# * no-else-return: Allow the perfectly reasonable idiom
|
||||||
|
# if condition1:
|
||||||
|
# return value1
|
||||||
|
# else:
|
||||||
|
# return value2
|
||||||
|
# * unnecessary-pass: If we take the trouble of adding a line with "pass",
|
||||||
|
# it's because we think the code is clearer that way.
|
||||||
|
disable=locally-disabled,locally-enabled,logging-format-interpolation,no-else-return,unnecessary-pass
|
||||||
|
|
||||||
[REPORTS]
|
[REPORTS]
|
||||||
# Don't diplay statistics. Just the facts.
|
# Don't diplay statistics. Just the facts.
|
||||||
|
|
72
.travis.yml
72
.travis.yml
|
@ -1,48 +1,64 @@
|
||||||
language: c
|
language: c
|
||||||
compiler:
|
compiler: gcc
|
||||||
- clang
|
|
||||||
- gcc
|
|
||||||
sudo: false
|
sudo: false
|
||||||
cache: ccache
|
cache: ccache
|
||||||
|
|
||||||
# blocklist
|
jobs:
|
||||||
branches:
|
include:
|
||||||
except:
|
- name: basic checks and reference configurations
|
||||||
- development-psa
|
addons:
|
||||||
- coverity_scan
|
apt:
|
||||||
|
packages:
|
||||||
|
- gnutls-bin
|
||||||
|
- doxygen
|
||||||
|
- graphviz
|
||||||
|
- gcc-arm-none-eabi
|
||||||
|
- libnewlib-arm-none-eabi
|
||||||
|
language: python # Needed to get pip for Python 3
|
||||||
|
python: 3.5 # version from Ubuntu 16.04
|
||||||
|
install:
|
||||||
|
- pip install pylint==2.4.4
|
||||||
|
script:
|
||||||
|
- tests/scripts/all.sh -k 'check_*'
|
||||||
|
- tests/scripts/all.sh -k test_default_out_of_box
|
||||||
|
- tests/scripts/test-ref-configs.pl
|
||||||
|
- tests/scripts/all.sh -k build_arm_none_eabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus
|
||||||
|
|
||||||
|
- name: full configuration
|
||||||
|
script:
|
||||||
|
- tests/scripts/all.sh -k test_full_cmake_gcc_asan
|
||||||
|
|
||||||
|
- name: check compilation guards
|
||||||
|
script:
|
||||||
|
- tests/scripts/all.sh -k 'test_depends_*' 'build_key_exchanges'
|
||||||
|
|
||||||
|
- name: macOS
|
||||||
|
os: osx
|
||||||
|
compiler: clang
|
||||||
|
script:
|
||||||
|
- tests/scripts/all.sh -k test_default_out_of_box
|
||||||
|
|
||||||
|
- name: Windows
|
||||||
|
os: windows
|
||||||
|
script:
|
||||||
|
- scripts/windows_msbuild.bat v141 # Visual Studio 2017
|
||||||
|
|
||||||
script:
|
|
||||||
- tests/scripts/recursion.pl library/*.c
|
|
||||||
- tests/scripts/check-generated-files.sh
|
|
||||||
- tests/scripts/check-doxy-blocks.pl
|
|
||||||
- tests/scripts/check-names.sh
|
|
||||||
- tests/scripts/check-files.py
|
|
||||||
- tests/scripts/doxygen.sh
|
|
||||||
- cmake -D CMAKE_BUILD_TYPE:String="Check" .
|
|
||||||
- make
|
|
||||||
- make test
|
|
||||||
- programs/test/selftest
|
|
||||||
- OSSL_NO_DTLS=1 tests/compat.sh
|
|
||||||
- tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl'
|
|
||||||
- tests/scripts/test-ref-configs.pl
|
|
||||||
- tests/scripts/curves.pl
|
|
||||||
- tests/scripts/key-exchanges.pl
|
|
||||||
after_failure:
|
after_failure:
|
||||||
- tests/scripts/travis-log-failure.sh
|
- tests/scripts/travis-log-failure.sh
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- SEED=1
|
- SEED=1
|
||||||
- secure: "barHldniAfXyoWOD/vcO+E6/Xm4fmcaUoC9BeKW+LwsHqlDMLvugaJnmLXkSpkbYhVL61Hzf3bo0KPJn88AFc5Rkf8oYHPjH4adMnVXkf3B9ghHCgznqHsAH3choo6tnPxaFgOwOYmLGb382nQxfE5lUdvnM/W/psQjWt66A1+k="
|
- secure: "FrI5d2s+ckckC17T66c8jm2jV6i2DkBPU5nyWzwbedjmEBeocREfQLd/x8yKpPzLDz7ghOvr+/GQvsPPn0dVkGlNzm3Q+hGHc/ujnASuUtGrcuMM+0ALnJ3k4rFr9xEvjJeWb4SmhJO5UCAZYvTItW4k7+bj9L+R6lt3TzQbXzg="
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- doxygen
|
- gnutls-bin
|
||||||
- graphviz
|
|
||||||
coverity_scan:
|
coverity_scan:
|
||||||
project:
|
project:
|
||||||
name: "ARMmbed/mbedtls"
|
name: "ARMmbed/mbedtls"
|
||||||
notification_email: simon.butcher@arm.com
|
notification_email: support-mbedtls@arm.com
|
||||||
build_command_prepend:
|
build_command_prepend:
|
||||||
build_command: make
|
build_command: make
|
||||||
branch_pattern: coverity_scan
|
branch_pattern: coverity_scan
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
if(TEST_CPP)
|
if(TEST_CPP)
|
||||||
project("mbed TLS" C CXX)
|
project("mbed TLS" C CXX)
|
||||||
else()
|
else()
|
||||||
|
@ -8,7 +8,7 @@ endif()
|
||||||
option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF)
|
option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF)
|
||||||
option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF)
|
option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF)
|
||||||
|
|
||||||
option(ENABLE_PROGRAMS "Build mbed TLS programs." ON)
|
option(ENABLE_PROGRAMS "Build mbed TLS programs." OFF)
|
||||||
|
|
||||||
option(UNSAFE_BUILD "Allow unsafe builds. These builds ARE NOT SECURE." OFF)
|
option(UNSAFE_BUILD "Allow unsafe builds. These builds ARE NOT SECURE." OFF)
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ string(REGEX MATCH "MSVC" CMAKE_COMPILER_IS_MSVC "${CMAKE_C_COMPILER_ID}")
|
||||||
if(CMAKE_COMPILER_IS_MSVC)
|
if(CMAKE_COMPILER_IS_MSVC)
|
||||||
option(ENABLE_TESTING "Build mbed TLS tests." OFF)
|
option(ENABLE_TESTING "Build mbed TLS tests." OFF)
|
||||||
else()
|
else()
|
||||||
option(ENABLE_TESTING "Build mbed TLS tests." ON)
|
option(ENABLE_TESTING "Build mbed TLS tests." OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Warning string - created as a list for compatibility with CMake 2.8
|
# Warning string - created as a list for compatibility with CMake 2.8
|
||||||
|
@ -157,6 +157,9 @@ if(CMAKE_COMPILER_IS_IAR)
|
||||||
endif(CMAKE_COMPILER_IS_IAR)
|
endif(CMAKE_COMPILER_IS_IAR)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_MSVC)
|
if(CMAKE_COMPILER_IS_MSVC)
|
||||||
|
# Compile with UTF-8 encoding (REMOVE THIS COMMIT ONCE A FIX IS DEPLOYED UPSTREAM)
|
||||||
|
add_compile_options(/utf-8)
|
||||||
|
|
||||||
# Strictest warnings, and treat as errors
|
# Strictest warnings, and treat as errors
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
|
||||||
|
|
|
@ -5,11 +5,6 @@ We gratefully accept bug reports and contributions from the community. There are
|
||||||
- As with any open source project, contributions will be reviewed by the project team and community and may need some modifications to be accepted.
|
- As with any open source project, contributions will be reviewed by the project team and community and may need some modifications to be accepted.
|
||||||
- The contribution should not break API or ABI, unless there is a real justification for that. If there is an API change, the contribution, if accepted, will be merged only when there will be a major release.
|
- The contribution should not break API or ABI, unless there is a real justification for that. If there is an API change, the contribution, if accepted, will be merged only when there will be a major release.
|
||||||
|
|
||||||
Contributor License Agreement (CLA)
|
|
||||||
-----------------------------------
|
|
||||||
- All contributions, whether large or small, require a Contributor's License Agreement (CLA) to be accepted. This is because source code can possibly fall under copyright law and we need your consent to share in the ownership of the copyright.
|
|
||||||
- To accept the Contributor’s License Agreement (CLA), individual contributors can do this by creating an Mbed account and [accepting the online agreement here with a click through](https://developer.mbed.org/contributor_agreement/). Alternatively, for contributions from corporations, or those that do not wish to create an Mbed account, a slightly different agreement can be found [here](https://www.mbed.com/en/about-mbed/contributor-license-agreements/). This agreement should be signed and returned to Arm as described in the instructions given.
|
|
||||||
|
|
||||||
Coding Standards
|
Coding Standards
|
||||||
----------------
|
----------------
|
||||||
- We would ask that contributions conform to [our coding standards](https://tls.mbed.org/kb/development/mbedtls-coding-standards), and that contributions are fully tested before submission, as mentioned in the [Tests](#tests) and [Continuous Integration](#continuous-integration-tests) sections.
|
- We would ask that contributions conform to [our coding standards](https://tls.mbed.org/kb/development/mbedtls-coding-standards), and that contributions are fully tested before submission, as mentioned in the [Tests](#tests) and [Continuous Integration](#continuous-integration-tests) sections.
|
||||||
|
@ -19,12 +14,13 @@ Coding Standards
|
||||||
|
|
||||||
Making a Contribution
|
Making a Contribution
|
||||||
---------------------
|
---------------------
|
||||||
1. [Check for open issues](https://github.com/ARMmbed/mbedtls/issues) or [start a discussion](https://tls.mbed.org/discussions) around a feature idea or a bug.
|
1. [Check for open issues](https://github.com/ARMmbed/mbedtls/issues) or [start a discussion](https://lists.trustedfirmware.org/mailman/listinfo/mbed-tls) around a feature idea or a bug.
|
||||||
1. Fork the [Mbed TLS repository on GitHub](https://github.com/ARMmbed/mbedtls) to start making your changes. As a general rule, you should use the ["development" branch](https://github.com/ARMmbed/mbedtls/tree/development) as a basis.
|
1. Fork the [Mbed TLS repository on GitHub](https://github.com/ARMmbed/mbedtls) to start making your changes. As a general rule, you should use the ["development" branch](https://github.com/ARMmbed/mbedtls/tree/development) as a basis.
|
||||||
1. Write a test which shows that the bug was fixed or that the feature works as expected.
|
1. Write a test which shows that the bug was fixed or that the feature works as expected.
|
||||||
1. Send a pull request (PR) and work with us until it gets merged and published. Contributions may need some modifications, so a few rounds of review and fixing may be necessary. We will include your name in the ChangeLog :)
|
1. Send a pull request (PR) and work with us until it gets merged and published. Contributions may need some modifications, so a few rounds of review and fixing may be necessary. We will include your name in the ChangeLog :)
|
||||||
1. For quick merging, the contribution should be short, and concentrated on a single feature or topic. The larger the contribution is, the longer it would take to review it and merge it.
|
1. For quick merging, the contribution should be short, and concentrated on a single feature or topic. The larger the contribution is, the longer it would take to review it and merge it.
|
||||||
1. Mbed TLS is released under the Apache license, and as such, all the added files should include the Apache license header.
|
1. All new files should include the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) standard license header where possible.
|
||||||
|
1. Ensure that each commit has at least one `Signed-off-by:` line from the committer. If anyone else contributes to the commit, they should also add their own `Signed-off-by:` line. By adding this line, contributor(s) certify that the contribution is made under the terms of the [Developer Certificate of Origin](dco.txt). The contribution licensing is described in the [License section of the README](README.md#License).
|
||||||
|
|
||||||
API/ABI Compatibility
|
API/ABI Compatibility
|
||||||
---------------------
|
---------------------
|
||||||
|
@ -46,18 +42,14 @@ Mbed TLS maintains several LTS (Long Term Support) branches, which are maintaine
|
||||||
|
|
||||||
When backporting to these branches please observe the following rules:
|
When backporting to these branches please observe the following rules:
|
||||||
|
|
||||||
1. Any change to the library which changes the API or ABI cannot be backported.
|
1. Any change to the library which changes the API or ABI cannot be backported.
|
||||||
|
1. All bug fixes that correct a defect that is also present in an LTS branch must be backported to that LTS branch. If a bug fix introduces a change to the API such as a new function, the fix should be reworked to avoid the API change. API changes without very strong justification are unlikely to be accepted.
|
||||||
2. All bug fixes that correct a defect that is also present in an LTS branch must be backported to that LTS branch. If a bug fix introduces a change to the API such as a new function, the fix should be reworked to avoid the API change. API changes without very strong justification are unlikely to be accepted.
|
1. If a contribution is a new feature or enhancement, no backporting is required. Exceptions to this may be additional test cases or quality improvements such as changes to build or test scripts.
|
||||||
|
|
||||||
3. If a contribution is a new feature or enhancement, no backporting is required. Exceptions to this may be additional test cases or quality improvements such as changes to build or test scripts.
|
|
||||||
|
|
||||||
It would be highly appreciated if contributions are backported to LTS branches in addition to the [development branch](https://github.com/ARMmbed/mbedtls/tree/development) by contributors.
|
It would be highly appreciated if contributions are backported to LTS branches in addition to the [development branch](https://github.com/ARMmbed/mbedtls/tree/development) by contributors.
|
||||||
|
|
||||||
Currently maintained LTS branches are:
|
Currently maintained LTS branches are:
|
||||||
|
|
||||||
1. [mbedtls-2.7](https://github.com/ARMmbed/mbedtls/tree/mbedtls-2.7)
|
1. [mbedtls-2.7](https://github.com/ARMmbed/mbedtls/tree/mbedtls-2.7)
|
||||||
|
|
||||||
1. [mbedtls-2.16](https://github.com/ARMmbed/mbedtls/tree/mbedtls-2.16)
|
1. [mbedtls-2.16](https://github.com/ARMmbed/mbedtls/tree/mbedtls-2.16)
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,12 +76,7 @@ Documentation
|
||||||
Mbed TLS is well documented, but if you think documentation is needed, speak out!
|
Mbed TLS is well documented, but if you think documentation is needed, speak out!
|
||||||
|
|
||||||
1. All interfaces should be documented through Doxygen. New APIs should introduce Doxygen documentation.
|
1. All interfaces should be documented through Doxygen. New APIs should introduce Doxygen documentation.
|
||||||
|
1. Complex parts in the code should include comments.
|
||||||
2. Complex parts in the code should include comments.
|
1. If needed, a Readme file is advised.
|
||||||
|
1. If a [Knowledge Base (KB)](https://tls.mbed.org/kb) article should be added, write this as a comment in the PR description.
|
||||||
3. If needed, a Readme file is advised.
|
1. A [ChangeLog](https://github.com/ARMmbed/mbedtls/blob/development/ChangeLog.d/00README.md) entry should be added for this contribution.
|
||||||
|
|
||||||
4. If a [Knowledge Base (KB)](https://tls.mbed.org/kb) article should be added, write this as a comment in the PR description.
|
|
||||||
|
|
||||||
5. A [ChangeLog](https://github.com/ARMmbed/mbedtls/blob/development/ChangeLog) entry should be added for this contribution.
|
|
||||||
|
|
||||||
|
|
304
ChangeLog
304
ChangeLog
|
@ -1,15 +1,317 @@
|
||||||
mbed TLS ChangeLog (Sorted per branch, date)
|
mbed TLS ChangeLog (Sorted per branch, date)
|
||||||
|
|
||||||
= mbed TLS 2.16.x branch released xxxx-xx-xx
|
= mbed TLS 2.16.10 branch released 2021-03-12
|
||||||
|
|
||||||
|
Default behavior changes
|
||||||
|
* In mbedtls_rsa_context objects, the ver field was formerly documented
|
||||||
|
as always 0. It is now reserved for internal purposes and may take
|
||||||
|
different values.
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Fix a buffer overflow in mbedtls_mpi_sub_abs() when calculating
|
||||||
|
|A| - |B| where |B| is larger than |A| and has more limbs (so the
|
||||||
|
function should return MBEDTLS_ERR_MPI_NEGATIVE_VALUE). Only
|
||||||
|
applications calling mbedtls_mpi_sub_abs() directly are affected:
|
||||||
|
all calls inside the library were safe since this function is
|
||||||
|
only called with |A| >= |B|. Reported by Guido Vranken in #4042.
|
||||||
|
* Fix an errorneous estimation for an internal buffer in
|
||||||
|
mbedtls_pk_write_key_pem(). If MBEDTLS_MPI_MAX_SIZE is set to an odd
|
||||||
|
value the function might fail to write a private RSA keys of the largest
|
||||||
|
supported size.
|
||||||
|
Found by Daniel Otte, reported in #4093 and fixed in #4094,
|
||||||
|
backported in #4100.
|
||||||
|
* Fix a stack buffer overflow with mbedtls_net_poll() and
|
||||||
|
mbedtls_net_recv_timeout() when given a file descriptor that is
|
||||||
|
beyond FD_SETSIZE. Reported by FigBug in #4169.
|
||||||
|
* Guard against strong local side channel attack against base64 tables by
|
||||||
|
making access aceess to them use constant flow code.
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Fix an incorrect error code if an RSA private operation glitched.
|
||||||
|
* Fix a resource leak in CTR_DRBG and HMAC_DRBG when MBEDTLS_THREADING_C
|
||||||
|
is enabled, on platforms where initializing a mutex allocates resources.
|
||||||
|
This was a regression introduced in the previous release. Reported in
|
||||||
|
#4017, #4045 and #4071.
|
||||||
|
* Ensure that calling mbedtls_rsa_free() or mbedtls_entropy_free()
|
||||||
|
twice is safe. This happens for RSA when some Mbed TLS library functions
|
||||||
|
fail. Such a double-free was not safe when MBEDTLS_THREADING_C was
|
||||||
|
enabled on platforms where freeing a mutex twice is not safe.
|
||||||
|
* Fix a resource leak in a bad-arguments case of mbedtls_rsa_gen_key()
|
||||||
|
when MBEDTLS_THREADING_C is enabled on platforms where initializing
|
||||||
|
a mutex allocates resources.
|
||||||
|
* This change makes 'mbedtls_x509write_crt_set_basic_constraints'
|
||||||
|
consistent with RFC 5280 4.2.1.9 which says: "Conforming CAs MUST
|
||||||
|
include this extension in all CA certificates that contain public keys
|
||||||
|
used to validate digital signatures on certificates and MUST mark the
|
||||||
|
extension as critical in such certificates." Previous to this change,
|
||||||
|
the extension was always marked as non-critical. This was fixed by
|
||||||
|
#4044.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.9 branch released 2020-12-11
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Limit the size of calculations performed by mbedtls_mpi_exp_mod to
|
||||||
|
MBEDTLS_MPI_MAX_SIZE to prevent a potential denial of service when
|
||||||
|
generating Diffie-Hellman key pairs. Credit to OSS-Fuzz.
|
||||||
|
* A failure of the random generator was ignored in mbedtls_mpi_fill_random(),
|
||||||
|
which is how most uses of randomization in asymmetric cryptography
|
||||||
|
(including key generation, intermediate value randomization and blinding)
|
||||||
|
are implemented. This could cause failures or the silent use of non-random
|
||||||
|
values. A random generator can fail if it needs reseeding and cannot not
|
||||||
|
obtain entropy, or due to an internal failure (which, for Mbed TLS's own
|
||||||
|
CTR_DRBG or HMAC_DRBG, can only happen due to a misconfiguration).
|
||||||
|
* Fix a compliance issue whereby we were not checking the tag on the
|
||||||
|
algorithm parameters (only the size) when comparing the signature in the
|
||||||
|
description part of the cert to the real signature. This meant that a
|
||||||
|
NULL algorithm parameters entry would look identical to an array of REAL
|
||||||
|
(size zero) to the library and thus the certificate would be considered
|
||||||
|
valid. However, if the parameters do not match in *any* way then the
|
||||||
|
certificate should be considered invalid, and indeed OpenSSL marks these
|
||||||
|
certs as invalid when mbedtls did not.
|
||||||
|
Many thanks to guidovranken who found this issue via differential fuzzing
|
||||||
|
and reported it in #3629.
|
||||||
|
* Zeroising of local buffers and variables which are used for calculations
|
||||||
|
in mbedtls_pkcs5_pbkdf2_hmac(), mbedtls_internal_sha*_process(),
|
||||||
|
mbedtls_internal_md*_process() and mbedtls_internal_ripemd160_process()
|
||||||
|
functions to erase sensitive data from memory. Reported by
|
||||||
|
Johan Malmgren and Johan Uppman Bruce from Sectra.
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Fix an invalid (but nonzero) return code from mbedtls_pk_parse_subpubkey()
|
||||||
|
when the input has trailing garbage. Fixes #2512.
|
||||||
|
* Fix rsa_prepare_blinding() to retry when the blinding value is not
|
||||||
|
invertible (mod N), instead of returning MBEDTLS_ERR_RSA_RNG_FAILED. This
|
||||||
|
addresses a regression but is rare in practice (approx. 1 in 2/sqrt(N)).
|
||||||
|
Found by Synopsys Coverity, fix contributed by Peter Kolbus (Garmin).
|
||||||
|
Fixes #3647.
|
||||||
|
* Fix the build when the macro _GNU_SOURCE is defined to a non-empty value.
|
||||||
|
Fix #3432.
|
||||||
|
* Correct the default IV size for mbedtls_cipher_info_t structures using
|
||||||
|
MBEDTLS_MODE_ECB to 0, since ECB mode ciphers don't use IVs.
|
||||||
|
* Make arc4random_buf available on NetBSD and OpenBSD when _POSIX_C_SOURCE is
|
||||||
|
defined. Fix contributed in #3571. Adopted for LTS branch 2.16 in #3602.
|
||||||
|
* Fix build failures on GCC 11. Fixes #3782.
|
||||||
|
* Fix a memory leak in mbedtls_mpi_sub_abs() when the result was negative
|
||||||
|
(an error condition) and the second operand was aliased to the result.
|
||||||
|
* Fix a case in elliptic curve arithmetic where an out-of-memory condition
|
||||||
|
could go undetected, resulting in an incorrect result.
|
||||||
|
* In CTR_DRBG and HMAC_DRBG, don't reset the reseed interval in seed().
|
||||||
|
Fixes #2927.
|
||||||
|
* In PEM writing functions, fill the trailing part of the buffer with null
|
||||||
|
bytes. This guarantees that the corresponding parsing function can read
|
||||||
|
the buffer back, which was the case for mbedtls_x509write_{crt,csr}_pem
|
||||||
|
until this property was inadvertently broken in Mbed TLS 2.19.0.
|
||||||
|
Fixes #3682.
|
||||||
|
* Fix a build failure that occurred with the MBEDTLS_AES_SETKEY_DEC_ALT
|
||||||
|
option on. In this configuration key management methods that are required
|
||||||
|
for MBEDTLS_CIPHER_MODE_XTS were excluded from the build and made it fail.
|
||||||
|
Fixes #3818. Reported by John Stroebel.
|
||||||
|
|
||||||
|
Changes
|
||||||
|
* Reduce stack usage significantly during sliding window exponentiation.
|
||||||
|
Reported in #3591 and fix contributed in #3592 by Daniel Otte.
|
||||||
|
* Remove the zeroization of a pointer variable in AES rounds. It was valid
|
||||||
|
but spurious and misleading since it looked like a mistaken attempt to
|
||||||
|
zeroize the pointed-to buffer. Reported by Antonio de la Piedra, CEA
|
||||||
|
Leti, France.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.8 branch released 2020-09-01
|
||||||
|
|
||||||
|
Features
|
||||||
|
* Support building on e2k (Elbrus) architecture: correctly enable
|
||||||
|
-Wformat-signedness, and fix the code that causes signed-one-bit-field
|
||||||
|
and sign-compare warnings. Contributed by makise-homura (Igor Molchanov)
|
||||||
|
<akemi_homura@kurisa.ch>.
|
||||||
|
|
||||||
|
Security
|
||||||
|
* When checking X.509 CRLs, a certificate was only considered as revoked if
|
||||||
|
its revocationDate was in the past according to the local clock if
|
||||||
|
available. In particular, on builds without MBEDTLS_HAVE_TIME_DATE,
|
||||||
|
certificates were never considered as revoked. On builds with
|
||||||
|
MBEDTLS_HAVE_TIME_DATE, an attacker able to control the local clock (for
|
||||||
|
example, an untrusted OS attacking a secure enclave) could prevent
|
||||||
|
revocation of certificates via CRLs. Fixed by no longer checking the
|
||||||
|
revocationDate field, in accordance with RFC 5280. Reported by
|
||||||
|
yuemonangong in #3340. Reported independently and fixed by
|
||||||
|
Raoul Strackx and Jethro Beekman in #3433.
|
||||||
|
* In (D)TLS record decryption, when using a CBC ciphersuites without the
|
||||||
|
Encrypt-then-Mac extension, use constant code flow memory access patterns
|
||||||
|
to extract and check the MAC. This is an improvement to the existing
|
||||||
|
countermeasure against Lucky 13 attacks. The previous countermeasure was
|
||||||
|
effective against network-based attackers, but less so against local
|
||||||
|
attackers. The new countermeasure defends against local attackers, even
|
||||||
|
if they have access to fine-grained measurements. In particular, this
|
||||||
|
fixes a local Lucky 13 cache attack found and reported by Tuba Yavuz,
|
||||||
|
Farhaan Fowze, Ken (Yihan) Bai, Grant Hernandez, and Kevin Butler
|
||||||
|
(University of Florida) and Dave Tian (Purdue University).
|
||||||
|
* Fix side channel in RSA private key operations and static (finite-field)
|
||||||
|
Diffie-Hellman. An adversary with precise enough timing and memory access
|
||||||
|
information (typically an untrusted operating system attacking a secure
|
||||||
|
enclave) could bypass an existing counter-measure (base blinding) and
|
||||||
|
potentially fully recover the private key.
|
||||||
|
* Fix a 1-byte buffer overread in mbedtls_x509_crl_parse_der().
|
||||||
|
Credit to OSS-Fuzz for detecting the problem and to Philippe Antoine
|
||||||
|
for pinpointing the problematic code.
|
||||||
|
* Zeroising of plaintext buffers in mbedtls_ssl_read() to erase unused
|
||||||
|
application data from memory. Reported in #689 by
|
||||||
|
Johan Uppman Bruce of Sectra.
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Avoid use of statically sized stack buffers for certificate writing.
|
||||||
|
This previously limited the maximum size of DER encoded certificates
|
||||||
|
in mbedtls_x509write_crt_der() to 2Kb. Reported by soccerGB in #2631.
|
||||||
|
* Reduce the stack consumption of mbedtls_x509write_csr_der() which
|
||||||
|
previously could lead to stack overflow on constrained devices.
|
||||||
|
Contributed by Doru Gucea and Simon Leet in #3464.
|
||||||
|
* Use arc4random_buf on NetBSD instead of rand implementation with cyclical
|
||||||
|
lower bits. Fix contributed in #3540.
|
||||||
|
* Fix building library/net_sockets.c and the ssl_mail_client program on
|
||||||
|
NetBSD. NetBSD conditionals were added for the backport to avoid the risk
|
||||||
|
of breaking a platform. Original fix contributed by Nia Alarie in #3422.
|
||||||
|
Adapted for long-term support branch 2.16 in #3558.
|
||||||
|
* Fix bug in redirection of unit test outputs on platforms where stdout is
|
||||||
|
defined as a macro. First reported in #2311 and fix contributed in #3528.
|
||||||
|
Adopted for LTS branch 2.16 in #3601.
|
||||||
|
|
||||||
|
Changes
|
||||||
|
* Update copyright notices to use Linux Foundation guidance. As a result,
|
||||||
|
the copyright of contributors other than Arm is now acknowledged, and the
|
||||||
|
years of publishing are no longer tracked in the source files. This also
|
||||||
|
eliminates the need for the lines declaring the files to be part of
|
||||||
|
MbedTLS. Fixes #3457.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.7 branch released 2020-07-01
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Fix a side channel vulnerability in modular exponentiation that could
|
||||||
|
reveal an RSA private key used in a secure enclave. Noticed by Sangho Lee,
|
||||||
|
Ming-Wei Shih, Prasun Gera, Taesoo Kim and Hyesoon Kim (Georgia Institute
|
||||||
|
of Technology); and Marcus Peinado (Microsoft Research). Reported by Raoul
|
||||||
|
Strackx (Fortanix) in #3394.
|
||||||
|
* Fix side channel in mbedtls_ecp_check_pub_priv() and
|
||||||
|
mbedtls_pk_parse_key() / mbedtls_pk_parse_keyfile() (when loading a
|
||||||
|
private key that didn't include the uncompressed public key), as well as
|
||||||
|
mbedtls_ecp_mul() / mbedtls_ecp_mul_restartable() when called with a NULL
|
||||||
|
f_rng argument. An attacker with access to precise enough timing and
|
||||||
|
memory access information (typically an untrusted operating system
|
||||||
|
attacking a secure enclave) could fully recover the ECC private key.
|
||||||
|
Found and reported by Alejandro Cabrera Aldaya and Billy Brumley.
|
||||||
|
* Fix issue in Lucky 13 counter-measure that could make it ineffective when
|
||||||
|
hardware accelerators were used (using one of the MBEDTLS_SHAxxx_ALT
|
||||||
|
macros). This would cause the original Lucky 13 attack to be possible in
|
||||||
|
those configurations, allowing an active network attacker to recover
|
||||||
|
plaintext after repeated timing measurements under some conditions.
|
||||||
|
Reported and fix suggested by Luc Perneel in #3246.
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Fix the Visual Studio Release x64 build configuration for mbedtls itself.
|
||||||
|
Completes a previous fix in Mbed TLS 2.16.3 that only fixed the build for
|
||||||
|
the example programs. Reported in #1430 and fix contributed by irwir.
|
||||||
|
* Fix undefined behavior in X.509 certificate parsing if the
|
||||||
|
pathLenConstraint basic constraint value is equal to INT_MAX.
|
||||||
|
The actual effect with almost every compiler is the intended
|
||||||
|
behavior, so this is unlikely to be exploitable anywhere. #3197
|
||||||
|
* Include asn1.h in error.c. Fixes #3328 reported by David Hu.
|
||||||
|
* Fix potential memory leaks in ecp_randomize_jac() and ecp_randomize_mxz()
|
||||||
|
when PRNG function fails. Contributed by Jonas Lejeune in #3318.
|
||||||
|
* Add additional bounds checks in ssl_write_client_hello() preventing
|
||||||
|
output buffer overflow if the configuration declared a buffer that was
|
||||||
|
too small.
|
||||||
|
|
||||||
|
Changes
|
||||||
|
* Unify the example programs termination to call mbedtls_exit() instead of
|
||||||
|
using a return command. This has been done to enable customization of the
|
||||||
|
behavior in bare metal environments.
|
||||||
|
* Abort the ClientHello writing function as soon as some extension doesn't
|
||||||
|
fit into the record buffer. Previously, such extensions were silently
|
||||||
|
dropped. As a consequence, the TLS handshake now fails when the output
|
||||||
|
buffer is not large enough to hold the ClientHello.
|
||||||
|
* The ECP module, enabled by `MBEDTLS_ECP_C`, now depends on
|
||||||
|
`MBEDTLS_CTR_DRBG_C`, `MBEDTLS_HMAC_DRBG_C`, `MBEDTLS_SHA512_C` or
|
||||||
|
`MBEDTLS_SHA256_C` for some side-channel coutermeasures. If side channels
|
||||||
|
are not a concern, this dependency can be avoided by enabling the new
|
||||||
|
option `MBEDTLS_ECP_NO_INTERNAL_RNG`.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.6 branch released 2020-04-14
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Fix side channel in ECC code that allowed an adversary with access to
|
||||||
|
precise enough timing and memory access information (typically an
|
||||||
|
untrusted operating system attacking a secure enclave) to fully recover
|
||||||
|
an ECDSA private key. Found and reported by Alejandro Cabrera Aldaya,
|
||||||
|
Billy Brumley and Cesar Pereida Garcia. CVE-2020-10932
|
||||||
|
* Fix a potentially remotely exploitable buffer overread in a
|
||||||
|
DTLS client when parsing the Hello Verify Request message.
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Fix compilation failure when both MBEDTLS_SSL_PROTO_DTLS and
|
||||||
|
MBEDTLS_SSL_HW_RECORD_ACCEL are enabled.
|
||||||
|
* Fix a function name in a debug message. Contributed by Ercan Ozturk in
|
||||||
|
#3013.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.5 branch released 2020-02-20
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Fix potential memory overread when performing an ECDSA signature
|
||||||
|
operation. The overread only happens with cryptographically low
|
||||||
|
probability (of the order of 2^-n where n is the bitsize of the curve)
|
||||||
|
unless the RNG is broken, and could result in information disclosure or
|
||||||
|
denial of service (application crash or extra resource consumption).
|
||||||
|
Found by Auke Zeilstra and Peter Schwabe, using static analysis.
|
||||||
|
* To avoid a side channel vulnerability when parsing an RSA private key,
|
||||||
|
read all the CRT parameters from the DER structure rather than
|
||||||
|
reconstructing them. Found by Alejandro Cabrera Aldaya and Billy Bob
|
||||||
|
Brumley. Reported and fix contributed by Jack Lloyd.
|
||||||
|
ARMmbed/mbed-crypto#352
|
||||||
|
|
||||||
|
Bugfix
|
||||||
|
* Fix an unchecked call to mbedtls_md() in the x509write module.
|
||||||
|
* Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some
|
||||||
|
RSA keys that would later be rejected by functions expecting private
|
||||||
|
keys. Found by Catena cyber using oss-fuzz (issue 20467).
|
||||||
|
* Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some
|
||||||
|
RSA keys with invalid values by silently fixing those values.
|
||||||
|
|
||||||
|
= mbed TLS 2.16.4 branch released 2020-01-15
|
||||||
|
|
||||||
|
Security
|
||||||
|
* Fix side channel vulnerability in ECDSA. Our bignum implementation is not
|
||||||
|
constant time/constant trace, so side channel attacks can retrieve the
|
||||||
|
blinded value, factor it (as it is smaller than RSA keys and not guaranteed
|
||||||
|
to have only large prime factors), and then, by brute force, recover the
|
||||||
|
key. Reported by Alejandro Cabrera Aldaya and Billy Brumley.
|
||||||
|
* Zeroize local variables in mbedtls_internal_aes_encrypt() and
|
||||||
|
mbedtls_internal_aes_decrypt() before exiting the function. The value of
|
||||||
|
these variables can be used to recover the last round key. To follow best
|
||||||
|
practice and to limit the impact of buffer overread vulnerabilities (like
|
||||||
|
Heartbleed) we need to zeroize them before exiting the function.
|
||||||
|
Issue reported by Tuba Yavuz, Farhaan Fowze, Ken (Yihang) Bai,
|
||||||
|
Grant Hernandez, and Kevin Butler (University of Florida) and
|
||||||
|
Dave Tian (Purdue University).
|
||||||
|
* Fix side channel vulnerability in ECDSA key generation. Obtaining precise
|
||||||
|
timings on the comparison in the key generation enabled the attacker to
|
||||||
|
learn leading bits of the ephemeral key used during ECDSA signatures and to
|
||||||
|
recover the private key. Reported by Jeremy Dubeuf.
|
||||||
|
* Catch failure of AES functions in mbedtls_ctr_drbg_random(). Uncaught
|
||||||
|
failures could happen with alternative implementations of AES. Bug
|
||||||
|
reported and fix proposed by Johan Uppman Bruce and Christoffer Lauri,
|
||||||
|
Sectra.
|
||||||
|
|
||||||
Bugfix
|
Bugfix
|
||||||
* Remove redundant line for getting the bitlen of a bignum, since the variable
|
* Remove redundant line for getting the bitlen of a bignum, since the variable
|
||||||
holding the returned value is overwritten a line after.
|
holding the returned value is overwritten a line after.
|
||||||
Found by irwir in #2377.
|
Found by irwir in #2377.
|
||||||
|
* Support mbedtls_hmac_drbg_set_entropy_len() and
|
||||||
|
mbedtls_ctr_drbg_set_entropy_len() before the DRBG is seeded. Before,
|
||||||
|
the initial seeding always reset the entropy length to the compile-time
|
||||||
|
default.
|
||||||
|
|
||||||
Changes
|
Changes
|
||||||
* Add unit tests for AES-GCM when called through mbedtls_cipher_auth_xxx()
|
* Add unit tests for AES-GCM when called through mbedtls_cipher_auth_xxx()
|
||||||
from the cipher abstraction layer. Fixes #2198.
|
from the cipher abstraction layer. Fixes #2198.
|
||||||
|
* Clarify how the interface of the CTR_DRBG and HMAC modules relates to
|
||||||
|
NIST SP 800-90A. In particular CTR_DRBG requires an explicit nonce
|
||||||
|
to achieve a 256-bit strength if MBEDTLS_ENTROPY_FORCE_SHA256 is set.
|
||||||
|
|
||||||
= mbed TLS 2.16.3 branch released 2019-09-06
|
= mbed TLS 2.16.3 branch released 2019-09-06
|
||||||
|
|
||||||
|
|
88
ChangeLog.d/00README.md
Normal file
88
ChangeLog.d/00README.md
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
# Pending changelog entry directory
|
||||||
|
|
||||||
|
This directory contains changelog entries that have not yet been merged
|
||||||
|
to the changelog file ([`../ChangeLog`](../ChangeLog)).
|
||||||
|
|
||||||
|
## What requires a changelog entry?
|
||||||
|
|
||||||
|
Write a changelog entry if there is a user-visible change. This includes:
|
||||||
|
|
||||||
|
* Bug fixes in the library or in sample programs: fixing a security hole,
|
||||||
|
fixing broken behavior, fixing the build in some configuration or on some
|
||||||
|
platform, etc.
|
||||||
|
* New features in the library, new sample programs, or new platform support.
|
||||||
|
* Changes in existing behavior. These should be rare. Changes in features
|
||||||
|
that are documented as experimental may or may not be announced, depending
|
||||||
|
on the extent of the change and how widely we expect the feature to be used.
|
||||||
|
|
||||||
|
We generally don't include changelog entries for:
|
||||||
|
|
||||||
|
* Documentation improvements.
|
||||||
|
* Performance improvements, unless they are particularly significant.
|
||||||
|
* Changes to parts of the code base that users don't interact with directly,
|
||||||
|
such as test code and test data.
|
||||||
|
|
||||||
|
Until Mbed TLS 2.16.8, we required changelog entries in more cases.
|
||||||
|
Looking at older changelog entries is good practice for how to write a
|
||||||
|
changelog entry, but not for deciding whether to write one.
|
||||||
|
|
||||||
|
## Changelog entry file format
|
||||||
|
|
||||||
|
A changelog entry file must have the extension `*.txt` and must have the
|
||||||
|
following format:
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Security
|
||||||
|
* Change description.
|
||||||
|
* Another change description.
|
||||||
|
|
||||||
|
Features
|
||||||
|
* Yet another change description. This is a long change description that
|
||||||
|
spans multiple lines.
|
||||||
|
* Yet again another change description.
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The permitted changelog entry categories are as follows:
|
||||||
|
<!-- Keep this synchronized with STANDARD_CATEGORIES in assemble_changelog.py! -->
|
||||||
|
|
||||||
|
API changes
|
||||||
|
Default behavior changes
|
||||||
|
Requirement changes
|
||||||
|
New deprecations
|
||||||
|
Removals
|
||||||
|
Features
|
||||||
|
Security
|
||||||
|
Bugfix
|
||||||
|
Changes
|
||||||
|
|
||||||
|
Use “Changes” for anything that doesn't fit in the other categories.
|
||||||
|
|
||||||
|
## How to write a changelog entry
|
||||||
|
|
||||||
|
Each entry starts with three spaces, an asterisk and a space. Continuation
|
||||||
|
lines start with 5 spaces. Lines wrap at 79 characters.
|
||||||
|
|
||||||
|
Write full English sentences with proper capitalization and punctuation. Use
|
||||||
|
the present tense. Use the imperative where applicable. For example: “Fix a
|
||||||
|
bug in mbedtls_xxx() ….”
|
||||||
|
|
||||||
|
Include GitHub issue numbers where relevant. Use the format “#1234” for an
|
||||||
|
Mbed TLS issue. Add other external references such as CVE numbers where
|
||||||
|
applicable.
|
||||||
|
|
||||||
|
Credit bug reporters where applicable.
|
||||||
|
|
||||||
|
**Explain why, not how**. Remember that the audience is the users of the
|
||||||
|
library, not its developers. In particular, for a bug fix, explain the
|
||||||
|
consequences of the bug, not how the bug was fixed. For a new feature, explain
|
||||||
|
why one might be interested in the feature. For an API change or a deprecation,
|
||||||
|
explain how to update existing applications.
|
||||||
|
|
||||||
|
See [existing entries](../ChangeLog) for examples.
|
||||||
|
|
||||||
|
## How `ChangeLog` is updated
|
||||||
|
|
||||||
|
Run [`../scripts/assemble_changelog.py`](../scripts/assemble_changelog.py)
|
||||||
|
from a Git working copy
|
||||||
|
to move the entries from files in `ChangeLog.d` to the main `ChangeLog` file.
|
3
ChangeLog.d/add-missing-parenthesis.txt
Normal file
3
ChangeLog.d/add-missing-parenthesis.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Bugfix
|
||||||
|
* Fix a compilation error when MBEDTLS_ECP_RANDOMIZE_MXZ_ALT is
|
||||||
|
defined. Fixes #4217.
|
3
ChangeLog.d/aescrypt2.txt
Normal file
3
ChangeLog.d/aescrypt2.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Changes
|
||||||
|
* Remove the AES sample application programs/aes/aescrypt2 which shows
|
||||||
|
bad cryptographic practice. Fix #1906.
|
5
ChangeLog.d/bugfix_PR3616.txt
Normal file
5
ChangeLog.d/bugfix_PR3616.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Bugfix
|
||||||
|
* Fix premature fopen() call in mbedtls_entropy_write_seed_file which may
|
||||||
|
lead to the seed file corruption in case if the path to the seed file is
|
||||||
|
equal to MBEDTLS_PLATFORM_STD_NV_SEED_FILE. Contributed by Victor
|
||||||
|
Krasnoshchok in #3616.
|
4
ChangeLog.d/dhm_min_bitlen.txt
Normal file
4
ChangeLog.d/dhm_min_bitlen.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Bugfix
|
||||||
|
* In a TLS client, enforce the Diffie-Hellman minimum parameter size
|
||||||
|
set with mbedtls_ssl_conf_dhm_min_bitlen() precisely. Before, the
|
||||||
|
minimum size was rounded down to the nearest multiple of 8.
|
2
ChangeLog.d/dtls_sample_use_read_timeout.txt
Normal file
2
ChangeLog.d/dtls_sample_use_read_timeout.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Changes
|
||||||
|
* Fix the setting of the read timeout in the DTLS sample programs.
|
2
ChangeLog.d/fix-pk-parse-key-error-code.txt
Normal file
2
ChangeLog.d/fix-pk-parse-key-error-code.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Bugfix
|
||||||
|
* Fix an incorrect error code when parsing a PKCS#8 private key.
|
3
ChangeLog.d/mpi_read_negative_zero.txt
Normal file
3
ChangeLog.d/mpi_read_negative_zero.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Bugfix
|
||||||
|
* mbedtls_mpi_read_string on "-0" produced an MPI object that was not treated
|
||||||
|
as equal to 0 in all cases. Fix it to produce the same object as "0".
|
7
LICENSE
7
LICENSE
|
@ -1,2 +1,5 @@
|
||||||
Unless specifically indicated otherwise in a file, files are licensed
|
Unless specifically indicated otherwise in a file, Mbed TLS files are provided
|
||||||
under the Apache 2.0 license, as can be found in: apache-2.0.txt
|
under the Apache License 2.0, or the GNU General Public License v2.0 or later
|
||||||
|
(SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later).
|
||||||
|
|
||||||
|
A copy of these licenses can be found in apache-2.0.txt and gpl-2.0.txt
|
||||||
|
|
19
Makefile
19
Makefile
|
@ -106,11 +106,11 @@ covtest:
|
||||||
lcov:
|
lcov:
|
||||||
rm -rf Coverage
|
rm -rf Coverage
|
||||||
lcov --capture --initial --directory library -o files.info
|
lcov --capture --initial --directory library -o files.info
|
||||||
lcov --capture --directory library -o tests.info
|
lcov --rc lcov_branch_coverage=1 --capture --directory library -o tests.info
|
||||||
lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
|
lcov --rc lcov_branch_coverage=1 --add-tracefile files.info --add-tracefile tests.info -o all.info
|
||||||
lcov --remove all.info -o final.info '*.h'
|
lcov --rc lcov_branch_coverage=1 --remove all.info -o final.info '*.h'
|
||||||
gendesc tests/Descriptions.txt -o descriptions
|
gendesc tests/Descriptions.txt -o descriptions
|
||||||
genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info
|
genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --branch-coverage -o Coverage final.info
|
||||||
rm -f files.info tests.info all.info final.info descriptions
|
rm -f files.info tests.info all.info final.info descriptions
|
||||||
|
|
||||||
apidoc:
|
apidoc:
|
||||||
|
@ -123,9 +123,16 @@ endif
|
||||||
|
|
||||||
## Editor navigation files
|
## Editor navigation files
|
||||||
C_SOURCE_FILES = $(wildcard include/*/*.h library/*.[hc] programs/*/*.[hc] tests/suites/*.function)
|
C_SOURCE_FILES = $(wildcard include/*/*.h library/*.[hc] programs/*/*.[hc] tests/suites/*.function)
|
||||||
|
# Exuberant-ctags invocation. Other ctags implementations may require different options.
|
||||||
|
CTAGS = ctags --langmap=c:+.h.function --line-directives=no -o
|
||||||
tags: $(C_SOURCE_FILES)
|
tags: $(C_SOURCE_FILES)
|
||||||
ctags -o $@ $(C_SOURCE_FILES)
|
$(CTAGS) $@ $(C_SOURCE_FILES)
|
||||||
TAGS: $(C_SOURCE_FILES)
|
TAGS: $(C_SOURCE_FILES)
|
||||||
etags -o $@ $(C_SOURCE_FILES)
|
etags --no-line-directive -o $@ $(C_SOURCE_FILES)
|
||||||
|
global: GPATH GRTAGS GSYMS GTAGS
|
||||||
GPATH GRTAGS GSYMS GTAGS: $(C_SOURCE_FILES)
|
GPATH GRTAGS GSYMS GTAGS: $(C_SOURCE_FILES)
|
||||||
ls $(C_SOURCE_FILES) | gtags -f - --gtagsconf .globalrc
|
ls $(C_SOURCE_FILES) | gtags -f - --gtagsconf .globalrc
|
||||||
|
cscope: cscope.in.out cscope.po.out cscope.out
|
||||||
|
cscope.in.out cscope.po.out cscope.out: $(C_SOURCE_FILES)
|
||||||
|
cscope -bq -u -Iinclude -Ilibrary $(patsubst %,-I%,$(wildcard 3rdparty/*/include)) -Itests/include $(C_SOURCE_FILES)
|
||||||
|
.PHONY: cscope global
|
||||||
|
|
23
README.md
23
README.md
|
@ -1,6 +1,8 @@
|
||||||
README for Mbed TLS
|
README for Mbed TLS
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
Mbed TLS is a C library that implements cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocols. Its small code footprint makes it suitable for embedded systems.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@ -167,21 +169,12 @@ Mbed TLS can be ported to many different architectures, OS's and platforms. Befo
|
||||||
- [What external dependencies does Mbed TLS rely on?](https://tls.mbed.org/kb/development/what-external-dependencies-does-mbedtls-rely-on)
|
- [What external dependencies does Mbed TLS rely on?](https://tls.mbed.org/kb/development/what-external-dependencies-does-mbedtls-rely-on)
|
||||||
- [How do I configure Mbed TLS](https://tls.mbed.org/kb/compiling-and-building/how-do-i-configure-mbedtls)
|
- [How do I configure Mbed TLS](https://tls.mbed.org/kb/compiling-and-building/how-do-i-configure-mbedtls)
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
Unless specifically indicated otherwise in a file, Mbed TLS files are provided under the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) OR [GPL-2.0-or-later](https://spdx.org/licenses/GPL-2.0-or-later.html) licenses. A copy of these licenses can be found in [apache-2.0.txt](./apache-2.0.txt) and [gpl-2.0.txt](./gpl-2.0.txt). Contributors must accept that their contributions are made under both the Apache-2.0 AND GPL-2.0-or-later licenses.
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
------------
|
------------
|
||||||
|
|
||||||
We gratefully accept bug reports and contributions from the community. There are some requirements we need to fulfill in order to be able to integrate contributions:
|
We gratefully accept bug reports and contributions from the community. Please see the [contributing guidelines](CONTRIBUTING.md) for details on how to do this.
|
||||||
|
|
||||||
- All contributions, whether large or small require a Contributor's License Agreement (CLA) to be accepted. This is because source code can possibly fall under copyright law and we need your consent to share in the ownership of the copyright.
|
|
||||||
- We would ask that contributions conform to [our coding standards](https://tls.mbed.org/kb/development/mbedtls-coding-standards), and that contributions should be fully tested before submission.
|
|
||||||
- As with any open source project, contributions will be reviewed by the project team and community and may need some modifications to be accepted.
|
|
||||||
|
|
||||||
To accept the Contributor’s Licence Agreement (CLA), individual contributors can do this by creating an Mbed account and [accepting the online agreement here with a click through](https://os.mbed.com/contributor_agreement/). Alternatively, for contributions from corporations, or those that do not wish to create an Mbed account, a slightly different agreement can be found [here](https://www.mbed.com/en/about-mbed/contributor-license-agreements/). This agreement should be signed and returned to Arm as described in the instructions given.
|
|
||||||
|
|
||||||
### Making a Contribution
|
|
||||||
|
|
||||||
1. [Check for open issues](https://github.com/ARMmbed/mbedtls/issues) or [start a discussion](https://forums.mbed.com/c/mbed-tls) around a feature idea or a bug.
|
|
||||||
2. Fork the [Mbed TLS repository on GitHub](https://github.com/ARMmbed/mbedtls) to start making your changes. As a general rule, you should use the "development" branch as a basis.
|
|
||||||
3. Write a test which shows that the bug was fixed or that the feature works as expected.
|
|
||||||
4. Send a pull request and bug us until it gets merged and published. Contributions may need some modifications, so work with us to get your change accepted. We will include your name in the ChangeLog :)
|
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
|
* \brief Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
|
* Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Minimal configuration for TLS 1.1 (RFC 4346)
|
* \brief Minimal configuration for TLS 1.1 (RFC 4346)
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Minimal configuration for TLS 1.1 (RFC 4346), implementing only the
|
* Minimal configuration for TLS 1.1 (RFC 4346), implementing only the
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Minimal configuration of features that do not require an entropy source
|
* \brief Minimal configuration of features that do not require an entropy source
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Minimal configuration of features that do not require an entropy source
|
* Minimal configuration of features that do not require an entropy source
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Minimal configuration for TLS NSA Suite B Profile (RFC 6460)
|
* \brief Minimal configuration for TLS NSA Suite B Profile (RFC 6460)
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Minimal configuration for TLS NSA Suite B Profile (RFC 6460)
|
* Minimal configuration for TLS NSA Suite B Profile (RFC 6460)
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Minimal configuration for using TLS as part of Thread
|
* \brief Minimal configuration for using TLS as part of Thread
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
37
dco.txt
Normal file
37
dco.txt
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
Developer Certificate of Origin
|
||||||
|
Version 1.1
|
||||||
|
|
||||||
|
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||||
|
1 Letterman Drive
|
||||||
|
Suite D4700
|
||||||
|
San Francisco, CA, 94129
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
Developer's Certificate of Origin 1.1
|
||||||
|
|
||||||
|
By making a contribution to this project, I certify that:
|
||||||
|
|
||||||
|
(a) The contribution was created in whole or in part by me and I
|
||||||
|
have the right to submit it under the open source license
|
||||||
|
indicated in the file; or
|
||||||
|
|
||||||
|
(b) The contribution is based upon previous work that, to the best
|
||||||
|
of my knowledge, is covered under an appropriate open source
|
||||||
|
license and I have the right under that license to submit that
|
||||||
|
work with modifications, whether created in whole or in part
|
||||||
|
by me, under the same open source license (unless I am
|
||||||
|
permitted to submit under a different license), as indicated
|
||||||
|
in the file; or
|
||||||
|
|
||||||
|
(c) The contribution was provided directly to me by some other
|
||||||
|
person who certified (a), (b) or (c) and I have not modified
|
||||||
|
it.
|
||||||
|
|
||||||
|
(d) I understand and agree that this project and the contribution
|
||||||
|
are public and that a record of the contribution (including all
|
||||||
|
personal information I submit with it, including my sign-off) is
|
||||||
|
maintained indefinitely and may be redistributed consistent with
|
||||||
|
this project or the open source license(s) involved.
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,11 +26,30 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @mainpage mbed TLS v2.16.3 source code documentation
|
* @mainpage mbed TLS v2.16.10 source code documentation
|
||||||
*
|
*
|
||||||
* This documentation describes the internal structure of mbed TLS. It was
|
* This documentation describes the internal structure of mbed TLS. It was
|
||||||
* automatically generated from specially formatted comment blocks in
|
* automatically generated from specially formatted comment blocks in
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -28,7 +28,7 @@ DOXYFILE_ENCODING = UTF-8
|
||||||
# identify the project. Note that if you do not use Doxywizard you need
|
# identify the project. Note that if you do not use Doxywizard you need
|
||||||
# to put quotes around the project name if it contains spaces.
|
# to put quotes around the project name if it contains spaces.
|
||||||
|
|
||||||
PROJECT_NAME = "mbed TLS v2.16.3"
|
PROJECT_NAME = "mbed TLS v2.16.10"
|
||||||
|
|
||||||
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||||
# This could be handy for archiving the generated documentation or
|
# This could be handy for archiving the generated documentation or
|
||||||
|
|
339
gpl-2.0.txt
Normal file
339
gpl-2.0.txt
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
|
@ -20,8 +20,15 @@
|
||||||
* <https://ieeexplore.ieee.org/servlet/opac?punumber=4375278>.
|
* <https://ieeexplore.ieee.org/servlet/opac?punumber=4375278>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved.
|
/*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -35,7 +42,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_AES_H
|
#ifndef MBEDTLS_AES_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* functions; you must not call them directly.
|
* functions; you must not call them directly.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_AESNI_H
|
#ifndef MBEDTLS_AESNI_H
|
||||||
#define MBEDTLS_AESNI_H
|
#define MBEDTLS_AESNI_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* security risk. We recommend considering stronger ciphers instead.
|
* security risk. We recommend considering stronger ciphers instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ARC4_H
|
#ifndef MBEDTLS_ARC4_H
|
||||||
|
|
|
@ -9,8 +9,15 @@
|
||||||
* Korean, but see http://210.104.33.10/ARIA/index-e.html in English)
|
* Korean, but see http://210.104.33.10/ARIA/index-e.html in English)
|
||||||
* and also described by the IETF in <em>RFC 5794</em>.
|
* and also described by the IETF in <em>RFC 5794</em>.
|
||||||
*/
|
*/
|
||||||
/* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
|
/*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -24,7 +31,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_ARIA_H
|
#ifndef MBEDTLS_ARIA_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Generic ASN.1 parsing
|
* \brief Generic ASN.1 parsing
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ASN1_H
|
#ifndef MBEDTLS_ASN1_H
|
||||||
#define MBEDTLS_ASN1_H
|
#define MBEDTLS_ASN1_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief ASN.1 buffer writing functionality
|
* \brief ASN.1 buffer writing functionality
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ASN1_WRITE_H
|
#ifndef MBEDTLS_ASN1_WRITE_H
|
||||||
#define MBEDTLS_ASN1_WRITE_H
|
#define MBEDTLS_ASN1_WRITE_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief RFC 1521 base64 encoding/decoding
|
* \brief RFC 1521 base64 encoding/decoding
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_BASE64_H
|
#ifndef MBEDTLS_BASE64_H
|
||||||
#define MBEDTLS_BASE64_H
|
#define MBEDTLS_BASE64_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Multi-precision integer library
|
* \brief Multi-precision integer library
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_BIGNUM_H
|
#ifndef MBEDTLS_BIGNUM_H
|
||||||
#define MBEDTLS_BIGNUM_H
|
#define MBEDTLS_BIGNUM_H
|
||||||
|
@ -63,12 +88,12 @@
|
||||||
* Maximum window size used for modular exponentiation. Default: 6
|
* Maximum window size used for modular exponentiation. Default: 6
|
||||||
* Minimum value: 1. Maximum value: 6.
|
* Minimum value: 1. Maximum value: 6.
|
||||||
*
|
*
|
||||||
* Result is an array of ( 2 << MBEDTLS_MPI_WINDOW_SIZE ) MPIs used
|
* Result is an array of ( 2 ** MBEDTLS_MPI_WINDOW_SIZE ) MPIs used
|
||||||
* for the sliding window calculation. (So 64 by default)
|
* for the sliding window calculation. (So 64 by default)
|
||||||
*
|
*
|
||||||
* Reduction in size, reduces speed.
|
* Reduction in size, reduces speed.
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
|
#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */
|
||||||
#endif /* !MBEDTLS_MPI_WINDOW_SIZE */
|
#endif /* !MBEDTLS_MPI_WINDOW_SIZE */
|
||||||
|
|
||||||
#if !defined(MBEDTLS_MPI_MAX_SIZE)
|
#if !defined(MBEDTLS_MPI_MAX_SIZE)
|
||||||
|
@ -184,7 +209,7 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
typedef struct mbedtls_mpi
|
typedef struct mbedtls_mpi
|
||||||
{
|
{
|
||||||
int s; /*!< integer sign */
|
int s; /*!< Sign: -1 if the mpi is negative, 1 otherwise */
|
||||||
size_t n; /*!< total # of limbs */
|
size_t n; /*!< total # of limbs */
|
||||||
mbedtls_mpi_uint *p; /*!< pointer to limbs */
|
mbedtls_mpi_uint *p; /*!< pointer to limbs */
|
||||||
}
|
}
|
||||||
|
@ -559,6 +584,24 @@ int mbedtls_mpi_cmp_abs( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
||||||
*/
|
*/
|
||||||
int mbedtls_mpi_cmp_mpi( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
int mbedtls_mpi_cmp_mpi( const mbedtls_mpi *X, const mbedtls_mpi *Y );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Check if an MPI is less than the other in constant time.
|
||||||
|
*
|
||||||
|
* \param X The left-hand MPI. This must point to an initialized MPI
|
||||||
|
* with the same allocated length as Y.
|
||||||
|
* \param Y The right-hand MPI. This must point to an initialized MPI
|
||||||
|
* with the same allocated length as X.
|
||||||
|
* \param ret The result of the comparison:
|
||||||
|
* \c 1 if \p X is less than \p Y.
|
||||||
|
* \c 0 if \p X is greater than or equal to \p Y.
|
||||||
|
*
|
||||||
|
* \return 0 on success.
|
||||||
|
* \return MBEDTLS_ERR_MPI_BAD_INPUT_DATA if the allocated length of
|
||||||
|
* the two input MPIs is not the same.
|
||||||
|
*/
|
||||||
|
int mbedtls_mpi_lt_mpi_ct( const mbedtls_mpi *X, const mbedtls_mpi *Y,
|
||||||
|
unsigned *ret );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Compare an MPI with an integer.
|
* \brief Compare an MPI with an integer.
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Blowfish block cipher
|
* \brief Blowfish block cipher
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_BLOWFISH_H
|
#ifndef MBEDTLS_BLOWFISH_H
|
||||||
#define MBEDTLS_BLOWFISH_H
|
#define MBEDTLS_BLOWFISH_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Multi-precision integer library
|
* \brief Multi-precision integer library
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Multiply source vector [s] with b, add result
|
* Multiply source vector [s] with b, add result
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Camellia block cipher
|
* \brief Camellia block cipher
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_CAMELLIA_H
|
#ifndef MBEDTLS_CAMELLIA_H
|
||||||
#define MBEDTLS_CAMELLIA_H
|
#define MBEDTLS_CAMELLIA_H
|
||||||
|
|
|
@ -28,8 +28,14 @@
|
||||||
* consistent with RFC 3610.
|
* consistent with RFC 3610.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -43,7 +49,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CCM_H
|
#ifndef MBEDTLS_CCM_H
|
||||||
|
@ -150,7 +175,7 @@ void mbedtls_ccm_free( mbedtls_ccm_context *ctx );
|
||||||
* than zero, \p output must be a writable buffer of at least
|
* than zero, \p output must be a writable buffer of at least
|
||||||
* that length.
|
* that length.
|
||||||
* \param tag The buffer holding the authentication field. This must be a
|
* \param tag The buffer holding the authentication field. This must be a
|
||||||
* readable buffer of at least \p tag_len Bytes.
|
* writable buffer of at least \p tag_len Bytes.
|
||||||
* \param tag_len The length of the authentication field to generate in Bytes:
|
* \param tag_len The length of the authentication field to generate in Bytes:
|
||||||
* 4, 6, 8, 10, 12, 14 or 16.
|
* 4, 6, 8, 10, 12, 14 or 16.
|
||||||
*
|
*
|
||||||
|
@ -195,7 +220,7 @@ int mbedtls_ccm_encrypt_and_tag( mbedtls_ccm_context *ctx, size_t length,
|
||||||
* than zero, \p output must be a writable buffer of at least
|
* than zero, \p output must be a writable buffer of at least
|
||||||
* that length.
|
* that length.
|
||||||
* \param tag The buffer holding the authentication field. This must be a
|
* \param tag The buffer holding the authentication field. This must be a
|
||||||
* readable buffer of at least \p tag_len Bytes.
|
* writable buffer of at least \p tag_len Bytes.
|
||||||
* \param tag_len The length of the authentication field to generate in Bytes:
|
* \param tag_len The length of the authentication field to generate in Bytes:
|
||||||
* 0, 4, 6, 8, 10, 12, 14 or 16.
|
* 0, 4, 6, 8, 10, 12, 14 or 16.
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Sample certificates and DHM parameters for testing
|
* \brief Sample certificates and DHM parameters for testing
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_CERTS_H
|
#ifndef MBEDTLS_CERTS_H
|
||||||
#define MBEDTLS_CERTS_H
|
#define MBEDTLS_CERTS_H
|
||||||
|
|
|
@ -12,8 +12,15 @@
|
||||||
* \author Daniel King <damaki.gh@gmail.com>
|
* \author Daniel King <damaki.gh@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved.
|
/*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -27,7 +34,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CHACHA20_H
|
#ifndef MBEDTLS_CHACHA20_H
|
||||||
|
|
|
@ -12,8 +12,15 @@
|
||||||
* \author Daniel King <damaki.gh@gmail.com>
|
* \author Daniel King <damaki.gh@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved.
|
/*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -27,7 +34,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CHACHAPOLY_H
|
#ifndef MBEDTLS_CHACHAPOLY_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Consistency checks for configuration options
|
* \brief Consistency checks for configuration options
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -140,6 +165,16 @@
|
||||||
#error "MBEDTLS_ECP_C defined, but not all prerequisites"
|
#error "MBEDTLS_ECP_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_ECP_C) && !( \
|
||||||
|
defined(MBEDTLS_ECP_ALT) || \
|
||||||
|
defined(MBEDTLS_CTR_DRBG_C) || \
|
||||||
|
defined(MBEDTLS_HMAC_DRBG_C) || \
|
||||||
|
defined(MBEDTLS_SHA512_C) || \
|
||||||
|
defined(MBEDTLS_SHA256_C) || \
|
||||||
|
defined(MBEDTLS_ECP_NO_INTERNAL_RNG))
|
||||||
|
#error "MBEDTLS_ECP_C requires a DRBG or SHA-2 module unless MBEDTLS_ECP_NO_INTERNAL_RNG is defined or an alternative implementation is used"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_ASN1_PARSE_C)
|
#if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_ASN1_PARSE_C)
|
||||||
#error "MBEDTLS_PK_PARSE_C defined, but not all prerequesites"
|
#error "MBEDTLS_PK_PARSE_C defined, but not all prerequesites"
|
||||||
#endif
|
#endif
|
||||||
|
@ -162,6 +197,16 @@
|
||||||
#error "MBEDTLS_ENTROPY_FORCE_SHA256 defined, but not all prerequisites"
|
#error "MBEDTLS_ENTROPY_FORCE_SHA256 defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__has_feature)
|
||||||
|
#if __has_feature(memory_sanitizer)
|
||||||
|
#define MBEDTLS_HAS_MEMSAN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN) && !defined(MBEDTLS_HAS_MEMSAN)
|
||||||
|
#error "MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN requires building with MemorySanitizer"
|
||||||
|
#endif
|
||||||
|
#undef MBEDTLS_HAS_MEMSAN
|
||||||
|
|
||||||
#if defined(MBEDTLS_TEST_NULL_ENTROPY) && \
|
#if defined(MBEDTLS_TEST_NULL_ENTROPY) && \
|
||||||
( !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) )
|
( !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) )
|
||||||
#error "MBEDTLS_TEST_NULL_ENTROPY defined, but not all prerequisites"
|
#error "MBEDTLS_TEST_NULL_ENTROPY defined, but not all prerequisites"
|
||||||
|
@ -546,6 +591,23 @@
|
||||||
#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"
|
#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined(MBEDTLS_SSL_PROTO_SSL3) || defined(MBEDTLS_SSL_PROTO_TLS1) || \
|
||||||
|
defined(MBEDTLS_SSL_PROTO_TLS1_1) || defined(MBEDTLS_SSL_PROTO_TLS1_2)) && \
|
||||||
|
!(defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
||||||
|
defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) )
|
||||||
|
#error "One or more versions of the TLS protocol are enabled " \
|
||||||
|
"but no key exchange methods defined with MBEDTLS_KEY_EXCHANGE_xxxx"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_PROTO_DTLS) && \
|
#if defined(MBEDTLS_SSL_PROTO_DTLS) && \
|
||||||
!defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
|
!defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
|
||||||
!defined(MBEDTLS_SSL_PROTO_TLS1_2)
|
!defined(MBEDTLS_SSL_PROTO_TLS1_2)
|
||||||
|
@ -669,6 +731,10 @@
|
||||||
#error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites"
|
#error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_CERTS_C) && !defined(MBEDTLS_X509_USE_C)
|
||||||
|
#error "MBEDTLS_CERTS_C defined, but not all prerequisites"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) )
|
#if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) )
|
||||||
#error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites"
|
#error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CIPHER_H
|
#ifndef MBEDTLS_CIPHER_H
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_CIPHER_WRAP_H
|
#ifndef MBEDTLS_CIPHER_WRAP_H
|
||||||
#define MBEDTLS_CIPHER_WRAP_H
|
#define MBEDTLS_CIPHER_WRAP_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* Authentication is defined in <em>RFC-4493: The AES-CMAC Algorithm</em>.
|
* Authentication is defined in <em>RFC-4493: The AES-CMAC Algorithm</em>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CMAC_H
|
#ifndef MBEDTLS_CMAC_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* \deprecated Use the new names directly instead
|
* \deprecated Use the new names directly instead
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(MBEDTLS_CONFIG_FILE)
|
#if !defined(MBEDTLS_CONFIG_FILE)
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* memory footprint.
|
* memory footprint.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CONFIG_H
|
#ifndef MBEDTLS_CONFIG_H
|
||||||
|
@ -524,6 +549,42 @@
|
||||||
//#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT
|
//#define MBEDTLS_ECP_RANDOMIZE_MXZ_ALT
|
||||||
//#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT
|
//#define MBEDTLS_ECP_NORMALIZE_MXZ_ALT
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN
|
||||||
|
*
|
||||||
|
* Enable testing of the constant-flow nature of some sensitive functions with
|
||||||
|
* clang's MemorySanitizer. This causes some existing tests to also test
|
||||||
|
* this non-functional property of the code under test.
|
||||||
|
*
|
||||||
|
* This setting requires compiling with clang -fsanitize=memory. The test
|
||||||
|
* suites can then be run normally.
|
||||||
|
*
|
||||||
|
* \warning This macro is only used for extended testing; it is not considered
|
||||||
|
* part of the library's API, so it may change or disappear at any time.
|
||||||
|
*
|
||||||
|
* Uncomment to enable testing of the constant-flow nature of selected code.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND
|
||||||
|
*
|
||||||
|
* Enable testing of the constant-flow nature of some sensitive functions with
|
||||||
|
* valgrind's memcheck tool. This causes some existing tests to also test
|
||||||
|
* this non-functional property of the code under test.
|
||||||
|
*
|
||||||
|
* This setting requires valgrind headers for building, and is only useful for
|
||||||
|
* testing if the tests suites are run with valgrind's memcheck. This can be
|
||||||
|
* done for an individual test suite with 'valgrind ./test_suite_xxx', or when
|
||||||
|
* using CMake, this can be done for all test suites with 'make memcheck'.
|
||||||
|
*
|
||||||
|
* \warning This macro is only used for extended testing; it is not considered
|
||||||
|
* part of the library's API, so it may change or disappear at any time.
|
||||||
|
*
|
||||||
|
* Uncomment to enable testing of the constant-flow nature of selected code.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_TEST_NULL_ENTROPY
|
* \def MBEDTLS_TEST_NULL_ENTROPY
|
||||||
*
|
*
|
||||||
|
@ -689,6 +750,13 @@
|
||||||
#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
|
#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
|
||||||
#define MBEDTLS_CIPHER_PADDING_ZEROS
|
#define MBEDTLS_CIPHER_PADDING_ZEROS
|
||||||
|
|
||||||
|
/** \def MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
|
||||||
|
*
|
||||||
|
* Uncomment this macro to use a 128-bit key in the CTR_DRBG module.
|
||||||
|
* By default, CTR_DRBG uses a 256-bit key.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_ENABLE_WEAK_CIPHERSUITES
|
* \def MBEDTLS_ENABLE_WEAK_CIPHERSUITES
|
||||||
*
|
*
|
||||||
|
@ -773,6 +841,28 @@
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_ECP_NIST_OPTIM
|
#define MBEDTLS_ECP_NIST_OPTIM
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_ECP_NO_INTERNAL_RNG
|
||||||
|
*
|
||||||
|
* When this option is disabled, mbedtls_ecp_mul() will make use of an
|
||||||
|
* internal RNG when called with a NULL \c f_rng argument, in order to protect
|
||||||
|
* against some side-channel attacks.
|
||||||
|
*
|
||||||
|
* This protection introduces a dependency of the ECP module on one of the
|
||||||
|
* DRBG or SHA modules (HMAC-DRBG, CTR-DRBG, SHA-512 or SHA-256.) For very
|
||||||
|
* constrained applications that don't require this protection (for example,
|
||||||
|
* because you're only doing signature verification, so not manipulating any
|
||||||
|
* secret, or because local/physical side-channel attacks are outside your
|
||||||
|
* threat model), it might be desirable to get rid of that dependency.
|
||||||
|
*
|
||||||
|
* \warning Enabling this option makes some uses of ECP vulnerable to some
|
||||||
|
* side-channel attacks. Only enable it if you know that's not a problem for
|
||||||
|
* your use case.
|
||||||
|
*
|
||||||
|
* Uncomment this macro to disable some counter-measures in ECP.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_ECP_NO_INTERNAL_RNG
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_ECP_RESTARTABLE
|
* \def MBEDTLS_ECP_RESTARTABLE
|
||||||
*
|
*
|
||||||
|
@ -1656,6 +1746,23 @@
|
||||||
*/
|
*/
|
||||||
//#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
//#define MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_TEST_HOOKS
|
||||||
|
*
|
||||||
|
* Enable features for invasive testing such as introspection functions and
|
||||||
|
* hooks for fault injection. This enables additional unit tests.
|
||||||
|
*
|
||||||
|
* Merely enabling this feature should not change the behavior of the product.
|
||||||
|
* It only adds new code, and new branching points where the default behavior
|
||||||
|
* is the same as when this feature is disabled.
|
||||||
|
* However, this feature increases the attack surface: there is an added
|
||||||
|
* risk of vulnerabilities, and more gadgets that can make exploits easier.
|
||||||
|
* Therefore this feature must never be enabled in production.
|
||||||
|
*
|
||||||
|
* Uncomment to enable invasive tests.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_TEST_HOOKS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_THREADING_ALT
|
* \def MBEDTLS_THREADING_ALT
|
||||||
*
|
*
|
||||||
|
@ -2142,14 +2249,18 @@
|
||||||
* Requires: MBEDTLS_AES_C or MBEDTLS_DES_C
|
* Requires: MBEDTLS_AES_C or MBEDTLS_DES_C
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
//#define MBEDTLS_CMAC_C
|
#define MBEDTLS_CMAC_C
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_CTR_DRBG_C
|
* \def MBEDTLS_CTR_DRBG_C
|
||||||
*
|
*
|
||||||
* Enable the CTR_DRBG AES-based random generator.
|
* Enable the CTR_DRBG AES-based random generator.
|
||||||
* The CTR_DRBG generator uses AES-256 by default.
|
* The CTR_DRBG generator uses AES-256 by default.
|
||||||
* To use AES-128 instead, enable MBEDTLS_CTR_DRBG_USE_128_BIT_KEY below.
|
* To use AES-128 instead, enable \c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY above.
|
||||||
|
*
|
||||||
|
* \note To achieve a 256-bit security strength with CTR_DRBG,
|
||||||
|
* you must use AES-256 *and* use sufficient entropy.
|
||||||
|
* See ctr_drbg.h for more details.
|
||||||
*
|
*
|
||||||
* Module: library/ctr_drbg.c
|
* Module: library/ctr_drbg.c
|
||||||
* Caller:
|
* Caller:
|
||||||
|
@ -3032,7 +3143,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* MPI / BIGNUM options */
|
/* MPI / BIGNUM options */
|
||||||
//#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
|
//#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */
|
||||||
//#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
|
//#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */
|
||||||
|
|
||||||
/* CTR_DRBG options */
|
/* CTR_DRBG options */
|
||||||
|
@ -3041,7 +3152,6 @@
|
||||||
//#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
|
//#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
|
||||||
//#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
|
//#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
|
||||||
//#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
|
//#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
|
||||||
//#define MBEDTLS_CTR_DRBG_USE_128_BIT_KEY /**< Use 128-bit key for CTR_DRBG - may reduce security (see ctr_drbg.h) */
|
|
||||||
|
|
||||||
/* HMAC_DRBG options */
|
/* HMAC_DRBG options */
|
||||||
//#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
|
//#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* \file ctr_drbg.h
|
* \file ctr_drbg.h
|
||||||
*
|
*
|
||||||
* \brief This file contains CTR_DRBG definitions and functions.
|
* \brief This file contains definitions and functions for the
|
||||||
|
* CTR_DRBG pseudorandom generator.
|
||||||
*
|
*
|
||||||
* CTR_DRBG is a standardized way of building a PRNG from a block-cipher
|
* CTR_DRBG is a standardized way of building a PRNG from a block-cipher
|
||||||
* in counter mode operation, as defined in <em>NIST SP 800-90A:
|
* in counter mode operation, as defined in <em>NIST SP 800-90A:
|
||||||
|
@ -9,14 +10,42 @@
|
||||||
* Bit Generators</em>.
|
* Bit Generators</em>.
|
||||||
*
|
*
|
||||||
* The Mbed TLS implementation of CTR_DRBG uses AES-256 (default) or AES-128
|
* The Mbed TLS implementation of CTR_DRBG uses AES-256 (default) or AES-128
|
||||||
* as the underlying block cipher.
|
* (if \c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is enabled at compile time)
|
||||||
|
* as the underlying block cipher, with a derivation function.
|
||||||
|
* The initial seeding grabs #MBEDTLS_CTR_DRBG_ENTROPY_LEN bytes of entropy.
|
||||||
|
* See the documentation of mbedtls_ctr_drbg_seed() for more details.
|
||||||
*
|
*
|
||||||
* \warning Using 128-bit keys for CTR_DRBG limits the security of generated
|
* Based on NIST SP 800-90A §10.2.1 table 3 and NIST SP 800-57 part 1 table 2,
|
||||||
* keys and operations that use random values generated to 128-bit security.
|
* here are the security strengths achieved in typical configuration:
|
||||||
|
* - 256 bits under the default configuration of the library, with AES-256
|
||||||
|
* and with #MBEDTLS_CTR_DRBG_ENTROPY_LEN set to 48 or more.
|
||||||
|
* - 256 bits if AES-256 is used, #MBEDTLS_CTR_DRBG_ENTROPY_LEN is set
|
||||||
|
* to 32 or more, and the DRBG is initialized with an explicit
|
||||||
|
* nonce in the \c custom parameter to mbedtls_ctr_drbg_seed().
|
||||||
|
* - 128 bits if AES-256 is used but #MBEDTLS_CTR_DRBG_ENTROPY_LEN is
|
||||||
|
* between 24 and 47 and the DRBG is not initialized with an explicit
|
||||||
|
* nonce (see mbedtls_ctr_drbg_seed()).
|
||||||
|
* - 128 bits if AES-128 is used (\c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY enabled)
|
||||||
|
* and #MBEDTLS_CTR_DRBG_ENTROPY_LEN is set to 24 or more (which is
|
||||||
|
* always the case unless it is explicitly set to a different value
|
||||||
|
* in config.h).
|
||||||
|
*
|
||||||
|
* Note that the value of #MBEDTLS_CTR_DRBG_ENTROPY_LEN defaults to:
|
||||||
|
* - \c 48 if the module \c MBEDTLS_SHA512_C is enabled and the symbol
|
||||||
|
* \c MBEDTLS_ENTROPY_FORCE_SHA256 is disabled at compile time.
|
||||||
|
* This is the default configuration of the library.
|
||||||
|
* - \c 32 if the module \c MBEDTLS_SHA512_C is disabled at compile time.
|
||||||
|
* - \c 32 if \c MBEDTLS_ENTROPY_FORCE_SHA256 is enabled at compile time.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -30,7 +59,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_CTR_DRBG_H
|
#ifndef MBEDTLS_CTR_DRBG_H
|
||||||
|
@ -56,9 +104,19 @@
|
||||||
#define MBEDTLS_CTR_DRBG_BLOCKSIZE 16 /**< The block size used by the cipher. */
|
#define MBEDTLS_CTR_DRBG_BLOCKSIZE 16 /**< The block size used by the cipher. */
|
||||||
|
|
||||||
#if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY)
|
#if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY)
|
||||||
#define MBEDTLS_CTR_DRBG_KEYSIZE 16 /**< The key size used by the cipher (compile-time choice: 128 bits). */
|
#define MBEDTLS_CTR_DRBG_KEYSIZE 16
|
||||||
|
/**< The key size in bytes used by the cipher.
|
||||||
|
*
|
||||||
|
* Compile-time choice: 16 bytes (128 bits)
|
||||||
|
* because #MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is enabled.
|
||||||
|
*/
|
||||||
#else
|
#else
|
||||||
#define MBEDTLS_CTR_DRBG_KEYSIZE 32 /**< The key size used by the cipher (compile-time choice: 256 bits). */
|
#define MBEDTLS_CTR_DRBG_KEYSIZE 32
|
||||||
|
/**< The key size in bytes used by the cipher.
|
||||||
|
*
|
||||||
|
* Compile-time choice: 32 bytes (256 bits)
|
||||||
|
* because \c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is disabled.
|
||||||
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MBEDTLS_CTR_DRBG_KEYBITS ( MBEDTLS_CTR_DRBG_KEYSIZE * 8 ) /**< The key size for the DRBG operation, in bits. */
|
#define MBEDTLS_CTR_DRBG_KEYBITS ( MBEDTLS_CTR_DRBG_KEYSIZE * 8 ) /**< The key size for the DRBG operation, in bits. */
|
||||||
|
@ -73,21 +131,31 @@
|
||||||
* \{
|
* \{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \def MBEDTLS_CTR_DRBG_ENTROPY_LEN
|
||||||
|
*
|
||||||
|
* \brief The amount of entropy used per seed by default, in bytes.
|
||||||
|
*/
|
||||||
#if !defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN)
|
#if !defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN)
|
||||||
#if defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_ENTROPY_FORCE_SHA256)
|
#if defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_ENTROPY_FORCE_SHA256)
|
||||||
|
/** This is 48 bytes because the entropy module uses SHA-512
|
||||||
|
* (\c MBEDTLS_ENTROPY_FORCE_SHA256 is disabled).
|
||||||
|
*/
|
||||||
#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48
|
#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48
|
||||||
/**< The amount of entropy used per seed by default:
|
|
||||||
* <ul><li>48 with SHA-512.</li>
|
#else /* defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_ENTROPY_FORCE_SHA256) */
|
||||||
* <li>32 with SHA-256.</li></ul>
|
|
||||||
|
/** This is 32 bytes because the entropy module uses SHA-256
|
||||||
|
* (the SHA512 module is disabled or
|
||||||
|
* \c MBEDTLS_ENTROPY_FORCE_SHA256 is enabled).
|
||||||
*/
|
*/
|
||||||
#else
|
#if !defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY)
|
||||||
|
/** \warning To achieve a 256-bit security strength, you must pass a nonce
|
||||||
|
* to mbedtls_ctr_drbg_seed().
|
||||||
|
*/
|
||||||
|
#endif /* !defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY) */
|
||||||
#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 32
|
#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 32
|
||||||
/**< Amount of entropy used per seed by default:
|
#endif /* defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_ENTROPY_FORCE_SHA256) */
|
||||||
* <ul><li>48 with SHA-512.</li>
|
#endif /* !defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) */
|
||||||
* <li>32 with SHA-256.</li></ul>
|
|
||||||
*/
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(MBEDTLS_CTR_DRBG_RESEED_INTERVAL)
|
#if !defined(MBEDTLS_CTR_DRBG_RESEED_INTERVAL)
|
||||||
#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000
|
#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000
|
||||||
|
@ -106,7 +174,7 @@
|
||||||
|
|
||||||
#if !defined(MBEDTLS_CTR_DRBG_MAX_SEED_INPUT)
|
#if !defined(MBEDTLS_CTR_DRBG_MAX_SEED_INPUT)
|
||||||
#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384
|
#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384
|
||||||
/**< The maximum size of seed or reseed buffer. */
|
/**< The maximum size of seed or reseed buffer in bytes. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* \} name SECTION: Module settings */
|
/* \} name SECTION: Module settings */
|
||||||
|
@ -146,6 +214,13 @@ typedef struct mbedtls_ctr_drbg_context
|
||||||
void *p_entropy; /*!< The context for the entropy function. */
|
void *p_entropy; /*!< The context for the entropy function. */
|
||||||
|
|
||||||
#if defined(MBEDTLS_THREADING_C)
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/* Invariant: the mutex is initialized if and only if f_entropy != NULL.
|
||||||
|
* This means that the mutex is initialized during the initial seeding
|
||||||
|
* in mbedtls_ctr_drbg_seed() and freed in mbedtls_ctr_drbg_free().
|
||||||
|
*
|
||||||
|
* Note that this invariant may change without notice. Do not rely on it
|
||||||
|
* and do not access the mutex directly in application code.
|
||||||
|
*/
|
||||||
mbedtls_threading_mutex_t mutex;
|
mbedtls_threading_mutex_t mutex;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -156,6 +231,11 @@ mbedtls_ctr_drbg_context;
|
||||||
* and prepares it for mbedtls_ctr_drbg_seed()
|
* and prepares it for mbedtls_ctr_drbg_seed()
|
||||||
* or mbedtls_ctr_drbg_free().
|
* or mbedtls_ctr_drbg_free().
|
||||||
*
|
*
|
||||||
|
* \note The reseed interval is
|
||||||
|
* #MBEDTLS_CTR_DRBG_RESEED_INTERVAL by default.
|
||||||
|
* You can override it by calling
|
||||||
|
* mbedtls_ctr_drbg_set_reseed_interval().
|
||||||
|
*
|
||||||
* \param ctx The CTR_DRBG context to initialize.
|
* \param ctx The CTR_DRBG context to initialize.
|
||||||
*/
|
*/
|
||||||
void mbedtls_ctr_drbg_init( mbedtls_ctr_drbg_context *ctx );
|
void mbedtls_ctr_drbg_init( mbedtls_ctr_drbg_context *ctx );
|
||||||
|
@ -164,17 +244,79 @@ void mbedtls_ctr_drbg_init( mbedtls_ctr_drbg_context *ctx );
|
||||||
* \brief This function seeds and sets up the CTR_DRBG
|
* \brief This function seeds and sets up the CTR_DRBG
|
||||||
* entropy source for future reseeds.
|
* entropy source for future reseeds.
|
||||||
*
|
*
|
||||||
* \note Personalization data can be provided in addition to the more generic
|
* A typical choice for the \p f_entropy and \p p_entropy parameters is
|
||||||
* entropy source, to make this instantiation as unique as possible.
|
* to use the entropy module:
|
||||||
|
* - \p f_entropy is mbedtls_entropy_func();
|
||||||
|
* - \p p_entropy is an instance of ::mbedtls_entropy_context initialized
|
||||||
|
* with mbedtls_entropy_init() (which registers the platform's default
|
||||||
|
* entropy sources).
|
||||||
*
|
*
|
||||||
|
* The entropy length is #MBEDTLS_CTR_DRBG_ENTROPY_LEN by default.
|
||||||
|
* You can override it by calling mbedtls_ctr_drbg_set_entropy_len().
|
||||||
|
*
|
||||||
|
* You can provide a personalization string in addition to the
|
||||||
|
* entropy source, to make this instantiation as unique as possible.
|
||||||
|
*
|
||||||
|
* \note The _seed_material_ value passed to the derivation
|
||||||
|
* function in the CTR_DRBG Instantiate Process
|
||||||
|
* described in NIST SP 800-90A §10.2.1.3.2
|
||||||
|
* is the concatenation of the string obtained from
|
||||||
|
* calling \p f_entropy and the \p custom string.
|
||||||
|
* The origin of the nonce depends on the value of
|
||||||
|
* the entropy length relative to the security strength.
|
||||||
|
* - If the entropy length is at least 1.5 times the
|
||||||
|
* security strength then the nonce is taken from the
|
||||||
|
* string obtained with \p f_entropy.
|
||||||
|
* - If the entropy length is less than the security
|
||||||
|
* strength, then the nonce is taken from \p custom.
|
||||||
|
* In this case, for compliance with SP 800-90A,
|
||||||
|
* you must pass a unique value of \p custom at
|
||||||
|
* each invocation. See SP 800-90A §8.6.7 for more
|
||||||
|
* details.
|
||||||
|
*/
|
||||||
|
#if MBEDTLS_CTR_DRBG_ENTROPY_LEN < MBEDTLS_CTR_DRBG_KEYSIZE * 3 / 2
|
||||||
|
/** \warning When #MBEDTLS_CTR_DRBG_ENTROPY_LEN is less than
|
||||||
|
* #MBEDTLS_CTR_DRBG_KEYSIZE * 3 / 2, to achieve the
|
||||||
|
* maximum security strength permitted by CTR_DRBG,
|
||||||
|
* you must pass a value of \p custom that is a nonce:
|
||||||
|
* this value must never be repeated in subsequent
|
||||||
|
* runs of the same application or on a different
|
||||||
|
* device.
|
||||||
|
*/
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/**
|
||||||
|
* \note When Mbed TLS is built with threading support,
|
||||||
|
* after this function returns successfully,
|
||||||
|
* it is safe to call mbedtls_ctr_drbg_random()
|
||||||
|
* from multiple threads. Other operations, including
|
||||||
|
* reseeding, are not thread-safe.
|
||||||
|
*/
|
||||||
|
#endif /* MBEDTLS_THREADING_C */
|
||||||
|
/**
|
||||||
* \param ctx The CTR_DRBG context to seed.
|
* \param ctx The CTR_DRBG context to seed.
|
||||||
|
* It must have been initialized with
|
||||||
|
* mbedtls_ctr_drbg_init().
|
||||||
|
* After a successful call to mbedtls_ctr_drbg_seed(),
|
||||||
|
* you may not call mbedtls_ctr_drbg_seed() again on
|
||||||
|
* the same context unless you call
|
||||||
|
* mbedtls_ctr_drbg_free() and mbedtls_ctr_drbg_init()
|
||||||
|
* again first.
|
||||||
|
* After a failed call to mbedtls_ctr_drbg_seed(),
|
||||||
|
* you must call mbedtls_ctr_drbg_free().
|
||||||
* \param f_entropy The entropy callback, taking as arguments the
|
* \param f_entropy The entropy callback, taking as arguments the
|
||||||
* \p p_entropy context, the buffer to fill, and the
|
* \p p_entropy context, the buffer to fill, and the
|
||||||
length of the buffer.
|
* length of the buffer.
|
||||||
* \param p_entropy The entropy context.
|
* \p f_entropy is always called with a buffer size
|
||||||
* \param custom Personalization data, that is device-specific
|
* equal to the entropy length.
|
||||||
identifiers. Can be NULL.
|
* \param p_entropy The entropy context to pass to \p f_entropy.
|
||||||
* \param len The length of the personalization data.
|
* \param custom The personalization string.
|
||||||
|
* This can be \c NULL, in which case the personalization
|
||||||
|
* string is empty regardless of the value of \p len.
|
||||||
|
* \param len The length of the personalization string.
|
||||||
|
* This must be at most
|
||||||
|
* #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT
|
||||||
|
* - #MBEDTLS_CTR_DRBG_ENTROPY_LEN.
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on failure.
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on failure.
|
||||||
|
@ -186,7 +328,8 @@ int mbedtls_ctr_drbg_seed( mbedtls_ctr_drbg_context *ctx,
|
||||||
size_t len );
|
size_t len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief This function clears CTR_CRBG context data.
|
* \brief This function resets CTR_DRBG context to the state immediately
|
||||||
|
* after initial call of mbedtls_ctr_drbg_init().
|
||||||
*
|
*
|
||||||
* \param ctx The CTR_DRBG context to clear.
|
* \param ctx The CTR_DRBG context to clear.
|
||||||
*/
|
*/
|
||||||
|
@ -197,7 +340,8 @@ void mbedtls_ctr_drbg_free( mbedtls_ctr_drbg_context *ctx );
|
||||||
* The default value is off.
|
* The default value is off.
|
||||||
*
|
*
|
||||||
* \note If enabled, entropy is gathered at the beginning of
|
* \note If enabled, entropy is gathered at the beginning of
|
||||||
* every call to mbedtls_ctr_drbg_random_with_add().
|
* every call to mbedtls_ctr_drbg_random_with_add()
|
||||||
|
* or mbedtls_ctr_drbg_random().
|
||||||
* Only use this if your entropy source has sufficient
|
* Only use this if your entropy source has sufficient
|
||||||
* throughput.
|
* throughput.
|
||||||
*
|
*
|
||||||
|
@ -209,18 +353,37 @@ void mbedtls_ctr_drbg_set_prediction_resistance( mbedtls_ctr_drbg_context *ctx,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief This function sets the amount of entropy grabbed on each
|
* \brief This function sets the amount of entropy grabbed on each
|
||||||
* seed or reseed. The default value is
|
* seed or reseed.
|
||||||
* #MBEDTLS_CTR_DRBG_ENTROPY_LEN.
|
*
|
||||||
|
* The default value is #MBEDTLS_CTR_DRBG_ENTROPY_LEN.
|
||||||
|
*
|
||||||
|
* \note The security strength of CTR_DRBG is bounded by the
|
||||||
|
* entropy length. Thus:
|
||||||
|
* - When using AES-256
|
||||||
|
* (\c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is disabled,
|
||||||
|
* which is the default),
|
||||||
|
* \p len must be at least 32 (in bytes)
|
||||||
|
* to achieve a 256-bit strength.
|
||||||
|
* - When using AES-128
|
||||||
|
* (\c MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is enabled)
|
||||||
|
* \p len must be at least 16 (in bytes)
|
||||||
|
* to achieve a 128-bit strength.
|
||||||
*
|
*
|
||||||
* \param ctx The CTR_DRBG context.
|
* \param ctx The CTR_DRBG context.
|
||||||
* \param len The amount of entropy to grab.
|
* \param len The amount of entropy to grab, in bytes.
|
||||||
|
* This must be at most #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT.
|
||||||
*/
|
*/
|
||||||
void mbedtls_ctr_drbg_set_entropy_len( mbedtls_ctr_drbg_context *ctx,
|
void mbedtls_ctr_drbg_set_entropy_len( mbedtls_ctr_drbg_context *ctx,
|
||||||
size_t len );
|
size_t len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief This function sets the reseed interval.
|
* \brief This function sets the reseed interval.
|
||||||
* The default value is #MBEDTLS_CTR_DRBG_RESEED_INTERVAL.
|
*
|
||||||
|
* The reseed interval is the number of calls to mbedtls_ctr_drbg_random()
|
||||||
|
* or mbedtls_ctr_drbg_random_with_add() after which the entropy function
|
||||||
|
* is called again.
|
||||||
|
*
|
||||||
|
* The default value is #MBEDTLS_CTR_DRBG_RESEED_INTERVAL.
|
||||||
*
|
*
|
||||||
* \param ctx The CTR_DRBG context.
|
* \param ctx The CTR_DRBG context.
|
||||||
* \param interval The reseed interval.
|
* \param interval The reseed interval.
|
||||||
|
@ -232,9 +395,18 @@ void mbedtls_ctr_drbg_set_reseed_interval( mbedtls_ctr_drbg_context *ctx,
|
||||||
* \brief This function reseeds the CTR_DRBG context, that is
|
* \brief This function reseeds the CTR_DRBG context, that is
|
||||||
* extracts data from the entropy source.
|
* extracts data from the entropy source.
|
||||||
*
|
*
|
||||||
|
* \note This function is not thread-safe. It is not safe
|
||||||
|
* to call this function if another thread might be
|
||||||
|
* concurrently obtaining random numbers from the same
|
||||||
|
* context or updating or reseeding the same context.
|
||||||
|
*
|
||||||
* \param ctx The CTR_DRBG context.
|
* \param ctx The CTR_DRBG context.
|
||||||
* \param additional Additional data to add to the state. Can be NULL.
|
* \param additional Additional data to add to the state. Can be \c NULL.
|
||||||
* \param len The length of the additional data.
|
* \param len The length of the additional data.
|
||||||
|
* This must be less than
|
||||||
|
* #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT - \c entropy_len
|
||||||
|
* where \c entropy_len is the entropy length
|
||||||
|
* configured for the context.
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on failure.
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on failure.
|
||||||
|
@ -245,8 +417,14 @@ int mbedtls_ctr_drbg_reseed( mbedtls_ctr_drbg_context *ctx,
|
||||||
/**
|
/**
|
||||||
* \brief This function updates the state of the CTR_DRBG context.
|
* \brief This function updates the state of the CTR_DRBG context.
|
||||||
*
|
*
|
||||||
|
* \note This function is not thread-safe. It is not safe
|
||||||
|
* to call this function if another thread might be
|
||||||
|
* concurrently obtaining random numbers from the same
|
||||||
|
* context or updating or reseeding the same context.
|
||||||
|
*
|
||||||
* \param ctx The CTR_DRBG context.
|
* \param ctx The CTR_DRBG context.
|
||||||
* \param additional The data to update the state with.
|
* \param additional The data to update the state with. This must not be
|
||||||
|
* \c NULL unless \p add_len is \c 0.
|
||||||
* \param add_len Length of \p additional in bytes. This must be at
|
* \param add_len Length of \p additional in bytes. This must be at
|
||||||
* most #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT.
|
* most #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT.
|
||||||
*
|
*
|
||||||
|
@ -264,14 +442,28 @@ int mbedtls_ctr_drbg_update_ret( mbedtls_ctr_drbg_context *ctx,
|
||||||
* \brief This function updates a CTR_DRBG instance with additional
|
* \brief This function updates a CTR_DRBG instance with additional
|
||||||
* data and uses it to generate random data.
|
* data and uses it to generate random data.
|
||||||
*
|
*
|
||||||
* \note The function automatically reseeds if the reseed counter is exceeded.
|
* This function automatically reseeds if the reseed counter is exceeded
|
||||||
|
* or prediction resistance is enabled.
|
||||||
|
*
|
||||||
|
* \note This function is not thread-safe. It is not safe
|
||||||
|
* to call this function if another thread might be
|
||||||
|
* concurrently obtaining random numbers from the same
|
||||||
|
* context or updating or reseeding the same context.
|
||||||
*
|
*
|
||||||
* \param p_rng The CTR_DRBG context. This must be a pointer to a
|
* \param p_rng The CTR_DRBG context. This must be a pointer to a
|
||||||
* #mbedtls_ctr_drbg_context structure.
|
* #mbedtls_ctr_drbg_context structure.
|
||||||
* \param output The buffer to fill.
|
* \param output The buffer to fill.
|
||||||
* \param output_len The length of the buffer.
|
* \param output_len The length of the buffer in bytes.
|
||||||
* \param additional Additional data to update. Can be NULL.
|
* \param additional Additional data to update. Can be \c NULL, in which
|
||||||
* \param add_len The length of the additional data.
|
* case the additional data is empty regardless of
|
||||||
|
* the value of \p add_len.
|
||||||
|
* \param add_len The length of the additional data
|
||||||
|
* if \p additional is not \c NULL.
|
||||||
|
* This must be less than #MBEDTLS_CTR_DRBG_MAX_INPUT
|
||||||
|
* and less than
|
||||||
|
* #MBEDTLS_CTR_DRBG_MAX_SEED_INPUT - \c entropy_len
|
||||||
|
* where \c entropy_len is the entropy length
|
||||||
|
* configured for the context.
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED or
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED or
|
||||||
|
@ -284,12 +476,22 @@ int mbedtls_ctr_drbg_random_with_add( void *p_rng,
|
||||||
/**
|
/**
|
||||||
* \brief This function uses CTR_DRBG to generate random data.
|
* \brief This function uses CTR_DRBG to generate random data.
|
||||||
*
|
*
|
||||||
* \note The function automatically reseeds if the reseed counter is exceeded.
|
* This function automatically reseeds if the reseed counter is exceeded
|
||||||
*
|
* or prediction resistance is enabled.
|
||||||
|
*/
|
||||||
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/**
|
||||||
|
* \note When Mbed TLS is built with threading support,
|
||||||
|
* it is safe to call mbedtls_ctr_drbg_random()
|
||||||
|
* from multiple threads. Other operations, including
|
||||||
|
* reseeding, are not thread-safe.
|
||||||
|
*/
|
||||||
|
#endif /* MBEDTLS_THREADING_C */
|
||||||
|
/**
|
||||||
* \param p_rng The CTR_DRBG context. This must be a pointer to a
|
* \param p_rng The CTR_DRBG context. This must be a pointer to a
|
||||||
* #mbedtls_ctr_drbg_context structure.
|
* #mbedtls_ctr_drbg_context structure.
|
||||||
* \param output The buffer to fill.
|
* \param output The buffer to fill.
|
||||||
* \param output_len The length of the buffer.
|
* \param output_len The length of the buffer in bytes.
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED or
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED or
|
||||||
|
@ -336,7 +538,7 @@ MBEDTLS_DEPRECATED void mbedtls_ctr_drbg_update(
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR on file error.
|
* \return #MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR on file error.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on reseed
|
||||||
* failure.
|
* failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_ctr_drbg_write_seed_file( mbedtls_ctr_drbg_context *ctx, const char *path );
|
int mbedtls_ctr_drbg_write_seed_file( mbedtls_ctr_drbg_context *ctx, const char *path );
|
||||||
|
@ -350,8 +552,10 @@ int mbedtls_ctr_drbg_write_seed_file( mbedtls_ctr_drbg_context *ctx, const char
|
||||||
*
|
*
|
||||||
* \return \c 0 on success.
|
* \return \c 0 on success.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR on file error.
|
* \return #MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR on file error.
|
||||||
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED or
|
* \return #MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED on
|
||||||
* #MBEDTLS_ERR_CTR_DRBG_INPUT_TOO_BIG on failure.
|
* reseed failure.
|
||||||
|
* \return #MBEDTLS_ERR_CTR_DRBG_INPUT_TOO_BIG if the existing
|
||||||
|
* seed file is too large.
|
||||||
*/
|
*/
|
||||||
int mbedtls_ctr_drbg_update_seed_file( mbedtls_ctr_drbg_context *ctx, const char *path );
|
int mbedtls_ctr_drbg_update_seed_file( mbedtls_ctr_drbg_context *ctx, const char *path );
|
||||||
#endif /* MBEDTLS_FS_IO */
|
#endif /* MBEDTLS_FS_IO */
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Functions for controlling and providing debug output from the library.
|
* \brief Functions for controlling and providing debug output from the library.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_DEBUG_H
|
#ifndef MBEDTLS_DEBUG_H
|
||||||
#define MBEDTLS_DEBUG_H
|
#define MBEDTLS_DEBUG_H
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* instead.
|
* instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_DES_H
|
#ifndef MBEDTLS_DES_H
|
||||||
|
|
|
@ -44,8 +44,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -59,7 +65,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_DHM_H
|
#ifndef MBEDTLS_DHM_H
|
||||||
|
|
|
@ -13,8 +13,14 @@
|
||||||
* Cryptography</em>.
|
* Cryptography</em>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +34,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_ECDH_H
|
#ifndef MBEDTLS_ECDH_H
|
||||||
|
|
|
@ -11,8 +11,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -26,7 +32,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_ECDSA_H
|
#ifndef MBEDTLS_ECDSA_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Elliptic curve J-PAKE
|
* \brief Elliptic curve J-PAKE
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ECJPAKE_H
|
#ifndef MBEDTLS_ECJPAKE_H
|
||||||
#define MBEDTLS_ECJPAKE_H
|
#define MBEDTLS_ECJPAKE_H
|
||||||
|
|
|
@ -15,8 +15,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -30,7 +36,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_ECP_H
|
#ifndef MBEDTLS_ECP_H
|
||||||
|
@ -813,6 +838,9 @@ int mbedtls_ecp_tls_write_group( const mbedtls_ecp_group *grp,
|
||||||
* intermediate results to prevent potential timing attacks
|
* intermediate results to prevent potential timing attacks
|
||||||
* targeting these results. We recommend always providing
|
* targeting these results. We recommend always providing
|
||||||
* a non-NULL \p f_rng. The overhead is negligible.
|
* a non-NULL \p f_rng. The overhead is negligible.
|
||||||
|
* Note: unless #MBEDTLS_ECP_NO_INTERNAL_RNG is defined, when
|
||||||
|
* \p f_rng is NULL, an internal RNG (seeded from the value
|
||||||
|
* of \p m) will be used instead.
|
||||||
*
|
*
|
||||||
* \param grp The ECP group to use.
|
* \param grp The ECP group to use.
|
||||||
* This must be initialized and have group parameters
|
* This must be initialized and have group parameters
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
* point arithmetic.
|
* point arithmetic.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Entropy accumulator implementation
|
* \brief Entropy accumulator implementation
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ENTROPY_H
|
#ifndef MBEDTLS_ENTROPY_H
|
||||||
#define MBEDTLS_ENTROPY_H
|
#define MBEDTLS_ENTROPY_H
|
||||||
|
@ -122,13 +147,15 @@ mbedtls_entropy_source_state;
|
||||||
*/
|
*/
|
||||||
typedef struct mbedtls_entropy_context
|
typedef struct mbedtls_entropy_context
|
||||||
{
|
{
|
||||||
int accumulator_started;
|
int accumulator_started; /* 0 after init.
|
||||||
|
* 1 after the first update.
|
||||||
|
* -1 after free. */
|
||||||
#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR)
|
#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR)
|
||||||
mbedtls_sha512_context accumulator;
|
mbedtls_sha512_context accumulator;
|
||||||
#else
|
#else
|
||||||
mbedtls_sha256_context accumulator;
|
mbedtls_sha256_context accumulator;
|
||||||
#endif
|
#endif
|
||||||
int source_count;
|
int source_count; /* Number of entries used in source. */
|
||||||
mbedtls_entropy_source_state source[MBEDTLS_ENTROPY_MAX_SOURCES];
|
mbedtls_entropy_source_state source[MBEDTLS_ENTROPY_MAX_SOURCES];
|
||||||
#if defined(MBEDTLS_HAVEGE_C)
|
#if defined(MBEDTLS_HAVEGE_C)
|
||||||
mbedtls_havege_state havege_data;
|
mbedtls_havege_state havege_data;
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Platform-specific and custom entropy polling functions
|
* \brief Platform-specific and custom entropy polling functions
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ENTROPY_POLL_H
|
#ifndef MBEDTLS_ENTROPY_POLL_H
|
||||||
#define MBEDTLS_ENTROPY_POLL_H
|
#define MBEDTLS_ENTROPY_POLL_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Error to string translation
|
* \brief Error to string translation
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_ERROR_H
|
#ifndef MBEDTLS_ERROR_H
|
||||||
#define MBEDTLS_ERROR_H
|
#define MBEDTLS_ERROR_H
|
||||||
|
@ -100,6 +125,7 @@
|
||||||
* ECP 4 10 (Started from top)
|
* ECP 4 10 (Started from top)
|
||||||
* MD 5 5
|
* MD 5 5
|
||||||
* HKDF 5 1 (Started from top)
|
* HKDF 5 1 (Started from top)
|
||||||
|
* SSL 5 1 (Started from 0x5E80)
|
||||||
* CIPHER 6 8
|
* CIPHER 6 8
|
||||||
* SSL 6 23 (Started from top)
|
* SSL 6 23 (Started from top)
|
||||||
* SSL 7 32
|
* SSL 7 32
|
||||||
|
|
|
@ -12,8 +12,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -27,7 +33,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_GCM_H
|
#ifndef MBEDTLS_GCM_H
|
||||||
|
@ -157,7 +182,7 @@ int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx,
|
||||||
* than zero, this must be a writable buffer of at least that
|
* than zero, this must be a writable buffer of at least that
|
||||||
* size in Bytes.
|
* size in Bytes.
|
||||||
* \param tag_len The length of the tag to generate.
|
* \param tag_len The length of the tag to generate.
|
||||||
* \param tag The buffer for holding the tag. This must be a readable
|
* \param tag The buffer for holding the tag. This must be a writable
|
||||||
* buffer of at least \p tag_len Bytes.
|
* buffer of at least \p tag_len Bytes.
|
||||||
*
|
*
|
||||||
* \return \c 0 if the encryption or decryption was performed
|
* \return \c 0 if the encryption or decryption was performed
|
||||||
|
@ -285,7 +310,7 @@ int mbedtls_gcm_update( mbedtls_gcm_context *ctx,
|
||||||
* tag. The tag can have a maximum length of 16 Bytes.
|
* tag. The tag can have a maximum length of 16 Bytes.
|
||||||
*
|
*
|
||||||
* \param ctx The GCM context. This must be initialized.
|
* \param ctx The GCM context. This must be initialized.
|
||||||
* \param tag The buffer for holding the tag. This must be a readable
|
* \param tag The buffer for holding the tag. This must be a writable
|
||||||
* buffer of at least \p tag_len Bytes.
|
* buffer of at least \p tag_len Bytes.
|
||||||
* \param tag_len The length of the tag to generate. This must be at least
|
* \param tag_len The length of the tag to generate. This must be at least
|
||||||
* four.
|
* four.
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion
|
* \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_HAVEGE_H
|
#ifndef MBEDTLS_HAVEGE_H
|
||||||
#define MBEDTLS_HAVEGE_H
|
#define MBEDTLS_HAVEGE_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* specified by RFC 5869.
|
* specified by RFC 5869.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016-2019, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_HKDF_H
|
#ifndef MBEDTLS_HKDF_H
|
||||||
#define MBEDTLS_HKDF_H
|
#define MBEDTLS_HKDF_H
|
||||||
|
|
|
@ -1,11 +1,21 @@
|
||||||
/**
|
/**
|
||||||
* \file hmac_drbg.h
|
* \file hmac_drbg.h
|
||||||
*
|
*
|
||||||
* \brief HMAC_DRBG (NIST SP 800-90A)
|
* \brief The HMAC_DRBG pseudorandom generator.
|
||||||
|
*
|
||||||
|
* This module implements the HMAC_DRBG pseudorandom generator described
|
||||||
|
* in <em>NIST SP 800-90A: Recommendation for Random Number Generation Using
|
||||||
|
* Deterministic Random Bit Generators</em>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_HMAC_DRBG_H
|
#ifndef MBEDTLS_HMAC_DRBG_H
|
||||||
#define MBEDTLS_HMAC_DRBG_H
|
#define MBEDTLS_HMAC_DRBG_H
|
||||||
|
@ -99,43 +128,99 @@ typedef struct mbedtls_hmac_drbg_context
|
||||||
void *p_entropy; /*!< context for the entropy function */
|
void *p_entropy; /*!< context for the entropy function */
|
||||||
|
|
||||||
#if defined(MBEDTLS_THREADING_C)
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/* Invariant: the mutex is initialized if and only if
|
||||||
|
* md_ctx->md_info != NULL. This means that the mutex is initialized
|
||||||
|
* during the initial seeding in mbedtls_hmac_drbg_seed() or
|
||||||
|
* mbedtls_hmac_drbg_seed_buf() and freed in mbedtls_ctr_drbg_free().
|
||||||
|
*
|
||||||
|
* Note that this invariant may change without notice. Do not rely on it
|
||||||
|
* and do not access the mutex directly in application code.
|
||||||
|
*/
|
||||||
mbedtls_threading_mutex_t mutex;
|
mbedtls_threading_mutex_t mutex;
|
||||||
#endif
|
#endif
|
||||||
} mbedtls_hmac_drbg_context;
|
} mbedtls_hmac_drbg_context;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG context initialization
|
* \brief HMAC_DRBG context initialization.
|
||||||
* Makes the context ready for mbedtls_hmac_drbg_seed(),
|
|
||||||
* mbedtls_hmac_drbg_seed_buf() or
|
|
||||||
* mbedtls_hmac_drbg_free().
|
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context to be initialized
|
* This function makes the context ready for mbedtls_hmac_drbg_seed(),
|
||||||
|
* mbedtls_hmac_drbg_seed_buf() or mbedtls_hmac_drbg_free().
|
||||||
|
*
|
||||||
|
* \note The reseed interval is #MBEDTLS_HMAC_DRBG_RESEED_INTERVAL
|
||||||
|
* by default. Override this value by calling
|
||||||
|
* mbedtls_hmac_drbg_set_reseed_interval().
|
||||||
|
*
|
||||||
|
* \param ctx HMAC_DRBG context to be initialized.
|
||||||
*/
|
*/
|
||||||
void mbedtls_hmac_drbg_init( mbedtls_hmac_drbg_context *ctx );
|
void mbedtls_hmac_drbg_init( mbedtls_hmac_drbg_context *ctx );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG initial seeding
|
* \brief HMAC_DRBG initial seeding.
|
||||||
* Seed and setup entropy source for future reseeds.
|
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context to be seeded
|
* Set the initial seed and set up the entropy source for future reseeds.
|
||||||
* \param md_info MD algorithm to use for HMAC_DRBG
|
|
||||||
* \param f_entropy Entropy callback (p_entropy, buffer to fill, buffer
|
|
||||||
* length)
|
|
||||||
* \param p_entropy Entropy context
|
|
||||||
* \param custom Personalization data (Device specific identifiers)
|
|
||||||
* (Can be NULL)
|
|
||||||
* \param len Length of personalization data
|
|
||||||
*
|
*
|
||||||
* \note The "security strength" as defined by NIST is set to:
|
* A typical choice for the \p f_entropy and \p p_entropy parameters is
|
||||||
* 128 bits if md_alg is SHA-1,
|
* to use the entropy module:
|
||||||
* 192 bits if md_alg is SHA-224,
|
* - \p f_entropy is mbedtls_entropy_func();
|
||||||
* 256 bits if md_alg is SHA-256 or higher.
|
* - \p p_entropy is an instance of ::mbedtls_entropy_context initialized
|
||||||
|
* with mbedtls_entropy_init() (which registers the platform's default
|
||||||
|
* entropy sources).
|
||||||
|
*
|
||||||
|
* You can provide a personalization string in addition to the
|
||||||
|
* entropy source, to make this instantiation as unique as possible.
|
||||||
|
*
|
||||||
|
* \note By default, the security strength as defined by NIST is:
|
||||||
|
* - 128 bits if \p md_info is SHA-1;
|
||||||
|
* - 192 bits if \p md_info is SHA-224;
|
||||||
|
* - 256 bits if \p md_info is SHA-256, SHA-384 or SHA-512.
|
||||||
* Note that SHA-256 is just as efficient as SHA-224.
|
* Note that SHA-256 is just as efficient as SHA-224.
|
||||||
|
* The security strength can be reduced if a smaller
|
||||||
|
* entropy length is set with
|
||||||
|
* mbedtls_hmac_drbg_set_entropy_len().
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or
|
* \note The default entropy length is the security strength
|
||||||
* MBEDTLS_ERR_MD_BAD_INPUT_DATA, or
|
* (converted from bits to bytes). You can override
|
||||||
* MBEDTLS_ERR_MD_ALLOC_FAILED, or
|
* it by calling mbedtls_hmac_drbg_set_entropy_len().
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED.
|
*
|
||||||
|
* \note During the initial seeding, this function calls
|
||||||
|
* the entropy source to obtain a nonce
|
||||||
|
* whose length is half the entropy length.
|
||||||
|
*/
|
||||||
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/**
|
||||||
|
* \note When Mbed TLS is built with threading support,
|
||||||
|
* after this function returns successfully,
|
||||||
|
* it is safe to call mbedtls_hmac_drbg_random()
|
||||||
|
* from multiple threads. Other operations, including
|
||||||
|
* reseeding, are not thread-safe.
|
||||||
|
*/
|
||||||
|
#endif /* MBEDTLS_THREADING_C */
|
||||||
|
/**
|
||||||
|
* \param ctx HMAC_DRBG context to be seeded.
|
||||||
|
* \param md_info MD algorithm to use for HMAC_DRBG.
|
||||||
|
* \param f_entropy The entropy callback, taking as arguments the
|
||||||
|
* \p p_entropy context, the buffer to fill, and the
|
||||||
|
* length of the buffer.
|
||||||
|
* \p f_entropy is always called with a length that is
|
||||||
|
* less than or equal to the entropy length.
|
||||||
|
* \param p_entropy The entropy context to pass to \p f_entropy.
|
||||||
|
* \param custom The personalization string.
|
||||||
|
* This can be \c NULL, in which case the personalization
|
||||||
|
* string is empty regardless of the value of \p len.
|
||||||
|
* \param len The length of the personalization string.
|
||||||
|
* This must be at most #MBEDTLS_HMAC_DRBG_MAX_INPUT
|
||||||
|
* and also at most
|
||||||
|
* #MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT - \p entropy_len * 3 / 2
|
||||||
|
* where \p entropy_len is the entropy length
|
||||||
|
* described above.
|
||||||
|
*
|
||||||
|
* \return \c 0 if successful.
|
||||||
|
* \return #MBEDTLS_ERR_MD_BAD_INPUT_DATA if \p md_info is
|
||||||
|
* invalid.
|
||||||
|
* \return #MBEDTLS_ERR_MD_ALLOC_FAILED if there was not enough
|
||||||
|
* memory to allocate context data.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
||||||
|
* if the call to \p f_entropy failed.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_seed( mbedtls_hmac_drbg_context *ctx,
|
int mbedtls_hmac_drbg_seed( mbedtls_hmac_drbg_context *ctx,
|
||||||
const mbedtls_md_info_t * md_info,
|
const mbedtls_md_info_t * md_info,
|
||||||
|
@ -146,98 +231,156 @@ int mbedtls_hmac_drbg_seed( mbedtls_hmac_drbg_context *ctx,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Initilisation of simpified HMAC_DRBG (never reseeds).
|
* \brief Initilisation of simpified HMAC_DRBG (never reseeds).
|
||||||
* (For use with deterministic ECDSA.)
|
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context to be initialised
|
* This function is meant for use in algorithms that need a pseudorandom
|
||||||
* \param md_info MD algorithm to use for HMAC_DRBG
|
* input such as deterministic ECDSA.
|
||||||
* \param data Concatenation of entropy string and additional data
|
*/
|
||||||
* \param data_len Length of data in bytes
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/**
|
||||||
|
* \note When Mbed TLS is built with threading support,
|
||||||
|
* after this function returns successfully,
|
||||||
|
* it is safe to call mbedtls_hmac_drbg_random()
|
||||||
|
* from multiple threads. Other operations, including
|
||||||
|
* reseeding, are not thread-safe.
|
||||||
|
*/
|
||||||
|
#endif /* MBEDTLS_THREADING_C */
|
||||||
|
/**
|
||||||
|
* \param ctx HMAC_DRBG context to be initialised.
|
||||||
|
* \param md_info MD algorithm to use for HMAC_DRBG.
|
||||||
|
* \param data Concatenation of the initial entropy string and
|
||||||
|
* the additional data.
|
||||||
|
* \param data_len Length of \p data in bytes.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or
|
* \return \c 0 if successful. or
|
||||||
* MBEDTLS_ERR_MD_BAD_INPUT_DATA, or
|
* \return #MBEDTLS_ERR_MD_BAD_INPUT_DATA if \p md_info is
|
||||||
* MBEDTLS_ERR_MD_ALLOC_FAILED.
|
* invalid.
|
||||||
|
* \return #MBEDTLS_ERR_MD_ALLOC_FAILED if there was not enough
|
||||||
|
* memory to allocate context data.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_seed_buf( mbedtls_hmac_drbg_context *ctx,
|
int mbedtls_hmac_drbg_seed_buf( mbedtls_hmac_drbg_context *ctx,
|
||||||
const mbedtls_md_info_t * md_info,
|
const mbedtls_md_info_t * md_info,
|
||||||
const unsigned char *data, size_t data_len );
|
const unsigned char *data, size_t data_len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Enable / disable prediction resistance (Default: Off)
|
* \brief This function turns prediction resistance on or off.
|
||||||
|
* The default value is off.
|
||||||
*
|
*
|
||||||
* Note: If enabled, entropy is used for ctx->entropy_len before each call!
|
* \note If enabled, entropy is gathered at the beginning of
|
||||||
* Only use this if you have ample supply of good entropy!
|
* every call to mbedtls_hmac_drbg_random_with_add()
|
||||||
|
* or mbedtls_hmac_drbg_random().
|
||||||
|
* Only use this if your entropy source has sufficient
|
||||||
|
* throughput.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \param ctx The HMAC_DRBG context.
|
||||||
* \param resistance MBEDTLS_HMAC_DRBG_PR_ON or MBEDTLS_HMAC_DRBG_PR_OFF
|
* \param resistance #MBEDTLS_HMAC_DRBG_PR_ON or #MBEDTLS_HMAC_DRBG_PR_OFF.
|
||||||
*/
|
*/
|
||||||
void mbedtls_hmac_drbg_set_prediction_resistance( mbedtls_hmac_drbg_context *ctx,
|
void mbedtls_hmac_drbg_set_prediction_resistance( mbedtls_hmac_drbg_context *ctx,
|
||||||
int resistance );
|
int resistance );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set the amount of entropy grabbed on each reseed
|
* \brief This function sets the amount of entropy grabbed on each
|
||||||
* (Default: given by the security strength, which
|
* seed or reseed.
|
||||||
* depends on the hash used, see \c mbedtls_hmac_drbg_init() )
|
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* See the documentation of mbedtls_hmac_drbg_seed() for the default value.
|
||||||
* \param len Amount of entropy to grab, in bytes
|
*
|
||||||
|
* \param ctx The HMAC_DRBG context.
|
||||||
|
* \param len The amount of entropy to grab, in bytes.
|
||||||
*/
|
*/
|
||||||
void mbedtls_hmac_drbg_set_entropy_len( mbedtls_hmac_drbg_context *ctx,
|
void mbedtls_hmac_drbg_set_entropy_len( mbedtls_hmac_drbg_context *ctx,
|
||||||
size_t len );
|
size_t len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set the reseed interval
|
* \brief Set the reseed interval.
|
||||||
* (Default: MBEDTLS_HMAC_DRBG_RESEED_INTERVAL)
|
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* The reseed interval is the number of calls to mbedtls_hmac_drbg_random()
|
||||||
* \param interval Reseed interval
|
* or mbedtls_hmac_drbg_random_with_add() after which the entropy function
|
||||||
|
* is called again.
|
||||||
|
*
|
||||||
|
* The default value is #MBEDTLS_HMAC_DRBG_RESEED_INTERVAL.
|
||||||
|
*
|
||||||
|
* \param ctx The HMAC_DRBG context.
|
||||||
|
* \param interval The reseed interval.
|
||||||
*/
|
*/
|
||||||
void mbedtls_hmac_drbg_set_reseed_interval( mbedtls_hmac_drbg_context *ctx,
|
void mbedtls_hmac_drbg_set_reseed_interval( mbedtls_hmac_drbg_context *ctx,
|
||||||
int interval );
|
int interval );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG update state
|
* \brief This function updates the state of the HMAC_DRBG context.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \note This function is not thread-safe. It is not safe
|
||||||
* \param additional Additional data to update state with, or NULL
|
* to call this function if another thread might be
|
||||||
* \param add_len Length of additional data, or 0
|
* concurrently obtaining random numbers from the same
|
||||||
|
* context or updating or reseeding the same context.
|
||||||
|
*
|
||||||
|
* \param ctx The HMAC_DRBG context.
|
||||||
|
* \param additional The data to update the state with.
|
||||||
|
* If this is \c NULL, there is no additional data.
|
||||||
|
* \param add_len Length of \p additional in bytes.
|
||||||
|
* Unused if \p additional is \c NULL.
|
||||||
*
|
*
|
||||||
* \return \c 0 on success, or an error from the underlying
|
* \return \c 0 on success, or an error from the underlying
|
||||||
* hash calculation.
|
* hash calculation.
|
||||||
*
|
|
||||||
* \note Additional data is optional, pass NULL and 0 as second
|
|
||||||
* third argument if no additional data is being used.
|
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_update_ret( mbedtls_hmac_drbg_context *ctx,
|
int mbedtls_hmac_drbg_update_ret( mbedtls_hmac_drbg_context *ctx,
|
||||||
const unsigned char *additional, size_t add_len );
|
const unsigned char *additional, size_t add_len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG reseeding (extracts data from entropy source)
|
* \brief This function reseeds the HMAC_DRBG context, that is
|
||||||
|
* extracts data from the entropy source.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \note This function is not thread-safe. It is not safe
|
||||||
* \param additional Additional data to add to state (Can be NULL)
|
* to call this function if another thread might be
|
||||||
* \param len Length of additional data
|
* concurrently obtaining random numbers from the same
|
||||||
|
* context or updating or reseeding the same context.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or
|
* \param ctx The HMAC_DRBG context.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
* \param additional Additional data to add to the state.
|
||||||
|
* If this is \c NULL, there is no additional data
|
||||||
|
* and \p len should be \c 0.
|
||||||
|
* \param len The length of the additional data.
|
||||||
|
* This must be at most #MBEDTLS_HMAC_DRBG_MAX_INPUT
|
||||||
|
* and also at most
|
||||||
|
* #MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT - \p entropy_len
|
||||||
|
* where \p entropy_len is the entropy length
|
||||||
|
* (see mbedtls_hmac_drbg_set_entropy_len()).
|
||||||
|
*
|
||||||
|
* \return \c 0 if successful.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
||||||
|
* if a call to the entropy function failed.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_reseed( mbedtls_hmac_drbg_context *ctx,
|
int mbedtls_hmac_drbg_reseed( mbedtls_hmac_drbg_context *ctx,
|
||||||
const unsigned char *additional, size_t len );
|
const unsigned char *additional, size_t len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG generate random with additional update input
|
* \brief This function updates an HMAC_DRBG instance with additional
|
||||||
|
* data and uses it to generate random data.
|
||||||
*
|
*
|
||||||
* Note: Automatically reseeds if reseed_counter is reached or PR is enabled.
|
* This function automatically reseeds if the reseed counter is exceeded
|
||||||
|
* or prediction resistance is enabled.
|
||||||
*
|
*
|
||||||
* \param p_rng HMAC_DRBG context
|
* \note This function is not thread-safe. It is not safe
|
||||||
* \param output Buffer to fill
|
* to call this function if another thread might be
|
||||||
* \param output_len Length of the buffer
|
* concurrently obtaining random numbers from the same
|
||||||
* \param additional Additional data to update with (can be NULL)
|
* context or updating or reseeding the same context.
|
||||||
* \param add_len Length of additional data (can be 0)
|
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or
|
* \param p_rng The HMAC_DRBG context. This must be a pointer to a
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED, or
|
* #mbedtls_hmac_drbg_context structure.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG, or
|
* \param output The buffer to fill.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG.
|
* \param output_len The length of the buffer in bytes.
|
||||||
|
* This must be at most #MBEDTLS_HMAC_DRBG_MAX_REQUEST.
|
||||||
|
* \param additional Additional data to update with.
|
||||||
|
* If this is \c NULL, there is no additional data
|
||||||
|
* and \p add_len should be \c 0.
|
||||||
|
* \param add_len The length of the additional data.
|
||||||
|
* This must be at most #MBEDTLS_HMAC_DRBG_MAX_INPUT.
|
||||||
|
*
|
||||||
|
* \return \c 0 if successful.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
||||||
|
* if a call to the entropy source failed.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG if
|
||||||
|
* \p output_len > #MBEDTLS_HMAC_DRBG_MAX_REQUEST.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG if
|
||||||
|
* \p add_len > #MBEDTLS_HMAC_DRBG_MAX_INPUT.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_random_with_add( void *p_rng,
|
int mbedtls_hmac_drbg_random_with_add( void *p_rng,
|
||||||
unsigned char *output, size_t output_len,
|
unsigned char *output, size_t output_len,
|
||||||
|
@ -245,24 +388,39 @@ int mbedtls_hmac_drbg_random_with_add( void *p_rng,
|
||||||
size_t add_len );
|
size_t add_len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG generate random
|
* \brief This function uses HMAC_DRBG to generate random data.
|
||||||
*
|
*
|
||||||
* Note: Automatically reseeds if reseed_counter is reached or PR is enabled.
|
* This function automatically reseeds if the reseed counter is exceeded
|
||||||
|
* or prediction resistance is enabled.
|
||||||
|
*/
|
||||||
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/**
|
||||||
|
* \note When Mbed TLS is built with threading support,
|
||||||
|
* it is safe to call mbedtls_ctr_drbg_random()
|
||||||
|
* from multiple threads. Other operations, including
|
||||||
|
* reseeding, are not thread-safe.
|
||||||
|
*/
|
||||||
|
#endif /* MBEDTLS_THREADING_C */
|
||||||
|
/**
|
||||||
|
* \param p_rng The HMAC_DRBG context. This must be a pointer to a
|
||||||
|
* #mbedtls_hmac_drbg_context structure.
|
||||||
|
* \param output The buffer to fill.
|
||||||
|
* \param out_len The length of the buffer in bytes.
|
||||||
|
* This must be at most #MBEDTLS_HMAC_DRBG_MAX_REQUEST.
|
||||||
*
|
*
|
||||||
* \param p_rng HMAC_DRBG context
|
* \return \c 0 if successful.
|
||||||
* \param output Buffer to fill
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
||||||
* \param out_len Length of the buffer
|
* if a call to the entropy source failed.
|
||||||
*
|
* \return #MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG if
|
||||||
* \return 0 if successful, or
|
* \p out_len > #MBEDTLS_HMAC_DRBG_MAX_REQUEST.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED, or
|
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG
|
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_random( void *p_rng, unsigned char *output, size_t out_len );
|
int mbedtls_hmac_drbg_random( void *p_rng, unsigned char *output, size_t out_len );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Free an HMAC_DRBG context
|
* \brief This function resets HMAC_DRBG context to the state immediately
|
||||||
|
* after initial call of mbedtls_hmac_drbg_init().
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context to free.
|
* \param ctx The HMAC_DRBG context to free.
|
||||||
*/
|
*/
|
||||||
void mbedtls_hmac_drbg_free( mbedtls_hmac_drbg_context *ctx );
|
void mbedtls_hmac_drbg_free( mbedtls_hmac_drbg_context *ctx );
|
||||||
|
|
||||||
|
@ -273,17 +431,16 @@ void mbedtls_hmac_drbg_free( mbedtls_hmac_drbg_context *ctx );
|
||||||
#define MBEDTLS_DEPRECATED
|
#define MBEDTLS_DEPRECATED
|
||||||
#endif
|
#endif
|
||||||
/**
|
/**
|
||||||
* \brief HMAC_DRBG update state
|
* \brief This function updates the state of the HMAC_DRBG context.
|
||||||
*
|
*
|
||||||
* \deprecated Superseded by mbedtls_hmac_drbg_update_ret()
|
* \deprecated Superseded by mbedtls_hmac_drbg_update_ret()
|
||||||
* in 2.16.0.
|
* in 2.16.0.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \param ctx The HMAC_DRBG context.
|
||||||
* \param additional Additional data to update state with, or NULL
|
* \param additional The data to update the state with.
|
||||||
* \param add_len Length of additional data, or 0
|
* If this is \c NULL, there is no additional data.
|
||||||
*
|
* \param add_len Length of \p additional in bytes.
|
||||||
* \note Additional data is optional, pass NULL and 0 as second
|
* Unused if \p additional is \c NULL.
|
||||||
* third argument if no additional data is being used.
|
|
||||||
*/
|
*/
|
||||||
MBEDTLS_DEPRECATED void mbedtls_hmac_drbg_update(
|
MBEDTLS_DEPRECATED void mbedtls_hmac_drbg_update(
|
||||||
mbedtls_hmac_drbg_context *ctx,
|
mbedtls_hmac_drbg_context *ctx,
|
||||||
|
@ -293,26 +450,31 @@ MBEDTLS_DEPRECATED void mbedtls_hmac_drbg_update(
|
||||||
|
|
||||||
#if defined(MBEDTLS_FS_IO)
|
#if defined(MBEDTLS_FS_IO)
|
||||||
/**
|
/**
|
||||||
* \brief Write a seed file
|
* \brief This function writes a seed file.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \param ctx The HMAC_DRBG context.
|
||||||
* \param path Name of the file
|
* \param path The name of the file.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, 1 on file error, or
|
* \return \c 0 on success.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
|
* \return #MBEDTLS_ERR_HMAC_DRBG_FILE_IO_ERROR on file error.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED on reseed
|
||||||
|
* failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_write_seed_file( mbedtls_hmac_drbg_context *ctx, const char *path );
|
int mbedtls_hmac_drbg_write_seed_file( mbedtls_hmac_drbg_context *ctx, const char *path );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Read and update a seed file. Seed is added to this
|
* \brief This function reads and updates a seed file. The seed
|
||||||
* instance
|
* is added to this instance.
|
||||||
*
|
*
|
||||||
* \param ctx HMAC_DRBG context
|
* \param ctx The HMAC_DRBG context.
|
||||||
* \param path Name of the file
|
* \param path The name of the file.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, 1 on file error,
|
* \return \c 0 on success.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED or
|
* \return #MBEDTLS_ERR_HMAC_DRBG_FILE_IO_ERROR on file error.
|
||||||
* MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG
|
* \return #MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED on
|
||||||
|
* reseed failure.
|
||||||
|
* \return #MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG if the existing
|
||||||
|
* seed file is too large.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_update_seed_file( mbedtls_hmac_drbg_context *ctx, const char *path );
|
int mbedtls_hmac_drbg_update_seed_file( mbedtls_hmac_drbg_context *ctx, const char *path );
|
||||||
#endif /* MBEDTLS_FS_IO */
|
#endif /* MBEDTLS_FS_IO */
|
||||||
|
@ -320,9 +482,10 @@ int mbedtls_hmac_drbg_update_seed_file( mbedtls_hmac_drbg_context *ctx, const ch
|
||||||
|
|
||||||
#if defined(MBEDTLS_SELF_TEST)
|
#if defined(MBEDTLS_SELF_TEST)
|
||||||
/**
|
/**
|
||||||
* \brief Checkup routine
|
* \brief The HMAC_DRBG Checkup routine.
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or 1 if the test failed
|
* \return \c 0 if successful.
|
||||||
|
* \return \c 1 if the test failed.
|
||||||
*/
|
*/
|
||||||
int mbedtls_hmac_drbg_self_test( int verbose );
|
int mbedtls_hmac_drbg_self_test( int verbose );
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_MD_H
|
#ifndef MBEDTLS_MD_H
|
||||||
|
@ -98,6 +123,8 @@ typedef struct mbedtls_md_context_t
|
||||||
* \brief This function returns the list of digests supported by the
|
* \brief This function returns the list of digests supported by the
|
||||||
* generic digest module.
|
* generic digest module.
|
||||||
*
|
*
|
||||||
|
* \note The list starts with the strongest available hashes.
|
||||||
|
*
|
||||||
* \return A statically allocated array of digests. Each element
|
* \return A statically allocated array of digests. Each element
|
||||||
* in the returned list is an integer belonging to the
|
* in the returned list is an integer belonging to the
|
||||||
* message-digest enumeration #mbedtls_md_type_t.
|
* message-digest enumeration #mbedtls_md_type_t.
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* instead.
|
* instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_MD2_H
|
#ifndef MBEDTLS_MD2_H
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* instead.
|
* instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_MD4_H
|
#ifndef MBEDTLS_MD4_H
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* digests instead.
|
* digests instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_MD5_H
|
#ifndef MBEDTLS_MD5_H
|
||||||
#define MBEDTLS_MD5_H
|
#define MBEDTLS_MD5_H
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_MD_WRAP_H
|
#ifndef MBEDTLS_MD_WRAP_H
|
||||||
#define MBEDTLS_MD_WRAP_H
|
#define MBEDTLS_MD_WRAP_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Buffer-based memory allocator
|
* \brief Buffer-based memory allocator
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_MEMORY_BUFFER_ALLOC_H
|
#ifndef MBEDTLS_MEMORY_BUFFER_ALLOC_H
|
||||||
#define MBEDTLS_MEMORY_BUFFER_ALLOC_H
|
#define MBEDTLS_MEMORY_BUFFER_ALLOC_H
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* \deprecated Superseded by mbedtls/net_sockets.h
|
* \deprecated Superseded by mbedtls/net_sockets.h
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#if !defined(MBEDTLS_CONFIG_FILE)
|
#if !defined(MBEDTLS_CONFIG_FILE)
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
|
@ -20,8 +20,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -35,7 +41,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_NET_SOCKETS_H
|
#ifndef MBEDTLS_NET_SOCKETS_H
|
||||||
#define MBEDTLS_NET_SOCKETS_H
|
#define MBEDTLS_NET_SOCKETS_H
|
||||||
|
@ -126,6 +151,7 @@ int mbedtls_net_connect( mbedtls_net_context *ctx, const char *host, const char
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or one of:
|
* \return 0 if successful, or one of:
|
||||||
* MBEDTLS_ERR_NET_SOCKET_FAILED,
|
* MBEDTLS_ERR_NET_SOCKET_FAILED,
|
||||||
|
* MBEDTLS_ERR_NET_UNKNOWN_HOST,
|
||||||
* MBEDTLS_ERR_NET_BIND_FAILED,
|
* MBEDTLS_ERR_NET_BIND_FAILED,
|
||||||
* MBEDTLS_ERR_NET_LISTEN_FAILED
|
* MBEDTLS_ERR_NET_LISTEN_FAILED
|
||||||
*
|
*
|
||||||
|
@ -145,6 +171,8 @@ int mbedtls_net_bind( mbedtls_net_context *ctx, const char *bind_ip, const char
|
||||||
* can be NULL if client_ip is null
|
* can be NULL if client_ip is null
|
||||||
*
|
*
|
||||||
* \return 0 if successful, or
|
* \return 0 if successful, or
|
||||||
|
* MBEDTLS_ERR_NET_SOCKET_FAILED,
|
||||||
|
* MBEDTLS_ERR_NET_BIND_FAILED,
|
||||||
* MBEDTLS_ERR_NET_ACCEPT_FAILED, or
|
* MBEDTLS_ERR_NET_ACCEPT_FAILED, or
|
||||||
* MBEDTLS_ERR_NET_BUFFER_TOO_SMALL if buf_size is too small,
|
* MBEDTLS_ERR_NET_BUFFER_TOO_SMALL if buf_size is too small,
|
||||||
* MBEDTLS_ERR_SSL_WANT_READ if bind_fd was set to
|
* MBEDTLS_ERR_SSL_WANT_READ if bind_fd was set to
|
||||||
|
@ -157,6 +185,10 @@ int mbedtls_net_accept( mbedtls_net_context *bind_ctx,
|
||||||
/**
|
/**
|
||||||
* \brief Check and wait for the context to be ready for read/write
|
* \brief Check and wait for the context to be ready for read/write
|
||||||
*
|
*
|
||||||
|
* \note The current implementation of this function uses
|
||||||
|
* select() and returns an error if the file descriptor
|
||||||
|
* is \c FD_SETSIZE or greater.
|
||||||
|
*
|
||||||
* \param ctx Socket to check
|
* \param ctx Socket to check
|
||||||
* \param rw Bitflag composed of MBEDTLS_NET_POLL_READ and
|
* \param rw Bitflag composed of MBEDTLS_NET_POLL_READ and
|
||||||
* MBEDTLS_NET_POLL_WRITE specifying the events
|
* MBEDTLS_NET_POLL_WRITE specifying the events
|
||||||
|
@ -238,16 +270,21 @@ int mbedtls_net_send( void *ctx, const unsigned char *buf, size_t len );
|
||||||
* 'timeout' seconds. If no error occurs, the actual amount
|
* 'timeout' seconds. If no error occurs, the actual amount
|
||||||
* read is returned.
|
* read is returned.
|
||||||
*
|
*
|
||||||
|
* \note The current implementation of this function uses
|
||||||
|
* select() and returns an error if the file descriptor
|
||||||
|
* is \c FD_SETSIZE or greater.
|
||||||
|
*
|
||||||
* \param ctx Socket
|
* \param ctx Socket
|
||||||
* \param buf The buffer to write to
|
* \param buf The buffer to write to
|
||||||
* \param len Maximum length of the buffer
|
* \param len Maximum length of the buffer
|
||||||
* \param timeout Maximum number of milliseconds to wait for data
|
* \param timeout Maximum number of milliseconds to wait for data
|
||||||
* 0 means no timeout (wait forever)
|
* 0 means no timeout (wait forever)
|
||||||
*
|
*
|
||||||
* \return the number of bytes received,
|
* \return The number of bytes received if successful.
|
||||||
* or a non-zero error code:
|
* MBEDTLS_ERR_SSL_TIMEOUT if the operation timed out.
|
||||||
* MBEDTLS_ERR_SSL_TIMEOUT if the operation timed out,
|
|
||||||
* MBEDTLS_ERR_SSL_WANT_READ if interrupted by a signal.
|
* MBEDTLS_ERR_SSL_WANT_READ if interrupted by a signal.
|
||||||
|
* Another negative error code (MBEDTLS_ERR_NET_xxx)
|
||||||
|
* for other failures.
|
||||||
*
|
*
|
||||||
* \note This function will block (until data becomes available or
|
* \note This function will block (until data becomes available or
|
||||||
* timeout is reached) even if the socket is set to
|
* timeout is reached) even if the socket is set to
|
||||||
|
|
|
@ -16,8 +16,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -31,7 +37,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_NIST_KW_H
|
#ifndef MBEDTLS_NIST_KW_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Object Identifier (OID) database
|
* \brief Object Identifier (OID) database
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_OID_H
|
#ifndef MBEDTLS_OID_H
|
||||||
#define MBEDTLS_OID_H
|
#define MBEDTLS_OID_H
|
||||||
|
|
|
@ -8,8 +8,14 @@
|
||||||
* functions; you must not call them directly.
|
* functions; you must not call them directly.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -23,7 +29,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PADLOCK_H
|
#ifndef MBEDTLS_PADLOCK_H
|
||||||
#define MBEDTLS_PADLOCK_H
|
#define MBEDTLS_PADLOCK_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Privacy Enhanced Mail (PEM) decoding
|
* \brief Privacy Enhanced Mail (PEM) decoding
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PEM_H
|
#ifndef MBEDTLS_PEM_H
|
||||||
#define MBEDTLS_PEM_H
|
#define MBEDTLS_PEM_H
|
||||||
|
@ -112,17 +137,27 @@ void mbedtls_pem_free( mbedtls_pem_context *ctx );
|
||||||
* \brief Write a buffer of PEM information from a DER encoded
|
* \brief Write a buffer of PEM information from a DER encoded
|
||||||
* buffer.
|
* buffer.
|
||||||
*
|
*
|
||||||
* \param header header string to write
|
* \param header The header string to write.
|
||||||
* \param footer footer string to write
|
* \param footer The footer string to write.
|
||||||
* \param der_data DER data to write
|
* \param der_data The DER data to encode.
|
||||||
* \param der_len length of the DER data
|
* \param der_len The length of the DER data \p der_data in Bytes.
|
||||||
* \param buf buffer to write to
|
* \param buf The buffer to write to.
|
||||||
* \param buf_len length of output buffer
|
* \param buf_len The length of the output buffer \p buf in Bytes.
|
||||||
* \param olen total length written / required (if buf_len is not enough)
|
* \param olen The address at which to store the total length written
|
||||||
|
* or required (if \p buf_len is not enough).
|
||||||
*
|
*
|
||||||
* \return 0 on success, or a specific PEM or BASE64 error code. On
|
* \note You may pass \c NULL for \p buf and \c 0 for \p buf_len
|
||||||
* MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL olen is the required
|
* to request the length of the resulting PEM buffer in
|
||||||
* size.
|
* `*olen`.
|
||||||
|
*
|
||||||
|
* \note This function may be called with overlapping \p der_data
|
||||||
|
* and \p buf buffers.
|
||||||
|
*
|
||||||
|
* \return \c 0 on success.
|
||||||
|
* \return #MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL if \p buf isn't large
|
||||||
|
* enough to hold the PEM buffer. In this case, `*olen` holds
|
||||||
|
* the required minimum size of \p buf.
|
||||||
|
* \return Another PEM or BASE64 error code on other kinds of failure.
|
||||||
*/
|
*/
|
||||||
int mbedtls_pem_write_buffer( const char *header, const char *footer,
|
int mbedtls_pem_write_buffer( const char *header, const char *footer,
|
||||||
const unsigned char *der_data, size_t der_len,
|
const unsigned char *der_data, size_t der_len,
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Public Key abstraction layer
|
* \brief Public Key abstraction layer
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_PK_H
|
#ifndef MBEDTLS_PK_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief Public Key abstraction layer: wrapper functions
|
* \brief Public Key abstraction layer: wrapper functions
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_PK_WRAP_H
|
#ifndef MBEDTLS_PK_WRAP_H
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* \author Adriaan de Jong <dejong@fox-it.com>
|
* \author Adriaan de Jong <dejong@fox-it.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PKCS11_H
|
#ifndef MBEDTLS_PKCS11_H
|
||||||
#define MBEDTLS_PKCS11_H
|
#define MBEDTLS_PKCS11_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief PKCS#12 Personal Information Exchange Syntax
|
* \brief PKCS#12 Personal Information Exchange Syntax
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PKCS12_H
|
#ifndef MBEDTLS_PKCS12_H
|
||||||
#define MBEDTLS_PKCS12_H
|
#define MBEDTLS_PKCS12_H
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* \author Mathias Olsson <mathias@kompetensum.com>
|
* \author Mathias Olsson <mathias@kompetensum.com>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PKCS5_H
|
#ifndef MBEDTLS_PKCS5_H
|
||||||
#define MBEDTLS_PKCS5_H
|
#define MBEDTLS_PKCS5_H
|
||||||
|
|
|
@ -13,8 +13,14 @@
|
||||||
* dynamically configured at runtime.
|
* dynamically configured at runtime.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +34,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PLATFORM_H
|
#ifndef MBEDTLS_PLATFORM_H
|
||||||
#define MBEDTLS_PLATFORM_H
|
#define MBEDTLS_PLATFORM_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief mbed TLS Platform time abstraction
|
* \brief mbed TLS Platform time abstraction
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PLATFORM_TIME_H
|
#ifndef MBEDTLS_PLATFORM_TIME_H
|
||||||
#define MBEDTLS_PLATFORM_TIME_H
|
#define MBEDTLS_PLATFORM_TIME_H
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
* library.
|
* library.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, Arm Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -20,7 +26,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_PLATFORM_UTIL_H
|
#ifndef MBEDTLS_PLATFORM_UTIL_H
|
||||||
#define MBEDTLS_PLATFORM_UTIL_H
|
#define MBEDTLS_PLATFORM_UTIL_H
|
||||||
|
|
|
@ -12,8 +12,15 @@
|
||||||
* \author Daniel King <damaki.gh@gmail.com>
|
* \author Daniel King <damaki.gh@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved.
|
/*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* Copyright The Mbed TLS Contributors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -27,7 +34,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MBEDTLS_POLY1305_H
|
#ifndef MBEDTLS_POLY1305_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief RIPE MD-160 message digest
|
* \brief RIPE MD-160 message digest
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_RIPEMD160_H
|
#ifndef MBEDTLS_RIPEMD160_H
|
||||||
#define MBEDTLS_RIPEMD160_H
|
#define MBEDTLS_RIPEMD160_H
|
||||||
|
|
|
@ -10,8 +10,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -25,7 +31,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_RSA_H
|
#ifndef MBEDTLS_RSA_H
|
||||||
#define MBEDTLS_RSA_H
|
#define MBEDTLS_RSA_H
|
||||||
|
@ -99,7 +124,10 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
typedef struct mbedtls_rsa_context
|
typedef struct mbedtls_rsa_context
|
||||||
{
|
{
|
||||||
int ver; /*!< Always 0.*/
|
int ver; /*!< Reserved for internal purposes.
|
||||||
|
* Do not set this field in application
|
||||||
|
* code. Its meaning might change without
|
||||||
|
* notice. */
|
||||||
size_t len; /*!< The size of \p N in Bytes. */
|
size_t len; /*!< The size of \p N in Bytes. */
|
||||||
|
|
||||||
mbedtls_mpi N; /*!< The public modulus. */
|
mbedtls_mpi N; /*!< The public modulus. */
|
||||||
|
@ -129,6 +157,7 @@ typedef struct mbedtls_rsa_context
|
||||||
mask generating function used in the
|
mask generating function used in the
|
||||||
EME-OAEP and EMSA-PSS encodings. */
|
EME-OAEP and EMSA-PSS encodings. */
|
||||||
#if defined(MBEDTLS_THREADING_C)
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
|
/* Invariant: the mutex is initialized iff ver != 0. */
|
||||||
mbedtls_threading_mutex_t mutex; /*!< Thread-safety mutex. */
|
mbedtls_threading_mutex_t mutex; /*!< Thread-safety mutex. */
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,8 +35,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2017, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -50,7 +56,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,14 @@
|
||||||
* digests instead.
|
* digests instead.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -26,7 +32,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SHA1_H
|
#ifndef MBEDTLS_SHA1_H
|
||||||
#define MBEDTLS_SHA1_H
|
#define MBEDTLS_SHA1_H
|
||||||
|
|
|
@ -7,8 +7,14 @@
|
||||||
* hash functions are defined in <em>FIPS 180-4: Secure Hash Standard (SHS)</em>.
|
* hash functions are defined in <em>FIPS 180-4: Secure Hash Standard (SHS)</em>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -22,7 +28,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SHA256_H
|
#ifndef MBEDTLS_SHA256_H
|
||||||
#define MBEDTLS_SHA256_H
|
#define MBEDTLS_SHA256_H
|
||||||
|
|
|
@ -6,8 +6,14 @@
|
||||||
* hash functions are defined in <em>FIPS 180-4: Secure Hash Standard (SHS)</em>.
|
* hash functions are defined in <em>FIPS 180-4: Secure Hash Standard (SHS)</em>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -21,7 +27,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of Mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SHA512_H
|
#ifndef MBEDTLS_SHA512_H
|
||||||
#define MBEDTLS_SHA512_H
|
#define MBEDTLS_SHA512_H
|
||||||
|
@ -127,8 +152,7 @@ int mbedtls_sha512_update_ret( mbedtls_sha512_context *ctx,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief This function finishes the SHA-512 operation, and writes
|
* \brief This function finishes the SHA-512 operation, and writes
|
||||||
* the result to the output buffer. This function is for
|
* the result to the output buffer.
|
||||||
* internal use only.
|
|
||||||
*
|
*
|
||||||
* \param ctx The SHA-512 context. This must be initialized
|
* \param ctx The SHA-512 context. This must be initialized
|
||||||
* and have a hash operation started.
|
* and have a hash operation started.
|
||||||
|
@ -144,6 +168,7 @@ int mbedtls_sha512_finish_ret( mbedtls_sha512_context *ctx,
|
||||||
/**
|
/**
|
||||||
* \brief This function processes a single data block within
|
* \brief This function processes a single data block within
|
||||||
* the ongoing SHA-512 computation.
|
* the ongoing SHA-512 computation.
|
||||||
|
* This function is for internal use only.
|
||||||
*
|
*
|
||||||
* \param ctx The SHA-512 context. This must be initialized.
|
* \param ctx The SHA-512 context. This must be initialized.
|
||||||
* \param data The buffer holding one block of data. This
|
* \param data The buffer holding one block of data. This
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief SSL/TLS functions.
|
* \brief SSL/TLS functions.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SSL_H
|
#ifndef MBEDTLS_SSL_H
|
||||||
#define MBEDTLS_SSL_H
|
#define MBEDTLS_SSL_H
|
||||||
|
@ -123,6 +148,7 @@
|
||||||
#define MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS -0x6500 /**< The asynchronous operation is not completed yet. */
|
#define MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS -0x6500 /**< The asynchronous operation is not completed yet. */
|
||||||
#define MBEDTLS_ERR_SSL_EARLY_MESSAGE -0x6480 /**< Internal-only message signaling that a message arrived early. */
|
#define MBEDTLS_ERR_SSL_EARLY_MESSAGE -0x6480 /**< Internal-only message signaling that a message arrived early. */
|
||||||
#define MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS -0x7000 /**< A cryptographic operation is in progress. Try again later. */
|
#define MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS -0x7000 /**< A cryptographic operation is in progress. Try again later. */
|
||||||
|
#define MBEDTLS_ERR_SSL_BAD_CONFIG -0x5E80 /**< Invalid value in SSL config */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Various constants
|
* Various constants
|
||||||
|
@ -137,6 +163,9 @@
|
||||||
#define MBEDTLS_SSL_TRANSPORT_DATAGRAM 1 /*!< DTLS */
|
#define MBEDTLS_SSL_TRANSPORT_DATAGRAM 1 /*!< DTLS */
|
||||||
|
|
||||||
#define MBEDTLS_SSL_MAX_HOST_NAME_LEN 255 /*!< Maximum host name defined in RFC 1035 */
|
#define MBEDTLS_SSL_MAX_HOST_NAME_LEN 255 /*!< Maximum host name defined in RFC 1035 */
|
||||||
|
#define MBEDTLS_SSL_MAX_ALPN_NAME_LEN 255 /*!< Maximum size in bytes of a protocol name in alpn ext., RFC 7301 */
|
||||||
|
|
||||||
|
#define MBEDTLS_SSL_MAX_ALPN_LIST_LEN 65535 /*!< Maximum size in bytes of list in alpn ext., RFC 7301 */
|
||||||
|
|
||||||
/* RFC 6066 section 4, see also mfl_code_to_length in ssl_tls.c
|
/* RFC 6066 section 4, see also mfl_code_to_length in ssl_tls.c
|
||||||
* NONE must be zero so that memset()ing structure to zero works */
|
* NONE must be zero so that memset()ing structure to zero works */
|
||||||
|
@ -1380,7 +1409,7 @@ void mbedtls_ssl_conf_dbg( mbedtls_ssl_config *conf,
|
||||||
* \note For DTLS, you need to provide either a non-NULL
|
* \note For DTLS, you need to provide either a non-NULL
|
||||||
* f_recv_timeout callback, or a f_recv that doesn't block.
|
* f_recv_timeout callback, or a f_recv that doesn't block.
|
||||||
*
|
*
|
||||||
* \note See the documentations of \c mbedtls_ssl_sent_t,
|
* \note See the documentations of \c mbedtls_ssl_send_t,
|
||||||
* \c mbedtls_ssl_recv_t and \c mbedtls_ssl_recv_timeout_t for
|
* \c mbedtls_ssl_recv_t and \c mbedtls_ssl_recv_timeout_t for
|
||||||
* the conventions those callbacks must follow.
|
* the conventions those callbacks must follow.
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief SSL session cache implementation
|
* \brief SSL session cache implementation
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SSL_CACHE_H
|
#ifndef MBEDTLS_SSL_CACHE_H
|
||||||
#define MBEDTLS_SSL_CACHE_H
|
#define MBEDTLS_SSL_CACHE_H
|
||||||
|
|
|
@ -4,8 +4,14 @@
|
||||||
* \brief SSL Ciphersuites for mbed TLS
|
* \brief SSL Ciphersuites for mbed TLS
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
|
* Copyright The Mbed TLS Contributors
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
|
*
|
||||||
|
* This file is provided under the Apache License 2.0, or the
|
||||||
|
* GNU General Public License v2.0 or later.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* Apache License 2.0:
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
* not use this file except in compliance with the License.
|
* not use this file except in compliance with the License.
|
||||||
|
@ -19,7 +25,26 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* This file is part of mbed TLS (https://tls.mbed.org)
|
* **********
|
||||||
|
*
|
||||||
|
* **********
|
||||||
|
* GNU General Public License v2.0 or later:
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* **********
|
||||||
*/
|
*/
|
||||||
#ifndef MBEDTLS_SSL_CIPHERSUITES_H
|
#ifndef MBEDTLS_SSL_CIPHERSUITES_H
|
||||||
#define MBEDTLS_SSL_CIPHERSUITES_H
|
#define MBEDTLS_SSL_CIPHERSUITES_H
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue