View | Details | Raw Unified | Return to bug 51887
Collapse All | Expand All

(-)java/org/apache/catalina/util/SessionIdGenerator.java (-1 / +6 lines)
Lines 194-200 Link Here
194
    private SecureRandom createSecureRandom() {
194
    private SecureRandom createSecureRandom() {
195
195
196
        SecureRandom result = null;
196
        SecureRandom result = null;
197
        
197
198
        // FIXME: This is only for testing
199
        if (secureRandomClass == null) {
200
            secureRandomClass = "org.apache.catalina.util.DummySecureRandom";
201
        }
202
198
        long t1 = System.currentTimeMillis();
203
        long t1 = System.currentTimeMillis();
199
        if (secureRandomClass != null) {
204
        if (secureRandomClass != null) {
200
            try {
205
            try {
(-)test/org/apache/catalina/util/DummySecureRandom.java (+60 lines)
Line 0 Link Here
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one or more
3
 * contributor license agreements.  See the NOTICE file distributed with
4
 * this work for additional information regarding copyright ownership.
5
 * The ASF licenses this file to You under the Apache License, Version 2.0
6
 * (the "License"); you may not use this file except in compliance with
7
 * the License.  You may obtain a copy of the License at
8
 * 
9
 *      http://www.apache.org/licenses/LICENSE-2.0
10
 * 
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 */
17
package org.apache.catalina.util;
18
19
import java.security.SecureRandom;
20
import java.util.Random;
21
22
public class DummySecureRandom extends SecureRandom {
23
24
    private static final long serialVersionUID = 1L;
25
26
    private final Random random = new Random();
27
28
    @Override
29
    public String getAlgorithm() {
30
        return "INSECURE";
31
    }
32
33
    @Override
34
    public synchronized void setSeed(byte[] seed) {
35
        // Not implemented
36
    }
37
38
    @Override
39
    public synchronized void setSeed(long seed) {
40
        // The super class constructor calls this method earlier than our
41
        // fields are initialized. Ignore the call.
42
        if (random == null) {
43
            return;
44
        }
45
        random.setSeed(seed);
46
    }
47
48
    @Override
49
    public synchronized void nextBytes(byte[] bytes) {
50
        random.nextBytes(bytes);
51
    }
52
53
    @Override
54
    public byte[] generateSeed(int numBytes) {
55
        byte[] value = new byte[numBytes];
56
        nextBytes(value);
57
        return value;
58
    }
59
60
}

Return to bug 51887