File: connect.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 (38 lines) | stat: -rw-r--r-- 784 bytes parent folder | download | duplicates (7)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <sys/types.h>
#include <sys/socket.h>

#include <unistd.h>

#include "wrap.h"

int REAL(connect)(int  sockfd, __const struct sockaddr *serv_addr, socklen_t addrlen )
{
  GETFUNC("connect", TRY_LIBC, -1, (int (*)(int  sockfd, __const struct sockaddr *serv_addr, socklen_t addrlen )), (sockfd, serv_addr, addrlen), int);
}

int  connect(int  sockfd, __const struct sockaddr *serv_addr, socklen_t addrlen )
{
  int ret;

//  printf("connect (%d)\n", InSocksFunctions);

  InSocksFunctions++;

  doinit();
  
  if (InSocksFunctions == 1)
    {

      ret = LIBPREFIX(connect)(sockfd, serv_addr, addrlen);
    }
  else
    {
      ret = REAL(connect)(sockfd, serv_addr, addrlen);
    }

  InSocksFunctions--;

//  printf("connect (%d) ende\n", InSocksFunctions);

  return ret;
}