summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/buffer
diff options
context:
space:
mode:
authormarkus <>2002-09-05 12:51:50 +0000
committermarkus <>2002-09-05 12:51:50 +0000
commit15b5d84f9da2ce4bfae8580e56e34a859f74ad71 (patch)
treebf939e82d7fd73cc8a01cf6959002209972091bc /src/lib/libcrypto/buffer
parent027351f729b9e837200dae6e1520cda6577ab930 (diff)
downloadopenbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.tar.gz
openbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.tar.bz2
openbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.zip
import openssl-0.9.7-beta1
Diffstat (limited to 'src/lib/libcrypto/buffer')
-rw-r--r--src/lib/libcrypto/buffer/buf_err.c128
-rw-r--r--src/lib/libcrypto/buffer/buffer.c34
-rw-r--r--src/lib/libcrypto/buffer/buffer.h25
3 files changed, 92 insertions, 95 deletions
diff --git a/src/lib/libcrypto/buffer/buf_err.c b/src/lib/libcrypto/buffer/buf_err.c
index ff988852cc..5eee653e14 100644
--- a/src/lib/libcrypto/buffer/buf_err.c
+++ b/src/lib/libcrypto/buffer/buf_err.c
@@ -1,86 +1,94 @@
1/* lib/buf/buf_err.c */ 1/* crypto/buffer/buf_err.c */
2/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 2/* ====================================================================
3 * All rights reserved. 3 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
4 * 4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15 *
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
22 *
23 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
25 * are met: 7 * are met:
26 * 1. Redistributions of source code must retain the copyright 8 *
27 * notice, this list of conditions and the following disclaimer. 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
28 * 2. Redistributions in binary form must reproduce the above copyright 12 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in
30 * documentation and/or other materials provided with the distribution. 14 * the documentation and/or other materials provided with the
31 * 3. All advertising materials mentioning features or use of this software 15 * distribution.
32 * must display the following acknowledgement: 16 *
33 * "This product includes cryptographic software written by 17 * 3. All advertising materials mentioning features or use of this
34 * Eric Young (eay@cryptsoft.com)" 18 * software must display the following acknowledgment:
35 * The word 'cryptographic' can be left out if the rouines from the library 19 * "This product includes software developed by the OpenSSL Project
36 * being used are not cryptographic related :-). 20 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
37 * 4. If you include any Windows specific code (or a derivative thereof) from 21 *
38 * the apps directory (application code) you must include an acknowledgement: 22 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 23 * endorse or promote products derived from this software without
40 * 24 * prior written permission. For written permission, please contact
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 25 * openssl-core@OpenSSL.org.
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 *
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 * 5. Products derived from this software may not be called "OpenSSL"
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 28 * nor may "OpenSSL" appear in their names without prior written
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * permission of the OpenSSL Project.
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 *
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * 6. Redistributions of any form whatsoever must retain the following
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * acknowledgment:
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * "This product includes software developed by the OpenSSL Project
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
51 * SUCH DAMAGE. 35 *
52 * 36 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
53 * The licence and distribution terms for any publically available version or 37 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
54 * derivative of this code cannot be changed. i.e. this code cannot simply be 38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
55 * copied and put under another distribution licence 39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
56 * [including the GNU Public Licence.] 40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
45 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
47 * OF THE POSSIBILITY OF SUCH DAMAGE.
48 * ====================================================================
49 *
50 * This product includes cryptographic software written by Eric Young
51 * (eay@cryptsoft.com). This product includes software written by Tim
52 * Hudson (tjh@cryptsoft.com).
53 *
54 */
55
56/* NOTE: this file was auto generated by the mkerr.pl script: any changes
57 * made to it will be overwritten when the script next updates this file,
58 * only reason strings will be preserved.
57 */ 59 */
60
58#include <stdio.h> 61#include <stdio.h>
59#include "err.h" 62#include <openssl/err.h>
60#include "buffer.h" 63#include <openssl/buffer.h>
61 64
62/* BEGIN ERROR CODES */ 65/* BEGIN ERROR CODES */
63#ifndef NO_ERR 66#ifndef OPENSSL_NO_ERR
64static ERR_STRING_DATA BUF_str_functs[]= 67static ERR_STRING_DATA BUF_str_functs[]=
65 { 68 {
66{ERR_PACK(0,BUF_F_BUF_MEM_GROW,0), "BUF_MEM_grow"}, 69{ERR_PACK(0,BUF_F_BUF_MEM_GROW,0), "BUF_MEM_grow"},
67{ERR_PACK(0,BUF_F_BUF_MEM_NEW,0), "BUF_MEM_new"}, 70{ERR_PACK(0,BUF_F_BUF_MEM_NEW,0), "BUF_MEM_new"},
68{ERR_PACK(0,BUF_F_BUF_STRDUP,0), "BUF_strdup"}, 71{ERR_PACK(0,BUF_F_BUF_STRDUP,0), "BUF_strdup"},
69{ERR_PACK(0,BUF_F_PXYCLNT_READ,0), "PXYCLNT_READ"}, 72{0,NULL}
70{0,NULL}, 73 };
74
75static ERR_STRING_DATA BUF_str_reasons[]=
76 {
77{0,NULL}
71 }; 78 };
72 79
73#endif 80#endif
74 81
75void ERR_load_BUF_strings() 82void ERR_load_BUF_strings(void)
76 { 83 {
77 static int init=1; 84 static int init=1;
78 85
79 if (init); 86 if (init)
80 {; 87 {
81 init=0; 88 init=0;
82#ifndef NO_ERR 89#ifndef OPENSSL_NO_ERR
83 ERR_load_strings(ERR_LIB_BUF,BUF_str_functs); 90 ERR_load_strings(ERR_LIB_BUF,BUF_str_functs);
91 ERR_load_strings(ERR_LIB_BUF,BUF_str_reasons);
84#endif 92#endif
85 93
86 } 94 }
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c
index 7e8af9e2fa..9299baba9e 100644
--- a/src/lib/libcrypto/buffer/buffer.c
+++ b/src/lib/libcrypto/buffer/buffer.c
@@ -58,13 +58,13 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "buffer.h" 61#include <openssl/buffer.h>
62 62
63BUF_MEM *BUF_MEM_new() 63BUF_MEM *BUF_MEM_new(void)
64 { 64 {
65 BUF_MEM *ret; 65 BUF_MEM *ret;
66 66
67 ret=(BUF_MEM *)Malloc(sizeof(BUF_MEM)); 67 ret=OPENSSL_malloc(sizeof(BUF_MEM));
68 if (ret == NULL) 68 if (ret == NULL)
69 { 69 {
70 BUFerr(BUF_F_BUF_MEM_NEW,ERR_R_MALLOC_FAILURE); 70 BUFerr(BUF_F_BUF_MEM_NEW,ERR_R_MALLOC_FAILURE);
@@ -76,20 +76,20 @@ BUF_MEM *BUF_MEM_new()
76 return(ret); 76 return(ret);
77 } 77 }
78 78
79void BUF_MEM_free(a) 79void BUF_MEM_free(BUF_MEM *a)
80BUF_MEM *a;
81 { 80 {
81 if(a == NULL)
82 return;
83
82 if (a->data != NULL) 84 if (a->data != NULL)
83 { 85 {
84 memset(a->data,0,(unsigned int)a->max); 86 memset(a->data,0,(unsigned int)a->max);
85 Free(a->data); 87 OPENSSL_free(a->data);
86 } 88 }
87 Free(a); 89 OPENSSL_free(a);
88 } 90 }
89 91
90int BUF_MEM_grow(str, len) 92int BUF_MEM_grow(BUF_MEM *str, int len)
91BUF_MEM *str;
92int len;
93 { 93 {
94 char *ret; 94 char *ret;
95 unsigned int n; 95 unsigned int n;
@@ -101,15 +101,15 @@ int len;
101 } 101 }
102 if (str->max >= len) 102 if (str->max >= len)
103 { 103 {
104 memset(&(str->data[str->length]),0,len-str->length); 104 memset(&str->data[str->length],0,len-str->length);
105 str->length=len; 105 str->length=len;
106 return(len); 106 return(len);
107 } 107 }
108 n=(len+3)/3*4; 108 n=(len+3)/3*4;
109 if (str->data == NULL) 109 if (str->data == NULL)
110 ret=(char *)Malloc(n); 110 ret=OPENSSL_malloc(n);
111 else 111 else
112 ret=(char *)Realloc(str->data,n); 112 ret=OPENSSL_realloc(str->data,n);
113 if (ret == NULL) 113 if (ret == NULL)
114 { 114 {
115 BUFerr(BUF_F_BUF_MEM_GROW,ERR_R_MALLOC_FAILURE); 115 BUFerr(BUF_F_BUF_MEM_GROW,ERR_R_MALLOC_FAILURE);
@@ -118,14 +118,14 @@ int len;
118 else 118 else
119 { 119 {
120 str->data=ret; 120 str->data=ret;
121 str->length=len;
122 str->max=n; 121 str->max=n;
122 memset(&str->data[str->length],0,len-str->length);
123 str->length=len;
123 } 124 }
124 return(len); 125 return(len);
125 } 126 }
126 127
127char *BUF_strdup(str) 128char *BUF_strdup(const char *str)
128char *str;
129 { 129 {
130 char *ret; 130 char *ret;
131 int n; 131 int n;
@@ -133,7 +133,7 @@ char *str;
133 if (str == NULL) return(NULL); 133 if (str == NULL) return(NULL);
134 134
135 n=strlen(str); 135 n=strlen(str);
136 ret=Malloc(n+1); 136 ret=OPENSSL_malloc(n+1);
137 if (ret == NULL) 137 if (ret == NULL)
138 { 138 {
139 BUFerr(BUF_F_BUF_STRDUP,ERR_R_MALLOC_FAILURE); 139 BUFerr(BUF_F_BUF_STRDUP,ERR_R_MALLOC_FAILURE);
diff --git a/src/lib/libcrypto/buffer/buffer.h b/src/lib/libcrypto/buffer/buffer.h
index 417548c04a..11e2d0359a 100644
--- a/src/lib/libcrypto/buffer/buffer.h
+++ b/src/lib/libcrypto/buffer/buffer.h
@@ -70,38 +70,27 @@ typedef struct buf_mem_st
70 int max; /* size of buffer */ 70 int max; /* size of buffer */
71 } BUF_MEM; 71 } BUF_MEM;
72 72
73#ifndef NOPROTO
74BUF_MEM *BUF_MEM_new(void); 73BUF_MEM *BUF_MEM_new(void);
75void BUF_MEM_free(BUF_MEM *a); 74void BUF_MEM_free(BUF_MEM *a);
76int BUF_MEM_grow(BUF_MEM *str, int len); 75int BUF_MEM_grow(BUF_MEM *str, int len);
77char * BUF_strdup(char *str); 76char * BUF_strdup(const char *str);
78
79void ERR_load_BUF_strings(void );
80
81#else
82
83BUF_MEM *BUF_MEM_new();
84void BUF_MEM_free();
85int BUF_MEM_grow();
86char * BUF_strdup();
87
88void ERR_load_BUF_strings();
89
90#endif
91 77
92/* BEGIN ERROR CODES */ 78/* BEGIN ERROR CODES */
79/* The following lines are auto generated by the script mkerr.pl. Any changes
80 * made after this point may be overwritten when the script is next run.
81 */
82void ERR_load_BUF_strings(void);
83
93/* Error codes for the BUF functions. */ 84/* Error codes for the BUF functions. */
94 85
95/* Function codes. */ 86/* Function codes. */
96#define BUF_F_BUF_MEM_GROW 100 87#define BUF_F_BUF_MEM_GROW 100
97#define BUF_F_BUF_MEM_NEW 101 88#define BUF_F_BUF_MEM_NEW 101
98#define BUF_F_BUF_STRDUP 102 89#define BUF_F_BUF_STRDUP 102
99#define BUF_F_PXYCLNT_READ 103
100 90
101/* Reason codes. */ 91/* Reason codes. */
102 92
103#ifdef __cplusplus 93#ifdef __cplusplus
104} 94}
105#endif 95#endif
106#endif 96#endif
107