提交 d7b57e07 authored 作者: Thomas Mueller's avatar Thomas Mueller

indentation

上级 a10beefa
...@@ -1112,98 +1112,87 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2 ...@@ -1112,98 +1112,87 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
<br /><a name="glossary_links"></a> <br /><a name="glossary_links"></a>
<h2>Glossary and Links</h2> <h2>Glossary and Links</h2>
<table><tr><th>Term</th><th>Description</th></tr> <table>
<tr> <tr>
<th>Term</th>
<th>Description</th>
</tr>
<tr>
<td>AES-128</td> <td>AES-128</td>
<td> <td>A block encryption algorithm. See also: <a
A block encryption algorithm. See also: href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia:
<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a> AES</a></td>
</td> </tr>
</tr> <tr>
<tr>
<td>Birthday Paradox</td> <td>Birthday Paradox</td>
<td> <td>Describes the higher than expected probability that two
Describes the higher than expected probability that two persons in a room have the same birthday. persons in a room have the same birthday. Also valid for randomly
Also valid for randomly generated UUIDs. See also: generated UUIDs. See also: <a
<a href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia: Birthday Paradox</a> href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia:
</td> Birthday Paradox</a></td>
</tr> </tr>
<tr> <tr>
<td>Digest</td> <td>Digest</td>
<td> <td>Protocol to protect a password (but not to protect data).
Protocol to protect a password (but not to protect data). See also: See also: <a href="http://www.faqs.org/rfcs/rfc2617.html">RFC
<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a> 2617: HTTP Digest Access Authentication</a></td>
</td> </tr>
</tr> <tr>
<tr>
<td>GCJ</td> <td>GCJ</td>
<td> <td>Compiler for Java. <a href="http://gcc.gnu.org/java">GNU
Compiler for Java. Compiler for the Java</a> and <a
<a href="http://gcc.gnu.org/java">GNU Compiler for the Java</a> and href="http://www.dobysoft.com/products/nativej">NativeJ
<a href="http://www.dobysoft.com/products/nativej">NativeJ (commercial)</a> (commercial)</a></td>
</td> </tr>
</tr> <tr>
<tr>
<td>HTTPS</td> <td>HTTPS</td>
<td> <td>A protocol to provide security to HTTP connections. See
A protocol to provide security to HTTP connections. See also: also: <a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818:
<a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a> HTTP Over TLS</a></td>
</td> </tr>
</tr> <tr>
<tr>
<td>Modes of Operation</td> <td>Modes of Operation</td>
<td> <td><a
<a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation">Wikipedia: Block cipher modes of operation</a> href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation">Wikipedia:
</td> Block cipher modes of operation</a></td>
</tr> </tr>
<tr> <tr>
<td>Salt</td> <td>Salt</td>
<td> <td>Random number to increase the security of passwords. See
Random number to increase the security of passwords. also: <a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia:
See also: Key derivation function</a></td>
<a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a> </tr>
</td> <tr>
</tr>
<tr>
<td>SHA-256</td> <td>SHA-256</td>
<td> <td>A cryptographic one-way hash function. See also: <a
A cryptographic one-way hash function. href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA
See also: hash functions</a></td>
<a href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a> </tr>
</td> <tr>
</tr>
<tr>
<td>SQL Injection</td> <td>SQL Injection</td>
<td> <td>A security vulnerability where an application generates SQL
A security vulnerability where an application generates SQL statements with embedded user input. statements with embedded user input. See also: <a
See also: href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia:
<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a> SQL Injection</a></td>
</td> </tr>
</tr> <tr>
<tr>
<td>Watermark Attack</td> <td>Watermark Attack</td>
<td> <td>Security problem of certain encryption programs where the
Security problem of certain encryption programs where the existence of certain existence of certain data can be proven without decrypting. For more
data can be proven without decrypting. information, search in the internet for 'watermark attack
For more information, search in the internet for 'watermark attack cryptoloop' cryptoloop'</td>
</td> </tr>
</tr> <tr>
<tr>
<td>SSL/TLS</td> <td>SSL/TLS</td>
<td> <td>Secure Sockets Layer / Transport Layer Security. See also:
Secure Sockets Layer / Transport Layer Security. <a href="http://java.sun.com/products/jsse/">Java Secure Socket
See also: Extension (JSSE)</a></td>
<a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a> </tr>
</td> <tr>
</tr>
<tr>
<td>XTEA</td> <td>XTEA</td>
<td> <td>A block encryption algorithm. See also: <a
A block encryption algorithm. href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a></td>
See also: </tr>
<a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
</td>
</tr>
</table> </table>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
...@@ -838,46 +838,34 @@ The locks are also released when the autocommit mode changes, and for connection ...@@ -838,46 +838,34 @@ The locks are also released when the autocommit mode changes, and for connection
autocommit set to true (this is the default), locks are released after each statement. autocommit set to true (this is the default), locks are released after each statement.
Here is an overview on what statements generate what type of lock: Here is an overview on what statements generate what type of lock:
</p> </p>
<table><tr><th>Type of Lock</th><th>SQL Statement</th></tr> <table>
<tr> <tr>
<td> <th>Type of Lock</th>
Read <th>SQL Statement</th>
</td> </tr>
<td> <tr>
SELECT * FROM TEST<br /> <td>Read</td>
<td>SELECT * FROM TEST<br />
CALL SELECT MAX(ID) FROM TEST<br /> CALL SELECT MAX(ID) FROM TEST<br />
SCRIPT SCRIPT</td>
</td> </tr>
</tr> <tr>
<tr> <td>Write</td>
<td> <td>SELECT * FROM TEST WHERE 1=0 FOR UPDATE</td>
Write </tr>
</td> <tr>
<td> <td>Write</td>
SELECT * FROM TEST WHERE 1=0 FOR UPDATE <td>INSERT INTO TEST VALUES(1, 'Hello')<br />
</td>
</tr>
<tr>
<td>
Write
</td>
<td>
INSERT INTO TEST VALUES(1, 'Hello')<br />
INSERT INTO TEST SELECT * FROM TEST<br /> INSERT INTO TEST SELECT * FROM TEST<br />
UPDATE TEST SET NAME='Hi'<br /> UPDATE TEST SET NAME='Hi'<br />
DELETE FROM TEST DELETE FROM TEST</td>
</td> </tr>
</tr> <tr>
<tr> <td>Write</td>
<td> <td>ALTER TABLE TEST ...<br />
Write
</td>
<td>
ALTER TABLE TEST ...<br />
CREATE INDEX ... ON TEST ...<br /> CREATE INDEX ... ON TEST ...<br />
DROP INDEX ... DROP INDEX ...</td>
</td> </tr>
</tr>
</table> </table>
<p> <p>
The number of seconds until a lock timeout exception is thrown can be The number of seconds until a lock timeout exception is thrown can be
......
...@@ -9,7 +9,7 @@ Initial Developer: H2 Group ...@@ -9,7 +9,7 @@ Initial Developer: H2 Group
<title>H2 Database Engine</title> <title>H2 Database Engine</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" /> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
location.href = 'main.html'; location.href = 'main.html';
</script> </script>
</head> </head>
<body style="margin: 20px;"> <body style="margin: 20px;">
......
...@@ -60,38 +60,38 @@ To install the software, run the installer or unzip it to a directory of your ch ...@@ -60,38 +60,38 @@ To install the software, run the installer or unzip it to a directory of your ch
After installing, you should get the following directory structure: After installing, you should get the following directory structure:
</p> </p>
<table> <table>
<tr> <tr>
<th>Directory</th> <th>Directory</th>
<th>Contents</th> <th>Contents</th>
</tr> </tr>
<tr> <tr>
<td>bin</td> <td>bin</td>
<td>JAR and batch files</td> <td>JAR and batch files</td>
</tr> </tr>
<tr> <tr>
<td>docs</td> <td>docs</td>
<td>Documentation</td> <td>Documentation</td>
</tr> </tr>
<tr> <tr>
<td>docs/html</td> <td>docs/html</td>
<td>HTML pages</td> <td>HTML pages</td>
</tr> </tr>
<tr> <tr>
<td>docs/javadoc</td> <td>docs/javadoc</td>
<td>Javadoc files</td> <td>Javadoc files</td>
</tr> </tr>
<tr> <tr>
<td>ext</td> <td>ext</td>
<td>External dependencies (downloaded when building)</td> <td>External dependencies (downloaded when building)</td>
</tr> </tr>
<tr> <tr>
<td>service</td> <td>service</td>
<td>Tools to run the database as a Windows Service</td> <td>Tools to run the database as a Windows Service</td>
</tr> </tr>
<tr> <tr>
<td>src</td> <td>src</td>
<td>Source files</td> <td>Source files</td>
</tr> </tr>
</table> </table>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
......
...@@ -137,7 +137,6 @@ public class Test { ...@@ -137,7 +137,6 @@ public class Test {
orderBy(p.productId).select(); orderBy(p.productId).select();
} }
private void testWhereSimple4() throws Exception { private void testWhereSimple4() throws Exception {
Customer c = new Customer(); Customer c = new Customer();
List&lt;Customer> waCustomers = List&lt;Customer> waCustomers =
......
...@@ -59,7 +59,7 @@ Click <span class="button">Start</span>, ...@@ -59,7 +59,7 @@ Click <span class="button">Start</span>,
<img class="screenshot" src="images/quickstart-1.png" alt="screenshot: start H2 Console" /><br /> <img class="screenshot" src="images/quickstart-1.png" alt="screenshot: start H2 Console" /><br />
A new console window appears:<br /> A new console window appears:<br />
<img class="screenshot" src="images/quickstart-2.png" alt="screenshot: H2 Running" /><br /> <img class="screenshot" src="images/quickstart-2.png" alt="screenshot: H2 Running" /><br />
Also, a new browser page should open with the URL <a href="http://localhost:8082">http://localhost:8082</a>. Also, a new browser page should open with the URL <a href="http://localhost:8082">http://localhost:8082</a>.
You may get a security warning from the firewall. If you don't want other computers in the network to access the database You may get a security warning from the firewall. If you don't want other computers in the network to access the database
on your machine, you can let the firewall block these connections. Only local connections are required at this time. on your machine, you can let the firewall block these connections. Only local connections are required at this time.
</p> </p>
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* Initial Developer: H2 Group * Initial Developer: H2 Group
*/ */
var pages=new Array(); var pages = new Array();
var ref=new Array(); var ref = new Array();
var firstLink = null; var firstLink = null;
var firstLinkWord = null; var firstLinkWord = null;
...@@ -21,47 +21,47 @@ String.prototype.endsWith = function(suffix) { ...@@ -21,47 +21,47 @@ String.prototype.endsWith = function(suffix) {
function listWords(value, open) { function listWords(value, open) {
value = replaceOtherChars(value); value = replaceOtherChars(value);
value = trim(value); value = trim(value);
if(pages.length==0) { if (pages.length == 0) {
load(); load();
} }
var table = document.getElementById('result'); var table = document.getElementById('result');
while(table.rows.length > 0) { while (table.rows.length > 0) {
table.deleteRow(0); table.deleteRow(0);
} }
firstLink=null; firstLink = null;
var clear = document.getElementById('clear'); var clear = document.getElementById('clear');
if(value.length == 0) { if (value.length == 0) {
clear.style.display = 'none'; clear.style.display = 'none';
return true; return true;
} }
clear.style.display = ''; clear.style.display = '';
var keywords = value.split(' '); var keywords = value.split(' ');
if(keywords.length > 1) { if (keywords.length > 1) {
listAnd(keywords); listAnd(keywords);
return true; return true;
} }
if(value.length < 3) { if (value.length < 3) {
max = 100; max = 100;
} else { } else {
max = 1000; max = 1000;
} }
value = value.toLowerCase(); value = value.toLowerCase();
var r = ref[value.substring(0,1)]; var r = ref[value.substring(0, 1)];
if(r==undefined) { if (r == undefined) {
return true; return true;
} }
var x=0; var x = 0;
var words = r.split(';'); var words = r.split(';');
var count=0; var count = 0;
for(var i=0; i<words.length; i++) { for ( var i = 0; i < words.length; i++) {
var wordRef = words[i]; var wordRef = words[i];
if(wordRef.toLowerCase().indexOf(value)==0) { if (wordRef.toLowerCase().indexOf(value) == 0) {
count++; count++;
} }
} }
for(var i=0; i<words.length && (x<=max); i++) { for ( var i = 0; i < words.length && (x <= max); i++) {
var wordRef = words[i]; var wordRef = words[i];
if(wordRef.toLowerCase().indexOf(value)==0) { if (wordRef.toLowerCase().indexOf(value) == 0) {
word = wordRef.split("=")[0]; word = wordRef.split("=")[0];
var tr = table.insertRow(x++); var tr = table.insertRow(x++);
var td = document.createElement('td'); var td = document.createElement('td');
...@@ -78,19 +78,19 @@ function listWords(value, open) { ...@@ -78,19 +78,19 @@ function listWords(value, open) {
td.appendChild(ah); td.appendChild(ah);
tr.appendChild(td); tr.appendChild(td);
piList = wordRef.split("=")[1].split(","); piList = wordRef.split("=")[1].split(",");
if(count<20 || open==word) { if (count < 20 || open == word) {
x = addReferences(x, piList, word); x = addReferences(x, piList, word);
} }
} }
} }
if(x==0) { if (x == 0) {
noResults(table); noResults(table);
} }
return true; return true;
} }
function set(v) { function set(v) {
if(pages.length==0) { if (pages.length == 0) {
load(); load();
} }
var search = document.getElementById('search').value; var search = document.getElementById('search').value;
...@@ -101,7 +101,7 @@ function set(v) { ...@@ -101,7 +101,7 @@ function set(v) {
function goFirst() { function goFirst() {
var table = document.getElementById('result'); var table = document.getElementById('result');
if(firstLink != null) { if (firstLink != null) {
go(firstLink, firstLinkWord); go(firstLink, firstLinkWord);
} }
return false; return false;
...@@ -110,12 +110,12 @@ function goFirst() { ...@@ -110,12 +110,12 @@ function goFirst() {
function go(pageId, word) { function go(pageId, word) {
var page = pages[pageId]; var page = pages[pageId];
var load = '../' + page.file + '?highlight=' + encodeURIComponent(word); var load = '../' + page.file + '?highlight=' + encodeURIComponent(word);
if(top.main) { if (top.main) {
if(!top.main.location.href.endsWith(page.file)) { if (!top.main.location.href.endsWith(page.file)) {
top.main.location = load; top.main.location = load;
} }
} else { } else {
if(!document.location.href.endsWith(page.file)) { if (!document.location.href.endsWith(page.file)) {
var search = document.getElementById('search').value; var search = document.getElementById('search').value;
document.location = load + '&search=' + encodeURIComponent(search); document.location = load + '&search=' + encodeURIComponent(search);
} }
...@@ -125,39 +125,39 @@ function go(pageId, word) { ...@@ -125,39 +125,39 @@ function go(pageId, word) {
function listAnd(keywords) { function listAnd(keywords) {
var count = new Array(); var count = new Array();
var weight = new Array(); var weight = new Array();
for(var i=0; i<pages.length; i++) { for ( var i = 0; i < pages.length; i++) {
count[i] = 0; count[i] = 0;
weight[i] = 0; weight[i] = 0;
} }
for(var i=0; i<keywords.length; i++) { for ( var i = 0; i < keywords.length; i++) {
var value = keywords[i].toLowerCase(); var value = keywords[i].toLowerCase();
var r = ref[value.substring(0,1)]; var r = ref[value.substring(0, 1)];
if(r==undefined) { if (r == undefined) {
return true; return true;
} }
var words = r.split(';'); var words = r.split(';');
for(var j=0; j<words.length; j++) { for ( var j = 0; j < words.length; j++) {
var wordRef = words[j]; var wordRef = words[j];
if(wordRef.toLowerCase().indexOf(value)==0) { if (wordRef.toLowerCase().indexOf(value) == 0) {
piList = wordRef.split("=")[1].split(","); piList = wordRef.split("=")[1].split(",");
var w=1; var w = 1;
for(var k=0; k<piList.length; k++) { for ( var k = 0; k < piList.length; k++) {
var pi = piList[k]; var pi = piList[k];
if(pi.charAt(0) == 't') { if (pi.charAt(0) == 't') {
pi = pi.substring(1); pi = pi.substring(1);
w=10000; w = 10000;
} else if(pi.charAt(0) == 'h') { } else if (pi.charAt(0) == 'h') {
pi = pi.substring(1); pi = pi.substring(1);
w=100; w = 100;
} else if(pi.charAt(0) == 'r') { } else if (pi.charAt(0) == 'r') {
pi = pi.substring(1); pi = pi.substring(1);
w=1; w = 1;
} }
if(count[pi]>=i) { if (count[pi] >= i) {
if(count[pi]==i) { if (count[pi] == i) {
count[pi]++; count[pi]++;
} }
weight[pi]+=w; weight[pi] += w;
} }
} }
} }
...@@ -167,15 +167,15 @@ function listAnd(keywords) { ...@@ -167,15 +167,15 @@ function listAnd(keywords) {
var table = document.getElementById('result'); var table = document.getElementById('result');
var piList = new Array(); var piList = new Array();
var piWeight = new Array(); var piWeight = new Array();
for(var i=0; i<pages.length; i++) { for ( var i = 0; i < pages.length; i++) {
if(count[i] >= keywords.length) { if (count[i] >= keywords.length) {
piList[x] = '' + i; piList[x] = '' + i;
piWeight[x] = weight[i]; piWeight[x] = weight[i];
x++; x++;
} }
} }
// sort // sort
for (var i = 1, j; i < x; i++) { for ( var i = 1, j; i < x; i++) {
var tw = piWeight[i]; var tw = piWeight[i];
var ti = piList[i]; var ti = piList[i];
for (j = i - 1; j >= 0 && (piWeight[j] < tw); j--) { for (j = i - 1; j >= 0 && (piWeight[j] < tw); j--) {
...@@ -186,20 +186,20 @@ function listAnd(keywords) { ...@@ -186,20 +186,20 @@ function listAnd(keywords) {
piList[j + 1] = ti; piList[j + 1] = ti;
} }
addReferences(0, piList, keywords); addReferences(0, piList, keywords);
if(piList.length == 0) { if (piList.length == 0) {
noResults(table); noResults(table);
} }
} }
function addReferences(x, piList, word) { function addReferences(x, piList, word) {
var table = document.getElementById('result'); var table = document.getElementById('result');
for(var j=0; j<piList.length; j++) { for ( var j = 0; j < piList.length; j++) {
var pi = piList[j]; var pi = piList[j];
if(pi.charAt(0) == 't') { if (pi.charAt(0) == 't') {
pi = pi.substring(1); pi = pi.substring(1);
} else if(pi.charAt(0) == 'h') { } else if (pi.charAt(0) == 'h') {
pi = pi.substring(1); pi = pi.substring(1);
} else if(pi.charAt(0) == 'r') { } else if (pi.charAt(0) == 'r') {
pi = pi.substring(1); pi = pi.substring(1);
} }
var tr = table.insertRow(x++); var tr = table.insertRow(x++);
...@@ -210,7 +210,7 @@ function addReferences(x, piList, word) { ...@@ -210,7 +210,7 @@ function addReferences(x, piList, word) {
var ah = document.createElement('a'); var ah = document.createElement('a');
var href = document.createAttribute('href'); var href = document.createAttribute('href');
var thisLink = 'javascript:go(' + pi + ', "' + word + '")'; var thisLink = 'javascript:go(' + pi + ', "' + word + '")';
if(firstLink==null) { if (firstLink == null) {
firstLink = pi; firstLink = pi;
firstLinkWord = word; firstLinkWord = word;
} }
...@@ -226,20 +226,20 @@ function addReferences(x, piList, word) { ...@@ -226,20 +226,20 @@ function addReferences(x, piList, word) {
} }
function trim(s) { function trim(s) {
while(s.charAt(0)==' ' && s.length>0) { while (s.charAt(0) == ' ' && s.length > 0) {
s=s.substring(1); s = s.substring(1);
} }
while(s.charAt(s.length-1)==' ' && s.length>0) { while (s.charAt(s.length - 1) == ' ' && s.length > 0) {
s=s.substring(0, s.length-1); s = s.substring(0, s.length - 1);
} }
return s; return s;
} }
function replaceOtherChars(s) { function replaceOtherChars(s) {
var x = ""; var x = "";
for(var i=0; i<s.length; i++) { for ( var i = 0; i < s.length; i++) {
var c = s.charAt(i); var c = s.charAt(i);
if("\t\r\n\"'.,:;!&/\\?%@`[]{}()+-=<>|*^~#$".indexOf(c) >= 0) { if ("\t\r\n\"'.,:;!&/\\?%@`[]{}()+-=<>|*^~#$".indexOf(c) >= 0) {
c = " "; c = " ";
} }
x += c; x += c;
......
...@@ -10,7 +10,7 @@ Initial Developer: H2 Group ...@@ -10,7 +10,7 @@ Initial Developer: H2 Group
H2 Database Engine H2 Database Engine
</title><link rel="stylesheet" type="text/css" href="html/stylesheet.css" /> </title><link rel="stylesheet" type="text/css" href="html/stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
location.href = 'html/main.html'; location.href = 'html/main.html';
</script> </script>
</head> </head>
<body style="margin: 20px;"> <body style="margin: 20px;">
......
...@@ -878,13 +878,15 @@ Description ...@@ -878,13 +878,15 @@ Description
AES-128 AES-128
@advanced_1293_td @advanced_1293_td
A block encryption algorithm. See also: <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a> A block encryption algorithm. See also: <a
href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
@advanced_1294_td @advanced_1294_td
Birthday Paradox Birthday Paradox
@advanced_1295_td @advanced_1295_td
Describes the higher than expected probability that two persons in a room have the same birthday. Also valid for randomly generated UUIDs. See also: <a href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia: Birthday Paradox</a> Describes the higher than expected probability that two persons in a room have the same birthday. Also valid for randomly generated UUIDs. See also: <a
href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia: Birthday Paradox</a>
@advanced_1296_td @advanced_1296_td
Digest Digest
...@@ -896,7 +898,8 @@ Protocol to protect a password (but not to protect data). See also: <a href="htt ...@@ -896,7 +898,8 @@ Protocol to protect a password (but not to protect data). See also: <a href="htt
GCJ GCJ
@advanced_1299_td @advanced_1299_td
Compiler for Java. <a href="http://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a href="http://www.dobysoft.com/products/nativej">NativeJ (commercial)</a> Compiler for Java. <a href="http://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a
href="http://www.dobysoft.com/products/nativej">NativeJ (commercial)</a>
@advanced_1300_td @advanced_1300_td
HTTPS HTTPS
...@@ -920,13 +923,15 @@ Random number to increase the security of passwords. See also: <a href="http:// ...@@ -920,13 +923,15 @@ Random number to increase the security of passwords. See also: <a href="http://
SHA-256 SHA-256
@advanced_1307_td @advanced_1307_td
A cryptographic one-way hash function. See also: <a href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a> A cryptographic one-way hash function. See also: <a
href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a>
@advanced_1308_td @advanced_1308_td
SQL Injection SQL Injection
@advanced_1309_td @advanced_1309_td
A security vulnerability where an application generates SQL statements with embedded user input. See also: <a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a> A security vulnerability where an application generates SQL statements with embedded user input. See also: <a
href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
@advanced_1310_td @advanced_1310_td
Watermark Attack Watermark Attack
...@@ -944,7 +949,8 @@ Secure Sockets Layer / Transport Layer Security. See also: <a href="http://java ...@@ -944,7 +949,8 @@ Secure Sockets Layer / Transport Layer Security. See also: <a href="http://java
XTEA XTEA
@advanced_1315_td @advanced_1315_td
A block encryption algorithm. See also: <a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a> A block encryption algorithm. See also: <a
href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
@build_1000_h1 @build_1000_h1
Build Build
......
...@@ -880,73 +880,79 @@ SSL/TLS 接続 ...@@ -880,73 +880,79 @@ SSL/TLS 接続
AES-128 AES-128
@advanced_1293_td @advanced_1293_td
ブロック暗号化アルゴリズム。こちらもご覧下さい:<a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a> #A block encryption algorithm. See also: <a
href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia: AES</a>
@advanced_1294_td @advanced_1294_td
Birthday Paradox Birthday Paradox
@advanced_1295_td @advanced_1295_td
部屋にいる二人が同じ誕生日の可能性が期待された以上に高いということを説明する。 また、有効なランダムに生成されたUUID。こちらもご覧下さい:<a href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia: Birthday Paradox</a> #Describes the higher than expected probability that two persons in a room have the same birthday. Also valid for randomly generated UUIDs. See also: <a
href="http://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia: Birthday Paradox</a>
@advanced_1296_td @advanced_1296_td
Digest Digest
@advanced_1297_td @advanced_1297_td
パスワードを保護するプロトコル (データは保護しません)。こちらもご覧下さい:<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a> #Protocol to protect a password (but not to protect data). See also: <a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617: HTTP Digest Access Authentication</a>
@advanced_1298_td @advanced_1298_td
GCJ GCJ
@advanced_1299_td @advanced_1299_td
#Compiler for Java. <a href="http://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a href="http://www.dobysoft.com/products/nativej">NativeJ (commercial)</a> #Compiler for Java. <a href="http://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a
href="http://www.dobysoft.com/products/nativej">NativeJ (commercial)</a>
@advanced_1300_td @advanced_1300_td
HTTPS HTTPS
@advanced_1301_td @advanced_1301_td
セキュリティをHTTP接続に提供するプロトコル。こちらもご覧下さい: <a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a> #A protocol to provide security to HTTP connections. See also: <a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818: HTTP Over TLS</a>
@advanced_1302_td @advanced_1302_td
Modes of Operation Modes of Operation
@advanced_1303_a @advanced_1303_a
Wikipedia: Block cipher modes of operation #Wikipedia: Block cipher modes of operation
@advanced_1304_td @advanced_1304_td
Salt Salt
@advanced_1305_td @advanced_1305_td
パスワードのセキュリティを増大する乱数。こちらもご覧下さい: <a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a> #Random number to increase the security of passwords. See also: <a href="http://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia: Key derivation function</a>
@advanced_1306_td @advanced_1306_td
SHA-256 SHA-256
@advanced_1307_td @advanced_1307_td
暗号化の一方方向のハッシュ関数。こちらもご覧下さい:<a href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a> #A cryptographic one-way hash function. See also: <a
href="http://en.wikipedia.org/wiki/SHA_family">Wikipedia: SHA hash functions</a>
@advanced_1308_td @advanced_1308_td
SQLインジェクション SQLインジェクション
@advanced_1309_td @advanced_1309_td
組み込みのユーザー入力でアプリケーションがSQLステートメントを生成するセキュリティ脆弱性 こちらもご覧下さい:<a href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a> #A security vulnerability where an application generates SQL statements with embedded user input. See also: <a
href="http://en.wikipedia.org/wiki/SQL_injection">Wikipedia: SQL Injection</a>
@advanced_1310_td @advanced_1310_td
Watermark Attack (透かし攻撃) Watermark Attack (透かし攻撃)
@advanced_1311_td @advanced_1311_td
復号化することなくあるデータの存在を証明できる、ある暗号化プログラムのセキュリティ問題。 詳細は、インターネットで "watermark attack cryptoloop" を検索して下さい。 #Security problem of certain encryption programs where the existence of certain data can be proven without decrypting. For more information, search in the internet for 'watermark attack cryptoloop'
@advanced_1312_td @advanced_1312_td
SSL/TLS SSL/TLS
@advanced_1313_td @advanced_1313_td
Secure Sockets Layer / Transport Layer Security。こちらもご覧下さい: <a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a> #Secure Sockets Layer / Transport Layer Security. See also: <a href="http://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
@advanced_1314_td @advanced_1314_td
XTEA XTEA
@advanced_1315_td @advanced_1315_td
ブロック暗号化アルゴリズム。こちらもご覧下さい: <a href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a> #A block encryption algorithm. See also: <a
href="http://en.wikipedia.org/wiki/XTEA">Wikipedia: XTEA</a>
@build_1000_h1 @build_1000_h1
ビルド ビルド
...@@ -4156,7 +4162,7 @@ Java Stringは不変のオブジェクトであり、アプリケーションに ...@@ -4156,7 +4162,7 @@ Java Stringは不変のオブジェクトであり、アプリケーションに
ユーザー名 と (または) パスワードをURLで認証する ユーザー名 と (または) パスワードをURLで認証する
@features_1563_p @features_1563_p
ユーザー名を <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code> のように切り離されたパラメータとして認証する代わりに、URLそのもので <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code> ユーザー名 (と (または) パスワード)を提供することができます。URL内の設定は、切り離されたパラメータとして認証させる設定より優先されます。 #Instead of passing the user name as a separate parameter as in <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test", "sa", "123");</code> the user name (and/or password) can be supplied in the URL itself: <code>Connection conn = DriverManager. getConnection("jdbc:h2:~/test;USER=sa;PASSWORD=123");</code> The settings in the URL override the settings passed as a separate parameter.
@features_1564_h2 @features_1564_h2
ユーザー定義の関数とストアドプロシージャ ユーザー定義の関数とストアドプロシージャ
......
...@@ -291,13 +291,13 @@ advanced_1289_h2=Glossary and Links ...@@ -291,13 +291,13 @@ advanced_1289_h2=Glossary and Links
advanced_1290_th=Term advanced_1290_th=Term
advanced_1291_th=Description advanced_1291_th=Description
advanced_1292_td=AES-128 advanced_1292_td=AES-128
advanced_1293_td=A block encryption algorithm. See also\: <a href\="http\://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia\: AES</a> advanced_1293_td=A block encryption algorithm. See also\: <a\n href\="http\://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Wikipedia\: AES</a>
advanced_1294_td=Birthday Paradox advanced_1294_td=Birthday Paradox
advanced_1295_td=Describes the higher than expected probability that two persons in a room have the same birthday. Also valid for randomly generated UUIDs. See also\: <a href\="http\://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia\: Birthday Paradox</a> advanced_1295_td=Describes the higher than expected probability that two persons in a room have the same birthday. Also valid for randomly generated UUIDs. See also\: <a\n href\="http\://en.wikipedia.org/wiki/Birthday_paradox">Wikipedia\: Birthday Paradox</a>
advanced_1296_td=Digest advanced_1296_td=Digest
advanced_1297_td=Protocol to protect a password (but not to protect data). See also\: <a href\="http\://www.faqs.org/rfcs/rfc2617.html">RFC 2617\: HTTP Digest Access Authentication</a> advanced_1297_td=Protocol to protect a password (but not to protect data). See also\: <a href\="http\://www.faqs.org/rfcs/rfc2617.html">RFC 2617\: HTTP Digest Access Authentication</a>
advanced_1298_td=GCJ advanced_1298_td=GCJ
advanced_1299_td=Compiler for Java. <a href\="http\://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a href\="http\://www.dobysoft.com/products/nativej">NativeJ (commercial)</a> advanced_1299_td=Compiler for Java. <a href\="http\://gcc.gnu.org/java">GNU Compiler for the Java</a> and <a\n href\="http\://www.dobysoft.com/products/nativej">NativeJ (commercial)</a>
advanced_1300_td=HTTPS advanced_1300_td=HTTPS
advanced_1301_td=A protocol to provide security to HTTP connections. See also\: <a href\="http\://www.ietf.org/rfc/rfc2818.txt">RFC 2818\: HTTP Over TLS</a> advanced_1301_td=A protocol to provide security to HTTP connections. See also\: <a href\="http\://www.ietf.org/rfc/rfc2818.txt">RFC 2818\: HTTP Over TLS</a>
advanced_1302_td=Modes of Operation advanced_1302_td=Modes of Operation
...@@ -305,15 +305,15 @@ advanced_1303_a=Wikipedia\: Block cipher modes of operation ...@@ -305,15 +305,15 @@ advanced_1303_a=Wikipedia\: Block cipher modes of operation
advanced_1304_td=Salt advanced_1304_td=Salt
advanced_1305_td=Random number to increase the security of passwords. See also\: <a href\="http\://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia\: Key derivation function</a> advanced_1305_td=Random number to increase the security of passwords. See also\: <a href\="http\://en.wikipedia.org/wiki/Key_derivation_function">Wikipedia\: Key derivation function</a>
advanced_1306_td=SHA-256 advanced_1306_td=SHA-256
advanced_1307_td=A cryptographic one-way hash function. See also\: <a href\="http\://en.wikipedia.org/wiki/SHA_family">Wikipedia\: SHA hash functions</a> advanced_1307_td=A cryptographic one-way hash function. See also\: <a\n href\="http\://en.wikipedia.org/wiki/SHA_family">Wikipedia\: SHA hash functions</a>
advanced_1308_td=SQL Injection advanced_1308_td=SQL Injection
advanced_1309_td=A security vulnerability where an application generates SQL statements with embedded user input. See also\: <a href\="http\://en.wikipedia.org/wiki/SQL_injection">Wikipedia\: SQL Injection</a> advanced_1309_td=A security vulnerability where an application generates SQL statements with embedded user input. See also\: <a\n href\="http\://en.wikipedia.org/wiki/SQL_injection">Wikipedia\: SQL Injection</a>
advanced_1310_td=Watermark Attack advanced_1310_td=Watermark Attack
advanced_1311_td=Security problem of certain encryption programs where the existence of certain data can be proven without decrypting. For more information, search in the internet for 'watermark attack cryptoloop' advanced_1311_td=Security problem of certain encryption programs where the existence of certain data can be proven without decrypting. For more information, search in the internet for 'watermark attack cryptoloop'
advanced_1312_td=SSL/TLS advanced_1312_td=SSL/TLS
advanced_1313_td=Secure Sockets Layer / Transport Layer Security. See also\: <a href\="http\://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a> advanced_1313_td=Secure Sockets Layer / Transport Layer Security. See also\: <a href\="http\://java.sun.com/products/jsse/">Java Secure Socket Extension (JSSE)</a>
advanced_1314_td=XTEA advanced_1314_td=XTEA
advanced_1315_td=A block encryption algorithm. See also\: <a href\="http\://en.wikipedia.org/wiki/XTEA">Wikipedia\: XTEA</a> advanced_1315_td=A block encryption algorithm. See also\: <a\n href\="http\://en.wikipedia.org/wiki/XTEA">Wikipedia\: XTEA</a>
build_1000_h1=Build build_1000_h1=Build
build_1001_a=Portability build_1001_a=Portability
build_1002_a=Environment build_1002_a=Environment
......
...@@ -99,16 +99,18 @@ public class WebServer implements Service { ...@@ -99,16 +99,18 @@ public class WebServer implements Service {
*/ */
private static final long SESSION_TIMEOUT = 30 * 60 * 1000; private static final long SESSION_TIMEOUT = 30 * 60 * 1000;
/* // static {
String[] list = Locale.getISOLanguages(); // String[] list = Locale.getISOLanguages();
for(int i=0; i<list.length; i++) System.out.print(list[i] + " "); // for (int i = 0; i < list.length; i++) {
String lang = new java.util.Locale("hu"). // System.out.print(list[i] + " ");
getDisplayLanguage(new java.util.Locale("hu")); // }
java.util.Locale.CHINESE.getDisplayLanguage( // String lang = new java.util.Locale("hu").
java.util.Locale.CHINESE); // getDisplayLanguage(new java.util.Locale("hu"));
for(int i=0; i<lang.length(); i++) // java.util.Locale.CHINESE.getDisplayLanguage(java.util.Locale.CHINESE);
System.out.println(Integer.toHexString(lang.charAt(i))+" "); // for (int i = 0; i < lang.length(); i++) {
*/ // System.out.println(Integer.toHexString(lang.charAt(i)) + " ");
// }
// }
// private URLClassLoader urlClassLoader; // private URLClassLoader urlClassLoader;
private String driverList; private String driverList;
......
...@@ -13,7 +13,7 @@ Initial Developer: H2 Group ...@@ -13,7 +13,7 @@ Initial Developer: H2 Group
<link rel="stylesheet" type="text/css" href="stylesheet.css" /> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head> </head>
<body class="result" onkeyup="auto(event)"> <body class="result" onkeyup="auto(event)">
<!-- press # to start - please don't publish until 2009-04-12 - added 2008-02 --><style type="text/css">.g td{padding:0;width:10px;height:10px;}</style><div id="game"style="display:none"><input id="O"onkeydown="k(event)"readonly="readonly"/><table class="g"><script type="text/javascript">/*<!--*/var L=264,M=new Array(),S,R,P,W,C,D=document,O=D.getElementById("O");function z(){S=R=0;P=17;W=200;C=1;for(i=0;i<L;i++)M[i]=i<253&&(i+1)%12>1?0:8;}function d(){for(i=0;i<L;i++)D.getElementsByTagName("td")[i].style.backgroundColor="#"+"fffff000e00c00a008006004000".substr(3*M[i],3);}function k(e){c=e.keyCode;c?c=c:e.charCode;r=R;p=P;if(c==37)p-=1;if(c==38||c==32)r="AHILMNQBJKCDEOPFRSG".charCodeAt(R)-65;if(c==39)p++;if(c==40)W=10;s(0);if(!t(p,r)){P=p;R=r;s(C);d();s(0);}else s(C);}function f(){setTimeout("f()",W);O.focus();s(0);if(!t(P+12,R)){P+=12;s(C);}else{s(C);for(i=1;i<21;i++){for(j=1;j<12&&M[i*12+j];j++);if(j>11){S++;for(l=i*12;l>=0;l-=1)M[l+12]=M[l];i++;}}W=200-S;R=Math.random()*7&7;C=R+1;if(P<24)z();P=17;}d();O.value=S;}function g(x){return"01<=/012$/01$01=%01<$0<=$0;<$0<H$01</01<$/0<01;</0<=/01;#$0<'+'%/01#/01$%0</01=".charCodeAt(x)-48;}function s(n){for(i=0;i<4;i++)M[P+g(4*R+i)]=n;}function t(x,y){for(i=3;i>=0&&!M[x+g(4*y+i)];i-=1);return i+1;}for(i=0;i<L;i++)D.write("<td>"+((i%12)>10?"<tr>":""));function auto(e){c=e.keyCode;c=c?c:e.charCode;if(c==51){D.getElementById('output').style.display='none';D.getElementById('game').style.display='';z();f();}}/*-->*/</script></table></div> <!-- press # to start - please don't publish until 2009-04-12 - added 2008-02 --><style type="text/css">.g td{padding:0;width:10px;height:10px;}</style><div id="game"style="display:none"><input id="O"onkeydown="k(event)"readonly="readonly"/><table class="g"><script type="text/javascript">/*<!--*/var L=264,M=new Array(),S,R,P,W,C,D=document,O=D.getElementById("O");function z(){S=R=0;P=17;W=200;C=1;for(i=0;i<L;i++)M[i]=i<253&&(i+1)%12>1?0:8;}function d(){for(i=0;i<L;i++)D.getElementsByTagName("td")[i].style.backgroundColor="#"+"fffff000e00c00a008006004000".substr(3*M[i],3);}function k(e){c=e.keyCode;c?c=c:e.charCode;r=R;p=P;if(c==37)p-=1;if(c==38||c==32)r="AHILMNQBJKCDEOPFRSG".charCodeAt(R)-65;if(c==39)p++;if(c==40)W=10;s(0);if(!t(p,r)){P=p;R=r;s(C);d();s(0);}else s(C);}function f(){setTimeout("f()",W);O.focus();s(0);if(!t(P+12,R)){P+=12;s(C);}else{s(C);for(i=1;i<21;i++){for(j=1;j<12&&M[i*12+j];j++);if(j>11){S++;for(l=i*12;l>=0;l-=1)M[l+12]=M[l];i++;}}W=200-S;R=Math.random()*7&7;C=R+1;if(P<24)z();P=17;}d();O.value=S;}function g(x){return("01<=/012$/01$01=%01<$0<=$0;<$0<H$01</01<$/0<01;</0<=/01;#$0<"+"%/01#/01$%0</01=").charCodeAt(x)-48;}function s(n){for(i=0;i<4;i++)M[P+g(4*R+i)]=n;}function t(x,y){for(i=3;i>=0&&!M[x+g(4*y+i)];i-=1);return i+1;}for(i=0;i<L;i++)D.write("<td>"+((i%12)>10?"<tr>":""));function auto(e){c=e.keyCode;c=c?c:e.charCode;if(c==51){D.getElementById('output').style.display='none';D.getElementById('game').style.display='';z();f();}}/*-->*/</script></table></div>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
function set(s) { function set(s) {
......
...@@ -11,7 +11,7 @@ Initial Developer: H2 Group ...@@ -11,7 +11,7 @@ Initial Developer: H2 Group
<title>${text.a.title}</title> <title>${text.a.title}</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" /> <link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript"> <script type="text/javascript">
location.href = 'login.jsp?jsessionid=${sessionId}'; location.href = 'login.jsp?jsessionid=${sessionId}';
</script> </script>
</head> </head>
<body style="margin: 20px;"> <body style="margin: 20px;">
......
...@@ -16,8 +16,8 @@ Initial Developer: H2 Group ...@@ -16,8 +16,8 @@ Initial Developer: H2 Group
<body class="result"> <body class="result">
<div id="output"> <div id="output">
${result} ${result}
</div> </div>
<table id="h2auto" class="autoComp"><tbody></tbody></table> <table id="h2auto" class="autoComp"><tbody></tbody></table>
......
...@@ -69,8 +69,8 @@ drop table statisticlog; ...@@ -69,8 +69,8 @@ drop table statisticlog;
create table statisticlog(id int primary key, datatext varchar, moment int); create table statisticlog(id int primary key, datatext varchar, moment int);
@LOOP 20000 insert into statisticlog values(?, ?, ?); @LOOP 20000 insert into statisticlog values(?, ?, ?);
merge into statisticlog(id, datatext) key(id) merge into statisticlog(id, datatext) key(id)
select id, 'data1' from statisticlog order by moment limit 5; select id, 'data1' from statisticlog order by moment limit 5;
select * from statisticlog where id < 10; select * from statisticlog where id < 10;
UPDATE statisticlog SET datatext = 'data2' UPDATE statisticlog SET datatext = 'data2'
WHERE id IN (SELECT id FROM statisticlog ORDER BY moment LIMIT 5); WHERE id IN (SELECT id FROM statisticlog ORDER BY moment LIMIT 5);
select * from statisticlog where id < 10; select * from statisticlog where id < 10;
\ No newline at end of file
...@@ -10,6 +10,6 @@ you need to add ...@@ -10,6 +10,6 @@ you need to add
return new H2MetaData(ds); return new H2MetaData(ds);
else else
just before just before
if ("oracle".equalsIgnoreCase(name)) if ("oracle".equalsIgnoreCase(name))
...@@ -215,6 +215,21 @@ public class CheckTextFiles { ...@@ -215,6 +215,21 @@ public class CheckTextFiles {
System.out.println("CHANGED: File " + file.getName()); System.out.println("CHANGED: File " + file.getName());
} }
} }
line = 1;
for (int i = 0; i < data.length; i++) {
if (data[i] < 32) {
line++;
for (int j = i + 1; j < data.length; j++) {
if (data[j] != 32) {
int mod = (j - i - 1) & 3;
if (mod != 0 && (mod != 1 || data[j] != '*')) {
fail(file, "contains wrong number of heading spaces: " + (j - i - 1), line);
}
break;
}
}
}
}
} }
private void fail(File file, String error, int line) { private void fail(File file, String error, int line) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论