From d200a55938e12f0cc6ef4305714ad542bef62c3d Mon Sep 17 00:00:00 2001 From: "emdee@spm.plastiras.org" Date: Thu, 7 Mar 2024 09:36:36 +0000 Subject: [PATCH] fixed --- src/getnodes.c | 137 +++++++++++++++++-------------- src/twc-bootstrap.c | 173 ++++++++++++++++++---------------------- src/twc-commands.c | 2 +- src/twc-config.c | 15 ++-- src/twc-profile.c | 77 +++++++++++++----- src/twc-profile.h | 6 +- src/twc-tox-callbacks.c | 5 +- 7 files changed, 229 insertions(+), 186 deletions(-) diff --git a/src/getnodes.c b/src/getnodes.c index 6228126..f448bcd 100644 --- a/src/getnodes.c +++ b/src/getnodes.c @@ -1,92 +1,92 @@ -/* bootstrap nodes generated by /o/var/local/src/tox-weechat/misc/getnodes.py - * last generated 2022-11-11T08:54:10.303144 */ +/* bootstrap nodes generated by /o/var/local/src/tox-weechat.git/misc/getnodes.py + * last generated 2024-03-07T09:12:04.788351 */ static struct t_twc_bootstrap_node const twc_bootstrap_nodes[] = { /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", "144.217.167.73", 33445}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 33445}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", "205.185.115.131", 53}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 33445}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 33445}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 38296}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 33445}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 33445}, - /* Maintainer: Cüber, location: US */ - {"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255", - "198.98.49.206", 33445}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 43334}, + /* Maintainer: ToxTom, location: CA */ + {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", + "139.162.110.188", 33445}, + /* Maintainer: amr, location: CA */ + {"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C", + "172.105.109.31", 33445}, + /* Maintainer: Toxdaemon, location: EE */ + {"B5E7DAC610DBDE55F359C7F8690B294C8E4FCEC4385DE9525DBFA5523EAD9D53", + "91.146.66.26", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 33445}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 33445}, + /* Maintainer: UR1229SWL, location: NL */ + {"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645", + "194.36.190.71", 33445}, + /* Maintainer: Alexsandr, location: RU */ + {"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473", + "62.183.96.32", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 33445}, }; static struct t_twc_bootstrap_node const twc_bootstrap_relays[] = { /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", - "144.217.167.73", 33445}, + "144.217.167.73", 3389}, /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", - "144.217.167.73", 3389}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 33445}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 3389}, + "144.217.167.73", 33445}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 3389}, + "205.185.115.131", 53}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", "205.185.115.131", 443}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 33445}, + "205.185.115.131", 3389}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 53}, + "205.185.115.131", 33445}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 3389}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 33445}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 3389}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 33445}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 443}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 3389}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 38296}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 3389}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 3389}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 33445}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 3389}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 33445}, - /* Maintainer: Cüber, location: LV */ - {"534A589BA7427C631773D13083570F529238211893640C99D1507300F055FE73", - "195.123.208.139", 3389}, - /* Maintainer: Cüber, location: LV */ - {"534A589BA7427C631773D13083570F529238211893640C99D1507300F055FE73", - "195.123.208.139", 33445}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 3389}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 33445}, /* Maintainer: ToxTom, location: CA */ {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", "139.162.110.188", 443}, @@ -96,13 +96,34 @@ static struct t_twc_bootstrap_node const twc_bootstrap_relays[] = { /* Maintainer: ToxTom, location: CA */ {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", "139.162.110.188", 3389}, - /* Maintainer: Cüber, location: US */ - {"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255", - "198.98.49.206", 33445}, - /* Maintainer: Toxdaemon, location: RU */ - {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", - "5.19.249.240", 3389}, - /* Maintainer: Toxdaemon, location: RU */ - {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", - "5.19.249.240", 38296}, + /* Maintainer: amr, location: CA */ + {"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C", + "172.105.109.31", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 443}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 3389}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 3389}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 33445}, + /* Maintainer: UR1229SWL, location: NL */ + {"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645", + "194.36.190.71", 33445}, + /* Maintainer: Alexsandr, location: RU */ + {"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473", + "62.183.96.32", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 3389}, }; diff --git a/src/twc-bootstrap.c b/src/twc-bootstrap.c index 9e34bba..45c5325 100644 --- a/src/twc-bootstrap.c +++ b/src/twc-bootstrap.c @@ -30,137 +30,95 @@ struct t_twc_bootstrap_node uint16_t const port; }; -/* bootstrap nodes generated by /o/var/local/src/tox-weechat/misc/getnodes.py - * last generated 2022-11-11T08:54:10.303144 */ +/* bootstrap nodes generated by /o/var/local/src/tox-weechat.git/misc/getnodes.py + * last generated 2024-03-07T09:12:04.788351 */ static struct t_twc_bootstrap_node const twc_bootstrap_nodes[] = { - /* Maintainer: MAH69K, location: RU */ - {"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43", - "85.143.221.42", 33445}, - /* Maintainer: initramfs, location: TW */ - {"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25", - "114.35.245.150", 33445}, /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", "144.217.167.73", 33445}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 33445}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", "205.185.115.131", 53}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 33445}, - /* Maintainer: 2mf, location: DE */ - {"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506", - "49.12.229.145", 33445}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 33445}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 33445}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 38296}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 33445}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 33445}, - /* Maintainer: Cüber, location: LV */ - {"534A589BA7427C631773D13083570F529238211893640C99D1507300F055FE73", - "195.123.208.139", 33445}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 43334}, /* Maintainer: ToxTom, location: CA */ {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", "139.162.110.188", 33445}, - /* Maintainer: Cüber, location: US */ - {"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255", - "198.98.49.206", 33445}, - /* Maintainer: Toxdaemon, location: RU */ - {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", - "5.19.249.240", 38296}, + /* Maintainer: amr, location: CA */ + {"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C", + "172.105.109.31", 33445}, + /* Maintainer: Toxdaemon, location: EE */ + {"B5E7DAC610DBDE55F359C7F8690B294C8E4FCEC4385DE9525DBFA5523EAD9D53", + "91.146.66.26", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 33445}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 33445}, + /* Maintainer: UR1229SWL, location: NL */ + {"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645", + "194.36.190.71", 33445}, + /* Maintainer: Alexsandr, location: RU */ + {"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473", + "62.183.96.32", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 33445}, }; static struct t_twc_bootstrap_node const twc_bootstrap_relays[] = { - /* Maintainer: MAH69K, location: RU */ - {"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43", - "85.143.221.42", 33445}, - /* Maintainer: MAH69K, location: RU */ - {"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43", - "85.143.221.42", 3389}, - /* Maintainer: initramfs, location: TW */ - {"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25", - "114.35.245.150", 3389}, - /* Maintainer: initramfs, location: TW */ - {"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25", - "114.35.245.150", 33445}, /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", - "144.217.167.73", 33445}, + "144.217.167.73", 3389}, /* Maintainer: velusip, location: CA */ {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", - "144.217.167.73", 3389}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 33445}, - /* Maintainer: Cody, location: US */ - {"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F", - "198.199.98.108", 3389}, + "144.217.167.73", 33445}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 3389}, + "205.185.115.131", 53}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", "205.185.115.131", 443}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 33445}, + "205.185.115.131", 3389}, /* Maintainer: GDR!, location: US */ {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", - "205.185.115.131", 53}, + "205.185.115.131", 33445}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 3389}, /* Maintainer: kotelnik, location: DE */ {"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707", "46.101.197.175", 33445}, - /* Maintainer: 2mf, location: DE */ - {"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506", - "49.12.229.145", 3389}, - /* Maintainer: 2mf, location: DE */ - {"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506", - "49.12.229.145", 33445}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 3389}, - /* Maintainer: tux1973, location: DE */ - {"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107", - "195.201.7.101", 33445}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 33445}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 443}, - /* Maintainer: Tha_14, location: MD */ - {"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409", - "114.35.245.150", 3389}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 38296}, + /* Maintainer: Toxdaemon, location: RU */ + {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", + "5.19.249.240", 3389}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 3389}, /* Maintainer: Nikat, location: RU */ {"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67", "188.225.9.167", 33445}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 3389}, - /* Maintainer: miaoski, location: TW */ - {"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E", - "122.116.39.151", 33445}, - /* Maintainer: Cüber, location: LV */ - {"534A589BA7427C631773D13083570F529238211893640C99D1507300F055FE73", - "195.123.208.139", 3389}, - /* Maintainer: Cüber, location: LV */ - {"534A589BA7427C631773D13083570F529238211893640C99D1507300F055FE73", - "195.123.208.139", 33445}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 3389}, + /* Maintainer: Gabe, location: US */ + {"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C", + "104.225.141.59", 33445}, /* Maintainer: ToxTom, location: CA */ {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", "139.162.110.188", 443}, @@ -170,15 +128,36 @@ static struct t_twc_bootstrap_node const twc_bootstrap_relays[] = { /* Maintainer: ToxTom, location: CA */ {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", "139.162.110.188", 3389}, - /* Maintainer: Cüber, location: US */ - {"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255", - "198.98.49.206", 33445}, - /* Maintainer: Toxdaemon, location: RU */ - {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", - "5.19.249.240", 3389}, - /* Maintainer: Toxdaemon, location: RU */ - {"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238", - "5.19.249.240", 38296}, + /* Maintainer: amr, location: CA */ + {"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C", + "172.105.109.31", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 33445}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 443}, + /* Maintainer: zero-one, location: US */ + {"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239", + "172.104.215.182", 3389}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 3389}, + /* Maintainer: turambar, location: EG */ + {"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705", + "188.214.122.30", 33445}, + /* Maintainer: UR1229SWL, location: NL */ + {"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645", + "194.36.190.71", 33445}, + /* Maintainer: Alexsandr, location: RU */ + {"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473", + "62.183.96.32", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 33445}, + /* Maintainer: lzk, location: US */ + {"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63", + "141.11.229.155", 3389}, }; static int const twc_bootstrap_count = diff --git a/src/twc-commands.c b/src/twc-commands.c index e593368..e47b5b6 100644 --- a/src/twc-commands.c +++ b/src/twc-commands.c @@ -1398,7 +1398,7 @@ twc_cmd_send(const void *pointer, void *data, struct t_gui_buffer *buffer, { weechat_printf(profile->buffer, "%ssending \"%s\" has been failed: %d", weechat_prefix("error"), filename, - /* twc_tox_err_file_send */ + /* twc_tox_err_file_send_to_string */ error); return WEECHAT_RC_ERROR; } diff --git a/src/twc-config.c b/src/twc-config.c index ebdd038..e24d94e 100644 --- a/src/twc-config.c +++ b/src/twc-config.c @@ -55,6 +55,7 @@ char *twc_profile_option_names[TWC_PROFILE_NUM_OPTIONS] = { "downloading_path", "local_discovery_enabled", "dht_announcements_enabled", + "hole_punching_enabled", }; /** @@ -285,7 +286,7 @@ twc_config_init_option(struct t_twc_profile *profile, break; case TWC_PROFILE_OPTION_PROXY_TYPE: type = "integer"; - description = "proxy type (none=0|http=1||socks5=2); requires profile reload to take effect"; + description = "proxy type (none=0|http=1|socks5=2); requires profile reload to take effect"; /* string_values = "none|socks5|http"; */ min = 0; max = 2; @@ -302,11 +303,6 @@ twc_config_init_option(struct t_twc_profile *profile, description = "use UDP when communicating with the Tox network"; default_value = "on"; break; - case TWC_PROFILE_OPTION_LAN_DISCOVERY: - type = "boolean"; - description = "look for nodes on the local lan"; - default_value = "off"; - break; case TWC_PROFILE_OPTION_DOWNLOADING_PATH: type = "string"; description = @@ -314,6 +310,11 @@ twc_config_init_option(struct t_twc_profile *profile, "WeeChat home folder and \"%p\" by profile name"; default_value = "%h/tfer/%p/"; break; + case TWC_PROFILE_OPTION_LAN_DISCOVERY: + type = "boolean"; + description = "look for nodes on the local lan"; + default_value = "off"; + break; case TWC_PROFILE_OPTION_DHT_ANNOUNCEMENTS_ENABLED: type = "boolean"; description = "dht announcements enabled"; @@ -401,6 +402,7 @@ twc_config_init_profile(struct t_twc_profile *profile) { for (int i = 0; i < TWC_PROFILE_NUM_OPTIONS; ++i) { + if (profile && profile->name) { /* length: name + . + option + \0 */ size_t length = strlen(profile->name) + 1 + strlen(twc_profile_option_names[i]) + 1; @@ -415,6 +417,7 @@ twc_config_init_profile(struct t_twc_profile *profile) profile, twc_config_section_profile, i, option_name, false); free(option_name); } + } } } diff --git a/src/twc-profile.c b/src/twc-profile.c index 965fa93..c01356f 100644 --- a/src/twc-profile.c +++ b/src/twc-profile.c @@ -190,34 +190,43 @@ twc_profile_set_options(struct Tox_Options *options, const char *proxy_host = TWC_PROFILE_OPTION_STRING(profile, TWC_PROFILE_OPTION_PROXY_ADDRESS); - if (proxy_host) - options->proxy_host = proxy_host; - switch (TWC_PROFILE_OPTION_INTEGER(profile, TWC_PROFILE_OPTION_PROXY_TYPE)) { case TWC_PROXY_NONE: options->proxy_type = TOX_PROXY_TYPE_NONE; + options->udp_enabled = + TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_UDP); + options->hole_punching_enabled = + TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_HOLE_PUNCHING_ENABLED); break; case TWC_PROXY_HTTP: options->proxy_type = TOX_PROXY_TYPE_HTTP; + options->udp_enabled = false; + options->hole_punching_enabled = false; + if (proxy_host) { + options->proxy_host = proxy_host; + options->proxy_port = + (uint16_t)TWC_PROFILE_OPTION_INTEGER(profile, TWC_PROFILE_OPTION_PROXY_PORT); + } break; case TWC_PROXY_SOCKS5: options->proxy_type = TOX_PROXY_TYPE_SOCKS5; + options->udp_enabled = false; + options->hole_punching_enabled = false; + if (proxy_host) { + options->proxy_host = proxy_host; + options->proxy_port = + (uint16_t)TWC_PROFILE_OPTION_INTEGER(profile, TWC_PROFILE_OPTION_PROXY_PORT); + } break; } - options->proxy_port = - TWC_PROFILE_OPTION_INTEGER(profile, TWC_PROFILE_OPTION_PROXY_PORT); - options->udp_enabled = - TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_UDP); options->ipv6_enabled = TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_IPV6); options->local_discovery_enabled = TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_LAN_DISCOVERY); options->dht_announcements_enabled = TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_DHT_ANNOUNCEMENTS_ENABLED); - options->hole_punching_enabled = - TWC_PROFILE_OPTION_BOOLEAN(profile, TWC_PROFILE_OPTION_HOLE_PUNCHING_ENABLED); #ifndef NDEBUG options->log_callback = twc_tox_log_callback; @@ -324,7 +333,7 @@ twc_profile_load(struct t_twc_profile *profile) /* print a proxy message */ if (options.proxy_type != TOX_PROXY_TYPE_NONE) { - weechat_printf(profile->buffer, "%susing %s proxy %s:%d" PRIu16, + weechat_printf(profile->buffer, "%susing %s proxy %s:%d", weechat_prefix("network"), options.proxy_type == TOX_PROXY_TYPE_HTTP ? "HTTP" @@ -338,8 +347,22 @@ twc_profile_load(struct t_twc_profile *profile) "be hidden.", weechat_prefix("error"), weechat_color("lightred"), weechat_color("reset")); + if (options.ipv6_enabled) + weechat_printf(profile->buffer, + "%s%swarning:%s Tox is configured to use a proxy, " + "but IPV6 is not disabled. This will not work if your " + "proxy is IPV4.", + weechat_prefix("error"), weechat_color("lightred"), + weechat_color("reset")); } - + weechat_printf(profile->buffer, "%susing UDP %d IPV6 %d LAN %d DHT %d HOLE %d", + weechat_prefix("network"), + options.udp_enabled, + options.ipv6_enabled, + options.local_discovery_enabled, + options.dht_announcements_enabled, + options.hole_punching_enabled); + /* try loading data file */ char *path = twc_profile_expanded_data_path(profile); FILE *file = NULL; @@ -353,6 +376,8 @@ twc_profile_load(struct t_twc_profile *profile) { fseek(file, 0, SEEK_END); data_size = ftell(file); + weechat_printf(profile->buffer, "%sloaded file %s", + weechat_prefix("network"), path); } uint8_t data[data_size]; @@ -441,13 +466,23 @@ twc_profile_load(struct t_twc_profile *profile) tox_self_set_name(profile->tox, (uint8_t *)default_name, strlen(default_name), NULL); } - + if (!(profile->tox)) { + weechat_printf(profile->buffer, + "%scould not create Tox structure, aborting", + weechat_prefix("error")); + return TWC_RC_ERROR; + } + /* bootstrap DHT * TODO: add count to config */ int bootstrap_node_count = 8; - for (int i = 0; i < bootstrap_node_count; ++i) + for (int i = 0; i < bootstrap_node_count; ++i) { twc_bootstrap_random_dht(profile->tox); - + if (options.proxy_type > TOX_PROXY_TYPE_NONE) { + twc_bootstrap_random_relay(profile->tox); + } + } + /* start tox_iterate loop */ twc_do_timer_cb(profile, NULL, 0); @@ -504,9 +539,9 @@ twc_profile_unload(struct t_twc_profile *profile) /* stop Tox timer */ weechat_unhook(profile->tox_do_timer); + twc_profile_refresh_online_status(); /* have to refresh and hide bar items even if we were already offline * TODO */ - twc_profile_refresh_online_status(profile); twc_profile_set_online_status(profile, false); } @@ -527,7 +562,7 @@ twc_profile_autoload() } void -twc_profile_refresh_online_status(struct t_twc_profile *profile) +twc_profile_refresh_online_status() { weechat_bar_item_update("buffer_plugin"); weechat_bar_item_update("input_prompt"); @@ -537,12 +572,14 @@ twc_profile_refresh_online_status(struct t_twc_profile *profile) void twc_profile_set_online_status(struct t_twc_profile *profile, bool status) { - TOX_CONNECTION connection = tox_self_get_connection_status(profile->tox); + if (!(profile)) { + weechat_printf(profile->buffer, "%sno profile", + weechat_prefix("network")); + } else if (profile->tox_online ^ status) { + TOX_CONNECTION connection = tox_self_get_connection_status(profile->tox); - if (profile->tox_online ^ status) - { profile->tox_online = status; - twc_profile_refresh_online_status(profile); + twc_profile_refresh_online_status(); if (connection == TOX_CONNECTION_TCP) { diff --git a/src/twc-profile.h b/src/twc-profile.h index 2f3851b..2ca991c 100644 --- a/src/twc-profile.h +++ b/src/twc-profile.h @@ -43,7 +43,9 @@ enum t_twc_profile_option TWC_PROFILE_OPTION_LOGGING, TWC_PROFILE_OPTION_DOWNLOADING_PATH, TWC_PROFILE_OPTION_LAN_DISCOVERY, - + TWC_PROFILE_OPTION_DHT_ANNOUNCEMENTS_ENABLED, + TWC_PROFILE_OPTION_HOLE_PUNCHING_ENABLED, + TWC_PROFILE_NUM_OPTIONS, }; @@ -123,7 +125,7 @@ int twc_profile_save_data_file(struct t_twc_profile *profile); void -twc_profile_refresh_online_status(struct t_twc_profile *profile); +twc_profile_refresh_online_status(); void twc_profile_set_online_status(struct t_twc_profile *profile, bool online); diff --git a/src/twc-tox-callbacks.c b/src/twc-tox-callbacks.c index 06359e7..1a8ba7a 100644 --- a/src/twc-tox-callbacks.c +++ b/src/twc-tox-callbacks.c @@ -672,9 +672,10 @@ twc_file_chunk_request_callback(Tox *tox, uint32_t friend_number, tox_file_send_chunk(profile->tox, friend_number, file_number, position, data, length, &error); if (error) - weechat_printf(profile->buffer, "%s%s: chunk sending error: %s", + weechat_printf(profile->buffer, "%s%s: chunk sending error: %d", weechat_prefix("error"), file->filename, - twc_tox_err_file_send_chunk(error)); + /* twc_tox_err_file_send_chunk() */ + error); else { file->position += length;