int server_lookup(struct sockaddr *client, struct sockaddr *proxy, struct sockaddr *server, u_int8_t proto) { if (client->sa_family == AF_INET) return (server_lookup4(satosin(client), satosin(proxy), satosin(server), proto)); if (client->sa_family == AF_INET6) return (server_lookup6(satosin6(client), satosin6(proxy), satosin6(server), proto)); errno = EPROTONOSUPPORT; return (-1); }
int Mod_fw_lookup_orig_dst(FW_handle_T handle, struct sockaddr *src, struct sockaddr *proxy, struct sockaddr *orig_dst) { struct fw_handle *fwh = handle->fwh; if(src->sa_family == AF_INET) { return server_lookup4(fwh->pfdev, satosin(src), satosin(proxy), satosin(orig_dst)); } if(src->sa_family == AF_INET6) { return server_lookup6(fwh->pfdev, satosin6(src), satosin6(proxy), satosin6(orig_dst)); } errno = EPROTONOSUPPORT; return -1; }