2619N/A * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * A utility class for debuging. 0N/A * @author Roland Schemers 0N/A (
"java.security.debug"));
0N/A (
"java.security.auth.debug"));
0N/A * Get a Debug object corresponding to whether or not the given 0N/A * option is set. Set the prefix to be the same as option. 0N/A * Get a Debug object corresponding to whether or not the given 0N/A * option is set. Set the prefix to be prefix. 0N/A * True if the system property "security.debug" contains the 0N/A * print a message to stderr that is prefixed with the prefix 0N/A * created from the call to getInstance. 0N/A * print a blank line to stderr that is prefixed with the prefix. 0N/A * print a message to stderr that is prefixed with the prefix. 0N/A * return a hexadecimal printed representation of the specified 0N/A * BigInteger object. the value is formatted to fit on lines of 0N/A * at least 75 characters, with embedded newlines. Words are 0N/A * separated for readability, with eight words (32 bytes) per line. 0N/A // add back the leading 0 0N/A // one byte at a time 0N/A }
else if (i%
8 ==
0) {
0N/A * change a string into lower case except permission classes and URLs. 0N/A // obtain the "permission=<classname>" options 0N/A // the syntax of classname: IDENTIFIER.IDENTIFIER 0N/A // the regular express to match a class name: 0N/A // "[a-zA-Z_$][a-zA-Z0-9_$]*([.][a-zA-Z_$][a-zA-Z0-9_$]*)*" 0N/A "[a-zA-Z_$][a-zA-Z0-9_$]*([.][a-zA-Z_$][a-zA-Z0-9_$]*)*";
0N/A // delete the matched sequence 0N/A // obtain the "codebase=<URL>" options 0N/A // the syntax of URL is too flexible, and here assumes that the 0N/A // URL contains no space, comma(','), and semicolon(';'). That 0N/A // also means those characters also could be used as separator 0N/A // after codebase option. 0N/A // However, the assumption is incorrect in some special situation 0N/A // when the URL contains comma or semicolon 0N/A keyReg =
"[Cc][Oo][Dd][Ee][Bb][Aa][Ss][Ee]=";
0N/A // delete the matched sequence 0N/A // convert the rest to lower-case characters 0N/A int k = b[i] &
0xff;