First
This commit is contained in:
		
							parent
							
								
									d40d314f6a
								
							
						
					
					
						commit
						b72ca69a8a
					
				
					 9 changed files with 309 additions and 93 deletions
				
			
		|  | @ -30,81 +30,155 @@ struct t_twc_bootstrap_node | |||
|     uint16_t const port; | ||||
| }; | ||||
| 
 | ||||
| /* bootstrap nodes generated by misc/getnodes.py
 | ||||
|  * last generated 2018-04-12T22:40:44.123211 */ | ||||
| /* bootstrap nodes generated by /o/var/local/src/tox-weechat/misc/getnodes.py
 | ||||
|  * last generated 2022-11-11T08:54:10.303144 */ | ||||
| static struct t_twc_bootstrap_node const twc_bootstrap_nodes[] = { | ||||
|     /* Maintainer: Manolis, location: DE */ | ||||
|     {"461FA3776EF0FA655F1A05477DF1B3B614F7D6B124F7DB1DD4FE3C08B03B640F", | ||||
|      "130.133.110.14", 33445}, | ||||
|     /* Maintainer: Busindre, location: US */ | ||||
|     {"A179B09749AC826FF01F37A9613F6B57118AE014D4196A0E1105A98F93A54702", | ||||
|      "205.185.116.116", 33445}, | ||||
|     /* Maintainer: Busindre, location: US */ | ||||
|     {"1D5A5F2F5D6233058BF0259B09622FB40B482E4FA0931EB8FD3AB8E7BF7DAF6F", | ||||
|      "198.98.51.198", 33445}, | ||||
|     /* Maintainer: ray65536, location: RU */ | ||||
|     {"8E7D0B859922EF569298B4D261A8CCB5FEA14FB91ED412A7603A585A25698832", | ||||
|      "85.172.30.117", 33445}, | ||||
|     /* Maintainer: fluke571, location: SI */ | ||||
|     {"3CEE1F054081E7A011234883BC4FC39F661A55B73637A5AC293DDF1251D9432B", | ||||
|      "194.249.212.109", 33445}, | ||||
|     /* Maintainer: MAH69K, location: UA */ | ||||
|     /* Maintainer: MAH69K, location: RU */ | ||||
|     {"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43", | ||||
|      "185.25.116.107", 33445}, | ||||
|     /* Maintainer: pucetox, location: FR */ | ||||
|     {"7AED21F94D82B05774F697B209628CD5A9AD17E0C073D9329076A4C28ED28147", | ||||
|      "217.182.143.254", 2306}, | ||||
|     /* Maintainer: ru_maniac, location: US */ | ||||
|     {"0FB96EEBFB1650DDB52E70CF773DDFCABE25A95CC3BB50FC251082E4B63EF82A", | ||||
|      "104.223.122.15", 33445}, | ||||
|     /* Maintainer: a68366, location: FR */ | ||||
|     {"AEC204B9A4501412D5F0BB67D9C81B5DB3EE6ADA64122D32A3E9B093D544327D", | ||||
|      "51.254.84.212", 33445}, | ||||
|     /* Maintainer: Skey, location: NL */ | ||||
|     {"B71E91E2F5029B0A84D3B1136319CDD3D1DB6D3702B6CEFA66A4BEB25A635916", | ||||
|      "213.183.51.211", 33445}, | ||||
|     /* Maintainer: t3mp, location: RU */ | ||||
|     {"5625A62618CB4FCA70E147A71B29695F38CC65FF0CBD68AD46254585BE564802", | ||||
|      "92.54.84.70", 33445}, | ||||
|     /* Maintainer: HooinKyoma, location: SE */ | ||||
|     {"672DBE27B4ADB9D5FB105A6BB648B2F8FDB89B3323486A7A21968316E012023C", | ||||
|      "95.215.44.78", 33445}, | ||||
|     /* Maintainer: LittleVulpix, location: FR */ | ||||
|     {"2C289F9F37C20D09DA83565588BF496FAB3764853FA38141817A72E3F18ACA0B", | ||||
|      "163.172.136.118", 33445}, | ||||
|     /* Maintainer: Yani, location: NL */ | ||||
|     {"E59A0E71ADA20D35BD1B0957059D7EF7E7792B3D680AE25C6F4DBBA09114D165", | ||||
|      "37.97.185.116", 33445}, | ||||
|     /* Maintainer: linxon, location: RU */ | ||||
|     {"B38255EE4B054924F6D79A5E6E5889EC94B6ADF6FE9906F97A3D01E3D083223A", | ||||
|      "80.87.193.193", 33445}, | ||||
|     /* Maintainer: Stranger, location: UA */ | ||||
|     {"813C8F4187833EF0655B10F7752141A352248462A567529A38B6BBF73E979307", | ||||
|      "46.229.52.198", 33445}, | ||||
|      "85.143.221.42", 33445}, | ||||
|     /* Maintainer: initramfs, location: TW */ | ||||
|     {"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25", | ||||
|      "114.35.245.150", 33445}, | ||||
|     /* Maintainer: velusip, location: CA */ | ||||
|     {"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C", | ||||
|      "149.56.140.5", 33445}, | ||||
|     /* Maintainer: dvor, location: NL */ | ||||
|     {"2555763C8C460495B14157D234DD56B86300A2395554BCAE4621AC345B8C1B1B", | ||||
|      "185.14.30.213", 443}, | ||||
|     /* Maintainer: CeBe, location: DE */ | ||||
|     {"6EE1FADE9F55CC7938234CC07C864081FC606D8FE7B751EDA217F268F1078A39", | ||||
|      "136.243.141.187", 443}, | ||||
|     /* Maintainer: Pokemon, location: NL */ | ||||
|     {"1B5A8AB25FFFB66620A531C4646B47F0F32B74C547B30AF8BD8266CA50A3AB59", | ||||
|      "37.48.122.22", 33445}, | ||||
|     /* Maintainer: warlomak, location: RU */ | ||||
|     {"FFAC871E85B1E1487F87AE7C76726AE0E60318A85F6A1669E04C47EB8DC7C72D", | ||||
|      "79.140.30.52", 33445}, | ||||
|     /* Maintainer: ru_maniac, location: US */ | ||||
|     {"3925752E43BF2F8EB4E12B0E9414311064FF2D76707DC7D5D2CCB43F75081F6B", | ||||
|      "104.223.122.204", 33445}, | ||||
|     /* Maintainer: GDR!, location: PL */ | ||||
|     {"B9D109CC820C69A5D97A4A1A15708107C6BA85C13BC6188CC809D374AFF18E63", | ||||
|      "77.55.211.53", 53}, | ||||
|     /* Maintainer: clearmartin, location: DE */ | ||||
|      "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", 443}, | ||||
|      "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: 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: 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}, | ||||
| }; | ||||
| 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}, | ||||
|     /* 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}, | ||||
|     /* Maintainer: GDR!, location: US */ | ||||
|     {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", | ||||
|      "205.185.115.131", 3389}, | ||||
|     /* Maintainer: GDR!, location: US */ | ||||
|     {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", | ||||
|      "205.185.115.131", 443}, | ||||
|     /* Maintainer: GDR!, location: US */ | ||||
|     {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", | ||||
|      "205.185.115.131", 33445}, | ||||
|     /* Maintainer: GDR!, location: US */ | ||||
|     {"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68", | ||||
|      "205.185.115.131", 53}, | ||||
|     /* 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: 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: ToxTom, location: CA */ | ||||
|     {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", | ||||
|      "139.162.110.188", 443}, | ||||
|     /* Maintainer: ToxTom, location: CA */ | ||||
|     {"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55", | ||||
|      "139.162.110.188", 33445}, | ||||
|     /* 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}, | ||||
| }; | ||||
| 
 | ||||
| static int const twc_bootstrap_count = | ||||
|  | @ -122,7 +196,26 @@ twc_bootstrap_tox(Tox *tox, const char *address, uint16_t port, | |||
|     twc_hex2bin(public_key, TOX_ADDRESS_SIZE, binary_key); | ||||
|     TOX_ERR_BOOTSTRAP err; | ||||
| 
 | ||||
|     int result = tox_bootstrap(tox, address, port, binary_key, &err); | ||||
|     int result; | ||||
|     result = tox_bootstrap(tox, address, port, binary_key, &err); | ||||
| 
 | ||||
|     return result; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * Bootstrap a Tox object with a relay node. Returns the result of | ||||
|  * tox_bootstrap_from_address. | ||||
|  */ | ||||
| int | ||||
| twc_bootstrap_relay(Tox *tox, const char *address, uint16_t port, | ||||
|                   const char *public_key) | ||||
| { | ||||
|     uint8_t binary_key[TOX_ADDRESS_SIZE]; | ||||
|     twc_hex2bin(public_key, TOX_ADDRESS_SIZE, binary_key); | ||||
|     TOX_ERR_BOOTSTRAP err; | ||||
| 
 | ||||
|     int result; | ||||
|     result = tox_add_tcp_relay(tox, address, port, binary_key, &err); | ||||
| 
 | ||||
|     return result; | ||||
| } | ||||
|  | @ -130,10 +223,25 @@ twc_bootstrap_tox(Tox *tox, const char *address, uint16_t port, | |||
| /**
 | ||||
|  * Bootstrap a Tox object with a random DHT bootstrap node. | ||||
|  */ | ||||
| void | ||||
| int | ||||
| twc_bootstrap_random_node(Tox *tox) | ||||
| { | ||||
|     int i = rand() % twc_bootstrap_count; | ||||
|     struct t_twc_bootstrap_node const *const node = &twc_bootstrap_nodes[i]; | ||||
|     twc_bootstrap_tox(tox, node->address, node->port, node->key); | ||||
|     int result; | ||||
|     result = twc_bootstrap_tox(tox, node->address, node->port, node->key); | ||||
|     return result; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * Bootstrap a Tox object with a random DHT bootstrap node. | ||||
|  */ | ||||
| int | ||||
| twc_bootstrap_random_relay(Tox *tox) | ||||
| { | ||||
|     int i = rand() % twc_bootstrap_count; | ||||
|     struct t_twc_bootstrap_node const *const node = &twc_bootstrap_relays[i]; | ||||
|     int result; | ||||
|     result = twc_bootstrap_relay(tox, node->address, node->port, node->key); | ||||
|     return result; | ||||
| } | ||||
|  |  | |||
|  | @ -26,7 +26,14 @@ int | |||
| twc_bootstrap_tox(Tox *tox, const char *address, uint16_t port, | ||||
|                   const char *public_key); | ||||
| 
 | ||||
| void | ||||
| int | ||||
| twc_bootstrap_random_node(Tox *tox); | ||||
| 
 | ||||
| int | ||||
| twc_bootstrap_relay(Tox *tox, const char *address, uint16_t port, | ||||
|                   const char *public_key); | ||||
| 
 | ||||
| int | ||||
| twc_bootstrap_random_relay(Tox *tox); | ||||
| 
 | ||||
| #endif /* TOX_WEECHAT_BOOTSTRAP_H */ | ||||
|  |  | |||
|  | @ -303,7 +303,7 @@ void | |||
| twc_chat_send_message(struct t_twc_chat *chat, const char *message, | ||||
|                       TOX_MESSAGE_TYPE message_type) | ||||
| { | ||||
|     TOX_ERR_CONFERENCE_SEND_MESSAGE err = TOX_ERR_CONFERENCE_SEND_MESSAGE_OK; | ||||
|     Tox_Err_Conference_Send_Message err = TOX_ERR_CONFERENCE_SEND_MESSAGE_OK; | ||||
|     if (chat->friend_number >= 0) | ||||
|     { | ||||
|         twc_message_queue_add_friend_message(chat->profile, chat->friend_number, | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ | |||
| #include "twc-chat.h" | ||||
| #include "twc-config.h" | ||||
| #include "twc-friend-request.h" | ||||
| #include "twc-group-invite.h" | ||||
| #include "twc-conf-invite.h" | ||||
| #include "twc-list.h" | ||||
| #include "twc-profile.h" | ||||
| #include "twc-tfer.h" | ||||
|  | @ -215,8 +215,9 @@ twc_cmd_bootstrap(const void *pointer, void *data, struct t_gui_buffer *buffer, | |||
|     TWC_CHECK_PROFILE_LOADED(profile); | ||||
| 
 | ||||
|     /* /bootstrap connect <address> <port> <key> */ | ||||
|     if (argc == 5 && weechat_strcasecmp(argv[1], "connect") == 0) | ||||
|     if (argc > 1 && weechat_strcasecmp(argv[1], "connect") == 0) | ||||
|     { | ||||
|       if (argc > 4 && strlen(argv[2]) > 0) { | ||||
|         char *address = argv[2]; | ||||
|         uint16_t port = atoi(argv[3]); | ||||
|         char *public_key = argv[4]; | ||||
|  | @ -227,8 +228,68 @@ twc_cmd_bootstrap(const void *pointer, void *data, struct t_gui_buffer *buffer, | |||
|                            "%sBootstrap could not open address \"%s\"", | ||||
|                            weechat_prefix("error"), address); | ||||
|         } | ||||
|       } else if (argc > 2 && strlen(argv[2]) > 0) { | ||||
| 	if (weechat_strcasecmp(argv[2], "0") == 0) { | ||||
| 	  TOX_CONNECTION status; | ||||
| 	  status = tox_self_get_connection_status(profile->tox); | ||||
| 	  if ( status == TOX_CONNECTION_NONE) { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap connected.", | ||||
|                            weechat_prefix("network")); | ||||
| 	  } else { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap not connected.", | ||||
|                            weechat_prefix("network")); | ||||
| 	  } | ||||
| 	} | ||||
|       } else { | ||||
|         if (!twc_bootstrap_random_node(profile->tox)) | ||||
|         { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap could not open random DHT", | ||||
|                            weechat_prefix("error")); | ||||
|         } | ||||
|       }; | ||||
|       return WEECHAT_RC_OK; | ||||
|     } | ||||
| 
 | ||||
|         return WEECHAT_RC_OK; | ||||
|     /* /bootstrap relay <address> <port> <key> */ | ||||
|     if (argc > 1 && weechat_strcasecmp(argv[1], "relay") == 0) | ||||
|     { | ||||
|       if (argc > 4 && strlen(argv[2]) > 0) { | ||||
|         char *address = argv[2]; | ||||
|         uint16_t port = atoi(argv[3]); | ||||
|         char *public_key = argv[4]; | ||||
| 
 | ||||
|         if (!twc_bootstrap_relay(profile->tox, address, port, public_key)) | ||||
|         { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap could not open address \"%s\"", | ||||
|                            weechat_prefix("error"), address); | ||||
|         } | ||||
|       } else if (argc > 2 && strlen(argv[2]) > 0) { | ||||
| 	if (weechat_strcasecmp(argv[2], "0") == 0) { | ||||
| 	  TOX_CONNECTION status; | ||||
| 	  status = tox_self_get_connection_status(profile->tox); | ||||
| 	  if ( status == TOX_CONNECTION_NONE) { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap connected.", | ||||
|                            weechat_prefix("network")); | ||||
| 	  } else { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap not connected.", | ||||
|                            weechat_prefix("network")); | ||||
| 	  } | ||||
| 	} | ||||
|       } else {	 | ||||
|         if (!twc_bootstrap_random_relay(profile->tox)) | ||||
|         { | ||||
|             weechat_printf(profile->buffer, | ||||
|                            "%sBootstrap could not open random relay", | ||||
|                            weechat_prefix("error")); | ||||
|         } | ||||
|       };	 | ||||
|       return WEECHAT_RC_OK; | ||||
|     } | ||||
| 
 | ||||
|     return WEECHAT_RC_ERROR; | ||||
|  | @ -1337,11 +1398,14 @@ void | |||
| twc_commands_init() | ||||
| { | ||||
|     weechat_hook_command("bootstrap", "manage bootstrap nodes", | ||||
|                          "connect <address> <port> <Tox ID>", | ||||
|                          "connect <address> <port> <Tox ID>" | ||||
| 			 " || relay <address> <port> <Tox ID>", | ||||
|                          "address: internet address of node to bootstrap with\n" | ||||
|                          "   port: port of the node\n" | ||||
|                          " Tox ID: Tox ID of the node", | ||||
|                          "connect", twc_cmd_bootstrap, NULL, NULL); | ||||
|                          "connect" | ||||
| 			 " || relay", | ||||
| 			 twc_cmd_bootstrap, NULL, NULL); | ||||
| 
 | ||||
|     weechat_hook_command("friend", "manage friends", | ||||
|                          "list" | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ | |||
| #include "twc-utils.h" | ||||
| #include "twc.h" | ||||
| 
 | ||||
| #include "twc-group-invite.h" | ||||
| #include "twc-conf-invite.h" | ||||
| 
 | ||||
| /**
 | ||||
|  * Add a new group invite to a profile. | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ | |||
| 
 | ||||
| #include "twc-chat.h" | ||||
| #include "twc-friend-request.h" | ||||
| #include "twc-group-invite.h" | ||||
| #include "twc-conf-invite.h" | ||||
| #include "twc-message-queue.h" | ||||
| #include "twc-profile.h" | ||||
| #include "twc-tfer.h" | ||||
|  | @ -593,7 +593,7 @@ twc_group_title_callback(Tox *tox, uint32_t group_number, uint32_t peer_number, | |||
| 
 | ||||
| void | ||||
| twc_file_recv_control_callback(Tox *tox, uint32_t friend_number, | ||||
|                                uint32_t file_number, TOX_FILE_CONTROL control, | ||||
|                                uint32_t file_number, Tox_File_Control control, | ||||
|                                void *user_data) | ||||
| { | ||||
|     struct t_twc_profile *profile = twc_profile_search_tox(tox); | ||||
|  | @ -668,7 +668,7 @@ twc_file_chunk_request_callback(Tox *tox, uint32_t friend_number, | |||
|                        weechat_prefix("error"), file->filename); | ||||
|         return; | ||||
|     } | ||||
|     enum TOX_ERR_FILE_SEND_CHUNK error; | ||||
|     enum Tox_Err_File_Send_Chunk error; | ||||
|     tox_file_send_chunk(profile->tox, friend_number, file_number, position, | ||||
|                         data, length, &error); | ||||
|     if (error) | ||||
|  |  | |||
|  | @ -239,7 +239,7 @@ twc_set_buffer_logging(struct t_gui_buffer *buffer, bool logging) | |||
|  */ | ||||
| 
 | ||||
| char * | ||||
| twc_tox_err_file_control(enum TOX_ERR_FILE_CONTROL error) | ||||
| twc_tox_err_file_control(enum Tox_Err_File_Control error) | ||||
| { | ||||
|     char *messages[] = { | ||||
|         "success", | ||||
|  | @ -256,7 +256,7 @@ twc_tox_err_file_control(enum TOX_ERR_FILE_CONTROL error) | |||
| } | ||||
| 
 | ||||
| char * | ||||
| twc_tox_err_file_get(enum TOX_ERR_FILE_GET error) | ||||
| twc_tox_err_file_get(enum Tox_Err_File_Get error) | ||||
| { | ||||
|     char *messages[] = { | ||||
|         "success", | ||||
|  | @ -269,7 +269,7 @@ twc_tox_err_file_get(enum TOX_ERR_FILE_GET error) | |||
| } | ||||
| 
 | ||||
| char * | ||||
| twc_tox_err_file_seek(enum TOX_ERR_FILE_SEEK error) | ||||
| twc_tox_err_file_seek(enum Tox_Err_File_Seek error) | ||||
| { | ||||
|     char *messages[] = { | ||||
|         "success", | ||||
|  | @ -284,7 +284,7 @@ twc_tox_err_file_seek(enum TOX_ERR_FILE_SEEK error) | |||
| } | ||||
| 
 | ||||
| char * | ||||
| twc_tox_err_file_send(enum TOX_ERR_FILE_SEND error) | ||||
| twc_tox_err_file_send(enum Tox_Err_File_Send error) | ||||
| { | ||||
|     char *messages[] = { | ||||
|         "success", | ||||
|  | @ -298,7 +298,7 @@ twc_tox_err_file_send(enum TOX_ERR_FILE_SEND error) | |||
| } | ||||
| 
 | ||||
| char * | ||||
| twc_tox_err_file_send_chunk(enum TOX_ERR_FILE_SEND_CHUNK error) | ||||
| twc_tox_err_file_send_chunk(enum Tox_Err_File_Send_Chunk error) | ||||
| { | ||||
|     char *messages[] = { | ||||
|         "success", | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 emdee
						emdee