/*
3APA3A simpliest proxy server
(c) 2002-2006 by ZARAZA <3APA3A@security.nnov.ru>
please read License Agreement
$Id: tcppm.c,v 1.5 2006/03/10 19:25:53 vlad Exp $
*/
#include "proxy.h"
#ifndef PORTMAP
#define PORTMAP
#endif
#define RETURN(xxx) { param->res = xxx; goto CLEANRET; }
void * tcppmchild(void * data) {
#define param ((struct clientparam*)data)
int res;
param->hostname = param->target;
param->sins.sin_port = param->targetport;
param->operation = CONNECT;
res = (*param->authfunc)(param);
param->hostname = NULL;
if(res) {RETURN(res);}
RETURN (sockmap(param, conf.timeouts[CONNECTION_L]));
CLEANRET:
(*param->logfunc)(param, NULL);
freeparam(param);
return (NULL);
}
#ifdef WITHMAIN
struct proxydef childdef = {
tcppmchild,
0,
0,
S_TCPPM,
""
};
#include "proxymain.c"
#endif
syntax highlighted by Code2HTML, v. 0.9.1