File: sockd_ckrt.c

package info (click to toggle)
socks4-server 4.3.beta2-13
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,512 kB
  • ctags: 1,778
  • sloc: ansic: 19,305; makefile: 404; sh: 52
file content (25 lines) | stat: -rw-r--r-- 519 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* sockd_ckrt */

#include <sys/types.h>
#include <stdio.h>
#include <syslog.h>
#include <netinet/in.h>
#include "socks.h"

u_int32 sockd_ckrt(dstshp, rtAddr, Nrt)
struct sockshost_s *dstshp;
struct config *rtAddr;
int Nrt;
{
	
	int i;
	struct config *cp;

	for (i = 0, cp = rtAddr; i++ < Nrt; cp++) {
		if (socks_ckadr(dstshp, cp->ddomain, &cp->daddr, &cp->dmask) == 1) {
			return cp->saddr.s_addr;
		}
	}
	syslog(LOG_LOW, "Cannot find appropriate interface to communicate with %s\n", dstshp->dmname[0]);
	exit(1);
}