Compare commits
875 Commits
Author | SHA1 | Date |
---|---|---|
wowario | 589efde6b3 | 2 weeks ago |
jeffro256 | cb63c922f8 | 2 weeks ago |
jeffro256 | eeec04520d | 2 weeks ago |
selsta | 3605ec6419 | 2 weeks ago |
dsc | dad8e3cadd | 3 weeks ago |
wowario | c2d9ac9d16 | 3 weeks ago |
wowario | e707dafd04 | 3 weeks ago |
dsc | aa19aa8fc3 | 3 weeks ago |
dsc | 269fd51d34 | 3 weeks ago |
dsc | ea1ff89671 | 3 weeks ago |
wowario | a46db6fbf9 | 3 weeks ago |
wowario | 1fb180a69b | 3 weeks ago |
wowario | cf5bfd0cc4 | 3 weeks ago |
wowario | 6a5303f21b | 3 weeks ago |
wowario | 5a127e006e | 3 weeks ago |
wowario | 93e542dc55 | 3 weeks ago |
wowario | cae358334e | 3 weeks ago |
_XxFedexX_ | f0e9542c06 | 3 weeks ago |
wowario | 2f3f3b7a6e | 3 weeks ago |
wowario | b414a0659d | 3 weeks ago |
thotbot | 3f78176f3d | 3 weeks ago |
moneromooo-monero | f438928ed8 | 3 weeks ago |
wowario | b07e533a8f | 3 weeks ago |
hinto-janaiyo | 8ccfd46a41 | 3 weeks ago |
thotbot | e60954b619 | 3 weeks ago |
thotbot | 1ed861bff8 | 3 weeks ago |
thotbot | 8b467e98a4 | 3 weeks ago |
thotbot | 4f8ad5bfac | 3 weeks ago |
thotbot | 3234b5fe62 | 3 weeks ago |
thotbot | e6cc37e9b0 | 3 weeks ago |
thotbot | fcffffdd5d | 3 weeks ago |
wowario | 77ca74ba54 | 3 weeks ago |
wowario | 8d78cedaec | 3 weeks ago |
wowario | e8bec95650 | 3 weeks ago |
wowario | 36dc60fdfd | 3 weeks ago |
wowario | f742aed6a3 | 3 weeks ago |
wowario | b602ab02ee | 3 weeks ago |
wowario | f409249b78 | 3 weeks ago |
wowario | 0bb22452ac | 3 weeks ago |
wowario | 8337a81ef5 | 3 weeks ago |
wowario | 6ca2369b67 | 3 weeks ago |
wowario | 934cd71608 | 3 weeks ago |
wowario | b2906602a4 | 3 weeks ago |
wowario | df381eaa84 | 3 weeks ago |
wowario | 83a0e91e23 | 3 weeks ago |
wowario | 26d039db0a | 3 weeks ago |
wowario | 662a2993d3 | 3 weeks ago |
wowario | 65570252f2 | 3 weeks ago |
wowario | eff55d073c | 3 weeks ago |
wowario | d1441bc034 | 3 weeks ago |
wowario | 5e50141c4a | 3 weeks ago |
wowario | 8c081b4b02 | 3 weeks ago |
wowario | 917970cebf | 3 weeks ago |
wowario | c7190cdd0f | 3 weeks ago |
wowario | a177241046 | 3 weeks ago |
wowario | e224b4af93 | 3 weeks ago |
wowario | 0c4915d707 | 3 weeks ago |
wowario | ff34adf8b7 | 3 weeks ago |
wowario | 48841789cb | 3 weeks ago |
wowario | 2ddaa7835c | 3 weeks ago |
wowario | aa7564806d | 3 weeks ago |
wowario | a0a90ada1a | 3 weeks ago |
wowario | 7b9bfb73b1 | 3 weeks ago |
wowario | 642beba4af | 3 weeks ago |
wowario | cf8e878869 | 3 weeks ago |
wowario | 6afdd7894a | 3 weeks ago |
wowario | 7f01ebbf29 | 3 weeks ago |
wowario | 6fee906b1c | 3 weeks ago |
wowario | 0fd82de0be | 3 weeks ago |
wowario | 68f1f2b2c3 | 3 weeks ago |
wowario | ddf990f394 | 3 weeks ago |
wowario | 196a3756d6 | 3 weeks ago |
wowario | 4ed9b68d59 | 3 weeks ago |
wowario | 37195f2128 | 3 weeks ago |
wowario | e71bef4496 | 3 weeks ago |
wowario | a04690c66b | 3 weeks ago |
wowario | 9c3fb6c243 | 3 weeks ago |
wowario | 463de38ef5 | 3 weeks ago |
wowario | c474334f41 | 3 weeks ago |
wowario | ce3a67ed21 | 3 weeks ago |
wowario | fb39891031 | 3 weeks ago |
wowario | 1c44d89030 | 3 weeks ago |
wowario | da6a2dc2c5 | 3 weeks ago |
wowario | d6a3511d59 | 3 weeks ago |
wowario | 6b8e245aea | 3 weeks ago |
wowario | 917edfbec9 | 3 weeks ago |
wowario | 5964374c4b | 3 weeks ago |
wowario | a5d50332ca | 3 weeks ago |
wowario | 73f52ea6b9 | 3 weeks ago |
wowario | 1cae37348a | 3 weeks ago |
wowario | 2b78ff8117 | 3 weeks ago |
wowario | e5016a6f8e | 3 weeks ago |
wowario | a93dcc1962 | 3 weeks ago |
wowario | a25032cc1e | 3 weeks ago |
wowario | 2a4e1c6913 | 3 weeks ago |
wowario | 3271844ab5 | 3 weeks ago |
wowario | 7af83ced4c | 3 weeks ago |
luigi1111 | ef3e18b51b | 3 weeks ago |
SChernykh | b5b72ae05c | 3 weeks ago |
luigi1111 | 5eb3fc29bb | 3 weeks ago |
luigi1111 | c225a1f25b | 3 weeks ago |
luigi1111 | ff15cb2f04 | 3 weeks ago |
jeffro256 | eeb7c7c546 | 3 weeks ago |
SChernykh | 36ee12bd8d | 3 weeks ago |
selsta | 32b3a56313 | 3 weeks ago |
luigi1111 | b23116424d | 3 weeks ago |
jeffro256 | 7807f569e4 | 3 weeks ago |
luigi1111 | 68e40ea2a7 | 1 month ago |
luigi1111 | c6ff0d3820 | 1 month ago |
luigi1111 | 0d2f515ecc | 1 month ago |
luigi1111 | 522d82276e | 1 month ago |
luigi1111 | 4f6f6d9e27 | 1 month ago |
luigi1111 | 3872753202 | 1 month ago |
luigi1111 | 13ed9d501b | 1 month ago |
luigi1111 | b335433204 | 1 month ago |
luigi1111 | 8a1e49664e | 1 month ago |
luigi1111 | 2f912f8a58 | 1 month ago |
luigi1111 | 81f113dd8c | 1 month ago |
luigi1111 | f9a7f2a136 | 1 month ago |
selsta | c97c2ec01c | 1 month ago |
jeffro256 | 51d7a6921c | 1 month ago |
selsta | f2360a725e | 1 month ago |
selsta | 0cc8f7aaa3 | 1 month ago |
tobtoht | b987870553 | 1 month ago |
tobtoht | 3aabfcfce5 | 1 month ago |
tobtoht | 8322f9c4f5 | 1 month ago |
woodser | fbd0b19fc8 | 2 months ago |
jeffro256 | 33e3f72d24 | 2 months ago |
Lee *!* Clagett | 052df1b28c | 2 months ago |
Lee Clagett | 98ee46f249 | 2 months ago |
Lee *!* Clagett | f5b86342e8 | 2 months ago |
jeffro256 | dfb990e8bb | 2 months ago |
luigi1111 | 8eab181fe1 | 2 months ago |
luigi1111 | 9a70f43440 | 2 months ago |
Lee Clagett | 47d8899c90 | 4 months ago |
luigi1111 | c09062087e | 5 months ago |
luigi1111 | 9a5f8431b4 | 5 months ago |
luigi1111 | 79107ff68f | 5 months ago |
luigi1111 | 646c3fb0d9 | 5 months ago |
luigi1111 | c193c5e85d | 5 months ago |
luigi1111 | d5c667a5ad | 5 months ago |
luigi1111 | 2fe5a5e073 | 5 months ago |
luigi1111 | 95e4fc3602 | 5 months ago |
SChernykh | e7d51e5583 | 5 months ago |
Lee *!* Clagett | fe746dca4e | 5 months ago |
jeffro256 | fe47806afb | 5 months ago |
moneromooo-monero | 6c38c21dfd | 5 months ago |
Jeffrey Ryan | 5435202450 | 5 months ago |
luigi1111 | d9b765a3af | 5 months ago |
luigi1111 | 72d2a610cd | 5 months ago |
luigi1111 | 2e9542d01a | 5 months ago |
jeffro256 | 0f75585f64 | 5 months ago |
luigi1111 | eb4df0aa1c | 5 months ago |
jeffro256 | eae62a07e0 | 5 months ago |
jeffro256 | 14ae81246d | 5 months ago |
selsta | 5b0c27430f | 5 months ago |
tevador | 09a88cc00e | 5 months ago |
j-berman | bdebf680bd | 5 months ago |
jeffro256 | e0b2123c32 | 6 months ago |
luigi1111 | 2656cdf505 | 6 months ago |
luigi1111 | 1c12d305d6 | 6 months ago |
luigi1111 | 83d0d2338f | 6 months ago |
Boog900 | 69de381526 | 6 months ago |
Boog900 | 810f6a6cd2 | 6 months ago |
selsta | fbcd8da082 | 6 months ago |
selsta | 03d51b7cc4 | 6 months ago |
luigi1111 | f9b81a589e | 6 months ago |
luigi1111 | 41157dbc82 | 6 months ago |
j-berman | 9a89e2d9e4 | 6 months ago |
Crypto City | 1df5630f23 | 6 months ago |
selsta | 3f9140e754 | 6 months ago |
jeff | 205c80427b | 6 months ago |
tobtoht | 0c04018718 | 6 months ago |
luigi1111 | 533bbc3208 | 7 months ago |
luigi1111 | 6e7bd68b18 | 7 months ago |
luigi1111 | 031d318ca2 | 7 months ago |
luigi1111 | 61e664a258 | 7 months ago |
selsta | 64ed9385a2 | 7 months ago |
jeffro256 | ba98269ca5 | 7 months ago |
jeffro256 | 7dbb14b02a | 7 months ago |
moneromooo-monero | 356e6877dc | 7 months ago |
moneromooo-monero | 633e1b7359 | 7 months ago |
luigi1111 | eac1b86bb2 | 7 months ago |
luigi1111 | 3bebcc4a7d | 7 months ago |
luigi1111 | 9d5c5b5634 | 7 months ago |
luigi1111 | 894adef295 | 7 months ago |
luigi1111 | 6c7640eb74 | 7 months ago |
jeffro256 | 78348bcddd | 8 months ago |
j-berman | b51f4a9244 | 8 months ago |
jeffro256 | ed05ac6872 | 8 months ago |
j-berman | f137a35984 | 9 months ago |
rbrunner7 | 23f782b211 | 9 months ago |
luigi1111 | ab826008d6 | 9 months ago |
luigi1111 | 4dc727b3f6 | 9 months ago |
luigi1111 | 1eb1162923 | 9 months ago |
luigi1111 | 3be6c1389e | 9 months ago |
luigi1111 | 5a99b2dfbe | 9 months ago |
luigi1111 | bd962882d1 | 9 months ago |
luigi1111 | f173bf6e72 | 9 months ago |
luigi1111 | a41453c256 | 9 months ago |
jeffro256 | 842478c5a9 | 9 months ago |
luigi1111 | 17ea7665d7 | 9 months ago |
luigi1111 | 9f8ae9649a | 9 months ago |
luigi1111 | 11b5139506 | 9 months ago |
luigi1111 | 54f0f9eb96 | 9 months ago |
luigi1111 | 5c900bb69f | 9 months ago |
luigi1111 | 60e9426ef2 | 9 months ago |
Crypto City | 835896ea24 | 9 months ago |
Crypto City | 62bb95b25f | 9 months ago |
moneromooo-monero | 1924c170d4 | 9 months ago |
Lee *!* Clagett | aed36a25d6 | 10 months ago |
Lee Clagett | c6530d2f5d | 10 months ago |
jeffro256 | dc24312bc3 | 10 months ago |
j-berman | 438554e1ab | 10 months ago |
SChernykh | 26025cb294 | 10 months ago |
jeffro256 | cfc62277c0 | 10 months ago |
jeffro256 | aa139f0334 | 10 months ago |
tobtoht | a4a58eb886 | 10 months ago |
tobtoht | 8dc4abdafe | 10 months ago |
luigi1111 | 1ce32d8536 | 11 months ago |
Crypto City | 1fad8cc919 | 11 months ago |
tobtoht | f983ac7780 | 11 months ago |
SChernykh | 1d1d5fb74c | 11 months ago |
luigi1111 | 2f45d5c615 | 11 months ago |
luigi1111 | e06129bb4d | 1 year ago |
luigi1111 | a371e60a30 | 1 year ago |
luigi1111 | 2f62dd5b78 | 1 year ago |
jeffro256 | 059b975388 | 1 year ago |
SChernykh | c742fa4c6e | 1 year ago |
selsta | 4f1262bae9 | 1 year ago |
luigi1111 | 4f47fd2626 | 1 year ago |
Crypto City | 132804811d | 1 year ago |
luigi1111 | 25645e5d23 | 1 year ago |
luigi1111 | 0e2c2ddd9c | 1 year ago |
moneromooo-monero | c4cfaa4567 | 1 year ago |
moneromooo-monero | f0e326be58 | 1 year ago |
luigi1111 | 225e5ba571 | 1 year ago |
luigi1111 | 66f57299a2 | 1 year ago |
luigi1111 | d7821a02c4 | 1 year ago |
luigi1111 | b4519c6bbd | 1 year ago |
selsta | cdeb286359 | 1 year ago |
tevador | 5900ed3706 | 1 year ago |
Jeffrey Ryan | c59e0096b6 | 1 year ago |
Francois Beutin | 14de562a6f | 1 year ago |
j-berman | 65e13dbef1 | 1 year ago |
almalh | ad80f1b357 | 1 year ago |
selsta | 77d883e507 | 1 year ago |
luigi1111 | 99be9a044f | 1 year ago |
luigi1111 | 75bec6336a | 1 year ago |
luigi1111 | 68a73a2b4d | 1 year ago |
selsta | dc18efa3d7 | 1 year ago |
tobtoht | d8e39bd381 | 1 year ago |
luigi1111 | 0f15707077 | 1 year ago |
luigi1111 | f38b07335a | 1 year ago |
luigi1111 | 057a77a09f | 1 year ago |
Howard Chu | 573a369a8a | 1 year ago |
selsta | 988056dc09 | 1 year ago |
selsta | ce4ef6da96 | 1 year ago |
tobtoht | 15384cc135 | 1 year ago |
SChernykh | f456b3f023 | 1 year ago |
SChernykh | 480b050cc3 | 1 year ago |
luigi1111 | c48f572e46 | 1 year ago |
luigi1111 | f73a2b1587 | 1 year ago |
luigi1111 | 1d20b8171d | 1 year ago |
luigi1111 | b0ea7cb528 | 1 year ago |
luigi1111 | 153819fc4c | 1 year ago |
luigi1111 | cbc5cf43f2 | 1 year ago |
luigi1111 | 1976c9afa0 | 1 year ago |
SChernykh | 29208a33cb | 1 year ago |
selsta | cbc297acfb | 1 year ago |
SChernykh | f698f2b708 | 1 year ago |
luigi1111 | 8cb10345d6 | 1 year ago |
luigi1111 | 47b41eabfe | 1 year ago |
luigi1111 | abd37fcf5b | 1 year ago |
luigi1111 | cce309512c | 1 year ago |
luigi1111 | f5d701c550 | 1 year ago |
luigi1111 | d05298358c | 1 year ago |
selsta | 5973985148 | 1 year ago |
Jeffrey Ryan | 2c2432245f | 1 year ago |
Jeffrey Ryan | 38d4811c89 | 1 year ago |
selsta | cbf636c7a9 | 1 year ago |
AgoraDesk / LocalMonero | 8c53995a88 | 1 year ago |
j-berman | 146cac02ca | 1 year ago |
selsta | 02b24cb353 | 1 year ago |
luigi1111 | e6f9c0013b | 1 year ago |
luigi1111 | 5d4ace8cae | 1 year ago |
Lee Clagett | 1bb5d25e31 | 1 year ago |
j-berman | 85c9fe515d | 1 year ago |
selsta | 401dda5f10 | 1 year ago |
luigi1111 | 66184f3085 | 2 years ago |
selsta | 853171bbf0 | 2 years ago |
luigi1111 | 1f27fdf6a5 | 2 years ago |
luigi1111 | 0bef4265ac | 2 years ago |
luigi1111 | a7b0c93c7d | 2 years ago |
luigi1111 | 9885b8b0f2 | 2 years ago |
luigi1111 | fdb31856dd | 2 years ago |
selsta | d7445b576f | 2 years ago |
SChernykh | 802c4bb0e4 | 2 years ago |
j-berman | 5ffa31c48e | 2 years ago |
koe | 1cd21bfba5 | 2 years ago |
selsta | 7d358cdb1f | 2 years ago |
selsta | 09402d0edb | 2 years ago |
Jeffrey Ryan | 07f8e9e891 | 2 years ago |
SChernykh | 6adf03cdc5 | 2 years ago |
luigi1111 | 7cbae6ca98 | 2 years ago |
luigi1111 | 0be63cffa8 | 2 years ago |
j-berman | 864a78ee5f | 2 years ago |
luigi1111 | af4f97bf66 | 2 years ago |
luigi1111 | 89f3d46120 | 2 years ago |
luigi1111 | 3178bbe083 | 2 years ago |
luigi1111 | 4b6a3fbaa0 | 2 years ago |
luigi1111 | 6b9bbadd6b | 2 years ago |
Justin Berman | 12e7c4188e | 2 years ago |
moneromooo-monero | e29b2e9997 | 2 years ago |
moneromooo-monero | 1d3657afb5 | 2 years ago |
moneromooo-monero | 0cbf5571d3 | 2 years ago |
j-berman | 848a0c05b0 | 2 years ago |
j-berman | 625147e577 | 2 years ago |
j-berman | b03d7091f7 | 2 years ago |
selsta | 93db74a91e | 2 years ago |
moneromooo-monero | 4b7eb573b2 | 2 years ago |
moneromooo-monero | 5b98bebad1 | 2 years ago |
moneromooo-monero | 0de1571abd | 2 years ago |
selsta | 09ee78197c | 2 years ago |
j-berman | 401f5d967b | 2 years ago |
tobtoht | 3679925331 | 2 years ago |
j-berman | fc8a5d68f1 | 2 years ago |
luigi1111 | 57e57c239b | 2 years ago |
Seth For Privacy | 876c08db53 | 2 years ago |
luigi1111 | 727bc5b687 | 2 years ago |
luigi1111 | b9e8504cfb | 2 years ago |
luigi1111 | 68537fa27a | 2 years ago |
luigi1111 | dc2f548a68 | 2 years ago |
luigi1111 | 5c33f40cd8 | 2 years ago |
luigi1111 | 72490ca04f | 2 years ago |
luigi1111 | a50cceb8d0 | 2 years ago |
luigi1111 | 3b6eb11a88 | 2 years ago |
luigi1111 | 90125931ad | 2 years ago |
j-berman | 2b83d00a9b | 2 years ago |
Dusan Klinec | 6075be9cc8 | 2 years ago |
selsta | 309f6ba3f5 | 2 years ago |
j-berman | fac7c43644 | 2 years ago |
selsta | 265d6ca7aa | 2 years ago |
selsta | 1287074d0f | 2 years ago |
SChernykh | 099fc1f8a9 | 2 years ago |
Howard Chu | c0f3c5b577 | 2 years ago |
j-berman | 8cc3c9af4d | 2 years ago |
luigi1111 | b6a029f222 | 2 years ago |
luigi1111 | 9df069f4ce | 2 years ago |
luigi1111 | f982163fc9 | 2 years ago |
luigi1111 | 4792ceefb1 | 2 years ago |
luigi1111 | 070c3d6b0f | 2 years ago |
luigi1111 | 02cbccc529 | 2 years ago |
luigi1111 | d912444a4a | 2 years ago |
j-berman | cf3be9926f | 2 years ago |
selsta | fe5d1bef56 | 2 years ago |
koe | edcc094558 | 2 years ago |
luigi1111 | cfdee9ba69 | 2 years ago |
luigi1111 | 6fed8c2d9f | 2 years ago |
j-berman | a82fba4b7b | 2 years ago |
anon | 3be1dbd096 | 2 years ago |
anon | 724ff21447 | 2 years ago |
luigi1111 | 8f48f46495 | 2 years ago |
luigi1111 | e32b7a5598 | 2 years ago |
luigi1111 | 4476c35fc8 | 2 years ago |
luigi1111 | cea2498e95 | 2 years ago |
luigi1111 | 0f91416ab6 | 2 years ago |
luigi1111 | 7a118f08f4 | 2 years ago |
luigi1111 | 5a3c77be18 | 2 years ago |
luigi1111 | 6e89d35541 | 2 years ago |
luigi1111 | 45a44aa45f | 2 years ago |
luigi1111 | 969316685b | 2 years ago |
j-berman | bd1e7c5635 | 2 years ago |
luigi1111 | b54d5ae383 | 2 years ago |
luigi1111 | aa0b4fc7cc | 2 years ago |
luigi1111 | e2e5fbf6a6 | 2 years ago |
luigi1111 | 82cde936c3 | 2 years ago |
luigi1111 | 622f251fa1 | 2 years ago |
luigi1111 | 30a9183091 | 2 years ago |
selsta | 2ba391f02c | 2 years ago |
Leo Nerone | d486c0322f | 2 years ago |
anon | c7b2944f89 | 2 years ago |
selsta | 8e9c60a682 | 2 years ago |
Klaus Frank | 83aa817b63 | 2 years ago |
tobtoht | 09a597ba28 | 2 years ago |
tobtoht | 04c0da2986 | 2 years ago |
tobtoht | db8181adf8 | 2 years ago |
tobtoht | 50ccc7e726 | 2 years ago |
TheCharlatan | 6f3abbead5 | 2 years ago |
moneromooo-monero | 4278a3a7e3 | 2 years ago |
hinto.janaiyo | 41b1a6b0dd | 2 years ago |
j-berman | 8460fcc32b | 2 years ago |
mj-xmr | 61d0712ed5 | 2 years ago |
Kris Zyp | ade464a5a0 | 2 years ago |
Howard Chu | 033a32a20b | 2 years ago |
Howard Chu | b096e16699 | 2 years ago |
Howard Chu | 493577a6cd | 2 years ago |
Howard Chu | b46a60e390 | 2 years ago |
Howard Chu | 4e7586c9e4 | 2 years ago |
Howard Chu | 747f5d3594 | 2 years ago |
Luke Parker | 16f8e042b5 | 2 years ago |
Luke Parker | da0715e503 | 2 years ago |
Jeffrey Ryan | fb3f7cebbf | 2 years ago |
luigi1111 | 9750e1fa10 | 2 years ago |
luigi1111 | 72cba50458 | 2 years ago |
luigi1111 | e8252ef99b | 2 years ago |
luigi1111 | 1ff2b02064 | 2 years ago |
luigi1111 | f9d789d68c | 2 years ago |
luigi1111 | f96cf86532 | 2 years ago |
luigi1111 | d52b7d0e99 | 2 years ago |
luigi1111 | 7b0b06af84 | 2 years ago |
luigi1111 | 7f2f7ce404 | 2 years ago |
luigi1111 | 6d0df2f041 | 2 years ago |
garth-xmr | bc05d2dfa8 | 2 years ago |
selsta | de2f0d0102 | 2 years ago |
luigi1111 | 97271b7d20 | 2 years ago |
Jeffrey Ryan | 026dbc89bf | 2 years ago |
j-berman | 2dab31f62f | 2 years ago |
Jeffrey Ryan | 08080df2d9 | 2 years ago |
Jeffrey Ryan | a66a52d144 | 2 years ago |
moneromooo-monero | 2979474221 | 2 years ago |
Jeffrey Ryan | 5858f05f9b | 2 years ago |
selsta | 1164874afc | 2 years ago |
luigi1111 | 6e60919e6d | 2 years ago |
luigi1111 | 44c0470e1e | 2 years ago |
luigi1111 | 5b9724b03d | 2 years ago |
luigi1111 | 3d1e5db44d | 2 years ago |
luigi1111 | f555e3855b | 2 years ago |
luigi1111 | f4669bfa2b | 2 years ago |
moneromooo-monero | fde7c96b5c | 2 years ago |
moneromooo-monero | df2e680825 | 2 years ago |
Crypto City | 38cdf01c64 | 2 years ago |
Crypto City | 353cd5355e | 2 years ago |
Crypto City | 2b95178897 | 2 years ago |
moneromooo-monero | c9cf0b78f8 | 2 years ago |
Jeffrey Ryan | 62914e7e3d | 2 years ago |
j-berman | b9d2c788bc | 2 years ago |
j-berman | bae4a1ad8f | 2 years ago |
luigi1111 | 8349cfe4a6 | 2 years ago |
luigi1111 | c76e33bc44 | 2 years ago |
luigi1111 | d58ea37a8d | 2 years ago |
luigi1111 | 9e71901346 | 2 years ago |
luigi1111 | 8480575cec | 2 years ago |
luigi1111 | fbd1f1e476 | 2 years ago |
luigi1111 | ae377a7b23 | 2 years ago |
luigi1111 | 638b325202 | 2 years ago |
luigi1111 | 7cdbd25042 | 2 years ago |
luigi1111 | 3f58b8938a | 2 years ago |
luigi1111 | 436ca13722 | 2 years ago |
luigi1111 | 156151396e | 2 years ago |
luigi1111 | 7bdda14b8d | 2 years ago |
luigi1111 | 5e46ab53e7 | 2 years ago |
luigi1111 | c1625a8928 | 2 years ago |
Howard Chu | 5c27fd853f | 2 years ago |
Howard Chu | c1d47eb476 | 2 years ago |
j-berman | 7d6c7489a7 | 2 years ago |
selsta | 02e6af2fda | 2 years ago |
Howard Chu | 7ea1e214c5 | 2 years ago |
Howard Chu | e81ab9bc2c | 2 years ago |
selsta | af08c83e25 | 2 years ago |
hinto.janaiyo | ca5921d75b | 2 years ago |
Howard Chu | fe5c2aec35 | 2 years ago |
Howard Chu | fb68465c61 | 2 years ago |
Howard Chu | 617f9082fe | 2 years ago |
Howard Chu | 83ae3ad178 | 2 years ago |
Howard Chu | 1008318715 | 2 years ago |
Jeffrey Ryan | 1ddb1ee819 | 2 years ago |
Howard Chu | a86c4cb75f | 2 years ago |
Jeffrey | fc9b77d855 | 2 years ago |
selsta | f63f7dc7e2 | 2 years ago |
Jeffrey | b7978cfd4e | 2 years ago |
SChernykh | 0226df9fae | 2 years ago |
koe | 0d6ecb1136 | 2 years ago |
Akrit | 41da2fe6f3 | 2 years ago |
Jeffrey | 6ef945d9a5 | 2 years ago |
Abdullah | 070e41d88b | 2 years ago |
Dusan Klinec | 4f08bcd800 | 2 years ago |
luigi1111 | 67e5ca9ad6 | 2 years ago |
luigi1111 | 92b3b34464 | 2 years ago |
luigi1111 | a092b943d5 | 2 years ago |
luigi1111 | 4541384075 | 2 years ago |
luigi1111 | e13244ea9c | 2 years ago |
Jeffrey | 34941ac3e1 | 2 years ago |
Jeffrey | f7d50cbaa8 | 2 years ago |
Jeffrey | 63c7f8ba6e | 2 years ago |
Luke Parker | baee2c06ec | 2 years ago |
moneromooo-monero | 9209880e9c | 2 years ago |
luigi1111 | 9f814edbd7 | 2 years ago |
luigi1111 | d8f73133b1 | 2 years ago |
luigi1111 | 17dad03870 | 2 years ago |
luigi1111 | 4abbf442b4 | 2 years ago |
luigi1111 | 5c471005eb | 2 years ago |
luigi1111 | 8ddbe18277 | 2 years ago |
luigi1111 | 96758a7d05 | 2 years ago |
hinto.janaiyo | b99242f310 | 2 years ago |
selsta | ab9766ef17 | 2 years ago |
j-berman | 5d388eb74d | 2 years ago |
luigi1111 | 53bf62d114 | 2 years ago |
Jeffrey | 11371425f5 | 2 years ago |
Jeffrey | 175b4117a9 | 2 years ago |
Jeffrey | b49ed59166 | 2 years ago |
Jeffrey | 1f25aa27c5 | 2 years ago |
Jeffrey | 7764d69782 | 2 years ago |
Jeffrey | 801568d0c6 | 2 years ago |
Jeffrey | 87ec36cacf | 2 years ago |
Jeffrey | 441c860738 | 2 years ago |
Jeffrey | 40f02f9d73 | 2 years ago |
Jeffrey | 12b1b74d32 | 2 years ago |
Jeffrey | 690ce560b0 | 2 years ago |
SChernykh | 268a0393e9 | 2 years ago |
j-berman | ea87b30f89 | 2 years ago |
luigi1111 | 6694597974 | 2 years ago |
luigi1111 | 2b999f5398 | 2 years ago |
mj-xmr | 50ae6bafe9 | 2 years ago |
moneromooo-monero | 9df7179aaf | 2 years ago |
mj-xmr | 9c42b728ba | 2 years ago |
moneromooo-monero | b030f20751 | 2 years ago |
moneromooo-monero | 9f786f0550 | 2 years ago |
Jeffrey | a14fdf8d5a | 2 years ago |
Jeffrey | d1cb9c393e | 2 years ago |
selsta | 649170053f | 2 years ago |
selsta | 3593a986d8 | 2 years ago |
luigi1111 | f49fc9b487 | 2 years ago |
reemuru | 6abe3fee19 | 2 years ago |
mj-xmr | 4db6aed98c | 2 years ago |
selsta | c68d78dde0 | 2 years ago |
luigi1111 | c11385591e | 2 years ago |
luigi1111 | bb093ec9a8 | 2 years ago |
luigi1111 | f096ac1349 | 2 years ago |
luigi1111 | 9a124f6811 | 2 years ago |
luigi1111 | 627f04c19a | 2 years ago |
luigi1111 | 04e490c8da | 2 years ago |
luigi1111 | 0eb1b570b6 | 2 years ago |
luigi1111 | 88a5606795 | 2 years ago |
luigi1111 | ffe439d38a | 2 years ago |
luigi1111 | 0285c07d7d | 2 years ago |
luigi1111 | 922acb05fd | 2 years ago |
luigi1111 | 50410d1f7d | 2 years ago |
luigi1111 | d054def63f | 2 years ago |
luigi1111 | fb2f822c52 | 2 years ago |
j-berman | 83bb02745a | 2 years ago |
moneromooo-monero | 5acdd0e2cb | 2 years ago |
moneromooo-monero | 4c94cfecfc | 2 years ago |
moneromooo-monero | a345060ace | 2 years ago |
moneromooo-monero | 75bd004f4e | 2 years ago |
moneromooo-monero | a0d80b1f95 | 2 years ago |
Sarang Noether | b535d662b9 | 2 years ago |
Sarang Noether | b7713cce26 | 2 years ago |
Sarang Noether | bd27debb2d | 2 years ago |
Mathias Herberts | 0f7b20a1ce | 2 years ago |
Jeffrey | 1ce9e9cda4 | 2 years ago |
Jeffrey | 17772ef53e | 2 years ago |
moneromooo-monero | ae0a840fda | 2 years ago |
Jeffrey | 002bf9c4fd | 2 years ago |
luigi1111 | 70ceab6c10 | 2 years ago |
luigi1111 | 427bd85893 | 2 years ago |
luigi1111 | 6a0d973dc9 | 2 years ago |
luigi1111 | 4cb3b422e1 | 2 years ago |
luigi1111 | 0ea8519895 | 2 years ago |
luigi1111 | d9e6baac42 | 2 years ago |
luigi1111 | f4d99dcca7 | 2 years ago |
reemuru | d1f1947995 | 2 years ago |
erciccione | f22051d382 | 2 years ago |
moneromooo-monero | 7dcfccbaaf | 2 years ago |
Luke Parker | 591c174235 | 2 years ago |
Norman Moeschter | 354e1d9c65 | 2 years ago |
mj-xmr | 0d6fce8995 | 2 years ago |
mj-xmr | da9aa1f7f8 | 2 years ago |
luigi1111 | d562deaaa9 | 2 years ago |
luigi1111 | 27f1d43547 | 2 years ago |
luigi1111 | abae63c37d | 2 years ago |
luigi1111 | 5eaa4434e8 | 2 years ago |
luigi1111 | 5a1c060632 | 2 years ago |
selsta | 3c829586be | 2 years ago |
reemuru | 3f88fddbfa | 2 years ago |
koe | e08abaa43f | 2 years ago |
Jeffrey | 9bde2dbfed | 2 years ago |
moneromooo-monero | 06e6c8bf4a | 2 years ago |
SChernykh | f68f92776b | 2 years ago |
selsta | 14eb42d12d | 2 years ago |
tobtoht | 5e201fedc5 | 2 years ago |
woodser | e5000a9f0c | 2 years ago |
Robert Theis | b8beac3ecc | 2 years ago |
koe | c36ea26e5c | 2 years ago |
luigi1111 | 9aab19f349 | 2 years ago |
luigi1111 | 357dbd2032 | 2 years ago |
luigi1111 | 459a48352d | 2 years ago |
luigi1111 | d94715fd71 | 2 years ago |
luigi1111 | c1e7e97cea | 2 years ago |
luigi1111 | cb24b85bde | 2 years ago |
luigi1111 | 0f9fae5a96 | 2 years ago |
luigi1111 | 166c278057 | 2 years ago |
luigi1111 | 5283cf51ef | 2 years ago |
luigi1111 | e9d90de9e1 | 2 years ago |
woodser | fb5b2b352a | 2 years ago |
IceCruelStuff | 2d0a5189d2 | 2 years ago |
Gingeropolous | 1051276425 | 2 years ago |
Kevin Thomas | e73e1e7e6f | 2 years ago |
woodser | 4446cc88c3 | 2 years ago |
Xeonacid | 505b38260c | 2 years ago |
SerHack | 6366187cf3 | 2 years ago |
luigi1111 | 319b831e65 | 2 years ago |
selsta | e9156d78a3 | 2 years ago |
Kevin Thomas | fef02800c7 | 2 years ago |
Seth For Privacy | 6a46f8c40a | 2 years ago |
Seth For Privacy | 52612e7a12 | 2 years ago |
Seth For Privacy | 03a256e076 | 2 years ago |
Seth For Privacy | cd76011e6c | 2 years ago |
Seth For Privacy | 9d02531f0d | 2 years ago |
Seth For Privacy | eeb0be4905 | 2 years ago |
luigi1111 | cc9ca953a9 | 2 years ago |
luigi1111 | 3ed0cc6e20 | 2 years ago |
luigi1111 | e6e333adc9 | 2 years ago |
luigi1111 | c0cf5bb339 | 2 years ago |
luigi1111 | a723f25041 | 2 years ago |
luigi1111 | 155c5ecb8e | 2 years ago |
luigi1111 | 55fc2335a4 | 2 years ago |
woodser | 53be72c08a | 2 years ago |
Howard Chu | 6e6ad80dc4 | 2 years ago |
luigi1111 | aeae337c0b | 2 years ago |
luigi1111 | 105e2304a2 | 2 years ago |
luigi1111 | 7fc93a12d4 | 2 years ago |
luigi1111 | 9a17f53489 | 2 years ago |
luigi1111 | 9c4c28e4f6 | 2 years ago |
luigi1111 | 41d6db105d | 2 years ago |
Howard Chu | a4ebec9afb | 2 years ago |
Howard Chu | 0221b01519 | 2 years ago |
Jethro Grassie | 22b891c80e | 2 years ago |
selsta | 7bc261b506 | 2 years ago |
selsta | 82828bfcb6 | 2 years ago |
selsta | 1efe624e30 | 2 years ago |
luigi1111 | 6d94953be2 | 2 years ago |
luigi1111 | 97ff1938a3 | 2 years ago |
luigi1111 | 2844b5b8db | 2 years ago |
luigi1111 | c3b1b94453 | 2 years ago |
selsta | a30928fe1a | 2 years ago |
selsta | a491175f7d | 2 years ago |
im | cf44349a86 | 2 years ago |
tevador | e0a5dce14f | 2 years ago |
rbrunner7 | a02b342347 | 2 years ago |
luigi1111 | eec3a6014c | 2 years ago |
Dimitris Apostolou | 361f621c3c | 2 years ago |
selsta | fbe8358c9f | 2 years ago |
moneromooo-monero | bbe3b276b8 | 2 years ago |
luigi1111 | e22ec26be4 | 2 years ago |
luigi1111 | d573b3d76c | 2 years ago |
luigi1111 | ff4ede9356 | 2 years ago |
luigi1111 | 14e94c6918 | 2 years ago |
luigi1111 | f405bf3d58 | 2 years ago |
Howard Chu | 187633c0ca | 2 years ago |
selsta | 548cfc8d68 | 2 years ago |
selsta | 94dc19a8b3 | 2 years ago |
luigi1111 | b328fbecc2 | 2 years ago |
luigi1111 | ff96482e38 | 2 years ago |
luigi1111 | 919e06bbfd | 2 years ago |
luigi1111 | 0bd892788d | 2 years ago |
luigi1111 | e5710b1898 | 2 years ago |
luigi1111 | e7d571c526 | 2 years ago |
luigi1111 | e161b75201 | 2 years ago |
luigi1111 | 00ac048958 | 2 years ago |
moneromooo-monero | e8e507f36f | 2 years ago |
selsta | 8f210011be | 2 years ago |
selsta | 797ca974ab | 2 years ago |
tobtoht | 47e7a43270 | 2 years ago |
selsta | e106bdc1fc | 2 years ago |
moneromooo-monero | 1f81f5f5c1 | 2 years ago |
selsta | a15466d850 | 2 years ago |
selsta | b0ec9f85a1 | 2 years ago |
moneromooo-monero | 2cad563060 | 2 years ago |
selsta | 9c6111017b | 2 years ago |
luigi1111 | 753dc901a1 | 2 years ago |
luigi1111 | 99507da993 | 2 years ago |
luigi1111 | 7f1a44679c | 2 years ago |
luigi1111 | adb2542a6c | 2 years ago |
luigi1111 | ebc655c6ad | 2 years ago |
luigi1111 | 19a6cc26fc | 2 years ago |
luigi1111 | e165fdb27c | 2 years ago |
luigi1111 | e7974926d5 | 2 years ago |
luigi1111 | f8abf3dd61 | 2 years ago |
luigi1111 | 308e601966 | 2 years ago |
Howard Chu | 69c09ad204 | 2 years ago |
Howard Chu | 4881154e69 | 2 years ago |
luigi1111 | c458d5fe40 | 2 years ago |
luigi1111 | 3d9c805e23 | 2 years ago |
luigi1111 | 260f1d39f2 | 2 years ago |
luigi1111 | a6367693c7 | 2 years ago |
luigi1111 | 872d6f86bc | 2 years ago |
luigi1111 | d0a3eb1e7e | 2 years ago |
luigi1111 | 8fa21beba1 | 2 years ago |
luigi1111 | 45920c36f1 | 2 years ago |
luigi1111 | 7f477c1902 | 2 years ago |
selsta | 48a0997d8c | 2 years ago |
selsta | ace4669543 | 3 years ago |
moneromooo-monero | 75d05b9448 | 3 years ago |
Howard Chu | 9973edd4c3 | 3 years ago |
selsta | 49441d4a2a | 3 years ago |
mj-xmr | 5e63f6c292 | 3 years ago |
luigi1111 | b58a9fb12e | 3 years ago |
j-berman | 84c52571ed | 3 years ago |
selsta | 9cd7aa60f0 | 3 years ago |
tobtoht | 5770265a16 | 3 years ago |
selsta | 1346516d09 | 3 years ago |
Howard Chu | ae41178c8b | 3 years ago |
Howard Chu | 4ea7832ea7 | 3 years ago |
selsta | bc167a1738 | 3 years ago |
selsta | b00e21dccc | 3 years ago |
luigi1111 | 6b824c9ed0 | 3 years ago |
luigi1111 | 4120098e09 | 3 years ago |
luigi1111 | df0408bd37 | 3 years ago |
luigi1111 | 415e290675 | 3 years ago |
luigi1111 | 4f5e8ccace | 3 years ago |
luigi1111 | 9b5268a27d | 3 years ago |
luigi1111 | fd48e0af61 | 3 years ago |
luigi1111 | e7a1a095ac | 3 years ago |
luigi1111 | 60eddc566e | 3 years ago |
luigi1111 | 29e3d0aa87 | 3 years ago |
luigi1111 | 298c9a357f | 3 years ago |
luigi1111 | 237acd120e | 3 years ago |
luigi1111 | 75ee729a3a | 3 years ago |
moneromooo-monero | 807cbcdbf8 | 3 years ago |
Howard Chu | 5f54dea4ec | 3 years ago |
Nathan Dorfman | 2e8936f614 | 3 years ago |
anon | 9154883f3e | 3 years ago |
anon | 8922f96e61 | 3 years ago |
ralphmapper | 313edb2504 | 3 years ago |
selsta | 4afd9a7a9e | 3 years ago |
mj-xmr | e7e28bcd68 | 3 years ago |
selsta | 3a90be4bd6 | 3 years ago |
selsta | 5617a292ee | 3 years ago |
mj-xmr | 1b7a708fa3 | 3 years ago |
j-berman | 76542ea709 | 3 years ago |
selsta | a95e6e0d43 | 3 years ago |
selsta | 43a72790ab | 3 years ago |
SChernykh | dfee15eee1 | 3 years ago |
luigi1111 | a39b1d56c8 | 3 years ago |
luigi1111 | 9273530bff | 3 years ago |
luigi1111 | c278c97f1f | 3 years ago |
luigi1111 | e72eedd1ce | 3 years ago |
luigi1111 | e48e909911 | 3 years ago |
luigi1111 | be94a2fb06 | 3 years ago |
luigi1111 | aa8320671c | 3 years ago |
luigi1111 | b13110b7b8 | 3 years ago |
luigi1111 | acfe3f8ded | 3 years ago |
luigi1111 | dfa6b58d4d | 3 years ago |
luigi1111 | 2a02cd0a5f | 3 years ago |
luigi1111 | 7848a467c5 | 3 years ago |
luigi1111 | b7315efc1c | 3 years ago |
Gingeropolous | ce38f2399d | 3 years ago |
mj-xmr | ad9fde46a3 | 3 years ago |
mj-xmr | 514f8fab14 | 3 years ago |
moneromooo-monero | 5eaedb51b9 | 3 years ago |
mj-xmr | eed7e79c04 | 3 years ago |
Howard Chu | 4571d3686d | 3 years ago |
selsta | ae85ec0285 | 3 years ago |
mj-xmr | 167cbdf870 | 3 years ago |
Howard Chu | acef6c955b | 3 years ago |
selsta | cd76eb7b8c | 3 years ago |
luigi1111 | 8fde011dbe | 3 years ago |
luigi1111 | 3673a679e4 | 3 years ago |
luigi1111 | 4ada08ad9a | 3 years ago |
selsta | f353c295f9 | 3 years ago |
SChernykh | e52802baef | 3 years ago |
luigi1111 | 2d3ce2d64a | 3 years ago |
luigi1111 | 0061da9e63 | 3 years ago |
luigi1111 | 8b9eea92f1 | 3 years ago |
luigi1111 | 1b079e5195 | 3 years ago |
luigi1111 | 294d58c58d | 3 years ago |
luigi1111 | 5812b757e0 | 3 years ago |
luigi1111 | a8dc9490b5 | 3 years ago |
anon | 4ced092aae | 3 years ago |
woodser | ec6b4cf9e1 | 3 years ago |
Kermit Alexander II | 24d3d65d42 | 3 years ago |
j-berman | e1af8dc02c | 3 years ago |
j-berman | da2955feae | 3 years ago |
selsta | d749e0d97c | 3 years ago |
mj-xmr | 15936bfa0f | 3 years ago |
selsta | 301355f88d | 3 years ago |
selsta | 573a0255a8 | 3 years ago |
tobtoht | a9aaa47abb | 3 years ago |
koe | 426dbf434b | 3 years ago |
mj-xmr | ce0a2ce479 | 3 years ago |
luigi1111 | 82149bfe44 | 3 years ago |
luigi1111 | 460fd4c80a | 3 years ago |
luigi1111 | 0b4e922159 | 3 years ago |
luigi1111 | 89664fcee5 | 3 years ago |
luigi1111 | 521b4d9ded | 3 years ago |
luigi1111 | cb08466394 | 3 years ago |
luigi1111 | 5cebb8edc0 | 3 years ago |
luigi1111 | 1bb8ec1b97 | 3 years ago |
luigi1111 | 62844a776d | 3 years ago |
mj-xmr | 0a021c3bd1 | 3 years ago |
mj-xmr | 0ac9a04b4c | 3 years ago |
j-berman | 6f15a0c8d3 | 3 years ago |
moneromooo-monero | 7354ffb8a7 | 3 years ago |
mj-xmr | d8e71c8dbe | 3 years ago |
mj-xmr | b2c59af84d | 3 years ago |
Dusan Klinec | 13a8a576ed | 3 years ago |
luigi1111 | ed506006d2 | 3 years ago |
luigi1111 | e3b3fb577a | 3 years ago |
luigi1111 | eeda76570c | 3 years ago |
luigi1111 | 8c41d14ad5 | 3 years ago |
luigi1111 | a32da4bc3e | 3 years ago |
luigi1111 | 0878207e8d | 3 years ago |
luigi1111 | 894e5b2794 | 3 years ago |
luigi1111 | 0cdb8d02e8 | 3 years ago |
luigi1111 | 9aa2d4c16e | 3 years ago |
Alex Opie | 5fa1c90102 | 3 years ago |
luigi1111 | 0b72f46bf2 | 3 years ago |
moneromooo-monero | 90d6bed804 | 3 years ago |
mj-xmr | 1b80347513 | 3 years ago |
Lee *!* Clagett | 2a8a51129f | 3 years ago |
luigi1111 | 56f7609643 | 3 years ago |
luigi1111 | a89c78528a | 3 years ago |
anon | 9c8e3e832e | 3 years ago |
selsta | 29296d5d52 | 3 years ago |
selsta | 055657241d | 3 years ago |
selsta | 979d121ed7 | 3 years ago |
luigi1111 | 960376b960 | 3 years ago |
luigi1111 | 0073513a05 | 3 years ago |
luigi1111 | d9c9a11c54 | 3 years ago |
luigi1111 | 2f6d5fa8c2 | 3 years ago |
luigi1111 | ef659f8b52 | 3 years ago |
luigi1111 | 11cc473d97 | 3 years ago |
luigi1111 | e91e2c4a2b | 3 years ago |
luigi1111 | 69e714c749 | 3 years ago |
luigi1111 | 62bcdc1d3c | 3 years ago |
luigi1111 | 2d5b8a6ff7 | 3 years ago |
luigi1111 | 8a845f5dc8 | 3 years ago |
luigi1111 | ca4de5f96d | 3 years ago |
luigi1111 | a9cb4c082f | 3 years ago |
Nathan Dorfman | bf96055211 | 3 years ago |
rbrunner7 | 3d3a67142c | 3 years ago |
mj-xmr | 7caab8dd74 | 3 years ago |
mj-xmr | 852f319d86 | 3 years ago |
rating89us | a3d2b71ee9 | 3 years ago |
SChernykh | b48074fb8d | 3 years ago |
moneromooo-monero | 0c6e1d343e | 3 years ago |
selsta | 4414ed401d | 3 years ago |
selsta | 87a092811d | 3 years ago |
tobtoht | f5eb2ce968 | 3 years ago |
Dusan Klinec | bc8d7644d2 | 3 years ago |
Dusan Klinec | 9c6e0941cb | 3 years ago |
anon | df40d1dc73 | 3 years ago |
anon | fe76d7dee7 | 3 years ago |
anon | 14be80f992 | 3 years ago |
mj-xmr | 9a24e464ba | 3 years ago |
anon | a48db50b1c | 3 years ago |
luigi1111 | de3456e127 | 3 years ago |
luigi1111 | 1e8cbc995f | 3 years ago |
luigi1111 | 3c8c8e5a5b | 3 years ago |
luigi1111 | 9903b35345 | 3 years ago |
luigi1111 | 6043c85afe | 3 years ago |
luigi1111 | c53e22c40a | 3 years ago |
mj-xmr | bb633d3a8e | 3 years ago |
malinero | 30c15a6ca8 | 3 years ago |
selsta | c26e3ee029 | 3 years ago |
mj-xmr | eda5c303cd | 3 years ago |
mj-xmr | 5e6762d459 | 3 years ago |
tobtoht | bbeb555f00 | 3 years ago |
selsta | 09779631f3 | 3 years ago |
selsta | 8ae6c85efd | 3 years ago |
selsta | e24875e572 | 3 years ago |
selsta | 8ef51dc546 | 3 years ago |
malinero | 42b74a37d3 | 3 years ago |
moneromooo-monero | d689b946f9 | 3 years ago |
erciccione | de4413b076 | 3 years ago |
fdov | 8ff21e1e84 | 3 years ago |
lza_menace | f0df72688f | 3 years ago |
tobtoht | 8cf95c8f29 | 3 years ago |
tobtoht | d52d21bd46 | 3 years ago |
tobtoht | ce40c33a33 | 3 years ago |
tobtoht | 8cea9d8605 | 3 years ago |
selsta | 9c0e681dc9 | 3 years ago |
selsta | 7359d51d56 | 3 years ago |
Alex Opie | 520ce1ca81 | 3 years ago |
@ -0,0 +1,49 @@
|
||||
name: ci/gh-actions/gitian
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build-gitian:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
operating-system:
|
||||
- name: "Linux"
|
||||
option: "l"
|
||||
- name: "Windows"
|
||||
option: "w"
|
||||
- name: "Android"
|
||||
option: "a"
|
||||
- name: "FreeBSD"
|
||||
option: "f"
|
||||
- name: "macOS"
|
||||
option: "m"
|
||||
name: ${{ matrix.operating-system.name }}
|
||||
steps:
|
||||
- name: prepare
|
||||
run: |
|
||||
sudo apt update
|
||||
curl -O https://raw.githubusercontent.com/monero-project/monero/${{ github.ref_name }}/contrib/gitian/gitian-build.py
|
||||
chmod +x gitian-build.py
|
||||
- name: setup
|
||||
run: |
|
||||
./gitian-build.py --setup --docker github-actions ${{ github.ref_name }}
|
||||
- name: build
|
||||
run: |
|
||||
./gitian-build.py --docker --detach-sign --no-commit --build -j 3 -o ${{ matrix.operating-system.option }} github-actions ${{ github.ref_name }}
|
||||
- name: post build
|
||||
run: |
|
||||
cd out/${{ github.ref_name }}
|
||||
shasum -a256 *
|
||||
echo \`\`\` >> $GITHUB_STEP_SUMMARY
|
||||
shasum -a256 * >> $GITHUB_STEP_SUMMARY
|
||||
echo \`\`\` >> $GITHUB_STEP_SUMMARY
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.operating-system.name }}
|
||||
path: |
|
||||
out/${{ github.ref_name }}/*
|
@ -1,212 +1,66 @@
|
||||
# Multistage docker build, requires docker 17.05
|
||||
|
||||
# builder stage
|
||||
FROM ubuntu:16.04 as builder
|
||||
FROM ubuntu:20.04 as builder
|
||||
|
||||
RUN set -ex && \
|
||||
apt-get update && \
|
||||
apt-get --no-install-recommends --yes install \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends --yes install \
|
||||
automake \
|
||||
autotools-dev \
|
||||
bsdmainutils \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
cmake \
|
||||
g++ \
|
||||
make \
|
||||
pkg-config \
|
||||
graphviz \
|
||||
doxygen \
|
||||
git \
|
||||
curl \
|
||||
libtool-bin \
|
||||
autoconf \
|
||||
automake \
|
||||
bzip2 \
|
||||
xsltproc \
|
||||
gperf \
|
||||
unzip
|
||||
|
||||
WORKDIR /usr/local
|
||||
|
||||
ENV CFLAGS='-fPIC'
|
||||
ENV CXXFLAGS='-fPIC'
|
||||
|
||||
#Cmake
|
||||
ARG CMAKE_VERSION=3.14.6
|
||||
ARG CMAKE_VERSION_DOT=v3.14
|
||||
ARG CMAKE_HASH=4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9
|
||||
RUN set -ex \
|
||||
&& curl -s -O https://cmake.org/files/${CMAKE_VERSION_DOT}/cmake-${CMAKE_VERSION}.tar.gz \
|
||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf cmake-${CMAKE_VERSION}.tar.gz \
|
||||
&& cd cmake-${CMAKE_VERSION} \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
## Boost
|
||||
ARG BOOST_VERSION=1_70_0
|
||||
ARG BOOST_VERSION_DOT=1.70.0
|
||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
RUN set -ex \
|
||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& cd boost_${BOOST_VERSION} \
|
||||
&& ./bootstrap.sh \
|
||||
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale threading=multi threadapi=pthread cflags="$CFLAGS" cxxflags="$CXXFLAGS" stage
|
||||
ENV BOOST_ROOT /usr/local/boost_${BOOST_VERSION}
|
||||
|
||||
# OpenSSL
|
||||
ARG OPENSSL_VERSION=1.1.1i
|
||||
ARG OPENSSL_HASH=e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242
|
||||
RUN set -ex \
|
||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${OPENSSL_VERSION} \
|
||||
&& ./Configure linux-x86_64 no-shared --static "$CFLAGS" \
|
||||
&& make build_generated \
|
||||
&& make libcrypto.a \
|
||||
&& make install
|
||||
ENV OPENSSL_ROOT_DIR=/usr/local/openssl-${OPENSSL_VERSION}
|
||||
|
||||
# ZMQ
|
||||
ARG ZMQ_VERSION=v4.3.2
|
||||
ARG ZMQ_HASH=a84ffa12b2eb3569ced199660bac5ad128bff1f0
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} \
|
||||
&& cd libzmq \
|
||||
&& test `git rev-parse HEAD` = ${ZMQ_HASH} || exit 1 \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure --enable-static --disable-shared \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& ldconfig
|
||||
|
||||
# zmq.hpp
|
||||
ARG CPPZMQ_VERSION=v4.4.1
|
||||
ARG CPPZMQ_HASH=f5b36e563598d48fcc0d82e589d3596afef945ae
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/zeromq/cppzmq.git -b ${CPPZMQ_VERSION} \
|
||||
&& cd cppzmq \
|
||||
&& test `git rev-parse HEAD` = ${CPPZMQ_HASH} || exit 1 \
|
||||
&& mv *.hpp /usr/local/include
|
||||
|
||||
# Readline
|
||||
ARG READLINE_VERSION=8.0
|
||||
ARG READLINE_HASH=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
|
||||
RUN set -ex \
|
||||
&& curl -s -O https://ftp.gnu.org/gnu/readline/readline-${READLINE_VERSION}.tar.gz \
|
||||
&& echo "${READLINE_HASH} readline-${READLINE_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf readline-${READLINE_VERSION}.tar.gz \
|
||||
&& cd readline-${READLINE_VERSION} \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
# Sodium
|
||||
ARG SODIUM_VERSION=1.0.18
|
||||
ARG SODIUM_HASH=4f5e89fa84ce1d178a6765b8b46f2b6f91216677
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/jedisct1/libsodium.git -b ${SODIUM_VERSION} \
|
||||
&& cd libsodium \
|
||||
&& test `git rev-parse HEAD` = ${SODIUM_HASH} || exit 1 \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make check \
|
||||
&& make install
|
||||
|
||||
# Udev
|
||||
ARG UDEV_VERSION=v3.2.8
|
||||
ARG UDEV_HASH=d69f3f28348123ab7fa0ebac63ec2fd16800c5e0
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/gentoo/eudev -b ${UDEV_VERSION} \
|
||||
&& cd eudev \
|
||||
&& test `git rev-parse HEAD` = ${UDEV_HASH} || exit 1 \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure --disable-gudev --disable-introspection --disable-hwdb --disable-manpages --disable-shared \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
# Libusb
|
||||
ARG USB_VERSION=v1.0.22
|
||||
ARG USB_HASH=0034b2afdcdb1614e78edaa2a9e22d5936aeae5d
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/libusb/libusb.git -b ${USB_VERSION} \
|
||||
&& cd libusb \
|
||||
&& test `git rev-parse HEAD` = ${USB_HASH} || exit 1 \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure --disable-shared \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
# Hidapi
|
||||
ARG HIDAPI_VERSION=hidapi-0.8.0-rc1
|
||||
ARG HIDAPI_HASH=40cf516139b5b61e30d9403a48db23d8f915f52c
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/signal11/hidapi -b ${HIDAPI_VERSION} \
|
||||
&& cd hidapi \
|
||||
&& test `git rev-parse HEAD` = ${HIDAPI_HASH} || exit 1 \
|
||||
&& ./bootstrap \
|
||||
&& ./configure --enable-static --disable-shared \
|
||||
&& make \
|
||||
&& make install
|
||||
|
||||
# Protobuf
|
||||
ARG PROTOBUF_VERSION=v3.7.1
|
||||
ARG PROTOBUF_HASH=6973c3a5041636c1d8dc5f7f6c8c1f3c15bc63d6
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/protocolbuffers/protobuf -b ${PROTOBUF_VERSION} \
|
||||
&& cd protobuf \
|
||||
&& test `git rev-parse HEAD` = ${PROTOBUF_HASH} || exit 1 \
|
||||
&& git submodule update --init --recursive \
|
||||
&& ./autogen.sh \
|
||||
&& ./configure --enable-static --disable-shared \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& ldconfig
|
||||
git \
|
||||
libtool \
|
||||
pkg-config \
|
||||
gperf
|
||||
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
|
||||
ENV USE_SINGLE_BUILDDIR=1
|
||||
ARG NPROC
|
||||
RUN set -ex && \
|
||||
git submodule init && git submodule update && \
|
||||
rm -rf build && \
|
||||
if [ -z "$NPROC" ] ; \
|
||||
then make -j$(nproc) release-static ; \
|
||||
else make -j$NPROC release-static ; \
|
||||
then make -j$(nproc) depends target=x86_64-linux-gnu ; \
|
||||
else make -j$NPROC depends target=x86_64-linux-gnu ; \
|
||||
fi
|
||||
|
||||
# runtime stage
|
||||
FROM ubuntu:16.04
|
||||
FROM ubuntu:20.04
|
||||
|
||||
RUN set -ex && \
|
||||
apt-get update && \
|
||||
apt-get --no-install-recommends --yes install ca-certificates && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt
|
||||
COPY --from=builder /src/build/release/bin /usr/local/bin/
|
||||
COPY --from=builder /src/build/x86_64-linux-gnu/release/bin /usr/local/bin/
|
||||
|
||||
# Create monero user
|
||||
RUN adduser --system --group --disabled-password monero && \
|
||||
mkdir -p /wallet /home/monero/.bitmonero && \
|
||||
chown -R monero:monero /home/monero/.bitmonero && \
|
||||
chown -R monero:monero /wallet
|
||||
# Create wownero user
|
||||
RUN adduser --system --group --disabled-password wownero && \
|
||||
mkdir -p /wallet /home/wownero/.wownero && \
|
||||
chown -R wownero:wownero /home/wownero/.wownero && \
|
||||
chown -R wownero:wownero /wallet
|
||||
|
||||
# Contains the blockchain
|
||||
VOLUME /home/monero/.bitmonero
|
||||
VOLUME /home/wownero/.wownero
|
||||
|
||||
# Generate your wallet via accessing the container and run:
|
||||
# cd /wallet
|
||||
# monero-wallet-cli
|
||||
# wownero-wallet-cli
|
||||
VOLUME /wallet
|
||||
|
||||
EXPOSE 18080
|
||||
EXPOSE 18081
|
||||
EXPOSE 34567
|
||||
EXPOSE 34568
|
||||
|
||||
# switch to user monero
|
||||
USER monero
|
||||
# switch to user wownero
|
||||
USER wownero
|
||||
|
||||
ENTRYPOINT ["monerod", "--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=18080", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=18081", "--non-interactive", "--confirm-external-bind"]
|
||||
ENTRYPOINT ["wownerod"]
|
||||
CMD ["--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=34567", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=34568", "--non-interactive", "--confirm-external-bind"]
|
||||
|
||||
|
@ -0,0 +1,10 @@
|
||||
package=darwin_sdk
|
||||
$(package)_version=11.1
|
||||
$(package)_download_path=https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/
|
||||
$(package)_file_name=MacOSX$($(package)_version).sdk.tar.xz
|
||||
$(package)_sha256_hash=68797baaacb52f56f713400de306a58a7ca00b05c3dc6d58f0a8283bcac721f8
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
|
||||
mv * $($(package)_staging_dir)/$(host_prefix)/native/SDK
|
||||
endef
|
@ -1,34 +0,0 @@
|
||||
package=ldns
|
||||
$(package)_version=1.6.17
|
||||
$(package)_download_path=https://www.nlnetlabs.nl/downloads/ldns/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f9bcc8cd
|
||||
$(package)_dependencies=openssl
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --enable-static --with-drill
|
||||
$(package)_config_opts+=--with-ssl=$(host_prefix)
|
||||
$(package)_config_opts_release=--disable-debug-mode
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-h install-lib
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm lib/*.la
|
||||
endef
|
||||
|
@ -0,0 +1,29 @@
|
||||
package=native_clang
|
||||
$(package)_version=9.0.0
|
||||
$(package)_download_path=https://releases.llvm.org/$($(package)_version)
|
||||
$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
|
||||
$(package)_file_name=clang-llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
|
||||
$(package)_sha256_hash=a23b082b30c128c9831dbdd96edad26b43f56624d0ad0ea9edec506f5385038d
|
||||
|
||||
define $(package)_extract_cmds
|
||||
echo $($(package)_sha256_hash) $($(package)_source) | sha256sum -c &&\
|
||||
mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
|
||||
tar --strip-components=1 -C toolchain -xf $($(package)_source) && \
|
||||
rm -f toolchain/lib/libc++abi.so* && \
|
||||
echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
|
||||
echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
|
||||
chmod +x toolchain/bin/$(host)-dsymutil
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
cd $($(package)_extract_dir)/toolchain && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
|
||||
cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
|
||||
cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
|
||||
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cp -rf lib/clang/$($(package)_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include/ && \
|
||||
cp bin/dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
||||
if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
|
||||
if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
|
||||
endef
|
@ -0,0 +1,28 @@
|
||||
package=native_libtapi
|
||||
$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
|
||||
$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
|
||||
$(package)_download_file=$($(package)_version).tar.gz
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
|
||||
$(package)_build_subdir=build
|
||||
$(package)_dependencies=native_clang
|
||||
|
||||
define $(package)_config_cmds
|
||||
echo -n $(build_prefix) > INSTALLPREFIX; \
|
||||
CC=$(host_prefix)/native/bin/clang CXX=$(host_prefix)/native/bin/clang++ \
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
||||
-DTAPI_REPOSITORY_STRING="1100.0.11" \
|
||||
-DTAPI_FULL_VERSION="11.0.0" \
|
||||
-DCMAKE_CXX_FLAGS="-I $($(package)_extract_dir)/src/llvm/projects/clang/include -I $($(package)_build_dir)/projects/clang/include" \
|
||||
$($(package)_extract_dir)/src/llvm
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) clangBasic && $(MAKE) libtapi
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-libtapi install-tapi-headers
|
||||
endef
|
@ -1,175 +0,0 @@
|
||||
PACKAGE=qt
|
||||
$(package)_version=5.15.1
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=33960404d579675b7210de103ed06a72613bfc4305443e278e2d32a3eb1f3d8c
|
||||
$(package)_build_subdir=qtbase
|
||||
$(package)_qt_libs=corelib
|
||||
$(package)_patches=fix_qt_pkgconfig.patch fix_no_printer.patch fix_rcc_determinism.patch no-xlib.patch
|
||||
|
||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||
$(package)_qttranslations_sha256_hash=46e0c0e3a511fbcc803a4146204062e47f6ed43b34d98a3c27372a03b8746bd8
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=c98ee5f0f980bf68cbf0c94d62434816a92441733de50bd9adbe9b9055f03498
|
||||
|
||||
$(package)_extra_sources = $($(package)_qttranslations_file_name)
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts_release = -release
|
||||
$(package)_config_opts_debug = -debug
|
||||
$(package)_config_opts += -bindir $(build_prefix)/bin
|
||||
$(package)_config_opts += -c++std c++11
|
||||
$(package)_config_opts += -confirm-license
|
||||
$(package)_config_opts += -dbus-runtime
|
||||
$(package)_config_opts += -hostprefix $(build_prefix)
|
||||
$(package)_config_opts += -no-compile-examples
|
||||
$(package)_config_opts += -no-cups
|
||||
$(package)_config_opts += -no-egl
|
||||
$(package)_config_opts += -no-eglfs
|
||||
$(package)_config_opts += -no-evdev
|
||||
$(package)_config_opts += -no-gui
|
||||
$(package)_config_opts += -no-freetype
|
||||
$(package)_config_opts += -no-gif
|
||||
$(package)_config_opts += -no-glib
|
||||
$(package)_config_opts += -no-icu
|
||||
$(package)_config_opts += -no-ico
|
||||
$(package)_config_opts += -no-iconv
|
||||
$(package)_config_opts += -no-kms
|
||||
$(package)_config_opts += -no-linuxfb
|
||||
$(package)_config_opts += -no-libjpeg
|
||||
$(package)_config_opts += -no-libudev
|
||||
$(package)_config_opts += -no-mtdev
|
||||
$(package)_config_opts += -no-openvg
|
||||
$(package)_config_opts += -no-reduce-relocations
|
||||
$(package)_config_opts += -no-sql-db2
|
||||
$(package)_config_opts += -no-sql-ibase
|
||||
$(package)_config_opts += -no-sql-oci
|
||||
$(package)_config_opts += -no-sql-tds
|
||||
$(package)_config_opts += -no-sql-mysql
|
||||
$(package)_config_opts += -no-sql-odbc
|
||||
$(package)_config_opts += -no-sql-psql
|
||||
$(package)_config_opts += -no-sql-sqlite
|
||||
$(package)_config_opts += -no-sql-sqlite2
|
||||
$(package)_config_opts += -no-use-gold-linker
|
||||
$(package)_config_opts += -nomake examples
|
||||
$(package)_config_opts += -nomake tests
|
||||
$(package)_config_opts += -opensource
|
||||
$(package)_config_opts += -no-openssl
|
||||
$(package)_config_opts += -optimized-qmake
|
||||
$(package)_config_opts += -pch
|
||||
$(package)_config_opts += -pkg-config
|
||||
$(package)_config_opts += -prefix $(host_prefix)
|
||||
$(package)_config_opts += -no-libpng
|
||||
$(package)_config_opts += -qt-pcre
|
||||
$(package)_config_opts += -qt-harfbuzz
|
||||
$(package)_config_opts += -no-zlib
|
||||
$(package)_config_opts += -static
|
||||
$(package)_config_opts += -silent
|
||||
$(package)_config_opts += -v
|
||||
$(package)_config_opts += -no-feature-bearermanagement
|
||||
$(package)_config_opts += -no-feature-colordialog
|
||||
$(package)_config_opts += -no-feature-dial
|
||||
$(package)_config_opts += -no-feature-filesystemwatcher
|
||||
$(package)_config_opts += -no-feature-fontcombobox
|
||||
$(package)_config_opts += -no-feature-ftp
|
||||
$(package)_config_opts += -no-feature-image_heuristic_mask
|
||||
$(package)_config_opts += -no-feature-keysequenceedit
|
||||
$(package)_config_opts += -no-feature-lcdnumber
|
||||
$(package)_config_opts += -no-feature-pdf
|
||||
$(package)_config_opts += -no-feature-printdialog
|
||||
$(package)_config_opts += -no-feature-printer
|
||||
$(package)_config_opts += -no-feature-printpreviewdialog
|
||||
$(package)_config_opts += -no-feature-printpreviewwidget
|
||||
$(package)_config_opts += -no-feature-sessionmanager
|
||||
$(package)_config_opts += -no-feature-sql
|
||||
$(package)_config_opts += -no-feature-statemachine
|
||||
$(package)_config_opts += -no-feature-syntaxhighlighter
|
||||
$(package)_config_opts += -no-feature-textbrowser
|
||||
$(package)_config_opts += -no-feature-textodfwriter
|
||||
$(package)_config_opts += -no-feature-topleveldomain
|
||||
$(package)_config_opts += -no-feature-udpsocket
|
||||
$(package)_config_opts += -no-feature-undocommand
|
||||
$(package)_config_opts += -no-feature-undogroup
|
||||
$(package)_config_opts += -no-feature-undostack
|
||||
$(package)_config_opts += -no-feature-undoview
|
||||
$(package)_config_opts += -no-feature-vnc
|
||||
$(package)_config_opts += -no-feature-wizard
|
||||
$(package)_config_opts_linux = -no-fontconfig
|
||||
$(package)_config_opts_linux += -no-opengl
|
||||
$(package)_config_opts_linux += -no-xcb
|
||||
$(package)_config_opts_linux += -no-feature-xlib
|
||||
endef
|
||||
|
||||
define $(package)_fetch_cmds
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash))
|
||||
endef
|
||||
|
||||
define $(package)_extract_cmds
|
||||
mkdir -p $($(package)_extract_dir) && \
|
||||
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir qtbase && \
|
||||
tar --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||
mkdir qttranslations && \
|
||||
tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
|
||||
mkdir qttools && \
|
||||
tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
|
||||
endef
|
||||
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
sed -i.old "s|FT_Get_Font_Format|FT_Get_X11_Font_Format|" qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp && \
|
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
|
||||
sed -i.old "s/src_plugins.depends = src_sql src_network/src_plugins.depends = src_network/" qtbase/src/src.pro && \
|
||||
cp -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/bitcoin-linux-g++ && \
|
||||
sed -i.old "s/arm-linux-gnueabi-/$(host)-/g" qtbase/mkspecs/bitcoin-linux-g++/qmake.conf && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
|
||||
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
|
||||
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s/LIBRARY_PATH/(CROSS_)?\0/g" qtbase/mkspecs/features/toolchain.prf
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
|
||||
./configure $($(package)_config_opts) && \
|
||||
echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
|
||||
$(MAKE) sub-src-clean && \
|
||||
cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
|
||||
cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\
|
||||
cd qttools/src/linguist/lrelease/ && ../../../../qtbase/bin/qmake lrelease.pro -o Makefile
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \
|
||||
$(MAKE) -C ../qttools/src/linguist/lrelease && \
|
||||
$(MAKE) -C ../qttranslations
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. &&\
|
||||
$(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
|
||||
$(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf native/mkspecs/ native/lib/ lib/cmake/ && \
|
||||
rm -f lib/lib*.la lib/*.prl plugins/*/*.prl
|
||||
endef
|
@ -0,0 +1,11 @@
|
||||
--- boost_1_64_0/tools/build/src/tools/darwin.jam.O 2017-04-17 03:22:26.000000000 +0100
|
||||
+++ boost_1_64_0/tools/build/src/tools/darwin.jam 2022-05-04 17:26:29.984464447 +0000
|
||||
@@ -505,7 +505,7 @@
|
||||
if $(instruction-set) {
|
||||
options = -arch$(_)$(instruction-set) ;
|
||||
} else {
|
||||
- options = -arch arm ;
|
||||
+# options = -arch arm ;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
From a77b066311da42ed7654e39c0356a3b951b2e296 Mon Sep 17 00:00:00 2001
|
||||
From: selsta <selsta@sent.at>
|
||||
Date: Wed, 10 Nov 2021 02:28:54 +0100
|
||||
Subject: [PATCH] windows: add missing include for mingw32
|
||||
|
||||
---
|
||||
windows/hid.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/windows/hid.c b/windows/hid.c
|
||||
index 24756a4..6d8394c 100644
|
||||
--- a/windows/hid.c
|
||||
+++ b/windows/hid.c
|
||||
@@ -33,6 +33,7 @@ typedef LONG NTSTATUS;
|
||||
#endif
|
||||
|
||||
#ifdef __MINGW32__
|
||||
+#include <devpropdef.h>
|
||||
#include <ntdef.h>
|
||||
#include <winbase.h>
|
||||
#endif
|
@ -1,12 +0,0 @@
|
||||
--- cctools/Makefile.am.O 2016-06-09 15:06:16.000000000 +0100
|
||||
+++ cctools/Makefile.am 2019-11-18 08:59:20.078663220 +0000
|
||||
@@ -1,7 +1,7 @@
|
||||
if ISDARWIN
|
||||
-SUBDIRS=libstuff ar as misc otool ld64 $(LD_CLASSIC)
|
||||
+SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC)
|
||||
else
|
||||
-SUBDIRS=libstuff ar as misc libobjc2 otool ld64 $(LD_CLASSIC)
|
||||
+SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC)
|
||||
endif
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
@ -0,0 +1,159 @@
|
||||
--- src/google/protobuf/descriptor.cc.O 2018-07-30 22:16:10.000000000 +0000
|
||||
+++ src/google/protobuf/descriptor.cc 2022-05-06 13:38:14.827309092 +0000
|
||||
@@ -32,6 +32,9 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
#include <google/protobuf/stubs/hash.h>
|
||||
@@ -7274,3 +7277,6 @@
|
||||
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/extension_set.cc.O 2018-07-23 20:56:42.000000000 +0000
|
||||
+++ src/google/protobuf/extension_set.cc 2022-05-06 14:48:55.369877050 +0000
|
||||
@@ -32,6 +32,9 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
#include <google/protobuf/stubs/hash.h>
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
@@ -1914,3 +1917,6 @@
|
||||
} // namespace internal
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/extension_set_heavy.cc.O 2018-07-30 22:16:10.000000000 +0000
|
||||
+++ src/google/protobuf/extension_set_heavy.cc 2022-05-06 14:14:27.847320946 +0000
|
||||
@@ -35,6 +35,10 @@
|
||||
// Contains methods defined in extension_set.h which cannot be part of the
|
||||
// lite library because they use descriptors or reflection.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
+
|
||||
#include <google/protobuf/stubs/casts.h>
|
||||
#include <google/protobuf/descriptor.pb.h>
|
||||
#include <google/protobuf/io/coded_stream.h>
|
||||
@@ -814,3 +818,6 @@
|
||||
} // namespace internal
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/generated_message_reflection.cc.O 2018-07-23 20:56:42.000000000 +0000
|
||||
+++ src/google/protobuf/generated_message_reflection.cc 2022-05-06 13:38:49.655540772 +0000
|
||||
@@ -32,6 +32,9 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
#include <algorithm>
|
||||
#include <set>
|
||||
|
||||
@@ -2420,3 +2423,6 @@
|
||||
} // namespace internal
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/map_field.cc.O 2018-07-23 20:56:42.000000000 +0000
|
||||
+++ src/google/protobuf/map_field.cc 2022-05-06 13:34:44.913905697 +0000
|
||||
@@ -28,6 +28,10 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
+
|
||||
#include <google/protobuf/map_field.h>
|
||||
#include <google/protobuf/map_field_inl.h>
|
||||
|
||||
@@ -462,3 +466,6 @@
|
||||
} // namespace internal
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/text_format.cc.O 2018-07-30 22:16:11.000000000 +0000
|
||||
+++ src/google/protobuf/text_format.cc 2022-05-06 13:34:58.881999517 +0000
|
||||
@@ -32,6 +32,10 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
+
|
||||
#include <algorithm>
|
||||
#include <float.h>
|
||||
#include <math.h>
|
||||
@@ -2258,3 +2262,6 @@
|
||||
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/wire_format.cc.O 2018-07-23 20:56:42.000000000 +0000
|
||||
+++ src/google/protobuf/wire_format.cc 2022-05-06 13:06:23.294219228 +0000
|
||||
@@ -32,6 +32,10 @@
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
+
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -1445,3 +1449,7 @@
|
||||
} // namespace internal
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
||||
--- src/google/protobuf/stubs/status.cc.O 2018-07-23 20:56:42.000000000 +0000
|
||||
+++ src/google/protobuf/stubs/status.cc 2022-05-06 15:18:53.393208814 +0000
|
||||
@@ -27,6 +27,11 @@
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility push(hidden)
|
||||
+#endif
|
||||
+
|
||||
#include <google/protobuf/stubs/status.h>
|
||||
|
||||
#include <ostream>
|
||||
@@ -132,3 +137,6 @@
|
||||
} // namespace util
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
+#if defined(__APPLE__) && defined(__arm64__)
|
||||
+#pragma GCC visibility pop
|
||||
+#endif
|
@ -1,19 +0,0 @@
|
||||
--- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
|
||||
+++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
|
||||
@@ -52,6 +52,7 @@
|
||||
//
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
+#include <qpa/qplatformprintdevice.h>
|
||||
|
||||
#ifndef QT_NO_PRINTER
|
||||
|
||||
--- x/qtbase/src/plugins/plugins.pro
|
||||
+++ y/qtbase/src/plugins/plugins.pro
|
||||
@@ -9,6 +9,3 @@ qtHaveModule(gui) {
|
||||
!android:qtConfig(library): SUBDIRS *= generic
|
||||
}
|
||||
qtHaveModule(widgets): SUBDIRS += styles
|
||||
-
|
||||
-!winrt:qtHaveModule(printsupport): \
|
||||
- SUBDIRS += printsupport
|
@ -1,11 +0,0 @@
|
||||
--- old/qtbase/mkspecs/features/qt_module.prf
|
||||
+++ new/qtbase/mkspecs/features/qt_module.prf
|
||||
@@ -269,7 +269,7 @@ load(qt_installs)
|
||||
load(qt_targets)
|
||||
|
||||
# this builds on top of qt_common
|
||||
-!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
|
||||
+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
|
||||
CONFIG += create_pc
|
||||
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
||||
host_build: \
|
@ -1,15 +0,0 @@
|
||||
--- old/qtbase/src/tools/rcc/rcc.cpp
|
||||
+++ new/qtbase/src/tools/rcc/rcc.cpp
|
||||
@@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
|
||||
if (lib.formatVersion() >= 2) {
|
||||
// last modified time stamp
|
||||
const QDateTime lastModified = m_fileInfo.lastModified();
|
||||
- lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0));
|
||||
+ quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
|
||||
+ static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
|
||||
+ if (sourceDate != 0)
|
||||
+ lastmod = sourceDate;
|
||||
+ lib.writeNumber8(lastmod);
|
||||
if (text || pass1)
|
||||
lib.writeChar('\n');
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
From 9563cef873ae82e06f60708d706d054717e801ce Mon Sep 17 00:00:00 2001
|
||||
From: Carl Dong <contact@carldong.me>
|
||||
Date: Thu, 18 Jul 2019 17:22:05 -0400
|
||||
Subject: [PATCH] Wrap xlib related code blocks in #if's
|
||||
|
||||
They are not necessary to compile QT.
|
||||
---
|
||||
qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
index 7c62c2e2b3..c05c6c0a07 100644
|
||||
--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
+++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
@@ -49,7 +49,9 @@
|
||||
#include <QtGui/QWindow>
|
||||
#include <QtGui/QBitmap>
|
||||
#include <QtGui/private/qguiapplication_p.h>
|
||||
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||
#include <X11/cursorfont.h>
|
||||
+#endif
|
||||
#include <xcb/xfixes.h>
|
||||
#include <xcb/xcb_image.h>
|
||||
|
||||
@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
|
||||
xcb_flush(xcb_connection());
|
||||
}
|
||||
|
||||
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||
static int cursorIdForShape(int cshape)
|
||||
{
|
||||
int cursorId = 0;
|
||||
@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
|
||||
}
|
||||
return cursorId;
|
||||
}
|
||||
+#endif
|
||||
|
||||
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
|
||||
{
|
||||
@@ -556,7 +560,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
|
||||
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||
{
|
||||
xcb_connection_t *conn = xcb_connection();
|
||||
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||
int cursorId = cursorIdForShape(cshape);
|
||||
+#endif
|
||||
xcb_cursor_t cursor = XCB_NONE;
|
||||
|
||||
// Try Xcursor first
|
||||
@@ -586,6 +592,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||
// Non-standard X11 cursors are created from bitmaps
|
||||
cursor = createNonStandardCursor(cshape);
|
||||
|
||||
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||
// Create a glpyh cursor if everything else failed
|
||||
if (!cursor && cursorId) {
|
||||
cursor = xcb_generate_id(conn);
|
||||
@@ -593,6 +600,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||
cursorId, cursorId + 1,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (cursor && cshape >= 0 && cshape < Qt::LastCursor && connection()->hasXFixes()) {
|
||||
const char *name = cursorNames[cshape].front();
|
||||
---
|
||||
2.22.0
|
||||
|
@ -0,0 +1,14 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5c7da197..e2b25288 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1702,6 +1702,9 @@ AC_LINK_IFELSE([AC_LANG_SOURCE(AC_INCLUDES_DEFAULT
|
||||
#ifndef _OPENBSD_SOURCE
|
||||
#define _OPENBSD_SOURCE 1
|
||||
#endif
|
||||
+#ifdef __linux__
|
||||
+# error reallocarray() is currently disabled on Linux to support glibc < 2.26
|
||||
+#endif
|
||||
#include <stdlib.h>
|
||||
int main(void) {
|
||||
void* p = reallocarray(NULL, 10, 100);
|
@ -0,0 +1,22 @@
|
||||
From 06aba27b04c5822cb88a69677382a0f053367143 Mon Sep 17 00:00:00 2001
|
||||
From: sabotagebeats <27985126+sabotagebeats@users.noreply.github.com>
|
||||
Date: Thu, 22 Jul 2021 21:53:19 -0700
|
||||
Subject: [PATCH] fix: building libzmq fails with error src/clock.cpp:131:16:
|
||||
error: unused variable 'nsecs_per_usec'
|
||||
|
||||
---
|
||||
src/clock.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/clock.cpp b/src/clock.cpp
|
||||
index 93da90a8e..63c0100a5 100644
|
||||
--- a/src/clock.cpp
|
||||
+++ b/src/clock.cpp
|
||||
@@ -195,6 +195,7 @@ uint64_t zmq::clock_t::now_us ()
|
||||
|
||||
#else
|
||||
|
||||
+ LIBZMQ_UNUSED (nsecs_per_usec);
|
||||
// Use POSIX gettimeofday function to get precise time.
|
||||
struct timeval tv;
|
||||
int rc = gettimeofday (&tv, NULL);
|
@ -1,22 +0,0 @@
|
||||
From 9114d3957725acd34aa8b8d011585812f3369411 Mon Sep 17 00:00:00 2001
|
||||
From: Jeroen Ooms <jeroenooms@gmail.com>
|
||||
Date: Tue, 20 Oct 2015 13:10:38 +0200
|
||||
Subject: [PATCH] enable static libraries on mingw
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 393505b..e92131a 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -265,7 +265,7 @@ case "${host_os}" in
|
||||
libzmq_dso_visibility="no"
|
||||
|
||||
if test "x$enable_static" = "xyes"; then
|
||||
- AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
|
||||
+ CPPFLAGS="-DZMQ_STATIC"
|
||||
fi
|
||||
|
||||
# Set FD_SETSIZE to 1024
|
@ -1,22 +0,0 @@
|
||||
From 9e6745c12e0b100cd38acecc16ce7db02905e27c Mon Sep 17 00:00:00 2001
|
||||
From: David Millard <dmillard10@gmail.com>
|
||||
Date: Tue, 10 May 2016 13:53:53 -0700
|
||||
Subject: [PATCH] Fix autotools for static MinGW builds
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5a0fa14..def6ea7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -259,7 +259,7 @@ case "${host_os}" in
|
||||
libzmq_dso_visibility="no"
|
||||
|
||||
if test "x$enable_static" = "xyes"; then
|
||||
- CPPFLAGS="-DZMQ_STATIC"
|
||||
+ CPPFLAGS="-DZMQ_STATIC $CPPFLAGS"
|
||||
fi
|
||||
|
||||
# Set FD_SETSIZE to 1024
|
@ -1,38 +0,0 @@
|
||||
From ffe62d3398d5e0191f554f61049aa7ec9fc892ae Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Lemercier <greglemercier@free.fr>
|
||||
Date: Sun, 7 Oct 2018 18:06:54 +0200
|
||||
Subject: [PATCH] Fix build on arm64 architectures with some strict compilers
|
||||
|
||||
This patch fixes an issue that occurs on 64-bit architetures under
|
||||
strict compiler rules. The code initially checked that the received
|
||||
size stored in 'uint64_t' was not bigger than the max value of a
|
||||
'size_t' variable, which is legitimate on 32-bit architectures where
|
||||
'size_t' variables are stored on 32 bits. On 64-bit architectures,
|
||||
this test no longer makes sense since 'uint64_t' and 'size_t' types
|
||||
have the same size. The issue is fixed by ignoring this portion
|
||||
of code when built for arm64.
|
||||
---
|
||||
src/v1_decoder.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/v1_decoder.cpp b/src/v1_decoder.cpp
|
||||
index b002dc9d..2c8c97a7 100644
|
||||
--- a/src/v1_decoder.cpp
|
||||
+++ b/src/v1_decoder.cpp
|
||||
@@ -114,11 +114,13 @@ int zmq::v1_decoder_t::eight_byte_size_ready ()
|
||||
return -1;
|
||||
}
|
||||
|
||||
+#ifndef __aarch64__
|
||||
// Message size must fit within range of size_t data type.
|
||||
if (payload_length - 1 > std::numeric_limits <size_t>::max ()) {
|
||||
errno = EMSGSIZE;
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
|
||||
const size_t msg_size = static_cast <size_t> (payload_length - 1);
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1 +0,0 @@
|
||||
/build/*
|
@ -1,49 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
#set(Boost_DEBUG 1)
|
||||
find_package(Boost COMPONENTS system filesystem thread date_time chrono regex )
|
||||
|
||||
include_directories( ${Boost_INCLUDE_DIRS} )
|
||||
|
||||
|
||||
IF (MSVC)
|
||||
add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /nologo /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /bigobj" )
|
||||
ELSE()
|
||||
# set stuff for other systems
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-reorder -D_GNU_SOURCE")
|
||||
ENDIF()
|
||||
|
||||
|
||||
include_directories(.)
|
||||
include_directories(../include)
|
||||
include_directories(iface)
|
||||
|
||||
|
||||
# Add folders to filters
|
||||
file(GLOB_RECURSE LEVIN_GENERAL_SECTION RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.cpp)
|
||||
|
||||
file(GLOB_RECURSE HTTP_GENERAL_SECTION RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.inl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.cpp)
|
||||
|
||||
|
||||
|
||||
source_group(general FILES ${LEVIN_GENERAL_SECTION} FILES ${HTTP_GENERAL_SECTION})
|
||||
#source_group(general FILES ${HTTP_GENERAL_SECTION})
|
||||
|
||||
add_executable(demo_http_server ${HTTP_GENERAL_SECTION} )
|
||||
add_executable(demo_levin_server ${LEVIN_GENERAL_SECTION} )
|
||||
|
||||
target_link_libraries( demo_http_server ${Boost_LIBRARIES} )
|
||||
target_link_libraries( demo_levin_server ${Boost_LIBRARIES} )
|
||||
|
||||
IF (NOT WIN32)
|
||||
target_link_libraries (demo_http_server rt)
|
||||
target_link_libraries (demo_levin_server rt)
|
||||
ENDIF()
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// demo_http_server.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
// TODO: reference any additional headers you need in STDAFX.H
|
||||
// and not in this file
|
@ -1,40 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "targetver.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define BOOST_FILESYSTEM_VERSION 3
|
||||
#define ENABLE_RELEASE_LOGGING
|
||||
#include "misc_log_ex.h"
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
// The following macros define the minimum required platform. The minimum required platform
|
||||
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
|
||||
// your application. The macros work by enabling all features available on platform versions up to and
|
||||
// including the version specified.
|
||||
|
||||
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
||||
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
||||
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
|
||||
#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
@ -1,30 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
|
||||
|
||||
#include "stdafx.h"
|
||||
|
@ -1,41 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "targetver.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define BOOST_FILESYSTEM_VERSION 3
|
||||
#define ENABLE_RELEASE_LOGGING
|
||||
#include "log_opt_defs.h"
|
||||
#include "misc_log_ex.h"
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
// The following macros define the minimum required platform. The minimum required platform
|
||||
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
|
||||
// your application. The macros work by enabling all features available on platform versions up to and
|
||||
// including the version specified.
|
||||
|
||||
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
||||
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
||||
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
|
||||
#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
@ -1,4 +0,0 @@
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
#cmake -DBOOST_ROOT=/usr/local/proj/boost_1_49_0 -DBOOST_LIBRARYDIR=/usr/local/proj/boost_1_49_0/stage/lib ..
|
@ -1,7 +0,0 @@
|
||||
mkdir build
|
||||
|
||||
cd build
|
||||
|
||||
cmake "-DBoost_USE_STATIC_LIBS=TRUE" -G "Visual Studio 11 Win64" ..
|
||||
cd ..
|
||||
pause
|
@ -1,225 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "serialization/keyvalue_serialization.h"
|
||||
#include "storages/portable_storage_base.h"
|
||||
|
||||
namespace demo
|
||||
{
|
||||
|
||||
struct some_test_subdata
|
||||
{
|
||||
std::string m_str;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(m_str)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
|
||||
struct some_test_data
|
||||
{
|
||||
std::string m_str;
|
||||
uint64_t m_uint64;
|
||||
uint32_t m_uint32;
|
||||
uint16_t m_uint16;
|
||||
uint8_t m_uint8;
|
||||
int64_t m_int64;
|
||||
int32_t m_int32;
|
||||
int16_t m_int16;
|
||||
int8_t m_int8;
|
||||
double m_double;
|
||||
bool m_bool;
|
||||
std::list<std::string> m_list_of_str;
|
||||
std::list<uint64_t> m_list_of_uint64_t;
|
||||
std::list<uint32_t> m_list_of_uint32_t;
|
||||
std::list<uint16_t> m_list_of_uint16_t;
|
||||
std::list<uint8_t> m_list_of_uint8_t;
|
||||
std::list<int64_t> m_list_of_int64_t;
|
||||
std::list<int32_t> m_list_of_int32_t;
|
||||
std::list<int16_t> m_list_of_int16_t;
|
||||
std::list<int8_t> m_list_of_int8_t;
|
||||
std::list<double> m_list_of_double;
|
||||
std::list<bool> m_list_of_bool;
|
||||
some_test_subdata m_subobj;
|
||||
std::list<some_test_data> m_list_of_self;
|
||||
epee::serialization::storage_entry m_storage_entry_int;
|
||||
epee::serialization::storage_entry m_storage_entry_string;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(m_str)
|
||||
KV_SERIALIZE(m_uint64)
|
||||
KV_SERIALIZE(m_uint32)
|
||||
KV_SERIALIZE(m_uint16)
|
||||
KV_SERIALIZE(m_uint8)
|
||||
KV_SERIALIZE(m_int64)
|
||||
KV_SERIALIZE(m_int32)
|
||||
KV_SERIALIZE(m_int16)
|
||||
KV_SERIALIZE(m_int8)
|
||||
KV_SERIALIZE(m_double)
|
||||
KV_SERIALIZE(m_bool)
|
||||
KV_SERIALIZE(m_subobj)
|
||||
KV_SERIALIZE(m_list_of_str)
|
||||
KV_SERIALIZE(m_list_of_uint64_t)
|
||||
KV_SERIALIZE(m_list_of_uint32_t)
|
||||
KV_SERIALIZE(m_list_of_uint16_t)
|
||||
KV_SERIALIZE(m_list_of_uint8_t)
|
||||
KV_SERIALIZE(m_list_of_int64_t)
|
||||
KV_SERIALIZE(m_list_of_int32_t)
|
||||
KV_SERIALIZE(m_list_of_int16_t)
|
||||
KV_SERIALIZE(m_list_of_int8_t)
|
||||
KV_SERIALIZE(m_list_of_double)
|
||||
KV_SERIALIZE(m_list_of_bool)
|
||||
KV_SERIALIZE(m_list_of_self)
|
||||
KV_SERIALIZE(m_storage_entry_int)
|
||||
KV_SERIALIZE(m_storage_entry_string)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/************************************************************************/
|
||||
struct COMMAND_EXAMPLE_1
|
||||
{
|
||||
const static int ID = 1000;
|
||||
|
||||
struct request_t
|
||||
{
|
||||
std::string example_string_data;
|
||||
some_test_data sub;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(example_string_data)
|
||||
KV_SERIALIZE(sub)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
typedef epee::misc_utils::struct_init<request_t> request;
|
||||
|
||||
|
||||
struct response_t
|
||||
{
|
||||
bool m_success;
|
||||
std::list<some_test_data> subs;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(m_success)
|
||||
KV_SERIALIZE(subs)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
};
|
||||
typedef epee::misc_utils::struct_init<response_t> response;
|
||||
|
||||
|
||||
|
||||
struct COMMAND_EXAMPLE_2
|
||||
{
|
||||
const static int ID = 1001;
|
||||
|
||||
struct request_t
|
||||
{
|
||||
std::string example_string_data2;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(example_string_data2)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
typedef epee::misc_utils::struct_init<request_t> request;
|
||||
|
||||
struct response_t
|
||||
{
|
||||
bool m_success;
|
||||
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(m_success)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
typedef epee::misc_utils::struct_init<response_t> response;
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------
|
||||
//-------------------------------------------------------------------------------------
|
||||
//in debug purpose
|
||||
bool operator != (const some_test_subdata& a, const some_test_subdata& b)
|
||||
{
|
||||
return b.m_str != a.m_str;
|
||||
}
|
||||
|
||||
bool operator == (const some_test_data& a, const some_test_data& b)
|
||||
{
|
||||
if( b.m_str != a.m_str
|
||||
|| b.m_uint64 != a.m_uint64
|
||||
|| b.m_uint32 != a.m_uint32
|
||||
|| b.m_uint16 != a.m_uint16
|
||||
|| b.m_uint8 != a.m_uint8
|
||||
|| b.m_int64 != a.m_int64
|
||||
|| b.m_int32 != a.m_int32
|
||||
|| b.m_int16 != a.m_int16
|
||||
|| b.m_int8 != a.m_int8
|
||||
|| b.m_double != a.m_double
|
||||
|| b.m_bool != a.m_bool
|
||||
|| b.m_list_of_str != a.m_list_of_str
|
||||
|| b.m_list_of_uint64_t != a.m_list_of_uint64_t
|
||||
|| b.m_list_of_uint32_t != a.m_list_of_uint32_t
|
||||
|| b.m_list_of_uint16_t != a.m_list_of_uint16_t
|
||||
|| b.m_list_of_uint8_t != a.m_list_of_uint8_t
|
||||
|| b.m_list_of_int64_t != a.m_list_of_int64_t
|
||||
|| b.m_list_of_int32_t != a.m_list_of_int32_t
|
||||
|| b.m_list_of_int16_t != a.m_list_of_int16_t
|
||||
|| b.m_list_of_int8_t != a.m_list_of_int8_t
|
||||
|| b.m_list_of_double != a.m_list_of_double
|
||||
|| b.m_list_of_bool != a.m_list_of_bool
|
||||
|| b.m_subobj != a.m_subobj
|
||||
|| b.m_list_of_self != a.m_list_of_self
|
||||
|| b.m_storage_entry_int.which() != a.m_storage_entry_int.which()
|
||||
|| b.m_storage_entry_string.which() != a.m_storage_entry_string.which()
|
||||
)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
inline some_test_data get_test_data()
|
||||
{
|
||||
some_test_data s;
|
||||
s.m_str = "zuzuzuzuzuz";
|
||||
s.m_uint64 = 111111111111111;
|
||||
s.m_uint32 = 2222222;
|
||||
s.m_uint16 = 2222;
|
||||
s.m_uint8 = 22;
|
||||
s.m_int64 = -111111111111111;
|
||||
s.m_int32 = -2222222;
|
||||
s.m_int16 = -2222;
|
||||
s.m_int8 = -24;
|
||||
s.m_double = 0.11111;
|
||||
s.m_bool = true;
|
||||
s.m_list_of_str.push_back("1112121");
|
||||
s.m_list_of_uint64_t.push_back(1111111111);
|
||||
s.m_list_of_uint64_t.push_back(2222222222);
|
||||
s.m_list_of_uint32_t.push_back(1111111);
|
||||
s.m_list_of_uint32_t.push_back(2222222);
|
||||
s.m_list_of_uint16_t.push_back(1111);
|
||||
s.m_list_of_uint16_t.push_back(2222);
|
||||
s.m_list_of_uint8_t.push_back(11);
|
||||
s.m_list_of_uint8_t.push_back(22);
|
||||
|
||||
|
||||
s.m_list_of_int64_t.push_back(-1111111111);
|
||||
s.m_list_of_int64_t.push_back(-222222222);
|
||||
s.m_list_of_int32_t.push_back(-1111111);
|
||||
s.m_list_of_int32_t.push_back(-2222222);
|
||||
s.m_list_of_int16_t.push_back(-1111);
|
||||
s.m_list_of_int16_t.push_back(-2222);
|
||||
s.m_list_of_int8_t.push_back(-11);
|
||||
s.m_list_of_int8_t.push_back(-22);
|
||||
|
||||
s.m_list_of_double.push_back(0.11111);
|
||||
s.m_list_of_double.push_back(0.22222);
|
||||
s.m_list_of_bool.push_back(true);
|
||||
s.m_list_of_bool.push_back(false);
|
||||
|
||||
s.m_subobj.m_str = "subszzzzzzzz";
|
||||
s.m_list_of_self.push_back(s);
|
||||
s.m_storage_entry_int = epee::serialization::storage_entry(uint64_t(22222));
|
||||
s.m_storage_entry_string = epee::serialization::storage_entry(std::string("sdsvsdvs"));
|
||||
return s;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,56 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <atomic>
|
||||
|
||||
namespace epee
|
||||
{
|
||||
class copyable_atomic: public std::atomic<uint32_t>
|
||||
{
|
||||
public:
|
||||
copyable_atomic()
|
||||
{};
|
||||
copyable_atomic(uint32_t value)
|
||||
{ store(value); }
|
||||
copyable_atomic(const copyable_atomic& a):std::atomic<uint32_t>(a.load())
|
||||
{}
|
||||
copyable_atomic& operator= (const copyable_atomic& a)
|
||||
{
|
||||
store(a.load());
|
||||
return *this;
|
||||
}
|
||||
uint32_t operator++()
|
||||
{
|
||||
return std::atomic<uint32_t>::operator++();
|
||||
}
|
||||
uint32_t operator++(int fake)
|
||||
{
|
||||
return std::atomic<uint32_t>::operator++(fake);
|
||||
}
|
||||
};
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
std::stringstream& operator<<(std::stringstream& out, const std::wstring& ws)
|
||||
{
|
||||
std::string as = string_encoding::convert_to_ansii(ws);
|
||||
out << as;
|
||||
return out;
|
||||
}
|
@ -1,227 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef _GZIP_ENCODING_H_
|
||||
#define _GZIP_ENCODING_H_
|
||||
#include "net/http_client_base.h"
|
||||
#include "zlib/zlib.h"
|
||||
//#include "http.h"
|
||||
|
||||
|
||||
namespace epee
|
||||
{
|
||||
namespace net_utils
|
||||
{
|
||||
|
||||
|
||||
|
||||
class content_encoding_gzip: public i_sub_handler
|
||||
{
|
||||
public:
|
||||
/*! \brief
|
||||
* Function content_encoding_gzip : Constructor
|
||||
*
|
||||
*/
|
||||
inline
|
||||
content_encoding_gzip(i_target_handler* powner_filter, bool is_deflate_mode = false):m_powner_filter(powner_filter),
|
||||
m_is_stream_ended(false),
|
||||
m_is_deflate_mode(is_deflate_mode),
|
||||
m_is_first_update_in(true)
|
||||
{
|
||||
memset(&m_zstream_in, 0, sizeof(m_zstream_in));
|
||||
memset(&m_zstream_out, 0, sizeof(m_zstream_out));
|
||||
int ret = 0;
|
||||
if(is_deflate_mode)
|
||||
{
|
||||
ret = inflateInit(&m_zstream_in);
|
||||
ret = deflateInit(&m_zstream_out, Z_DEFAULT_COMPRESSION);
|
||||
}else
|
||||
{
|
||||
ret = inflateInit2(&m_zstream_in, 0x1F);
|
||||
ret = deflateInit2(&m_zstream_out, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 0x1F, 8, Z_DEFAULT_STRATEGY);
|
||||
}
|
||||
}
|
||||
/*! \brief
|
||||
* Function content_encoding_gzip : Destructor
|
||||
*
|
||||
*/
|
||||
inline
|
||||
~content_encoding_gzip()
|
||||
{
|
||||
inflateEnd(& m_zstream_in );
|
||||
deflateEnd(& m_zstream_out );
|
||||
}
|
||||
/*! \brief
|
||||
* Function update_in : Entry point for income data
|
||||
*
|
||||
*/
|
||||
inline
|
||||
virtual bool update_in( std::string& piece_of_transfer)
|
||||
{
|
||||
|
||||
bool is_first_time_here = m_is_first_update_in;
|
||||
m_is_first_update_in = false;
|
||||
|
||||
if(m_pre_decode.size())
|
||||
m_pre_decode += piece_of_transfer;
|
||||
else
|
||||
m_pre_decode.swap(piece_of_transfer);
|
||||
piece_of_transfer.clear();
|
||||
|
||||
std::string decode_summary_buff;
|
||||
|
||||
size_t ungzip_size = m_pre_decode.size() * 0x30;
|
||||
std::string current_decode_buff(ungzip_size, 'X');
|
||||
|
||||
//Here the cycle is introduced where we unpack the buffer, the cycle is required
|
||||
//because of the case where if after unpacking the data will exceed the awaited size, we will not halt with error
|
||||
bool continue_unpacking = true;
|
||||
bool first_step = true;
|
||||
while(m_pre_decode.size() && continue_unpacking)
|
||||
{
|
||||
|
||||
//fill buffers
|
||||
m_zstream_in.next_in = (Bytef*)m_pre_decode.data();
|
||||
m_zstream_in.avail_in = (uInt)m_pre_decode.size();
|
||||
m_zstream_in.next_out = (Bytef*)current_decode_buff.data();
|
||||
m_zstream_in.avail_out = (uInt)ungzip_size;
|
||||
|
||||
int flag = Z_SYNC_FLUSH;
|
||||
int ret = inflate(&m_zstream_in, flag);
|
||||
CHECK_AND_ASSERT_MES(ret>=0 || m_zstream_in.avail_out ||m_is_deflate_mode, false, "content_encoding_gzip::update_in() Failed to inflate. err = " << ret);
|
||||
|
||||
if(Z_STREAM_END == ret)
|
||||
m_is_stream_ended = true;
|
||||
else if(Z_DATA_ERROR == ret && is_first_time_here && m_is_deflate_mode&& first_step)
|
||||
{
|
||||
// some servers (notably Apache with mod_deflate) don't generate zlib headers
|
||||
// insert a dummy header and try again
|
||||
static char dummy_head[2] =
|
||||
{
|
||||
0x8 + 0x7 * 0x10,
|
||||
(((0x8 + 0x7 * 0x10) * 0x100 + 30) / 31 * 31) & 0xFF,
|
||||
};
|
||||
inflateReset(&m_zstream_in);
|
||||
m_zstream_in.next_in = (Bytef*) dummy_head;
|
||||
m_zstream_in.avail_in = sizeof(dummy_head);
|
||||
|
||||
ret = inflate(&m_zstream_in, Z_NO_FLUSH);
|
||||
if (ret != Z_OK)
|
||||
{
|
||||
LOCAL_ASSERT(0);
|
||||
m_pre_decode.swap(piece_of_transfer);
|
||||
return false;
|
||||
}
|
||||
m_zstream_in.next_in = (Bytef*)m_pre_decode.data();
|
||||
m_zstream_in.avail_in = (uInt)m_pre_decode.size();
|
||||
|
||||
ret = inflate(&m_zstream_in, Z_NO_FLUSH);
|
||||
if (ret != Z_OK)
|
||||
{
|
||||
LOCAL_ASSERT(0);
|
||||
m_pre_decode.swap(piece_of_transfer);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//leave only unpacked part in the output buffer to start with it the next time
|
||||
m_pre_decode.erase(0, m_pre_decode.size()-m_zstream_in.avail_in);
|
||||
//if decoder gave nothing to return, then everything is ahead, now simply break
|
||||
if(ungzip_size == m_zstream_in.avail_out)
|
||||
break;
|
||||
|
||||
//decode_buff currently stores data parts that were unpacked, fix this size
|
||||
current_decode_buff.resize(ungzip_size - m_zstream_in.avail_out);
|
||||
if(decode_summary_buff.size())
|
||||
decode_summary_buff += current_decode_buff;
|
||||
else
|
||||
current_decode_buff.swap(decode_summary_buff);
|
||||
|
||||
current_decode_buff.resize(ungzip_size);
|
||||
first_step = false;
|
||||
}
|
||||
|
||||
//Process these data if required
|
||||
bool res = true;
|
||||
|
||||
res = m_powner_filter->handle_target_data(decode_summary_buff);
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
/*! \brief
|
||||
* Function stop : Entry point for stop signal and flushing cached data buffer.
|
||||
*
|
||||
*/
|
||||
inline
|
||||
virtual void stop(std::string& OUT collect_remains)
|
||||
{
|
||||
}
|
||||
protected:
|
||||
private:
|
||||
/*! \brief
|
||||
* Pointer to parent HTTP-parser
|
||||
*/
|
||||
i_target_handler* m_powner_filter;
|
||||
/*! \brief
|
||||
* ZLIB object for income stream
|
||||
*/
|
||||
z_stream m_zstream_in;
|
||||
/*! \brief
|
||||
* ZLIB object for outcome stream
|
||||
*/
|
||||
z_stream m_zstream_out;
|
||||
/*! \brief
|
||||
* Data that could not be unpacked immediately, left to wait for the next packet of data
|
||||
*/
|
||||
std::string m_pre_decode;
|
||||
/*! \brief
|
||||
* The data are accumulated for a package in the buffer to send the web client
|
||||
*/
|
||||
std::string m_pre_encode;
|
||||
/*! \brief
|
||||
* Signals that stream looks like ended
|
||||
*/
|
||||
bool m_is_stream_ended;
|
||||
/*! \brief
|
||||
* If this flag is set, income data is in HTTP-deflate mode
|
||||
*/
|
||||
bool m_is_deflate_mode;
|
||||
/*! \brief
|
||||
* Marks that it is a first data packet
|
||||
*/
|
||||
bool m_is_first_update_in;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif //_GZIP_ENCODING_H_
|
@ -1,93 +0,0 @@
|
||||
/*
|
||||
* libEtPan! -- a mail stuff library
|
||||
*
|
||||
* Copyright (C) 2001, 2005 - DINH Viet Hoa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the libEtPan! project nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* hmac-md5.h -- HMAC_MD5 functions
|
||||
*/
|
||||
|
||||
/*
|
||||
* $Id: hmac-md5.h,v 1.1.1.1 2005/03/18 20:17:28 zautrix Exp $
|
||||
*/
|
||||
|
||||
#ifndef HMAC_MD5_H
|
||||
#define HMAC_MD5_H 1
|
||||
|
||||
namespace md5
|
||||
{
|
||||
|
||||
|
||||
|
||||
#define HMAC_MD5_SIZE 16
|
||||
|
||||
/* intermediate MD5 context */
|
||||
typedef struct HMAC_MD5_CTX_s {
|
||||
MD5_CTX ictx, octx;
|
||||
} HMAC_MD5_CTX;
|
||||
|
||||
/* intermediate HMAC state
|
||||
* values stored in network byte order (Big Endian)
|
||||
*/
|
||||
typedef struct HMAC_MD5_STATE_s {
|
||||
UINT4 istate[4];
|
||||
UINT4 ostate[4];
|
||||
} HMAC_MD5_STATE;
|
||||
|
||||
/* One step hmac computation
|
||||
*
|
||||
* digest may be same as text or key
|
||||
*/
|
||||
void hmac_md5(const unsigned char *text, int text_len,
|
||||
const unsigned char *key, int key_len,
|
||||
unsigned char digest[HMAC_MD5_SIZE]);
|
||||
|
||||
/* create context from key
|
||||
*/
|
||||
void hmac_md5_init(HMAC_MD5_CTX *hmac,
|
||||
const unsigned char *key, int key_len);
|
||||
|
||||
/* precalculate intermediate state from key
|
||||
*/
|
||||
void hmac_md5_precalc(HMAC_MD5_STATE *hmac,
|
||||
const unsigned char *key, int key_len);
|
||||
|
||||
/* initialize context from intermediate state
|
||||
*/
|
||||
void hmac_md5_import(HMAC_MD5_CTX *hmac, HMAC_MD5_STATE *state);
|
||||
|
||||
#define hmac_md5_update(hmac, text, text_len) MD5Update(&(hmac)->ictx, (text), (text_len))
|
||||
|
||||
/* finish hmac from intermediate result. Intermediate result is zeroed.
|
||||
*/
|
||||
void hmac_md5_final(unsigned char digest[HMAC_MD5_SIZE],
|
||||
HMAC_MD5_CTX *hmac);
|
||||
|
||||
}
|
||||
|
||||
#endif /* HMAC_MD5_H */
|
@ -1,129 +0,0 @@
|
||||
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||
// names of its contributors may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
#ifdef _WIN32
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
//#ifdef _WIN32_WINNT
|
||||
// #undef _WIN32_WINNT
|
||||
// #define _WIN32_WINNT 0x0600
|
||||
//#endif
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#ifdef __MACH__
|
||||
#include <mach/clock.h>
|
||||
#include <mach/mach.h>
|
||||
#endif
|
||||
|
||||
#include <iostream>
|
||||
#include <ctime>
|
||||
|
||||
#pragma once
|
||||
namespace epee
|
||||
{
|
||||
namespace misc_utils
|
||||
{
|
||||
|
||||
inline uint64_t get_ns_count()
|
||||
{
|
||||
#if defined(_MSC_VER)
|
||||
return ::GetTickCount64() * 1000000;
|
||||
#elif defined(WIN32)
|
||||
static LARGE_INTEGER pcfreq = {0};
|
||||
LARGE_INTEGER ticks;
|
||||
if (!pcfreq.QuadPart)
|
||||
QueryPerformanceFrequency(&pcfreq);
|
||||
QueryPerformanceCounter(&ticks);
|
||||
ticks.QuadPart *= 1000000000; /* we want nsec */
|
||||
return ticks.QuadPart / pcfreq.QuadPart;
|
||||
#elif defined(__MACH__)
|
||||
clock_serv_t cclock;
|
||||
mach_timespec_t mts;
|
||||
|
||||
host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock);
|
||||
clock_get_time(cclock, &mts);
|
||||
mach_port_deallocate(mach_task_self(), cclock);
|
||||
|
||||
return ((uint64_t)mts.tv_sec * 1000000000) + (mts.tv_nsec);
|
||||
#else
|
||||
struct timespec ts;
|
||||
if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0) {
|
||||
return 0;
|
||||
}
|
||||
return ((uint64_t)ts.tv_sec * 1000000000) + (ts.tv_nsec);
|
||||
#endif
|
||||
}
|
||||
|
||||
inline uint64_t get_tick_count()
|
||||
{
|
||||
return get_ns_count() / 1000000;
|
||||
}
|
||||
|
||||
|
||||
inline int call_sys_cmd(const std::string& cmd)
|
||||
{
|
||||
std::cout << "# " << cmd << std::endl;
|
||||
|
||||
FILE * fp ;
|
||||
//char tstCommand[] ="ls *";
|
||||
char path[1000] = {0};
|
||||
#if !defined(__GNUC__)
|
||||
fp = _popen(cmd.c_str(), "r");
|
||||
#else
|
||||
fp = popen(cmd.c_str(), "r");
|
||||
#endif
|
||||
while ( fgets( path, 1000, fp ) != NULL )
|
||||
std::cout << path;
|
||||
|
||||
#if !defined(__GNUC__)
|
||||
_pclose(fp);
|
||||
#else
|
||||
pclose(fp);
|
||||
#endif
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
std::string get_thread_string_id();
|
||||
|
||||
inline bool get_gmt_time(time_t t, struct tm &tm)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
return gmtime_s(&tm, &t);
|
||||
#else
|
||||
return gmtime_r(&t, &tm);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue