summaryrefslogtreecommitdiff
path: root/ext/standard/php_crypt_r.h
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2008-07-28 11:34:53 +0000
committerPierre Joye <pajoye@php.net>2008-07-28 11:34:53 +0000
commit5ba946926fb7ffdb6c67189cceb323c8dc90c81b (patch)
tree896abaa142dc14615eb87846ba04db103021a30a /ext/standard/php_crypt_r.h
parent37f0549fb07970b1c9e8e3aa9b3faaddb5908801 (diff)
downloadphp-git-5ba946926fb7ffdb6c67189cceb323c8dc90c81b.tar.gz
- #45430, windows implementation of crypt is not TS
- add Blowfish (using implementation from Solar Designer <solar at openwal dot com>) and extended DES support - Make crypt features portable: - if no crypt_r, php's implemetation is used (all algo and TS), php can't be used with unsafe crypt anymore - if one algo is missing, php's implemetation is used - Windows always use php's implementation - removed old code in windows/
Diffstat (limited to 'ext/standard/php_crypt_r.h')
-rw-r--r--ext/standard/php_crypt_r.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/standard/php_crypt_r.h b/ext/standard/php_crypt_r.h
new file mode 100644
index 0000000000..ad4e23add5
--- /dev/null
+++ b/ext/standard/php_crypt_r.h
@@ -0,0 +1,55 @@
+/* $Id$ */
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2008 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Pierre Alain Joye <pajoye@php.net |
+ +----------------------------------------------------------------------+
+ */
+
+#ifndef _CRYPT_WIHN32_H_
+#define _CRYPT_WIHN32_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#include "crypt_freesec.h"
+
+#ifndef __const
+#ifdef __GNUC__
+#define __CONST __const
+#else
+#define __CONST
+#endif
+#endif
+
+void php_init_crypt_r();
+void php_shutdown_crypt_r();
+
+extern void _crypt_extended_init_r(void);
+
+/*PHPAPI char* crypt(const char *key, const char *salt);*/
+PHPAPI char *php_crypt_r (const char *__key, const char *__salt, struct php_crypt_extended_data * __data);
+
+#define MD5_HASH_MAX_LEN 120
+
+extern char * php_md5_crypt_r(const char *pw, const char *salt, char *out);
+extern char * php_crypt_blowfish_rn(__CONST char *key, __CONST char *setting,
+ char *output, int size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CRYPT_WIHN32_H_ */