| 2948 | } |
| 2949 | |
| 2950 | static int proxy_addrs_equal(const apr_sockaddr_t *addr1, |
| 2951 | const apr_sockaddr_t *addr2) |
| 2952 | { |
| 2953 | const apr_sockaddr_t *base2 = addr2, *pos2; |
| 2954 | while (addr1 && addr2) { |
| 2955 | for (pos2 = base2; pos2; pos2 = pos2->next) { |
| 2956 | if (apr_sockaddr_equal(pos2, addr1)) { |
| 2957 | break; |
| 2958 | } |
| 2959 | } |
| 2960 | if (!pos2) { |
| 2961 | return 0; |
| 2962 | } |
| 2963 | addr1 = addr1->next; |
| 2964 | addr2 = addr2->next; |
| 2965 | } |
| 2966 | if (addr1 || addr2) { |
| 2967 | return 0; |
| 2968 | } |
| 2969 | return 1; |
| 2970 | } |
| 2971 | |
| 2972 | PROXY_DECLARE(apr_status_t) ap_proxy_determine_address(const char *proxy_function, |
| 2973 | proxy_conn_rec *conn, |
no outgoing calls
no test coverage detected