Changeset 89ac5513 in mainline for uspace/srv/net/inetsrv/addrobj.c


Ignore:
Timestamp:
2013-06-23T19:54:53Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ddb1922
Parents:
3abf0760 (diff), 96cbd18 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/addrobj.c

    r3abf0760 r89ac5513  
    112112inet_addrobj_t *inet_addrobj_find(inet_addr_t *addr, inet_addrobj_find_t find)
    113113{
    114         uint32_t mask;
    115 
    116         log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find(%x)", (unsigned)addr->ipv4);
    117 
    118         fibril_mutex_lock(&addr_list_lock);
    119 
     114        uint32_t addr_addr;
     115        int rc = inet_addr_pack(addr, &addr_addr);
     116        if (rc != EOK)
     117                return NULL;
     118       
     119        fibril_mutex_lock(&addr_list_lock);
     120       
    120121        list_foreach(addr_list, link) {
    121122                inet_addrobj_t *naddr = list_get_instance(link,
    122123                    inet_addrobj_t, addr_list);
    123 
    124                 mask = inet_netmask(naddr->naddr.bits);
    125                 if ((naddr->naddr.ipv4 & mask) == (addr->ipv4 & mask)) {
     124               
     125                uint32_t naddr_addr;
     126                uint8_t naddr_bits;
     127                rc = inet_naddr_pack(&naddr->naddr, &naddr_addr, &naddr_bits);
     128                if (rc != EOK)
     129                        continue;
     130               
     131                uint32_t mask = inet_netmask(naddr_bits);
     132                if ((naddr_addr & mask) == (addr_addr & mask)) {
    126133                        fibril_mutex_unlock(&addr_list_lock);
    127134                        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find: found %p",
     
    218225{
    219226        inet_addr_t lsrc_addr;
    220         inet_addr_t *ldest_addr;
    221 
    222         lsrc_addr.ipv4 = addr->naddr.ipv4;
    223         ldest_addr = &dgram->dest;
    224 
     227        inet_naddr_addr(&addr->naddr, &lsrc_addr);
     228       
     229        inet_addr_t *ldest_addr = ldest;
     230       
    225231        return inet_link_send_dgram(addr->ilink, &lsrc_addr, ldest_addr, dgram,
    226232            proto, ttl, df);
Note: See TracChangeset for help on using the changeset viewer.