1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Added basic SHA-1 hash of capabilities

This commit is contained in:
James Booth 2013-01-20 13:28:43 +00:00
parent b4ea35d40a
commit 3386ba3a1e
2 changed files with 24 additions and 0 deletions

View File

@ -24,6 +24,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <assert.h> #include <assert.h>
#include <openssl/sha.h>
#include <strophe.h> #include <strophe.h>
#include "capabilities.h" #include "capabilities.h"
@ -179,6 +180,28 @@ jabber_disconnect(void)
} }
} }
char *
jabber_get_sha1_caps_str(void)
{
GString *str = g_string_new("");
unsigned char hash[SHA_DIGEST_LENGTH];
g_string_append(str, "client/pc//Profanity ");
g_string_append(str, PACKAGE_VERSION);
if (strcmp(PACKAGE_STATUS, "development") == 0) {
g_string_append(str, "dev");
}
g_string_append(str, "<");
SHA1((unsigned char *)str->str, strlen(str->str), hash);
char *result = g_base64_encode(hash, strlen((char *)hash));
g_string_free(str, TRUE);
return result;
}
void void
jabber_process_events(void) jabber_process_events(void)
{ {

View File

@ -81,5 +81,6 @@ char * jabber_get_status(void);
void jabber_free_resources(void); void jabber_free_resources(void);
void jabber_restart(void); void jabber_restart(void);
void jabber_set_autoping(int seconds); void jabber_set_autoping(int seconds);
char * jabber_get_sha1_caps_str(void);
#endif #endif