aboutsummaryrefslogtreecommitdiff
path: root/openssl/bugs
diff options
context:
space:
mode:
authorMike DePaulo <mikedep333@gmail.com>2015-03-28 09:50:31 -0400
committerMike DePaulo <mikedep333@gmail.com>2015-03-28 13:13:13 -0400
commit91e3957fb0e38a5d5649f82e5d9f89dd0e85666f (patch)
treefe0992fb4cf6f3c2a5d597557552ae69caccbe70 /openssl/bugs
parent9073d97eff3f6d3b33450ef3532a826674c7e1e8 (diff)
downloadvcxsrv-91e3957fb0e38a5d5649f82e5d9f89dd0e85666f.tar.gz
vcxsrv-91e3957fb0e38a5d5649f82e5d9f89dd0e85666f.tar.bz2
vcxsrv-91e3957fb0e38a5d5649f82e5d9f89dd0e85666f.zip
Update openssl to version openssl-1.0.1m
Conflicts: openssl/Makefile openssl/Makefile.bak openssl/crypto/cryptlib.c
Diffstat (limited to 'openssl/bugs')
-rw-r--r--openssl/bugs/alpha.c49
-rw-r--r--openssl/bugs/dggccbug.c46
-rw-r--r--openssl/bugs/sgiccbug.c77
-rw-r--r--openssl/bugs/stream.c119
-rw-r--r--openssl/bugs/ultrixcc.c53
5 files changed, 174 insertions, 170 deletions
diff --git a/openssl/bugs/alpha.c b/openssl/bugs/alpha.c
index 701d6a7c7..3b4bc9377 100644
--- a/openssl/bugs/alpha.c
+++ b/openssl/bugs/alpha.c
@@ -5,21 +5,21 @@
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -34,10 +34,10 @@
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,18 +49,20 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
-/* while not exactly a bug (ASN1 C leaves this undefined) it is
- * something to watch out for. This was fine on linux/NT/Solaris but not
- * Alpha */
+/*
+ * while not exactly a bug (ASN1 C leaves this undefined) it is something to
+ * watch out for. This was fine on linux/NT/Solaris but not Alpha
+ */
-/* it is basically an example of
+/*-
+ * it is basically an example of
* func(*(a++),*(a++))
* which parameter is evaluated first? It is not defined in ASN1 C.
*/
@@ -69,23 +71,22 @@
#define TYPE unsigned int
-void func(a,b)
+void func(a, b)
TYPE *a;
TYPE b;
- {
- printf("%ld -1 == %ld\n",a[0],b);
- }
+{
+ printf("%ld -1 == %ld\n", a[0], b);
+}
main()
- {
- TYPE data[5]={1L,2L,3L,4L,5L};
- TYPE *p;
- int i;
+{
+ TYPE data[5] = { 1L, 2L, 3L, 4L, 5L };
+ TYPE *p;
+ int i;
- p=data;
+ p = data;
- for (i=0; i<4; i++)
- {
- func(p,*(p++));
- }
- }
+ for (i = 0; i < 4; i++) {
+ func(p, *(p++));
+ }
+}
diff --git a/openssl/bugs/dggccbug.c b/openssl/bugs/dggccbug.c
index 30e07a60e..56f522288 100644
--- a/openssl/bugs/dggccbug.c
+++ b/openssl/bugs/dggccbug.c
@@ -4,17 +4,18 @@
#include <stdio.h>
-/* There is a bug in
- * gcc version 2.5.8 (88open OCS/BCS, DG-2.5.8.3, Oct 14 1994)
- * as shipped with DGUX 5.4R3.10 that can be bypassed by defining
- * DG_GCC_BUG in my code.
- * The bug manifests itself by the vaule of a pointer that is
- * used only by reference, not having it's value change when it is used
- * to check for exiting the loop. Probably caused by there being 2
- * copies of the valiable, one in a register and one being an address
- * that is passed. */
+/*
+ * There is a bug in gcc version 2.5.8 (88open OCS/BCS, DG-2.5.8.3, Oct 14
+ * 1994) as shipped with DGUX 5.4R3.10 that can be bypassed by defining
+ * DG_GCC_BUG in my code. The bug manifests itself by the vaule of a pointer
+ * that is used only by reference, not having it's value change when it is
+ * used to check for exiting the loop. Probably caused by there being 2
+ * copies of the valiable, one in a register and one being an address that is
+ * passed.
+ */
-/* compare the out put from
+/*-
+ * compare the out put from
* gcc dggccbug.c; ./a.out
* and
* gcc -O dggccbug.c; ./a.out
@@ -23,23 +24,22 @@
void inc(a)
int *a;
- {
- (*a)++;
- }
+{
+ (*a)++;
+}
main()
- {
- int p=0;
+{
+ int p = 0;
#ifdef FIXBUG
- int dummy;
+ int dummy;
#endif
- while (p<3)
- {
- fprintf(stderr,"%08X\n",p);
- inc(&p);
+ while (p < 3) {
+ fprintf(stderr, "%08X\n", p);
+ inc(&p);
#ifdef FIXBUG
- dummy+=p;
+ dummy += p;
#endif
- }
- }
+ }
+}
diff --git a/openssl/bugs/sgiccbug.c b/openssl/bugs/sgiccbug.c
index 178239d49..6b1b3d4ab 100644
--- a/openssl/bugs/sgiccbug.c
+++ b/openssl/bugs/sgiccbug.c
@@ -4,54 +4,57 @@
#include <stdio.h>
-/* This compiler bug it present on IRIX 5.3, 5.1 and 4.0.5 (these are
- * the only versions of IRIX I have access to.
- * defining FIXBUG removes the bug.
- * (bug is still present in IRIX 6.3 according to
- * Gage <agage@forgetmenot.Mines.EDU>
+/*
+ * This compiler bug it present on IRIX 5.3, 5.1 and 4.0.5 (these are the
+ * only versions of IRIX I have access to. defining FIXBUG removes the bug.
+ * (bug is still present in IRIX 6.3 according to Gage
+ * <agage@forgetmenot.Mines.EDU>
*/
-
-/* Compare the output from
+
+/*-
+ * Compare the output from
* cc sgiccbug.c; ./a.out
* and
* cc -O sgiccbug.c; ./a.out
*/
-static unsigned long a[4]={0x01234567,0x89ABCDEF,0xFEDCBA98,0x76543210};
-static unsigned long b[4]={0x89ABCDEF,0xFEDCBA98,0x76543210,0x01234567};
-static unsigned long c[4]={0x77777778,0x8ACF1357,0x88888888,0x7530ECA9};
+static unsigned long a[4] =
+ { 0x01234567, 0x89ABCDEF, 0xFEDCBA98, 0x76543210 };
+static unsigned long b[4] =
+ { 0x89ABCDEF, 0xFEDCBA98, 0x76543210, 0x01234567 };
+static unsigned long c[4] =
+ { 0x77777778, 0x8ACF1357, 0x88888888, 0x7530ECA9 };
main()
- {
- unsigned long r[4];
- sub(r,a,b);
- fprintf(stderr,"input a= %08X %08X %08X %08X\n",a[3],a[2],a[1],a[0]);
- fprintf(stderr,"input b= %08X %08X %08X %08X\n",b[3],b[2],b[1],b[0]);
- fprintf(stderr,"output = %08X %08X %08X %08X\n",r[3],r[2],r[1],r[0]);
- fprintf(stderr,"correct= %08X %08X %08X %08X\n",c[3],c[2],c[1],c[0]);
- }
+{
+ unsigned long r[4];
+ sub(r, a, b);
+ fprintf(stderr, "input a= %08X %08X %08X %08X\n", a[3], a[2], a[1], a[0]);
+ fprintf(stderr, "input b= %08X %08X %08X %08X\n", b[3], b[2], b[1], b[0]);
+ fprintf(stderr, "output = %08X %08X %08X %08X\n", r[3], r[2], r[1], r[0]);
+ fprintf(stderr, "correct= %08X %08X %08X %08X\n", c[3], c[2], c[1], c[0]);
+}
-int sub(r,a,b)
-unsigned long *r,*a,*b;
- {
- register unsigned long t1,t2,*ap,*bp,*rp;
- int i,carry;
+int sub(r, a, b)
+unsigned long *r, *a, *b;
+{
+ register unsigned long t1, t2, *ap, *bp, *rp;
+ int i, carry;
#ifdef FIXBUG
- unsigned long dummy;
+ unsigned long dummy;
#endif
- ap=a;
- bp=b;
- rp=r;
- carry=0;
- for (i=0; i<4; i++)
- {
- t1= *(ap++);
- t2= *(bp++);
- t1=(t1-t2);
+ ap = a;
+ bp = b;
+ rp = r;
+ carry = 0;
+ for (i = 0; i < 4; i++) {
+ t1 = *(ap++);
+ t2 = *(bp++);
+ t1 = (t1 - t2);
#ifdef FIXBUG
- dummy=t1;
+ dummy = t1;
#endif
- *(rp++)=t1&0xffffffff;
- }
- }
+ *(rp++) = t1 & 0xffffffff;
+ }
+}
diff --git a/openssl/bugs/stream.c b/openssl/bugs/stream.c
index c3b5e867d..9af239553 100644
--- a/openssl/bugs/stream.c
+++ b/openssl/bugs/stream.c
@@ -5,21 +5,21 @@
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -34,10 +34,10 @@
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
@@ -59,73 +59,74 @@
#include <stdio.h>
#include <openssl/rc4.h>
#ifdef OPENSSL_NO_DES
-#include <des.h>
+# include <des.h>
#else
-#include <openssl/des.h>
+# include <openssl/des.h>
#endif
-/* show how stream ciphers are not very good. The mac has no affect
- * on RC4 while it does for cfb DES
+/*
+ * show how stream ciphers are not very good. The mac has no affect on RC4
+ * while it does for cfb DES
*/
main()
- {
- fprintf(stderr,"rc4\n");
- rc4();
- fprintf(stderr,"cfb des\n");
- des();
- }
+{
+ fprintf(stderr, "rc4\n");
+ rc4();
+ fprintf(stderr, "cfb des\n");
+ des();
+}
int des()
- {
- des_key_schedule ks;
- des_cblock iv,key;
- int num;
- static char *keystr="01234567";
- static char *in1="0123456789ABCEDFdata 12345";
- static char *in2="9876543210abcdefdata 12345";
- unsigned char out[100];
- int i;
+{
+ des_key_schedule ks;
+ des_cblock iv, key;
+ int num;
+ static char *keystr = "01234567";
+ static char *in1 = "0123456789ABCEDFdata 12345";
+ static char *in2 = "9876543210abcdefdata 12345";
+ unsigned char out[100];
+ int i;
- des_set_key((des_cblock *)keystr,ks);
+ des_set_key((des_cblock *)keystr, ks);
- num=0;
- memset(iv,0,8);
- des_cfb64_encrypt(in1,out,26,ks,(des_cblock *)iv,&num,1);
- for (i=0; i<26; i++)
- fprintf(stderr,"%02X ",out[i]);
- fprintf(stderr,"\n");
+ num = 0;
+ memset(iv, 0, 8);
+ des_cfb64_encrypt(in1, out, 26, ks, (des_cblock *)iv, &num, 1);
+ for (i = 0; i < 26; i++)
+ fprintf(stderr, "%02X ", out[i]);
+ fprintf(stderr, "\n");
- num=0;
- memset(iv,0,8);
- des_cfb64_encrypt(in2,out,26,ks,(des_cblock *)iv,&num,1);
- for (i=0; i<26; i++)
- fprintf(stderr,"%02X ",out[i]);
- fprintf(stderr,"\n");
- }
+ num = 0;
+ memset(iv, 0, 8);
+ des_cfb64_encrypt(in2, out, 26, ks, (des_cblock *)iv, &num, 1);
+ for (i = 0; i < 26; i++)
+ fprintf(stderr, "%02X ", out[i]);
+ fprintf(stderr, "\n");
+}
int rc4()
- {
- static char *keystr="0123456789abcdef";
- RC4_KEY key;
- unsigned char in[100],out[100];
- int i;
+{
+ static char *keystr = "0123456789abcdef";
+ RC4_KEY key;
+ unsigned char in[100], out[100];
+ int i;
- RC4_set_key(&key,16,keystr);
- in[0]='\0';
- strcpy(in,"0123456789ABCEDFdata 12345");
- RC4(key,26,in,out);
+ RC4_set_key(&key, 16, keystr);
+ in[0] = '\0';
+ strcpy(in, "0123456789ABCEDFdata 12345");
+ RC4(key, 26, in, out);
- for (i=0; i<26; i++)
- fprintf(stderr,"%02X ",out[i]);
- fprintf(stderr,"\n");
+ for (i = 0; i < 26; i++)
+ fprintf(stderr, "%02X ", out[i]);
+ fprintf(stderr, "\n");
- RC4_set_key(&key,16,keystr);
- in[0]='\0';
- strcpy(in,"9876543210abcdefdata 12345");
- RC4(key,26,in,out);
+ RC4_set_key(&key, 16, keystr);
+ in[0] = '\0';
+ strcpy(in, "9876543210abcdefdata 12345");
+ RC4(key, 26, in, out);
- for (i=0; i<26; i++)
- fprintf(stderr,"%02X ",out[i]);
- fprintf(stderr,"\n");
- }
+ for (i = 0; i < 26; i++)
+ fprintf(stderr, "%02X ", out[i]);
+ fprintf(stderr, "\n");
+}
diff --git a/openssl/bugs/ultrixcc.c b/openssl/bugs/ultrixcc.c
index 7ba75b140..6e24549d5 100644
--- a/openssl/bugs/ultrixcc.c
+++ b/openssl/bugs/ultrixcc.c
@@ -1,6 +1,7 @@
#include <stdio.h>
-/* This is a cc optimiser bug for ultrix 4.3, mips CPU.
+/*-
+ * This is a cc optimiser bug for ultrix 4.3, mips CPU.
* What happens is that the compiler, due to the (a)&7,
* does
* i=a&7;
@@ -12,34 +13,32 @@
*/
main()
- {
- f(5);
- f(0);
- }
+{
+ f(5);
+ f(0);
+}
int f(a)
int a;
- {
- switch(a&7)
- {
- case 7:
- printf("7\n");
- case 6:
- printf("6\n");
- case 5:
- printf("5\n");
- case 4:
- printf("4\n");
- case 3:
- printf("3\n");
- case 2:
- printf("2\n");
- case 1:
- printf("1\n");
+{
+ switch (a & 7) {
+ case 7:
+ printf("7\n");
+ case 6:
+ printf("6\n");
+ case 5:
+ printf("5\n");
+ case 4:
+ printf("4\n");
+ case 3:
+ printf("3\n");
+ case 2:
+ printf("2\n");
+ case 1:
+ printf("1\n");
#ifdef FIX_BUG
- case 0:
- ;
+ case 0:
+ ;
#endif
- }
- }
-
+ }
+}