summaryrefslogtreecommitdiff
path: root/ext/standard/php_crypt_r.h
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2008-07-28 11:50:35 +0000
committerPierre Joye <pajoye@php.net>2008-07-28 11:50:35 +0000
commit1e820eca02dcf322b41fd2fe4ed2a6b8309f8ab5 (patch)
treed0aaeea7a03e5c4fc73a7f0818fdc78085e7a1de /ext/standard/php_crypt_r.h
parentba84cd7359ee96fe48899ae24d7ec55757765a2f (diff)
downloadphp-git-1e820eca02dcf322b41fd2fe4ed2a6b8309f8ab5.tar.gz
-MFH:
- #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_ */