[pgsqlclient-checkins] pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Cryptography PKCS8.c
Status: Inactive
Brought to you by:
carlosga_fb
From: Carlos G. Á. <car...@us...> - 2004-06-12 09:29:10
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Cryptography In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2103 Modified Files: PKCS8.cs ARC4Managed.cs Log Message: Updated Mono.Security sources to mono Beta 2 Index: ARC4Managed.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Cryptography/ARC4Managed.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ARC4Managed.cs 5 Mar 2004 23:15:21 -0000 1.2 --- ARC4Managed.cs 12 Jun 2004 09:29:01 -0000 1.3 *************** *** 5,8 **** --- 5,9 ---- using System; + using System.Globalization; using System.Security.Cryptography; *************** *** 114,119 **** --- 115,148 ---- } + private void CheckInput (byte[] inputBuffer, int inputOffset, int inputCount) + { + if (inputBuffer == null) + throw new ArgumentNullException ("inputBuffer"); + if (inputOffset < 0) + throw new ArgumentOutOfRangeException ("inputOffset", "< 0"); + if (inputCount < 0) + throw new ArgumentOutOfRangeException ("inputCount", "< 0"); + // ordered to avoid possible integer overflow + if (inputOffset > inputBuffer.Length - inputCount) + throw new ArgumentException ("inputBuffer", "Overflow"); + } + public int TransformBlock (byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset) { + CheckInput (inputBuffer, inputOffset, inputCount); + // check output parameters + if (outputBuffer == null) + throw new ArgumentNullException ("outputBuffer"); + if (outputOffset < 0) + throw new ArgumentOutOfRangeException ("outputOffset", "< 0"); + // ordered to avoid possible integer overflow + if (outputOffset > outputBuffer.Length - inputCount) + throw new ArgumentException ("outputBuffer", "Overflow"); + + return InternalTransformBlock (inputBuffer, inputOffset, inputCount, outputBuffer, outputOffset); + } + + private int InternalTransformBlock (byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset) + { byte xorIndex; for (int counter = 0; counter < inputCount; counter ++) { *************** *** 133,138 **** public byte[] TransformFinalBlock (byte[] inputBuffer, int inputOffset, int inputCount) { byte[] output = new byte [inputCount]; ! TransformBlock (inputBuffer, inputOffset, inputCount, output, 0); return output; } --- 162,169 ---- public byte[] TransformFinalBlock (byte[] inputBuffer, int inputOffset, int inputCount) { + CheckInput (inputBuffer, inputOffset, inputCount); + byte[] output = new byte [inputCount]; ! InternalTransformBlock (inputBuffer, inputOffset, inputCount, output, 0); return output; } Index: PKCS8.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/Mono.Security/Mono.Security/Mono.Security.Cryptography/PKCS8.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PKCS8.cs 9 May 2004 12:04:34 -0000 1.2 --- PKCS8.cs 12 Jun 2004 09:29:00 -0000 1.3 *************** *** 119,123 **** get { return _version; } set { ! if (_version < 0) throw new ArgumentOutOfRangeException ("negative version"); _version = value; --- 119,123 ---- get { return _version; } set { ! if (value < 0) throw new ArgumentOutOfRangeException ("negative version"); _version = value; |