diff --git a/README.md b/README.md index 5b3f3da..b81b409 100755 --- a/README.md +++ b/README.md @@ -202,7 +202,8 @@ To meet these users' needs, TFC can also be run in three dedicated [Qubes](https://www.qubes-os.org/) virtual machines. With the Qubes configuration, the isolation is provided by the [Xen hypervisor](https://xenproject.org/users/security/), -and the unidirectionality of data flow between the VMs is enforced with Qubes' qrexec framework. This intermediate isolation mechanism runs on a single computer which means no +and the unidirectionality of data flow between the VMs is enforced with Qubes' qrexec +framework. This intermediate isolation mechanism runs on a single computer which means no hardware data diode is needed. @@ -211,16 +212,18 @@ hardware data diode is needed. #### Source/Destination Computer - Debian 10.6 - PureOS 9.0 -- *buntu 20.04 LTS +- *buntu 20.04 LTS / 20.10 +- Pop!_OS 20.04 LTS / 20.10 - Linux Mint 20 - LMDE 4 - Qubes 4.0.3 (Debian 10 VM) #### Networked Computer -- Tails 4.11 +- Tails 4.12 - Debian 10.6 - PureOS 9.0 -- *buntu 20.04 LTS +- *buntu 20.04 LTS / 20.10 +- Pop!_OS 20.04 LTS / 20.10 - Linux Mint 20 - LMDE 4 - Qubes 4.0.3 (Debian 10 VM) diff --git a/install.sh b/install.sh index c38bfb5..d74ad74 100644 --- a/install.sh +++ b/install.sh @@ -32,8 +32,8 @@ CFFI37=cffi-1.14.3-cp37-cp37m-manylinux1_x86_64.whl CFFI38=cffi-1.14.3-cp38-cp38-manylinux1_x86_64.whl CHARDET=chardet-3.0.4-py2.py3-none-any.whl CLICK=click-7.1.2-py2.py3-none-any.whl -CRYPTOGRAPHY37=cryptography-3.1.1-cp35-abi3-manylinux1_x86_64.whl -CRYPTOGRAPHY38=cryptography-3.1.1-cp35-abi3-manylinux2010_x86_64.whl +CRYPTOGRAPHY37=cryptography-3.2.1-cp35-abi3-manylinux1_x86_64.whl +CRYPTOGRAPHY38=cryptography-3.2.1-cp35-abi3-manylinux2010_x86_64.whl DISTLIB=distlib-0.3.1-py2.py3-none-any.whl FILELOCK=filelock-3.0.12-py3-none-any.whl FLASK=Flask-1.1.2-py2.py3-none-any.whl @@ -47,12 +47,12 @@ PYNACL=PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl PYSERIAL=pyserial-3.4-py2.py3-none-any.whl PYSOCKS=PySocks-1.7.1-py3-none-any.whl REQUESTS=requests-2.24.0-py2.py3-none-any.whl -SETUPTOOLS=setuptools-50.3.0-py3-none-any.whl +SETUPTOOLS=setuptools-50.3.2-py3-none-any.whl SIX=six-1.15.0-py2.py3-none-any.whl -URLLIB3=urllib3-1.25.10-py2.py3-none-any.whl -VIRTUALENV=virtualenv-20.0.33-py2.py3-none-any.whl +URLLIB3=urllib3-1.25.11-py2.py3-none-any.whl +VIRTUALENV=virtualenv-20.1.0-py2.py3-none-any.whl WERKZEUG=Werkzeug-1.0.1-py2.py3-none-any.whl -ZIPP=zipp-3.3.0-py3-none-any.whl +ZIPP=zipp-3.4.0-py3-none-any.whl # ---------------------------------------------------------------------------------------- @@ -63,16 +63,16 @@ DIGEST_PYSERIAL=8333ac2843fd136d5d0d63b527b37866f7d18afc3bb33c4938b63af077492aeb DIGEST_PYSOCKS=313b954102231d038d52ab58f41e3642579be29f827135b8dd92c06acb362effcb0a7fd5f35de9273372b92d9fe29f38381ae44f8b41aa90d2564d6dd07ecd12 # Virtualenv -DIGEST_ZIPP=1c83f8958eb172083a42c3cd0745e0c32def319992dfb227b906a9d0a9fd6f9dd556de49a8a84f76e27b0ebce7abe6a9a7fd12ae532e86898046c68e68d28f11 +DIGEST_ZIPP=bf6090e22c45b53691b25abf98d2f98562762bba00133f378601f2e115729da44d6d11ac7f2738926960a8d0ea6f694ea594d644d0d9ca81fc8e55396cc8d556 DIGEST_FILELOCK=d13edd50779bca9842694e0da157ca1fdad9d28166771275049f41dea4b8d8466fc5604b610b6ad64552cdf4c1d3cada9977ca37c6b775c4cc92f333709e8ea3 DIGEST_IMPORTLIB_METADATA=09ec4c718781e3ba6ed8024a094081ce530f30c1aa7df8f10729d64f17839bcc35dc3c94218209dbb6d133f3052d33cebe282bf7b53ba9646d1653ce62cdae3b DIGEST_SIX=0416d59434623604de755601c919722c2b800042612a2a7b221ecd3ccf556aca3a78f0f926fd640032a3d74d153457628a89c25065dfcdbb96892d5bf7279904 DIGEST_DISTLIB=ac65d35a5309ec22db5b1e9ab6c20014084feab11e86e81bee6d0bfcc65940dfdcaa2711ac1e98c1ef179b110a4ea03dbaf042b894d3051da9d339c534664e00 DIGEST_APPDIRS=8e6c1ea544013ea2567cda2d8b8c7b441bc50ac689aa7f95de67e3795aa083e9592c687d74fdbb37f5a75e0beab398fe47df5bced14ee9c204cfe5ecc364ef44 -DIGEST_VIRTUALENV=c15f4b8d4df895ba03ecc19631198584c97e74b3026b7e82207e62d932ea03bb4c5dd36349764c1418021aa6611072a44c9b3166bbf7040cfc5815efba03b2d1 +DIGEST_VIRTUALENV=f6db0b9d758ea5b1c244aeb3af77597bfba940e13efa3cee80508b3e9923e1691e65bc16a5d83812f1ec83dc04e7b47cea032998253fec450ed2aa80378b663c # Requests -DIGEST_URLLIB3=b4e88397d5ac77c669c8bf01fdf6a70ec7cc3acbdf69e0113ce9a5cd8394e932e6e153d85c60978917e8bf6e85e15f1a4c7da10d2a10cfa0735884a5861a981d +DIGEST_URLLIB3=6889f032f9f87494c06c0a28d6868e23db68909a2ad6d37ac199198ed2313e4f65fd26900ff05828138e412d9a7a5b2463b6c28e71689c0a5a42ebcbae01ed5b DIGEST_IDNA=7b7be129e1a99288aa74a15971377cb17bee1618843c03c8f782e287d0f3ecf3b8f26e3ea736444eb358f1d6079131a7eb291446f3279874eb8e00b624d9471c DIGEST_CHARDET=bfae58c8ea19c87cc9c9bf3d0b6146bfdb3630346bd954fe8e9f7da1f09da1fc0d6943ff04802798a665ea3b610ee2d65658ce84fe5a89f9e93625ea396a17f4 DIGEST_CERTIFI=960f1cbe72443230ecba527b5bc4bb8a45a33feb646b0ad01dcb606b9ec3729d27dff5cfa04655d92efd4dec691d61c62d80f8fd39a82fc21528727eeb5c9991 @@ -89,10 +89,10 @@ DIGEST_FLASK=3bcd417e5b93590944ebdba05ff4ae37aab31aadcda2e4514d8be275d52877191ff # Cryptography DIGEST_PYCPARSER=06dc9cefdcde6b97c96d0452a77db42a629c48ee545edd7ab241763e50e3b3c56d21f9fcce4e206817aa1a597763d948a10ccc73572490d739c89eea7fede0a1 DIGEST_CFFI=d906b00752bce5634b309574a3edd5fbb737cb90df351cedcb7c264f3a5b93e28bdd16af1ff69eeddce745b1ada93d97c0b7fb73e04e6973fd7631850cba5f87 -DIGEST_CRYPTOGRAPHY=3f208fbc6954a3c6e8dc1d1c20ff2c32f4154eac5cbbc4b0c96032cc33be73bfd99081eaba9eb1557b3ffa3dfcb5312f77fff1393bfb50ce2e8df7a8c585f128 +DIGEST_CRYPTOGRAPHY=14500ff61f10e01281c5b1437de4a594b3fd16253f2911c15736a1e75cc77511c4adb5fdd35c3acb154219a37fe748704593eca4093a08738c1e04d0c663612a # PyNaCl -DIGEST_SETUPTOOLS=258cdd8b4bd49dcddd0097c2baf93be93dbffb1634ca1a984b5b71f84a0b37a8342c5725a06615bc8f0090c7193f24740db2f5c15a5b9b00f452fe0b14640c1c +DIGEST_SETUPTOOLS=a8d25a299e06ed353963d1c2da7961e4a177e556ce0483750958d74d6f29dafe992f459f694c2465576ce7fc2eff0260a8b2bbb8e5ae9d7c32147ac6af6a7098 DIGEST_PYNACL=bf1bb46d23419cb375bcf620a37b5e9ce925cb0dd55eadf851a4bbb9039c8846ed13ae33966436a96655ea41ad1fc282f9139a958fd55ea10597fd3859635a2f @@ -103,8 +103,8 @@ DIGEST_PYNACL=bf1bb46d23419cb375bcf620a37b5e9ce925cb0dd55eadf851a4bbb9039c8846ed function verify_tcb_requirements_files { # To minimize the time TCB installer configuration stays online, # only the requirements files are authenticated between downloads. - compare_digest c550ef477416a55e9a73b2661690c4c898038b95cb431dae0682ae79eef8ad5fc6e57bcf2431d388416521b5b7a06ca4c62d95c016868501b97366ef95d5b5a3 '' requirements.txt - compare_digest 9698879e51dcf1f20222fe17aa16d6c0bfad35ed434700d573f6de6af62b9572692751640caba8ecd7b2974ad270017312efcc2524af9ec6224e6c4662ee08ff '' requirements-venv.txt + compare_digest 2b88094a3889989ba497d6c89536b803aa761f93687312a4c05ce090784f4f2ef4c6025b1eb38cec71fde10f0b24bbbf171e5602c265ba1377a64a3809f28572 '' requirements.txt + compare_digest ddb4926855e0e798cc41e6a1f84136d9ab743112a8a5b300bd59c76b57cf9833ee3ecfe8a56c501aeee7f8809281e16609d7c501fa7b528a94f81f834659efcf '' requirements-venv.txt } @@ -113,35 +113,35 @@ function verify_files { compare_digest 1d9ee816a00eb66a96cf2a6484f37037e90eb8865d68b02de9c01d7ee6fa735cbbd2279099fe8adfb4dda5d9c0a2da649a5f530dba1f0c44471838995abcebb2 '' dd.py compare_digest d361e5e8201481c6346ee6a886592c51265112be550d5224f1a7a6e116255c2f1ab8788df579d9b8372ed7bfd19bac4b6e70e00b472642966ab5b319b99a2686 '' LICENSE compare_digest 8db25eafc66308f1fe8223c39bc5fb025ae111ebce3eae5601c907fa7a2654f68395af4f355ff0ff03775e79cda8dfccddaf7d68555bfe065d9469ca04a288f9 '' LICENSE-3RD-PARTY - compare_digest 7cad2202e4cc940627e31577162c38f44022ddb138a51f52d0ac3747e264e065919df2b646020851d8973cc76a2873a72ceabcbe93c39911ebbfa7c867f01675 '' relay.py - compare_digest 3d504be8d4d516313033ebc27e002f58256bc03c6529b37047755e4d2aaf4946e93eab7b9a980cdb5ba742be2db3fbffc543e54b3d9f4bdefedf6ad4666b15aa '' requirements-dev.txt - compare_digest da93ae193d1ea3a248630fa253fccfcda4b7a4549c6e42e5ebef1f9e2bd902da8329b2f1e779cc80740cbb013047d432f84a34be5e0efec7b615621b33db5e61 '' requirements-relay.txt - compare_digest 305ef52145c91544e55279d264265dc542aba6ac73e130b3dabe7f43f3518799aae06de10e4e7a1a4c2e80a6cc859f3452ad1e2289f480ef7bebb50a325f988a '' requirements-relay-tails.txt - compare_digest 536db4ebff8904cb7403acefae29ce7f681bbfe5d765d0ef61c47b2654102302e16db04b826483e253c3c06aa094bde6e5ffe46180242f3079e19604532b0bd5 '' requirements-setuptools.txt + compare_digest ad2e3b9eb1f0ccfe3d16d6e746ccfb9464a72effa2aa4df045e772e686eadc5165efce48b0dfb188e1a2f25b483ff2f351334a121224d2628bdb98a024deef03 '' relay.py + compare_digest 6d1993b629e38818084500baed6d959d332ab6fe19213fc2cf078d1a0b59423cc05b2be839935836d27c63ed73c93c8b51cceddbf1d5415593b691bb0ed1a9dc '' requirements-dev.txt + compare_digest a76db3ede1bdcce853f7a9d1fc45a588d183c17da63652628bb5102ad14a7c2c51443a562bf0995045ff322199e2b1365acb0fd8e882d623a31751a8d5d7926c '' requirements-relay.txt + compare_digest 98ad61622b70192927fe520a52c6f2d056c18a454249bf7d599f4872e740043f274aa0488f0e482b9c5f97df65b4a47375cc0abcd7122d594f8f640de3dcc64d '' requirements-relay-tails.txt + compare_digest 728eaadd78cb3e75b9c1386cca047c056ebcb1c68842cabf346e355fc7e81c3222ebf3009769d37cfa6c793b5e73b5d06641c8cd672f730e8f2558261f77328a '' requirements-setuptools.txt compare_digest 79f8272a2ab122a48c60630c965cd9d000dcafabf5ee9d69b1c33c58ec321feb17e4654dbbbf783cc8868ccdfe2777d60c6c3fc9ef16f8264d9fcf43724e83c2 '' tfc.png compare_digest c746fa981fcdc1b21cbe7117ed186ef7757d120cb96fbe8500b8b5f7f4effebe71360ae5c1cc2bf873818002544d9aeba26990b93723a79c6bbcd647552a7ca0 '' tfc.py compare_digest 62f26d2805570ee70fad3a076579a554008e7d9f2c9ff310f3bb5876d361cc03dbae7ab63b144ac215a35f920ac56d359481352805a356479d622ab00da15f7f '' tfc.yml compare_digest c4d95b0385f474eee4ef8c25c579d5303a14ecbd90258d5cbd9c4d32531cec45008fa5fa0593c1babaeaf446e20b5ff5fcc8c7cc0384790be93e56065dc5dce5 '' uninstall.sh compare_digest dd2dc76c186e718cd6eb501985f3f8c639d303e44186c5f21ca8e8cf6a25b329c573ca489eda80877be51ccaa6b72b4e763060d0f0f27c0217e8c6b1016d75ca launchers/ terminator-config-local-test - compare_digest 64fca605fff0722677e74f376f18b17d4fe07096294de16042860e91cc055c2ca33037a61aa1a9b9dde33d803b63f595e8d9cc20a5c36e952c145dc9fbb6e528 launchers/ TFC-Local-test.desktop + compare_digest 1670879b7466da06f9e71ba07c737cf53d10d6d8f0d6c0cace987942a1a8109e840aef68bbfe33f075eec7e1dab149ec380bd8c1ba2a5d7e172ab6a1a476eedb launchers/ TFC-Local-test.desktop compare_digest fc193b64793fec001365e4c055e0f7894d3993e1a7dbcfd6dc63a8a04a9bb1c28fc455173243f5f7c2385b86b63f122ac6c6fe2c720a9ee92834fa76dbcc1672 launchers/ tfc-qubes-receiver compare_digest 4aeeffde5b6f7d27a44a3ab9b8470b59b357f7532dd3c21de78d8ded0415e0dd49cbb8eb10b5b658a8cf32dbc4afbf2663a9bf1dec0e0ee3c443f4fcb9a2990d launchers/ tfc-qubes-relay compare_digest 4098d69e5632db7a465b03bda89dcd9817aadb903cfc0a1deb76739fbb627fc6abffd092c922c9ee8f6c3368a142c56583d25787219cfe11e37467193e49fa85 launchers/ tfc-qubes-transmitter - compare_digest 7a2673087fa278749dcc06310a59e9159e101c0ac4faa4003587071b7df732f5b6cde001df71ee01082f099018d3d1acfdb89300361f72852646dc1ea7081fc0 launchers/ TFC-RP.desktop - compare_digest 6ac845238824f0ede5b6db6403e9096f0f16050195f179b759cb21249259491363f37b178301ffb50ad1a4919a32a44318c43eae48ac12404de72e33aa672a85 launchers/ TFC-RP-Qubes.desktop - compare_digest 7a2673087fa278749dcc06310a59e9159e101c0ac4faa4003587071b7df732f5b6cde001df71ee01082f099018d3d1acfdb89300361f72852646dc1ea7081fc0 launchers/ TFC-RP-Tails.desktop - compare_digest 34ee06aee9b471d7823c8c05c6ccf7a99716231aaaee11e1993281e7bfce2617c378594a402768247c482390f26241829ed99d2134912a94b9fae880448951b7 launchers/ TFC-RxP.desktop - compare_digest b84115bcbc76753e1702da3eccf81a3fca65cb09d085904c2ec660b9d1a539409d181603ab08c1fef2716d3bb41c686602d9bbe6611f17725eeb6fa52422ac61 launchers/ TFC-RxP-Qubes.desktop - compare_digest 6661c1181b0eda5773425849bd58d0118936f9285db295ad998b98c96c8c72e3a8e897e70eea4d06d288bf33bc66548d8774ed5afcb75e4eee7d64b40303b12f launchers/ TFC-TxP.desktop - compare_digest 823ec5061fb7d4a4234ce30c0054c8006d63a1ef719f8c41fad8855c8d096fba59139601f73a9e878a18c5f3377b8de1e80a69e735137bb42f7bae9c4360d6af launchers/ TFC-TxP-Qubes.desktop + compare_digest 1acb4fdc84351f2ce16129266cfd5e1921d8555721b23a390dfe8c2e0a480ce1ba4cd9eb2be60ad537b3fbbfad290ae86e51ab25cd647e7302f493179678835d launchers/ TFC-RP.desktop + compare_digest 7dd2bb0f5b1fcb383ae4fb8f0b835e5c626e52d4439bb510b45bd159bd3f80f2af771936d0fc495dd673dff62a437e61fff654a67e92841ab316f03541a78c5e launchers/ TFC-RP-Qubes.desktop + compare_digest 1acb4fdc84351f2ce16129266cfd5e1921d8555721b23a390dfe8c2e0a480ce1ba4cd9eb2be60ad537b3fbbfad290ae86e51ab25cd647e7302f493179678835d launchers/ TFC-RP-Tails.desktop + compare_digest 77ab8716f85333a8e4ff7580dd17de55d8508535b0fb3153fbd420d76d37be0b23304f6938731efa1a824293eeb9026c484be15e32127affa5e517c10758ac58 launchers/ TFC-RxP.desktop + compare_digest 80118459b8ca7e5f41cf78ca834646d0363756f5fc9dd37a92d38150a92a5f01f40f313edad04c39edf942102e75fb55bab4d00d3c844e410b42fb63d9e69651 launchers/ TFC-RxP-Qubes.desktop + compare_digest 33096adeb32e656ecbb45a3d03cf213c7e9ad30747479bceb1a28a3bb2ce7311b229d3e52dbf8d698a8a66eb1eec44e4f67fd71a51c7c62786b3ce35b50d028a launchers/ TFC-TxP.desktop + compare_digest 7ece0ca1709a7112280cda57d28429651573247fdbe691e53087b11557193187e16b6f9f289a38931b87bb0e8e52cc106b15413dbb32019ea06b04ce745868ff launchers/ TFC-TxP-Qubes.desktop compare_digest b5393d094dce97a8e12a36438c56e92da8dc01555aa18a85b138411d18a3e47384a2dc56b184f8d18745db55495d6f2e22e4aa0038a5b2917856a1ba13fca06a qubes/ service.sh compare_digest 070fb411f13dac93a8e11be5a97857f00d05e312f152736f2e9757397bc045cc235212121458c773daf1251e512e37836525dcda394dabc78879e71159f79850 qubes/ writer.py compare_digest 3ee90ee305382d80da801f047a6e58e5b763f9f6bc08dce531d5c620f2748c6bba59a1528eee5d721decb8e724f53b28fc7609f5b20472f679f554b78b5d4cc6 src/ __init__.py compare_digest 3ee90ee305382d80da801f047a6e58e5b763f9f6bc08dce531d5c620f2748c6bba59a1528eee5d721decb8e724f53b28fc7609f5b20472f679f554b78b5d4cc6 src/common/ __init__.py - compare_digest 654cc2aa00b91697c3dc1894c4f7726d151e2c2fc92922aa760008c6f55645129a546e0fa38c39e2c72d10720b7a8d67253bfcddddc01dde4a99fdc40143ffad src/common/ crypto.py + compare_digest 3f92d35d9b32acea6f97eabce3e06c222591a8f4daa56aec4e9cc1b4c09f83c0ffe118230c89506b957cdba0b9875ba47a661fce30e19177500a7ff5bcf76409 src/common/ crypto.py compare_digest e1f77d17164d6879695adb0ad9d32c61f7447f36db73e398e161956140a142c40a9972970d89873d2febd4dc1c2b57ddd838eccd3437fa28c83285a0179aeb45 src/common/ database.py compare_digest dfef16b30d75bbe270c4b7df1369b3eeb2347b931e7bb3a974965cc916a6ffb20aaa40d14532ecb4a8cabdb71598fb53d86589aa475dbb02030bdf9489d71429 src/common/ db_contacts.py compare_digest 7c0214208857174b43092eaf61d14c16e60d6ebb68ba25b260f84546ce39f1fed8b21aceb58833920c8d939304b313c0ad95c554210ae3d5d0547143f7dd704c src/common/ db_groups.py @@ -158,7 +158,7 @@ function verify_files { compare_digest 6329bbdc9d24c1342d0996009a8cd4d852d5a800cbf6a582c047c0fc13e6ca9be28251b783325adffca100d2a372616088cedff2441cc103b8c18540828445ef src/common/ output.py compare_digest c96d7cb1b76650a49accc3ea007254e73e2e697895790ff6c14351520f4a7b1baec76d6055e3bddb14a687c0641fd15e361c93737afe7a8924b420ca67c31140 src/common/ path.py compare_digest 39e48b0b55f4f1a48bc558f47b5f7c872583f3f3925fd829de28710024b000fcb03799cb36da3a31806143bc3cbb98e5d357a8d62674c23e1e8bf957aece79f6 src/common/ reed_solomon.py - compare_digest 04127f6615143806cee59140b325021fcccc3852d0f2eb6fda84f55268ddc5f4b22af2120a44b3d17e88024807236c97e1a2b60d7dd2c5abf91c521f32b68796 src/common/ statics.py + compare_digest 707a8febe83ad16d4be1dd498fb040ee4c3ef4091fdb6270f1f7064b52dbae74ef3012998f8d6dbf3257dadd72cfe43f205d7e3d53d2ff1dc6e1465fc8716a66 src/common/ statics.py compare_digest a57d5525a570a78d15c75e79702289cf8571c1b3c142fae57f32bf3ed8bb784c7f63ce2e805d295b4a505fdeaf9d59094ebe67d8979c92dc11e2534474505b0e src/common/ word_list.py compare_digest 3ee90ee305382d80da801f047a6e58e5b763f9f6bc08dce531d5c620f2748c6bba59a1528eee5d721decb8e724f53b28fc7609f5b20472f679f554b78b5d4cc6 src/receiver/ __init__.py @@ -175,7 +175,7 @@ function verify_files { compare_digest 3ee90ee305382d80da801f047a6e58e5b763f9f6bc08dce531d5c620f2748c6bba59a1528eee5d721decb8e724f53b28fc7609f5b20472f679f554b78b5d4cc6 src/relay/ __init__.py compare_digest 0ab86ddcfc7a28e7945e302918e384c2570d8b19942bb7c1b300d5913f77b184aae36612819ec85f0ef5b4a3b21d22aa710f218fc229c1317f04a11782e832e5 src/relay/ client.py compare_digest c7457a0b21383c9d803f3854bbbd616943132a775641d8cada0c5fbd0d756910679d44a748b79291149758e2650e1bee4450b0c51ceb9f8bd680cfc6a5635407 src/relay/ commands.py - compare_digest 10229a8a8869b1c27e0f23733e9680ef3826831490be8c81553f0735ecfb93c0776cf976de2107c1d5822caa1b7dcacb7d1f090a9ff73df18ec2500fcd930089 src/relay/ diffs.py + compare_digest a5752def8b79a3d7e3cf960f8cbdbbc2b115a864ad4312b439e134a86712781e19af584f1b9f984bd8a7a47e308405630b6a652fce9e920c3f7730a21ae762fd src/relay/ diffs.py compare_digest 0bc1912af4d45ff72fbd7c43a09ab48ea3a780bb096226011525924820ba0ba1f396937fb191e5e18ec87dee14ccd3b505192e16e835d46088e4b50c941125f5 src/relay/ onion.py compare_digest 42acbe9557c848eea66ea6b9db71b3c3ac5b2da7710f7dc79f70f8b4952e582c8953d8fb38eab82be9b8b15db6a3f3fc882ef8d65adbe5ccdf26f55ef54d4758 src/relay/ server.py compare_digest ee0bdbf39053e34d5e6597004ffc4a3831835238631368d29e301094a45551c6ff64b4d8cd9a8e8f7b6cf3fcfddd21e3dd275c0dee7cbc0503584b6991f923f5 src/relay/ tcb.py diff --git a/install.sh.asc b/install.sh.asc index e0aaa1b..3ba9413 100644 --- a/install.sh.asc +++ b/install.sh.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCAAdFiEEl5FK2MnA6CCzoiBaU4CsIVNsvGAFAl9/rcEACgkQU4CsIVNs -vGD23w//WLZ58BfKRR0v7KrCCbSrX+sryQPZ0Ky51/bFHWI/eu6t3N9i+UhVAMdX -WDNteKUtHtJNDd9QSpDK+jW0jAYdoNY9mXHO8fduSZiCkR8swEIgDsUc07FOV7L3 -9aGxyvuUmsT8p8M1+p6afsIxlnh4WeYtsu6FduWBoAfcVMO8S/ZrbxJN8+GhFKDu -zvwNsMpeeEgTOlzcqRfg4pVfdNIkJGvUA2UQpEJiQJ52Hk2bDWKhyc8cmPqXIfjY -h4OffozvtmhGwf8jWY59qJ4ZZSCQN8pZMo04i2teL6CX7cE7R0amyo0pv7HkqIUh -IyOVNh4bMEdEim7iFMJeU2CE+IMA/WBRU0BsuCBzhKt7jUXf73F2V5CdOt/xou3Q -3su/PdNcANKiH6fEQwDgYBWGaMRBedOmSZlgq4PEWh768RN+25w+QnyHuFyrskeO -ezzUyPKGRip3wk8vb2P7cx/vlocCACcoiFtzr89Esp4f3qaDgyqy5erFGiSeG/Y9 -pkOeibqyGAQ7HaIHEqCKwD2Z+gyj49PGb69CDTZZ+s9GU/mofHgMgogrZevidXZH -Vn2+EnBCIqT2YyAKl+f3Ap1FC1yOLUDUa4wRPwdqZ6/SVQVi2kzjuN8lTJfnZfzz -AzB2I+gVNJBacK/Nm82mepDJMTAWGPVAFE60PHNFl6x0PbMNRMU= -=vrgn +iQIzBAABCAAdFiEEl5FK2MnA6CCzoiBaU4CsIVNsvGAFAl+aNiUACgkQU4CsIVNs +vGBHMQ/+Jd3c7v7fsZYdBudv/Dwwq4G9sElkkbzKT9HE+zjzKLvvPKXyqT64lqo4 +FxFhOjwpwwFbXE2IjY5pnhXMKEVAVhL/ijdXx0CHSja2SgKQ9ViG3FeL0RrIiBF0 +aWWxDog8U+0nE6SdSZYiDioje4GqwT6MxWWG2cqK7r3onMCJdKN7GzM1dnUpGze0 +xOqfa5CfhjP32sM9IFQomp13egMXYv3KD+UWlU+kWxyfnf0ECzEg8a7nTbfXEVCG +fl3B0lsepR2TuYqDqCH5yureJIQnKl5xj2SCOtBTnncP+Pvzal8Rbjhm7OUPzHPS +unNu/ydKqJ1xrE8EX8b8e526MqI2P5ynw0lKT0KjnYF5X0m2A3rQ7FNSofe0zGag +mJZT4LifnrIFZsCCddRgmrwX1GN4yVMBib++Ek7cXACevTdfOs540jGsk99SEKTC +3hLFnZoW697jLFlDeAmPs/mqeOkBh7PQzqNx3fEU1BwLW4Jg4CYjwcCtWJl76jVb +9d6LFbPVrpg47PhiGGX0XW5iTH6nr7D/Wqs/ho8a8K/+VfHGO053wBjjWqm3JxDu +j2ZumZczBJdSLfaFZ1mcKY5nQXBI6LRdTSkf2UCs+txgNSwcd9pCq0JZSws7jpje +MQBIpJJbcHS9Cl9vVMYJ10dh8PxtdmmqzdEAd3ZJ1A6VRd+eggw= +=fhnA -----END PGP SIGNATURE----- diff --git a/launchers/TFC-Dev.desktop b/launchers/TFC-Dev.desktop index 04c29c0..97648da 100755 --- a/launchers/TFC-Dev.desktop +++ b/launchers/TFC-Dev.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Dev-LR Comment=Developer configuration Exec=terminator -m -u -g $HOME/tfc/launchers/terminator-config-dev -p tfc -l tfc-lr diff --git a/launchers/TFC-Local-test.desktop b/launchers/TFC-Local-test.desktop index 9af6e61..3adeafc 100755 --- a/launchers/TFC-Local-test.desktop +++ b/launchers/TFC-Local-test.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Local-Test-LR Comment=Local testing configuration Exec=terminator -m -u -g /opt/tfc/terminator-config-local-test -p tfc -l tfc-lr diff --git a/launchers/TFC-RP-Qubes.desktop b/launchers/TFC-RP-Qubes.desktop index 1afcaac..15c4424 100755 --- a/launchers/TFC-RP-Qubes.desktop +++ b/launchers/TFC-RP-Qubes.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Relay Exec=gnome-terminal --geometry=94x25 -x bash -c "source /opt/tfc/venv_relay/bin/activate && python3 /opt/tfc/relay.py -q && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-RP-Tails.desktop b/launchers/TFC-RP-Tails.desktop index 5b3391f..f797ebb 100755 --- a/launchers/TFC-RP-Tails.desktop +++ b/launchers/TFC-RP-Tails.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Relay Exec=gnome-terminal --geometry=105x25 -x bash -c "cd /opt/tfc && source venv_relay/bin/activate && python3 'relay.py' && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-RP.desktop b/launchers/TFC-RP.desktop index 5b3391f..f797ebb 100755 --- a/launchers/TFC-RP.desktop +++ b/launchers/TFC-RP.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Relay Exec=gnome-terminal --geometry=105x25 -x bash -c "cd /opt/tfc && source venv_relay/bin/activate && python3 'relay.py' && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-RxP-Qubes.desktop b/launchers/TFC-RxP-Qubes.desktop index bf03528..de49e8a 100755 --- a/launchers/TFC-RxP-Qubes.desktop +++ b/launchers/TFC-RxP-Qubes.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Receiver Exec=gnome-terminal --geometry=94x25 -x bash -c "source /opt/tfc/venv_tcb/bin/activate && python3 /opt/tfc/tfc.py -r -q && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-RxP.desktop b/launchers/TFC-RxP.desktop index f7195f5..aba2abc 100755 --- a/launchers/TFC-RxP.desktop +++ b/launchers/TFC-RxP.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Receiver Exec=gnome-terminal --maximize -x bash -c "cd /opt/tfc && source venv_tcb/bin/activate && python3 'tfc.py' -r && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-TxP-Qubes.desktop b/launchers/TFC-TxP-Qubes.desktop index b548d5b..1305c6c 100755 --- a/launchers/TFC-TxP-Qubes.desktop +++ b/launchers/TFC-TxP-Qubes.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Transmitter Exec=gnome-terminal --geometry=94x25 -x bash -c "source /opt/tfc/venv_tcb/bin/activate && python3 /opt/tfc/tfc.py -q && deactivate || bash" Icon=tfc.png diff --git a/launchers/TFC-TxP.desktop b/launchers/TFC-TxP.desktop index 97829e3..2a14f72 100755 --- a/launchers/TFC-TxP.desktop +++ b/launchers/TFC-TxP.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.20.10 +Version=1.20.11 Name=TFC-Transmitter Exec=gnome-terminal --maximize -x bash -c "cd /opt/tfc && source venv_tcb/bin/activate && python3 'tfc.py' && deactivate || bash" Icon=tfc.png diff --git a/relay.py b/relay.py index 19456b3..06ebd3f 100644 --- a/relay.py +++ b/relay.py @@ -78,43 +78,39 @@ def main() -> None: Relay Program (Networked Computer) - ┏━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━┓ - ┃ ┃ - (Contact management commands) - ┃ ┌─────────────────────────────┬─────────────────────┐ ┃ - | | ↓ - ┃ | ┌─────> relay_command ┌───> c_req_manager ┃ - | │ │ | - ┃ | │ (Onion Service┈│ |┈(Contact requests) ┃ - | │ private key) │ | - ┃ | │ ↓ | ┃ - | │ onion_service ───────────────────────────> client on contact's - ┃ | (Relay Program┈│ ↑ ┊ ┃ Networked Computer - | commands) │ │┈(Outgoing msg/file/public key) - ┃ | │ │ ┃ - Source ───▶|─────(── gateway_loop ─> src_incoming ─> flask_server <─┐ - Computer ┃ | | | ┃ - | | | - ┃ | (Local keys, commands, | | ┃ - | and copies of messages)┄| | - ┃ | ┊ ↓ | ┃ - Destination <──|◀─────(────────────────────── dst_outgoing | - Computer ┃ | ┊ ↑ | ┃ - ├──> g_msg_manager ┊ │ | - ┃ | ↑ ┊ │ | ┃ - | (Group┈│ (Incoming┈│ (URL token)┈| - ┃ | management │ messages) │ | ┃ - │ messages) │ │ | - ┃ ↓ │ │ | ┃ - client_scheduler │ │ | - ┃ └──> client ──────────┴─────────────────────┘ ┃ - ↑ - ┃ │ ┃ - └─────────────────────────────────────────────────────────── flask_server on - ┃ ┊ ┃ contact's Networked - (Incoming message/file/public key/group management message) Computer - ┃ ┃ - ┗━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━┛ + ┏━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━┓ + ┃ (1: Onion Service private key) ┃ + (2: Contact management commands) + ┃ ┌──────────────────────────────┬────────────────────────┬────────────┐ ┃ + │ │ ↓┈2 │ + ┃ │ ┌─────> relay_command ┌───> c_req_manager │ ┃ + │ │ │ │ │ + ┃ │ (Relay Program┈│ (Onion Service┈│ │ │ ┃ + │ commands) │ public key) │ │┈(In: Contact requests) │ + ┃ │ │ ↓ │ ┊ 1┈↓ ┃ + Source ───▶|─────(── gateway_loop ─> src_incoming ─> flask_server <─────> onion_service <───> client on contact's + Computer ┃ │ │ ↑ ┊ ┃ Networked Computer + │ (Local keys, commands, │ │ (Out: msg/file/pubkey/ + ┃ │ and copies of messages)┄│ │ group mgmt message) ┃ + │ │ │ + ┃ │ ↓ │ ┃ + Destination <──|◀─────(────────────────────── dst_outgoing │ + Computer ┃ │ ┊ ↑ │ ┃ + ├──> g_msg_manager ┊ │ │ + ┃ │ ↑ ┊ │ │ ┃ + │ (Group┈│ (Incoming┈│ (URL token)┈│ + ┃ │ management │ messages) │ │ ┃ + │ messages) │ │ │ + ┃ ↓┈1,2 │ │ │ ┃ + client_scheduler │ │ │ + ┃ └──> client ──────────┴──────────────┘ ┃ + ↑ + ┃ │ ┃ + └───────────────────────────────────────────────────────────> flask_server on + ┃ ┊ ┃ contact's Networked + (In: message/file/public key/group management message Computer + ┃ Out: contact request) ┃ + ┗━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━ ━━┛ The diagram above gives a rough overview of the structure of the diff --git a/requirements-dev.txt b/requirements-dev.txt index 35e374a..607de5c 100755 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -7,7 +7,7 @@ pycparser>=2.20 six>=1.15.0 # cryptography (pyca) (Provides X448 key exchange) -cryptography>=3.1.1 +cryptography>=3.2.1 # Flask (Onion Service web server that serves TFC public keys and ciphertexts to contacts) Flask>=1.1.2 @@ -18,7 +18,7 @@ MarkupSafe>=1.1.1 Werkzeug>=1.0.1 # mypy (Static type checking tool) -mypy>=0.782 +mypy>=0.790 mypy-extensions>=0.4.3 typed-ast>=1.4.1 typing-extensions>=3.7.4.3 @@ -41,10 +41,10 @@ pyserial>=3.4 PySocks>=1.7.1 # pytest (Test framework) -pytest>=6.1.1 +pytest>=6.1.2 attrs>=20.2.0 importlib-metadata>=2.0.0 -zipp>=3.3.0 +zipp>=3.4.0 more-itertools>=8.5.0 packaging>=20.4 pyparsing>=2.4.7 @@ -67,8 +67,8 @@ requests>=2.24.0 certifi>=2020.6.20 chardet>=3.0.4 idna>=2.10 -urllib3>=1.25.10 -setuptools>=50.3.0 +urllib3>=1.25.11 +setuptools>=50.3.2 # Stem (Connects to Tor and manages Onion Services) stem>=1.8.0 diff --git a/requirements-relay-tails.txt b/requirements-relay-tails.txt index fd30585..58ba6c5 100755 --- a/requirements-relay-tails.txt +++ b/requirements-relay-tails.txt @@ -11,7 +11,7 @@ requests==2.24.0 --hash=sha512:64c49592455abbcd1168f5e1908a8db77bbeb373264b1 certifi==2020.6.20 --hash=sha512:960f1cbe72443230ecba527b5bc4bb8a45a33feb646b0ad01dcb606b9ec3729d27dff5cfa04655d92efd4dec691d61c62d80f8fd39a82fc21528727eeb5c9991 chardet==3.0.4 --hash=sha512:bfae58c8ea19c87cc9c9bf3d0b6146bfdb3630346bd954fe8e9f7da1f09da1fc0d6943ff04802798a665ea3b610ee2d65658ce84fe5a89f9e93625ea396a17f4 idna==2.10 --hash=sha512:7b7be129e1a99288aa74a15971377cb17bee1618843c03c8f782e287d0f3ecf3b8f26e3ea736444eb358f1d6079131a7eb291446f3279874eb8e00b624d9471c -urllib3==1.25.10 --hash=sha512:b4e88397d5ac77c669c8bf01fdf6a70ec7cc3acbdf69e0113ce9a5cd8394e932e6e153d85c60978917e8bf6e85e15f1a4c7da10d2a10cfa0735884a5861a981d +urllib3==1.25.11 --hash=sha512:6889f032f9f87494c06c0a28d6868e23db68909a2ad6d37ac199198ed2313e4f65fd26900ff05828138e412d9a7a5b2463b6c28e71689c0a5a42ebcbae01ed5b # Flask (Onion Service web server that serves TFC public keys and ciphertexts to contacts) Flask==1.1.2 --hash=sha512:3bcd417e5b93590944ebdba05ff4ae37aab31aadcda2e4514d8be275d52877191ffbc58d89ea603900afe39264c899fc1e4fd77cd5e24880c03601551d8f1aac @@ -23,8 +23,8 @@ MarkupSafe==1.1.1 --hash=sha512:69e9b9c9ac4fdf3cfa1a3de23d14964b843989128f8cc Werkzeug==1.0.1 --hash=sha512:8f05b3632d00b1a9c3d85f46dccc7eb55c032bc8cc7b688219865487c96127ecccdd44f9724159299d14db98c1951b552b478811d292d93aa2d12817c88c8527 # cryptography (pyca) (Handles URL token derivation) -cryptography==3.1.1 --hash=sha512:3f208fbc6954a3c6e8dc1d1c20ff2c32f4154eac5cbbc4b0c96032cc33be73bfd99081eaba9eb1557b3ffa3dfcb5312f77fff1393bfb50ce2e8df7a8c585f128 \ - --hash=sha512:b6ab18c7ec3dc666c602d40d2b7626c09c9f78aafab62f340ee8f63b54a12c952c0031bb1e3a31bf9182e139ae58655b2f20056511ae95123981ccacda5bf855 +cryptography==3.2.1 --hash=sha512:14500ff61f10e01281c5b1437de4a594b3fd16253f2911c15736a1e75cc77511c4adb5fdd35c3acb154219a37fe748704593eca4093a08738c1e04d0c663612a \ + --hash=sha512:e7cff2e9e0183163ffefeafe108ad2dea4f308e691c9b38a09a3b2ade99a2f64de5c9203f77eb528bc8336777ac282548b866396f330280f0633db59f8db87ae cffi==1.14.3 --hash=sha512:d906b00752bce5634b309574a3edd5fbb737cb90df351cedcb7c264f3a5b93e28bdd16af1ff69eeddce745b1ada93d97c0b7fb73e04e6973fd7631850cba5f87 \ --hash=sha512:4fac15b1ef79c668f2e9e4fe9b71ca181b3d1ec61ca5ccd4608843f8c841ab58b460d3cb01b242f61d996351ab0fb50d686adf488f89866f6cbf796a2d333ded pycparser==2.20 --hash=sha512:06dc9cefdcde6b97c96d0452a77db42a629c48ee545edd7ab241763e50e3b3c56d21f9fcce4e206817aa1a597763d948a10ccc73572490d739c89eea7fede0a1 @@ -32,4 +32,4 @@ six==1.15.0 --hash=sha512:0416d59434623604de755601c919722c2b800042612a2 # PyNaCl (pyca) (Derives TFC account from Onion Service private key) PyNaCl==1.4.0 --hash=sha512:bf1bb46d23419cb375bcf620a37b5e9ce925cb0dd55eadf851a4bbb9039c8846ed13ae33966436a96655ea41ad1fc282f9139a958fd55ea10597fd3859635a2f -setuptools==50.3.0 --hash=sha512:258cdd8b4bd49dcddd0097c2baf93be93dbffb1634ca1a984b5b71f84a0b37a8342c5725a06615bc8f0090c7193f24740db2f5c15a5b9b00f452fe0b14640c1c +setuptools==50.3.2 --hash=sha512:a8d25a299e06ed353963d1c2da7961e4a177e556ce0483750958d74d6f29dafe992f459f694c2465576ce7fc2eff0260a8b2bbb8e5ae9d7c32147ac6af6a7098 diff --git a/requirements-relay.txt b/requirements-relay.txt index cb5d4c4..0e13daa 100755 --- a/requirements-relay.txt +++ b/requirements-relay.txt @@ -14,7 +14,7 @@ requests==2.24.0 --hash=sha512:64c49592455abbcd1168f5e1908a8db77bbeb373264b1 certifi==2020.6.20 --hash=sha512:960f1cbe72443230ecba527b5bc4bb8a45a33feb646b0ad01dcb606b9ec3729d27dff5cfa04655d92efd4dec691d61c62d80f8fd39a82fc21528727eeb5c9991 chardet==3.0.4 --hash=sha512:bfae58c8ea19c87cc9c9bf3d0b6146bfdb3630346bd954fe8e9f7da1f09da1fc0d6943ff04802798a665ea3b610ee2d65658ce84fe5a89f9e93625ea396a17f4 idna==2.10 --hash=sha512:7b7be129e1a99288aa74a15971377cb17bee1618843c03c8f782e287d0f3ecf3b8f26e3ea736444eb358f1d6079131a7eb291446f3279874eb8e00b624d9471c -urllib3==1.25.10 --hash=sha512:b4e88397d5ac77c669c8bf01fdf6a70ec7cc3acbdf69e0113ce9a5cd8394e932e6e153d85c60978917e8bf6e85e15f1a4c7da10d2a10cfa0735884a5861a981d +urllib3==1.25.11 --hash=sha512:6889f032f9f87494c06c0a28d6868e23db68909a2ad6d37ac199198ed2313e4f65fd26900ff05828138e412d9a7a5b2463b6c28e71689c0a5a42ebcbae01ed5b # Flask (Onion Service web server that serves TFC public keys and ciphertexts to contacts) Flask==1.1.2 --hash=sha512:3bcd417e5b93590944ebdba05ff4ae37aab31aadcda2e4514d8be275d52877191ffbc58d89ea603900afe39264c899fc1e4fd77cd5e24880c03601551d8f1aac @@ -26,8 +26,8 @@ MarkupSafe==1.1.1 --hash=sha512:69e9b9c9ac4fdf3cfa1a3de23d14964b843989128f8cc Werkzeug==1.0.1 --hash=sha512:8f05b3632d00b1a9c3d85f46dccc7eb55c032bc8cc7b688219865487c96127ecccdd44f9724159299d14db98c1951b552b478811d292d93aa2d12817c88c8527 # cryptography (pyca) (Handles URL token derivation) -cryptography==3.1.1 --hash=sha512:3f208fbc6954a3c6e8dc1d1c20ff2c32f4154eac5cbbc4b0c96032cc33be73bfd99081eaba9eb1557b3ffa3dfcb5312f77fff1393bfb50ce2e8df7a8c585f128 \ - --hash=sha512:b6ab18c7ec3dc666c602d40d2b7626c09c9f78aafab62f340ee8f63b54a12c952c0031bb1e3a31bf9182e139ae58655b2f20056511ae95123981ccacda5bf855 +cryptography==3.2.1 --hash=sha512:14500ff61f10e01281c5b1437de4a594b3fd16253f2911c15736a1e75cc77511c4adb5fdd35c3acb154219a37fe748704593eca4093a08738c1e04d0c663612a \ + --hash=sha512:e7cff2e9e0183163ffefeafe108ad2dea4f308e691c9b38a09a3b2ade99a2f64de5c9203f77eb528bc8336777ac282548b866396f330280f0633db59f8db87ae cffi==1.14.3 --hash=sha512:d906b00752bce5634b309574a3edd5fbb737cb90df351cedcb7c264f3a5b93e28bdd16af1ff69eeddce745b1ada93d97c0b7fb73e04e6973fd7631850cba5f87 \ --hash=sha512:4fac15b1ef79c668f2e9e4fe9b71ca181b3d1ec61ca5ccd4608843f8c841ab58b460d3cb01b242f61d996351ab0fb50d686adf488f89866f6cbf796a2d333ded pycparser==2.20 --hash=sha512:06dc9cefdcde6b97c96d0452a77db42a629c48ee545edd7ab241763e50e3b3c56d21f9fcce4e206817aa1a597763d948a10ccc73572490d739c89eea7fede0a1 @@ -35,4 +35,4 @@ six==1.15.0 --hash=sha512:0416d59434623604de755601c919722c2b800042612a2 # PyNaCl (pyca) (Derives TFC account from Onion Service private key) PyNaCl==1.4.0 --hash=sha512:bf1bb46d23419cb375bcf620a37b5e9ce925cb0dd55eadf851a4bbb9039c8846ed13ae33966436a96655ea41ad1fc282f9139a958fd55ea10597fd3859635a2f -setuptools==50.3.0 --hash=sha512:258cdd8b4bd49dcddd0097c2baf93be93dbffb1634ca1a984b5b71f84a0b37a8342c5725a06615bc8f0090c7193f24740db2f5c15a5b9b00f452fe0b14640c1c +setuptools==50.3.2 --hash=sha512:a8d25a299e06ed353963d1c2da7961e4a177e556ce0483750958d74d6f29dafe992f459f694c2465576ce7fc2eff0260a8b2bbb8e5ae9d7c32147ac6af6a7098 diff --git a/requirements-setuptools.txt b/requirements-setuptools.txt index f70455d..9228e70 100755 --- a/requirements-setuptools.txt +++ b/requirements-setuptools.txt @@ -1 +1 @@ -setuptools==50.3.0 --hash=sha512:258cdd8b4bd49dcddd0097c2baf93be93dbffb1634ca1a984b5b71f84a0b37a8342c5725a06615bc8f0090c7193f24740db2f5c15a5b9b00f452fe0b14640c1c +setuptools==50.3.2 --hash=sha512:a8d25a299e06ed353963d1c2da7961e4a177e556ce0483750958d74d6f29dafe992f459f694c2465576ce7fc2eff0260a8b2bbb8e5ae9d7c32147ac6af6a7098 diff --git a/requirements-venv.txt b/requirements-venv.txt index 56f3d18..765942a 100755 --- a/requirements-venv.txt +++ b/requirements-venv.txt @@ -1,10 +1,10 @@ # Sub-dependencies are listed below dependencies # Virtual environment (Used to create an isolated Python environment for TFC dependencies) -virtualenv==20.0.33 --hash=sha512:c15f4b8d4df895ba03ecc19631198584c97e74b3026b7e82207e62d932ea03bb4c5dd36349764c1418021aa6611072a44c9b3166bbf7040cfc5815efba03b2d1 +virtualenv==20.1.0 --hash=sha512:f6db0b9d758ea5b1c244aeb3af77597bfba940e13efa3cee80508b3e9923e1691e65bc16a5d83812f1ec83dc04e7b47cea032998253fec450ed2aa80378b663c appdirs==1.4.4 --hash=sha512:8e6c1ea544013ea2567cda2d8b8c7b441bc50ac689aa7f95de67e3795aa083e9592c687d74fdbb37f5a75e0beab398fe47df5bced14ee9c204cfe5ecc364ef44 distlib==0.3.1 --hash=sha512:ac65d35a5309ec22db5b1e9ab6c20014084feab11e86e81bee6d0bfcc65940dfdcaa2711ac1e98c1ef179b110a4ea03dbaf042b894d3051da9d339c534664e00 filelock==3.0.12 --hash=sha512:d13edd50779bca9842694e0da157ca1fdad9d28166771275049f41dea4b8d8466fc5604b610b6ad64552cdf4c1d3cada9977ca37c6b775c4cc92f333709e8ea3 importlib-metadata==2.0.0 --hash=sha512:09ec4c718781e3ba6ed8024a094081ce530f30c1aa7df8f10729d64f17839bcc35dc3c94218209dbb6d133f3052d33cebe282bf7b53ba9646d1653ce62cdae3b -zipp==3.3.0 --hash=sha512:1c83f8958eb172083a42c3cd0745e0c32def319992dfb227b906a9d0a9fd6f9dd556de49a8a84f76e27b0ebce7abe6a9a7fd12ae532e86898046c68e68d28f11 +zipp==3.4.0 --hash=sha512:bf6090e22c45b53691b25abf98d2f98562762bba00133f378601f2e115729da44d6d11ac7f2738926960a8d0ea6f694ea594d644d0d9ca81fc8e55396cc8d556 six==1.15.0 --hash=sha512:0416d59434623604de755601c919722c2b800042612a2a7b221ecd3ccf556aca3a78f0f926fd640032a3d74d153457628a89c25065dfcdbb96892d5bf7279904 diff --git a/requirements.txt b/requirements.txt index 386dea9..5246af6 100755 --- a/requirements.txt +++ b/requirements.txt @@ -11,9 +11,9 @@ pycparser==2.20 --hash=sha512:06dc9cefdcde6b97c96d0452a77db42a629c48ee545ed six==1.15.0 --hash=sha512:0416d59434623604de755601c919722c2b800042612a2a7b221ecd3ccf556aca3a78f0f926fd640032a3d74d153457628a89c25065dfcdbb96892d5bf7279904 # cryptography (pyca) (Handles TCB-side X448 key exchange) -cryptography==3.1.1 --hash=sha512:3f208fbc6954a3c6e8dc1d1c20ff2c32f4154eac5cbbc4b0c96032cc33be73bfd99081eaba9eb1557b3ffa3dfcb5312f77fff1393bfb50ce2e8df7a8c585f128 \ - --hash=sha512:b6ab18c7ec3dc666c602d40d2b7626c09c9f78aafab62f340ee8f63b54a12c952c0031bb1e3a31bf9182e139ae58655b2f20056511ae95123981ccacda5bf855 +cryptography==3.2.1 --hash=sha512:14500ff61f10e01281c5b1437de4a594b3fd16253f2911c15736a1e75cc77511c4adb5fdd35c3acb154219a37fe748704593eca4093a08738c1e04d0c663612a \ + --hash=sha512:e7cff2e9e0183163ffefeafe108ad2dea4f308e691c9b38a09a3b2ade99a2f64de5c9203f77eb528bc8336777ac282548b866396f330280f0633db59f8db87ae # PyNaCl (pyca) (Handles TCB-side XChaCha20-Poly1305 symmetric encryption) PyNaCl==1.4.0 --hash=sha512:bf1bb46d23419cb375bcf620a37b5e9ce925cb0dd55eadf851a4bbb9039c8846ed13ae33966436a96655ea41ad1fc282f9139a958fd55ea10597fd3859635a2f -setuptools==50.3.0 --hash=sha512:258cdd8b4bd49dcddd0097c2baf93be93dbffb1634ca1a984b5b71f84a0b37a8342c5725a06615bc8f0090c7193f24740db2f5c15a5b9b00f452fe0b14640c1c +setuptools==50.3.2 --hash=sha512:a8d25a299e06ed353963d1c2da7961e4a177e556ce0483750958d74d6f29dafe992f459f694c2465576ce7fc2eff0260a8b2bbb8e5ae9d7c32147ac6af6a7098 diff --git a/src/common/crypto.py b/src/common/crypto.py index b1d8e68..ff4e806 100755 --- a/src/common/crypto.py +++ b/src/common/crypto.py @@ -703,7 +703,7 @@ def csprng(key_length: int = SYMMETRIC_KEY_LENGTH # Length of the key X448 private keys Other TFC keys ↑ ↑ - OS random engine BLAKE2b (by TFC) + (OS random engine) BLAKE2b (by TFC) ↑ ↑ └────────┐ ┌────────┘ GETRANDOM() diff --git a/src/common/statics.py b/src/common/statics.py index 9606913..036b98e 100755 --- a/src/common/statics.py +++ b/src/common/statics.py @@ -21,7 +21,7 @@ along with TFC. If not, see . """Program details""" TFC = 'TFC' -VERSION = '1.20.10' +VERSION = '1.20.11' TRANSMITTER = 'Transmitter' RECEIVER = 'Receiver' RELAY = 'Relay' diff --git a/src/relay/diffs.py b/src/relay/diffs.py index fb343e1..d184171 100644 --- a/src/relay/diffs.py +++ b/src/relay/diffs.py @@ -56,14 +56,14 @@ class GetAccountFromUser(object): self.root.title("Contact account entry") self.root.protocol("WM_DELETE_WINDOW", self.dismiss_window) - self.error_label = tkinter.Label(self.root, text=None) + self.error_label = tkinter.Label(self.root, text='') self.instruction = tkinter.Text(self.root, height=3, width=54) self.instruction.tag_configure('center', justify='center') - self.instruction.insert('1.0', "Could not determine the account being added.\n" # type: ignore + self.instruction.insert('1.0', "Could not determine the account being added.\n" "Please paste the account here to see diffs\n" "or press Cancel to dismiss this prompt.") - self.instruction.tag_add('center', '1.0', 'end') # type: ignore + self.instruction.tag_add('center', '1.0', 'end') self.instruction.grid(row=0, rowspan=2, columnspan=2) self.address_entry_box = tkinter.Entry(self.root, width=54)