Return-Path: Delivered-To: apmail-incubator-directory-cvs-archive@www.apache.org Received: (qmail 33707 invoked from network); 9 Nov 2004 12:22:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 9 Nov 2004 12:22:50 -0000 Received: (qmail 10953 invoked by uid 500); 9 Nov 2004 12:22:32 -0000 Delivered-To: apmail-incubator-directory-cvs-archive@incubator.apache.org Received: (qmail 10820 invoked by uid 500); 9 Nov 2004 12:22:30 -0000 Mailing-List: contact directory-cvs-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: directory-dev@incubator.apache.org Delivered-To: mailing list directory-cvs@incubator.apache.org Received: (qmail 10786 invoked by uid 99); 9 Nov 2004 12:22:29 -0000 X-ASF-Spam-Status: No, hits=-10.0 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Tue, 09 Nov 2004 04:22:29 -0800 Received: (qmail 32904 invoked by uid 65534); 9 Nov 2004 12:22:28 -0000 Date: 9 Nov 2004 12:22:28 -0000 Message-ID: <20041109122228.32902.qmail@minotaur.apache.org> From: erodriguez@apache.org To: directory-cvs@incubator.apache.org Subject: svn commit: rev 57020 - incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: erodriguez Date: Tue Nov 9 04:22:26 2004 New Revision: 57020 Modified: incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/GlobalSequenceNumber.java Log: Removed dependency global sequence number had on confounder. Modified: incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/GlobalSequenceNumber.java ============================================================================== --- incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/GlobalSequenceNumber.java (original) +++ incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/GlobalSequenceNumber.java Tue Nov 9 04:22:26 2004 @@ -16,28 +16,47 @@ */ package org.apache.kerberos.crypto; -public class GlobalSequenceNumber implements SequenceNumber { +import java.security.SecureRandom; - private int _sequenceNumber = Confounder.intValue(); +public class GlobalSequenceNumber implements SequenceNumber +{ + private static final SecureRandom random = new SecureRandom(); - public GlobalSequenceNumber(int start) { - _sequenceNumber = start; + private int sequenceNumber = randomInt(); + + public GlobalSequenceNumber(int start) + { + sequenceNumber = start; } - public synchronized void init() { - _sequenceNumber = Confounder.intValue(); + public synchronized void init() + { + sequenceNumber = randomInt(); } - public synchronized int current() { - return _sequenceNumber; + public synchronized int current() + { + return sequenceNumber; } - public synchronized int next() { - return _sequenceNumber + 1; + public synchronized int next() + { + return sequenceNumber + 1; } - public synchronized void step() { - _sequenceNumber++; + public synchronized void step() + { + sequenceNumber++; + } + + private int randomInt() + { + byte[] data = new byte[4]; + random.nextBytes(data); + int result = 0; + for (int i = 0; i < 4; i++) + result += data[i] * (16 ^ i); + return result; } }