projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add missing '.text' in crypto/bn/asm/ppc.pl
[openssl.git]
/
ssl
/
packet.c
diff --git
a/ssl/packet.c
b/ssl/packet.c
index 87473fbbce9fdb44ccf60929d2b4792b539b8aa1..26cf1eb496831984ab9f402c58901b3fd84dfbe3 100644
(file)
--- a/
ssl/packet.c
+++ b/
ssl/packet.c
@@
-1,14
+1,15
@@
/*
/*
- * Copyright 2015-201
6
The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-201
8
The OpenSSL Project Authors. All Rights Reserved.
*
*
- * Licensed under the
OpenSSL license
(the "License"). You may not use
+ * Licensed under the
Apache License 2.0
(the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
-#include
<assert.h>
+#include
"internal/cryptlib.h"
#include "packet_locl.h"
#include "packet_locl.h"
+#include <openssl/sslerr.h>
#define DEFAULT_BUF_SIZE 256
#define DEFAULT_BUF_SIZE 256
@@
-39,8
+40,7
@@
int WPACKET_sub_allocate_bytes__(WPACKET *pkt, size_t len,
int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
{
/* Internal API, so should not fail */
int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL && len != 0);
- if (pkt->subs == NULL || len == 0)
+ if (!ossl_assert(pkt->subs != NULL && len != 0))
return 0;
if (pkt->maxsize - pkt->written < len)
return 0;
if (pkt->maxsize - pkt->written < len)
@@
-94,9
+94,10
@@
static int wpacket_intern_init_len(WPACKET *pkt, size_t lenbytes)
pkt->curr = 0;
pkt->written = 0;
pkt->curr = 0;
pkt->written = 0;
- pkt->subs = OPENSSL_zalloc(sizeof(*pkt->subs));
- if (pkt->subs == NULL)
+ if ((pkt->subs = OPENSSL_zalloc(sizeof(*pkt->subs))) == NULL) {
+ SSLerr(SSL_F_WPACKET_INTERN_INIT_LEN, ERR_R_MALLOC_FAILURE);
return 0;
return 0;
+ }
if (lenbytes == 0)
return 1;
if (lenbytes == 0)
return 1;
@@
-120,8
+121,7
@@
int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t len,
size_t max = maxmaxsize(lenbytes);
/* Internal API, so should not fail */
size_t max = maxmaxsize(lenbytes);
/* Internal API, so should not fail */
- assert(buf != NULL && len > 0);
- if (buf == NULL || len == 0)
+ if (!ossl_assert(buf != NULL && len > 0))
return 0;
pkt->staticbuf = buf;
return 0;
pkt->staticbuf = buf;
@@
-134,8
+134,7
@@
int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t len,
int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
{
/* Internal API, so should not fail */
int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
{
/* Internal API, so should not fail */
- assert(buf != NULL);
- if (buf == NULL)
+ if (!ossl_assert(buf != NULL))
return 0;
pkt->staticbuf = NULL;
return 0;
pkt->staticbuf = NULL;
@@
-153,8
+152,7
@@
int WPACKET_init(WPACKET *pkt, BUF_MEM *buf)
int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
{
/* Internal API, so should not fail */
int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
pkt->subs->flags = flags;
return 0;
pkt->subs->flags = flags;
@@
-228,16
+226,13
@@
int WPACKET_fill_lengths(WPACKET *pkt)
{
WPACKET_SUB *sub;
{
WPACKET_SUB *sub;
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
return 0;
- sub = pkt->subs;
- do {
+ for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
if (!wpacket_intern_close(pkt, sub, 0))
return 0;
if (!wpacket_intern_close(pkt, sub, 0))
return 0;
- sub = sub->parent;
- } while (sub != NULL);
+ }
return 1;
}
return 1;
}
@@
-280,13
+275,13
@@
int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
unsigned char *lenchars;
/* Internal API, so should not fail */
unsigned char *lenchars;
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
return 0;
- sub = OPENSSL_zalloc(sizeof(*sub));
- if (sub == NULL)
+ if ((sub = OPENSSL_zalloc(sizeof(*sub))) == NULL) {
+ SSLerr(SSL_F_WPACKET_START_SUB_PACKET_LEN__, ERR_R_MALLOC_FAILURE);
return 0;
return 0;
+ }
sub->parent = pkt->subs;
pkt->subs = sub;
sub->parent = pkt->subs;
pkt->subs = sub;
@@
-316,9
+311,7
@@
int WPACKET_put_bytes__(WPACKET *pkt, unsigned int val, size_t size)
unsigned char *data;
/* Internal API, so should not fail */
unsigned char *data;
/* Internal API, so should not fail */
- assert(size <= sizeof(unsigned int));
-
- if (size > sizeof(unsigned int)
+ if (!ossl_assert(size <= sizeof(unsigned int))
|| !WPACKET_allocate_bytes(pkt, size, &data)
|| !put_value(data, val, size))
return 0;
|| !WPACKET_allocate_bytes(pkt, size, &data)
|| !put_value(data, val, size))
return 0;
@@
-332,8
+325,7
@@
int WPACKET_set_max_size(WPACKET *pkt, size_t maxsize)
size_t lenbytes;
/* Internal API, so should not fail */
size_t lenbytes;
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
/* Find the WPACKET_SUB for the top level */
return 0;
/* Find the WPACKET_SUB for the top level */
@@
-352,6
+344,21
@@
int WPACKET_set_max_size(WPACKET *pkt, size_t maxsize)
return 1;
}
return 1;
}
+int WPACKET_memset(WPACKET *pkt, int ch, size_t len)
+{
+ unsigned char *dest;
+
+ if (len == 0)
+ return 1;
+
+ if (!WPACKET_allocate_bytes(pkt, len, &dest))
+ return 0;
+
+ memset(dest, ch, len);
+
+ return 1;
+}
+
int WPACKET_memcpy(WPACKET *pkt, const void *src, size_t len)
{
unsigned char *dest;
int WPACKET_memcpy(WPACKET *pkt, const void *src, size_t len)
{
unsigned char *dest;
@@
-381,8
+388,7
@@
int WPACKET_sub_memcpy__(WPACKET *pkt, const void *src, size_t len,
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
{
/* Internal API, so should not fail */
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
{
/* Internal API, so should not fail */
- assert(written != NULL);
- if (written == NULL)
+ if (!ossl_assert(written != NULL))
return 0;
*written = pkt->written;
return 0;
*written = pkt->written;
@@
-393,8
+399,7
@@
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
int WPACKET_get_length(WPACKET *pkt, size_t *len)
{
/* Internal API, so should not fail */
int WPACKET_get_length(WPACKET *pkt, size_t *len)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL && len != NULL);
- if (pkt->subs == NULL || len == NULL)
+ if (!ossl_assert(pkt->subs != NULL && len != NULL))
return 0;
*len = pkt->written - pkt->subs->pwritten;
return 0;
*len = pkt->written - pkt->subs->pwritten;