summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kopete/protocols/yahoo/libkyahoo/crypt.c3
-rw-r--r--kopete/protocols/yahoo/libkyahoo/crypt.h39
-rw-r--r--kopete/protocols/yahoo/libkyahoo/libyahoo.c3
3 files changed, 41 insertions, 4 deletions
diff --git a/kopete/protocols/yahoo/libkyahoo/crypt.c b/kopete/protocols/yahoo/libkyahoo/crypt.c
index ee15c345..d3425a40 100644
--- a/kopete/protocols/yahoo/libkyahoo/crypt.c
+++ b/kopete/protocols/yahoo/libkyahoo/crypt.c
@@ -34,6 +34,7 @@
#include <stdlib.h>
+#include "crypt.h"
#include "md5.h"
/* for MIN and MAX */
#include "libyahoo.h"
@@ -47,8 +48,6 @@ static const char md5_salt_prefix[] = "$1$";
static const char b64t[64] =
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-char *yahoo_crypt(const char *key, const char *salt);
-
char *yahoo_crypt(const char *key, const char *salt)
{
char *buffer = NULL;
diff --git a/kopete/protocols/yahoo/libkyahoo/crypt.h b/kopete/protocols/yahoo/libkyahoo/crypt.h
new file mode 100644
index 00000000..5acf5f02
--- /dev/null
+++ b/kopete/protocols/yahoo/libkyahoo/crypt.h
@@ -0,0 +1,39 @@
+/* One way encryption based on MD5 sum.
+ Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA. */
+
+/* warmenhoven took this file and made it work with the md5.[ch] we
+ * already had. isn't that lovely. people should just use linux or
+ * freebsd, crypt works properly on those systems. i hate solaris */
+
+#ifndef crypt_INCLUDED
+# define crypt_INCLUDED
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+char *yahoo_crypt(const char *key, const char *salt);
+
+#ifdef __cplusplus
+} /* end extern "C" */
+#endif
+
+#endif /* crypt_INCLUDED */
diff --git a/kopete/protocols/yahoo/libkyahoo/libyahoo.c b/kopete/protocols/yahoo/libkyahoo/libyahoo.c
index b3a1f9f8..592adba8 100644
--- a/kopete/protocols/yahoo/libkyahoo/libyahoo.c
+++ b/kopete/protocols/yahoo/libkyahoo/libyahoo.c
@@ -54,8 +54,7 @@
#include "yahoo_fn.h"
#include "md5.h"
#include "sha1.h"
-
-extern char *yahoo_crypt(char *, char *);
+#include "crypt.h"
void yahooBase64(unsigned char *out, const unsigned char *in, int inlen)
/* raw bytes in quasi-big-endian order to base 64 string (NUL-terminated) */