static int chain_step(int ns, proxy_data *pfrom, proxy_data *pto) { int retcode=-1; proxychains_write_log("<>-%s:%d-", inet_ntoa(*(struct in_addr*)&pto->ip), htons(pto->port)); retcode = tunnel_to(ns, pto->ip, pto->port, pfrom->pt, pfrom->user, pfrom->pass); switch(retcode) { case SUCCESS: pto->ps=BUSY_STATE; break; case BLOCKED: pto->ps=BLOCKED_STATE; proxychains_write_log("<--denied\n"); close(ns); break; case SOCKET_ERROR: pto->ps=DOWN_STATE; proxychains_write_log("<--timeout\n"); close(ns); break; } return retcode; }
static int chain_step(int ns, proxy_data * pfrom, proxy_data * pto) { int retcode = -1; char *hostname; char hostname_buf[MSG_LEN_MAX]; char ip_buf[16]; PFUNC(); if(pto->ip.octet[0] == remote_dns_subnet) { if(!at_get_host_for_ip(pto->ip, hostname_buf)) goto usenumericip; else hostname = hostname_buf; } else { usenumericip: pc_stringfromipv4(&pto->ip.octet[0], ip_buf); hostname = ip_buf; } proxychains_write_log(TP " %s:%d ", hostname, htons(pto->port)); retcode = tunnel_to(ns, pto->ip, pto->port, pfrom->pt, pfrom->user, pfrom->pass); switch (retcode) { case SUCCESS: pto->ps = BUSY_STATE; break; case BLOCKED: pto->ps = BLOCKED_STATE; proxychains_write_log("<--denied\n"); close(ns); break; case SOCKET_ERROR: pto->ps = DOWN_STATE; proxychains_write_log("<--socket error or timeout!\n"); close(ns); break; } return retcode; }
static int chain_step(int ns, proxy_data * pfrom, proxy_data * pto) { int retcode = -1; char *hostname; char ip_buf[16]; PDEBUG("chain_step()\n"); if(pto->ip.octet[0] == remote_dns_subnet) { hostname = string_from_internal_ip(pto->ip); if(!hostname) goto usenumericip; } else { usenumericip: inet_ntop(AF_INET, &pto->ip.octet[0], ip_buf, sizeof(ip_buf)); hostname = ip_buf; } proxychains_write_log(TP " %s:%d ", hostname, htons(pto->port)); retcode = tunnel_to(ns, pto->ip, pto->port, pfrom->pt, pfrom->user, pfrom->pass); switch (retcode) { case SUCCESS: pto->ps = BUSY_STATE; break; case BLOCKED: pto->ps = BLOCKED_STATE; proxychains_write_log("<--denied\n"); close(ns); break; case SOCKET_ERROR: pto->ps = DOWN_STATE; proxychains_write_log("<--socket error or timeout!\n"); close(ns); break; } return retcode; }