#include "setup.h"
#include <stdio.h>
#include <string.h>
#include "compat.h"
#include "opm.h"
#define ARRAY_SIZEOF(x)
Definition: test.c:37
Definition: opm_common.h:16
int libopm_proxy_router_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:207
struct _libopm_node * next
Definition: opm_common.h:18
OPM_NODE_T * libopm_list_add(OPM_LIST_T *, OPM_NODE_T *)
Definition: list.c:55
int libopm_snprintf(char *, size_t, const char *,...)
OPM_CONFIG_T * libopm_config_create(void)
Definition: config.c:63
void ** vars
Definition: opm.h:35
unsigned short int port
Definition: libopm.h:33
void opm_endscan(OPM_T *, OPM_REMOTE_T *)
Definition: libopm.c:619
void * libopm_config(OPM_CONFIG_T *config, int key)
Definition: config.c:261
#define OPM_ERR_CBNOTFOUND
Definition: opm_error.h:16
void * data
Definition: opm_common.h:21
OPM_CONFIG_T * libopm_config_create()
Definition: config.c:63
OPM_PROTOCOL_T * protocol
Definition: libopm.h:32
int vasprintf(char **ptr, const char *fmt, va_list ap)
void OPM_CALLBACK_FUNC(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: opm.h:27
#define RCSID(x)
Definition: opm.h:17
void libopm_node_free(OPM_NODE_T *node)
Definition: list.c:116
#define LIST_FOREACH_SAFE(pos, n, head)
Definition: list.h:28
#define OPM_TYPE_ROUTER
Definition: opm_types.h:25
struct sockaddr_in sa4
Definition: inet.h:26
OPM_T * opm_create(void)
Definition: libopm.c:122
#define OPM_STATE_UNESTABLISHED
Definition: opm_types.h:29
unsigned short int port
Definition: opm.h:52
void libopm_MyFree(void **var)
Definition: malloc.c:67
#define OPM_ERR_BADVALUE
Definition: opm_error.h:9
#define OPM_ERR_BIND
Definition: opm_error.h:23
#define OPM_CALLBACK_NEGFAIL
Definition: opm_types.h:39
OPM_LIST_T * protocols
Definition: opm.h:56
OPM_ERR_T opm_addtype(OPM_T *scanner, int type, unsigned short int port)
Definition: libopm.c:339
#define OPM_SUCCESS
Definition: opm_error.h:5
int libopm_vsnprintf(char *, size_t, const char *, va_list)
#define LIST_SIZE(list)
Definition: list.h:30
OPM_ERR_T opm_callback(OPM_T *, int, OPM_CALLBACK_FUNC *, void *)
Definition: libopm.c:234
#define fast_memset(d, c, n)
Definition: snprintf.c:376
#define ToLower(c)
Definition: inet.c:72
#define OPM_STATE_NEGSENT
Definition: opm_types.h:31
#define AF_INET6
Definition: inet.h:19
#define inet_aton
Definition: compat.h:10
int libopm_proxy_socks4_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:73
unsigned short int protocol
Definition: opm.h:53
void * data
Definition: opm.h:31
void * libopm_MyMalloc(size_t bytes)
Definition: malloc.c:45
OPM_CALLBACK_T * callbacks
Definition: opm.h:45
int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap)
int libopm_proxy_wingate_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:183
int libopm_inet_aton(const char *cp, struct in_addr *inp)
#define MyFree(X)
Definition: malloc.h:11
struct in_addr in4
Definition: inet.h:30
int type
Definition: libopm.h:52
#define INT16SZ
Definition: inet.c:60
#define OPM_CONFIG_TIMEOUT
Definition: opm_types.h:12
OPM_LIST_T * queue
Definition: opm.h:40
#define LIST_FOREACH(pos, head)
Definition: list.h:27
size_t opm_active(OPM_T *)
Definition: libopm.c:660
#define OPM_TYPE_INT
Definition: opm_types.h:15
OPM_LIST_T * connections
Definition: libopm.h:27
#define OPM_TYPE_HTTP
Definition: opm_types.h:21
#define OPM_CONFIG_SCAN_IP
Definition: opm_types.h:9
#define INADDRSZ
Definition: inet.c:49
int libopm_proxy_socks5_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:141
time_t creation
Definition: libopm.h:40
OPM_LIST_T * libopm_list_create()
Definition: list.c:43
int libopm_config_gettype(int)
Definition: config.c:232
char * ip
Definition: opm.h:50
OPM_CALLBACK_FUNC * func
Definition: opm.h:30
int inet_pton(int, const char *, void *)
void timeout(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: test.c:183
OPM_PROXYWRITE_T * write_function
Definition: libopm.h:54
#define OPM_CONFIG_DNSBL_HOST
Definition: opm_types.h:7
int libopm_proxy_http_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:47
OPM_REMOTE_T * opm_remote_create(const char *)
Definition: libopm.c:162
const char * inetntop(int, const void *, char *, unsigned int)
void opm_free(OPM_T *)
Definition: libopm.c:259
#define OPM_STATE_CLOSED
Definition: opm_types.h:32
#define OPM_ERR_BADKEY
Definition: opm_error.h:8
OPM_ERR_T opm_scan(OPM_T *, OPM_REMOTE_T *)
Definition: libopm.c:517
#define OPM_TYPE_SOCKS5
Definition: opm_types.h:23
void negotiation_failed(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: test.c:172
OPM_REMOTE_T * remote
Definition: libopm.h:26
void * libopm_MyMalloc(size_t bytes)
Definition: malloc.c:45
#define OPM_CALLBACK_ERROR
Definition: opm_types.h:41
#define OPM_CALLBACK_TIMEOUT
Definition: opm_types.h:42
const unsigned char ToLowerTab[]
OPM_ERR_T opm_callback(OPM_T *scanner, int type, OPM_CALLBACK_FUNC *function, void *data)
Definition: libopm.c:234
#define OPM_TYPE_STRINGLIST
Definition: opm_types.h:18
opm_sockaddr addr
Definition: libopm.h:25
unsigned short int bytes_read
Definition: opm.h:54
#define OPM_CALLBACK_OPENPROXY
Definition: opm_types.h:38
int OPM_PROXYREAD_T(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: libopm.h:22
#define OPM_CONFIG_TARGET_STRING
Definition: opm_types.h:8
OPM_PROXYREAD_T * read_function
Definition: libopm.h:55
void libopm_node_free(OPM_NODE_T *)
Definition: list.c:116
int main(int argc, char **argv)
Definition: test.c:47
int libopm_proxy_socks4_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:73
OPM_CONFIG_T * config
Definition: opm.h:39
#define OPM_TYPE_WINGATE
Definition: opm_types.h:24
unsigned int fd_use
Definition: opm.h:43
int key
Definition: config.h:9
char readbuf[128+1]
Definition: libopm.h:37
struct hostent * opm_gethostbyname(const char *)
unsigned short int port
Definition: libopm.h:46
int OPM_PROXYWRITE_T(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: libopm.h:21
OPM_LIST_T * libopm_list_create(void)
Definition: list.c:43
#define OPM_CONFIG_MAX_READ
Definition: opm_types.h:11
void libopm_MyFree(void **var)
Definition: malloc.c:67
struct _libopm_node * prev
Definition: opm_common.h:19
#define OPM_ERR_BADADDR
Definition: opm_error.h:19
int libopm_config_gettype(int key)
Definition: config.c:232
#define OPM_STATE_ESTABLISHED
Definition: opm_types.h:30
int libopm_proxy_socks5_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:141
OPM_ERR_T opm_addtype(OPM_T *, int, unsigned short int)
Definition: libopm.c:339
void libopm_config_free(OPM_CONFIG_T *config)
Definition: config.c:125
OPM_LIST_T * scans
Definition: opm.h:41
int OPM_ERR_T
Definition: opm.h:25
OPM_REMOTE_T * opm_remote_create(const char *ip)
Definition: libopm.c:162
int fd
Definition: libopm.h:35
OPM_ERR_T opm_config(OPM_T *, int, void *)
Definition: libopm.c:317
void libopm_list_free(OPM_LIST_T *)
Definition: list.c:111
#define OPM_CONFIG_BIND_IP
Definition: opm_types.h:6
int libopm_proxy_httppost_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:231
void opm_free(OPM_T *scanner)
Definition: libopm.c:259
OPM_ERR_T opm_remote_addtype(OPM_REMOTE_T *remote, int type, unsigned short int port)
Definition: libopm.c:381
#define OPM_CONFIG_FD_LIMIT
Definition: opm_types.h:5
int elements
Definition: opm_common.h:13
#define isdigit(c)
Definition: snprintf.c:336
int complete
Definition: test.c:45
int asprintf(char **ptr, const char *fmt,...)
void opm_remote_free(OPM_REMOTE_T *)
Definition: libopm.c:199
OPM_NODE_T * libopm_list_add(OPM_LIST_T *list, OPM_NODE_T *node)
Definition: list.c:55
#define USE_VAR(var)
Definition: opm.h:15
OPM_NODE_T * libopm_node_create(void *data)
Definition: list.c:33
void opm_end(OPM_T *, OPM_REMOTE_T *)
Definition: libopm.c:561
#define snprintf
Definition: compat.h:16
OPM_T * opm_create()
Definition: libopm.c:122
void open_proxy(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: test.c:161
OPM_ERR_T opm_config(OPM_T *scanner, int key, void *value)
Definition: libopm.c:317
Definition: opm_common.h:8
OPM_LIST_T * protocols
Definition: opm.h:42
#define MyMalloc(SIZE)
Definition: malloc.h:10
struct _libopm_node * head
Definition: opm_common.h:10
OPM_ERR_T opm_scan(OPM_T *scanner, OPM_REMOTE_T *remote)
Definition: libopm.c:517
unsigned short int readlen
Definition: libopm.h:38
void end(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: test.c:192
void opm_end(OPM_T *scanner, OPM_REMOTE_T *remote)
Definition: libopm.c:561
OPM_NODE_T * libopm_list_remove(OPM_LIST_T *list, OPM_NODE_T *node)
Definition: list.c:81
void libopm_config_free(OPM_CONFIG_T *)
Definition: config.c:125
OPM_NODE_T * libopm_node_create(void *)
Definition: list.c:33
int type
Definition: config.h:10
struct _libopm_node * tail
Definition: opm_common.h:11
#define OPM_TYPE_STRING
Definition: opm_types.h:16
void opm_endscan(OPM_T *scanner, OPM_REMOTE_T *remote)
Definition: libopm.c:619
void * libopm_config(OPM_CONFIG_T *, int)
Definition: config.c:261
#define SENDBUFLEN
Definition: libopm.h:11
#define HOSTIPLEN
Definition: inet.c:66
void opm_cycle(OPM_T *)
Definition: libopm.c:817
unsigned short int bytes_read
Definition: libopm.h:36
OPM_ERR_T libopm_config_set(OPM_CONFIG_T *config, int key, void *value)
Definition: config.c:175
OPM_ERR_T libopm_config_set(OPM_CONFIG_T *, int, void *)
Definition: config.c:175
int libopm_proxy_httppost_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
Definition: proxy.c:231
#define OPM_ERR_BADPROTOCOL
Definition: opm_error.h:10
#define OPM_TYPE_SOCKS4
Definition: opm_types.h:22
int libopm_proxy_http_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:47
#define OPM_CONFIG_SCAN_PORT
Definition: opm_types.h:10
#define OPM_ERR_NOFD
Definition: opm_error.h:24
unsigned short int state
Definition: libopm.h:39
OPM_ERR_T opm_remote_addtype(OPM_REMOTE_T *, int, unsigned short int)
Definition: libopm.c:381
OPM_PROTOCOL_T * type
Definition: libopm.h:45
void libopm_list_free(OPM_LIST_T *list)
Definition: list.c:111
int asnprintf(char **ptr, size_t str_m, const char *fmt,...)
#define CBLEN
Definition: libopm.h:9
#define OPM_TYPE_ADDRESS
Definition: opm_types.h:17
int libopm_proxy_router_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:207
void opm_remote_free(OPM_REMOTE_T *remote)
Definition: libopm.c:199
void opm_cycle(OPM_T *scanner)
Definition: libopm.c:817
size_t opm_active(OPM_T *scanner)
Definition: libopm.c:660
int libopm_proxy_wingate_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *)
Definition: proxy.c:183
void * data
Definition: opm.h:58
#define fast_memcpy(d, s, n)
Definition: snprintf.c:369
#define READBUFLEN
Definition: libopm.h:10
void handle_error(OPM_T *, OPM_REMOTE_T *, int, void *)
Definition: test.c:203
#define OPM_ERR_MAX_READ
Definition: opm_error.h:13
#define OPM_ERR_NOPROTOCOLS
Definition: opm_error.h:20
#define OPM_TYPE_HTTPPOST
Definition: opm_types.h:26
OPM_NODE_T * libopm_list_remove(OPM_LIST_T *, OPM_NODE_T *)
Definition: list.c:81
#define OPM_CALLBACK_END
Definition: opm_types.h:40
Generated for libopm by
1.8.18