source: lib/md5.c @ 0b9daac

Last change on this file since 0b9daac was 0b9daac, checked in by dequis <dx@…>, at 2015-02-20T23:16:08Z

Reorganize include files to avoid conflicts with other libs

  • Change all header includes to be relative to the project root
  • Remove -I${includedir} from bitlbee.pc Cflags
  • Install lib and protocols headers to their own directories. So now it is:

/usr/include/bitlbee/*.h
/usr/include/bitlbee/lib/*.h
/usr/include/bitlbee/protocols/*.h

This breaks backwards compatibility of third party plugins, but now
they don't have to do ambiguous includes like #include <proxy.h>

This also fixes trac ticket 1170 - conflicts when libproxy and liboauth
are installed at the same time bitlbee is built, which the macports
project ran into several times.

  • Property mode set to 100644
File size: 932 bytes
RevLine 
[0b9daac]1#include "lib/md5.h"
[b7d3cc34]2
[34afea7]3/* Creates a new GChecksum in ctx */
4void md5_init(md5_state_t *ctx)
[bea1305]5{
[34afea7]6        *ctx = g_checksum_new(G_CHECKSUM_MD5);
[bea1305]7}
8
[34afea7]9/* Wrapper for g_checksum_update */
10void md5_append(md5_state_t *ctx, const guint8 *buf, unsigned int len)
[b7d3cc34]11{
[34afea7]12        g_checksum_update(*ctx, buf, len);
[df6d1da]13}
[b7d3cc34]14
[34afea7]15/* Wrapper for g_checksum_get_digest
16 * Also takes care of g_checksum_free(), since it can't be reused anyway
17 * (the GChecksum is closed after get_digest) */
18void md5_finish(md5_state_t *ctx, guint8 digest[MD5_HASH_SIZE])
[b7d3cc34]19{
[34afea7]20        gsize digest_len = MD5_HASH_SIZE;
[5ebff60]21
[34afea7]22        g_checksum_get_digest(*ctx, digest, &digest_len);
23        g_checksum_free(*ctx);
[b7d3cc34]24}
[df6d1da]25
[34afea7]26/* Variant of md5_finish that copies the GChecksum
27 * and finishes that one instead of the original */
28void md5_digest_keep(md5_state_t *ctx, guint8 digest[MD5_HASH_SIZE])
[b7d3cc34]29{
[34afea7]30        md5_state_t copy = g_checksum_copy(*ctx);
[5ebff60]31
[34afea7]32        md5_finish(&copy, digest);
[b7d3cc34]33}
34
[34afea7]35void md5_free(md5_state_t *ctx)
[b7d3cc34]36{
[34afea7]37        g_checksum_free(*ctx);
[b7d3cc34]38}
Note: See TracBrowser for help on using the repository browser.