1999-08-31 09:17:01 +08:00
|
|
|
/* $OpenLDAP$ */
|
2003-11-26 15:16:36 +08:00
|
|
|
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
|
|
*
|
2007-01-03 04:00:42 +08:00
|
|
|
* Copyright 1998-2007 The OpenLDAP Foundation.
|
1998-12-29 03:51:35 +08:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
2001-05-29 11:29:53 +08:00
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted only as authorized by the OpenLDAP
|
2003-11-26 15:16:36 +08:00
|
|
|
* Public License.
|
|
|
|
*
|
|
|
|
* A copy of this license is available in file LICENSE in the
|
|
|
|
* top-level directory of the distribution or, alternatively, at
|
|
|
|
* <http://www.OpenLDAP.org/license.html>.
|
1998-12-29 03:51:35 +08:00
|
|
|
*/
|
|
|
|
|
1998-09-03 14:25:38 +08:00
|
|
|
/* This version is based on:
|
|
|
|
* $OpenBSD: sha1.h,v 1.8 1997/07/15 01:54:23 millert Exp $ */
|
|
|
|
|
1998-12-01 11:36:37 +08:00
|
|
|
#ifndef _LUTIL_SHA1_H_
|
|
|
|
#define _LUTIL_SHA1_H_
|
1998-10-25 09:41:42 +08:00
|
|
|
|
|
|
|
#include <ldap_cdefs.h>
|
1998-11-18 06:49:15 +08:00
|
|
|
#include <ac/bytes.h>
|
1998-10-25 09:41:42 +08:00
|
|
|
|
2001-05-03 03:48:40 +08:00
|
|
|
#ifdef AC_INT4_TYPE
|
|
|
|
|
1998-10-25 09:41:42 +08:00
|
|
|
LDAP_BEGIN_DECL
|
|
|
|
|
2001-05-03 03:48:40 +08:00
|
|
|
|
1998-09-03 14:25:38 +08:00
|
|
|
/*
|
|
|
|
* SHA-1 in C
|
|
|
|
* By Steve Reid <steve@edmweb.com>
|
|
|
|
*/
|
1999-12-08 14:44:22 +08:00
|
|
|
#define LUTIL_SHA1_BYTES 20
|
1998-09-03 14:25:38 +08:00
|
|
|
|
1999-10-30 11:26:13 +08:00
|
|
|
/* This code assumes char are 8-bits and uint32 are 32-bits */
|
1999-05-31 13:39:10 +08:00
|
|
|
typedef ac_uint4 uint32;
|
1998-09-03 14:25:38 +08:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
uint32 state[5];
|
2001-12-24 11:49:54 +08:00
|
|
|
uint32 count[2];
|
1998-09-03 14:25:38 +08:00
|
|
|
unsigned char buffer[64];
|
1998-12-01 11:36:37 +08:00
|
|
|
} lutil_SHA1_CTX;
|
2001-12-24 11:49:54 +08:00
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( void )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1Transform
|
1998-10-25 09:41:42 +08:00
|
|
|
LDAP_P((uint32 state[5], const unsigned char buffer[64]));
|
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( void )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1Init
|
1998-12-01 11:36:37 +08:00
|
|
|
LDAP_P((lutil_SHA1_CTX *context));
|
1998-10-25 09:41:42 +08:00
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( void )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1Update
|
1999-04-02 00:38:11 +08:00
|
|
|
LDAP_P((lutil_SHA1_CTX *context, const unsigned char *data, uint32 len));
|
1998-10-25 09:41:42 +08:00
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( void )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1Final
|
1998-12-01 11:36:37 +08:00
|
|
|
LDAP_P((unsigned char digest[20], lutil_SHA1_CTX *context));
|
1998-10-25 09:41:42 +08:00
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( char * )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1End
|
1998-12-01 11:36:37 +08:00
|
|
|
LDAP_P((lutil_SHA1_CTX *, char *));
|
1998-10-25 09:41:42 +08:00
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( char * )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1File
|
1998-10-25 09:41:42 +08:00
|
|
|
LDAP_P((char *, char *));
|
|
|
|
|
2000-06-19 03:48:07 +08:00
|
|
|
LDAP_LUTIL_F( char * )
|
1999-05-19 09:12:33 +08:00
|
|
|
lutil_SHA1Data
|
1998-10-25 09:41:42 +08:00
|
|
|
LDAP_P((const unsigned char *, size_t, char *));
|
|
|
|
|
|
|
|
LDAP_END_DECL
|
|
|
|
|
2001-05-03 03:48:40 +08:00
|
|
|
#endif /* AC_INT4_TYPE */
|
|
|
|
|
1998-12-01 11:36:37 +08:00
|
|
|
#endif /* _LUTIL_SHA1_H_ */
|