summaryrefslogtreecommitdiffstats
path: root/friendfinder/msg_sender.c
diff options
context:
space:
mode:
authorPatrick Hornecker2010-01-11 16:55:11 +0100
committerPatrick Hornecker2010-01-11 16:55:11 +0100
commitd4ee5bf46d1df6d68be178a1258df2020cb15aef (patch)
tree64618feff288e5e1c7f237c70584e17ee1ef69d6 /friendfinder/msg_sender.c
parentfew bugs removed (diff)
downloadfriendfinder-d4ee5bf46d1df6d68be178a1258df2020cb15aef.tar.gz
friendfinder-d4ee5bf46d1df6d68be178a1258df2020cb15aef.tar.xz
friendfinder-d4ee5bf46d1df6d68be178a1258df2020cb15aef.zip
bug fixes
Diffstat (limited to 'friendfinder/msg_sender.c')
-rw-r--r--friendfinder/msg_sender.c103
1 files changed, 11 insertions, 92 deletions
diff --git a/friendfinder/msg_sender.c b/friendfinder/msg_sender.c
index 8c41619..d525a3d 100644
--- a/friendfinder/msg_sender.c
+++ b/friendfinder/msg_sender.c
@@ -6,13 +6,13 @@
#include "openssl/blowfish.h"
#include "msg_sender.h"
+#include "gui.h"
static irc_session_t *session;
irc_callbacks_t callbacks;
char* nick_from;
char* send_to;
-char* received_msg;
char* msg_to_send;
irc_dcc_t dccid;
@@ -20,15 +20,13 @@ irc_dcc_t buddy_dccid = 1;
BF_KEY key;
-int run_session = 0;
-int message_available = 0;
int init_connection(char* server_ip, char* user)
{
printf("MSG_SENDER: initialising connection...\n");
session = irc_create_session(&callbacks);
- int con = irc_connect(session, server_ip, 6667, NULL, user, user, user);
+ int con = irc_connect(session, server_ip, 6666, NULL, user, user, user);
if (irc_is_connected(session) == 1)
{
@@ -61,54 +59,15 @@ void set_txt_msg(char *msg)
}
-void dump_message(char *msg)
-{
- received_msg = msg;
-}
-
-void dcc_recv_callback (irc_session_t * session, irc_dcc_t id, int status, void * ctx, const char * data, unsigned int length)
-{
- printf("dcc_recv_callback() \n");
- switch (status)
- {
- case LIBIRC_ERR_CLOSED:
- printf ("MSG_SENDER: DCC %d: chat closed\n", id);
- break;
-
- case 0:
- if ( !data )
- {
- printf ("MSG_SENDER: DCC %d: chat connected\n", id);
- send_message(session, "im here");
- }
- else
- {
- char *decrypted_msg = (char*) malloc(sizeof(data));
-
- BF_ecb_encrypt(data, decrypted_msg, &key, BF_DECRYPT);
-
- show_message(decrypted_msg);
- printf("incoming message: %s \n", decrypted_msg);
- }
- break;
-
- default:
- printf ("MSG_SENDER: DCC %d: error %s\n", id, irc_strerror(status));
- break;
- }
-}
-
void send_message(irc_session_t *session, char *msg)
{
if (msg != NULL)
{
- char crypted_msg[64];
+ char *crypted_msg = (char*) malloc(sizeof(msg));
- printf("MSG_SENDER: send_message: %s \n", msg);
-
BF_ecb_encrypt(msg, crypted_msg, &key, BF_ENCRYPT);
- int i = irc_dcc_msg(session, buddy_dccid, crypted_msg);
+ int i = irc_cmd_msg(session, "#msg", crypted_msg);
if (i == 0)
{
@@ -118,30 +77,6 @@ void send_message(irc_session_t *session, char *msg)
else return;
}
-void on_join(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
-{
- printf("on_join()\n");
-
- char sender_name[90];
-
- irc_target_get_nick(origin, sender_name, sizeof(sender_name));
-
- if (strcmp(sender_name, send_to) == 0)
- {
- printf("MSG_SENDER: Buddy %s joined the channel \n", send_to);
-
- if (irc_dcc_chat(session, 0, send_to, dcc_recv_callback, &dccid) != 0)
- {
- printf("MSG_SENDER: ddc_chat_init_error \n");
- }
-
- else
- {
- printf("MSG_SENDER: dcc_chat_init_success \n");
- printf("MSG_SENDER: dccid %d \n", dccid);
- }
- }
-}
void on_connect(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
@@ -153,39 +88,23 @@ void on_connect(irc_session_t * session, const char * event, const char * origin
void on_channel(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
-// printf("on_channel()\n");
- // if (strcmp(params[1], "connected") != 0)
-/* {
- buddy_dccid = atoi(params[1]);
- printf("MSG_SENDER: buddy_dccid: %d \n", buddy_dccid);
- }*/
-}
-void on_dcc_req(irc_session_t * session, const char * nick, const char * addr, irc_dcc_t id)
-{
- printf("on_dcc_req()\n");
- int err = irc_dcc_accept(session, id, 0, dcc_recv_callback);
- if(err != 0)
- {
- printf("MSG_SENDER: ddc_chat_decline by error code %i \n", err);
- }
+ //char msg[4096];
+ char *msg = (char*) malloc(sizeof(params[1]));
+
+ BF_ecb_encrypt(params[1], msg, &key, BF_DECRYPT);
+ printf("%s: %s \n", params[0], msg);
- else
- {
- printf("MSG_SENDER: %s dcc_chat_accepted \n", nick);
- }
+ show_message(msg);
}
-
void msg_main_loop(void *nicknames)
{
memset(&callbacks, 0, sizeof(callbacks));
callbacks.event_connect = on_connect;
- callbacks.event_join = on_join;
- callbacks.event_dcc_chat_req = on_dcc_req;
callbacks.event_channel = on_channel;
- struct nick *nicks= (struct nick*) malloc(sizeof(struct nick));
+ struct nick *nicks = (struct nick*) malloc(sizeof(struct nick));
nicks = (struct nick*) nicknames;
nick_from = nicks->from;
send_to = nicks->to;