* us. This is what read_packet() does.
* -- adrian
*/
- client->localClient->allow_read = MAX_FLOOD;
rb_dlinkAddTail(client, &client->node, &global_client_list);
read_packet(client->localClient->F, client);
}
start_auth_query(struct AuthRequest *auth)
{
struct rb_sockaddr_storage localaddr, destaddr;
- socklen_t locallen = sizeof(struct rb_sockaddr_storage);
rb_fde_t *F;
int family;
* since the ident request must originate from that same address--
* and machines with multiple IP addresses are common now
*/
- memset(&localaddr, 0, locallen);
- if(getsockname(rb_get_fd(auth->client->localClient->F),
- (struct sockaddr *) &localaddr, &locallen) == -1)
- {
- /* can happen if connection was just closed */
- rb_close(F);
- return 0;
- }
+ localaddr = auth->client->preClient->lip;
/* XXX mangle_mapped_sockaddr((struct sockaddr *)&localaddr); */
#ifdef RB_IPV6
rb_snprintf(authbuf, sizeof(authbuf), "%u , %u\r\n",
auth->rport, auth->lport);
- if(write(rb_get_fd(auth->F), authbuf, strlen(authbuf)) == -1)
+ if(rb_write(auth->F, authbuf, strlen(authbuf)) != strlen(authbuf))
{
auth_error(auth);
return;
int count;
char buf[AUTH_BUFSIZ + 1]; /* buffer to read auth reply into */
- len = read(rb_get_fd(F), buf, AUTH_BUFSIZ);
+ len = rb_read(F, buf, AUTH_BUFSIZ);
if(len < 0 && rb_ignore_errno(errno))
{