1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-28 09:17:07 -05:00

Pass the calling Socket to plug_log.

This enables plug_log to run query methods on the socket in order to
find out useful information to log. I don't expect it's sensible to do
anything else with it.
This commit is contained in:
Simon Tatham 2024-06-26 08:29:39 +01:00
parent 23b15dbc77
commit c1d9da67a2
27 changed files with 94 additions and 80 deletions

View File

@ -91,7 +91,7 @@ struct PlugVtable {
* all Plugs must implement this method, even if only to ignore
* the logged events.
*/
void (*log)(Plug *p, PlugLogType type, SockAddr *addr, int port,
void (*log)(Plug *p, Socket *s, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code);
/*
@ -245,8 +245,9 @@ static inline void sk_write_eof(Socket *s)
{ s->vt->write_eof(s); }
static inline void plug_log(
Plug *p, int type, SockAddr *addr, int port, const char *msg, int code)
{ p->vt->log(p, type, addr, port, msg, code); }
Plug *p, Socket *s, int type, SockAddr *addr, int port,
const char *msg, int code)
{ p->vt->log(p, s, type, addr, port, msg, code); }
static inline void plug_closing(Plug *p, PlugCloseType type, const char *msg)
{ p->vt->closing(p, type, msg); }
static inline void plug_closing_normal(Plug *p)
@ -379,7 +380,7 @@ extern Plug *const nullplug;
* In particular, nullplug_log is useful to Plugs that don't need to
* worry about logging.
*/
void nullplug_log(Plug *plug, PlugLogType type, SockAddr *addr,
void nullplug_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *err_msg, int err_code);
void nullplug_closing(Plug *plug, PlugCloseType type, const char *error_msg);
void nullplug_receive(Plug *plug, int urgent, const char *data, size_t len);
@ -391,7 +392,7 @@ void nullplug_sent(Plug *plug, size_t bufsize);
* they use types defined here.
*/
void backend_socket_log(Seat *seat, LogContext *logctx,
void backend_socket_log(Seat *seat, LogContext *logctx, Socket *sock,
PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code, Conf *conf,
bool session_started);
@ -403,8 +404,8 @@ typedef struct ProxyStderrBuf {
} ProxyStderrBuf;
void psb_init(ProxyStderrBuf *psb);
void psb_set_prefix(ProxyStderrBuf *psb, const char *prefix);
void log_proxy_stderr(
Plug *plug, ProxyStderrBuf *psb, const void *vdata, size_t len);
void log_proxy_stderr(Plug *plug, Socket *sock, ProxyStderrBuf *psb,
const void *vdata, size_t len);
/* ----------------------------------------------------------------------
* The DeferredSocketOpener trait. This is a thing that some Socket

View File

@ -36,12 +36,13 @@ static void c_write(Raw *raw, const void *buf, size_t len)
sk_set_frozen(raw->s, backlog > RAW_MAX_BACKLOG);
}
static void raw_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void raw_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
Raw *raw = container_of(plug, Raw, plug);
backend_socket_log(raw->seat, raw->logctx, type, addr, port, error_msg,
error_code, raw->conf, raw->socket_connected);
backend_socket_log(raw->seat, raw->logctx, s, type, addr, port,
error_msg, error_code, raw->conf,
raw->socket_connected);
if (type == PLUGLOG_CONNECT_SUCCESS) {
raw->socket_connected = true;
if (raw->ldisc)

View File

@ -45,11 +45,11 @@ static void c_write(Rlogin *rlogin, const void *buf, size_t len)
sk_set_frozen(rlogin->s, backlog > RLOGIN_MAX_BACKLOG);
}
static void rlogin_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void rlogin_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
Rlogin *rlogin = container_of(plug, Rlogin, plug);
backend_socket_log(rlogin->seat, rlogin->logctx, type, addr, port,
backend_socket_log(rlogin->seat, rlogin->logctx, s, type, addr, port,
error_msg, error_code,
rlogin->conf, rlogin->socket_connected);
if (type == PLUGLOG_CONNECT_SUCCESS) {

View File

@ -559,11 +559,11 @@ static void do_supdup_read(Supdup *supdup, const char *buf, size_t len)
strbuf_free(outbuf);
}
static void supdup_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void supdup_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
Supdup *supdup = container_of(plug, Supdup, plug);
backend_socket_log(supdup->seat, supdup->logctx, type, addr, port,
backend_socket_log(supdup->seat, supdup->logctx, s, type, addr, port,
error_msg, error_code,
supdup->conf, supdup->socket_connected);
if (type == PLUGLOG_CONNECT_SUCCESS) {

View File

@ -604,11 +604,11 @@ static void do_telnet_read(Telnet *telnet, const char *buf, size_t len)
strbuf_free(outbuf);
}
static void telnet_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void telnet_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
Telnet *telnet = container_of(plug, Telnet, plug);
backend_socket_log(telnet->seat, telnet->logctx, type, addr, port,
backend_socket_log(telnet->seat, telnet->logctx, s, type, addr, port,
error_msg, error_code, telnet->conf,
telnet->socket_connected);
if (type == PLUGLOG_CONNECT_SUCCESS) {

View File

@ -209,7 +209,8 @@ static void local_proxy_opener_coroutine(void *vctx)
put_datapl(logmsg, PTRLEN_LITERAL("Starting local proxy command: "));
put_c_string_literal(logmsg, ptrlen_from_asciz(censored_cmd));
plug_log(lp->plug, PLUGLOG_PROXY_MSG, NULL, 0, logmsg->s, 0);
plug_log(lp->plug, lp->socket, PLUGLOG_PROXY_MSG, NULL, 0,
logmsg->s, 0);
strbuf_free(logmsg);
sfree(censored_cmd);
}

View File

@ -41,7 +41,7 @@ static void proxy_activate(ProxySocket *ps)
proxy_negotiator_cleanup(ps);
plug_log(ps->plug, PLUGLOG_CONNECT_SUCCESS, NULL, 0, NULL, 0);
plug_log(ps->plug, &ps->sock, PLUGLOG_CONNECT_SUCCESS, NULL, 0, NULL, 0);
/* we want to ignore new receive events until we have sent
* all of our buffered receive data.
@ -189,12 +189,13 @@ static const char *sk_proxy_socket_error (Socket *s)
/* basic proxy plug functions */
static void plug_proxy_log(Plug *plug, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
static void plug_proxy_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
ProxySocket *ps = container_of(plug, ProxySocket, plugimpl);
plug_log(ps->plug, type, addr, port, error_msg, error_code);
plug_log(ps->plug, &ps->sock, type, addr, port, error_msg, error_code);
}
static void plug_proxy_closing(Plug *p, PlugCloseType type,
@ -597,7 +598,7 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
conf_get_str(conf, CONF_proxy_host),
conf_get_int(conf, CONF_proxy_port),
hostname, port);
plug_log(plug, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
plug_log(plug, &ps->sock, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
sfree(logmsg);
}
@ -605,7 +606,7 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
char *logmsg = dns_log_msg(conf_get_str(conf, CONF_proxy_host),
conf_get_int(conf, CONF_addressfamily),
"proxy");
plug_log(plug, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
plug_log(plug, &ps->sock, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
sfree(logmsg);
}
@ -626,7 +627,7 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
logmsg = dupprintf("Connecting to %s proxy at %s port %d",
vt->type, addrbuf,
conf_get_int(conf, CONF_proxy_port));
plug_log(plug, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
plug_log(plug, &ps->sock, PLUGLOG_PROXY_MSG, NULL, 0, logmsg, 0);
sfree(logmsg);
}

View File

@ -142,8 +142,8 @@ static const SocketVtable SshProxy_sock_vt = {
static void sshproxy_eventlog(LogPolicy *lp, const char *event)
{
SshProxy *sp = container_of(lp, SshProxy, logpolicy);
log_proxy_stderr(sp->plug, &sp->psb, event, strlen(event));
log_proxy_stderr(sp->plug, &sp->psb, "\n", 1);
log_proxy_stderr(sp->plug, &sp->sock, &sp->psb, event, strlen(event));
log_proxy_stderr(sp->plug, &sp->sock, &sp->psb, "\n", 1);
}
static int sshproxy_askappend(LogPolicy *lp, Filename *filename,
@ -248,7 +248,8 @@ static void sshproxy_notify_session_started(Seat *seat)
interactor_return_seat(sp->clientitr);
sp->conn_established = true;
plug_log(sp->plug, PLUGLOG_CONNECT_SUCCESS, sp->addr, sp->port, NULL, 0);
plug_log(sp->plug, &sp->sock, PLUGLOG_CONNECT_SUCCESS, sp->addr, sp->port,
NULL, 0);
}
static size_t sshproxy_output(Seat *seat, SeatOutputType type,
@ -261,7 +262,7 @@ static size_t sshproxy_output(Seat *seat, SeatOutputType type,
try_send_ssh_to_socket(sp);
break;
case SEAT_OUTPUT_STDERR:
log_proxy_stderr(sp->plug, &sp->psb, data, len);
log_proxy_stderr(sp->plug, &sp->sock, &sp->psb, data, len);
break;
}
return bufchain_size(&sp->ssh_to_socket);
@ -322,8 +323,8 @@ static void sshproxy_send_close(SshProxy *sp)
interactor_return_seat(sp->clientitr);
if (!sp->conn_established)
plug_log(sp->plug, PLUGLOG_CONNECT_FAILED, sp->addr, sp->port,
sp->errmsg, 0);
plug_log(sp->plug, &sp->sock, PLUGLOG_CONNECT_FAILED, sp->addr,
sp->port, sp->errmsg, 0);
if (sp->errmsg)
plug_closing_error(sp->plug, sp->errmsg);

View File

@ -339,7 +339,8 @@ static void proxy_telnet_process_queue(ProxyNegotiator *pn)
put_datapl(logmsg, PTRLEN_LITERAL("Sending Telnet proxy command: "));
put_c_string_literal(logmsg, ptrlen_from_asciz(censored_cmd));
plug_log(pn->ps->plug, PLUGLOG_PROXY_MSG, NULL, 0, logmsg->s, 0);
plug_log(pn->ps->plug, &pn->ps->sock, PLUGLOG_PROXY_MSG, NULL, 0,
logmsg->s, 0);
strbuf_free(logmsg);
sfree(censored_cmd);
}

View File

@ -93,8 +93,9 @@ static const SshChannelVtable psocks_scvt = {
/* all the rest are NULL */
};
static void psocks_plug_log(Plug *p, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code);
static void psocks_plug_log(Plug *p, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code);
static void psocks_plug_closing(Plug *p, PlugCloseType, const char *error_msg);
static void psocks_plug_receive(Plug *p, int urgent,
const char *data, size_t len);
@ -320,8 +321,9 @@ static void psocks_sc_unthrottle(SshChannel *sc, size_t bufsize)
sk_set_frozen(conn->socket, false);
}
static void psocks_plug_log(Plug *plug, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
static void psocks_plug_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
psocks_connection *conn = container_of(plug, psocks_connection, plug);
char addrbuf[256];

View File

@ -96,13 +96,15 @@ static void free_portlistener_state(struct PortListener *pl)
sfree(pl);
}
static void pfd_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
static void pfd_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
/* we have to dump these since we have no interface to logging.c */
}
static void pfl_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
static void pfl_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
/* we have to dump these since we have no interface to logging.c */

View File

@ -138,8 +138,9 @@ static const SeatVtable server_seat_vt = {
.get_cursor_position = nullseat_get_cursor_position,
};
static void server_socket_log(Plug *plug, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
static void server_socket_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
/* server *srv = container_of(plug, server, plug); */
/* FIXME */

View File

@ -371,8 +371,8 @@ bool sesschan_run_subsystem(Channel *chan, ptrlen subsys)
return false;
}
static void fwd_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void fwd_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{ /* don't expect any weirdnesses from a listening socket */ }
static void fwd_closing(Plug *plug, PlugCloseType type, const char *error_msg)
{ /* not here, either */ }

View File

@ -600,8 +600,9 @@ void ssh_sw_abort_deferred(Ssh *ssh, const char *fmt, ...)
}
}
static void ssh_socket_log(Plug *plug, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
static void ssh_socket_log(Plug *plug, Socket *s, PlugLogType type,
SockAddr *addr, int port,
const char *error_msg, int error_code)
{
Ssh *ssh = container_of(plug, Ssh, plug);
@ -615,7 +616,7 @@ static void ssh_socket_log(Plug *plug, PlugLogType type, SockAddr *addr,
*/
if (!ssh->attempting_connshare)
backend_socket_log(ssh->seat, ssh->logctx, type, addr, port,
backend_socket_log(ssh->seat, ssh->logctx, s, type, addr, port,
error_msg, error_code, ssh->conf,
ssh->session_started);
}

View File

@ -318,8 +318,9 @@ static bool ssh2_userauth_signflags(struct ssh2_userauth_state *s,
return true;
}
static void authplugin_plug_log(Plug *plug, PlugLogType type, SockAddr *addr,
int port, const char *err_msg, int err_code)
static void authplugin_plug_log(Plug *plug, Socket *sock, PlugLogType type,
SockAddr *addr, int port,
const char *err_msg, int err_code)
{
struct ssh2_userauth_state *s = container_of(
plug, struct ssh2_userauth_state, authplugin_plug);

View File

@ -277,8 +277,8 @@ static char *x11_verify(unsigned long peer_ip, int peer_port,
return NULL;
}
static void x11_log(Plug *p, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void x11_log(Plug *p, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
/* We have no interface to the logging module here, so we drop these. */
}

View File

@ -7,7 +7,7 @@
#include "putty.h"
void nullplug_log(Plug *plug, PlugLogType type, SockAddr *addr,
void nullplug_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *err_msg, int err_code)
{
}

View File

@ -306,7 +306,7 @@ static void fdsocket_select_result_input_error(int fd, int event)
retd = read(fd, buf, sizeof(buf));
if (retd > 0) {
log_proxy_stderr(fds->plug, &fds->psb, buf, retd);
log_proxy_stderr(fds->plug, &fds->sock, &fds->psb, buf, retd);
} else {
del234(fdsocket_by_inerrfd, fds);
uxsel_del(fds->inerrfd);
@ -334,8 +334,8 @@ static const SocketVtable FdSocket_sockvt = {
static void fdsocket_connect_success_callback(void *ctx)
{
FdSocket *fds = (FdSocket *)ctx;
plug_log(fds->plug, PLUGLOG_CONNECT_SUCCESS, fds->addr, fds->port,
NULL, 0);
plug_log(fds->plug, &fds->sock, PLUGLOG_CONNECT_SUCCESS,
fds->addr, fds->port, NULL, 0);
}
void setup_fd_socket(Socket *s, int infd, int outfd, int inerrfd)

View File

@ -566,7 +566,7 @@ static int try_connect(NetSocket *sock)
{
SockAddr thisaddr = sk_extractaddr_tmp(
sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_TRYING,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_TRYING,
&thisaddr, sock->port, NULL, 0);
}
@ -725,7 +725,7 @@ static int try_connect(NetSocket *sock)
sock->writable = true;
SockAddr thisaddr = sk_extractaddr_tmp(sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_SUCCESS,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_SUCCESS,
&thisaddr, sock->port, NULL, 0);
}
@ -741,7 +741,7 @@ static int try_connect(NetSocket *sock)
if (err) {
SockAddr thisaddr = sk_extractaddr_tmp(
sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_FAILED,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_FAILED,
&thisaddr, sock->port, strerror(err), err);
}
return err;
@ -1425,7 +1425,7 @@ static void net_select_result(int fd, int event)
assert(s->addr);
thisaddr = sk_extractaddr_tmp(s->addr, &s->step);
plug_log(s->plug, PLUGLOG_CONNECT_FAILED,
plug_log(s->plug, &s->sock, PLUGLOG_CONNECT_FAILED,
&thisaddr, s->port, errmsg, err);
while (err && s->addr && sk_nextaddr(s->addr, &s->step)) {
@ -1442,7 +1442,7 @@ static void net_select_result(int fd, int event)
* The connection attempt succeeded.
*/
SockAddr thisaddr = sk_extractaddr_tmp(s->addr, &s->step);
plug_log(s->plug, PLUGLOG_CONNECT_SUCCESS,
plug_log(s->plug, &s->sock, PLUGLOG_CONNECT_SUCCESS,
&thisaddr, s->port, NULL, 0);
}
}

View File

@ -243,8 +243,8 @@ static bool time_to_die = false;
* except that x11_closing has to signal back to the main loop that
* it's time to terminate.
*/
static void x11_log(Plug *p, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code) {}
static void x11_log(Plug *p, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code) {}
static void x11_receive(Plug *plug, int urgent, const char *data, size_t len) {}
static void x11_sent(Plug *plug, size_t bufsize) {}
static void x11_closing(Plug *plug, PlugCloseType type, const char *error_msg)

View File

@ -265,8 +265,8 @@ static Plug *server_conn_plug(
&inst->logpolicy, &unix_live_sftpserver_vt);
}
static void server_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void server_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
log_to_stderr(-1, error_msg);
}

View File

@ -478,8 +478,8 @@ static Plug *server_conn_plug(
&inst->ap, &inst->logpolicy, &unix_live_sftpserver_vt);
}
static void server_log(Plug *plug, PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code)
static void server_log(Plug *plug, Socket *s, PlugLogType type, SockAddr *addr,
int port, const char *error_msg, int error_code)
{
log_to_stderr((unsigned)-1, error_msg);
}

View File

@ -4,7 +4,7 @@
#include "putty.h"
#include "network.h"
void backend_socket_log(Seat *seat, LogContext *logctx,
void backend_socket_log(Seat *seat, LogContext *logctx, Socket *sock,
PlugLogType type, SockAddr *addr, int port,
const char *error_msg, int error_code, Conf *conf,
bool session_started)

View File

@ -15,7 +15,7 @@ void psb_set_prefix(ProxyStderrBuf *psb, const char *prefix)
psb->prefix = prefix;
}
void log_proxy_stderr(Plug *plug, ProxyStderrBuf *psb,
void log_proxy_stderr(Plug *plug, Socket *sock, ProxyStderrBuf *psb,
const void *vdata, size_t len)
{
const char *data = (const char *)vdata;
@ -65,7 +65,7 @@ void log_proxy_stderr(Plug *plug, ProxyStderrBuf *psb,
endpos--;
char *msg = dupprintf(
"%s: %.*s", psb->prefix, (int)(endpos - pos), psb->buf + pos);
plug_log(plug, PLUGLOG_PROXY_MSG, NULL, 0, msg, 0);
plug_log(plug, sock, PLUGLOG_PROXY_MSG, NULL, 0, msg, 0);
sfree(msg);
pos = nlpos - psb->buf + 1;
@ -81,7 +81,7 @@ void log_proxy_stderr(Plug *plug, ProxyStderrBuf *psb,
char *msg = dupprintf(
"%s (partial line): %.*s", psb->prefix, (int)psb->size,
psb->buf);
plug_log(plug, PLUGLOG_PROXY_MSG, NULL, 0, msg, 0);
plug_log(plug, sock, PLUGLOG_PROXY_MSG, NULL, 0, msg, 0);
sfree(msg);
pos = psb->size = 0;

View File

@ -107,7 +107,7 @@ static size_t handle_stderr(
HandleSocket *hs = (HandleSocket *)handle_get_privdata(h);
if (!err && len > 0)
log_proxy_stderr(hs->plug, &hs->psb, data, len);
log_proxy_stderr(hs->plug, &hs->sock, &hs->psb, data, len);
return 0;
}
@ -354,7 +354,8 @@ static const SocketVtable HandleSocket_sockvt = {
static void sk_handle_connect_success_callback(void *ctx)
{
HandleSocket *hs = (HandleSocket *)ctx;
plug_log(hs->plug, PLUGLOG_CONNECT_SUCCESS, hs->addr, hs->port, NULL, 0);
plug_log(hs->plug, &hs->sock, PLUGLOG_CONNECT_SUCCESS, hs->addr, hs->port,
NULL, 0);
}
Socket *make_handle_socket(HANDLE send_H, HANDLE recv_H, HANDLE stderr_H,

View File

@ -176,7 +176,7 @@ static void named_pipe_accept_loop(NamedPipeServerSocket *ps,
errmsg = dupprintf("Error while listening to named pipe: %s",
win_strerror(error));
plug_log(ps->plug, 1, sk_namedpipe_addr(ps->pipename), 0,
plug_log(ps->plug, &ps->sock, 1, sk_namedpipe_addr(ps->pipename), 0,
errmsg, error);
sfree(errmsg);
break;

View File

@ -904,7 +904,7 @@ static DWORD try_connect(NetSocket *sock)
{
SockAddr thisaddr = sk_extractaddr_tmp(
sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_TRYING,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_TRYING,
&thisaddr, sock->port, NULL, 0);
}
@ -1065,7 +1065,7 @@ static DWORD try_connect(NetSocket *sock)
*/
sock->writable = true;
SockAddr thisaddr = sk_extractaddr_tmp(sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_SUCCESS,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_SUCCESS,
&thisaddr, sock->port, NULL, 0);
}
@ -1081,7 +1081,7 @@ static DWORD try_connect(NetSocket *sock)
if (err) {
SockAddr thisaddr = sk_extractaddr_tmp(
sock->addr, &sock->step);
plug_log(sock->plug, PLUGLOG_CONNECT_FAILED,
plug_log(sock->plug, &sock->sock, PLUGLOG_CONNECT_FAILED,
&thisaddr, sock->port, sock->error, err);
}
return err;
@ -1578,8 +1578,8 @@ void select_result(WPARAM wParam, LPARAM lParam)
if (s->addr) {
SockAddr thisaddr = sk_extractaddr_tmp(
s->addr, &s->step);
plug_log(s->plug, PLUGLOG_CONNECT_FAILED, &thisaddr, s->port,
winsock_error_string(err), err);
plug_log(s->plug, &s->sock, PLUGLOG_CONNECT_FAILED, &thisaddr,
s->port, winsock_error_string(err), err);
while (err && s->addr && sk_nextaddr(s->addr, &s->step)) {
err = try_connect(s);
}
@ -1604,7 +1604,7 @@ void select_result(WPARAM wParam, LPARAM lParam)
if (s->addr) {
SockAddr thisaddr = sk_extractaddr_tmp(
s->addr, &s->step);
plug_log(s->plug, PLUGLOG_CONNECT_SUCCESS,
plug_log(s->plug, &s->sock, PLUGLOG_CONNECT_SUCCESS,
&thisaddr, s->port, NULL, 0);
sk_addr_free(s->addr);