From f8b9531d4d902babb7eccaa4c371f3ace720551d Mon Sep 17 00:00:00 2001 From: Patrick Hornecker Date: Thu, 25 Feb 2010 11:09:06 +0100 Subject: tex source and code modifications --- friendfinder/barcode.png | Bin 235 -> 296 bytes friendfinder/crypto.c | 2 +- friendfinder/draw_user.c | 5 ---- friendfinder/e_smart_map.c | 12 ++++----- friendfinder/gui | Bin 484891 -> 0 bytes friendfinder/receiver.c | 64 +++++++++++++++++++++++++++------------------ friendfinder/sender.c | 8 ++---- 7 files changed, 48 insertions(+), 43 deletions(-) delete mode 100755 friendfinder/gui (limited to 'friendfinder') diff --git a/friendfinder/barcode.png b/friendfinder/barcode.png index acceb0f..9f6cab3 100644 Binary files a/friendfinder/barcode.png and b/friendfinder/barcode.png differ diff --git a/friendfinder/crypto.c b/friendfinder/crypto.c index 465c83f..2b39306 100644 --- a/friendfinder/crypto.c +++ b/friendfinder/crypto.c @@ -80,7 +80,7 @@ int to_base64(char *in, int inlen, char *out, int maxlen) BIO_free_all(b64); return -1; } - + memcpy(out, bptr->data, bptr->length-1); // XXX: we don't teminate b64 buffer as string // XXX: user gets length so wtf ;) diff --git a/friendfinder/draw_user.c b/friendfinder/draw_user.c index c65fb83..f03fb06 100644 --- a/friendfinder/draw_user.c +++ b/friendfinder/draw_user.c @@ -52,13 +52,8 @@ void draw_user(struct position *pos) if (sender_lat > 0 && sender_lon > 0) { - /* printf("sender_lat %f \n", sender_lat); - printf("sender_lon %f \n", sender_lon); - printf("sender_nick %s \n", pos->nick);*/ - if (active_map == 1 && test_distance(sender_lat, sender_lon, e, n, own_lat, own_lon, own_e, own_n) == 1) { - // printf("PRINTING nick: %s lat: %f lon: %f \n", pos->nick, sender_lat, sender_lon, pos->lon); e_smart_map_overlay_set_bubble(map, "routing", pos->nick, pos->nick, sender_lat, sender_lon, 0xffffffff); } } diff --git a/friendfinder/e_smart_map.c b/friendfinder/e_smart_map.c index 2bdcd23..4e9f070 100644 --- a/friendfinder/e_smart_map.c +++ b/friendfinder/e_smart_map.c @@ -27,10 +27,10 @@ static void _map_object_clip_set(Evas_Object *o, Evas_Object *clip); static void _map_object_clip_unset(Evas_Object *o); #define SMART_MAP_NAME "e_smart_map" - +/* struct bubble *bb; first_draw = 0; - +*/ void e_smart_map_set_info(Evas_Object *o, const char *info) { struct smart_map *smart; @@ -92,8 +92,8 @@ void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, c struct smart_map *smart; smart = evas_object_smart_data_get(o); - //struct bubble *bb; - + struct bubble *bb; +/* if (first_draw == 0) { bb = create_text_bubble(smart, info, text); @@ -105,8 +105,8 @@ void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, c { evas_object_del(bb->bb); bb = create_text_bubble(smart, info, text); - } - + }*/ + bb = create_text_bubble(smart, info, text); struct overlay_item *poi = malloc(sizeof(struct overlay_item)); poi->obj = &bb->object; diff --git a/friendfinder/gui b/friendfinder/gui deleted file mode 100755 index 97734c6..0000000 Binary files a/friendfinder/gui and /dev/null differ diff --git a/friendfinder/receiver.c b/friendfinder/receiver.c index e1400ff..9ee0737 100644 --- a/friendfinder/receiver.c +++ b/friendfinder/receiver.c @@ -249,9 +249,9 @@ void get_position(irc_session_t * session, const char * event, const char * orig irc_target_get_nick(origin, sender_name, sizeof(sender_name)); strncpy(sender_org, sender_name, username_length); sender_org[username_length] = '\0'; +//&& strcmp(sender_name, "_s") - if (strcmp(sender_org, own_nickname) != 0 && strcmp(sender_name, "_s") > 0 && strcmp(params[1], "connected") != 0 - && check_message(params[1]) == 0) + if (strcmp(sender_org, own_nickname) != 0 && strcmp(params[1], "connected") != 0 && check_message(params[1], sender_name) == 1) { int pos = get_sender_array_pos(sender_org); @@ -264,10 +264,10 @@ void get_position(irc_session_t * session, const char * event, const char * orig BF_ecb_encrypt(encrypted_base64, decrypted, &key, BF_DECRYPT); decrypted[strlen(decrypted)] = '\0'; - + repair_position(s_sender[pos], decrypted); - send_acknowledgement(); + send_acknowledgement(sender_name); free(encrypted_base64); free(decrypted); @@ -285,7 +285,7 @@ void get_position(irc_session_t * session, const char * event, const char * orig repair_position(s_sender[pos], decrypted); - send_acknowledgement(); + send_acknowledgement(sender_name); free(encrypted_base64); free(decrypted); @@ -326,33 +326,47 @@ void get_position(irc_session_t * session, const char * event, const char * orig } } -void send_acknowledgement() +void send_acknowledgement(char *sender) { - char* ack = "ack"; - char* ack_base64 = (char*) malloc(sizeof(char) * 50); - char* ack_crypted = (char*) malloc(sizeof(char) * 20); + char* sender_base64 = (char*) malloc(sizeof(char) * 50); + char* sender_crypted = (char*) malloc(sizeof(char) * 20); + + printf("sender: %s \n", sender); + BF_ecb_encrypt(sender, sender_crypted, &key, BF_ENCRYPT); + to_base64(sender_crypted, strlen(sender_crypted), sender_base64, 50); + irc_cmd_msg(session, "#test", sender_base64); - BF_ecb_encrypt(ack, ack_crypted, &key, BF_ENCRYPT); - to_base64(ack_crypted, strlen(ack_crypted), ack_base64, 50); - irc_cmd_msg(session, "#test", ack_base64); + free(sender_base64); + free(sender_crypted); } -int check_message(char *msg) +int check_message(char *msg, char *sender) { - char* ack = "ack"; - char* ack_base64 = (char*) malloc(sizeof(char) * 50); - char* ack_decrypted = (char*) malloc(sizeof(char) * 20); + if (sender[strlen(sender) - 1] == 's') + { + char* ack_base64 = (char*) malloc(sizeof(char) * 50); + char* ack_decrypted = (char*) malloc(sizeof(char) * 20); + + from_base64(msg, strlen(msg), ack_base64, 50); + BF_ecb_encrypt(ack_base64, ack_decrypted, &key, BF_DECRYPT); + + if (strcmp(sender, ack_decrypted) == 0) + { + free(ack_base64); + free(ack_decrypted); + return 0; + } + else if (strcmp(sender, ack_decrypted) != 0) + { + free(ack_base64); + free(ack_decrypted); + return 1; + } - from_base64(msg, strlen(msg), ack_base64, 50); - BF_ecb_encrypt(ack_base64, ack_decrypted, &key, BF_DECRYPT); - - if (strcmp(ack, ack_decrypted) == 0) - { - return 1; } - else if (strcmp(ack, ack_decrypted) != 0) + else if (sender[strlen(sender) - 1] != 's') { - return 0; + return 0; } } @@ -369,7 +383,7 @@ void on_connect_receiver(irc_session_t * session, const char * event, const char init_sender_struct(_sender_count); irc_cmd_join(session, "#test", NULL); - irc_cmd_msg(session, "#test", "connected"); +// irc_cmd_msg(session, "#test", "connected"); free(keyd->key); free(keyd); diff --git a/friendfinder/sender.c b/friendfinder/sender.c index 4daeb33..a924d19 100644 --- a/friendfinder/sender.c +++ b/friendfinder/sender.c @@ -189,7 +189,6 @@ void send_position(irc_session_t * session, const char * event, const char * ori irc_cmd_msg(session, "#test", crypted_lon_second_base64); - //increase counter variable, which counts number of send positions! msg_count = msg_count + 2; if(resend == 1) @@ -217,7 +216,7 @@ void send_position(irc_session_t * session, const char * event, const char * ori void get_aknowledge(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) { - char* ack = (char*) malloc(sizeof("ack")); + char* ack = (char*) malloc(sizeof(char) * 20); char* ack_base64 = (char*) malloc(sizeof(char) * 50); char *sender_name = (char*) malloc(sizeof(char) * 50); @@ -232,12 +231,9 @@ void get_aknowledge(irc_session_t * session, const char * event, const char * or irc_target_get_nick(origin, sender_name, sizeof(sender_name)); - if(strcmp(suffix_username, sender_name) != 0 && strcmp(ack, "ack") == 0 && strcmp(sender_name, own_receiver_name) != 0 && + if(strcmp(suffix_username, sender_name) != 0 && strcmp(ack, suffix_username) == 0 && strcmp(sender_name, own_receiver_name) != 0 && strcmp(sender_name, "_r") > 0) { - - //use count variable, to count number of aknowledged positions! second number has to be twice as big, as the number of - //for-runs in send_position if (ack_count <= 1 && msg_count > 0) { ack_count++; -- cgit v1.2.3-55-g7522