First
This commit is contained in:
parent
d40d314f6a
commit
b72ca69a8a
9 changed files with 309 additions and 93 deletions
|
@ -20,6 +20,9 @@
|
|||
cmake_minimum_required(VERSION 2.8.12)
|
||||
project(tox-weechat C)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I/var/local/src/c-toxcore/toxcore -I/var/local/src/c-toxcore/toxac -I/var/local/src/c-toxcore/toxencryptsave")
|
||||
set(LD_FLAGS "${LD_FLAGS} -I/var/local/src/c-toxcore/_build")
|
||||
|
||||
add_library(tox MODULE
|
||||
src/twc.c
|
||||
src/twc-bootstrap.c
|
||||
|
@ -29,7 +32,7 @@ add_library(tox MODULE
|
|||
src/twc-config.c
|
||||
src/twc-friend-request.c
|
||||
src/twc-gui.c
|
||||
src/twc-group-invite.c
|
||||
src/twc-conf-invite.c
|
||||
src/twc-list.c
|
||||
src/twc-message-queue.c
|
||||
src/twc-profile.c
|
||||
|
|
|
@ -21,14 +21,19 @@
|
|||
|
||||
import re
|
||||
import sys
|
||||
import os
|
||||
import json
|
||||
import datetime
|
||||
import textwrap
|
||||
import urllib.request
|
||||
|
||||
if __name__ == '__main__':
|
||||
with urllib.request.urlopen('https://nodes.tox.chat/json') as response:
|
||||
data = json.load(response)
|
||||
def iMain(surl):
|
||||
if os.path.exists(surl):
|
||||
with open(surl, 'rt') as response:
|
||||
data = json.load(response)
|
||||
else:
|
||||
with urllib.request.urlopen(surl) as response:
|
||||
data = json.load(response)
|
||||
|
||||
# get online nodes that are defined by IP address
|
||||
nodes = [node for node in data['nodes']
|
||||
|
@ -52,3 +57,32 @@ if __name__ == '__main__':
|
|||
print(' {{"{}",'.format(key))
|
||||
print(' "{}", {}}},'.format(address, port))
|
||||
print('};')
|
||||
|
||||
# get online nodes that are defined by IP address
|
||||
nodes = [node for node in data['nodes']
|
||||
if (node['status_tcp'] and node['tcp_ports'])
|
||||
and re.match(r'^\d+\.\d+\.\d+\.\d+$', node['ipv4'])]
|
||||
|
||||
print('static struct t_twc_bootstrap_node const twc_bootstrap_relays[] = {')
|
||||
for node in nodes:
|
||||
for port in node['tcp_ports']:
|
||||
# extract relevant values from node dictionaries
|
||||
address = node['ipv4']
|
||||
key = node['public_key']
|
||||
comment = 'Maintainer: {}, location: {}'.format(
|
||||
node['maintainer'], node['location'])
|
||||
|
||||
print(' /* {} */'.format(comment))
|
||||
print(' {{"{}",'.format(key))
|
||||
print(' "{}", {}}},'.format(address, port))
|
||||
print('};')
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) > 1:
|
||||
surl = sys.argv[1]
|
||||
else:
|
||||
surl = 'https://nodes.tox.chat/json'
|
||||
sys.exit(iMain(surl))
|
||||
|
||||
|
||||
|
|
|
@ -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…
Reference in a new issue