diff options
author | Jorge Arellano Cid <jcid@dillo.org> | 2009-11-01 16:31:59 -0300 |
---|---|---|
committer | Jorge Arellano Cid <jcid@dillo.org> | 2009-11-01 16:31:59 -0300 |
commit | df2f261ccb261447576b98b9e466f06daf33115d (patch) | |
tree | fbb802b7b019c806bea8e6d9b4c7dc12f6ede53d /src | |
parent | 29ea3975335bad3fa72afe8c1724d1d00355c396 (diff) |
Removed the write/fwrite mix in dpip. Introduced a_Dpip_dsh_trywrite()
Several cleanups and more error handling sprinkled all over too.
Diffstat (limited to 'src')
-rw-r--r-- | src/IO/dpi.c | 19 | ||||
-rw-r--r-- | src/auth.c | 2 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/IO/dpi.c b/src/IO/dpi.c index 6adc0148..a5e873bd 100644 --- a/src/IO/dpi.c +++ b/src/IO/dpi.c @@ -423,6 +423,19 @@ static int Dpi_read_comm_keys(int *port) } /* + * Return a socket file descriptor + */ +static int Dpi_make_socket_fd() +{ + int fd, ret = -1; + + if ((fd = socket(AF_INET, SOCK_STREAM, 0)) != -1) { + ret = fd; + } + return ret; +} + +/* * Make a connection test for a IDS. * Return: 1 OK, -1 Not working. */ @@ -439,7 +452,7 @@ static int Dpi_check_dpid_ids() if (Dpi_read_comm_keys(&dpid_port) != -1) { sin.sin_port = htons(dpid_port); - if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { + if ((sock_fd = Dpi_make_socket_fd()) == -1) { MSG("Dpi_check_dpid_ids: sock_fd=%d %s\n", sock_fd, dStrerror(errno)); } else if (connect(sock_fd, (struct sockaddr *)&sin, sin_sz) == -1) { MSG("Dpi_check_dpid_ids: %s\n", dStrerror(errno)); @@ -538,7 +551,7 @@ int Dpi_get_server_port(const char *server_name) sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); sin.sin_port = htons(dpid_port); - if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1 || + if ((sock_fd = Dpi_make_socket_fd()) == -1 || connect(sock_fd, (struct sockaddr *)&sin, sin_sz) == -1) { MSG("Dpi_get_server_port: %s\n", dStrerror(errno)); } else { @@ -613,7 +626,7 @@ static int Dpi_connect_socket(const char *server_name, int retry) sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); sin.sin_port = htons(dpi_port); - if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { + if ((sock_fd = Dpi_make_socket_fd()) == -1) { perror("[dpi::socket]"); } else if (connect(sock_fd, (void*)&sin, sizeof(sin)) == -1) { err = errno; @@ -229,7 +229,7 @@ static int Auth_parse_token_value(AuthParse_t *auth_parse, char **auth) set_realm = auth_parse->realm == NULL && dStrncasecmp(realm_token,token,token_size) == 0 && - strlen(realm_token) == token_size; + strlen(realm_token) == (size_t)token_size; return Auth_parse_quoted_string(auth_parse, set_realm, auth); } |