aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorulim <a.sporto+bee@gmail.com>2007-12-03 15:28:45 +0100
committerulim <a.sporto+bee@gmail.com>2007-12-03 15:28:45 +0100
commit2ff20765990c756533957e8da9c7c29dd3102e79 (patch)
tree8d19ceb1490866feee355ba9a098d7e4be6eea53 /irc.c
parent2c2df7dd91930345a9b22a8bb61327d1dcc7e3d5 (diff)
Intermediate commit. Sending seems to work. TODOs:
* move from out_of_data to is_writable, eliminate buffers * implement "transfers reject [id]" * documentation in commands.xml * implement throughput and cummulative throughput boundaries * feature discovery before sending * implement sending over a proxy (proxy discovery, socks5 client handshake for sending, activate message) * integrate toxik-mek-ft
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/irc.c b/irc.c
index 5531addb..96f75073 100644
--- a/irc.c
+++ b/irc.c
@@ -27,6 +27,10 @@
#include "bitlbee.h"
#include "crypting.h"
#include "ipc.h"
+#include "dcc.h"
+
+#include <regex.h>
+#include <netinet/in.h>
static gboolean irc_userping( gpointer _irc, int fd, b_input_condition cond );
@@ -980,9 +984,19 @@ int irc_send( irc_t *irc, char *nick, char *s, int flags )
}
return( 1 );
}
+ else if( g_strncasecmp( s + 1, "DCC", 3 ) == 0 )
+ {
+ if( u && u->ic && u->ic->acc->prpl->transfer_request )
+ {
+ file_transfer_t *ft = dcc_request( u->ic, s + 5 );
+ if ( ft )
+ u->ic->acc->prpl->transfer_request( u->ic, ft, u->handle );
+ }
+ return( 1 );
+ }
else
{
- irc_usermsg( irc, "Non-ACTION CTCP's aren't supported" );
+ irc_usermsg( irc, "Supported CTCPs are ACTION, VERSION, PING, TYPING, DCC" );
return( 0 );
}
}