Compare commits
989 Commits
v3.10.4
...
v3.12.2-st
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
182028819d | ||
|
|
8a01d725da | ||
|
|
c0105b3008 | ||
|
|
e0734d56df | ||
|
|
2dfad0918a | ||
|
|
96667b47ee | ||
|
|
d46ab1f724 | ||
|
|
7f30397252 | ||
|
|
372e8b04d0 | ||
|
|
911b6f95f8 | ||
|
|
39749ed5be | ||
|
|
d7ae1df778 | ||
|
|
c5f80760a8 | ||
|
|
bdefdfe860 | ||
|
|
024c8725ad | ||
|
|
e904a38092 | ||
|
|
5362d46da9 | ||
|
|
06f564dea3 | ||
|
|
c9558ee27b | ||
|
|
f23ec7d5f2 | ||
|
|
e82807024b | ||
|
|
7f2e6e1d8a | ||
|
|
1377577af5 | ||
|
|
c9516e20b2 | ||
|
|
ccda176bfa | ||
|
|
9bea6cca52 | ||
|
|
9920bdf097 | ||
|
|
1bf9d092af | ||
|
|
1a7d58715a | ||
|
|
3d7e86f08d | ||
|
|
ddb5e57811 | ||
|
|
b82a529ec2 | ||
|
|
aab1e060a0 | ||
|
|
8659140494 | ||
|
|
32103891e2 | ||
|
|
e49560fbf0 | ||
|
|
7dccd9d478 | ||
|
|
d5b7c13fbf | ||
|
|
d65704c6b4 | ||
|
|
c0472a3a89 | ||
|
|
c49188cc89 | ||
|
|
9e4e58fe8c | ||
|
|
f724206e37 | ||
|
|
90f8f67982 | ||
|
|
9a6e4b2939 | ||
|
|
1e445e10a1 | ||
|
|
2b077b2792 | ||
|
|
1f72696359 | ||
|
|
130e026139 | ||
|
|
de34ec0f0c | ||
|
|
02ee22e73b | ||
|
|
819acd18a7 | ||
|
|
2c2217fcdc | ||
|
|
b79b816276 | ||
|
|
6fd53d31c2 | ||
|
|
04106a0089 | ||
|
|
de77d5cc83 | ||
|
|
34cac68f81 | ||
|
|
6548f32ee0 | ||
|
|
6021c37ec7 | ||
|
|
6707be2b0e | ||
|
|
7dca25ea88 | ||
|
|
09f8ddd0f0 | ||
|
|
4c8d228080 | ||
|
|
35141c335d | ||
|
|
898893fbcd | ||
|
|
280de41515 | ||
|
|
effad6e91c | ||
|
|
c945e65479 | ||
|
|
541f60801d | ||
|
|
152c24f210 | ||
|
|
f344f04e60 | ||
|
|
d855fd9452 | ||
|
|
75e04a08cd | ||
|
|
c4052607d7 | ||
|
|
6058362970 | ||
|
|
614736cbb2 | ||
|
|
d88d8c3ed8 | ||
|
|
d4b18a6d3f | ||
|
|
a02903c43e | ||
|
|
2d67f46247 | ||
|
|
69b25ee508 | ||
|
|
19ea4716f3 | ||
|
|
dcf61bd10e | ||
|
|
5c636b4f4a | ||
|
|
918a5fd5a6 | ||
|
|
9bf14a152f | ||
|
|
cb94911e1f | ||
|
|
8cd0b7dfc7 | ||
|
|
09e92c518d | ||
|
|
3b12b7223a | ||
|
|
34ef7207f9 | ||
|
|
eff781c0aa | ||
|
|
c836724685 | ||
|
|
7350bf93b3 | ||
|
|
fd9b2d3b8d | ||
|
|
0376a53f6b | ||
|
|
ef141c3ce9 | ||
|
|
6c85bc5d3d | ||
|
|
fadee8fbf2 | ||
|
|
4f15cde2eb | ||
|
|
e8dd7d0c4a | ||
|
|
b4f7997fdc | ||
|
|
19aaa88c72 | ||
|
|
9eb7e2aafa | ||
|
|
931fbde41d | ||
|
|
b172585fc3 | ||
|
|
e8f95b9252 | ||
|
|
8f3aa49ef6 | ||
|
|
d15704b2ba | ||
|
|
46f7e786cb | ||
|
|
0ced1f4847 | ||
|
|
ee6f88cd98 | ||
|
|
6451e12313 | ||
|
|
763d5f26c7 | ||
|
|
2c4844d5ef | ||
|
|
4a510218c2 | ||
|
|
eec5f9bb41 | ||
|
|
218f944984 | ||
|
|
a2ed22286f | ||
|
|
824eb55648 | ||
|
|
f5c4a68ab3 | ||
|
|
80333979a9 | ||
|
|
3f493770d4 | ||
|
|
2f96f1ae9f | ||
|
|
1c2199be24 | ||
|
|
5777b92745 | ||
|
|
5e6213bfa1 | ||
|
|
28c15bed1c | ||
|
|
3763b88397 | ||
|
|
60dca94821 | ||
|
|
4d8e1c9e5a | ||
|
|
816767744f | ||
|
|
2620cb4559 | ||
|
|
c4e87c8cc4 | ||
|
|
a9e540fc07 | ||
|
|
23903ec903 | ||
|
|
3f16fba4f8 | ||
|
|
27d607efa3 | ||
|
|
dcab2f47ee | ||
|
|
63e8d63943 | ||
|
|
0b11b265f6 | ||
|
|
5f0afcfe88 | ||
|
|
1f7d73f626 | ||
|
|
00e073424a | ||
|
|
f97f9a6158 | ||
|
|
e10b2f027f | ||
|
|
1b3a8f40b8 | ||
|
|
7721aca114 | ||
|
|
afcef7d394 | ||
|
|
23fff62d8b | ||
|
|
4c31c53f37 | ||
|
|
bea82ce214 | ||
|
|
a5eaecaa0e | ||
|
|
932773735b | ||
|
|
398252ddad | ||
|
|
2c39219f2a | ||
|
|
c018a1abf3 | ||
|
|
1d1fc66374 | ||
|
|
ee9d410326 | ||
|
|
a073d5d448 | ||
|
|
c482524b78 | ||
|
|
f7ea118dd7 | ||
|
|
6a226efd15 | ||
|
|
8807b8af4f | ||
|
|
3da5ddd49e | ||
|
|
d48c940334 | ||
|
|
ef73c1df7c | ||
|
|
7ac0bab37e | ||
|
|
9aef8a91fd | ||
|
|
1ba77e4306 | ||
|
|
3b351fd640 | ||
|
|
3dbe5d2af9 | ||
|
|
34dc4a493d | ||
|
|
61ff3e136a | ||
|
|
e6cf3c88f2 | ||
|
|
a8417c1078 | ||
|
|
6970333473 | ||
|
|
a308a56044 | ||
|
|
59358fd91d | ||
|
|
7918b31cae | ||
|
|
23342337ab | ||
|
|
2d5194cdf0 | ||
|
|
b10e0b789b | ||
|
|
4b630b67fa | ||
|
|
73b8be8fcc | ||
|
|
7c604bfc48 | ||
|
|
c25832ad14 | ||
|
|
71f4d546a8 | ||
|
|
fbae4420ad | ||
|
|
8865b272bb | ||
|
|
439e803bd1 | ||
|
|
7892714516 | ||
|
|
07d137480d | ||
|
|
075adcb15b | ||
|
|
5a27e2f621 | ||
|
|
2b7f4b0903 | ||
|
|
c9d6a4de6f | ||
|
|
c330c6b7f9 | ||
|
|
8a37af42bf | ||
|
|
d7f7c27e0a | ||
|
|
74ed94ddb1 | ||
|
|
7460aaf5ea | ||
|
|
c6e722170e | ||
|
|
c9efcc4561 | ||
|
|
84a396b7dc | ||
|
|
f6ad5524eb | ||
|
|
c06e672eb7 | ||
|
|
9909c8428c | ||
|
|
3ca679c1d7 | ||
|
|
9fb0862bc1 | ||
|
|
ff6a136b8a | ||
|
|
3fda99cbc4 | ||
|
|
f7ca2f157d | ||
|
|
68c04bd821 | ||
|
|
53e05786da | ||
|
|
ad4849d692 | ||
|
|
0ed03987df | ||
|
|
2e4000acb4 | ||
|
|
1f80fb952f | ||
|
|
ccc226eae4 | ||
|
|
b32be20110 | ||
|
|
a9c943d5bd | ||
|
|
b4aaeb5768 | ||
|
|
44a3622248 | ||
|
|
dd5430d188 | ||
|
|
af00787f80 | ||
|
|
a6db5fc882 | ||
|
|
2f92998529 | ||
|
|
f6d0b2898d | ||
|
|
2740d313a7 | ||
|
|
7736125156 | ||
|
|
21a8662948 | ||
|
|
963746fb3e | ||
|
|
294a13f9a2 | ||
|
|
5865816198 | ||
|
|
3c1140d90e | ||
|
|
8b41fc841b | ||
|
|
219fcde773 | ||
|
|
36b1a666d0 | ||
|
|
df1e5f2e1a | ||
|
|
04c16ca843 | ||
|
|
af4158d231 | ||
|
|
d12e98eea3 | ||
|
|
f27b3a83aa | ||
|
|
d195009dcb | ||
|
|
6717035563 | ||
|
|
d949832059 | ||
|
|
e9c6fa5f22 | ||
|
|
1dc2889388 | ||
|
|
b55f981d5b | ||
|
|
032d606f99 | ||
|
|
32cedb2b12 | ||
|
|
d0ff6067a6 | ||
|
|
df4387cff4 | ||
|
|
ea6b719ec2 | ||
|
|
3be4e0823e | ||
|
|
4d6cb66bc1 | ||
|
|
3f2de7154f | ||
|
|
977e909f60 | ||
|
|
4a5ecb8a15 | ||
|
|
089a050d7a | ||
|
|
b0eeed364b | ||
|
|
80bc089cb5 | ||
|
|
5c2736f1a9 | ||
|
|
31854c1566 | ||
|
|
108f6a4958 | ||
|
|
635bacef28 | ||
|
|
433ca50292 | ||
|
|
e77e93ef2e | ||
|
|
edce23b563 | ||
|
|
43b04af388 | ||
|
|
062f3efa6d | ||
|
|
65b8389af0 | ||
|
|
9f1b17effc | ||
|
|
2d94a3954a | ||
|
|
bd20729fba | ||
|
|
c93d348ecd | ||
|
|
be432d8d3a | ||
|
|
4e735631e7 | ||
|
|
af0514704f | ||
|
|
c20859e67d | ||
|
|
b553d36548 | ||
|
|
24e9f7c43d | ||
|
|
7cee1c5e8a | ||
|
|
2296f4806c | ||
|
|
0c753718bd | ||
|
|
a27738b5f9 | ||
|
|
a55e42c14f | ||
|
|
01099fd97e | ||
|
|
08da8df455 | ||
|
|
66852a9252 | ||
|
|
2051a05139 | ||
|
|
8a11b78960 | ||
|
|
36a539760a | ||
|
|
fb53fac1c1 | ||
|
|
62ce8c8b81 | ||
|
|
87611fdb5d | ||
|
|
5564be6113 | ||
|
|
3387b12a9a | ||
|
|
e1ccc5acad | ||
|
|
d452f97e99 | ||
|
|
bc72d0c2d5 | ||
|
|
d5cf5f9887 | ||
|
|
0978dd4285 | ||
|
|
dc7acc0400 | ||
|
|
637ca44e6a | ||
|
|
3560eed52b | ||
|
|
05ed5cafc2 | ||
|
|
41e2b236aa | ||
|
|
fbf4e94bcf | ||
|
|
038d16212f | ||
|
|
59450e83fa | ||
|
|
e1830772de | ||
|
|
55b07019a0 | ||
|
|
c03487d463 | ||
|
|
4fead493e7 | ||
|
|
4438b8e92d | ||
|
|
5b0022fba0 | ||
|
|
1b80e5a75f | ||
|
|
ef98e96767 | ||
|
|
a076a2f0d8 | ||
|
|
69d4bcbfd5 | ||
|
|
f9dee9adcc | ||
|
|
4939c3eeef | ||
|
|
874144be73 | ||
|
|
f8e2f596d6 | ||
|
|
e9f87b9f33 | ||
|
|
e8e1504d9f | ||
|
|
08488b52b7 | ||
|
|
33e214ffc1 | ||
|
|
5180cf4cce | ||
|
|
f147b01674 | ||
|
|
b23f983604 | ||
|
|
2329e37d97 | ||
|
|
8e38dcc347 | ||
|
|
bde6a35ac4 | ||
|
|
36c2ee92dc | ||
|
|
1040bbde16 | ||
|
|
be61d7fca3 | ||
|
|
6df9bc07a4 | ||
|
|
e68ceb3d2c | ||
|
|
95664fdd05 | ||
|
|
9d919ca947 | ||
|
|
0fed9c1dc5 | ||
|
|
59a46d08d9 | ||
|
|
26ac5e1ab7 | ||
|
|
b7dac4911b | ||
|
|
9e3497b3d5 | ||
|
|
f0d6299581 | ||
|
|
173283208b | ||
|
|
bd6633a31c | ||
|
|
e3ffd7d539 | ||
|
|
7a972d9611 | ||
|
|
cf9dfac877 | ||
|
|
d6190507ac | ||
|
|
8bfbabd147 | ||
|
|
0a63221220 | ||
|
|
7d82d7235a | ||
|
|
0fee243b75 | ||
|
|
935bf9028d | ||
|
|
3329aa7bef | ||
|
|
6223f4cd8e | ||
|
|
43f3e304e6 | ||
|
|
1d32409651 | ||
|
|
3b5e537f08 | ||
|
|
4c5ddc8482 | ||
|
|
6509faa78d | ||
|
|
1d5c6cce00 | ||
|
|
fbd7f7972b | ||
|
|
b40aad3f9e | ||
|
|
6097d29045 | ||
|
|
af1a9ca908 | ||
|
|
1657569605 | ||
|
|
96c25b2caa | ||
|
|
3f330a2b21 | ||
|
|
60c6c32ad3 | ||
|
|
fa4a8fee8c | ||
|
|
0457df83d4 | ||
|
|
30a54a4860 | ||
|
|
41638b437b | ||
|
|
dd9800856d | ||
|
|
431a0cbea9 | ||
|
|
f83a593f27 | ||
|
|
b616b8df02 | ||
|
|
0838a3828b | ||
|
|
5154584576 | ||
|
|
b3a20470fd | ||
|
|
5c19b7bfe0 | ||
|
|
667b8431cc | ||
|
|
81f09e575e | ||
|
|
d2245b9614 | ||
|
|
5f17598d47 | ||
|
|
0e6b0a6156 | ||
|
|
e68f1b2cec | ||
|
|
c93a903cae | ||
|
|
47fd21dc63 | ||
|
|
5671a4cb49 | ||
|
|
808f4692c7 | ||
|
|
fdb371e82e | ||
|
|
c4f0bd6172 | ||
|
|
cc4ca6a44a | ||
|
|
a7390e32ec | ||
|
|
e51225aca6 | ||
|
|
8acf709b59 | ||
|
|
f7cd8a0f15 | ||
|
|
12795e9a40 | ||
|
|
9e9dbc5e97 | ||
|
|
8612d52844 | ||
|
|
8b55122ba0 | ||
|
|
a0e918c350 | ||
|
|
ba48221c41 | ||
|
|
af8b96e277 | ||
|
|
4491102eed | ||
|
|
d559eb0f4f | ||
|
|
43260f02f4 | ||
|
|
b12e3c6579 | ||
|
|
c4fe67b633 | ||
|
|
b4f9c46069 | ||
|
|
19787e6d4f | ||
|
|
c777097e54 | ||
|
|
b02c995fff | ||
|
|
5bb8de627e | ||
|
|
43ad30d364 | ||
|
|
dc5e6f789d | ||
|
|
9d7e8a83c9 | ||
|
|
7853440d89 | ||
|
|
3ff088b92f | ||
|
|
00724c95a9 | ||
|
|
f8c0a52170 | ||
|
|
69e9aa29f2 | ||
|
|
a5cdbb18cb | ||
|
|
792fcefbb7 | ||
|
|
171796e8e2 | ||
|
|
cebcee34dd | ||
|
|
f9c949e7e5 | ||
|
|
58c05123da | ||
|
|
205da48416 | ||
|
|
b6854d620f | ||
|
|
626eeaa63d | ||
|
|
ced45ced41 | ||
|
|
31ac379c4f | ||
|
|
4b9069f786 | ||
|
|
e767d40656 | ||
|
|
df119692d1 | ||
|
|
5bddb2e4ef | ||
|
|
2939fbe242 | ||
|
|
1729e0205f | ||
|
|
54177c14b4 | ||
|
|
bba3fcf772 | ||
|
|
c9a2c4ef02 | ||
|
|
6a695b76cb | ||
|
|
a025417877 | ||
|
|
a3375ef961 | ||
|
|
d956181911 | ||
|
|
baf6bdd6e1 | ||
|
|
31e1d469c0 | ||
|
|
bba914f92e | ||
|
|
d2ce95955d | ||
|
|
c099137450 | ||
|
|
15a1c9d48e | ||
|
|
a89e50b7b7 | ||
|
|
c748d9dae9 | ||
|
|
b29cd414ef | ||
|
|
47cc3ffdbc | ||
|
|
7aee92110b | ||
|
|
9ca1903ac5 | ||
|
|
d4e104231c | ||
|
|
a3b21f0394 | ||
|
|
8bd6a1e727 | ||
|
|
3bdf8b3cfd | ||
|
|
fbc4123ec0 | ||
|
|
8ef556c2a0 | ||
|
|
b0f87fdcf7 | ||
|
|
72da8a9a07 | ||
|
|
d017274bff | ||
|
|
3a4edf75bd | ||
|
|
06fa3de31c | ||
|
|
ccb8e8c976 | ||
|
|
207b275d24 | ||
|
|
08a0b98f52 | ||
|
|
a37808b32c | ||
|
|
1aee054902 | ||
|
|
a3578c6643 | ||
|
|
7a3769f435 | ||
|
|
4bb17205fe | ||
|
|
a9d5dcae58 | ||
|
|
42a2f5858e | ||
|
|
9ead657723 | ||
|
|
cd570a01f2 | ||
|
|
247388903b | ||
|
|
fec75e445e | ||
|
|
64873489ef | ||
|
|
d75a9f2436 | ||
|
|
2f9f746053 | ||
|
|
0fa99fcc2e | ||
|
|
3e06beac19 | ||
|
|
c183e03802 | ||
|
|
decdf7ae8b | ||
|
|
1549a60aa5 | ||
|
|
350ce5fcef | ||
|
|
97906bfdb2 | ||
|
|
8b637cbd1b | ||
|
|
a555b5e54a | ||
|
|
c14e2d5888 | ||
|
|
6e6b341b46 | ||
|
|
d5b1698c43 | ||
|
|
4950c644cd | ||
|
|
7fdb7037d8 | ||
|
|
2a688bf905 | ||
|
|
c118146803 | ||
|
|
ee83710a0a | ||
|
|
6a2824f199 | ||
|
|
e0e8d14630 | ||
|
|
816b0b058c | ||
|
|
43d6b7a145 | ||
|
|
17936d65e0 | ||
|
|
2f36b24796 | ||
|
|
4389d271cc | ||
|
|
3c173ba366 | ||
|
|
e6f0ee84ec | ||
|
|
bb6582896d | ||
|
|
d5a43af751 | ||
|
|
1d303f5f61 | ||
|
|
25ce52cd0c | ||
|
|
2b085351b6 | ||
|
|
55d421d8b6 | ||
|
|
e1fef39aa2 | ||
|
|
f008350afd | ||
|
|
73567853d3 | ||
|
|
68439d4317 | ||
|
|
88afc7a92f | ||
|
|
40d94724eb | ||
|
|
131ccf289f | ||
|
|
a77f9fe3e6 | ||
|
|
b778ddfea2 | ||
|
|
c283d4aece | ||
|
|
70eddc4336 | ||
|
|
ff48d19727 | ||
|
|
89e6ac91bf | ||
|
|
6d5c257010 | ||
|
|
ea9e4887e9 | ||
|
|
1e94868432 | ||
|
|
13c4fe6cc4 | ||
|
|
62ae1d3023 | ||
|
|
19f22edd9a | ||
|
|
1ddd6fd3fe | ||
|
|
189d579bec | ||
|
|
76aa1f855f | ||
|
|
0ef1129f18 | ||
|
|
042ee817f3 | ||
|
|
048b074894 | ||
|
|
adf819458c | ||
|
|
a18e9a220f | ||
|
|
af2cbcdbab | ||
|
|
ce231e0cbc | ||
|
|
1d2b4226a4 | ||
|
|
894f4f6fa5 | ||
|
|
0fcd1617eb | ||
|
|
7cc455259e | ||
|
|
267753acdd | ||
|
|
8dbd9a88ee | ||
|
|
044417ba01 | ||
|
|
fdcf25b6d1 | ||
|
|
c70fa33094 | ||
|
|
86809cca74 | ||
|
|
90287c8857 | ||
|
|
a00165768c | ||
|
|
3429b5a3b5 | ||
|
|
1db52f0c04 | ||
|
|
a30e8eb4ad | ||
|
|
1bc862ae24 | ||
|
|
613d30bcae | ||
|
|
4beda52dcd | ||
|
|
1be0b2aa30 | ||
|
|
2c84eee2df | ||
|
|
5d5ff56336 | ||
|
|
26f106c42b | ||
|
|
63c85f72d2 | ||
|
|
af03b7a4ff | ||
|
|
026a95ff10 | ||
|
|
642795db1b | ||
|
|
c55575665f | ||
|
|
c3d29ddfe3 | ||
|
|
b3a85bc2c7 | ||
|
|
3df565475a | ||
|
|
0b32d0368f | ||
|
|
6b34a94589 | ||
|
|
7a52b5b394 | ||
|
|
38c6d2e3eb | ||
|
|
320ad56139 | ||
|
|
c0408aebb4 | ||
|
|
e345471b21 | ||
|
|
a0345f6ba9 | ||
|
|
53021a5df7 | ||
|
|
1c0006882a | ||
|
|
a44df73151 | ||
|
|
7ef5aeaf13 | ||
|
|
4134073c8d | ||
|
|
0e22752af4 | ||
|
|
47b0a62c88 | ||
|
|
edddd05226 | ||
|
|
4d458831b7 | ||
|
|
b47fca5760 | ||
|
|
60c51db831 | ||
|
|
c1664bd1a0 | ||
|
|
64de29f277 | ||
|
|
77dbf539c8 | ||
|
|
720f3fdad2 | ||
|
|
d2b6ab0796 | ||
|
|
6b09a7c6e1 | ||
|
|
1880677232 | ||
|
|
fc5a37ac02 | ||
|
|
9f5f1dd00f | ||
|
|
19edd47018 | ||
|
|
47d04ebaff | ||
|
|
c85d07a49d | ||
|
|
a8f08d1d70 | ||
|
|
0e860b0d55 | ||
|
|
15a2323c09 | ||
|
|
6c6069bed8 | ||
|
|
8920cd89e4 | ||
|
|
570c3f02b8 | ||
|
|
398c27d848 | ||
|
|
b6c2e2acf9 | ||
|
|
184e9c4090 | ||
|
|
a616513860 | ||
|
|
0a28b76e8b | ||
|
|
1cf3530124 | ||
|
|
bdaa827114 | ||
|
|
7f01aa917a | ||
|
|
4390f4c711 | ||
|
|
5ef977aa3d | ||
|
|
7f350a726b | ||
|
|
452e057dbf | ||
|
|
c3a7497562 | ||
|
|
4737b97503 | ||
|
|
cbb2c73828 | ||
|
|
d61e0243a3 | ||
|
|
36e1fb5e5b | ||
|
|
09ca962d66 | ||
|
|
2086394a35 | ||
|
|
77ac61c0f4 | ||
|
|
30db8e95a7 | ||
|
|
48895cf03b | ||
|
|
7bd1e0b80a | ||
|
|
c5cc9f5392 | ||
|
|
4370a01778 | ||
|
|
b5e74878b3 | ||
|
|
4edcbc79c1 | ||
|
|
548c01ce54 | ||
|
|
9fb6373cfb | ||
|
|
c1f82ece7a | ||
|
|
2f15d57a6f | ||
|
|
63a6618feb | ||
|
|
4c451a6c61 | ||
|
|
5621fad02b | ||
|
|
cb3b10054d | ||
|
|
270d6cbae3 | ||
|
|
6acd5dafa7 | ||
|
|
81b6894f6f | ||
|
|
289f60e2c9 | ||
|
|
79b0311952 | ||
|
|
c960faffeb | ||
|
|
e5fe1a3750 | ||
|
|
da15b54529 | ||
|
|
bb60f7a4a4 | ||
|
|
d53a77a589 | ||
|
|
1a08143946 | ||
|
|
1e2a6412d7 | ||
|
|
ff4fcf21d6 | ||
|
|
c6ce1fe330 | ||
|
|
c7e57e9c6c | ||
|
|
c8e6c64e51 | ||
|
|
4723b8470a | ||
|
|
4d77e80d04 | ||
|
|
224c1b2645 | ||
|
|
f8023b808f | ||
|
|
3297280e62 | ||
|
|
dcd3a6a478 | ||
|
|
66e086a0bf | ||
|
|
0374907acc | ||
|
|
d03f97dafc | ||
|
|
606aca9916 | ||
|
|
01a5f901d0 | ||
|
|
53a837b230 | ||
|
|
7c7503449f | ||
|
|
562db08c3d | ||
|
|
c0c98c8f64 | ||
|
|
f1e6f7d01d | ||
|
|
ce42738198 | ||
|
|
5c652e398f | ||
|
|
e12545ac38 | ||
|
|
05d2032661 | ||
|
|
1b21df9b2b | ||
|
|
2efa7d5b8b | ||
|
|
a79f9c93c9 | ||
|
|
7d6597fe55 | ||
|
|
dcc9f9ae63 | ||
|
|
22ce2f183d | ||
|
|
01586b26ae | ||
|
|
ec6d8f48b8 | ||
|
|
df3abee72c | ||
|
|
8d4f8c6d80 | ||
|
|
c47826cc8f | ||
|
|
e8cf4b5ff0 | ||
|
|
dea092fa0a | ||
|
|
46c4adcf4c | ||
|
|
2e016f3b25 | ||
|
|
285a338054 | ||
|
|
7b6e2b1002 | ||
|
|
5726c23d81 | ||
|
|
8cd78edac1 | ||
|
|
011178994b | ||
|
|
6cc3983894 | ||
|
|
17587d38f8 | ||
|
|
d23f1e5637 | ||
|
|
176193a835 | ||
|
|
a4ceeed462 | ||
|
|
fdb46ac24c | ||
|
|
0ca2d7c137 | ||
|
|
af0103bc94 | ||
|
|
758c2a761c | ||
|
|
902f5cf53f | ||
|
|
f0204de881 | ||
|
|
570befb63f | ||
|
|
efb4b3c183 | ||
|
|
253140f37e | ||
|
|
77f9126edf | ||
|
|
2b1e9973ec | ||
|
|
edf5d6d777 | ||
|
|
b51643c344 | ||
|
|
7dd877554b | ||
|
|
9b5340d3af | ||
|
|
bfc43cee15 | ||
|
|
5e06d59c79 | ||
|
|
e771611c29 | ||
|
|
86f10086bb | ||
|
|
55538b5de0 | ||
|
|
338194be25 | ||
|
|
1dc5a0fba2 | ||
|
|
a8a5841b7c | ||
|
|
4c8fdf99c5 | ||
|
|
8146f73eff | ||
|
|
aa990ed1ce | ||
|
|
dbb67d8582 | ||
|
|
0532adf653 | ||
|
|
ddcf11011e | ||
|
|
27aafd674a | ||
|
|
8d032081ae | ||
|
|
4135279f82 | ||
|
|
f61380da21 | ||
|
|
3647e50c17 | ||
|
|
9491027c85 | ||
|
|
1a0b408658 | ||
|
|
9655a1e38c | ||
|
|
f19cf4cb34 | ||
|
|
7a1776e931 | ||
|
|
893b6f7d75 | ||
|
|
9269298034 | ||
|
|
abe5a318f2 | ||
|
|
2de6c88b80 | ||
|
|
7270134aec | ||
|
|
450ff55d83 | ||
|
|
db63fe83d4 | ||
|
|
4387e1f08e | ||
|
|
885b301e72 | ||
|
|
c92b497ea3 | ||
|
|
ab78bd0d90 | ||
|
|
b8917baa6a | ||
|
|
053594eb98 | ||
|
|
2deced22dc | ||
|
|
b61f279b61 | ||
|
|
a4efaf5eaa | ||
|
|
3e6243eb08 | ||
|
|
8118762dc4 | ||
|
|
fd2996bdeb | ||
|
|
774ce1a47c | ||
|
|
4363cf8a5c | ||
|
|
d612b827b7 | ||
|
|
325a3ce418 | ||
|
|
5a77eaa579 | ||
|
|
7db30ef550 | ||
|
|
1f923a11ee | ||
|
|
ac2835ec2e | ||
|
|
d435c16fe8 | ||
|
|
fb90a4e498 | ||
|
|
be6b12a350 | ||
|
|
92d3c7cd59 | ||
|
|
8b0784bdfa | ||
|
|
4dad4b6962 | ||
|
|
dd2915f4fa | ||
|
|
08787621ea | ||
|
|
6ada67f93f | ||
|
|
7bd7de350c | ||
|
|
7058211860 | ||
|
|
ebb32265eb | ||
|
|
db835da00b | ||
|
|
348536af9a | ||
|
|
3600371abf | ||
|
|
af26708330 | ||
|
|
7a3f7ad9be | ||
|
|
a857da23c0 | ||
|
|
1dd16e6702 | ||
|
|
c9d53a4ca2 | ||
|
|
d6abd4d131 | ||
|
|
a8eb2614f6 | ||
|
|
14e37cdc4c | ||
|
|
5b257d6fd8 | ||
|
|
32e83cb55d | ||
|
|
344c0ec747 | ||
|
|
4eecaf2574 | ||
|
|
a8115d51fa | ||
|
|
5b82c2f6ec | ||
|
|
1215203c39 | ||
|
|
4a8259b2ad | ||
|
|
5486a60326 | ||
|
|
3279865610 | ||
|
|
bf877a636f | ||
|
|
7df7a07a68 | ||
|
|
8e7d0ba243 | ||
|
|
fbd5d5bfc6 | ||
|
|
bab3fd5925 | ||
|
|
4f26e0341b | ||
|
|
f7c58b0643 | ||
|
|
3749988ee2 | ||
|
|
5b5c8f1e95 | ||
|
|
b08e5f3b82 | ||
|
|
53eca92cc0 | ||
|
|
21d2becd6b | ||
|
|
999328f2a0 | ||
|
|
3f067bccf0 | ||
|
|
74aafb1679 | ||
|
|
609ca3c823 | ||
|
|
b5d856eada | ||
|
|
00ea508751 | ||
|
|
7779a64cae | ||
|
|
f2ac410f1e | ||
|
|
ac6b840dc5 | ||
|
|
85b78835a6 | ||
|
|
ebde18af59 | ||
|
|
620d21c850 | ||
|
|
3df47d57ab | ||
|
|
4c6a70861b | ||
|
|
723ee69114 | ||
|
|
ef231a039d | ||
|
|
fe215c4a57 | ||
|
|
460197a5e0 | ||
|
|
3ac35ce3b3 | ||
|
|
26c8958d1e | ||
|
|
8ee9e4ff8b | ||
|
|
3abcff4db5 | ||
|
|
27d009475c | ||
|
|
e1a53a6c36 | ||
|
|
4f7b27fc88 | ||
|
|
3810571e0d | ||
|
|
b1d59a2334 | ||
|
|
11133e578d | ||
|
|
b510c8199e | ||
|
|
df70b3c859 | ||
|
|
3e9a5fd433 | ||
|
|
9ca49e7f56 | ||
|
|
02513792b6 | ||
|
|
d0f31d4a30 | ||
|
|
85bef98331 | ||
|
|
0cebc2172c | ||
|
|
d399b51ba8 | ||
|
|
de017b0028 | ||
|
|
8f300515bd | ||
|
|
213afe18c3 | ||
|
|
eb1a191fd2 | ||
|
|
e419a6f899 | ||
|
|
62e7dc87c3 | ||
|
|
56a1618ba0 | ||
|
|
c1640e8a3d | ||
|
|
dc65a9a277 | ||
|
|
dccff615d5 | ||
|
|
97c22c88d8 | ||
|
|
27c6625bfe | ||
|
|
5edcf685ca | ||
|
|
335b6d41c1 | ||
|
|
cbe46f8d74 | ||
|
|
b19cf2cfb8 | ||
|
|
e8971c361a | ||
|
|
8953ed9f30 | ||
|
|
3478c9b937 | ||
|
|
80d88b9421 | ||
|
|
4ff2903b55 | ||
|
|
eb40175cc6 | ||
|
|
6a1ae7ee5b | ||
|
|
b14da2622e | ||
|
|
4dcad96f97 | ||
|
|
b827380baf | ||
|
|
4e703b6805 | ||
|
|
2b443a79f2 | ||
|
|
ecaaf19ebf | ||
|
|
c466e3c078 | ||
|
|
2c13ea9a67 | ||
|
|
b49a2561bc | ||
|
|
6e16410e25 | ||
|
|
d62d0aaa26 | ||
|
|
9ef26679df | ||
|
|
bb8e67b79c | ||
|
|
706c02deed | ||
|
|
c8400e9ff1 | ||
|
|
b11bb5325a | ||
|
|
d648d4f6c7 | ||
|
|
3328b4d38b | ||
|
|
15091675fe | ||
|
|
deb80e5ddb | ||
|
|
e0a4758c0f | ||
|
|
2aa523e0ea | ||
|
|
26f3924c93 | ||
|
|
36e81b650e | ||
|
|
683a655908 | ||
|
|
b02a75510e | ||
|
|
abaf820537 | ||
|
|
fd9e41dd99 | ||
|
|
d626c917dd | ||
|
|
25779dfb4f | ||
|
|
d94fcd8b69 | ||
|
|
5f7e77f131 | ||
|
|
88679a6a0c | ||
|
|
739436d7a8 | ||
|
|
9780f1faef | ||
|
|
d5d7a4ae7b | ||
|
|
b2fc525a1d | ||
|
|
c467bbd776 | ||
|
|
6ca16b06d2 | ||
|
|
daafb2c5ac | ||
|
|
e33d4c0172 | ||
|
|
00a74d0da4 | ||
|
|
bf12e4ecca | ||
|
|
b11265dbf5 | ||
|
|
de9f05f3c5 | ||
|
|
e4942eaa3d | ||
|
|
74f72b5c6b | ||
|
|
3ca087e850 | ||
|
|
79e8bd2f2b | ||
|
|
be768f5395 | ||
|
|
d3d7446a24 | ||
|
|
3918cdef03 | ||
|
|
a761a7fc64 | ||
|
|
feb6617dc9 | ||
|
|
51bf46288b | ||
|
|
5c8e69eb5e | ||
|
|
c5bd24c1b7 | ||
|
|
bb97e03a44 | ||
|
|
089387906e | ||
|
|
715d6afeda | ||
|
|
0a9f66338c | ||
|
|
2d56f09320 | ||
|
|
56091e267f | ||
|
|
08f188ab44 | ||
|
|
2c87f8d33c | ||
|
|
050ba9d6e0 | ||
|
|
cb0cc92ff2 | ||
|
|
2f3ec778bd | ||
|
|
d3195d0b75 | ||
|
|
e3ec769107 | ||
|
|
53d4c171c8 | ||
|
|
35f03eb00a | ||
|
|
1c9147a41e | ||
|
|
9b58ab0211 | ||
|
|
4b75d11164 | ||
|
|
f3c1522608 | ||
|
|
b9934695fb | ||
|
|
567dfd76b3 | ||
|
|
2cbdd45e8f | ||
|
|
07072ef266 | ||
|
|
baeba53527 | ||
|
|
445e375daa | ||
|
|
52eb0becf0 | ||
|
|
368f2baf88 | ||
|
|
8eec3cb874 | ||
|
|
0ed0672b16 | ||
|
|
c0b59a585b | ||
|
|
015ffecbab | ||
|
|
760ddd14f5 | ||
|
|
7201435f2d | ||
|
|
bd14611879 | ||
|
|
c8ae6abb43 | ||
|
|
e1c01378c7 | ||
|
|
20cfbe399c | ||
|
|
e06b17e170 | ||
|
|
0df897d4b9 | ||
|
|
7b884ad72a | ||
|
|
8b0edafef3 | ||
|
|
f4d6890b51 |
@@ -66,7 +66,7 @@
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="wolfcrypt/src/misc.c|IDE/LPCXPRESSO/wolf_example|tirtos|testsuite|tests|swig|support|sslSniffer|scripts|rpm|mqx|mplabx|mcapi|m4|IDE/WORKBENCH|IDE/WIN|IDE/ROWLEY-CROSSWORKS-ARM|IDE/MYSQL|IDE/MDK-ARM|IDE/MDK5-ARM|IDE/LPCXPRESSO/wolf_demo|IDE/LPCXPRESSO/lpc_chip_18xx|IDE/LPCXPRESSO/lpc_board_nxp_lpcxpresso_1837|IDE/iOS|IDE/IAR-EWARM|examples|Debug|certs|build-aux|Backup|autom4te.cache|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
<entry excluding="src/bio.c|wolfcrypt/src/evp.c|wolfcrypt/src/misc.c|IDE/LPCXPRESSO/wolf_example|tirtos|testsuite|tests|swig|support|sslSniffer|scripts|rpm|mqx|mplabx|mcapi|m4|IDE/WORKBENCH|IDE/WIN|IDE/ROWLEY-CROSSWORKS-ARM|IDE/MYSQL|IDE/MDK-ARM|IDE/MDK5-ARM|IDE/LPCXPRESSO/wolf_demo|IDE/LPCXPRESSO/lpc_chip_18xx|IDE/LPCXPRESSO/lpc_board_nxp_lpcxpresso_1837|IDE/iOS|IDE/IAR-EWARM|examples|Debug|certs|build-aux|Backup|autom4te.cache|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
|
||||
45
.gitignore
vendored
45
.gitignore
vendored
@@ -9,7 +9,8 @@ ctaocrypt/src/src/
|
||||
*.cache
|
||||
.dirstamp
|
||||
*.user
|
||||
config*
|
||||
configure
|
||||
config.*
|
||||
*Debug/
|
||||
*Release/
|
||||
*.ncb
|
||||
@@ -44,6 +45,12 @@ src/async.c
|
||||
wolfssl/async.h
|
||||
wolfcrypt/src/async.c
|
||||
wolfssl/wolfcrypt/async.h
|
||||
wolfcrypt/src/port/intel/quickassist.c
|
||||
wolfcrypt/src/port/intel/quickassist_mem.c
|
||||
wolfcrypt/src/port/cavium/cavium_nitrox.c
|
||||
wolfssl/wolfcrypt/port/intel/quickassist.h
|
||||
wolfssl/wolfcrypt/port/intel/quickassist_mem.h
|
||||
wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h
|
||||
ctaocrypt/benchmark/benchmark
|
||||
ctaocrypt/test/testctaocrypt
|
||||
wolfcrypt/benchmark/benchmark
|
||||
@@ -74,6 +81,8 @@ certecc.der
|
||||
certecc.pem
|
||||
othercert.der
|
||||
othercert.pem
|
||||
certeccrsa.der
|
||||
certeccrsa.pem
|
||||
ntru-cert.der
|
||||
ntru-cert.pem
|
||||
ntru-key.raw
|
||||
@@ -85,7 +94,18 @@ ecc-key.pem
|
||||
certreq.der
|
||||
certreq.pem
|
||||
pkcs7cert.der
|
||||
pkcs7signedData.der
|
||||
pkcs7signedData_RSA_SHA.der
|
||||
pkcs7signedData_RSA_SHA_noattr.der
|
||||
pkcs7signedData_RSA_SHA224.der
|
||||
pkcs7signedData_RSA_SHA256.der
|
||||
pkcs7signedData_RSA_SHA384.der
|
||||
pkcs7signedData_RSA_SHA512.der
|
||||
pkcs7signedData_ECDSA_SHA.der
|
||||
pkcs7signedData_ECDSA_SHA_noattr.der
|
||||
pkcs7signedData_ECDSA_SHA224.der
|
||||
pkcs7signedData_ECDSA_SHA256.der
|
||||
pkcs7signedData_ECDSA_SHA384.der
|
||||
pkcs7signedData_ECDSA_SHA512.der
|
||||
pkcs7envelopedDataDES3.der
|
||||
pkcs7envelopedDataAES128CBC.der
|
||||
pkcs7envelopedDataAES192CBC.der
|
||||
@@ -110,6 +130,7 @@ autoscan.log
|
||||
TAGS
|
||||
.DS_Store
|
||||
support/cyassl.pc
|
||||
support/wolfssl.pc
|
||||
cyassl/ctaocrypt/stamp-h1
|
||||
swig/_cyassl.so
|
||||
swig/_wolfssl.so
|
||||
@@ -150,6 +171,12 @@ mplabx/wolfcrypt_test.X/nbproject/Makefile-*
|
||||
mplabx/wolfcrypt_test.X/nbproject/Package-default.bash
|
||||
mplabx/wolfssl.X/nbproject/Makefile-*
|
||||
mplabx/wolfssl.X/nbproject/Package-default.bash
|
||||
mplabx/wolfssl.X/nbproject/private
|
||||
mplabx/wolfcrypt_test.X/nbproject/private
|
||||
mplabx/wolfcrypt_benchmark.X/nbproject/private
|
||||
mplabx/wolfssl.X/dist/default/
|
||||
mplabx/wolfcrypt_test.X/dist/default/
|
||||
mplabx/wolfcrypt_benchmark.X/dist/default/
|
||||
*.dSYM
|
||||
|
||||
# Vagrant folder
|
||||
@@ -190,4 +217,18 @@ wrapper/CSharp/x64/
|
||||
|
||||
# Visual Studio Code Workspace Files
|
||||
*.vscode
|
||||
*.userprefs
|
||||
|
||||
IDE/INTIME-RTOS/Debug_*
|
||||
IDE/VS-ARM/.vs
|
||||
|
||||
# Hexiwear
|
||||
IDE/HEXIWEAR/wolfSSL_HW/Debug
|
||||
|
||||
# Linux-SGX
|
||||
IDE/LINUX-SGX/*.a
|
||||
|
||||
# Binaries
|
||||
wolfcrypt/src/port/intel/qat_test
|
||||
/mplabx/wolfssl.X/dist/default/
|
||||
/mplabx/wolfcrypt_test.X/dist/default/
|
||||
|
||||
@@ -13,3 +13,14 @@ if [ "$DIR" = "ARDUINO" ]; then
|
||||
else
|
||||
echo "ERROR: You must be in the IDE/ARDUINO directory to run this script"
|
||||
fi
|
||||
|
||||
#UPDATED: 19 Apr 2017 to remove bio.c and evp.c from the root directory since
|
||||
# they are included inline and should not be compiled directly
|
||||
|
||||
ARDUINO_DIR=${PWD}
|
||||
cd ../../
|
||||
rm bio.c
|
||||
rm evp.c
|
||||
cd $ARDUINO_DIR
|
||||
# end script in the origin directory for any future functionality that may be added.
|
||||
#End UPDATE: 19 Apr 2017
|
||||
|
||||
440
IDE/GCC-ARM/Header/user_settings.h
Normal file
440
IDE/GCC-ARM/Header/user_settings.h
Normal file
@@ -0,0 +1,440 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL 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.
|
||||
*
|
||||
* wolfSSL 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-1335, USA
|
||||
*/
|
||||
|
||||
/* Custom wolfSSL user settings for GCC ARM */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
#undef SINGLE_THREADED
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#undef WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
#undef WOLFSSL_USER_IO
|
||||
#define WOLFSSL_USER_IO
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef USE_FAST_MATH
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
#ifdef USE_FAST_MATH
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
/* Optimizations (on M0 UMULL is not supported, need another assembly solution) */
|
||||
//#define TFM_ARM
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Crypto */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
#undef NO_RSA
|
||||
#if 1
|
||||
#ifdef USE_FAST_MATH
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 4096
|
||||
#endif
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* ECC */
|
||||
#if 1
|
||||
#undef HAVE_ECC
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
||||
//#define HAVE_ECC192
|
||||
//#define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
//#define HAVE_ECC384
|
||||
//#define HAVE_ECC521
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Use alternate ECC size for ECC math */
|
||||
#ifdef USE_FAST_MATH
|
||||
#ifdef NO_RSA
|
||||
/* if not using RSA set FP_MAX_BITS to 256*2 */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 512
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
#define ALT_ECC_SIZE
|
||||
#endif
|
||||
|
||||
#ifndef NO_ECC256
|
||||
#undef TFM_ECC256
|
||||
#define TFM_ECC256
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
#undef HAVE_AESCCM
|
||||
#define HAVE_AESCCM
|
||||
|
||||
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
|
||||
#undef GCM_SMALL
|
||||
#define GCM_SMALL
|
||||
#else
|
||||
#define NO_AES
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 0
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 0
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 0
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 0
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
#define USE_SLOW_SHA2
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 1
|
||||
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_SHA3
|
||||
#if 0
|
||||
#define WOLFSSL_SHA3
|
||||
#else
|
||||
#endif
|
||||
|
||||
/* HKDF */
|
||||
#undef HAVE_HKDF
|
||||
#if 0
|
||||
#define HAVE_HKDF
|
||||
#else
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
//#undef USE_CERT_BUFFERS_1024
|
||||
//#define USE_CERT_BUFFERS_1024
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef DEBUG_WOLFSSL
|
||||
//#define DEBUG_WOLFSSL
|
||||
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 0
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
//#define WOLFSSL_TRACK_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY
|
||||
//#define WOLFSSL_DEBUG_MEMORY
|
||||
#else
|
||||
#undef NO_WOLFSSL_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
#endif
|
||||
|
||||
#ifndef DEBUG_WOLFSSL
|
||||
#undef NO_ERROR_STRINGS
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define USER_TICKS
|
||||
extern unsigned long my_time(unsigned long* timer);
|
||||
#define XTIME my_time
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Size of returned HW RNG value */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
|
||||
/* Seed source */
|
||||
extern unsigned int custom_rand_generate(void);
|
||||
#undef CUSTOM_RAND_GENERATE
|
||||
#define CUSTOM_RAND_GENERATE custom_rand_generate
|
||||
|
||||
/* Choose RNG method */
|
||||
#if 0
|
||||
/* Use built-in P-RNG (SHA256 based) with HW RNG */
|
||||
/* P-RNG + HW RNG (P-RNG is ~8K) */
|
||||
#undef HAVE_HASHDRBG
|
||||
#define HAVE_HASHDRBG
|
||||
#else
|
||||
#undef WC_NO_HASHDRBG
|
||||
#define WC_NO_HASHDRBG
|
||||
|
||||
/* Bypass P-RNG and use only HW RNG */
|
||||
extern int custom_rand_generate_block(unsigned char* output, unsigned int sz);
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK custom_rand_generate_block
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#if 0
|
||||
#undef WOLFSSL_TLS13
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_DH
|
||||
#define NO_DH
|
||||
|
||||
#undef NO_DES3
|
||||
#define NO_DES3
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_HC128
|
||||
#define NO_HC128
|
||||
|
||||
#undef NO_RABBIT
|
||||
#define NO_RABBIT
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
//#define NO_CODING
|
||||
|
||||
#undef NO_ASN_TIME
|
||||
//#define NO_ASN_TIME
|
||||
|
||||
#undef NO_CERTS
|
||||
//#define NO_CERTS
|
||||
|
||||
#undef NO_SIG_WRAPPER
|
||||
//#define NO_SIG_WRAPPER
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
|
||||
16
IDE/GCC-ARM/Makefile
Normal file
16
IDE/GCC-ARM/Makefile
Normal file
@@ -0,0 +1,16 @@
|
||||
BUILD_DIR = ./Build
|
||||
|
||||
all: WolfSSLStaticLib WolfCryptTest WolfCryptBench WolfSSLClient
|
||||
|
||||
WolfCryptTest:
|
||||
$(MAKE) -f Makefile.test
|
||||
WolfCryptBench:
|
||||
$(MAKE) -f Makefile.bench
|
||||
WolfSSLClient:
|
||||
$(MAKE) -f Makefile.client
|
||||
WolfSSLStaticLib:
|
||||
$(MAKE) -f Makefile.static
|
||||
|
||||
clean:
|
||||
rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map
|
||||
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm
|
||||
7
IDE/GCC-ARM/Makefile.bench
Normal file
7
IDE/GCC-ARM/Makefile.bench
Normal file
@@ -0,0 +1,7 @@
|
||||
# Project name
|
||||
BIN = WolfCryptBench
|
||||
SRC_C = ./Source/benchmark_main.c
|
||||
|
||||
all: build_hex
|
||||
|
||||
include Makefile.common
|
||||
7
IDE/GCC-ARM/Makefile.client
Normal file
7
IDE/GCC-ARM/Makefile.client
Normal file
@@ -0,0 +1,7 @@
|
||||
# Project name
|
||||
BIN = WolfSSLClient
|
||||
SRC_C = ./Source/tls_client.c
|
||||
|
||||
all: build_hex
|
||||
|
||||
include Makefile.common
|
||||
108
IDE/GCC-ARM/Makefile.common
Normal file
108
IDE/GCC-ARM/Makefile.common
Normal file
@@ -0,0 +1,108 @@
|
||||
# Set to @ if you want to suppress command echo
|
||||
CMD_ECHO =
|
||||
|
||||
# Important directories
|
||||
BUILD_DIR = ./Build
|
||||
|
||||
# Toolchain location and prefix
|
||||
TOOLCHAIN = /opt/gcc-arm-none-eabi/bin/arm-none-eabi-
|
||||
|
||||
INC = -I./Header \
|
||||
-I./Source \
|
||||
-I../..
|
||||
|
||||
# Memory Map
|
||||
SRC_LD = -T./linker.ld
|
||||
|
||||
# Defines
|
||||
DEF = -DWOLFSSL_USER_SETTINGS
|
||||
|
||||
# Compiler and linker flags
|
||||
ARCHFLAGS = -mcpu=cortex-m0 -mthumb -mabi=aapcs
|
||||
DBGFLAGS = -ggdb
|
||||
ASFLAGS = $(ARCHFLAGS)
|
||||
|
||||
# CC: Place functions and data into separate sections to allow dead code removal
|
||||
# by the linker (-f*-sections). Enable link time optimization (-flto)
|
||||
CFLAGS = $(ARCHFLAGS) -std=gnu99 -Wall -Wno-cpp \
|
||||
-ffunction-sections -fdata-sections \
|
||||
-Os -flto $(DBGFLAGS)
|
||||
|
||||
# LD: Remove unused sections
|
||||
LDFLAGS = $(ARCHFLAGS) -Wl,--gc-sections
|
||||
|
||||
# LD: Link with newlib-nano implementation
|
||||
LDFLAGS += --specs=nano.specs --specs=nosys.specs
|
||||
|
||||
# LD: generate map
|
||||
LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(BIN).map $(DBGFLAGS)
|
||||
|
||||
# LD: Entry point
|
||||
LDFLAGS += -Wl,-ereset_handler
|
||||
|
||||
# Math lib (for DH)
|
||||
LIBS = -lm
|
||||
|
||||
SRC_C += ./Source/armtarget.c
|
||||
SRC_C += $(wildcard ../../src/*.c ../../wolfcrypt/src/*.c ../../wolfcrypt/benchmark/*.c ../../wolfcrypt/test/*.c)
|
||||
FILENAMES_C = $(notdir $(SRC_C))
|
||||
FILENAMES_C := $(filter-out evp.c, $(FILENAMES_C))
|
||||
OBJS_C = $(addprefix $(BUILD_DIR)/, $(FILENAMES_C:.c=.o))
|
||||
vpath %.c $(dir $(SRC_C))
|
||||
|
||||
# Tools selection
|
||||
CC = $(TOOLCHAIN)gcc
|
||||
AS = $(TOOLCHAIN)gcc
|
||||
LD = $(TOOLCHAIN)gcc
|
||||
AR = $(TOOLCHAIN)ar
|
||||
NM = $(TOOLCHAIN)nm
|
||||
OBJCOPY = $(TOOLCHAIN)objcopy
|
||||
OBJDUMP = $(TOOLCHAIN)objdump
|
||||
SIZE = $(TOOLCHAIN)size
|
||||
|
||||
build_hex: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).hex
|
||||
@echo ""
|
||||
$(CMD_ECHO) @$(SIZE) $(BUILD_DIR)/$(BIN).elf
|
||||
|
||||
build_static: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).a
|
||||
@echo ""
|
||||
$(CMD_ECHO) @$(SIZE) $(BUILD_DIR)/$(BIN).a
|
||||
|
||||
$(BUILD_DIR):
|
||||
$(CMD_ECHO) mkdir -p $(BUILD_DIR)
|
||||
|
||||
$(BUILD_DIR)/$(BIN).hex: $(BUILD_DIR)/$(BIN).elf
|
||||
@echo "Generating HEX binary: $(notdir $@)"
|
||||
$(CMD_ECHO) $(OBJCOPY) -O ihex $< $@
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
@echo "Compiling ASM file: $(notdir $<)"
|
||||
$(CMD_ECHO) $(AS) $(ASFLAGS) $(DEF) $(INC) -c -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
@echo "Compiling C file: $(notdir $<)"
|
||||
$(CMD_ECHO) $(CC) $(CFLAGS) $(DEF) $(INC) -c -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/$(BIN).elf: $(OBJS_ASM) $(OBJS_C)
|
||||
@echo "Linking ELF binary: $(notdir $@)"
|
||||
$(CMD_ECHO) $(LD) $(LDFLAGS) $(SRC_LD) -o $@ $^ $(LIBS)
|
||||
|
||||
@echo "Generating name list: $(BIN).sym"
|
||||
$(CMD_ECHO) $(NM) -n $@ > $(BUILD_DIR)/$(BIN).sym
|
||||
|
||||
@echo "Generating disassembly: $(BIN).disasm"
|
||||
$(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm
|
||||
|
||||
$(BUILD_DIR)/$(BIN).a: $(OBJS_ASM) $(OBJS_C)
|
||||
@echo "Building static library: $(notdir $@)"
|
||||
$(CMD_ECHO) $(AR) -r $@ $^
|
||||
|
||||
@echo "Generating name list: $(BIN).sym"
|
||||
$(CMD_ECHO) $(NM) -n $@ > $(BUILD_DIR)/$(BIN).sym
|
||||
|
||||
@echo "Generating disassembly: $(BIN).disasm"
|
||||
$(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm
|
||||
|
||||
clean:
|
||||
rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map
|
||||
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm
|
||||
6
IDE/GCC-ARM/Makefile.static
Normal file
6
IDE/GCC-ARM/Makefile.static
Normal file
@@ -0,0 +1,6 @@
|
||||
# Project name
|
||||
BIN = libwolfssl
|
||||
|
||||
all: build_static
|
||||
|
||||
include Makefile.common
|
||||
7
IDE/GCC-ARM/Makefile.test
Normal file
7
IDE/GCC-ARM/Makefile.test
Normal file
@@ -0,0 +1,7 @@
|
||||
# Project name
|
||||
BIN = WolfCryptTest
|
||||
SRC_C = ./Source/test_main.c
|
||||
|
||||
all: build_hex
|
||||
|
||||
include Makefile.common
|
||||
65
IDE/GCC-ARM/README.md
Normal file
65
IDE/GCC-ARM/README.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Example Project for GCC ARM
|
||||
|
||||
This example is for Cortex M series, but can be adopted for other architectures.
|
||||
|
||||
## Design
|
||||
|
||||
* All library options are defined in `Header/user_settings.h`.
|
||||
* The memory map is located in the linker file in `linker.ld`.
|
||||
* Entry point function is `reset_handler` in `armtarget.c`.
|
||||
* The RTC and RNG hardware interface needs implemented for real production applications in `armtarget.c`
|
||||
|
||||
## Building
|
||||
|
||||
1. Make sure you have `gcc-arm-none-eabi` installed.
|
||||
2. Modify the `Makefile.common`:
|
||||
* Use correct toolchain path `TOOLCHAIN`.
|
||||
* Use correct architecture 'ARCHFLAGS' (default is cortex-m0 / thumb). See [GCC ARM Options](https://gcc.gnu.org/onlinedocs/gcc-4.7.3/gcc/ARM-Options.html) `-mcpu=name`.
|
||||
3. Use `make` and it will build the static library and wolfCrypt test/benchmark and wolfSSL TLS client targets as `.elf` and `.hex` in `/Build`.
|
||||
|
||||
### Building for Raspberry Pi
|
||||
|
||||
Example `Makefile.common` changes for Rasperry Pi with Cortex-A53:
|
||||
|
||||
1. Change ARCHFLAGS to `ARCHFLAGS = -mcpu=cortex-a53 -mthumb -mabi=aapcs` to specify Cortex-A53.
|
||||
2. Comment out `SRC_LD`, since custom memory map is not applicable.
|
||||
3. Clear `TOOLCHAIN`, so it will use default `gcc`. Set `TOOLCHAIN = `
|
||||
4. Comment out `LDFLAGS += --specs=nano.specs --specs=nosys.specs` to disable newlib-nano.
|
||||
|
||||
Note: To comment out a line in a Makefile use place `#` in front of line.
|
||||
|
||||
### Example Build
|
||||
|
||||
```
|
||||
make clean && make
|
||||
|
||||
text data bss dec hex filename
|
||||
50076 2508 44 52628 cd94 ./Build/WolfCryptTest.elf
|
||||
|
||||
text data bss dec hex filename
|
||||
39155 2508 60 41723 a2fb ./Build/WolfCryptBench.elf
|
||||
|
||||
text data bss dec hex filename
|
||||
70368 464 36 70868 114d4 ./Build/WolfSSLClient.elf
|
||||
```
|
||||
|
||||
## Performace Tuning Options
|
||||
|
||||
These settings are located in `Header/user_settings.h`.
|
||||
|
||||
* `DEBUG_WOLFSSL`: Undefine this to disable debug logging.
|
||||
* `NO_ERROR_STRINGS`: Disables error strings to save code space.
|
||||
* `NO_INLINE`: Disabling inline function saves about 1KB, but is slower.
|
||||
* `WOLFSSL_SMALL_STACK`: Enables stack reduction techniques to allocate stack sections over 100 bytes from heap.
|
||||
* `USE_FAST_MATH`: Uses stack based math, which is faster than the heap based math.
|
||||
* `ALT_ECC_SIZE`: If using fast math and RSA/DH you can define this to reduce your ECC memory consumption.
|
||||
* `FP_MAX_BITS`: Is the maximum math size (key size * 2). Used only with `USE_FAST_MATH`.
|
||||
* `ECC_TIMING_RESISTANT`: Enables timing resistance for ECC and uses slightly less memory.
|
||||
* `ECC_SHAMIR`: Doubles heap usage, but slightly faster
|
||||
* `RSA_LOW_MEM`: Half as much memory but twice as slow. Uses Non-CRT method for private key.
|
||||
AES GCM: `GCM_SMALL`, `GCM_WORD32` or `GCM_TABLE`: Tunes performance and flash/memory usage.
|
||||
* `CURVED25519_SMALL`: Enables small versions of Ed/Curve (FE/GE math).
|
||||
* `USE_SLOW_SHA`: Enables smaller/slower version of SHA.
|
||||
* `USE_SLOW_SHA2`: Over twice as small, but 50% slower
|
||||
* `USE_CERT_BUFFERS_1024` or `USE_CERT_BUFFERS_2048`: Size of RSA certs / keys to test with.
|
||||
* `BENCH_EMBEDDED`: Define this if using the wolfCrypt test/benchmark and using a low memory target.
|
||||
280
IDE/GCC-ARM/Source/armtarget.c
Normal file
280
IDE/GCC-ARM/Source/armtarget.c
Normal file
@@ -0,0 +1,280 @@
|
||||
/* armtarget.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL 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.
|
||||
*
|
||||
* wolfSSL 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-1335, USA
|
||||
*/
|
||||
|
||||
#include "user_settings.h"
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/random.h> /* for CUSTOM_RAND_TYPE */
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
/* Test to determine if ARM Cortex M */
|
||||
#if defined(__arm__) && defined(__ARM_ARCH) && (__ARM_ARCH == 6 || __ARM_ARCH == 7)
|
||||
#define CORTEX_M_SERIES
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CORTEX_M_SERIES
|
||||
/* Memory initialization */
|
||||
extern uint32_t __data_load_start__[];
|
||||
extern uint32_t __data_start__[];
|
||||
extern uint32_t __data_end__[];
|
||||
|
||||
extern uint32_t __bss_start__[];
|
||||
extern uint32_t __bss_end__[];
|
||||
|
||||
extern uint32_t __stack_process_end__[];
|
||||
|
||||
extern uint32_t __heap_start__[];
|
||||
extern uint32_t __heap_end__[];
|
||||
|
||||
/* Copy memory: src=Source, dst_beg=Destination Begin, dst_end=Destination End */
|
||||
void memcpy32(uint32_t* src, uint32_t* dst_beg, uint32_t* dst_end)
|
||||
{
|
||||
while (dst_beg < dst_end) {
|
||||
*dst_beg++ = *src++;
|
||||
}
|
||||
}
|
||||
/* Zero address in range */
|
||||
void meminit32(uint32_t* start, uint32_t* end)
|
||||
{
|
||||
while (start < end) {
|
||||
*start++ = 0;
|
||||
}
|
||||
}
|
||||
#endif /* CORTEX_M_SERIES */
|
||||
|
||||
/* Entry Point */
|
||||
void reset_handler(void)
|
||||
{
|
||||
#ifdef CORTEX_M_SERIES
|
||||
/* Init sections */
|
||||
memcpy32(__data_load_start__, __data_start__, __data_end__);
|
||||
meminit32(__bss_start__, __bss_end__);
|
||||
|
||||
/* Init heap */
|
||||
__heap_start__[0] = 0;
|
||||
__heap_start__[1] = ((uint32_t)__heap_end__ - (uint32_t)__heap_start__);
|
||||
#endif /* CORTEX_M_SERIES */
|
||||
|
||||
/* Start main */
|
||||
extern int main(void);
|
||||
main();
|
||||
|
||||
/* Application has ended, so busy wait */
|
||||
while(1);
|
||||
}
|
||||
|
||||
#ifdef CORTEX_M_SERIES
|
||||
// Vector Exception/Interrupt Handlers
|
||||
static void Default_Handler(void)
|
||||
{
|
||||
/* If we get here then need to implement real IRQ handler */
|
||||
while(1);
|
||||
}
|
||||
|
||||
__attribute__((section(".sys"))) __attribute__ ((used))
|
||||
void HardFault_HandlerC( uint32_t *hardfault_args )
|
||||
{
|
||||
/* These are volatile to try and prevent the compiler/linker optimizing them
|
||||
away as the variables never actually get used. If the debugger won't show the
|
||||
values of the variables, make them global my moving their declaration outside
|
||||
of this function. */
|
||||
volatile uint32_t stacked_r0;
|
||||
volatile uint32_t stacked_r1;
|
||||
volatile uint32_t stacked_r2;
|
||||
volatile uint32_t stacked_r3;
|
||||
volatile uint32_t stacked_r12;
|
||||
volatile uint32_t stacked_lr;
|
||||
volatile uint32_t stacked_pc;
|
||||
volatile uint32_t stacked_psr;
|
||||
volatile uint32_t _CFSR;
|
||||
volatile uint32_t _HFSR;
|
||||
volatile uint32_t _DFSR;
|
||||
volatile uint32_t _AFSR;
|
||||
volatile uint32_t _BFAR;
|
||||
volatile uint32_t _MMAR;
|
||||
|
||||
stacked_r0 = ((uint32_t)hardfault_args[0]);
|
||||
stacked_r1 = ((uint32_t)hardfault_args[1]);
|
||||
stacked_r2 = ((uint32_t)hardfault_args[2]);
|
||||
stacked_r3 = ((uint32_t)hardfault_args[3]);
|
||||
stacked_r12 = ((uint32_t)hardfault_args[4]);
|
||||
stacked_lr = ((uint32_t)hardfault_args[5]);
|
||||
stacked_pc = ((uint32_t)hardfault_args[6]);
|
||||
stacked_psr = ((uint32_t)hardfault_args[7]);
|
||||
|
||||
// Configurable Fault Status Register
|
||||
// Consists of MMSR, BFSR and UFSR
|
||||
_CFSR = (*((volatile uint32_t *)(0xE000ED28)));
|
||||
|
||||
// Hard Fault Status Register
|
||||
_HFSR = (*((volatile uint32_t *)(0xE000ED2C)));
|
||||
|
||||
// Debug Fault Status Register
|
||||
_DFSR = (*((volatile uint32_t *)(0xE000ED30)));
|
||||
|
||||
// Auxiliary Fault Status Register
|
||||
_AFSR = (*((volatile uint32_t *)(0xE000ED3C)));
|
||||
|
||||
// Read the Fault Address Registers. These may not contain valid values.
|
||||
// Check BFARVALID/MMARVALID to see if they are valid values
|
||||
// MemManage Fault Address Register
|
||||
_MMAR = (*((volatile uint32_t *)(0xE000ED34)));
|
||||
// Bus Fault Address Register
|
||||
_BFAR = (*((volatile uint32_t *)(0xE000ED38)));
|
||||
|
||||
printf ("\n\nHard fault handler (all numbers in hex):\n");
|
||||
printf ("R0 = %lx\n", stacked_r0);
|
||||
printf ("R1 = %lx\n", stacked_r1);
|
||||
printf ("R2 = %lx\n", stacked_r2);
|
||||
printf ("R3 = %lx\n", stacked_r3);
|
||||
printf ("R12 = %lx\n", stacked_r12);
|
||||
printf ("LR [R14] = %lx subroutine call return address\n", stacked_lr);
|
||||
printf ("PC [R15] = %lx program counter\n", stacked_pc);
|
||||
printf ("PSR = %lx\n", stacked_psr);
|
||||
printf ("CFSR = %lx\n", _CFSR);
|
||||
printf ("HFSR = %lx\n", _HFSR);
|
||||
printf ("DFSR = %lx\n", _DFSR);
|
||||
printf ("AFSR = %lx\n", _AFSR);
|
||||
printf ("MMAR = %lx\n", _MMAR);
|
||||
printf ("BFAR = %lx\n", _BFAR);
|
||||
|
||||
// Break into the debugger
|
||||
__asm("BKPT #0\n");
|
||||
}
|
||||
|
||||
__attribute__((section(".sys"))) __attribute__( ( naked ) )
|
||||
void HardFault_Handler(void)
|
||||
{
|
||||
__asm volatile
|
||||
(
|
||||
" movs r0,#4 \n" /* load bit mask into R0 */
|
||||
" mov r1, lr \n" /* load link register into R1 */
|
||||
" tst r0, r1 \n" /* compare with bitmask */
|
||||
" beq _MSP \n" /* if bitmask is set: stack pointer is in PSP. Otherwise in MSP */
|
||||
" mrs r0, psp \n" /* otherwise: stack pointer is in PSP */
|
||||
" b _GetPC \n" /* go to part which loads the PC */
|
||||
"_MSP: \n" /* stack pointer is in MSP register */
|
||||
" mrs r0, msp \n" /* load stack pointer into R0 */
|
||||
"_GetPC: \n" /* find out where the hard fault happened */
|
||||
" ldr r1,[r0,#20] \n" /* load program counter into R1. R1 contains address of the next instruction where the hard fault happened */
|
||||
" ldr r2, =HardFault_HandlerC \n"
|
||||
" bx r2 \n"
|
||||
" bx lr \n" /* decode more information. R0 contains pointer to stack frame */
|
||||
);
|
||||
}
|
||||
|
||||
// Vectors
|
||||
typedef void (*vector_entry)(void);
|
||||
const vector_entry vectors[] __attribute__ ((section(".vectors"),used)) =
|
||||
{
|
||||
/* Interrupt Vector Table Function Pointers */
|
||||
// Address Vector IRQ Source module Source description
|
||||
(vector_entry)__stack_process_end__, // ARM core Initial Supervisor SP
|
||||
reset_handler, // 0x0000_0004 1 - ARM core Initial Program Counter
|
||||
Default_Handler, // 0x0000_0008 2 - ARM core Non-maskable Interrupt (NMI)
|
||||
HardFault_Handler, // 0x0000_000C 3 - ARM core Hard Fault
|
||||
Default_Handler, // 0x0000_0010 4 -
|
||||
HardFault_Handler, // 0x0000_0014 5 - ARM core Bus Fault
|
||||
HardFault_Handler, // 0x0000_0018 6 - ARM core Usage Fault
|
||||
Default_Handler, // 0x0000_001C 7 -
|
||||
Default_Handler, // 0x0000_0020 8 -
|
||||
Default_Handler, // 0x0000_0024 9 -
|
||||
Default_Handler, // 0x0000_0028 10 -
|
||||
Default_Handler, // 0x0000_002C 11 - ARM core Supervisor call (SVCall)
|
||||
Default_Handler, // 0x0000_0030 12 - ARM core Debug Monitor
|
||||
Default_Handler, // 0x0000_0034 13 -
|
||||
Default_Handler, // 0x0000_0038 14 - ARM core Pendable request for system service (PendableSrvReq)
|
||||
Default_Handler, // 0x0000_003C 15 - ARM core System tick timer (SysTick)
|
||||
|
||||
/* remainder go below */
|
||||
};
|
||||
#endif /* CORTEX_M_SERIES */
|
||||
|
||||
|
||||
/* TIME CODE */
|
||||
/* TODO: Implement real RTC */
|
||||
static int gTimeMs;
|
||||
static int hw_get_time_sec(void)
|
||||
{
|
||||
return ++gTimeMs;
|
||||
}
|
||||
|
||||
unsigned long my_time(unsigned long* timer)
|
||||
{
|
||||
(void)timer;
|
||||
return hw_get_time_sec();
|
||||
}
|
||||
|
||||
unsigned int LowResTimer(void)
|
||||
{
|
||||
return hw_get_time_sec();
|
||||
}
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
double time;
|
||||
int timeMs = gTimeMs;
|
||||
(void)reset;
|
||||
time = (timeMs / 1000); // sec
|
||||
time += (double)(timeMs % 1000) / 1000; // ms
|
||||
return time;
|
||||
}
|
||||
|
||||
|
||||
/* RNG CODE */
|
||||
/* TODO: Implement real RNG */
|
||||
static int gCounter;
|
||||
int hw_rand(void)
|
||||
{
|
||||
return ++gCounter;
|
||||
}
|
||||
|
||||
unsigned int custom_rand_generate(void)
|
||||
{
|
||||
return hw_rand();
|
||||
}
|
||||
|
||||
int custom_rand_generate_block(unsigned char* output, unsigned int sz)
|
||||
{
|
||||
uint32_t i = 0;
|
||||
|
||||
while (i < sz)
|
||||
{
|
||||
/* If not aligned or there is odd/remainder */
|
||||
if( (i + sizeof(CUSTOM_RAND_TYPE)) > sz ||
|
||||
((uint32_t)&output[i] % sizeof(CUSTOM_RAND_TYPE)) != 0
|
||||
) {
|
||||
/* Single byte at a time */
|
||||
output[i++] = (unsigned char)custom_rand_generate();
|
||||
}
|
||||
else {
|
||||
/* Use native 8, 16, 32 or 64 copy instruction */
|
||||
*((CUSTOM_RAND_TYPE*)&output[i]) = custom_rand_generate();
|
||||
i += sizeof(CUSTOM_RAND_TYPE);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
47
IDE/GCC-ARM/Source/benchmark_main.c
Normal file
47
IDE/GCC-ARM/Source/benchmark_main.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* benchmark_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL 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.
|
||||
*
|
||||
* wolfSSL 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-1335, USA
|
||||
*/
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
#include <stdio.h>
|
||||
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
static func_args args = { 0 } ;
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
wolfCrypt_Init();
|
||||
|
||||
printf("\nBenchmark Test\n");
|
||||
benchmark_test(&args);
|
||||
printf("Benchmark Test: Return code %d\n", args.return_code);
|
||||
|
||||
wolfCrypt_Cleanup();
|
||||
|
||||
return 0;
|
||||
}
|
||||
47
IDE/GCC-ARM/Source/test_main.c
Normal file
47
IDE/GCC-ARM/Source/test_main.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* test_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL 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.
|
||||
*
|
||||
* wolfSSL 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-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <stdio.h>
|
||||
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
static func_args args = { 0 } ;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
wolfCrypt_Init();
|
||||
|
||||
printf("\nCrypt Test\n");
|
||||
wolfcrypt_test(&args);
|
||||
printf("Crypt Test: Return code %d\n", args.return_code);
|
||||
|
||||
wolfCrypt_Cleanup();
|
||||
|
||||
return 0;
|
||||
}
|
||||
198
IDE/GCC-ARM/Source/tls_client.c
Normal file
198
IDE/GCC-ARM/Source/tls_client.c
Normal file
@@ -0,0 +1,198 @@
|
||||
/* tls_client.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL 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.
|
||||
*
|
||||
* wolfSSL 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-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define MAXSZ 1024
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* TLS CLIENT */
|
||||
/*------------------------------------------------------------------------*/
|
||||
static int CbIORecv(WOLFSSL *ssl, char *buf, int sz, void *ctx)
|
||||
{
|
||||
int ret = WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
(void)ssl;
|
||||
(void)ctx;
|
||||
|
||||
/* TODO: Exchange data over your own transport */
|
||||
#warning TODO: Implement your own recv data transport
|
||||
#if 0
|
||||
ret = usart_read_buffer_wait(&cdc_uart_module, buf, sz);
|
||||
if (ret == STATUS_ERR_TIMEOUT)
|
||||
return WOLFSSL_CBIO_ERR_WANT_READ;
|
||||
|
||||
return (ret == STATUS_OK) ? sz : WOLFSSL_CBIO_ERR_GENERAL;
|
||||
#else
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int CbIOSend(WOLFSSL *ssl, char *buf, int sz, void *ctx)
|
||||
{
|
||||
int ret = WOLFSSL_CBIO_ERR_GENERAL;
|
||||
|
||||
(void)ssl;
|
||||
(void)ctx;
|
||||
|
||||
/* TODO: Exchange data over your own transport */
|
||||
#warning TODO: Implement your own send data transport
|
||||
#if 0
|
||||
ret = usart_write_buffer_wait(&cdc_uart_module, buf, sz);
|
||||
if (ret == STATUS_ERR_TIMEOUT)
|
||||
return WOLFSSL_CBIO_ERR_WANT_WRITE;
|
||||
|
||||
return (ret == STATUS_OK) ? sz : WOLFSSL_CBIO_ERR_GENERAL;
|
||||
#else
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int tls_client(void)
|
||||
{
|
||||
char msg[] = "Hello WolfSSL!\r\n";
|
||||
char reply[MAXSZ];
|
||||
int ret, msgSz, error;
|
||||
WOLFSSL* ssl = NULL;
|
||||
WOLFSSL_CTX* ctx = NULL;
|
||||
|
||||
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method())) == NULL) {
|
||||
printf("CTXnew failed.\n");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* ECDHE-ECDSA */
|
||||
/*------------------------------------------------------------------------*/
|
||||
/*--------------------*/
|
||||
/* for peer auth use: */
|
||||
/*--------------------*/
|
||||
// wolfSSL_CTX_load_verify_buffer(ctx, rsa_key_der_1024,
|
||||
// sizeof_rsa_key_der_1024, SSL_FILETYPE_ASN1);
|
||||
// wolfSSL_CTX_load_verify_buffer(ctx, server_cert_der_1024,
|
||||
// sizeof_server_cert_der_1024, SSL_FILETYPE_ASN1);
|
||||
/*---------------------*/
|
||||
/* for no peer auth: */
|
||||
/*---------------------*/
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
/*---------------------*/
|
||||
/* end peer auth option*/
|
||||
/*---------------------*/
|
||||
if ((ret = wolfSSL_CTX_set_cipher_list(ctx, "ECDHE-ECDSA-AES128-SHA256")) != SSL_SUCCESS) {
|
||||
wolfSSL_CTX_free(ctx);
|
||||
printf("CTXset_cipher_list failed, error: %d\n", ret);
|
||||
goto fail;
|
||||
}
|
||||
/*------------------------------------------------------------------------*/
|
||||
/* END CIPHER SUITE OPTIONS */
|
||||
/*------------------------------------------------------------------------*/
|
||||
wolfSSL_SetIORecv(ctx, CbIORecv);
|
||||
wolfSSL_SetIOSend(ctx, CbIOSend);
|
||||
|
||||
if ((ssl = wolfSSL_new(ctx)) == NULL) {
|
||||
error = wolfSSL_get_error(ssl, 0);
|
||||
printf("wolfSSL_new failed %d\n", error);
|
||||
wolfSSL_CTX_free(ctx);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* non blocking accept and connect */
|
||||
ret = SSL_FAILURE;
|
||||
|
||||
while (ret != SSL_SUCCESS) {
|
||||
/* client connect */
|
||||
ret = wolfSSL_connect(ssl);
|
||||
error = wolfSSL_get_error(ssl, 0);
|
||||
if (ret != SSL_SUCCESS) {
|
||||
if (error != SSL_ERROR_WANT_READ && error != SSL_ERROR_WANT_WRITE) {
|
||||
/* Fail */
|
||||
printf("wolfSSL connect failed with return code %d\n", error);
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
/* Success */
|
||||
}
|
||||
|
||||
/* read and write */
|
||||
while (1) {
|
||||
/* client send/read */
|
||||
msgSz = sizeof(msg);
|
||||
ret = wolfSSL_write(ssl, msg, msgSz);
|
||||
error = wolfSSL_get_error(ssl, 0);
|
||||
if (ret != msgSz) {
|
||||
if (error != SSL_ERROR_WANT_READ && error != SSL_ERROR_WANT_WRITE) {
|
||||
/* Write failed */
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
/* Write succeeded */
|
||||
break;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
ret = wolfSSL_read(ssl, reply, sizeof(reply) - 1);
|
||||
error = wolfSSL_get_error(ssl, 0);
|
||||
if (ret < 0) {
|
||||
if (error != SSL_ERROR_WANT_READ && error != SSL_ERROR_WANT_WRITE) {
|
||||
/* Can put print here, the server enters a loop waiting to read
|
||||
* a confirmation message at this point */
|
||||
// printf("client read failed\n");
|
||||
goto fail;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
/* Can put print here, the server enters a loop waiting to read
|
||||
* a confirmation message at this point */
|
||||
reply[ret] = '\0';
|
||||
// printf("Client Received Reply: %s\n", reply);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
wolfSSL_shutdown(ssl);
|
||||
wolfSSL_free(ssl);
|
||||
wolfSSL_CTX_free(ctx);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
wolfSSL_Init();
|
||||
|
||||
ret = tls_client();
|
||||
|
||||
wolfSSL_Cleanup();
|
||||
|
||||
return ret;
|
||||
}
|
||||
17
IDE/GCC-ARM/include.am
Normal file
17
IDE/GCC-ARM/include.am
Normal file
@@ -0,0 +1,17 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Header/user_settings.h
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Source/armtarget.c
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Source/benchmark_main.c
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Source/test_main.c
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Source/tls_client.c
|
||||
EXTRA_DIST+= IDE/GCC-ARM/linker.ld
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile.bench
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile.client
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile.common
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile.test
|
||||
EXTRA_DIST+= IDE/GCC-ARM/Makefile.static
|
||||
EXTRA_DIST+= IDE/GCC-ARM/README.md
|
||||
30
IDE/GCC-ARM/linker.ld
Normal file
30
IDE/GCC-ARM/linker.ld
Normal file
@@ -0,0 +1,30 @@
|
||||
MEMORY
|
||||
{
|
||||
FLASH (wx) : ORIGIN = 0x00000000, LENGTH = 256K
|
||||
RAM (wx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
__vectors_start__ = .;
|
||||
.vectors : { *(.vectors) } > FLASH
|
||||
__vectors_end__ = __vectors_start__ + 0x400;
|
||||
.sys : { *(.sys*) } > FLASH
|
||||
.text : { *(.text*) } > FLASH
|
||||
.rodata : { *(.text*) } > FLASH
|
||||
|
||||
__data_load_start__ = .;
|
||||
__data_start__ = .;
|
||||
.data : { *(.data*) } > RAM
|
||||
__data_end__ = __data_start__ + SIZEOF(.data);
|
||||
|
||||
__bss_start__ = .;
|
||||
.bss : { *(.bss*) } > RAM
|
||||
__bss_end__ = __bss_start__ + SIZEOF(.bss);
|
||||
|
||||
__heap_start__ = .;
|
||||
.heap : { *(.heap*) } > RAM
|
||||
__heap_end__ = __heap_start__ + SIZEOF(.heap);
|
||||
|
||||
end = .;
|
||||
}
|
||||
143
IDE/HEXIWEAR/wolfSSL_HW/.cproject
Normal file
143
IDE/HEXIWEAR/wolfSSL_HW/.cproject
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<macros>
|
||||
<stringMacro name="PROJECT_KSDK_PATH" type="VALUE_TEXT" value="~/Work/KSDK_1.3.0"/>
|
||||
</macros>
|
||||
<externalSettings>
|
||||
<externalSetting>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfSSL_HW"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfSSL_HW/Debug"/>
|
||||
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl_hw" srcPrefixMapping="" srcRootPath=""/>
|
||||
</externalSetting>
|
||||
</externalSettings>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="a" artifactName="wolfssl_hw" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.955851768" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1637878147" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.596937133" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.412948756" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1412387181" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1877241998" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.2038051180" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1062002269" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.1592667634" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m4" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1112951710" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1079530716" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.192917244" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.2108482930" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.500222702" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.175873499" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1700937041" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1874549763" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.178137928" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1274071175" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.655658023" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.1937238341" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1476617138" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1035232247" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto.8601271" name="Link-time optimizer (-flto)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto" value="false" valueType="boolean"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.817253425" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/wolfSSL_HW}/Debug" id="ilg.gnuarmeclipse.managedbuild.cross.builder.2043375702" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1135882719" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.369489760" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1086496768" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1696761989" name="Cross ARM GNU C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.9643995" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.349147702" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/../../../""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/devices""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/CMSIS/Include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/devices/MK64F12/startup""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/drivers/inc""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/hal/inc""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/osa/inc""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_KSDK_PATH}/platform/utilities/inc""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1294205548" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value=""CPU_MK64FN1M0VMD12""/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.817994152" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.234608726" name="Cross ARM GNU C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.1452713629" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="false"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.497680378" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value=""CPU_MK64FN1M0VMD12""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.909966654" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.506002589" name="Cross ARM GNU C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1489822225" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.575756954" name="Cross ARM GNU C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.11344634" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.1878565771" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/Project_Settings/Linker_Files""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.1517060693" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="-specs=nosys.specs -specs=nano.specs -Xlinker -z -Xlinker muldefs" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.468376236" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""MK64FN1M0xxx12_flash.ld""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.955790366" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1962941231" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1365673947" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.790507756" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1929510617" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.573901902" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.2051558160" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.851594065" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1352373056" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.934998862" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1738611770" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="wolfcrypt/src/integer.c|wolfcrypt/src/misc.c|src/bio.c|wolfcrypt/src/evp.c|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|SDK|wolfssl/wolfcrypt/port|wolfcrypt/src/port|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="wolfSSL_HW.ilg.gnuarmeclipse.managedbuild.cross.target.elf.1053752509" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.234608726;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.909966654">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1696761989;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.817994152">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/wolfSSL_HW"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cproject>
|
||||
19
IDE/HEXIWEAR/wolfSSL_HW/.cwGeneratedFileSetLog
Normal file
19
IDE/HEXIWEAR/wolfSSL_HW/.cwGeneratedFileSetLog
Normal file
@@ -0,0 +1,19 @@
|
||||
Sources/main.c
|
||||
Project_Settings/Linker_Files/MK64FN1M0xxx12_flash.ld
|
||||
SDK/platform/CMSIS/Include/core_cmSimd.h
|
||||
SDK/platform/devices/MK64F12/include/MK64F12.h
|
||||
SDK/platform/CMSIS/Include/arm_common_tables.h
|
||||
SDK/platform/CMSIS/Include/arm_const_structs.h
|
||||
SDK/platform/devices/MK64F12/include/MK64F12_features.h
|
||||
SDK/platform/CMSIS/Include/core_cm4.h
|
||||
SDK/platform/CMSIS/Include/core_cmFunc.h
|
||||
SDK/platform/CMSIS/Include/core_cmInstr.h
|
||||
SDK/platform/devices/fsl_device_registers.h
|
||||
SDK/platform/devices/MK64F12/include/fsl_bitaccess.h
|
||||
SDK/platform/CMSIS/Include/arm_math.h
|
||||
SDK/platform/devices/MK64F12/include/MK64F12_extension.h
|
||||
Project_Settings/Startup_Code/startup.c
|
||||
Project_Settings/Startup_Code/system_MK64F12.c
|
||||
Project_Settings/Startup_Code/startup.h
|
||||
Project_Settings/Startup_Code/startup_MK64F12.S
|
||||
Project_Settings/Startup_Code/system_MK64F12.h
|
||||
50
IDE/HEXIWEAR/wolfSSL_HW/.project
Normal file
50
IDE/HEXIWEAR/wolfSSL_HW/.project
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>wolfSSL_HW</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>src</name>
|
||||
<type>2</type>
|
||||
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/src</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfcrypt</name>
|
||||
<type>2</type>
|
||||
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/wolfcrypt</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>wolfssl</name>
|
||||
<type>2</type>
|
||||
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/wolfssl</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>PROJECT_KSDK_PATH</name>
|
||||
<value>file:/.KSDK_1.3.0</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
versionGenerated/versionGenerated=1.0.0.RT7_b1550-0615
|
||||
6
IDE/HEXIWEAR/wolfSSL_HW/user_settings.h
Normal file
6
IDE/HEXIWEAR/wolfSSL_HW/user_settings.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#define FREESCALE_KSDK_BM
|
||||
#define FREESCALE_KSDK_1_3
|
||||
#define FSL_HW_CRYPTO_MANUAL_SELECTION
|
||||
#define NO_MAIN_DRIVER
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#define ECC_USER_CURVES
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* current-time.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -53,7 +53,7 @@ void InitTimer(void) {
|
||||
|
||||
static int initFlag = false ;
|
||||
double current_time(int reset)
|
||||
{
|
||||
{
|
||||
if(!initFlag)InitTimer() ;
|
||||
initFlag = true ;
|
||||
if(reset)ROM_TimerLoadSet(TIMER0_BASE, TIMER_A, -1);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* minimum-startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -2056,7 +2056,7 @@
|
||||
<name>$PROJ_DIR$\..\..\..\..\src\internal.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\src\io.c</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\src\wolfio.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\src\keys.c</name>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
4
IDE/INTIME-RTOS/README.md
Executable file → Normal file
4
IDE/INTIME-RTOS/README.md
Executable file → Normal file
@@ -2,7 +2,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
This port is for the tenAsys INtime RTOS available [here](http://www.tenasys.com/tenasys-products/intime-rtos-family/overview-rtos).
|
||||
This port is for the tenAsys INtime RTOS available [here](http://www.tenasys.com/intime).
|
||||
|
||||
To enable use the define `INTIME_RTOS`.
|
||||
|
||||
@@ -148,7 +148,7 @@ Client connected successfully
|
||||
Using Non-Blocking I/O: 0
|
||||
Message for server: Client:
|
||||
|
||||
Recieved: I hear ya fa shizzle!
|
||||
Received: I hear ya fa shizzle!
|
||||
|
||||
The client has closed the connection.
|
||||
```
|
||||
|
||||
0
IDE/INTIME-RTOS/libwolfssl.c
Executable file → Normal file
0
IDE/INTIME-RTOS/libwolfssl.c
Executable file → Normal file
@@ -17,7 +17,7 @@
|
||||
<ClCompile Include="libwolfssl.c" />
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\io.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\sniffer.c" />
|
||||
|
||||
3
IDE/INTIME-RTOS/user_settings.h
Executable file → Normal file
3
IDE/INTIME-RTOS/user_settings.h
Executable file → Normal file
@@ -13,9 +13,6 @@ extern "C" {
|
||||
#undef INTIME_RTOS
|
||||
#define INTIME_RTOS
|
||||
|
||||
#undef INTIME_RTOS_MUTEX_MAX
|
||||
#define INTIME_RTOS_MUTEX_MAX 10
|
||||
|
||||
#undef WOLF_EXAMPLES_STACK
|
||||
#define WOLF_EXAMPLES_STACK 65536
|
||||
|
||||
|
||||
2
IDE/INTIME-RTOS/wolfExamples.c
Executable file → Normal file
2
IDE/INTIME-RTOS/wolfExamples.c
Executable file → Normal file
@@ -122,7 +122,7 @@ int wolfExample_TLSClient(const char* ip, int port)
|
||||
printf("Read error. Error: %d\n", ret);
|
||||
goto exit;
|
||||
}
|
||||
printf("Recieved: \t%s\n", rcvBuff);
|
||||
printf("Received: \t%s\n", rcvBuff);
|
||||
}
|
||||
|
||||
exit:
|
||||
|
||||
0
IDE/INTIME-RTOS/wolfExamples.h
Executable file → Normal file
0
IDE/INTIME-RTOS/wolfExamples.h
Executable file → Normal file
25
IDE/LINUX-SGX/README.md
Normal file
25
IDE/LINUX-SGX/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Static Library: Building libwolfssl.sgx.static.lib.a for use with SGX Enclaves
|
||||
|
||||
### Requirements:
|
||||
This code was created to use Intel's SGX hardware. It is expected that the user has gone through the steps of both turning on the hardware in bios if needed and has installed the necesary software from Intel to make use of the hardware. (https://software.intel.com/en-us/sgx) If these steps have not been done then it is expected that the user is familure with simulation software being used in place of hardware.
|
||||
|
||||
### Overview and Build:
|
||||
This project creates a static library to then link with Enclaves. A simple example of an Enclave linking to the created wolfSSL library can be found in wolfssl-examples on github. This project has been tested with gcc 5.4.0 on Ubuntu 16.04.
|
||||
|
||||
To create the static library, simply call make:
|
||||
|
||||
`make -f sgx_t_static.mk all`
|
||||
|
||||
This will create a local static library, libwolfssl.sgx.static.lib.a, that can be linked with SGX enclaves to access wolfSSL APIs using SGX hardware.
|
||||
|
||||
### Customization:
|
||||
To enable wolfssl debug, add CFLAGS=-DDEBUG_WOLFSSL.
|
||||
To enable wolfssl benchmark tests with enclave, specify: HAVE_WOLFSSL_BENCHMARK at build
|
||||
To enable wolfcrypt testsuite with enclave, specify: HAVE_WOLFSSL_TEST at build
|
||||
|
||||
For example, to enable all three:
|
||||
`make -f sgx_t_static.mk CFLAGS=-DDEBUG_WOLFSSL HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1`
|
||||
|
||||
### Limitations:
|
||||
Single Threaded (multiple threaded applications have not been tested)
|
||||
AES-NI use with SGX has not been added in yet
|
||||
6
IDE/LINUX-SGX/include.am
Normal file
6
IDE/LINUX-SGX/include.am
Normal file
@@ -0,0 +1,6 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/README.md
|
||||
EXTRA_DIST+= IDE/LINUX-SGX/sgx_t_static.mk
|
||||
145
IDE/LINUX-SGX/sgx_t_static.mk
Normal file
145
IDE/LINUX-SGX/sgx_t_static.mk
Normal file
@@ -0,0 +1,145 @@
|
||||
######## Intel(R) SGX SDK Settings ########
|
||||
SGX_SDK ?= /opt/intel/sgxsdk
|
||||
SGX_MODE ?= SIM
|
||||
SGX_ARCH ?= x64
|
||||
WOLFSSL_ROOT ?= $(shell readlink -f ../..)
|
||||
|
||||
ifeq ($(shell getconf LONG_BIT), 32)
|
||||
SGX_ARCH := x86
|
||||
else ifeq ($(findstring -m32, $(CXXFLAGS)), -m32)
|
||||
SGX_ARCH := x86
|
||||
endif
|
||||
|
||||
ifeq ($(SGX_ARCH), x86)
|
||||
SGX_COMMON_CFLAGS := -m32
|
||||
SGX_LIBRARY_PATH := $(SGX_SDK)/lib
|
||||
SGX_ENCLAVE_SIGNER := $(SGX_SDK)/bin/x86/sgx_sign
|
||||
SGX_EDGER8R := $(SGX_SDK)/bin/x86/sgx_edger8r
|
||||
else
|
||||
SGX_COMMON_CFLAGS := -m64
|
||||
SGX_LIBRARY_PATH := $(SGX_SDK)/lib64
|
||||
SGX_ENCLAVE_SIGNER := $(SGX_SDK)/bin/x64/sgx_sign
|
||||
SGX_EDGER8R := $(SGX_SDK)/bin/x64/sgx_edger8r
|
||||
endif
|
||||
|
||||
ifeq ($(SGX_DEBUG), 1)
|
||||
ifeq ($(SGX_PRERELEASE), 1)
|
||||
$(error Cannot set SGX_DEBUG and SGX_PRERELEASE at the same time!!)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SGX_DEBUG), 1)
|
||||
SGX_COMMON_CFLAGS += -O0 -g
|
||||
else
|
||||
SGX_COMMON_CFLAGS += -O2
|
||||
endif
|
||||
|
||||
ifneq ($(SGX_MODE), HW)
|
||||
Trts_Library_Name := sgx_trts_sim
|
||||
Service_Library_Name := sgx_tservice_sim
|
||||
else
|
||||
Trts_Library_Name := sgx_trts
|
||||
Service_Library_Name := sgx_tservice
|
||||
endif
|
||||
|
||||
Crypto_Library_Name := sgx_tcrypto
|
||||
|
||||
Wolfssl_C_Extra_Flags := -DWOLFSSL_SGX
|
||||
Wolfssl_C_Files :=$(WOLFSSL_ROOT)/wolfcrypt/src/aes.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/arc4.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/asn.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/blake2b.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/camellia.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/coding.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/chacha.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/chacha20_poly1305.c\
|
||||
$(WOLFSSL_ROOT)/src/crl.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/des3.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/dh.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/tfm.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/ecc.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/error.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/hash.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/hc128.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/hmac.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/integer.c\
|
||||
$(WOLFSSL_ROOT)/src/internal.c\
|
||||
$(WOLFSSL_ROOT)/src/wolfio.c\
|
||||
$(WOLFSSL_ROOT)/src/keys.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/logging.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/md4.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/md5.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/memory.c\
|
||||
$(WOLFSSL_ROOT)/src/ocsp.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/pkcs7.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/pkcs12.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/poly1305.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/wc_port.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/wolfmath.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/pwdbased.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/rabbit.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/random.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/ripemd.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/rsa.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/dsa.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/sha.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/sha256.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/sha512.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/signature.c\
|
||||
$(WOLFSSL_ROOT)/src/ssl.c\
|
||||
$(WOLFSSL_ROOT)/src/tls.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/wc_encrypt.c\
|
||||
$(WOLFSSL_ROOT)/wolfcrypt/src/wolfevent.c\
|
||||
|
||||
Wolfssl_Include_Paths := -I$(WOLFSSL_ROOT)/ \
|
||||
-I$(WOLFSSL_ROOT)/wolfcrypt/ \
|
||||
-I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/stlport
|
||||
|
||||
ifeq ($(HAVE_WOLFSSL_TEST), 1)
|
||||
Wolfssl_Include_Paths += -I$(WOLFSSL_ROOT)/wolfcrypt/test
|
||||
Wolfssl_C_Files += $(WOLFSSL_ROOT)/wolfcrypt/test/test.c
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_WOLFSSL_BENCHMARK), 1)
|
||||
Wolfssl_C_Files += $(WOLFSSL_ROOT)/wolfcrypt/benchmark/benchmark.c
|
||||
Wolfssl_Include_Paths += -I$(WOLFSSL_ROOT)/wolfcrypt/benchmark/
|
||||
endif
|
||||
|
||||
|
||||
|
||||
Flags_Just_For_C := -Wno-implicit-function-declaration -std=c11
|
||||
Common_C_Cpp_Flags := $(SGX_COMMON_CFLAGS) -nostdinc -fvisibility=hidden -fpie -fstack-protector $(Wolfssl_Include_Paths) -fno-builtin-printf -I.
|
||||
Wolfssl_C_Flags := $(Flags_Just_For_C) $(Common_C_Cpp_Flags) $(Wolfssl_C_Extra_Flags)
|
||||
|
||||
Wolfssl_Link_Flags := $(SGX_COMMON_CFLAGS) -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L$(SGX_LIBRARY_PATH) \
|
||||
-Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive \
|
||||
-Wl,--start-group -lsgx_tstdc -lsgx_tstdcxx -l$(Crypto_Library_Name) -l$(Service_Library_Name) -Wl,--end-group \
|
||||
-Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined \
|
||||
-Wl,-pie,-eenclave_entry -Wl,--export-dynamic \
|
||||
-Wl,--defsym,__ImageBase=0 \
|
||||
-Wl,--version-script=trusted/wolfcrypt.lds
|
||||
|
||||
Wolfssl_C_Objects := $(Wolfssl_C_Files:.c=.o)
|
||||
|
||||
ifeq ($(SGX_MODE), HW)
|
||||
ifneq ($(SGX_DEBUG), 1)
|
||||
ifneq ($(SGX_PRERELEASE), 1)
|
||||
Build_Mode = HW_RELEASE
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
override CFLAGS += $(Wolfssl_C_Flags)
|
||||
|
||||
.PHONY: all run
|
||||
|
||||
all: libwolfssl.sgx.static.lib.a
|
||||
|
||||
######## WolfSSL Objects ########
|
||||
|
||||
libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects)
|
||||
ar rcs libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)
|
||||
@echo "LINK => $@"
|
||||
|
||||
clean:
|
||||
@rm -f wolfcrypt.* static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects)
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_port.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,25 +19,25 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* initialize RTC
|
||||
* initialize RTC
|
||||
*----------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include "lpc43xx_rtc.h"
|
||||
#include "lpc43xx_cgu.h"
|
||||
|
||||
static void init_RTC()
|
||||
{
|
||||
static void init_RTC()
|
||||
{
|
||||
/* Enable GPIO register interface clock */
|
||||
LPC_CCU1->CLK_M4_GPIO_CFG |= 1;
|
||||
while (!(LPC_CCU1->CLK_M4_GPIO_STAT & 1)) ;
|
||||
|
||||
|
||||
/* RTC Block section ------------------------------------------------------ */
|
||||
/* Init RTC module */
|
||||
RTC_Init(LPC_RTC);
|
||||
@@ -53,13 +53,13 @@ static void init_RTC()
|
||||
|
||||
/* Enable rtc (starts increase the tick counter and second counter register) */
|
||||
RTC_Cmd(LPC_RTC, ENABLE);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* initialize TIM
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
#include "lpc43xx_timer.h"
|
||||
|
||||
static void init_TIM()
|
||||
@@ -75,9 +75,9 @@ static void init_TIM()
|
||||
TIM_Cmd(LPC_TIMER2,ENABLE);
|
||||
}
|
||||
|
||||
double current_time()
|
||||
double current_time()
|
||||
{
|
||||
return (double)LPC_TIMER2->TC/1000000.0;
|
||||
return (double)LPC_TIMER2->TC/1000000.0;
|
||||
}
|
||||
|
||||
|
||||
@@ -88,9 +88,9 @@ void init_time(void) {
|
||||
|
||||
#include <time.h>
|
||||
|
||||
struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
static struct tm date ;
|
||||
struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
static struct tm date ;
|
||||
|
||||
RTC_TIME_Type RTCFullTime;
|
||||
RTC_GetFullTime (LPC_RTC, &RTCFullTime);
|
||||
@@ -102,17 +102,17 @@ struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
date.tm_min = RTCFullTime.MIN ;
|
||||
date.tm_sec = RTCFullTime.SEC ;
|
||||
|
||||
#if defined(DEBUG_CYASSL)
|
||||
#if defined(DEBUG_CYASSL)
|
||||
{
|
||||
extern void CYASSL_MSG(char *msg) ;
|
||||
char msg[100] ;
|
||||
sprintf(msg, "Debug::Cyassl_KEIL_gmtime(DATE=/%4d/%02d/%02d TIME=%02d:%02d:%02d)\n",
|
||||
RTCFullTime.YEAR+2000, RTCFullTime.MONTH, RTCFullTime.DOM,
|
||||
RTCFullTime.HOUR, RTCFullTime.MIN, RTCFullTime.SEC) ;
|
||||
CYASSL_MSG(msg) ;
|
||||
RTCFullTime.HOUR, RTCFullTime.MIN, RTCFullTime.SEC) ;
|
||||
CYASSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
return(&date) ;
|
||||
}
|
||||
|
||||
@@ -124,42 +124,42 @@ typedef struct func_args {
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void time_main(void *args)
|
||||
void time_main(void *args)
|
||||
{
|
||||
char * datetime ;
|
||||
int year ;
|
||||
RTC_TIME_Type RTCFullTime;
|
||||
|
||||
if( args == NULL || ((func_args *)args)->argc == 1) {
|
||||
if( args == NULL || ((func_args *)args)->argc == 1) {
|
||||
RTC_GetFullTime (LPC_RTC, &RTCFullTime);
|
||||
printf("Date: %d/%d/%d, Time: %02d:%02d:%02d\n",
|
||||
RTCFullTime.MONTH, RTCFullTime.DOM, RTCFullTime.YEAR+2000,
|
||||
RTCFullTime.HOUR, RTCFullTime.MIN, RTCFullTime.SEC) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
printf("Date: %d/%d/%d, Time: %02d:%02d:%02d\n",
|
||||
RTCFullTime.MONTH, RTCFullTime.DOM, RTCFullTime.YEAR+2000,
|
||||
RTCFullTime.HOUR, RTCFullTime.MIN, RTCFullTime.SEC) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 'd' ) {
|
||||
|
||||
datetime = ((func_args *)args)->argv[2];
|
||||
sscanf(datetime, "%d/%d/%d",
|
||||
sscanf(datetime, "%d/%d/%d",
|
||||
(int *)&RTCFullTime.MONTH, (int *)&RTCFullTime.DOM, &year) ;
|
||||
RTCFullTime.YEAR = year - 2000 ;
|
||||
RTCFullTime.YEAR = year - 2000 ;
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MONTH, RTCFullTime.MONTH);
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_YEAR, RTCFullTime.YEAR);
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_DAYOFMONTH, RTCFullTime.DOM);
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_DAYOFMONTH, RTCFullTime.DOM);
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 't' ) {
|
||||
RTC_GetFullTime (LPC_RTC, &RTCFullTime);
|
||||
datetime = ((func_args *)args)->argv[2];
|
||||
sscanf(datetime, "%d:%d:%d",
|
||||
(int *)&RTCFullTime.HOUR,
|
||||
(int *)&RTCFullTime.MIN,
|
||||
sscanf(datetime, "%d:%d:%d",
|
||||
(int *)&RTCFullTime.HOUR,
|
||||
(int *)&RTCFullTime.MIN,
|
||||
(int *)&RTCFullTime.SEC
|
||||
) ;
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_SECOND, RTCFullTime.SEC);
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MINUTE, RTCFullTime.MIN);
|
||||
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_HOUR, RTCFullTime.HOUR);
|
||||
} else printf("Invalid argument\n") ;
|
||||
} else printf("Invalid argument\n") ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* certs_test.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-BEREFOOT.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -72,7 +72,7 @@
|
||||
// <e>Crypt/Cipher Benchmark
|
||||
#define MDK_CONF_CTaoCryptBenchmark 1
|
||||
#if MDK_CONF_CTaoCryptBenchmark == 0
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#define BENCH_EMBEDDED
|
||||
#endif
|
||||
// </e>
|
||||
@@ -120,10 +120,10 @@
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 0
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
@@ -151,7 +151,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AEAD
|
||||
// <e>AEAD
|
||||
#define MDK_CONF_AEAD 0
|
||||
#if MDK_CONF_AEAD == 1
|
||||
#define HAVE_AEAD
|
||||
@@ -178,7 +178,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -70,7 +70,7 @@
|
||||
// <e>Crypt/Cipher Benchmark
|
||||
#define MDK_CONF_CTaoCryptBenchmark 1
|
||||
#if MDK_CONF_CTaoCryptBenchmark == 0
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
@@ -97,7 +97,7 @@
|
||||
// <h>SSL (Included by default)
|
||||
// </h>
|
||||
|
||||
// <e>TLS
|
||||
// <e>TLS
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 0
|
||||
#define NO_TLS
|
||||
@@ -157,10 +157,10 @@
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 0
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
@@ -188,7 +188,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AEAD
|
||||
// <e>AEAD
|
||||
#define MDK_CONF_AEAD 0
|
||||
#if MDK_CONF_AEAD == 1
|
||||
#define HAVE_AEAD
|
||||
@@ -215,7 +215,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -66,7 +66,7 @@
|
||||
// <e>Crypt/Cipher Benchmark
|
||||
#define MDK_CONF_CTaoCryptBenchmark 1
|
||||
#if MDK_CONF_CTaoCryptBenchmark == 0
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#define NO_CRYPT_BENCHMARK
|
||||
#define BENCH_EMBEDDED
|
||||
#endif
|
||||
// </e>
|
||||
@@ -120,7 +120,7 @@
|
||||
// <h>SSL (Included by default)
|
||||
// </h>
|
||||
|
||||
// <e>TLS
|
||||
// <e>TLS
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 0
|
||||
#define NO_TLS
|
||||
@@ -179,10 +179,10 @@
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 0
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
@@ -210,7 +210,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AEAD
|
||||
// <e>AEAD
|
||||
#define MDK_CONF_AEAD 0
|
||||
#if MDK_CONF_AEAD == 1
|
||||
#define HAVE_AEAD
|
||||
@@ -237,7 +237,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -35,7 +35,7 @@
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
static void init_card (void)
|
||||
static void init_card (void)
|
||||
{
|
||||
U32 retv;
|
||||
|
||||
@@ -55,14 +55,14 @@ static void init_card (void)
|
||||
* TCP/IP tasks
|
||||
*----------------------------------------------------------------------------*/
|
||||
#ifdef WOLFSSL_KEIL_TCP_NET
|
||||
__task void tcp_tick (void)
|
||||
__task void tcp_tick (void)
|
||||
{
|
||||
|
||||
|
||||
WOLFSSL_MSG("Time tick started.") ;
|
||||
#if defined (HAVE_KEIL_RTX)
|
||||
os_itv_set (10);
|
||||
#endif
|
||||
|
||||
|
||||
while (1) {
|
||||
#if defined (HAVE_KEIL_RTX)
|
||||
os_itv_wait ();
|
||||
@@ -99,11 +99,11 @@ extern void benchmark_test(void) ;
|
||||
extern void SER_Init(void) ;
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
/*** This is the parent task entry ***/
|
||||
void main_task (void)
|
||||
void main_task (void)
|
||||
{
|
||||
#ifdef WOLFSSL_KEIL_TCP_NET
|
||||
init_TcpNet ();
|
||||
@@ -111,8 +111,8 @@ void main_task (void)
|
||||
os_tsk_create (tcp_tick, 2);
|
||||
os_tsk_create (tcp_poll, 1);
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_MDK_SHELL
|
||||
|
||||
#ifdef WOLFSSL_MDK_SHELL
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
os_tsk_create_user(shell_main, 1, Shell_stack, SHELL_STACKSIZE) ;
|
||||
#else
|
||||
@@ -124,8 +124,8 @@ void main_task (void)
|
||||
/*** USER APPLICATION HERE ***/
|
||||
/************************************/
|
||||
printf("USER LOGIC STARTED\n") ;
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
WOLFSSL_MSG("Terminating tcp_main\n") ;
|
||||
@@ -148,7 +148,7 @@ extern void SystemInit(void);
|
||||
|
||||
int main() {
|
||||
|
||||
SystemInit();
|
||||
SystemInit();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_card () ; /* initializing SD card */
|
||||
#endif
|
||||
@@ -157,7 +157,7 @@ int main() {
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
os_sys_init (main_task) ;
|
||||
#else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,9 +19,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*** tiny Shell for wolfSSL apps ***/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -185,7 +185,7 @@ extern void dh_test(void *arg) ;
|
||||
#ifndef NO_DSA
|
||||
extern void dsa_test(void *arg) ;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NO_PWDBASED
|
||||
extern void pwdbased_test(void *arg) ;
|
||||
#endif
|
||||
@@ -276,8 +276,8 @@ static struct {
|
||||
#ifndef NO_DES3
|
||||
"des", des_test,
|
||||
"des3", des3_test,
|
||||
#endif
|
||||
#ifndef NO_AES
|
||||
#endif
|
||||
#ifndef NO_AES
|
||||
"aes", aes_test,
|
||||
#ifdef HAVE_AESGCM
|
||||
"aesgcm", aesgcm_test,
|
||||
@@ -299,10 +299,10 @@ static struct {
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
"dsa", dsa_test,
|
||||
#endif
|
||||
#endif
|
||||
#ifndef NO_PWDBASED
|
||||
"pwdbased", pwdbased_test,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef OPENSSL_EXTRA
|
||||
"openssl", openssl_test,
|
||||
#endif
|
||||
@@ -320,22 +320,22 @@ enum jobtype { FORGROUND, BACKGROUND } ;
|
||||
#define IF_DELIMITER(ch) ((ch) == ' ' || (ch) == '\n')
|
||||
|
||||
/******* Get Command Line *****************************/
|
||||
static int getline(char * line, int sz, func_args *args, int*bf_flg)
|
||||
static int getline(char * line, int sz, func_args *args, int*bf_flg)
|
||||
{
|
||||
char * ret ;
|
||||
int i ;
|
||||
|
||||
|
||||
#define MAXARGS 10
|
||||
#define MAXARGLEN 30
|
||||
static char *argv[MAXARGS] ;
|
||||
args->argv = argv ;
|
||||
|
||||
|
||||
putchar('>') ;
|
||||
fflush(stdout) ;
|
||||
ret = fgets(line, sz, stdin) ;
|
||||
#define SHELL_ERROR_FGETS -102
|
||||
if(ret != line) return(SHELL_ERROR_FGETS) ;
|
||||
|
||||
|
||||
if(line[strlen(line)-2] == '&') {
|
||||
(*bf_flg) = BACKGROUND ;
|
||||
line[strlen(line)-2] = '\n' ;
|
||||
@@ -363,22 +363,22 @@ static int BackGround = 0 ; /* 1: background job is running */
|
||||
#define IP_SIZE 16
|
||||
|
||||
#ifdef WOLFSSL_KEIL_NET
|
||||
static void ipaddr_comm(void *args)
|
||||
static void ipaddr_comm(void *args)
|
||||
{
|
||||
if(((func_args *)args)->argc == 1) {
|
||||
printf("IP addr: %s, port %d\n", wolfSSLIP, wolfSSLPort) ;
|
||||
} else {
|
||||
if(BackGround != 0) {
|
||||
printf("Cannot change IP addr while background server is running\n") ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-'&&
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-'&&
|
||||
((func_args *)args)->argv[1][1] == 'a' ) {
|
||||
/* strcpy(wolfSSLIP, ((func_args *)args)->argv[2]) ; */
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 'p' ) {
|
||||
/* yasslPort = atoi(((func_args *)args)->argv[2]) ; */
|
||||
} else printf("Invalid argument\n") ;
|
||||
} else printf("Invalid argument\n") ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ static void ipaddr_comm(void *args)
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
static int stack_ck = 0 ;
|
||||
|
||||
static void stack_comm(void *args)
|
||||
static void stack_comm(void *args)
|
||||
{
|
||||
if(stack_ck) {
|
||||
printf("Stack Check: Off\n") ;
|
||||
@@ -399,7 +399,7 @@ static void stack_comm(void *args)
|
||||
stack_ck = 1 ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define FILL_PATTERN 0xa596695a
|
||||
void stack_fill(char * stack, int size)
|
||||
{
|
||||
@@ -410,13 +410,13 @@ void stack_fill(char * stack, int size)
|
||||
((int *)stack)[i] = FILL_PATTERN ;
|
||||
}
|
||||
|
||||
void stack_check(char * stack, int size)
|
||||
void stack_check(char * stack, int size)
|
||||
{
|
||||
int i ;
|
||||
|
||||
|
||||
if(stack_ck == 0)return ;
|
||||
if(stack_ck == 1) {
|
||||
stack_ck ++ ; return ;
|
||||
stack_ck ++ ; return ;
|
||||
}
|
||||
for(i=1; i<size/4 ; i++) {
|
||||
if(((int *)stack)[i] != FILL_PATTERN) break ;
|
||||
@@ -432,7 +432,7 @@ void stack_check(char * stack, int size)
|
||||
|
||||
static int for_iteration = 1 ;
|
||||
|
||||
static void for_command(void *args)
|
||||
static void for_command(void *args)
|
||||
{
|
||||
if( args == NULL || ((func_args *)args)->argc == 1) {
|
||||
printf("For %d times\n", for_iteration) ;
|
||||
@@ -446,7 +446,7 @@ static void for_command(void *args)
|
||||
|
||||
static int wolfsslDebug = 1 ;
|
||||
|
||||
static void dbg_comm(void *args)
|
||||
static void dbg_comm(void *args)
|
||||
{
|
||||
if(wolfsslDebug == 1) {
|
||||
wolfsslDebug = 0 ;
|
||||
@@ -460,9 +460,9 @@ static void dbg_comm(void *args)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void help_comm(void *args)
|
||||
static void help_comm(void *args)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -484,12 +484,12 @@ static wolfSSL_Mutex command_mutex ;
|
||||
#endif
|
||||
|
||||
/*********** Invoke Forground Command *********************/
|
||||
static void command_invoke(void *args)
|
||||
static void command_invoke(void *args)
|
||||
{
|
||||
void (*func)(void * ) ;
|
||||
int i,iteration ;
|
||||
|
||||
func = (void(*)(void *))((func_args *)args)->argv[0] ;
|
||||
func = (void(*)(void *))((func_args *)args)->argv[0] ;
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
wc_LockMutex((wolfSSL_Mutex *)&command_mutex) ;
|
||||
#endif
|
||||
@@ -499,14 +499,14 @@ static void command_invoke(void *args)
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
stack_fill(command_stack, COMMAND_STACK_SIZE) ;
|
||||
#endif
|
||||
|
||||
|
||||
func(args) ; /* invoke command */
|
||||
|
||||
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
stack_check(command_stack, COMMAND_STACK_SIZE) ;
|
||||
#endif
|
||||
}
|
||||
if(iteration > 1)
|
||||
if(iteration > 1)
|
||||
for_iteration = 1 ;
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
wc_UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
|
||||
@@ -517,12 +517,12 @@ static void command_invoke(void *args)
|
||||
#if (!defined(NO_SIMPLE_SERVER) && !defined(NO_ECHOSERVER)) && \
|
||||
defined(HAVE_KEIL_RTX)
|
||||
/******* Invoke Background Job *******************************/
|
||||
static void bg_job_invoke(void *args)
|
||||
static void bg_job_invoke(void *args)
|
||||
{
|
||||
void (*func)(void * ) ;
|
||||
BackGround = 1 ;
|
||||
BackGround = 1 ;
|
||||
stack_fill(bg_job_stack, BG_JOB_STACK_SIZE) ;
|
||||
func = (void(*)(void *))((func_args *)args)->argv[0] ;
|
||||
func = (void(*)(void *))((func_args *)args)->argv[0] ;
|
||||
func(args) ; /* invoke command */
|
||||
stack_check(bg_job_stack, BG_JOB_STACK_SIZE) ;
|
||||
#ifdef WOLFSSL_KEIL_NET
|
||||
@@ -539,14 +539,14 @@ static char line[LINESIZE] ;
|
||||
|
||||
/********* SHEULL MAIN LOOP ***********************************/
|
||||
void shell_main(void) {
|
||||
int i ;
|
||||
int i ;
|
||||
func_args args ;
|
||||
int bf_flg ;
|
||||
|
||||
i = BackGround ;
|
||||
|
||||
i = BackGround ;
|
||||
/* Dummy for avoiding warning: BackGround is defined but not used. */
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
wc_InitMutex(&command_mutex) ;
|
||||
#endif
|
||||
@@ -574,9 +574,9 @@ void shell_main(void) {
|
||||
if(BackGround != 0) {
|
||||
printf("Multiple background servers not supported.\n") ;
|
||||
} else {
|
||||
printf("\"%s\" is running with the background mode.\n",
|
||||
printf("\"%s\" is running with the background mode.\n",
|
||||
commandTable[i].command) ;
|
||||
os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke,
|
||||
os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke,
|
||||
6, bg_job_stack, BG_JOB_STACK_SIZE, &args) ;
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,14 +19,14 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
@@ -35,7 +35,7 @@ typedef struct
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-dummy.c.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,16 +19,16 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "time.h"
|
||||
|
||||
struct tm *wolfssl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
static struct tm date ;
|
||||
struct tm *wolfssl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
static struct tm date ;
|
||||
return(&date) ;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -35,8 +35,8 @@
|
||||
|
||||
#if defined(WOLFSSL_MDK5)
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_fs.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_fs.h"
|
||||
#include "rl_net.h"
|
||||
#else
|
||||
#include "rtl.h"
|
||||
#endif
|
||||
@@ -58,7 +58,7 @@
|
||||
/** TCPnet BSD socket does not have following functions. **/
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
char *inet_ntoa(struct in_addr in)
|
||||
char *inet_ntoa(struct in_addr in)
|
||||
{
|
||||
#define NAMESIZE 16
|
||||
static char name[NAMESIZE] ;
|
||||
@@ -76,11 +76,11 @@ unsigned long inet_addr(const char *cp)
|
||||
|
||||
|
||||
/*** tcp_connect is actually associated with following syassl_tcp_connect. ***/
|
||||
int wolfssl_connect(int sd, const struct sockaddr* sa, int sz)
|
||||
int wolfssl_connect(int sd, const struct sockaddr* sa, int sz)
|
||||
{
|
||||
int ret = 0 ;
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
|
||||
SOCKADDR_IN addr ;
|
||||
|
||||
addr = *(SOCKADDR_IN *)sa ;
|
||||
@@ -91,19 +91,19 @@ int wolfssl_connect(int sd, const struct sockaddr* sa, int sz)
|
||||
os_dly_wait(50);
|
||||
} while(ret == SCK_EWOULDBLOCK) ;
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
{
|
||||
{
|
||||
char msg[50] ;
|
||||
sprintf(msg, "BSD Connect return code: %d\n", ret) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_KEIL_TCP_NET */
|
||||
return(ret ) ;
|
||||
}
|
||||
|
||||
|
||||
int wolfssl_accept(int sd, struct sockaddr *addr, int *addrlen)
|
||||
int wolfssl_accept(int sd, struct sockaddr *addr, int *addrlen)
|
||||
{
|
||||
int ret = 0 ;
|
||||
|
||||
@@ -113,24 +113,24 @@ int wolfssl_accept(int sd, struct sockaddr *addr, int *addrlen)
|
||||
ret = accept(sd, addr, addrlen) ;
|
||||
if(ret != SCK_EWOULDBLOCK) break ;
|
||||
os_dly_wait(1);
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
{
|
||||
char msg[50] ;
|
||||
sprintf(msg, "BSD Accept return code: %d\n", ret) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_KEIL_TCP_NET */
|
||||
return(ret ) ;
|
||||
|
||||
}
|
||||
|
||||
int wolfssl_recv(int sd, void *buf, size_t len, int flags)
|
||||
|
||||
int wolfssl_recv(int sd, void *buf, size_t len, int flags)
|
||||
{
|
||||
int ret = 0;
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
while(1) {
|
||||
#undef recv /* Go to KEIL TCPnet recv */
|
||||
ret = recv(sd, buf, len, flags) ;
|
||||
@@ -138,10 +138,10 @@ int wolfssl_recv(int sd, void *buf, size_t len, int flags)
|
||||
os_dly_wait(1);
|
||||
}
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
{
|
||||
{
|
||||
char msg[50] ;
|
||||
sprintf(msg, "BSD Recv return code: %d\n", ret) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -149,22 +149,22 @@ int wolfssl_recv(int sd, void *buf, size_t len, int flags)
|
||||
return(ret ) ;
|
||||
}
|
||||
|
||||
int wolfssl_send(int sd, const void *buf, size_t len, int flags)
|
||||
int wolfssl_send(int sd, const void *buf, size_t len, int flags)
|
||||
{
|
||||
int ret = 0 ;
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
while(1) {
|
||||
#undef send /* Go to KEIL TCPnet send */
|
||||
ret = send(sd, buf, len, flags) ;
|
||||
if(ret != SCK_EWOULDBLOCK) break ;
|
||||
os_dly_wait(1);
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
{
|
||||
char msg[50] ;
|
||||
sprintf(msg, "BSD Send return code: %d\n", ret) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
WOLFSSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -175,49 +175,49 @@ int wolfssl_send(int sd, const void *buf, size_t len, int flags)
|
||||
|
||||
#endif /* WOLFSSL_KEIL_TCP_NET */
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
void wolfssl_sleep(int t)
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
void wolfssl_sleep(int t)
|
||||
{
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
os_dly_wait(t/1000+1) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
int wolfssl_tcp_select(int sd, int timeout)
|
||||
int wolfssl_tcp_select(int sd, int timeout)
|
||||
{
|
||||
|
||||
|
||||
return 0 ;
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
FILE * wolfSSL_fopen(const char *name, const char *openmode)
|
||||
FILE * wolfSSL_fopen(const char *name, const char *openmode)
|
||||
{
|
||||
int i ; FILE * ret ;
|
||||
#define PATHSIZE 100
|
||||
char path[PATHSIZE] ; char *p ;
|
||||
|
||||
|
||||
if(strlen(name) > PATHSIZE)return(NULL) ;
|
||||
|
||||
|
||||
for(i = 0; i<= strlen(name); i++) {
|
||||
if(name[i] == '/')path[i] = '\\' ;
|
||||
else path[i] = name[i] ;
|
||||
}
|
||||
}
|
||||
if(path[0] == '.' && path[1] == '\\') p = path + 2 ;
|
||||
else p = path ;
|
||||
|
||||
ret = fopen (p, openmode) ;
|
||||
|
||||
|
||||
return(ret) ;
|
||||
}
|
||||
|
||||
#define getkey getchar
|
||||
#define sendchar putchar
|
||||
|
||||
char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
{
|
||||
int i ;
|
||||
|
||||
|
||||
for(i = 0 ; i< num ; i++) {
|
||||
while((str[i] = getkey()) == 0) {
|
||||
#if defined (HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
|
||||
@@ -228,15 +228,15 @@ char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
}
|
||||
if(str[i] == '\n' || str[i] == '\012' || str[i] == '\015') {
|
||||
sendchar('\n') ;
|
||||
str[i++] = '\n' ;
|
||||
str[i] = '\0' ;
|
||||
str[i++] = '\n' ;
|
||||
str[i] = '\0' ;
|
||||
break ;
|
||||
} else if(str[i] == '\010') { /* BS */
|
||||
if(i) { /* erace one char */
|
||||
sendchar('\010') ; sendchar(' ') ; sendchar('\010') ;
|
||||
sendchar('\010') ; sendchar(' ') ; sendchar('\010') ;
|
||||
i = (i>0 ? (i-2) : -1 ) ;
|
||||
continue ;
|
||||
}
|
||||
}
|
||||
} else if(str[i] == '\033' || str[i] == '\004' ) { /* ESC or ^D */
|
||||
str[i] = '\0' ;
|
||||
return(0) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/* Go to STDIN */
|
||||
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
|
||||
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
|
||||
extern char * wolfssl_fgets ( char * str, int num, FILE * f ) ;
|
||||
|
||||
#define SOCKET_T int
|
||||
@@ -53,19 +53,19 @@ struct timeval {
|
||||
long tv_usec; /* microseconds */
|
||||
};
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
|
||||
#if defined(WOLFSSL_MDK5)
|
||||
#define SCK_EWOULDBLOCK BSD_ERROR_WOULDBLOCK
|
||||
#define SCK_ETIMEOUT BSD_ERROR_TIMEOUT
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#endif
|
||||
|
||||
|
||||
typedef int socklen_t ;
|
||||
|
||||
/* for avoiding conflict with KEIL-TCPnet BSD socket */
|
||||
/* Bodies are in wolfssl_KEIL_RL.c */
|
||||
#define connect(a,b,c) wolfssl_connect(a, (struct sockaddr* )(b), c)
|
||||
#define connect(a,b,c) wolfssl_connect(a, (struct sockaddr* )(b), c)
|
||||
#define accept wolfssl_accept
|
||||
#define recv wolfssl_recv
|
||||
#define send wolfssl_send
|
||||
@@ -73,7 +73,7 @@ typedef int socklen_t ;
|
||||
|
||||
/* for avoiding conflicting with KEIL-TCPnet TCP socket */
|
||||
/* Bodies are in test.h */
|
||||
#define tcp_connect wolfssl_tcp_connect
|
||||
#define tcp_connect wolfssl_tcp_connect
|
||||
#define tcp_socket wolfssl_tcp_soket
|
||||
#define tcp_listen wolfssl_tcp_listen
|
||||
#define tcp_select wolfssl_tcp_select
|
||||
@@ -89,7 +89,7 @@ extern int wolfssl_tcp_select(int sd, int timeout) ;
|
||||
/* TCPnet BSD socket does not have following functions. */
|
||||
extern char *inet_ntoa(struct in_addr in);
|
||||
extern unsigned long inet_addr(const char *cp);
|
||||
extern int setsockopt(int sockfd, int level, int optname,
|
||||
extern int setsockopt(int sockfd, int level, int optname,
|
||||
const void *optval, socklen_t optlen);
|
||||
extern int select(int nfds, fd_set *readfds, fd_set *writefds,
|
||||
fd_set *exceptfds, const struct timeval *timeout);
|
||||
|
||||
@@ -1223,8 +1223,8 @@
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\src\io.c</PathWithFileName>
|
||||
<FilenameWithoutPath>io.c</FilenameWithoutPath>
|
||||
<PathWithFileName>..\..\..\src\wolfio.c</PathWithFileName>
|
||||
<FilenameWithoutPath>wolfio.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
|
||||
@@ -657,9 +657,9 @@
|
||||
<FilePath>..\..\..\src\internal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>io.c</FileName>
|
||||
<FileName>wolfio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\src\io.c</FilePath>
|
||||
<FilePath>..\..\..\src\wolfio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>keys.c</FileName>
|
||||
@@ -1366,9 +1366,9 @@
|
||||
<FilePath>..\..\..\src\internal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>io.c</FileName>
|
||||
<FileName>wolfio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\src\io.c</FilePath>
|
||||
<FilePath>..\..\..\src\wolfio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>keys.c</FileName>
|
||||
@@ -2075,9 +2075,9 @@
|
||||
<FilePath>..\..\..\src\internal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>io.c</FileName>
|
||||
<FileName>wolfio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\src\io.c</FilePath>
|
||||
<FilePath>..\..\..\src\wolfio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>keys.c</FileName>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
/* time-STM32F2xx.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,16 +19,16 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "time.h"
|
||||
|
||||
#define PERIPH_BASE ((uint32_t)0x40000000)
|
||||
#define PERIPH_BASE ((uint32_t)0x40000000)
|
||||
/*-----------------------------------------------------------------------------
|
||||
* initialize RTC
|
||||
* initialize RTC
|
||||
*----------------------------------------------------------------------------*/
|
||||
#include "stm32f2xx.h"
|
||||
|
||||
@@ -46,15 +46,15 @@
|
||||
#define CR_OFFSET (PWR_OFFSET + 0x00)
|
||||
#define DBP_BitNumber 0x08
|
||||
#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
|
||||
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
|
||||
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
|
||||
#define INITMODE_TIMEOUT ((uint32_t) 0x00010000)
|
||||
|
||||
static void init_RTC()
|
||||
static void init_RTC()
|
||||
{
|
||||
__IO uint32_t initcounter = 0x00 ;
|
||||
uint32_t initstatus = 0x00; /* Enable the PWR clock : RCC_APB1Periph_PWR */
|
||||
uint32_t initstatus = 0x00; /* Enable the PWR clock : RCC_APB1Periph_PWR */
|
||||
((uint32_t *)RCC)[0x10] |= ((uint32_t)0x10000000) ;
|
||||
|
||||
|
||||
/* Allow access to RTC */
|
||||
*(__IO uint32_t *) CR_DBP_BB = ENABLE ;
|
||||
/* RCC_LSEConfig(RCC_LSE_ON) */
|
||||
@@ -62,7 +62,7 @@ static void init_RTC()
|
||||
/* Reset LSEBYP bit */
|
||||
*(__IO uint8_t *) (RCC_BASE + 0x70) = ((uint8_t)0x00);
|
||||
*(__IO uint8_t *) (RCC_BASE + 0x70) = ((uint8_t)0x01);
|
||||
/* Wait till LSE is ready */
|
||||
/* Wait till LSE is ready */
|
||||
while((RCC->BDCR << 0x2) == 0x0) { }
|
||||
/* Select the RTC clock source: RCC_RTCCLKSource_LSE */
|
||||
((RCC_TypeDef *)RCC)->BDCR |= (uint32_t)0x00000100;
|
||||
@@ -70,13 +70,13 @@ static void init_RTC()
|
||||
/* Enable the RTC Clock */
|
||||
*(__IO uint32_t *) (PERIPH_BB_BASE + (((RCC_BASE - PERIPH_BASE)+ 0x70) * 32) + (0x0F* 4)) = (uint32_t)ENABLE;
|
||||
|
||||
*(__IO uint32_t *) CR_DBP_BB = (uint32_t)ENABLE;
|
||||
*(__IO uint32_t *) CR_DBP_BB = (uint32_t)ENABLE;
|
||||
RTC->ISR = (uint32_t) RTC_INIT_MASK;
|
||||
do {
|
||||
initstatus = RTC->ISR & RTC_ISR_INITF;
|
||||
initcounter++;
|
||||
initcounter++;
|
||||
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
|
||||
|
||||
|
||||
/* Disable the write protection for RTC registers */
|
||||
RTC->WPR = 0xCA;
|
||||
RTC->WPR = 0x53;
|
||||
@@ -86,14 +86,14 @@ static void init_RTC()
|
||||
RTC->CR |= ((uint32_t)0x00000000) ; /* RTC_HourFormat_24 */
|
||||
|
||||
/* Configure the RTC PRER */
|
||||
RTC->PRER = 0x7f ;
|
||||
RTC->PRER = 0x7f ;
|
||||
RTC->PRER |= (uint32_t)(0xff << 16);
|
||||
|
||||
/* Exit Initialization mode */
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
|
||||
/* Enable the write protection for RTC registers */
|
||||
RTC->WPR = 0xFF;
|
||||
RTC->WPR = 0xFF;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
@@ -108,16 +108,16 @@ static void init_TIM()
|
||||
((uint32_t *)RCC)[0x10] |= RCC_APB1Periph_TIM2 ;
|
||||
|
||||
tmpcr1 = TIM2->CR1 ;
|
||||
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
|
||||
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
|
||||
/* CR1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS) */
|
||||
tmpcr1 |= (uint16_t)0x0000 ; /* CR1 |= TIM_CounterMode_Up */
|
||||
TIM2->CR1= tmpcr1 ;
|
||||
|
||||
TIM2->ARR = 0xffffffff ; /* ARR= TIM_Period */
|
||||
TIM2->PSC = 60 ; /* PSC = TIM_Prescaler */
|
||||
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
|
||||
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
|
||||
|
||||
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
|
||||
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
|
||||
/* TIM_Cmd(TIM2, ENABLE) ; */
|
||||
}
|
||||
|
||||
@@ -129,10 +129,10 @@ void init_time(void) {
|
||||
static void GetTime(uint8_t *h, uint8_t *m, uint8_t *s)
|
||||
{
|
||||
uint32_t tmpreg = 0;
|
||||
tmpreg = (uint32_t)(RTC->TR & RTC_TR_RESERVED_MASK);
|
||||
tmpreg = (uint32_t)(RTC->TR & RTC_TR_RESERVED_MASK);
|
||||
*h = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> 16));
|
||||
*m = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8));
|
||||
*s = (uint8_t)Bcd2ToByte((tmpreg & (RTC_TR_ST | RTC_TR_SU)));
|
||||
*s = (uint8_t)Bcd2ToByte((tmpreg & (RTC_TR_ST | RTC_TR_SU)));
|
||||
}
|
||||
|
||||
static uint32_t ByteToBcd2(uint8_t Value)
|
||||
@@ -151,29 +151,29 @@ static void SetTime(uint8_t h, uint8_t m, uint8_t s)
|
||||
uint32_t synchrostatus = 0x00;
|
||||
__IO uint32_t initcounter = 0;
|
||||
uint32_t initstatus = 0x00;
|
||||
uint32_t tmpreg ;
|
||||
uint32_t tmpreg ;
|
||||
|
||||
tmpreg = ((ByteToBcd2(h) << 16) | (ByteToBcd2(m) << 8) | ByteToBcd2(s)) ;
|
||||
/* Disable the write protection for RTC registers */
|
||||
RTC->WPR = 0xCA;
|
||||
RTC->WPR = 0x53;
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
|
||||
RTC->ISR = (uint32_t)RTC_INIT_MASK;
|
||||
|
||||
/* Wait till RTC is in INIT state and if Time out is reached exit */
|
||||
do {
|
||||
initstatus = RTC->ISR & RTC_ISR_INITF;
|
||||
initcounter++;
|
||||
initcounter++;
|
||||
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
|
||||
|
||||
|
||||
RTC->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK);
|
||||
|
||||
|
||||
RTC->ISR &= (uint32_t)RTC_RSF_MASK;
|
||||
/* Wait the registers to be synchronised */
|
||||
do {
|
||||
synchrostatus = RTC->ISR & RTC_ISR_RSF;
|
||||
synchrocounter++;
|
||||
synchrocounter++;
|
||||
} while((synchrocounter != SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
|
||||
|
||||
RTC->WPR = 0xFF;
|
||||
@@ -182,7 +182,7 @@ static void SetTime(uint8_t h, uint8_t m, uint8_t s)
|
||||
static void GetDate(uint8_t *y, uint8_t *m, uint8_t *d)
|
||||
{
|
||||
uint32_t tmpreg = 0;
|
||||
tmpreg = (uint32_t)(RTC->DR & RTC_TR_RESERVED_MASK);
|
||||
tmpreg = (uint32_t)(RTC->DR & RTC_TR_RESERVED_MASK);
|
||||
*y = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_DR_YT|RTC_DR_YU)) >>16));
|
||||
*m = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_DR_MT|RTC_DR_MU)) >> 8));
|
||||
*d = (uint8_t)Bcd2ToByte((uint8_t)(tmpreg & (RTC_DR_DT |RTC_DR_DU)));
|
||||
@@ -194,20 +194,20 @@ static void SetDate(uint8_t y, uint8_t m, uint8_t d)
|
||||
uint32_t synchrostatus = 0x00;
|
||||
__IO uint32_t initcounter = 0;
|
||||
uint32_t initstatus = 0x00;
|
||||
uint32_t tmpreg = 0 ;
|
||||
|
||||
uint32_t tmpreg = 0 ;
|
||||
|
||||
tmpreg = ((ByteToBcd2(y) << 16) | (ByteToBcd2(m) << 8) | ByteToBcd2(d)) ;
|
||||
/* Disable the write protection for RTC registers */
|
||||
RTC->WPR = 0xCA;
|
||||
RTC->WPR = 0x53;
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
|
||||
|
||||
RTC->ISR = (uint32_t)RTC_INIT_MASK;
|
||||
|
||||
/* Wait till RTC is in INIT state and if Time out is reached exit */
|
||||
do {
|
||||
initstatus = RTC->ISR & RTC_ISR_INITF;
|
||||
initcounter++;
|
||||
initcounter++;
|
||||
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
|
||||
|
||||
RTC->DR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK);
|
||||
@@ -216,7 +216,7 @@ static void SetDate(uint8_t y, uint8_t m, uint8_t d)
|
||||
/* Wait the registers to be synchronised */
|
||||
do {
|
||||
synchrostatus = RTC->ISR & RTC_ISR_RSF;
|
||||
synchrocounter++;
|
||||
synchrocounter++;
|
||||
} while((synchrocounter != SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
|
||||
|
||||
RTC->WPR = 0xFF;
|
||||
@@ -226,11 +226,11 @@ static void SetDate(uint8_t y, uint8_t m, uint8_t d)
|
||||
#include <stdio.h>
|
||||
void CYASSL_MSG(const char *msg) ;
|
||||
|
||||
struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
{
|
||||
uint8_t h, m, s ;
|
||||
uint8_t y, mo, d ;
|
||||
static struct tm date ;
|
||||
static struct tm date ;
|
||||
|
||||
GetTime(&h, &m, &s) ;
|
||||
GetDate(&y, &mo, &d) ;
|
||||
@@ -242,20 +242,20 @@ struct tm *Cyassl_MDK_gmtime(const time_t *c)
|
||||
date.tm_min = m ;
|
||||
date.tm_sec = s ;
|
||||
|
||||
#if defined(DEBUG_CYASSL)
|
||||
#if defined(DEBUG_CYASSL)
|
||||
{
|
||||
char msg[100] ;
|
||||
sprintf(msg,
|
||||
sprintf(msg,
|
||||
"Debug::Cyassl_KEIL_gmtime(DATE=/%2d/%02d/%04d TIME=%02d:%02d:%02d)\n",
|
||||
d, mo, y+2000, h, m, s) ;
|
||||
CYASSL_MSG(msg) ;
|
||||
d, mo, y+2000, h, m, s) ;
|
||||
CYASSL_MSG(msg) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
return(&date) ;
|
||||
}
|
||||
|
||||
double current_time()
|
||||
double current_time()
|
||||
{
|
||||
return ((double)TIM2->CNT/1000000.0) ;
|
||||
}
|
||||
@@ -266,35 +266,35 @@ typedef struct func_args {
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
void time_main(void *args)
|
||||
void time_main(void *args)
|
||||
{
|
||||
char * datetime ;
|
||||
uint8_t h, m, s ;
|
||||
uint8_t y, mo, d ;
|
||||
|
||||
|
||||
if( args == NULL || ((func_args *)args)->argc == 1) {
|
||||
GetTime(&h, &m, &s) ;
|
||||
GetDate(&y, &mo, &d) ;
|
||||
printf("Date: %d/%d/%d, Time: %02d:%02d:%02d\n",
|
||||
mo, d, y+2000, h, m, s) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
printf("Date: %d/%d/%d, Time: %02d:%02d:%02d\n",
|
||||
mo, d, y+2000, h, m, s) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 'd' ) {
|
||||
datetime = ((func_args *)args)->argv[2];
|
||||
sscanf(datetime, "%d/%d/%d", (int *)&mo, (int *)&d, (int *) &y) ;
|
||||
SetDate(y-2000, mo, d) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
SetDate(y-2000, mo, d) ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 't' ) {
|
||||
datetime = ((func_args *)args)->argv[2];
|
||||
sscanf(datetime, "%d:%d:%d",
|
||||
sscanf(datetime, "%d:%d:%d",
|
||||
(int *)&h, (int *)&m, (int *)&s) ;
|
||||
SetTime(h, m, s) ;
|
||||
} else printf("Invalid argument\n") ;
|
||||
} else printf("Invalid argument\n") ;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
time()
|
||||
time()
|
||||
********************************************************************/
|
||||
time_t time(time_t * t) { return 0 ; }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-Crypt.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -72,10 +72,10 @@
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
@@ -180,14 +180,14 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_ARM.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/* Go to STDIN */
|
||||
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
|
||||
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
|
||||
extern char * wolfssl_fgets ( char * str, int num, FILE * f ) ;
|
||||
|
||||
#define SOCKET_T int
|
||||
@@ -51,12 +51,12 @@ struct timeval {
|
||||
};
|
||||
|
||||
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
#if defined(WOLFSSL_KEIL_TCP_NET)
|
||||
|
||||
#define SCK_EWOULDBLOCK BSD_ERROR_WOULDBLOCK
|
||||
#define SCK_ETIMEOUT BSD_ERROR_TIMEOUT
|
||||
#include "rl_net.h"
|
||||
|
||||
#include "rl_net.h"
|
||||
|
||||
typedef int socklen_t ;
|
||||
|
||||
/* for avoiding conflict with KEIL-TCPnet BSD socket */
|
||||
@@ -69,7 +69,7 @@ typedef int socklen_t ;
|
||||
|
||||
/* for avoiding conflicting with KEIL-TCPnet TCP socket */
|
||||
/* Bodies are in test.h */
|
||||
#define tcp_connect wolfssl_tcp_connect
|
||||
#define tcp_connect wolfssl_tcp_connect
|
||||
#define tcp_socket wolfssl_tcp_soket
|
||||
#define tcp_listen wolfssl_tcp_listen
|
||||
#define tcp_select(a,b) (0)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -64,10 +64,10 @@ static void init_filesystem (void) {
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
void benchmark_test(void *arg) ;
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
void * arg = NULL ;
|
||||
|
||||
@@ -77,11 +77,11 @@ int main()
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
osDelay(300) ;
|
||||
osDelay(300) ;
|
||||
|
||||
printf("=== Start: Crypt Benchmark ===\n") ;
|
||||
benchmark_test(arg) ;
|
||||
printf("=== End: Crypt Benchmark ===\n") ;
|
||||
printf("=== End: Crypt Benchmark ===\n") ;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,14 +19,14 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
@@ -35,7 +35,7 @@ typedef struct
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -63,10 +63,10 @@ static void init_filesystem (void) {
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
void * arg = NULL ;
|
||||
|
||||
@@ -76,10 +76,10 @@ int main()
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
osDelay(1000) ;
|
||||
osDelay(1000) ;
|
||||
|
||||
printf("=== Start: Crypt test ===\n") ;
|
||||
wolfcrypt_test(arg) ;
|
||||
printf("=== End: Crypt test ===\n") ;
|
||||
|
||||
printf("=== End: Crypt test ===\n") ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@@ -72,13 +72,13 @@ typedef struct func_args {
|
||||
extern void echoclient_test(func_args * args) ;
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
{
|
||||
int main()
|
||||
{
|
||||
func_args args ;
|
||||
args.argc = 1 ;
|
||||
|
||||
@@ -87,7 +87,7 @@ int main()
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
osDelay(300) ;
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@@ -66,7 +66,7 @@ static void init_filesystem (void) {
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
typedef struct func_args {
|
||||
@@ -76,7 +76,7 @@ typedef struct func_args {
|
||||
|
||||
extern void echoserver_test(func_args * args) ;
|
||||
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
func_args args ;
|
||||
args.argc = 1 ;
|
||||
@@ -86,7 +86,7 @@ int main()
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
osDelay(300) ;
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@@ -75,31 +75,31 @@ extern void client_test(func_args * args) ;
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
static char *argv[] =
|
||||
{ "client", "-h", WOLFSSL_CALLEE_IP, "-p", WOLFSSL_CALLEE_PORT,
|
||||
static char *argv[] =
|
||||
{ "client", "-h", WOLFSSL_CALLEE_IP, "-p", WOLFSSL_CALLEE_PORT,
|
||||
"-v", WOLFSSL_SSL_VER, WOLFSSL_HTTP_GET } ;
|
||||
static func_args args =
|
||||
{ 7 + WOLFSSL_HTTP_GET_COUNT, argv } ;
|
||||
|
||||
static func_args args =
|
||||
{ 7 + WOLFSSL_HTTP_GET_COUNT, argv } ;
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
osDelay(300) ;
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
|
||||
if(args.argc == 7)
|
||||
printf("Simple SSL/TLS, ") ;
|
||||
else
|
||||
printf("HTTP GET, ") ;
|
||||
|
||||
printf("Callee IP: %s, Port: %s, Version:%s\n", argv[2], argv[4], argv[6]) ;
|
||||
printf("Callee IP: %s, Port: %s, Version:%s\n", argv[2], argv[4], argv[6]) ;
|
||||
|
||||
while(1) {
|
||||
client_test(&args) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,14 +19,14 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
@@ -35,7 +35,7 @@ typedef struct
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SimpleServer.h
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@@ -74,31 +74,31 @@ extern void server_test(func_args * args) ;
|
||||
#include "config-SimpleServer.h"
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
static char *argv[] = { "server", "-p", WOLFSSL_LISTEN_PORT, "-d"} ;
|
||||
static func_args args = { 4, argv } ;
|
||||
|
||||
static func_args args = { 4, argv } ;
|
||||
|
||||
SystemClock_Config ();
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
osDelay(300) ;
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
|
||||
printf("Simple Server: Started\n") ;
|
||||
while(1) {
|
||||
server_test(&args) ;
|
||||
printf("Enter any key to iterate.\n") ;
|
||||
getchar() ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "wolfcrypt/src/misc.c"
|
||||
#include "stm32f2xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_net.h"
|
||||
#include "rl_net.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@@ -79,12 +79,12 @@ typedef struct func_args {
|
||||
extern void shell_main(func_args * args) ;
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* mian entry
|
||||
* mian entry
|
||||
*----------------------------------------------------------------------------*/
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
|
||||
int main()
|
||||
int main()
|
||||
{
|
||||
void *arg = NULL ;
|
||||
|
||||
@@ -92,15 +92,15 @@ int main()
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
|
||||
|
||||
netInitialize() ;
|
||||
osDelay(300) ;
|
||||
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
|
||||
shell_main(arg) ;
|
||||
shell_main(arg) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,9 +19,9 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*** tiny Shell for wolfSSL apps ***/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <stdlib.h>
|
||||
#if defined(WOLFSSL_MDK5) || defined(WOLFSSL_KEIL_TCP_NET)
|
||||
#include "cmsis_os.h"
|
||||
#include "rl_fs.h"
|
||||
#include "rl_fs.h"
|
||||
#else
|
||||
#include <rtl.h>
|
||||
#endif
|
||||
@@ -192,7 +192,7 @@ extern void dh_test(void *arg) ;
|
||||
#ifndef NO_DSA
|
||||
extern void dsa_test(void *arg) ;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NO_PWDBASED
|
||||
extern void pwdbased_test(void *arg) ;
|
||||
#endif
|
||||
@@ -283,8 +283,8 @@ static struct {
|
||||
#ifndef NO_DES3
|
||||
"des", des_test,
|
||||
"des3", des3_test,
|
||||
#endif
|
||||
#ifndef NO_AES
|
||||
#endif
|
||||
#ifndef NO_AES
|
||||
"aes", aes_test,
|
||||
#ifdef HAVE_AESGCM
|
||||
"aesgcm", aesgcm_test,
|
||||
@@ -306,10 +306,10 @@ static struct {
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
"dsa", dsa_test,
|
||||
#endif
|
||||
#endif
|
||||
#ifndef NO_PWDBASED
|
||||
"pwdbased", pwdbased_test,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef OPENSSL_EXTRA
|
||||
"openssl", openssl_test,
|
||||
#endif
|
||||
@@ -328,29 +328,29 @@ enum jobtype { FORGROUND, BACKGROUND } ;
|
||||
|
||||
static int BackGround = 0 ; /* 1: background job is running */
|
||||
|
||||
char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
{
|
||||
int i ;
|
||||
|
||||
|
||||
for(i = 0 ; i< num ; i++) {
|
||||
while((str[i] = getchar()) == 0) {
|
||||
#if defined (HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
|
||||
os_tsk_pass ();
|
||||
#else
|
||||
#else
|
||||
osThreadYield ();
|
||||
#endif
|
||||
}
|
||||
if(str[i] == '\n' || str[i] == '\012' || str[i] == '\015') {
|
||||
putchar('\n') ;
|
||||
str[i++] = '\n' ;
|
||||
str[i] = '\0' ;
|
||||
str[i++] = '\n' ;
|
||||
str[i] = '\0' ;
|
||||
break ;
|
||||
} else if(str[i] == '\010') { /* BS */
|
||||
if(i) { /* erace one char */
|
||||
putchar('\010') ; putchar(' ') ; putchar('\010') ;
|
||||
putchar('\010') ; putchar(' ') ; putchar('\010') ;
|
||||
i = (i>0 ? (i-2) : -1 ) ;
|
||||
continue ;
|
||||
}
|
||||
}
|
||||
} else if(str[i] == '\033' || str[i] == '\004' ) { /* ESC or ^D */
|
||||
str[i] = '\0' ;
|
||||
return(0) ;
|
||||
@@ -361,23 +361,23 @@ char * wolfssl_fgets ( char * str, int num, FILE * f )
|
||||
}
|
||||
|
||||
/******* Get Command Line *****************************/
|
||||
static int getline(char * line, int sz, func_args *args, int*bf_flg)
|
||||
static int getline(char * line, int sz, func_args *args, int*bf_flg)
|
||||
{
|
||||
char * ret ;
|
||||
int i ;
|
||||
|
||||
|
||||
#define MAXARGS 10
|
||||
#define MAXARGLEN 30
|
||||
static char *argv[MAXARGS] ;
|
||||
args->argv = argv ;
|
||||
|
||||
|
||||
putchar('>') ;
|
||||
fflush(stdout) ;
|
||||
ret = wolfssl_fgets(line, sz, stdin) ;
|
||||
|
||||
|
||||
#define SHELL_ERROR_FGETS -102
|
||||
if(ret != line) return(SHELL_ERROR_FGETS) ;
|
||||
|
||||
|
||||
if(line[strlen(line)-2] == '&') {
|
||||
(*bf_flg) = BACKGROUND ;
|
||||
line[strlen(line)-2] = '\n' ;
|
||||
@@ -404,22 +404,22 @@ static int getline(char * line, int sz, func_args *args, int*bf_flg)
|
||||
#define IP_SIZE 16
|
||||
|
||||
#ifdef WOLFSSL_KEIL_TCP_NET
|
||||
static void ipaddr_comm(void *args)
|
||||
static void ipaddr_comm(void *args)
|
||||
{
|
||||
if(((func_args *)args)->argc == 1) {
|
||||
printf("IP addr: %s, port %d\n", wolfSSLIP, wolfSSLPort) ;
|
||||
} else {
|
||||
if(BackGround != 0) {
|
||||
printf("Cannot change IP addr while background server is running\n") ;
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-'&&
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-'&&
|
||||
((func_args *)args)->argv[1][1] == 'a' ) {
|
||||
/* strcpy(yasslIP, ((func_args *)args)->argv[2]) ; */
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
} else if(((func_args *)args)->argc == 3 &&
|
||||
((func_args *)args)->argv[1][0] == '-' &&
|
||||
((func_args *)args)->argv[1][1] == 'p' ) {
|
||||
/* yasslPort = atoi(((func_args *)args)->argv[2]) ; */
|
||||
} else printf("Invalid argument\n") ;
|
||||
} else printf("Invalid argument\n") ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -430,7 +430,7 @@ static void ipaddr_comm(void *args)
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
static int stack_ck = 0 ;
|
||||
|
||||
void stack_comm(void *args)
|
||||
void stack_comm(void *args)
|
||||
{
|
||||
if(stack_ck) {
|
||||
printf("Stack Check: Off\n") ;
|
||||
@@ -440,7 +440,7 @@ void stack_comm(void *args)
|
||||
stack_ck = 1 ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define FILL_PATTERN 0xa596695a
|
||||
void stack_fill(char * stack, int size)
|
||||
{
|
||||
@@ -451,13 +451,13 @@ void stack_fill(char * stack, int size)
|
||||
((int *)stack)[i] = FILL_PATTERN ;
|
||||
}
|
||||
|
||||
void stack_check(char * stack, int size)
|
||||
void stack_check(char * stack, int size)
|
||||
{
|
||||
int i ;
|
||||
|
||||
|
||||
if(stack_ck == 0)return ;
|
||||
if(stack_ck == 1) {
|
||||
stack_ck ++ ; return ;
|
||||
stack_ck ++ ; return ;
|
||||
}
|
||||
for(i=1; i<size/4 ; i++) {
|
||||
if(((int *)stack)[i] != FILL_PATTERN) break ;
|
||||
@@ -473,7 +473,7 @@ void stack_check(char * stack, int size)
|
||||
|
||||
static int for_iteration = 1 ;
|
||||
|
||||
static void for_command(void *args)
|
||||
static void for_command(void *args)
|
||||
{
|
||||
if( args == NULL || ((func_args *)args)->argc == 1) {
|
||||
printf("For %d times\n", for_iteration) ;
|
||||
@@ -487,7 +487,7 @@ static void for_command(void *args)
|
||||
|
||||
static int wolfsslDebug = 1 ;
|
||||
|
||||
static void dbg_comm(void *args)
|
||||
static void dbg_comm(void *args)
|
||||
{
|
||||
if(wolfsslDebug == 1) {
|
||||
wolfsslDebug = 0 ;
|
||||
@@ -501,10 +501,10 @@ static void dbg_comm(void *args)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void help_comm(void *args)
|
||||
static void help_comm(void *args)
|
||||
{
|
||||
static char *commands[] = {
|
||||
"test",
|
||||
"test",
|
||||
"benchmark",
|
||||
"echoserver& : simple echo server in background mode",
|
||||
"echoclient : simple echo client followed by any input string, or \"quit\", \"break\"",
|
||||
@@ -513,7 +513,7 @@ static void help_comm(void *args)
|
||||
"client -g -v [0123] -h xxx.xxx.xxx.xxx -p 443 : usage example",
|
||||
"server/client -h : help for server/client command",
|
||||
"help",
|
||||
""
|
||||
""
|
||||
} ;
|
||||
|
||||
int i ;
|
||||
@@ -555,12 +555,12 @@ void exit_command(void) {
|
||||
|
||||
|
||||
/*********** Invoke Forground Command *********************/
|
||||
static void command_invoke(void const *args)
|
||||
static void command_invoke(void const *args)
|
||||
{
|
||||
void (*func)(void const * ) ;
|
||||
int i,iteration ;
|
||||
|
||||
func = (void(*)(void const *))((func_args *)args)->argv[0] ;
|
||||
|
||||
func = (void(*)(void const *))((func_args *)args)->argv[0] ;
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
wc_LockMutex((wolfSSL_Mutex *)&command_mutex) ;
|
||||
#endif
|
||||
@@ -570,15 +570,15 @@ static void command_invoke(void const *args)
|
||||
#if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
|
||||
stack_fill(command_stack, COMMAND_STACK_SIZE) ;
|
||||
#endif
|
||||
|
||||
|
||||
func(args) ; /* invoke command */
|
||||
|
||||
|
||||
#if defined(HAVE_KEIL_RTX)&& !defined(WOLFSSL_CMSIS_RTOS)
|
||||
stack_check(command_stack, COMMAND_STACK_SIZE) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
if(iteration > 1)
|
||||
if(iteration > 1)
|
||||
for_iteration = 1 ;
|
||||
osDelay(20000) ;
|
||||
#ifdef HAVE_KEIL_RTX
|
||||
@@ -593,26 +593,26 @@ static void command_invoke(void const *args)
|
||||
|
||||
#if defined(HAVE_KEIL_RTX) || defined(WOLFSSL_CMSIS_RTOS)
|
||||
/******* Invoke Background Job *******************************/
|
||||
static void bg_job_invoke(void const *args)
|
||||
static void bg_job_invoke(void const *args)
|
||||
{
|
||||
void (*func)(void const * ) ;
|
||||
BackGround = 1 ;
|
||||
BackGround = 1 ;
|
||||
#if defined(HAVE_KEIL_RTX)&& !defined(WOLFSSL_CMSIS_RTOS)
|
||||
stack_fill(bg_job_stack, BG_JOB_STACK_SIZE) ;
|
||||
#endif
|
||||
|
||||
func = (void(*)(void const *))((func_args *)args)->argv[0] ;
|
||||
func = (void(*)(void const *))((func_args *)args)->argv[0] ;
|
||||
func(args) ; /* invoke command */
|
||||
#if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
|
||||
stack_check(bg_job_stack, BG_JOB_STACK_SIZE) ;
|
||||
#endif
|
||||
|
||||
|
||||
osDelay(20000) ;
|
||||
BackGround = 0 ;
|
||||
|
||||
#ifdef WOLFSSL_CMSIS_RTOS
|
||||
osThreadTerminate(osThreadGetId()) ;
|
||||
#else
|
||||
#else
|
||||
os_tsk_delete_self() ; ;
|
||||
#endif
|
||||
}
|
||||
@@ -627,18 +627,18 @@ static char line[LINESIZE] ;
|
||||
#endif
|
||||
/********* SHEULL MAIN LOOP ***********************************/
|
||||
void shell_main(void *arg) {
|
||||
int i ;
|
||||
int i ;
|
||||
func_args args ;
|
||||
int bf_flg ;
|
||||
osThreadId cmd ;
|
||||
i = BackGround ;
|
||||
i = BackGround ;
|
||||
/* Dummy for avoiding warning: BackGround is defined but not used. */
|
||||
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
|
||||
#if defined(HAVE_KEIL_RTX)
|
||||
wc_InitMutex(&command_mutex) ;
|
||||
#endif
|
||||
help_comm(NULL) ;
|
||||
|
||||
|
||||
printf("Starting Shell\n") ;
|
||||
while(1) {
|
||||
if(getline(line, LINESIZE, &args, &bf_flg) > 0) {
|
||||
@@ -654,7 +654,7 @@ void shell_main(void *arg) {
|
||||
#else
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
wc_UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
|
||||
cmd = osThreadCreate (osThread (command_invoke) , &args);
|
||||
cmd = osThreadCreate (osThread (command_invoke) , &args);
|
||||
if(cmd == NULL) {
|
||||
printf("Cannon create command thread\n") ;
|
||||
}
|
||||
@@ -673,13 +673,13 @@ void shell_main(void *arg) {
|
||||
if(BackGround != 0) {
|
||||
printf("Multiple background servers not supported.\n") ;
|
||||
} else {
|
||||
printf("\"%s\" is running with the background mode.\n",
|
||||
printf("\"%s\" is running with the background mode.\n",
|
||||
commandTable[i].command) ;
|
||||
#if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
|
||||
os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke,
|
||||
os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke,
|
||||
6, bg_job_stack, BG_JOB_STACK_SIZE, &args) ;
|
||||
#else
|
||||
osThreadCreate (osThread (bg_job_invoke), &args);
|
||||
osThreadCreate (osThread (bg_job_invoke), &args);
|
||||
osDelay (500) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -19,15 +19,15 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
@@ -36,7 +36,7 @@ typedef struct
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ssl-dummy.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -27,8 +27,8 @@
|
||||
#include <cyassl/ssl.h>
|
||||
#include <cyassl/internal.h>
|
||||
|
||||
Signer* GetCA(void* vp, byte* hash)
|
||||
{
|
||||
Signer* GetCA(void* vp, byte* hash)
|
||||
{
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ Signer* GetCAByName(void* vp, byte* hash)
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
int CyaSSL_PemCertToDer(const char* fileName, unsigned char* derBuf, int derSz)
|
||||
int CyaSSL_PemCertToDer(const char* fileName, unsigned char* derBuf, int derSz)
|
||||
{
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
@@ -18,18 +18,18 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfcrypt
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl)
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl)
|
||||
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
|
||||
ADD_DEFINITIONS(${SSL_DEFINES})
|
||||
SET(WOLFCRYPT_SOURCES src/aes.c src/arc4.c src/asn.c src/blake2b.c
|
||||
src/camellia.c src/chacha.c src/coding.c src/compress.c src/des3.c
|
||||
src/dh.c src/dsa.c src/ecc.c src/error.c src/hc128.c src/hmac.c
|
||||
src/integer.c src/logging.c src/md2.c src/md4.c src/md5.c src/memory.c
|
||||
src/pkcs7.c src/poly1305.c src/pwdbased.c src/rabbit.c
|
||||
src/pkcs7.c src/pkcs12.c src/poly1305.c src/pwdbased.c src/rabbit.c
|
||||
src/random.c src/ripemd.c src/rsa.c src/sha.c src/sha256.c src/sha512.c
|
||||
src/tfm.c src/wc_port.c src/wc_encrypt.c src/hash.c
|
||||
src/tfm.c src/wc_port.c src/wc_encrypt.c src/hash.c src/wolfmath.c
|
||||
../wolfssl/wolfcrypt/aes.h ../wolfssl/wolfcrypt/arc4.h ../wolfssl/wolfcrypt/asn.h ../wolfssl/wolfcrypt/blake2.h
|
||||
../wolfssl/wolfcrypt/camellia.h ../wolfssl/wolfcrypt/chacha.h ../wolfssl/wolfcrypt/coding.h ../wolfssl/wolfcrypt/compress.h ../wolfssl/wolfcrypt/des3.h
|
||||
../wolfssl/wolfcrypt/dh.h ../wolfssl/wolfcrypt/dsa.h ../wolfssl/wolfcrypt/ecc.h ../wolfssl/wolfcrypt/error-crypt.h ../wolfssl/wolfcrypt/hc128.h ../wolfssl/wolfcrypt/hmac.h
|
||||
@@ -42,7 +42,6 @@ SET(WOLFCRYPT_SOURCES src/aes.c src/arc4.c src/asn.c src/blake2b.c
|
||||
# misc.c is not compiled in since using INLINE
|
||||
|
||||
ADD_CONVENIENCE_LIBRARY(wolfcrypt ${WOLFCRYPT_SOURCES})
|
||||
RESTRICT_SYMBOL_EXPORTS(wolfcrypt)
|
||||
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(wolfcrypt DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl/wolfcrypt)
|
||||
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl)
|
||||
|
||||
|
||||
ADD_DEFINITIONS(${SSL_DEFINES})
|
||||
|
||||
@@ -31,11 +31,10 @@ ADD_DEFINITIONS(-Dget_tty_password_ext=wolfssl_mysql_get_tty_password_ext)
|
||||
ADD_DEFINITIONS(-Dget_tty_password=wolfssl_mysql_get_tty_password)
|
||||
|
||||
SET(WOLFSSL_SOURCES src/crl.c src/internal.c src/keys.c src/sniffer.c
|
||||
src/tls.c src/io.c src/ocsp.c src/ssl.c
|
||||
src/tls.c src/wolfio.c src/ocsp.c src/ssl.c
|
||||
../../client/get_password.c )
|
||||
|
||||
ADD_CONVENIENCE_LIBRARY(wolfssl ${WOLFSSL_SOURCES})
|
||||
RESTRICT_SYMBOL_EXPORTS(wolfssl)
|
||||
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(wolfssl DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
|
||||
148
IDE/OPENSTM32/.cproject
Normal file
148
IDE/OPENSTM32/.cproject
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="elf" artifactName="wolfSTM32" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738" name="Debug" parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="Generating binary and Printing size information:" postbuildStep="arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin" && arm-none-eabi-size "${BuildArtifactFileName}"">
|
||||
<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738." name="/" resourcePath="">
|
||||
<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.843637882" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1949238642" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.376579966" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" value="STM32F437IIHx" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.board.1728284212" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" value="wolfSTM32" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1788799131" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet" value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII" valueType="enumerated"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.1457764954" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.1684707596" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.774322166" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
|
||||
<builder buildPath="${workspace_loc:/wolfSTM32}/Debug" id="fr.ac6.managedbuild.builder.gnu.cross.847313553" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross">
|
||||
<outputEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
|
||||
</outputEntries>
|
||||
</builder>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.758134809" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
|
||||
<option defaultValue="gnu.c.optimization.level.none" id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.2077803707" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.size" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.debugging.level.256754301" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.include.paths.32506161" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="../Inc"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/system"/>
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/lwip"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/lwip/apps"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/lwip/priv"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/netif"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/netif/ppp"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/netif/ppp/polarssl"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/posix"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/src/include/posix/sys"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/LwIP/system/arch"/>
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
|
||||
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/wolfSSL"/>
|
||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/../..""/>
|
||||
</option>
|
||||
<option id="gnu.c.compiler.option.preprocessor.def.symbols.1556589411" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__weak="__attribute__((weak))""/>
|
||||
<listOptionValue builtIn="false" value="__packed="__attribute__((__packed__))""/>
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
||||
<listOptionValue builtIn="false" value="STM32F437xx"/>
|
||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||
</option>
|
||||
<option id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.220656184" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0" valueType="string"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1396985810" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.982473797" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.126736225" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
|
||||
<option id="gnu.cpp.compiler.option.optimization.level.1227596527" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.debugging.level.681841413" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.839339759" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
|
||||
<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.1396145839" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" value="../STM32F437IIHx_FLASH.ld" valueType="string"/>
|
||||
<option id="gnu.c.link.option.libs.1850337364" name="Libraries (-l)" superClass="gnu.c.link.option.libs"/>
|
||||
<option id="gnu.c.link.option.paths.1061728683" name="Library search path (-L)" superClass="gnu.c.link.option.paths"/>
|
||||
<option id="gnu.c.link.option.ldflags.484312202" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--specs=nosys.specs --specs=nano.specs -u _printf_float" valueType="string"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.210434878" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.1401311113" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.archiver.801849405" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.1576695062" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
|
||||
<option id="gnu.both.asm.option.include.paths.2012591676" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1181863627" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1455097577" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738.1915068927" name="/" resourcePath="Middlewares/Third_Party/wolfMQTT/examples/aws">
|
||||
<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.173956589" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug" unusedChildren="">
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1949238642.698225202" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix.1949238642"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.376579966.2068115060" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu.376579966"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.board.1728284212.1905622558" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board.1728284212"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1788799131.1271602884" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1788799131"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.1457764954.1755766601" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu.1457764954"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.1684707596.2053579499" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi.1684707596"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.542548012" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.758134809">
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.603917146" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.834662647" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.1959620380" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.126736225"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.625780673" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.839339759"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.2035924639" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.1401311113"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.archiver.859849169" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver.801849405"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.322401756" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.1576695062">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1288485713" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1780998132" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Inc"/>
|
||||
<entry excluding="Third_Party/wolfSSL/src/bio.c|Third_Party/wolfSSL/wolfcrypt/src/evp.c|Third_Party/wolfSSL/wolfcrypt/src/misc.c|Third_Party/wolfSSL/wrapper|Third_Party/wolfSSL/support|Third_Party/wolfSSL/sslSniffer|Third_Party/wolfSSL/scripts|Third_Party/wolfSSL/rpm|Third_Party/wolfSSL/mcapi|Third_Party/wolfSSL/m4|Third_Party/wolfSSL/lib|Third_Party/wolfSSL/IPP|Third_Party/wolfSSL/examples|Third_Party/wolfSSL/doc|Third_Party/wolfSSL/cyassl|Third_Party/wolfSSL/ctaocrypt|Third_Party/wolfSSL/certs|Third_Party/wolfSSL/build-aux|Third_Party/wolfSSL/autom4te.cache|Third_Party/wolfSSL/IDE|Third_Party/wolfSSL/mplabx|Third_Party/wolfSSL/mqx|Third_Party/wolfSSL/swig|Third_Party/wolfSSL/tests|Third_Party/wolfSSL/testsuite|Third_Party/wolfSSL/tirtos|Third_Party/wolfSSL/wolfcrypt/src/aes_asm.s|Third_Party/wolfSSL/wolfcrypt/src/aes_asm.asm|Third_Party/wolfSSL/wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="wolfSTM32.fr.ac6.managedbuild.target.gnu.cross.exe.1782078835" name="Executable" projectType="fr.ac6.managedbuild.target.gnu.cross.exe"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738;fr.ac6.managedbuild.config.gnu.cross.exe.debug.333134738.;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.758134809;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1396985810">
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<!--scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.release.$(RELEASE_CONFIG_UID);fr.ac6.managedbuild.config.gnu.cross.exe.release.$(RELEASE_CONFIG_UID).;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.$(RELEASE_TOOL_COMPILER_UID);cdt.managedbuild.tool.gnu.c.compiler.input.$(RELEASE_TOOL_COMPILER_INPUT_UID)">
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo-->
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/wolfSTM32"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cproject>
|
||||
2444
IDE/OPENSTM32/.project
Normal file
2444
IDE/OPENSTM32/.project
Normal file
File diff suppressed because it is too large
Load Diff
105
IDE/OPENSTM32/Inc/lwipopts.h
Normal file
105
IDE/OPENSTM32/Inc/lwipopts.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/* Define to prevent recursive inclusion --------------------------------------*/
|
||||
#ifndef __LWIPOPTS__H__
|
||||
#define __LWIPOPTS__H__
|
||||
|
||||
#include "stm32f4xx_hal.h"
|
||||
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
/* Current version of LwIP supported by CubeMx: 1.5.0_RC0_20160211 -*/
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/* Within 'USER CODE' section, code will be kept by default at each generation */
|
||||
/* USER CODE BEGIN 0 */
|
||||
|
||||
/* USER CODE END 0 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* STM32CubeMX Specific Parameters (not defined in opt.h) ---------------------*/
|
||||
/* Parameters set in STM32CubeMX LwIP Configuration GUI -*/
|
||||
/*----- WITH_RTOS enabled (Since FREERTOS is set) -----*/
|
||||
#define WITH_RTOS 1
|
||||
/*----- CHECKSUM_BY_HARDWARE disabled -----*/
|
||||
#define CHECKSUM_BY_HARDWARE 0
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/* LwIP Stack Parameters (modified compared to initialization value in opt.h) -*/
|
||||
/* Parameters set in STM32CubeMX LwIP Configuration GUI -*/
|
||||
/*----- Value in opt.h for LWIP_DHCP: 0 -----*/
|
||||
#define LWIP_DHCP 1
|
||||
/*----- Value in opt.h for MEM_ALIGNMENT: 1 -----*/
|
||||
#define MEM_ALIGNMENT 4
|
||||
/*----- Value in opt.h for MEMP_NUM_SYS_TIMEOUT: (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0)) -*/
|
||||
//#define MEMP_NUM_SYS_TIMEOUT 5
|
||||
/*----- Value in opt.h for LWIP_ETHERNET: LWIP_ARP || PPPOE_SUPPORT -*/
|
||||
#define LWIP_ETHERNET 1
|
||||
/*----- Value in opt.h for LWIP_DNS_SECURE: (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT) -*/
|
||||
#define LWIP_DNS_SECURE 7
|
||||
/*----- Value in opt.h for TCP_SND_QUEUELEN: (4*TCP_SND_BUF + (TCP_MSS - 1))/TCP_MSS -----*/
|
||||
#define TCP_SND_QUEUELEN 9
|
||||
/*----- Value in opt.h for TCP_SNDLOWAT: LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) -*/
|
||||
#define TCP_SNDLOWAT 1071
|
||||
/*----- Value in opt.h for TCP_SNDQUEUELOWAT: LWIP_MAX(TCP_SND_QUEUELEN)/2, 5) -*/
|
||||
#define TCP_SNDQUEUELOWAT 5
|
||||
/*----- Value in opt.h for TCP_WND_UPDATE_THRESHOLD: LWIP_MIN(TCP_WND/4, TCP_MSS*4) -----*/
|
||||
#define TCP_WND_UPDATE_THRESHOLD 536
|
||||
/*----- Value in opt.h for TCPIP_THREAD_STACKSIZE: 0 -----*/
|
||||
#define TCPIP_THREAD_STACKSIZE 1024
|
||||
/*----- Value in opt.h for TCPIP_THREAD_PRIO: 1 -----*/
|
||||
#define TCPIP_THREAD_PRIO 3
|
||||
/*----- Value in opt.h for SLIPIF_THREAD_STACKSIZE: 0 -----*/
|
||||
#define SLIPIF_THREAD_STACKSIZE 1024
|
||||
/*----- Value in opt.h for SLIPIF_THREAD_PRIO: 1 -----*/
|
||||
#define SLIPIF_THREAD_PRIO 3
|
||||
/*----- Value in opt.h for DEFAULT_THREAD_STACKSIZE: 0 -----*/
|
||||
#define DEFAULT_THREAD_STACKSIZE 1024
|
||||
/*----- Value in opt.h for DEFAULT_THREAD_PRIO: 1 -----*/
|
||||
#define DEFAULT_THREAD_PRIO 3
|
||||
/*----- Value in opt.h for LWIP_STATS: 1 -----*/
|
||||
#define LWIP_STATS 0
|
||||
/*----- Value in opt.h for CHECKSUM_GEN_IP: 1 -----*/
|
||||
#define CHECKSUM_GEN_IP 0
|
||||
/*----- Value in opt.h for CHECKSUM_GEN_UDP: 1 -----*/
|
||||
#define CHECKSUM_GEN_UDP 0
|
||||
/*----- Value in opt.h for CHECKSUM_GEN_TCP: 1 -----*/
|
||||
#define CHECKSUM_GEN_TCP 0
|
||||
/*----- Value in opt.h for CHECKSUM_GEN_ICMP: 1 -----*/
|
||||
#define CHECKSUM_GEN_ICMP 0
|
||||
/*----- Value in opt.h for CHECKSUM_GEN_ICMP6: 1 -----*/
|
||||
#define CHECKSUM_GEN_ICMP6 0
|
||||
/*----- Value in opt.h for CHECKSUM_CHECK_IP: 1 -----*/
|
||||
#define CHECKSUM_CHECK_IP 0
|
||||
/*----- Value in opt.h for CHECKSUM_CHECK_UDP: 1 -----*/
|
||||
#define CHECKSUM_CHECK_UDP 0
|
||||
/*----- Value in opt.h for CHECKSUM_CHECK_TCP: 1 -----*/
|
||||
#define CHECKSUM_CHECK_TCP 0
|
||||
/*----- Value in opt.h for CHECKSUM_CHECK_ICMP: 1 -----*/
|
||||
#define CHECKSUM_CHECK_ICMP 0
|
||||
/*----- Value in opt.h for CHECKSUM_CHECK_ICMP6: 1 -----*/
|
||||
#define CHECKSUM_CHECK_ICMP6 0
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/* Parameter(s) not set in STM32CubeMX LwIP Configuration GUI -*/
|
||||
/* LwIP Parameter(s) not in opt.h -----------------------------*/
|
||||
#define LWIP_PROVIDE_ERRNO 1
|
||||
|
||||
|
||||
#define LWIP_TIMEVAL_PRIVATE 0
|
||||
|
||||
#define LWIP_DEBUG 1
|
||||
|
||||
#define LWIP_DNS 1
|
||||
#define LWIP_SOCKET 1
|
||||
#define LWIP_RAW 1
|
||||
#define LWIP_NETCONN 1
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /*__LWIPOPTS__H_H */
|
||||
409
IDE/OPENSTM32/Inc/user_settings.h
Normal file
409
IDE/OPENSTM32/Inc/user_settings.h
Normal file
@@ -0,0 +1,409 @@
|
||||
/* Example wolfSSL user settings for STM32F4 with CubeMX */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
#undef SINGLE_THREADED
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#undef WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
#undef WOLFSSL_STM32F4
|
||||
#define WOLFSSL_STM32F4
|
||||
|
||||
#undef WOLFSSL_STM32_CUBEMX
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
|
||||
/* Optionally Disable Hardware Hashing Support */
|
||||
//#define NO_STM32_HASH
|
||||
//#define NO_STM32_RNG
|
||||
//#define NO_STM32_CRYPTO
|
||||
|
||||
#undef FREERTOS
|
||||
//#define FREERTOS
|
||||
|
||||
#undef WOLFSSL_LWIP
|
||||
//#define WOLFSSL_LWIP
|
||||
|
||||
#define HAVE_LWIP_NATIVE
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef USE_FAST_MATH
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#ifdef USE_FAST_MATH
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
#undef TFM_NO_ASM
|
||||
//#define TFM_NO_ASM
|
||||
|
||||
/* Optimizations (TFM_ARM, TFM_ASM or none) */
|
||||
//#define TFM_ASM
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Crypto */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* ECC */
|
||||
#if 1
|
||||
#undef HAVE_ECC
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
||||
//#define HAVE_ECC192
|
||||
//#define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
//#define HAVE_ECC384
|
||||
//#define HAVE_ECC521
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
#ifdef USE_FAST_MATH
|
||||
/* use reduced size math buffers for ecc points */
|
||||
#undef ALT_ECC_SIZE
|
||||
#define ALT_ECC_SIZE
|
||||
|
||||
/* optionally override the default max ecc bits */
|
||||
//#undef FP_MAX_BITS_ECC
|
||||
//#define FP_MAX_BITS_ECC 512
|
||||
|
||||
/* Enable TFM optimizations for ECC */
|
||||
//#define TFM_ECC192
|
||||
//#define TFM_ECC224
|
||||
//#define TFM_ECC256
|
||||
//#define TFM_ECC384
|
||||
//#define TFM_ECC521
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* RSA */
|
||||
#undef NO_RSA
|
||||
#if 1
|
||||
#ifdef USE_FAST_MATH
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 4096
|
||||
#endif
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
#ifdef HAVE_AESGCM
|
||||
/* GCM with hardware acceleration requires AES counter/direct for unaligned sizes */
|
||||
#undef WOLFSSL_AES_COUNTER
|
||||
#define WOLFSSL_AES_COUNTER
|
||||
|
||||
#undef WOLFSSL_AES_DIRECT
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
|
||||
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
|
||||
#undef GCM_SMALL
|
||||
#define GCM_SMALL
|
||||
#else
|
||||
#define NO_AES
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 0
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 0
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 0
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
#if 1
|
||||
#define WOLFSSL_SHA224
|
||||
#endif
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 1
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
//#define USE_SLOW_SHA2
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 1
|
||||
/* enabled */
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* HW Crypto Acceleration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
// See settings.h STM32F4 section
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_DEBUG
|
||||
//#define WOLFSSL_DEBUG
|
||||
|
||||
#ifdef WOLFSSL_DEBUG
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 0
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
#define WOLFSSL_TRACK_MEMORY
|
||||
#endif
|
||||
#else
|
||||
#undef NO_WOLFSSL_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
|
||||
#undef NO_ERROR_STRINGS
|
||||
//#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Size of returned HW RNG value */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
|
||||
#define NO_OLD_RNGNAME
|
||||
|
||||
/* Choose RNG method */
|
||||
#if 1
|
||||
/* Use built-in P-RNG (SHA256 based) with HW RNG */
|
||||
/* P-RNG + HW RNG (P-RNG is ~8K) */
|
||||
#undef HAVE_HASHDRBG
|
||||
#define HAVE_HASHDRBG
|
||||
|
||||
#if 0
|
||||
extern unsigned int custom_rand_generate(void);
|
||||
#undef CUSTOM_RAND_GENERATE
|
||||
#define CUSTOM_RAND_GENERATE custom_rand_generate
|
||||
#endif
|
||||
#else
|
||||
/* Bypass P-RNG and use only HW RNG */
|
||||
extern int custom_rand_generate_block(unsigned char* output, unsigned int sz);
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK custom_rand_generate_block
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
//#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_DH
|
||||
#define NO_DH
|
||||
|
||||
#undef NO_DES3
|
||||
#define NO_DES3
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_HC128
|
||||
#define NO_HC128
|
||||
|
||||
#undef NO_RABBIT
|
||||
#define NO_RABBIT
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
#define NO_CODING
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
14
IDE/OPENSTM32/Inc/wolfssl_example.h
Normal file
14
IDE/OPENSTM32/Inc/wolfssl_example.h
Normal file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* wolfssl_example.h
|
||||
*
|
||||
* Created on: Oct 3, 2016
|
||||
* Author: davidgarske
|
||||
*/
|
||||
|
||||
#ifndef WOLFSSL_EXAMPLE_H_
|
||||
#define WOLFSSL_EXAMPLE_H_
|
||||
|
||||
void wolfCryptDemo(void const * argument);
|
||||
|
||||
|
||||
#endif /* WOLFSSL_EXAMPLE_H_ */
|
||||
27
IDE/OPENSTM32/README.md
Normal file
27
IDE/OPENSTM32/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# wolfSSL STM32F2/F4 Example for Open STM32 Tools System Workbench
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
* STM32CubeMX: STM32 CubeMX HAL code generation tool - [http://www.st.com/en/development-tools/stm32cubemx.html](http://www.st.com/en/development-tools/stm32cubemx.html)
|
||||
* SystemWorkbench for STM32 - [http://www.st.com/en/development-tools/sw4stm32.html](http://www.st.com/en/development-tools/sw4stm32.html)
|
||||
|
||||
## Setup
|
||||
|
||||
1. Using the STM32CubeMX tool, load the `<wolfssl-root>/IDE/OPENSTM32/wolfSTM32.ino` file.
|
||||
2. Adjust the HAL options based on your specific micro-controller.
|
||||
3. Generate source code.
|
||||
4. Run `SystemWorkbench` and choose a new workspace location for this project.
|
||||
5. Import `wolfSTM32' project from `<wolfssl-root>/IDE/OPENSTM32/`.
|
||||
6. Adjust the micro-controller define in `Project Settings -> C/C++ General -> Paths and Symbols -> Symbols -> GNU C`. Example uses `STM32F437xx`, but should be changed to reflect your micro-controller type.
|
||||
7. Build and Run
|
||||
|
||||
Note: You may need to manually copy over the CubeMX HAL files for `stm32f4xx_hal_cryp.c`, `stm32f4xx_hal_cryp_ex.c`, `stm32f4xx_hal_cryp.h`, `stm32f4xx_hal_cryp_ex.h`. Also uncomment the `#define HAL_CRYP_MODULE_ENABLED` line in `stm32f4xx_hal_conf.h`.
|
||||
|
||||
## Configuration
|
||||
|
||||
The settings for the wolfSTM32 project are located in `<wolfssl-root>/IDE/OPENSTM32/Inc/user_settings.h`.
|
||||
|
||||
## Support
|
||||
|
||||
For questions please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
384
IDE/OPENSTM32/Src/main.c
Normal file
384
IDE/OPENSTM32/Src/main.c
Normal file
@@ -0,0 +1,384 @@
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "stm32f4xx.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "lwip.h"
|
||||
#include "wolfssl_example.h"
|
||||
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
CRC_HandleTypeDef hcrc;
|
||||
|
||||
RNG_HandleTypeDef hrng;
|
||||
|
||||
RTC_HandleTypeDef hrtc;
|
||||
|
||||
UART_HandleTypeDef huart4;
|
||||
|
||||
osThreadId defaultTaskHandle;
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
|
||||
/* USER CODE END PV */
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void SystemClock_Config(void);
|
||||
void Error_Handler(void);
|
||||
static void MX_GPIO_Init(void);
|
||||
static void MX_CRC_Init(void);
|
||||
static void MX_RNG_Init(void);
|
||||
static void MX_UART4_Init(void);
|
||||
static void MX_RTC_Init(void);
|
||||
|
||||
/* USER CODE BEGIN PFP */
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
|
||||
/* USER CODE END PFP */
|
||||
|
||||
/* USER CODE BEGIN 0 */
|
||||
|
||||
/* USER CODE END 0 */
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
||||
/* MCU Configuration----------------------------------------------------------*/
|
||||
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||
HAL_Init();
|
||||
|
||||
/* Configure the system clock */
|
||||
SystemClock_Config();
|
||||
|
||||
/* Initialize all configured peripherals */
|
||||
MX_GPIO_Init();
|
||||
MX_CRC_Init();
|
||||
MX_RNG_Init();
|
||||
MX_UART4_Init();
|
||||
MX_RTC_Init();
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* USER CODE BEGIN RTOS_MUTEX */
|
||||
/* add mutexes, ... */
|
||||
/* USER CODE END RTOS_MUTEX */
|
||||
|
||||
/* USER CODE BEGIN RTOS_SEMAPHORES */
|
||||
/* add semaphores, ... */
|
||||
/* USER CODE END RTOS_SEMAPHORES */
|
||||
|
||||
/* USER CODE BEGIN RTOS_TIMERS */
|
||||
/* start timers, add new ones, ... */
|
||||
/* USER CODE END RTOS_TIMERS */
|
||||
|
||||
/* Create the thread(s) */
|
||||
/* definition and creation of defaultTask */
|
||||
osThreadDef(defaultTask, wolfCryptDemo, osPriorityNormal, 0, 24000);
|
||||
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
|
||||
|
||||
/* USER CODE BEGIN RTOS_THREADS */
|
||||
/* add threads, ... */
|
||||
/* USER CODE END RTOS_THREADS */
|
||||
|
||||
/* USER CODE BEGIN RTOS_QUEUES */
|
||||
/* add queues, ... */
|
||||
/* USER CODE END RTOS_QUEUES */
|
||||
|
||||
|
||||
/* Start scheduler */
|
||||
osKernelStart();
|
||||
|
||||
/* We should never get here as control is now taken by the scheduler */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
|
||||
}
|
||||
|
||||
/** System Clock Configuration
|
||||
*/
|
||||
#define SysTick_IRQn -1
|
||||
|
||||
void SystemClock_Config(void)
|
||||
{
|
||||
|
||||
RCC_OscInitTypeDef RCC_OscInitStruct;
|
||||
RCC_ClkInitTypeDef RCC_ClkInitStruct;
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;
|
||||
|
||||
__HAL_RCC_PWR_CLK_ENABLE();
|
||||
|
||||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
|
||||
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||
RCC_OscInitStruct.PLL.PLLM = 15;
|
||||
RCC_OscInitStruct.PLL.PLLN = 144;
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||
RCC_OscInitStruct.PLL.PLLQ = 5;
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
|
||||
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
|
||||
|
||||
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
|
||||
|
||||
/* SysTick_IRQn interrupt configuration */
|
||||
HAL_NVIC_SetPriority(SysTick_IRQn, 15, 0);
|
||||
}
|
||||
|
||||
/* CRC init function */
|
||||
static void MX_CRC_Init(void)
|
||||
{
|
||||
|
||||
hcrc.Instance = CRC;
|
||||
if (HAL_CRC_Init(&hcrc) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* RNG init function */
|
||||
static void MX_RNG_Init(void)
|
||||
{
|
||||
|
||||
hrng.Instance = RNG;
|
||||
if (HAL_RNG_Init(&hrng) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* RTC init function */
|
||||
#define RTC_ASYNCH_PREDIV 0x7F /* LSE as RTC clock */
|
||||
#define RTC_SYNCH_PREDIV 0x00FF /* LSE as RTC clock */
|
||||
static void MX_RTC_Init(void)
|
||||
{
|
||||
|
||||
RTC_TimeTypeDef sTime;
|
||||
RTC_DateTypeDef sDate;
|
||||
|
||||
/**Initialize RTC and set the Time and Date
|
||||
*/
|
||||
hrtc.Instance = RTC;
|
||||
hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
|
||||
hrtc.Init.AsynchPrediv = RTC_ASYNCH_PREDIV;
|
||||
hrtc.Init.SynchPrediv = RTC_SYNCH_PREDIV;
|
||||
hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
|
||||
hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
|
||||
hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
|
||||
if (HAL_RTC_Init(&hrtc) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
sTime.Hours = 0x0;
|
||||
sTime.Minutes = 0x0;
|
||||
sTime.Seconds = 0x0;
|
||||
sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
|
||||
sTime.StoreOperation = RTC_STOREOPERATION_RESET;
|
||||
if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
sDate.WeekDay = RTC_WEEKDAY_MONDAY;
|
||||
sDate.Month = RTC_MONTH_JANUARY;
|
||||
sDate.Date = 0x1;
|
||||
sDate.Year = 0x0;
|
||||
|
||||
if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/**Enable the TimeStamp
|
||||
*/
|
||||
if (HAL_RTCEx_SetTimeStamp(&hrtc, RTC_TIMESTAMPEDGE_RISING, RTC_TIMESTAMPPIN_DEFAULT) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/**Enable the reference Clock input
|
||||
*/
|
||||
if (HAL_RTCEx_SetRefClock(&hrtc) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* UART4 init function */
|
||||
static void MX_UART4_Init(void)
|
||||
{
|
||||
|
||||
huart4.Instance = UART4;
|
||||
huart4.Init.BaudRate = 115200;
|
||||
huart4.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart4.Init.StopBits = UART_STOPBITS_1;
|
||||
huart4.Init.Parity = UART_PARITY_NONE;
|
||||
huart4.Init.Mode = UART_MODE_TX_RX;
|
||||
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
// Turn off buffers, so I/O occurs immediately
|
||||
setvbuf(stdin, NULL, _IONBF, 0);
|
||||
setvbuf(stdout, NULL, _IONBF, 0);
|
||||
setvbuf(stderr, NULL, _IONBF, 0);
|
||||
}
|
||||
|
||||
int _write (int fd, char *ptr, int len)
|
||||
{
|
||||
(void)fd;
|
||||
|
||||
/* Write "len" of char from "ptr" to file id "fd"
|
||||
* Return number of char written.
|
||||
* Need implementing with UART here. */
|
||||
HAL_UART_Transmit(&huart4, (uint8_t *)ptr, len, 0xFFFF);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
int _read (int fd, char *ptr, int len)
|
||||
{
|
||||
/* Read "len" of char to "ptr" from file id "fd"
|
||||
* Return number of char read.
|
||||
* Need implementing with UART here. */
|
||||
(void)fd;
|
||||
|
||||
return HAL_UART_Receive(&huart4, (uint8_t*)ptr, len, 0xFFFF);
|
||||
}
|
||||
|
||||
void _ttywrch(int ch) {
|
||||
/* Write one char "ch" to the default console
|
||||
* Need implementing with UART here. */
|
||||
_write(0, (char*)&ch, 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** Configure pins as
|
||||
* Analog
|
||||
* Input
|
||||
* Output
|
||||
* EVENT_OUT
|
||||
* EXTI
|
||||
*/
|
||||
static void MX_GPIO_Init(void)
|
||||
{
|
||||
|
||||
/* GPIO Ports Clock Enable */
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/**
|
||||
* @brief Period elapsed callback in non blocking mode
|
||||
* @note This function is called when TIM1 interrupt took place, inside
|
||||
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
|
||||
* a global variable "uwTick" used as application time base.
|
||||
* @param htim : TIM handle
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
/* USER CODE BEGIN Callback 0 */
|
||||
|
||||
/* USER CODE END Callback 0 */
|
||||
if (htim->Instance == TIM1) {
|
||||
HAL_IncTick();
|
||||
}
|
||||
/* USER CODE BEGIN Callback 1 */
|
||||
|
||||
/* USER CODE END Callback 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function is executed in case of error occurrence.
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
void Error_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN Error_Handler */
|
||||
/* User can add his own implementation to report the HAL error return state */
|
||||
while(1)
|
||||
{
|
||||
}
|
||||
/* USER CODE END Error_Handler */
|
||||
}
|
||||
|
||||
#ifdef USE_FULL_ASSERT
|
||||
|
||||
/**
|
||||
* @brief Reports the name of the source file and the source line number
|
||||
* where the assert_param error has occurred.
|
||||
* @param file: pointer to the source file name
|
||||
* @param line: assert_param error line source number
|
||||
* @retval None
|
||||
*/
|
||||
void assert_failed(uint8_t* file, uint32_t line)
|
||||
{
|
||||
/* USER CODE BEGIN 6 */
|
||||
/* User can add his own implementation to report the file name and line number,
|
||||
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
|
||||
/* USER CODE END 6 */
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
101
IDE/OPENSTM32/Src/wolfssl_example.c
Normal file
101
IDE/OPENSTM32/Src/wolfssl_example.c
Normal file
@@ -0,0 +1,101 @@
|
||||
#include <string.h>
|
||||
#include "stm32f4xx_hal.h"
|
||||
#include "cmsis_os.h"
|
||||
#include "lwip.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Private types/enumerations/variables
|
||||
****************************************************************************/
|
||||
|
||||
/* UART definitions */
|
||||
extern UART_HandleTypeDef huart4;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Public types/enumerations/variables
|
||||
****************************************************************************/
|
||||
typedef struct func_args {
|
||||
int argc;
|
||||
char** argv;
|
||||
int return_code;
|
||||
} func_args;
|
||||
|
||||
const char menu1[] = "\r\n"
|
||||
"\tt. WolfSSL Test\r\n"
|
||||
"\tb. WolfSSL Benchmark\r\n";
|
||||
|
||||
/*****************************************************************************
|
||||
* Private functions
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Public functions
|
||||
****************************************************************************/
|
||||
void wolfCryptDemo(void const * argument)
|
||||
{
|
||||
uint8_t buffer[1] = {'t'};
|
||||
func_args args;
|
||||
|
||||
/* init code for LWIP */
|
||||
MX_LWIP_Init();
|
||||
|
||||
while (1) {
|
||||
printf("\r\n\t\t\t\tMENU\r\n");
|
||||
printf(menu1);
|
||||
printf("Please select one of the above options: ");
|
||||
|
||||
HAL_UART_Receive(&huart4, buffer, sizeof(buffer), 1000);
|
||||
|
||||
switch (buffer[0]) {
|
||||
|
||||
case 't':
|
||||
memset(&args, 0, sizeof(args));
|
||||
printf("\nCrypt Test\n");
|
||||
wolfcrypt_test(&args);
|
||||
printf("Crypt Test: Return code %d\n", args.return_code);
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
memset(&args, 0, sizeof(args));
|
||||
printf("\nBenchmark Test\n");
|
||||
benchmark_test(&args);
|
||||
printf("Benchmark Test: Return code %d\n", args.return_code);
|
||||
break;
|
||||
|
||||
// All other cases go here
|
||||
default: printf("\r\nSelection out of range\r\n"); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern RTC_HandleTypeDef hrtc;
|
||||
double current_time()
|
||||
{
|
||||
RTC_TimeTypeDef time;
|
||||
RTC_DateTypeDef date;
|
||||
uint32_t subsec;
|
||||
|
||||
/* must get time and date here due to STM32 HW bug */
|
||||
HAL_RTC_GetTime(&hrtc, &time, FORMAT_BIN);
|
||||
HAL_RTC_GetDate(&hrtc, &date, FORMAT_BIN);
|
||||
subsec = (255 - time.SubSeconds) * 1000 / 255;
|
||||
|
||||
(void)date;
|
||||
|
||||
/* return seconds.milliseconds */
|
||||
return ((double)time.Hours * 24) +
|
||||
((double)time.Minutes * 60) +
|
||||
(double)time.Seconds +
|
||||
((double)subsec/1000);
|
||||
}
|
||||
15
IDE/OPENSTM32/include.am
Normal file
15
IDE/OPENSTM32/include.am
Normal file
@@ -0,0 +1,15 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/OPENSTM32/README.md
|
||||
EXTRA_DIST+= IDE/OPENSTM32/.cproject
|
||||
EXTRA_DIST+= IDE/OPENSTM32/.project
|
||||
EXTRA_DIST+= IDE/OPENSTM32/wolfSTM32.cfg
|
||||
EXTRA_DIST+= IDE/OPENSTM32/wolfSTM32.ioc
|
||||
EXTRA_DIST+= IDE/OPENSTM32/wolfSTM32.xml
|
||||
EXTRA_DIST+= IDE/OPENSTM32/Src/main.c
|
||||
EXTRA_DIST+= IDE/OPENSTM32/Src/wolfssl_example.c
|
||||
EXTRA_DIST+= IDE/OPENSTM32/Inc/user_settings.h
|
||||
EXTRA_DIST+= IDE/OPENSTM32/Inc/wolfssl_example.h
|
||||
EXTRA_DIST+= IDE/OPENSTM32/Inc/lwipopts.h
|
||||
13
IDE/OPENSTM32/wolfSTM32.cfg
Normal file
13
IDE/OPENSTM32/wolfSTM32.cfg
Normal file
@@ -0,0 +1,13 @@
|
||||
# This is an wolfSTM32 board with a single STM32F437IIHx chip.
|
||||
# Generated by System Workbench for STM32
|
||||
|
||||
source [find interface/stlink-v2-1.cfg]
|
||||
|
||||
set WORKAREASIZE 0x30000
|
||||
transport select "hla_jtag"
|
||||
set CPUTAPID 0x4ba00477
|
||||
|
||||
source [find target/stm32f4x_stlink.cfg]
|
||||
|
||||
# use hardware reset, connect under reset
|
||||
reset_config srst_only srst_nogate
|
||||
213
IDE/OPENSTM32/wolfSTM32.ioc
Normal file
213
IDE/OPENSTM32/wolfSTM32.ioc
Normal file
@@ -0,0 +1,213 @@
|
||||
#MicroXplorer Configuration settings - do not modify
|
||||
FREERTOS.IPParameters=Tasks01
|
||||
FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default
|
||||
File.Version=6
|
||||
KeepUserPlacement=false
|
||||
LWIP.Version=v1.5.0_RC0_20160211_Cube
|
||||
Mcu.Family=STM32F4
|
||||
Mcu.IP0=CRC
|
||||
Mcu.IP1=ETH
|
||||
Mcu.IP2=FREERTOS
|
||||
Mcu.IP3=LWIP
|
||||
Mcu.IP4=NVIC
|
||||
Mcu.IP5=RCC
|
||||
Mcu.IP6=RNG
|
||||
Mcu.IP7=RTC
|
||||
Mcu.IP8=SYS
|
||||
Mcu.IP9=UART4
|
||||
Mcu.IPNb=10
|
||||
Mcu.Name=STM32F437I(G-I)Hx
|
||||
Mcu.Package=UFBGA176
|
||||
Mcu.Pin0=PE2
|
||||
Mcu.Pin1=PG14
|
||||
Mcu.Pin10=PC10
|
||||
Mcu.Pin11=PC13
|
||||
Mcu.Pin12=PC14/OSC32_IN
|
||||
Mcu.Pin13=PC15/OSC32_OUT
|
||||
Mcu.Pin14=PH2
|
||||
Mcu.Pin15=PH0/OSC_IN
|
||||
Mcu.Pin16=PH3
|
||||
Mcu.Pin17=PH1/OSC_OUT
|
||||
Mcu.Pin18=PC1
|
||||
Mcu.Pin19=PC2
|
||||
Mcu.Pin2=PG13
|
||||
Mcu.Pin20=PC3
|
||||
Mcu.Pin21=PH6
|
||||
Mcu.Pin22=PA1
|
||||
Mcu.Pin23=PC4
|
||||
Mcu.Pin24=PH7
|
||||
Mcu.Pin25=PA2
|
||||
Mcu.Pin26=PC5
|
||||
Mcu.Pin27=PA7
|
||||
Mcu.Pin28=PB15
|
||||
Mcu.Pin29=VP_CRC_VS_CRC
|
||||
Mcu.Pin3=PB4
|
||||
Mcu.Pin30=VP_FREERTOS_VS_ENABLE
|
||||
Mcu.Pin31=VP_LWIP_VS_Enabled
|
||||
Mcu.Pin32=VP_RNG_VS_RNG
|
||||
Mcu.Pin33=VP_SYS_VS_tim1
|
||||
Mcu.Pin4=PB3
|
||||
Mcu.Pin5=PA15
|
||||
Mcu.Pin6=PA14
|
||||
Mcu.Pin7=PA13
|
||||
Mcu.Pin8=PG11
|
||||
Mcu.Pin9=PC11
|
||||
Mcu.PinsNb=34
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32F437IIHx
|
||||
MxCube.Version=4.16.1
|
||||
MxDb.Version=DB.4.0.161
|
||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.ETH_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true
|
||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
||||
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false
|
||||
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true
|
||||
NVIC.TIM1_UP_TIM10_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
NVIC.TimeBase=TIM1_UP_TIM10_IRQn
|
||||
NVIC.TimeBaseIP=TIM1
|
||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false
|
||||
PA1.Mode=MII
|
||||
PA1.Signal=ETH_RX_CLK
|
||||
PA13.Mode=JTAG_5_pins
|
||||
PA13.Signal=SYS_JTMS-SWDIO
|
||||
PA14.Mode=JTAG_5_pins
|
||||
PA14.Signal=SYS_JTCK-SWCLK
|
||||
PA15.Mode=JTAG_5_pins
|
||||
PA15.Signal=SYS_JTDI
|
||||
PA2.Mode=MII
|
||||
PA2.Signal=ETH_MDIO
|
||||
PA7.Mode=MII
|
||||
PA7.Signal=ETH_RX_DV
|
||||
PB15.Mode=Reference_Clock_Detection_Activate
|
||||
PB15.Signal=RTC_REFIN
|
||||
PB3.Mode=JTAG_5_pins
|
||||
PB3.Signal=SYS_JTDO-SWO
|
||||
PB4.Mode=JTAG_5_pins
|
||||
PB4.Signal=SYS_JTRST
|
||||
PC1.Mode=MII
|
||||
PC1.Signal=ETH_MDC
|
||||
PC10.Mode=Asynchronous
|
||||
PC10.Signal=UART4_TX
|
||||
PC11.Mode=Asynchronous
|
||||
PC11.Signal=UART4_RX
|
||||
PC13.Mode=Timestamp enabled - Input Enabled to AF1
|
||||
PC13.Signal=RTC_AF1
|
||||
PC14/OSC32_IN.Mode=LSE-External-Oscillator
|
||||
PC14/OSC32_IN.Signal=RCC_OSC32_IN
|
||||
PC15/OSC32_OUT.Mode=LSE-External-Oscillator
|
||||
PC15/OSC32_OUT.Signal=RCC_OSC32_OUT
|
||||
PC2.Mode=MII
|
||||
PC2.Signal=ETH_TXD2
|
||||
PC3.Mode=MII
|
||||
PC3.Signal=ETH_TX_CLK
|
||||
PC4.Mode=MII
|
||||
PC4.Signal=ETH_RXD0
|
||||
PC5.Mode=MII
|
||||
PC5.Signal=ETH_RXD1
|
||||
PCC.Checker=false
|
||||
PCC.Line=STM32F427/437
|
||||
PCC.MCU=STM32F437I(G-I)Hx
|
||||
PCC.MXVersion=4.16.1
|
||||
PCC.PartNumber=STM32F437IIHx
|
||||
PCC.Seq0=0
|
||||
PCC.Series=STM32F4
|
||||
PCC.Temperature=25
|
||||
PCC.Vdd=null
|
||||
PE2.Mode=MII
|
||||
PE2.Signal=ETH_TXD3
|
||||
PG11.Mode=MII
|
||||
PG11.Signal=ETH_TX_EN
|
||||
PG13.Mode=MII
|
||||
PG13.Signal=ETH_TXD0
|
||||
PG14.Mode=MII
|
||||
PG14.Signal=ETH_TXD1
|
||||
PH0/OSC_IN.Mode=HSE-External-Oscillator
|
||||
PH0/OSC_IN.Signal=RCC_OSC_IN
|
||||
PH1/OSC_OUT.Mode=HSE-External-Oscillator
|
||||
PH1/OSC_OUT.Signal=RCC_OSC_OUT
|
||||
PH2.Mode=MII
|
||||
PH2.Signal=ETH_CRS
|
||||
PH3.Mode=MII
|
||||
PH3.Signal=ETH_COL
|
||||
PH6.Mode=MII
|
||||
PH6.Signal=ETH_RXD2
|
||||
PH7.Mode=MII
|
||||
PH7.Signal=ETH_RXD3
|
||||
ProjectManager.AskForMigrate=true
|
||||
ProjectManager.BackupPrevious=false
|
||||
ProjectManager.CompilerOptimize=2
|
||||
ProjectManager.ComputerToolchain=false
|
||||
ProjectManager.CoupleFile=false
|
||||
ProjectManager.DeletePrevious=true
|
||||
ProjectManager.DeviceId=STM32F437IIHx
|
||||
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.13.0
|
||||
ProjectManager.FreePins=false
|
||||
ProjectManager.HalAssertFull=false
|
||||
ProjectManager.HeapSize=0x10000
|
||||
ProjectManager.KeepUserCode=true
|
||||
ProjectManager.LastFirmware=true
|
||||
ProjectManager.LibraryCopy=1
|
||||
ProjectManager.PreviousToolchain=SW4STM32
|
||||
ProjectManager.ProjectBuild=false
|
||||
ProjectManager.ProjectFileName=wolfSTM32.ioc
|
||||
ProjectManager.ProjectName=wolfSTM32
|
||||
ProjectManager.StackSize=0x4000
|
||||
ProjectManager.TargetToolchain=SW4STM32
|
||||
ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UnderRoot=true
|
||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false,2-MX_CRC_Init-CRC-false,3-MX_RNG_Init-RNG-false,4-MX_UART4_Init-UART4-false,5-MX_LWIP_Init-LWIP-false,6-MX_RTC_Init-RTC-false
|
||||
RCC.48MHZClocksFreq_Value=48000000
|
||||
RCC.AHBFreq_Value=120000000
|
||||
RCC.APB1CLKDivider=RCC_HCLK_DIV4
|
||||
RCC.APB1Freq_Value=30000000
|
||||
RCC.APB1TimFreq_Value=60000000
|
||||
RCC.APB2CLKDivider=RCC_HCLK_DIV2
|
||||
RCC.APB2Freq_Value=60000000
|
||||
RCC.APB2TimFreq_Value=120000000
|
||||
RCC.CortexFreq_Value=120000000
|
||||
RCC.EthernetFreq_Value=120000000
|
||||
RCC.FCLKCortexFreq_Value=120000000
|
||||
RCC.FamilyName=M
|
||||
RCC.HCLKFreq_Value=120000000
|
||||
RCC.HSE_VALUE=25000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2SClocksFreq_Value=160000000
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLSourceVirtual,RCC_RTC_Clock_Source,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VcooutputI2S,VcooutputI2SQ
|
||||
RCC.LSI_VALUE=32000
|
||||
RCC.MCO2PinFreq_Value=120000000
|
||||
RCC.PLLCLKFreq_Value=120000000
|
||||
RCC.PLLM=15
|
||||
RCC.PLLN=144
|
||||
RCC.PLLQ=5
|
||||
RCC.PLLQCLKFreq_Value=48000000
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
RCC.RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE
|
||||
RCC.RTCFreq_Value=32768
|
||||
RCC.RTCHSEDivFreq_Value=12500000
|
||||
RCC.SAI_AClocksFreq_Value=20416666.666666668
|
||||
RCC.SAI_BClocksFreq_Value=20416666.666666668
|
||||
RCC.SYSCLKFreq_VALUE=120000000
|
||||
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
|
||||
RCC.VCOI2SOutputFreq_Value=320000000
|
||||
RCC.VCOInputFreq_Value=1666666.6666666667
|
||||
RCC.VCOOutputFreq_Value=240000000
|
||||
RCC.VCOSAIOutputFreq_Value=81666666.66666667
|
||||
RCC.VCOSAIOutputFreq_ValueQ=20416666.666666668
|
||||
RCC.VcooutputI2S=160000000
|
||||
RCC.VcooutputI2SQ=160000000
|
||||
VP_CRC_VS_CRC.Mode=CRC_Activate
|
||||
VP_CRC_VS_CRC.Signal=CRC_VS_CRC
|
||||
VP_FREERTOS_VS_ENABLE.Mode=Enabled
|
||||
VP_FREERTOS_VS_ENABLE.Signal=FREERTOS_VS_ENABLE
|
||||
VP_LWIP_VS_Enabled.Mode=Enabled
|
||||
VP_LWIP_VS_Enabled.Signal=LWIP_VS_Enabled
|
||||
VP_RNG_VS_RNG.Mode=RNG_Activate
|
||||
VP_RNG_VS_RNG.Signal=RNG_VS_RNG
|
||||
VP_SYS_VS_tim1.Mode=TIM1
|
||||
VP_SYS_VS_tim1.Signal=SYS_VS_tim1
|
||||
board=wolfSTM32
|
||||
9
IDE/OPENSTM32/wolfSTM32.xml
Normal file
9
IDE/OPENSTM32/wolfSTM32.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<targetDefinitions xmlns="http://openstm32.org/stm32TargetDefinitions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openstm32.org/stm32TargetDefinitions stm32TargetDefinitions.xsd">
|
||||
<board id="wolfstm32">
|
||||
<name>wolfSTM32</name>
|
||||
<mcuId>stm32f437iihx</mcuId>
|
||||
<dbgIF>JTAG</dbgIF>
|
||||
<dbgDEV>ST-LinkV2-1</dbgDEV>
|
||||
</board>
|
||||
</targetDefinitions>
|
||||
@@ -1,6 +1,6 @@
|
||||
/* arm_startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -65,7 +65,7 @@ void reset_handler(void)
|
||||
memcpy32(__data_load_start__, __data_start__, __data_end__);
|
||||
meminit32(__bss_start__, __bss_end__);
|
||||
memcpy32(__fast_load_start__, __fast_start__, __fast_end__);
|
||||
|
||||
|
||||
// Init heap
|
||||
__heap_start__[0] = 0;
|
||||
__heap_start__[1] = ((uint32_t)__heap_end__ - (uint32_t)__heap_start__);
|
||||
@@ -120,8 +120,8 @@ void HardFault_HandlerC( uint32_t *hardfault_args )
|
||||
|
||||
// Configurable Fault Status Register
|
||||
// Consists of MMSR, BFSR and UFSR
|
||||
_CFSR = (*((volatile uint32_t *)(0xE000ED28)));
|
||||
|
||||
_CFSR = (*((volatile uint32_t *)(0xE000ED28)));
|
||||
|
||||
// Hard Fault Status Register
|
||||
_HFSR = (*((volatile uint32_t *)(0xE000ED2C)));
|
||||
|
||||
@@ -158,7 +158,7 @@ void HardFault_HandlerC( uint32_t *hardfault_args )
|
||||
__asm("BKPT #0\n");
|
||||
}
|
||||
|
||||
__attribute__( ( naked ) )
|
||||
__attribute__( ( naked ) )
|
||||
void HardFault_Handler(void)
|
||||
{
|
||||
__asm volatile
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -38,7 +38,7 @@ static func_args args = { 0 } ;
|
||||
|
||||
extern double current_time(int reset);
|
||||
|
||||
void main(void)
|
||||
void main(void)
|
||||
{
|
||||
int test_num = 0;
|
||||
|
||||
@@ -47,12 +47,12 @@ void main(void)
|
||||
printf("\nBenchmark Test %d:\n", test_num);
|
||||
benchmark_test(&args);
|
||||
printf("Benchmark Test %d: Return code %d\n", test_num, args.return_code);
|
||||
|
||||
|
||||
test_num++;
|
||||
} while(args.return_code == 0);
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
SAMPLE OUTPUT: Freescale K64 running at 96MHz with no MMCAU:
|
||||
Benchmark Test 0:
|
||||
AES 25 kB took 0.073 seconds, 0.334 MB/s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* kinetis_hw.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -100,9 +100,9 @@ static void hw_mcg_init(void)
|
||||
BOARD_BootClockHSRUN();
|
||||
#else
|
||||
/* Adjust clock dividers (core/system=div/1, bus=div/2, flex bus=div/2, flash=div/4) */
|
||||
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV1(SYS_CLK_DIV-1) | SIM_CLKDIV1_OUTDIV2(BUS_CLK_DIV-1) |
|
||||
SIM->CLKDIV1 = SIM_CLKDIV1_OUTDIV1(SYS_CLK_DIV-1) | SIM_CLKDIV1_OUTDIV2(BUS_CLK_DIV-1) |
|
||||
SIM_CLKDIV1_OUTDIV3(BUS_CLK_DIV-1) | SIM_CLKDIV1_OUTDIV4(FLASH_CLK_DIV-1);
|
||||
|
||||
|
||||
/* Configure FEI internal clock speed */
|
||||
MCG->C4 = (SYS_CLK_DMX | SYS_CLK_DRS);
|
||||
while((MCG->C4 & (MCG_C4_DRST_DRS_MASK | MCG_C4_DMX32_MASK)) != (SYS_CLK_DMX | SYS_CLK_DRS));
|
||||
@@ -146,7 +146,7 @@ static void hw_uart_init(void)
|
||||
/* Enable UART core clock */
|
||||
/* Note: Remember to update me if UART_PORT changes */
|
||||
SIM->SCGC1 |= SIM_SCGC1_UART4_MASK;
|
||||
|
||||
|
||||
/* Configure UART TX pin */
|
||||
UART_TX_PORT->PCR[UART_TX_PIN] = PORT_PCR_MUX(UART_TX_MUX);
|
||||
|
||||
@@ -155,17 +155,17 @@ static void hw_uart_init(void)
|
||||
|
||||
/* Configure the UART for 8-bit mode, no parity */
|
||||
UART_PORT->C1 = 0;
|
||||
|
||||
|
||||
/* Calculate baud settings */
|
||||
sbr = (uint16_t)((BUS_CLK_KHZ * 1000)/(UART_BAUD * 16));
|
||||
temp = UART_PORT->BDH & ~(UART_BDH_SBR(0x1F));
|
||||
UART_PORT->BDH = temp | UART_BDH_SBR(((sbr & 0x1F00) >> 8));
|
||||
UART_PORT->BDL = (uint8_t)(sbr & UART_BDL_SBR_MASK);
|
||||
|
||||
|
||||
/* Determine if a fractional divider is needed to get closer to the baud rate */
|
||||
brfa = (((BUS_CLK_KHZ * 32000)/(UART_BAUD * 16)) - (sbr * 32));
|
||||
temp = UART_PORT->C4 & ~(UART_C4_BRFA(0x1F));
|
||||
UART_PORT->C4 = temp | UART_C4_BRFA(brfa);
|
||||
UART_PORT->C4 = temp | UART_C4_BRFA(brfa);
|
||||
|
||||
/* Enable receiver and transmitter */
|
||||
UART_PORT->C2 |= (UART_C2_TE_MASK | UART_C2_RE_MASK);
|
||||
@@ -314,7 +314,7 @@ const struct flash_conf flash_conf __attribute__ ((section (".flashconf"),used))
|
||||
{
|
||||
.backdoor_key = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
.fprot = { 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
.fsec = NV_FSEC_SEC(FSEC_UNSECURE) | NV_FSEC_FSLACC(FSEC_FSLACC_GRANTED) |
|
||||
.fsec = NV_FSEC_SEC(FSEC_UNSECURE) | NV_FSEC_FSLACC(FSEC_FSLACC_GRANTED) |
|
||||
NV_FSEC_MEEN(FSEC_MASS_ERASE_ENABLE) | NV_FSEC_KEYEN(FSEC_KEY_DISABLED),
|
||||
.fopt = 0xFF,
|
||||
.feprot = 0xFF,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* retarget.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -29,6 +29,12 @@ void __assert(const char *__expression, const char *__filename, int __line)
|
||||
printf("Assert: %s, File %s (%d)\n", __expression, __filename, __line);
|
||||
}
|
||||
|
||||
unsigned long ksdk_time(unsigned long* timer)
|
||||
{
|
||||
(void)timer;
|
||||
return hw_get_time_sec();
|
||||
}
|
||||
|
||||
unsigned int LowResTimer(void)
|
||||
{
|
||||
return hw_get_time_sec();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2016 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -38,7 +38,7 @@ typedef struct func_args {
|
||||
static func_args args = { 0 } ;
|
||||
|
||||
|
||||
void main(void)
|
||||
void main(void)
|
||||
{
|
||||
int test_num = 0;
|
||||
|
||||
@@ -47,13 +47,13 @@ void main(void)
|
||||
printf("\nCrypt Test %d:\n", test_num);
|
||||
wolfcrypt_test(&args);
|
||||
printf("Crypt Test %d: Return code %d\n", test_num, args.return_code);
|
||||
|
||||
|
||||
test_num++;
|
||||
} while(args.return_code == 0);
|
||||
}
|
||||
|
||||
|
||||
/* SAMPLE OUTPUT:
|
||||
/* SAMPLE OUTPUT:
|
||||
Crypt Test 0:
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stddef.h> /* for size_t */
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
@@ -118,6 +120,11 @@ extern "C" {
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
@@ -270,6 +277,8 @@ extern "C" {
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define USER_TICKS
|
||||
extern unsigned long ksdk_time(unsigned long* timer);
|
||||
#define XTIME ksdk_time
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
<file file_name="../../src/crl.c" />
|
||||
<file file_name="../../src/include.am" />
|
||||
<file file_name="../../src/internal.c" />
|
||||
<file file_name="../../src/io.c" />
|
||||
<file file_name="../../src/wolfio.c" />
|
||||
<file file_name="../../src/keys.c" />
|
||||
<file file_name="../../src/libwolfssl.la" />
|
||||
<file file_name="../../src/ocsp.c" />
|
||||
|
||||
@@ -300,12 +300,26 @@
|
||||
recurse="Yes" />
|
||||
<file file_name="user_settings.h" />
|
||||
<file file_name="README.md" />
|
||||
<folder
|
||||
Name="source"
|
||||
exclude=""
|
||||
filter=""
|
||||
path="../../src"
|
||||
recurse="No" />
|
||||
<folder Name="source">
|
||||
<file file_name="../../src/bio.c">
|
||||
<configuration Name="ARM_Debug" build_exclude_from_build="Yes" />
|
||||
</file>
|
||||
<file file_name="../../src/crl.c" />
|
||||
<file file_name="../../src/include.am" />
|
||||
<file file_name="../../src/internal.c" />
|
||||
<file file_name="../../src/wolfio.c" />
|
||||
<file file_name="../../src/keys.c" />
|
||||
<file file_name="../../src/libwolfssl.la" />
|
||||
<file file_name="../../src/ocsp.c" />
|
||||
<file file_name="../../src/sniffer.c" />
|
||||
<file file_name="../../src/src_libwolfssl_la-internal.lo" />
|
||||
<file file_name="../../src/src_libwolfssl_la-io.lo" />
|
||||
<file file_name="../../src/src_libwolfssl_la-keys.lo" />
|
||||
<file file_name="../../src/src_libwolfssl_la-ssl.lo" />
|
||||
<file file_name="../../src/src_libwolfssl_la-tls.lo" />
|
||||
<file file_name="../../src/ssl.c" />
|
||||
<file file_name="../../src/tls.c" />
|
||||
</folder>
|
||||
</folder>
|
||||
</project>
|
||||
<project Name="test_ltc">
|
||||
|
||||
11
IDE/VS-ARM/README.md
Normal file
11
IDE/VS-ARM/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
VisualStudio for ARM build
|
||||
==========================
|
||||
|
||||
VS2017 now offers solution options for Android and iOS applications. It includes
|
||||
the GCC cross-compiler suite and property sheets for configuring a project
|
||||
for those platforms and libraries for cross-platform mobile application
|
||||
development.
|
||||
|
||||
The provided solution file will build wolfSSL for linking into an ARM based
|
||||
application, *libwolfssl.a*. The *user_settings.h* file enables some of the
|
||||
hardened settings and disables most uncommon ciphers.
|
||||
8
IDE/VS-ARM/include.am
Normal file
8
IDE/VS-ARM/include.am
Normal file
@@ -0,0 +1,8 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST+= IDE/VS-ARM/README.md
|
||||
EXTRA_DIST+= IDE/VS-ARM/wolfssl.sln
|
||||
EXTRA_DIST+= IDE/VS-ARM/wolfssl.vcxproj
|
||||
EXTRA_DIST+= IDE/VS-ARM/user_settings.h
|
||||
24
IDE/VS-ARM/user_settings.h
Normal file
24
IDE/VS-ARM/user_settings.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef _VSARM_USER_SETTINGS_H_
|
||||
#define _VSARM_USER_SETTINGS_H_
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_SHA512
|
||||
#define NO_PSK
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_AESGCM
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define NO_HC128
|
||||
#define NO_RC4
|
||||
#define NO_RABBIT
|
||||
#define NO_DSA
|
||||
#define NO_MD4
|
||||
#define HAVE_ECC
|
||||
#define HAVE_HASHDRBG
|
||||
|
||||
|
||||
#endif /* _VSARM_USER_SETTINGS_H_ */
|
||||
43
IDE/VS-ARM/wolfssl.sln
Normal file
43
IDE/VS-ARM/wolfssl.sln
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26730.16
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl", "wolfssl.vcxproj", "{39E7CF74-B491-4CC4-B600-95664A25CC80}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|x64.Build.0 = Debug|x64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Debug|x86.Build.0 = Debug|x86
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|ARM.Build.0 = Release|ARM
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|x64.ActiveCfg = Release|x64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|x64.Build.0 = Release|x64
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|x86.ActiveCfg = Release|x86
|
||||
{39E7CF74-B491-4CC4-B600-95664A25CC80}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E00DBEEF-9E96-4FEF-A0B9-F64C2CB1B4E0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
227
IDE/VS-ARM/wolfssl.vcxproj
Normal file
227
IDE/VS-ARM/wolfssl.vcxproj
Normal file
@@ -0,0 +1,227 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x86">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\crl.c" />
|
||||
<ClCompile Include="..\..\src\internal.c" />
|
||||
<ClCompile Include="..\..\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\src\keys.c" />
|
||||
<ClCompile Include="..\..\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\src\ssl.c" />
|
||||
<ClCompile Include="..\..\src\tls.c" />
|
||||
<ClCompile Include="..\..\src\tls13.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\error.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hc128.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\idea.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs12.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\pwdbased.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rabbit.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha3.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="user_settings.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{39e7cf74-b491-4cc4-b600-95664a25cc80}</ProjectGuid>
|
||||
<Keyword>Android</Keyword>
|
||||
<RootNamespace>wolfssl</RootNamespace>
|
||||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
<ApplicationType>Android</ApplicationType>
|
||||
<ApplicationTypeRevision>3.0</ApplicationTypeRevision>
|
||||
<ProjectName>wolfssl</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>Clang_3_8</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG_WOLFSSL;WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG_WOLFSSL;WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG_WOLFSSL;WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG_WOLFSSL;WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>.\;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
@@ -141,7 +141,7 @@
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<AdditionalDependencies>ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
@@ -162,6 +162,7 @@
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
@@ -200,7 +201,7 @@
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<AdditionalDependencies>ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
@@ -239,7 +240,7 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
@@ -273,4 +274,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -22,20 +22,25 @@
|
||||
#define NO_RABBIT
|
||||
#define NO_DSA
|
||||
#define NO_MD4
|
||||
#elif defined(WOLFSSL_LIB)
|
||||
/* The lib */
|
||||
#define OPENSSL_EXTRA
|
||||
#define WOLFSSL_RIPEMD
|
||||
#define WOLFSSL_SHA512
|
||||
#define NO_PSK
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
#define WOLFSSL_SNIFFER
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SECURE_RENEGOTIATION
|
||||
#else
|
||||
/* The servers and clients */
|
||||
#define OPENSSL_EXTRA
|
||||
#define NO_PSK
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#if defined(WOLFSSL_LIB)
|
||||
/* The lib */
|
||||
#define OPENSSL_EXTRA
|
||||
#define WOLFSSL_RIPEMD
|
||||
#define WOLFSSL_SHA512
|
||||
#define NO_PSK
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
#define WOLFSSL_SNIFFER
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SECURE_RENEGOTIATION
|
||||
#else
|
||||
/* The servers and clients */
|
||||
#define OPENSSL_EXTRA
|
||||
#define NO_PSK
|
||||
#endif
|
||||
#endif /* HAVE_FIPS */
|
||||
|
||||
#endif /* _WIN_USER_SETTINGS_H_ */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user