Proxy plugin fixes and cleanups. Supports now multiple servers, doesn't

let clients see CTCP requests and if one client writes message, other
clients will see it as well.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@810 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-11-06 02:29:01 +00:00 committed by cras
commit a8c139d5e2
6 changed files with 648 additions and 524 deletions

View file

@ -2,10 +2,46 @@
#define MODULE_NAME "proxy"
#include "network.h"
#include "line-split.h"
#include "irc-servers.h"
typedef struct {
int port;
char *ircnet;
int tag;
int handle;
} LISTEN_REC;
typedef struct {
LINEBUF_REC *buffer;
char *nick;
int handle;
int tag;
LISTEN_REC *listen;
IRC_SERVER_REC *server;
int pass_sent:1;
int connected:1;
} CLIENT_REC;
extern GSList *proxy_listens;
extern GSList *proxy_clients;
void plugin_proxy_setup_init(void);
void plugin_proxy_setup_deinit(void);
void plugin_proxy_listen_init(void);
void plugin_proxy_listen_deinit(void);
void proxy_settings_init(void);
void plugin_proxy_dump_data(CLIENT_REC *client);
void proxy_outdata(CLIENT_REC *client, const char *data, ...);
void proxy_outdata_all(IRC_SERVER_REC *server, const char *data, ...);
void proxy_outserver(CLIENT_REC *client, const char *data, ...);
/*void proxy_outserver_all(const char *data, ...);*/
void proxy_outserver_all_except(CLIENT_REC *client, const char *data, ...);