diff options
author | Pierre Joye <pajoye@php.net> | 2008-07-28 11:50:35 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2008-07-28 11:50:35 +0000 |
commit | 1e820eca02dcf322b41fd2fe4ed2a6b8309f8ab5 (patch) | |
tree | d0aaeea7a03e5c4fc73a7f0818fdc78085e7a1de /ext/standard/php_crypt_r.h | |
parent | ba84cd7359ee96fe48899ae24d7ec55757765a2f (diff) | |
download | php-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.h | 55 |
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_ */ |