From 5a7eba518d4193696051601e77d75dc3d9051567 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 11 Jan 2014 20:02:35 +0000 Subject: Show contacts fingerprint on /otr theirfp --- src/command/commands.c | 2 +- src/otr.c | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/command/commands.c b/src/command/commands.c index 4eb8a645..a7bf7087 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2313,7 +2313,7 @@ cmd_otr(gchar **args, struct cmd_help_t help) return TRUE; } else if (strcmp(args[0], "myfp") == 0) { char *fingerprint = otr_get_my_fingerprint(); - cons_show("Your fingerprint: %s", fingerprint); + ui_current_print_line("Your OTR fingerprint: %s", fingerprint); free(fingerprint); return TRUE; } else if (strcmp(args[0], "theirfp") == 0) { diff --git a/src/otr.c b/src/otr.c index 52ce6540..a0274e3a 100644 --- a/src/otr.c +++ b/src/otr.c @@ -345,8 +345,17 @@ otr_get_my_fingerprint(void) char * otr_get_their_fingerprint(char *recipient) { - char *fingerprint = "1234 5678"; - return strdup(fingerprint); + ConnContext *context = otrl_context_find(user_state, recipient, jid, "xmpp", + 0, NULL, NULL, NULL); + + if (context != NULL) { + Fingerprint *fingerprint = context->active_fingerprint; + char readable[45]; + otrl_privkey_hash_to_human(readable, fingerprint->fingerprint); + return strdup(readable); + } else { + return NULL; + } } char * @@ -386,6 +395,7 @@ otr_decrypt_message(const char * const from, const char * const message) // internal libotr message, ignore if (result == 1) { + cons_debug("Internal message."); return NULL; // message was decrypted, return to user @@ -395,6 +405,7 @@ otr_decrypt_message(const char * const from, const char * const message) // normal non OTR message } else { + cons_debug("Non OTR message."); return strdup(message); } } -- cgit 1.4.1-2-gfad0