Commit 9ec1d35f authored by Richard Levitte's avatar Richard Levitte
Browse files

Adjust DES_cbc_cksum() so the returned value is the same as MIT's

mit_des_cbc_cksum().  The difference was first observed, then verified by
looking at the MIT source.
parent cf56663f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -420,6 +420,12 @@ TODO: bug: pad x with leading zeros if necessary

 Changes between 0.9.7 and 0.9.7a  [XX xxx 2003]

  *) Adjust DES_cbc_cksum() so it returns the same value as the MIT
     Kerberos function mit_des_cbc_cksum().  Before this change,
     the value returned by DES_cbc_cksum() was like the one from
     mit_des_cbc_cksum(), except the bytes were swapped.
     [Kevin Greaney <Kevin.Greaney@hp.com> and Richard Levitte]

  *) Allow an application to disable the automatic SSL chain building.
     Before this a rather primitive chain build was always performed in
     ssl3_output_cert_chain(): an application had no way to send the 
+9 −0
Original line number Diff line number Diff line
@@ -93,5 +93,14 @@ DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output,
		l2c(tout1,out);
		}
	tout0=tin0=tin1=tin[0]=tin[1]=0;
	/*
	  Transform the data in tout1 so that it will
	  match the return value that the MIT Kerberos
	  mit_des_cbc_cksum API returns.
	*/
	tout1 = ((tout1 >> 24L) & 0x000000FF)
	      | ((tout1 >> 8L)  & 0x0000FF00)
	      | ((tout1 << 8L)  & 0x00FF0000)
	      | ((tout1 << 24L) & 0xFF000000);
	return(tout1);
	}