X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=client.cpp;h=5871da1ed70fb111a85db1bcf278735f64a6b62e;hp=3a2552172d6a924ad41d68db874edbf4f1db17b7;hb=0d72f384a1de672824298262ba5c427ec0aee2d6;hpb=a0949bd6af9a604e7073354fc530353bbdb7871c diff --git a/client.cpp b/client.cpp index 3a25521..5871da1 100644 --- a/client.cpp +++ b/client.cpp @@ -4,6 +4,7 @@ #include #include "client.h" +#include "log.h" #include "markpool.h" #include "state.pb.h" #include "stream.h" @@ -29,12 +30,12 @@ Client::Client(int sock) socklen_t addr_len = sizeof(addr); if (getpeername(sock, reinterpret_cast(&addr), &addr_len) == -1) { - perror("getpeername"); + log_perror("getpeername"); remote_addr = ""; } else { char buf[INET6_ADDRSTRLEN]; if (inet_ntop(addr.sin6_family, &addr.sin6_addr, buf, sizeof(buf)) == NULL) { - perror("inet_ntop"); + log_perror("inet_ntop"); remote_addr = ""; } else { remote_addr = buf; @@ -64,8 +65,9 @@ Client::Client(const ClientProto &serialized, Stream *stream) } if (setsockopt(sock, SOL_SOCKET, SO_MARK, &fwmark, sizeof(fwmark)) == -1) { if (fwmark != 0) { - perror("setsockopt(SO_MARK)"); + log_perror("setsockopt(SO_MARK)"); } + fwmark = 0; } } @@ -91,6 +93,8 @@ ClientStats Client::get_stats() const { ClientStats stats; stats.stream_id = stream_id; + stats.sock = sock; + stats.fwmark = fwmark; stats.remote_addr = remote_addr; stats.connect_time = connect_time; stats.bytes_sent = bytes_sent;