| Index: openssl/include/openssl/poly1305.h
|
| diff --git a/openssl/crypto/uid.c b/openssl/include/openssl/poly1305.h
|
| similarity index 66%
|
| copy from openssl/crypto/uid.c
|
| copy to openssl/include/openssl/poly1305.h
|
| index b1fd52badad795c337f7200179a34c4d365a9190..28f85ed96306c6509f29abc5233f844303a211bd 100644
|
| --- a/openssl/crypto/uid.c
|
| +++ b/openssl/include/openssl/poly1305.h
|
| @@ -1,13 +1,20 @@
|
| -/* crypto/uid.c */
|
| +/*
|
| + * Poly1305
|
| + *
|
| + * Created on: Jun, 2013
|
| + * Author: Elie Bursztein (elieb@google.com)
|
| + *
|
| + * Adapted from the estream code by D. Bernstein.
|
| + */
|
| /* ====================================================================
|
| - * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
|
| + * Copyright (c) 2011-2013 The OpenSSL Project. All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions
|
| * are met:
|
| *
|
| * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| + * notice, this list of conditions and the following disclaimer.
|
| *
|
| * 2. Redistributions in binary form must reproduce the above copyright
|
| * notice, this list of conditions and the following disclaimer in
|
| @@ -46,44 +53,36 @@
|
| * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
| * OF THE POSSIBILITY OF SUCH DAMAGE.
|
| * ====================================================================
|
| - *
|
| - * This product includes cryptographic software written by Eric Young
|
| - * (eay@cryptsoft.com). This product includes software written by Tim
|
| - * Hudson (tjh@cryptsoft.com).
|
| - *
|
| */
|
|
|
| -#include <openssl/crypto.h>
|
| +#ifndef HEADER_POLY1305_H_
|
| +#define HEADER_POLY1305_H_
|
| +
|
| +#include <stdint.h>
|
| #include <openssl/opensslconf.h>
|
|
|
| -#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2)
|
| -
|
| -#include OPENSSL_UNISTD
|
| -
|
| -int OPENSSL_issetugid(void)
|
| - {
|
| - return issetugid();
|
| - }
|
| -
|
| -#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE)
|
| -
|
| -int OPENSSL_issetugid(void)
|
| - {
|
| - return 0;
|
| - }
|
| -
|
| -#else
|
| -
|
| -#include OPENSSL_UNISTD
|
| -#include <sys/types.h>
|
| -
|
| -int OPENSSL_issetugid(void)
|
| - {
|
| - if (getuid() != geteuid()) return 1;
|
| - if (getgid() != getegid()) return 1;
|
| - return 0;
|
| - }
|
| +#if defined(OPENSSL_NO_POLY1305)
|
| +#error Poly1305 support is disabled.
|
| #endif
|
|
|
| +typedef unsigned char poly1305_state[512];
|
|
|
| +/* poly1305_init sets up |state| so that it can be used to calculate an
|
| + * authentication tag with the one-time key |key|. Note that |key| is a
|
| + * one-time key and therefore there is no `reset' method because that would
|
| + * enable several messages to be authenticated with the same key. */
|
| +extern void CRYPTO_poly1305_init(poly1305_state* state,
|
| + const unsigned char key[32]);
|
|
|
| +/* poly1305_update processes |in_len| bytes from |in|. It can be called zero or
|
| + * more times after poly1305_init. */
|
| +extern void CRYPTO_poly1305_update(poly1305_state* state,
|
| + const unsigned char *in,
|
| + size_t in_len);
|
| +
|
| +/* poly1305_finish completes the poly1305 calculation and writes a 16 byte
|
| + * authentication tag to |mac|. */
|
| +extern void CRYPTO_poly1305_finish(poly1305_state* state,
|
| + unsigned char mac[16]);
|
| +
|
| +#endif /* HEADER_POLY1305_H_ */
|
|
|