mirror of
https://github.com/darkk/redsocks.git
synced 2025-08-25 19:25:30 +00:00
More source code cleanup.
This commit is contained in:
parent
c50dd8b2b4
commit
8ad8d7eb41
12
redsocks.c
12
redsocks.c
@ -477,21 +477,13 @@ void redsocks_write_helper(
|
||||
static void redsocks_relay_connected(struct bufferevent *buffev, void *_arg)
|
||||
{
|
||||
redsocks_client *client = _arg;
|
||||
int pseudo_errno;
|
||||
|
||||
assert(buffev == client->relay);
|
||||
|
||||
redsocks_touch_client(client);
|
||||
|
||||
pseudo_errno = redsocks_socket_geterrno(client, buffev);
|
||||
if (pseudo_errno == -1) {
|
||||
redsocks_log_errno(client, LOG_NOTICE, "redsocks_socket_geterrno");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (pseudo_errno) {
|
||||
errno = pseudo_errno;
|
||||
redsocks_log_errno(client, LOG_NOTICE, "connect");
|
||||
if (!red_is_socket_connected_ok(buffev)) {
|
||||
redsocks_log_errno(client, LOG_NOTICE, "red_is_socket_connected_ok");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
17
utils.c
17
utils.c
@ -103,4 +103,21 @@ int fcntl_nonblock(int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int red_is_socket_connected_ok(struct bufferevent *buffev)
|
||||
{
|
||||
int pseudo_errno = red_socket_geterrno(buffev);
|
||||
|
||||
if (pseudo_errno == -1) {
|
||||
return 0;
|
||||
}
|
||||
else if (pseudo_errno) {
|
||||
errno = pseudo_errno;
|
||||
log_errno(LOG_NOTICE, "connect");
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* vim:set tabstop=4 softtabstop=4 shiftwidth=4: */
|
||||
|
2
utils.h
2
utils.h
@ -26,6 +26,8 @@
|
||||
time_t redsocks_time(time_t *t);
|
||||
struct bufferevent* red_connect_relay(struct sockaddr_in *addr, evbuffercb writecb, everrorcb errorcb, void *cbarg);
|
||||
int red_socket_geterrno(struct bufferevent *buffev);
|
||||
int red_is_socket_connected_ok(struct bufferevent *buffev);
|
||||
|
||||
int fcntl_nonblock(int fd);
|
||||
|
||||
/* vim:set tabstop=4 softtabstop=4 shiftwidth=4: */
|
||||
|
Loading…
Reference in New Issue
Block a user