Changeset e68221b in code for icbd.c


Ignore:
Timestamp:
Jun 23, 2014, 1:02:33 PM (11 years ago)
Author:
Florian Obser <florian@…>
Branches:
master
Children:
96a2e31
Parents:
120eedd
Message:

Check that the reverse resolved hostname resolves back to the
connecting IP.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icbd.c

    r120eedd re68221b  
    586586getpeerinfo(struct icb_session *is)
    587587{
    588         struct sockaddr_storage ss;
    589         struct sockaddr_in *sin = (struct sockaddr_in *)&ss;
    590         struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&ss;
    591         socklen_t ss_len = sizeof ss;
    592 
    593         bzero(&ss, sizeof ss);
    594         if (getpeername(EVBUFFER_FD(is->bev), (struct sockaddr *)&ss,
     588        struct sockaddr_in *sin = (struct sockaddr_in *)&is->ss;
     589        struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&is->ss;
     590        socklen_t ss_len = sizeof is->ss;
     591
     592        bzero(&is->ss, sizeof is->ss);
     593        if (getpeername(EVBUFFER_FD(is->bev), (struct sockaddr *)&is->ss,
    595594            &ss_len) != 0)
    596595                return;
    597596
    598597        is->port = 0;
    599         switch (ss.ss_family) {
     598        switch (is->ss.ss_family) {
    600599        case AF_INET:
    601600                is->port = ntohs(sin->sin_port);
     
    607606        }
    608607
    609         inet_ntop(ss.ss_family, ss.ss_family == AF_INET ?
     608        inet_ntop(is->ss.ss_family, is->ss.ss_family == AF_INET ?
    610609            (void *)&sin->sin_addr : (void *)&sin6->sin6_addr,
    611610            is->host, sizeof is->host);
    612611
    613         dns_resolve(is, (struct sockaddr *)&ss);
    614 }
     612        dns_resolve(is);
     613}
Note: See TracChangeset for help on using the changeset viewer.