You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
293 lines
22 KiB
293 lines
22 KiB
etcp_connections.c: In function ‘etcp_encrypt_send’: |
|
etcp_connections.c:250:24: error: incompatible types when initializing type ‘sc_context_t *’ {aka ‘struct secure_channel *’} using type ‘struct secure_channel’ |
|
250 | sc_context_t* sc = dgram->link->etcp->crypto_ctx; |
|
| ^~~~~ |
|
etcp_connections.c:252:59: warning: ‘return’ with no value, in function returning non-void |
|
252 | if (len<=0 || len>1480) { dgram->link->send_errors++; return; } |
|
| ^~~~~~ |
|
etcp_connections.c:248:5: note: declared here |
|
248 | int etcp_encrypt_send(struct ETCP_DGRAM* dgram) { |
|
| ^~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:255:38: warning: passing argument 4 of ‘sc_encrypt’ from incompatible pointer type [-Wincompatible-pointer-types] |
|
255 | sc_encrypt(sc, dgram->data, len, &enc_buf, &enc_buf_len); |
|
| ^~~~~~~~ |
|
| | |
|
| uint8_t (*)[1600] {aka unsigned char (*)[1600]} |
|
In file included from etcp_connections.h:4, |
|
from etcp_connections.c:1: |
|
secure_channel.h:61:102: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘uint8_t (*)[1600]’ {aka ‘unsigned char (*)[1600]’} |
|
61 | sc_status_t sc_encrypt(sc_context_t *ctx, const uint8_t *plaintext, size_t plaintext_len, uint8_t *ciphertext, size_t *ciphertext_len); |
|
| ~~~~~~~~~^~~~~~~~~~ |
|
etcp_connections.c:256:82: warning: ‘return’ with no value, in function returning non-void |
|
256 | if (enc_buf_len + dgram->noencrypt_len > 1480) { dgram->link->send_errors++; return; } |
|
| ^~~~~~ |
|
etcp_connections.c:248:5: note: declared here |
|
248 | int etcp_encrypt_send(struct ETCP_DGRAM* dgram) { |
|
| ^~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:259:35: error: incompatible types when initializing type ‘struct sockaddr_storage *’ using type ‘struct sockaddr_storage’ |
|
259 | struct sockaddr_storage* addr=dgram->link->remote_addr; |
|
| ^~~~~ |
|
etcp_connections.c:260:27: error: ‘to_addr’ undeclared (first use in this function); did you mean ‘in_addr’? |
|
260 | socklen_t addr_len = (to_addr->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); |
|
| ^~~~~~~ |
|
| in_addr |
|
etcp_connections.c:260:27: note: each undeclared identifier is reported only once for each function it appears in |
|
etcp_connections.c:261:67: warning: passing argument 5 of ‘sendto’ from incompatible pointer type [-Wincompatible-pointer-types] |
|
261 | ssize_t sent = sendto(dgram->link->conn->fd, enc_buf, len, 0, addr, addr_len); |
|
| ^~~~ |
|
| | |
|
| struct sockaddr_storage * |
|
In file included from etcp_connections.h:7: |
|
/usr/include/x86_64-linux-gnu/sys/socket.h:153:58: note: expected ‘const struct sockaddr *’ but argument is of type ‘struct sockaddr_storage *’ |
|
153 | int __flags, __CONST_SOCKADDR_ARG __addr, |
|
| ^ |
|
etcp_connections.c: In function ‘etcp_connections_read_callback’: |
|
etcp_connections.c:311:33: error: ‘pkt’ undeclared (first use in this function) |
|
311 | socklen_t addr_len = sizeof(pkt->metadata.remote_addr); |
|
| ^~~ |
|
etcp_connections.c:314:15: error: redefinition of ‘addr_len’ |
|
314 | socklen_t addr_len=sizeof(addr); |
|
| ^~~~~~~~ |
|
etcp_connections.c:311:15: note: previous definition of ‘addr_len’ with type ‘socklen_t’ {aka ‘unsigned int’} |
|
311 | socklen_t addr_len = sizeof(pkt->metadata.remote_addr); |
|
| ^~~~~~~~ |
|
etcp_connections.c:322:48: warning: passing argument 1 of ‘memory_pool_alloc’ from incompatible pointer type [-Wincompatible-pointer-types] |
|
322 | struct ETCP_DGRAM* pkt = memory_pool_alloc(&e_sock->instance->pkt_pool); |
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| | |
|
| struct memory_pool ** |
|
In file included from utun_instance.h:7, |
|
from etcp_connections.h:5: |
|
../lib/memory_pool.h:18:45: note: expected ‘struct memory_pool *’ but argument is of type ‘struct memory_pool **’ |
|
18 | void* memory_pool_alloc(struct memory_pool* pool); |
|
| ~~~~~~~~~~~~~~~~~~~~^~~~ |
|
etcp_connections.c:327:51: error: expected expression before ‘struct’ |
|
327 | struct ETCP_LINK* link=etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, &addr); |
|
| ^~~~~~ |
|
etcp_connections.c:327:28: error: too few arguments to function ‘etcp_link_find_by_addr’ |
|
327 | struct ETCP_LINK* link=etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, &addr); |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:105:26: note: declared here |
|
105 | static struct ETCP_LINK* etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, struct sockaddr_storage* addr) { |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:360:41: error: invalid type argument of ‘->’ (have ‘struct secure_channel’) |
|
360 | if (memcmp(&conn->crypto_ctx->peer_public_key, &sc.peer_public_key, SC_PUBKEY_SIZE)) { errorcode=5; goto ec_fr; }// коллизия - peer id совпал а ключи разные. |
|
| ^~ |
|
etcp_connections.c:362:48: error: ‘etcp’ undeclared (first use in this function) |
|
362 | struct ETCP_LINK* link = etcp_link_new(etcp, e_sock, addr, 1); |
|
| ^~~~ |
|
etcp_connections.c:362:62: error: incompatible type for argument 3 of ‘etcp_link_new’ |
|
362 | struct ETCP_LINK* link = etcp_link_new(etcp, e_sock, addr, 1); |
|
| ^~~~ |
|
| | |
|
| struct sockaddr_storage |
|
etcp_connections.c:209:108: note: expected ‘struct sockaddr_storage *’ but argument is of type ‘struct sockaddr_storage’ |
|
209 | struct ETCP_LINK* etcp_link_new(struct ETCP_CONN* etcp, struct ETCP_SOCKET* conn, struct sockaddr_storage* remote_addr, uint8_t is_server) { |
|
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ |
|
etcp_connections.c:376:49: error: invalid type argument of ‘->’ (have ‘struct global_config’) |
|
376 | int mtu=e_sock->instance->config->global->mtu; |
|
| ^~ |
|
etcp_connections.c:383:9: warning: implicit declaration of function ‘packet_pool_free’ [-Wimplicit-function-declaration] |
|
383 | packet_pool_free(&e_sock->instance->pkt_pool, pkt); |
|
| ^~~~~~~~~~~~~~~~ |
|
etcp_connections.c:392:5: warning: implicit declaration of function ‘etcp_input’; did you mean ‘etcp_conn_input’? [-Wimplicit-function-declaration] |
|
392 | etcp_input(pkt, conns); |
|
| ^~~~~~~~~~ |
|
| etcp_conn_input |
|
etcp_connections.c:392:21: error: ‘conns’ undeclared (first use in this function); did you mean ‘confstr’? |
|
392 | etcp_input(pkt, conns); |
|
| ^~~~~ |
|
| confstr |
|
etcp_connections.c: In function ‘etcp_input’: |
|
etcp_connections.c:405:18: error: ‘e_sock’ undeclared (first use in this function) |
|
405 | if (!pkt || !e_sock) return -1; |
|
| ^~~~~~ |
|
etcp_connections.c:408:21: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
408 | size_t len = pkt->metadata.data_len; |
|
| ^~ |
|
etcp_connections.c:417:75: error: ‘struct ETCP_CONN’ has no member named ‘has_peer_key’ |
|
417 | if (header != ETCP_INIT_REQUEST && header != ETCP_CHANNEL_INIT && etcp->has_peer_key) { |
|
| ^~ |
|
etcp_connections.c:419:28: error: incompatible types when initializing type ‘sc_context_t *’ {aka ‘struct secure_channel *’} using type ‘struct secure_channel’ |
|
419 | sc_context_t* sc = etcp->crypto_ctx; |
|
| ^~~~ |
|
etcp_connections.c:431:83: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
431 | struct ETCP_LINK* link = etcp_link_find_by_addr(e_sock, (struct sockaddr*)&pkt->metadata.remote_addr, |
|
| ^~ |
|
etcp_connections.c:432:63: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
432 | sizeof(pkt->metadata.remote_addr)); |
|
| ^~ |
|
etcp_connections.c:431:30: error: too many arguments to function ‘etcp_link_find_by_addr’ |
|
431 | struct ETCP_LINK* link = etcp_link_find_by_addr(e_sock, (struct sockaddr*)&pkt->metadata.remote_addr, |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:105:26: note: declared here |
|
105 | static struct ETCP_LINK* etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, struct sockaddr_storage* addr) { |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:437:70: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
437 | link = etcp_link_new(etcp, e_sock, (struct sockaddr*)&pkt->metadata.remote_addr, |
|
| ^~ |
|
etcp_connections.c:438:44: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
438 | sizeof(pkt->metadata.remote_addr)); |
|
| ^~ |
|
etcp_connections.c:443:13: warning: implicit declaration of function ‘etcp_connections_send’; did you mean ‘etcp_connection_create’? [-Wimplicit-function-declaration] |
|
443 | etcp_connections_send(e_sock, reset_pkt, 1, (struct sockaddr*)&pkt->metadata.remote_addr, sizeof(pkt->metadata.remote_addr)); |
|
| ^~~~~~~~~~~~~~~~~~~~~ |
|
| etcp_connection_create |
|
etcp_connections.c:443:79: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
443 | etcp_connections_send(e_sock, reset_pkt, 1, (struct sockaddr*)&pkt->metadata.remote_addr, sizeof(pkt->metadata.remote_addr)); |
|
| ^~ |
|
etcp_connections.c:443:113: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
443 | etcp_connections_send(e_sock, reset_pkt, 1, (struct sockaddr*)&pkt->metadata.remote_addr, sizeof(pkt->metadata.remote_addr)); |
|
| ^~ |
|
etcp_connections.c:459:20: error: ‘struct ETCP_CONN’ has no member named ‘peer_public_key’ |
|
459 | memcpy(etcp->peer_public_key, peer_pubkey, SC_PUBKEY_SIZE); |
|
| ^~ |
|
etcp_connections.c:460:13: error: ‘struct ETCP_CONN’ has no member named ‘has_peer_key’ |
|
460 | etcp->has_peer_key = 1; |
|
| ^~ |
|
etcp_connections.c:461:36: error: incompatible type for argument 1 of ‘sc_set_peer_public_key’ |
|
461 | sc_set_peer_public_key(etcp->crypto_ctx, peer_pubkey); |
|
| ~~~~^~~~~~~~~~~~ |
|
| | |
|
| struct secure_channel |
|
secure_channel.h:58:50: note: expected ‘sc_context_t *’ {aka ‘struct secure_channel *’} but argument is of type ‘struct secure_channel’ |
|
58 | sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key, int mode);// mode: 0-bin 1-hex key format |
|
| ~~~~~~~~~~~~~~^~~ |
|
etcp_connections.c:461:9: error: too few arguments to function ‘sc_set_peer_public_key’ |
|
461 | sc_set_peer_public_key(etcp->crypto_ctx, peer_pubkey); |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
secure_channel.h:58:13: note: declared here |
|
58 | sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key, int mode);// mode: 0-bin 1-hex key format |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:478:12: error: ‘struct ETCP_DGRAM’ has no member named ‘metadata’ |
|
478 | pkt->metadata.channel = link; // Or etcp_channel if separate |
|
| ^~ |
|
etcp_connections.c:483:5: warning: implicit declaration of function ‘packet_pool_put’ [-Wimplicit-function-declaration] |
|
483 | packet_pool_put(&etcp->packet_pool, pkt); |
|
| ^~~~~~~~~~~~~~~ |
|
etcp_connections.c:483:26: error: ‘struct ETCP_CONN’ has no member named ‘packet_pool’ |
|
483 | packet_pool_put(&etcp->packet_pool, pkt); |
|
| ^~ |
|
etcp_connections.c: In function ‘init_connections’: |
|
etcp_connections.c:490:29: warning: initialization of ‘struct config *’ from incompatible pointer type ‘struct utun_config *’ [-Wincompatible-pointer-types] |
|
490 | struct config* config = instance->config; |
|
| ^~~~~~~~ |
|
etcp_connections.c:491:42: error: invalid use of undefined type ‘struct config’ |
|
491 | instance->connections = calloc(config->server_count, sizeof(struct ETCP_CONN)); |
|
| ^~ |
|
etcp_connections.c:494:15: error: ‘struct UTUN_INSTANCE’ has no member named ‘connection_count’; did you mean ‘connections’? |
|
494 | instance->connection_count = 0; |
|
| ^~~~~~~~~~~~~~~~ |
|
| connections |
|
etcp_connections.c:496:39: error: invalid use of undefined type ‘struct config’ |
|
496 | struct CFG_SERVER* server = config->servers; |
|
| ^~ |
|
etcp_connections.c:500:34: warning: implicit declaration of function ‘etcp_connection_add’; did you mean ‘etcp_connection_create’? [-Wimplicit-function-declaration] |
|
500 | struct ETCP_CONN* conn = etcp_connection_add(instance, server->ip, server->netif_index, server->so_mark, server->type); |
|
| ^~~~~~~~~~~~~~~~~~~ |
|
| etcp_connection_create |
|
etcp_connections.c:500:34: warning: initialization of ‘struct ETCP_CONN *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] |
|
etcp_connections.c:503:26: error: ‘etcp’ undeclared (first use in this function) |
|
503 | etcp_destroy(etcp); |
|
| ^~~~ |
|
etcp_connections.c:508:36: error: ‘struct CFG_SERVER’ has no member named ‘addr’ |
|
508 | server->name, server->addr, e_sock->num_channels); |
|
| ^~ |
|
etcp_connections.c:508:44: error: ‘e_sock’ undeclared (first use in this function) |
|
508 | server->name, server->addr, e_sock->num_channels); |
|
| ^~~~~~ |
|
etcp_connections.c:513:31: error: invalid use of undefined type ‘struct config’ |
|
513 | for (int j = 0; j < config->client_count; j++) { |
|
| ^~ |
|
etcp_connections.c:514:47: error: invalid use of undefined type ‘struct config’ |
|
514 | struct client_config* client = &config->clients[j]; |
|
| ^~ |
|
etcp_connections.c:517:26: error: invalid use of undefined type ‘struct client_config’ |
|
517 | if (strcmp(client->from, server->name) != 0) { |
|
| ^~ |
|
etcp_connections.c:525:31: error: ‘struct ETCP_CONN’ has no member named ‘ctx’ |
|
525 | sc_init_ctx(&etcp_conn->ctx, &instance->my_keys); |
|
| ^~ |
|
etcp_connections.c:526:26: error: invalid use of undefined type ‘struct client_config’ |
|
526 | if (strlen(client->peer_public_key_hex) > 0) { |
|
| ^~ |
|
etcp_connections.c:528:17: warning: implicit declaration of function ‘hex_to_binary’ [-Wimplicit-function-declaration] |
|
528 | if (hex_to_binary(client->peer_public_key_hex, peer_key_bin, SC_PUBKEY_SIZE) == 0) { |
|
| ^~~~~~~~~~~~~ |
|
etcp_connections.c:528:37: error: invalid use of undefined type ‘struct client_config’ |
|
528 | if (hex_to_binary(client->peer_public_key_hex, peer_key_bin, SC_PUBKEY_SIZE) == 0) { |
|
| ^~ |
|
etcp_connections.c:529:33: error: ‘struct ETCP_CONN’ has no member named ‘peer_public_key’ |
|
529 | memcpy(etcp_conn->peer_public_key, peer_key_bin, SC_PUBKEY_SIZE); |
|
| ^~ |
|
etcp_connections.c:530:26: error: ‘struct ETCP_CONN’ has no member named ‘has_peer_key’ |
|
530 | etcp_conn->has_peer_key = 1; |
|
| ^~ |
|
etcp_connections.c:531:49: error: incompatible type for argument 1 of ‘sc_set_peer_public_key’ |
|
531 | sc_set_peer_public_key(etcp_conn->crypto_ctx, peer_key_bin); |
|
| ~~~~~~~~~^~~~~~~~~~~~ |
|
| | |
|
| struct secure_channel |
|
secure_channel.h:58:50: note: expected ‘sc_context_t *’ {aka ‘struct secure_channel *’} but argument is of type ‘struct secure_channel’ |
|
58 | sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key, int mode);// mode: 0-bin 1-hex key format |
|
| ~~~~~~~~~~~~~~^~~ |
|
etcp_connections.c:531:17: error: too few arguments to function ‘sc_set_peer_public_key’ |
|
531 | sc_set_peer_public_key(etcp_conn->crypto_ctx, peer_key_bin); |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
secure_channel.h:58:13: note: declared here |
|
58 | sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key, int mode);// mode: 0-bin 1-hex key format |
|
| ^~~~~~~~~~~~~~~~~~~~~~ |
|
etcp_connections.c:537:16: error: variable ‘cl’ has initializer but incomplete type |
|
537 | struct client_link cl=client->links; |
|
| ^~~~~~~~~~~ |
|
etcp_connections.c:537:37: error: invalid use of undefined type ‘struct client_config’ |
|
537 | struct client_link cl=client->links; |
|
| ^~ |
|
etcp_connections.c:537:28: error: storage size of ‘cl’ isn’t known |
|
537 | struct client_link cl=client->links; |
|
| ^~ |
|
etcp_connections.c:539:13: error: ‘conn’ undeclared (first use in this function) |
|
539 | conn= (надо найти) |
|
| ^~~~ |
|
etcp_connections.c:539:20: error: ‘надо’ undeclared (first use in this function) |
|
539 | conn= (надо найти) |
|
| ^~~~ |
|
etcp_connections.c:539:24: error: expected ‘)’ before ‘найти’ |
|
539 | conn= (надо найти) |
|
| ~ ^~~~~~ |
|
| ) |
|
etcp_connections.c:539:31: error: expected ‘;’ before ‘struct’ |
|
539 | conn= (надо найти) |
|
| ^ |
|
| ; |
|
...... |
|
542 | struct ETCP_LINK* link = etcp_link_new(etcp, conn, cl->remote_sockaddr, sizeof(struct sockaddr_storage)); |
|
| ~~~~~~ |
|
In file included from etcp_connections.c:8: |
|
etcp_connections.c:544:95: error: invalid use of undefined type ‘struct client_config’ |
|
544 | DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create link for client %s", client->name); |
|
| ^~ |
|
../lib/debug_config.h:114:92: note: in definition of macro ‘DEBUG_ERROR’ |
|
114 | debug_output(DEBUG_LEVEL_ERROR, category, __FUNCTION__, __FILE__, __LINE__, fmt, ##__VA_ARGS__); \ |
|
| ^~~~~~~~~~~ |
|
etcp_connections.c:550:51: error: invalid use of undefined type ‘struct client_config’ |
|
550 | printf(" Added client %s -> %s\n", client->name, client->to_addr); |
|
| ^~ |
|
etcp_connections.c:550:65: error: invalid use of undefined type ‘struct client_config’ |
|
550 | printf(" Added client %s -> %s\n", client->name, client->to_addr); |
|
| ^~ |
|
etcp_connections.c:554:19: error: ‘struct UTUN_INSTANCE’ has no member named ‘connection_count’; did you mean ‘connections’? |
|
554 | if (instance->connection_count == 0) { |
|
| ^~~~~~~~~~~~~~~~ |
|
| connections |
|
etcp_connections.c:561:54: error: ‘struct UTUN_INSTANCE’ has no member named ‘connection_count’; did you mean ‘connections’? |
|
561 | printf("Initialized %d connections\n", instance->connection_count); |
|
| ^~~~~~~~~~~~~~~~ |
|
| connections |
|
etcp_connections.c: At top level: |
|
etcp_connections.c:26:12: warning: ‘etcp_link_send_init_response’ used but never defined |
|
26 | static int etcp_link_send_init_response(struct ETCP_LINK* link, int mtu, uint16_t keepalive_interval); |
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
make[2]: *** [Makefile:619: utun-etcp_connections.o] Ошибка 1 |
|
make[1]: *** [Makefile:433: all-recursive] Ошибка 1 |
|
make: *** [Makefile:353: all] Ошибка 2
|
|
|