Commit d46c1a81 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Support fractional seconds in GeneralizedTime

parent e32587d5
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,9 @@
         *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
         *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
         +) applies to 0.9.7 only
         +) applies to 0.9.7 only


  +) Change ASN1_GENERALIZEDTIME_check() to allow fractional seconds.
     [Steve Henson]

  +) Change mkdef.pl to sort symbols that get the same entry number,
  +) Change mkdef.pl to sort symbols that get the same entry number,
     and make sure the automatically generated functions ERR_load_*
     and make sure the automatically generated functions ERR_load_*
     become part of libeay.num as well.
     become part of libeay.num as well.
+13 −0
Original line number Original line Diff line number Diff line
@@ -146,6 +146,19 @@ int ASN1_GENERALIZEDTIME_check(ASN1_GENERALIZEDTIME *d)


		if ((n < min[i]) || (n > max[i])) goto err;
		if ((n < min[i]) || (n > max[i])) goto err;
		}
		}
	/* Optional fractional seconds: decimal point followed by one
	 * or more digits.
	 */
	if (a[o] == '.')
		{
		if (++o > l) goto err;
		i = o;
		while ((a[o] >= '0') && (a[o] <= '9') && (o <= l))
			o++;
		/* Must have at least one digit after decimal point */
		if (i == o) goto err;
		}

	if (a[o] == 'Z')
	if (a[o] == 'Z')
		o++;
		o++;
	else if ((a[o] == '+') || (a[o] == '-'))
	else if ((a[o] == '+') || (a[o] == '-'))