提交 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 =
......
...@@ -45,405 +45,405 @@ copyright and license as the original code. The copyright of the ported source c ...@@ -45,405 +45,405 @@ copyright and license as the original code. The copyright of the ported source c
<h2>H2 License, Version 1.0</h2> <h2>H2 License, Version 1.0</h2>
<h3 id="section-1">1. Definitions</h3> <h3 id="section-1">1. Definitions</h3>
<p id="section-1.0.1"><b>1.0.1. "Commercial Use"</b> <p id="section-1.0.1"><b>1.0.1. "Commercial Use"</b>
means distribution or otherwise making the Covered Code available to a third party. means distribution or otherwise making the Covered Code available to a third party.
</p> </p>
<p id="section-1.1"><b>1.1. "Contributor"</b> <p id="section-1.1"><b>1.1. "Contributor"</b>
means each entity that creates or contributes to the creation of Modifications. means each entity that creates or contributes to the creation of Modifications.
</p> </p>
<p id="section-1.2"><b>1.2. "Contributor Version"</b> <p id="section-1.2"><b>1.2. "Contributor Version"</b>
means the combination of the Original Code, prior Modifications used by a Contributor, means the combination of the Original Code, prior Modifications used by a Contributor,
and the Modifications made by that particular Contributor. and the Modifications made by that particular Contributor.
</p> </p>
<p id="section-1.3"><b>1.3. "Covered Code"</b> <p id="section-1.3"><b>1.3. "Covered Code"</b>
means the Original Code or Modifications or the combination of the Original Code and means the Original Code or Modifications or the combination of the Original Code and
Modifications, in each case including portions thereof. Modifications, in each case including portions thereof.
</p> </p>
<p id="section-1.4"><b>1.4. "Electronic Distribution Mechanism"</b> <p id="section-1.4"><b>1.4. "Electronic Distribution Mechanism"</b>
means a mechanism generally accepted in the software development community for the means a mechanism generally accepted in the software development community for the
electronic transfer of data. electronic transfer of data.
</p> </p>
<p id="section-1.5"><b>1.5. "Executable"</b> <p id="section-1.5"><b>1.5. "Executable"</b>
means Covered Code in any form other than Source Code. means Covered Code in any form other than Source Code.
</p> </p>
<p id="section-1.6"><b>1.6. "Initial Developer"</b> <p id="section-1.6"><b>1.6. "Initial Developer"</b>
means the individual or entity identified as the Initial Developer in the Source Code means the individual or entity identified as the Initial Developer in the Source Code
notice required by <a href="#exhibit-a">Exhibit A</a>. notice required by <a href="#exhibit-a">Exhibit A</a>.
</p> </p>
<p id="section-1.7"><b>1.7. "Larger Work"</b> <p id="section-1.7"><b>1.7. "Larger Work"</b>
means a work which combines Covered Code or portions thereof with code not governed means a work which combines Covered Code or portions thereof with code not governed
by the terms of this License. by the terms of this License.
</p> </p>
<p id="section-1.8"><b>1.8. "License"</b> <p id="section-1.8"><b>1.8. "License"</b>
means this document. means this document.
</p> </p>
<p id="section-1.8.1"><b>1.8.1. "Licensable"</b> <p id="section-1.8.1"><b>1.8.1. "Licensable"</b>
means having the right to grant, to the maximum extent possible, whether at the means having the right to grant, to the maximum extent possible, whether at the
time of the initial grant or subsequently acquired, any and all of the rights time of the initial grant or subsequently acquired, any and all of the rights
conveyed herein. conveyed herein.
</p> </p>
<p id="section-1.9"><b>1.9. "Modifications"</b> <p id="section-1.9"><b>1.9. "Modifications"</b>
means any addition to or deletion from the substance or structure of either the means any addition to or deletion from the substance or structure of either the
Original Code or any previous Modifications. When Covered Code is released as a Original Code or any previous Modifications. When Covered Code is released as a
series of files, a Modification is: series of files, a Modification is:
</p> </p>
<p id="section-1.9-a">1.9.a. Any addition to or deletion from the contents of a file <p id="section-1.9-a">1.9.a. Any addition to or deletion from the contents of a file
containing Original Code or previous Modifications. containing Original Code or previous Modifications.
</p> </p>
<p id="section-1.9-b">1.9.b. Any new file that contains any part of the Original Code or <p id="section-1.9-b">1.9.b. Any new file that contains any part of the Original Code or
previous Modifications. previous Modifications.
</p> </p>
<p id="section-1.10"><b>1.10. "Original Code"</b> <p id="section-1.10"><b>1.10. "Original Code"</b>
means Source Code of computer software code which is described in the Source Code means Source Code of computer software code which is described in the Source Code
notice required by <a href="#exhibit-a">Exhibit A</a> as Original Code, and which, notice required by <a href="#exhibit-a">Exhibit A</a> as Original Code, and which,
at the time of its release under this License is not already Covered Code governed at the time of its release under this License is not already Covered Code governed
by this License. by this License.
</p> </p>
<p id="section-1.10.1"><b>1.10.1. "Patent Claims"</b> <p id="section-1.10.1"><b>1.10.1. "Patent Claims"</b>
means any patent claim(s), now owned or hereafter acquired, including without means any patent claim(s), now owned or hereafter acquired, including without
limitation, method, process, and apparatus claims, in any patent Licensable by limitation, method, process, and apparatus claims, in any patent Licensable by
grantor. grantor.
</p> </p>
<p id="section-1.11"><b>1.11. "Source Code"</b> <p id="section-1.11"><b>1.11. "Source Code"</b>
means the preferred form of the Covered Code for making modifications to it, means the preferred form of the Covered Code for making modifications to it,
including all modules it contains, plus any associated interface definition files, including all modules it contains, plus any associated interface definition files,
scripts used to control compilation and installation of an Executable, or source scripts used to control compilation and installation of an Executable, or source
code differential comparisons against either the Original Code or another well known, code differential comparisons against either the Original Code or another well known,
available Covered Code of the Contributor's choice. The Source Code can be in a available Covered Code of the Contributor's choice. The Source Code can be in a
compressed or archival form, provided the appropriate decompression or de-archiving compressed or archival form, provided the appropriate decompression or de-archiving
software is widely available for no charge. software is widely available for no charge.
</p> </p>
<p id="section-1.12"><b>1.12. "You" (or "Your")</b> <p id="section-1.12"><b>1.12. "You" (or "Your")</b>
means an individual or a legal entity exercising rights under, and complying with means an individual or a legal entity exercising rights under, and complying with
all of the terms of, this License or a future version of this License issued under all of the terms of, this License or a future version of this License issued under
<a href="#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity <a href="#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity
which controls, is controlled by, or is under common control with You. For purposes of which controls, is controlled by, or is under common control with You. For purposes of
this definition, "control" means (a) the power, direct or indirect, to cause the this definition, "control" means (a) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or otherwise, or (b) direction or management of such entity, whether by contract or otherwise, or (b)
ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of more than fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity. ownership of such entity.
</p> </p>
<h3 id="section-2">2. Source Code License</h3> <h3 id="section-2">2. Source Code License</h3>
<h4 id="section-2.1">2.1. The Initial Developer Grant</h4> <h4 id="section-2.1">2.1. The Initial Developer Grant</h4>
<p>
The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive
license, subject to third party intellectual property claims:
</p>
<p id="section-2.1-a">2.1.a. under intellectual property rights (other than patent or
trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform,
sublicense and distribute the Original Code (or portions thereof) with or without
Modifications, and/or as part of a Larger Work; and
</p>
<p id="section-2.1-b">2.1.b. under Patents Claims infringed by the making, using or selling
of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or
otherwise dispose of the Original Code (or portions thereof).
</p>
<p id="section-2.1-c">2.1.c. the licenses granted in this Section 2.1
(<a href="#section-2.1-a">a</a>) and (<a href="#section-2.1-b">b</a>) are effective on
the date Initial Developer first distributes Original Code under the terms of this
License.
</p>
<p id="section-2.1-d">2.1.d. Notwithstanding Section 2.1 (<a href="#section-2.1-b">b</a>)
above, no patent license is granted: 1) for code that You delete from the Original Code;
2) separate from the Original Code; or 3) for infringements caused by: i) the
modification of the Original Code or ii) the combination of the Original Code with other
software or devices.
</p>
<h4 id="section-2.2">2.2. Contributor Grant</h4>
<p>
Subject to third party intellectual property claims, each Contributor hereby grants You
a world-wide, royalty-free, non-exclusive license
</p>
<p id="section-2.2-a">2.2.a. under intellectual property rights (other than patent or trademark)
Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and
distribute the Modifications created by such Contributor (or portions thereof) either on
an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger
Work; and
</p>
<p id="section-2.2-b">2.2.b. under Patent Claims infringed by the making, using, or selling of
Modifications made by that Contributor either alone and/or in combination with its
Contributor Version (or portions of such combination), to make, use, sell, offer for
sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor
(or portions thereof); and 2) the combination of Modifications made by that Contributor
with its Contributor Version (or portions of such combination).
</p>
<p id="section-2.2-c">2.2.c. the licenses granted in Sections 2.2
(<a href="#section-2.2-a">a</a>) and 2.2 (<a href="#section-2.2-b">b</a>) are effective
on the date Contributor first makes Commercial Use of the Covered Code.
</p>
<p id="section-2.2-d">2.2.c. Notwithstanding Section 2.2 (<a href="#section-2.2-b">b</a>)
above, no patent license is granted: 1) for any code that Contributor has deleted from
the Contributor Version; 2) separate from the Contributor Version; 3) for infringements
caused by: i) third party modifications of Contributor Version or ii) the combination of
Modifications made by that Contributor with other software (except as part of the
Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code
in the absence of Modifications made by that Contributor.
</p>
<h3 id="section-3">3. Distribution Obligations</h3>
<h4 id="section-3.1">3.1. Application of License</h4>
<p>
The Modifications which You create or to which You contribute are governed by the terms
of this License, including without limitation Section <a href="#section-2.2">2.2</a>. The
Source Code version of Covered Code may be distributed only under the terms of this License
or a future version of this License released under Section <a href="#section-6.1">6.1</a>,
and You must include a copy of this License with every copy of the Source Code You
distribute. You may not offer or impose any terms on any Source Code version that alters or
restricts the applicable version of this License or the recipients' rights hereunder.
However, You may include an additional document offering the additional rights described in
Section <a href="#section-3.5">3.5</a>.
</p>
<h4 id="section-3.2">3.2. Availability of Source Code</h4>
<p>
Any Modification which You create or to which You contribute must be made available in
Source Code form under the terms of this License either on the same media as an Executable
version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an
Executable version available; and if made available via Electronic Distribution Mechanism,
must remain available for at least twelve (12) months after the date it initially became
available, or at least six (6) months after a subsequent version of that particular
Modification has been made available to such recipients. You are responsible for ensuring
that the Source Code version remains available even if the Electronic Distribution
Mechanism is maintained by a third party.
</p>
<h4 id="section-3.3">3.3. Description of Modifications</h4>
<p> <p>
You must cause all Covered Code to which You contribute to contain a file documenting the The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive
changes You made to create that Covered Code and the date of any change. You must include a license, subject to third party intellectual property claims:
prominent statement that the Modification is derived, directly or indirectly, from Original </p>
Code provided by the Initial Developer and including the name of the Initial Developer in <p id="section-2.1-a">2.1.a. under intellectual property rights (other than patent or
(a) the Source Code, and (b) in any notice in an Executable version or related documentation trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform,
in which You describe the origin or ownership of the Covered Code. sublicense and distribute the Original Code (or portions thereof) with or without
</p> Modifications, and/or as part of a Larger Work; and
</p>
<h4 id="section-3.4">3.4. Intellectual Property Matters</h4> <p id="section-2.1-b">2.1.b. under Patents Claims infringed by the making, using or selling
<p id="section-3.4-a"><b>3.4.a. Third Party Claims:</b> of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or
If Contributor has knowledge that a license under a third party's intellectual property otherwise dispose of the Original Code (or portions thereof).
rights is required to exercise the rights granted by such Contributor under Sections </p>
<a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a>, Contributor must include a <p id="section-2.1-c">2.1.c. the licenses granted in this Section 2.1
text file with the Source Code distribution titled "LEGAL" which describes the claim and the (<a href="#section-2.1-a">a</a>) and (<a href="#section-2.1-b">b</a>) are effective on
party making the claim in sufficient detail that a recipient will know whom to contact. If the date Initial Developer first distributes Original Code under the terms of this
Contributor obtains such knowledge after the Modification is made available as described in License.
Section <a href="#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in </p>
all copies Contributor makes available thereafter and shall take other steps (such as <p id="section-2.1-d">2.1.d. Notwithstanding Section 2.1 (<a href="#section-2.1-b">b</a>)
notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who above, no patent license is granted: 1) for code that You delete from the Original Code;
received the Covered Code that new knowledge has been obtained. 2) separate from the Original Code; or 3) for infringements caused by: i) the
</p> modification of the Original Code or ii) the combination of the Original Code with other
<p id="section-3.4-b"><b>3.4.b. Contributor APIs:</b> software or devices.
If Contributor's Modifications include an application programming interface and Contributor </p>
has knowledge of patent licenses which are reasonably necessary to implement that
API, Contributor must also include this information in the legal file. <h4 id="section-2.2">2.2. Contributor Grant</h4>
</p> <p>
<p id="section-3.4-c"><b>3.4.c. Representations:</b> Subject to third party intellectual property claims, each Contributor hereby grants You
Contributor represents that, except as disclosed pursuant to Section 3.4 a world-wide, royalty-free, non-exclusive license
(<a href="#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications </p>
are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the <p id="section-2.2-a">2.2.a. under intellectual property rights (other than patent or trademark)
rights conveyed by this License. Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and
</p> distribute the Modifications created by such Contributor (or portions thereof) either on
an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger
<h4 id="section-3.5">3.5. Required Notices</h4> Work; and
<p> </p>
You must duplicate the notice in <a href="#exhibit-a">Exhibit A</a> in each file of the <p id="section-2.2-b">2.2.b. under Patent Claims infringed by the making, using, or selling of
Source Code. If it is not possible to put such notice in a particular Source Code file due to Modifications made by that Contributor either alone and/or in combination with its
its structure, then You must include such notice in a location (such as a relevant directory) Contributor Version (or portions of such combination), to make, use, sell, offer for
where a user would be likely to look for such a notice. If You created one or more sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor
Modification(s) You may add your name as a Contributor to the notice described in (or portions thereof); and 2) the combination of Modifications made by that Contributor
<a href="#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation with its Contributor Version (or portions of such combination).
for the Source Code where You describe recipients' rights or ownership rights relating to </p>
Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity <p id="section-2.2-c">2.2.c. the licenses granted in Sections 2.2
or liability obligations to one or more recipients of Covered Code. However, You may do so (<a href="#section-2.2-a">a</a>) and 2.2 (<a href="#section-2.2-b">b</a>) are effective
only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You on the date Contributor first makes Commercial Use of the Covered Code.
must make it absolutely clear than any such warranty, support, indemnity or liability </p>
obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer <p id="section-2.2-d">2.2.c. Notwithstanding Section 2.2 (<a href="#section-2.2-b">b</a>)
and every Contributor for any liability incurred by the Initial Developer or such Contributor above, no patent license is granted: 1) for any code that Contributor has deleted from
as a result of warranty, support, indemnity or liability terms You offer. the Contributor Version; 2) separate from the Contributor Version; 3) for infringements
</p> caused by: i) third party modifications of Contributor Version or ii) the combination of
Modifications made by that Contributor with other software (except as part of the
<h4 id="section-3.6">3.6. Distribution of Executable Versions</h4> Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code
<p> in the absence of Modifications made by that Contributor.
You may distribute Covered Code in Executable form only if the requirements of Sections </p>
<a href="#section-3.1">3.1</a>, <a href="#section-3.2">3.2</a>,
<a href="#section-3.3">3.3</a>, <a href="#section-3.4">3.4</a> and <h3 id="section-3">3. Distribution Obligations</h3>
<a href="#section-3.5">3.5</a> have been met for that Covered Code, and if You include a <h4 id="section-3.1">3.1. Application of License</h4>
notice stating that the Source Code version of the Covered Code is available under the terms
of this License, including a description of how and where You have fulfilled the obligations
of Section <a href="#section-3.2">3.2</a>. The notice must be conspicuously included in any
notice in an Executable version, related documentation or collateral in which You describe
recipients' rights relating to the Covered Code. You may distribute the Executable version of
Covered Code or ownership rights under a license of Your choice, which may contain terms
different from this License, provided that You are in compliance with the terms of this
License and that the license for the Executable version does not attempt to limit or alter the
recipient's rights in the Source Code version from the rights set forth in this License. If
You distribute the Executable version under a different license You must make it absolutely
clear that any terms which differ from this License are offered by You alone, not by the
Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and
every Contributor for any liability incurred by the Initial Developer or such Contributor as
a result of any such terms You offer.
</p>
<h4 id="section-3.7">3.7. Larger Works</h4>
<p>
You may create a Larger Work by combining Covered Code with other code not governed by the
terms of this License and distribute the Larger Work as a single product. In such a case,
You must make sure the requirements of this License are fulfilled for the Covered Code.
</p>
<h3 id="section-4">4. Inability to Comply Due to Statute or Regulation.</h3>
<p>
If it is impossible for You to comply with any of the terms of this License with respect to
some or all of the Covered Code due to statute, judicial order, or regulation then You must:
(a) comply with the terms of this License to the maximum extent possible; and (b) describe
the limitations and the code they affect. Such description must be included in the
<b>legal</b> file described in Section
<a href="#section-3.4">3.4</a> and must be included with all distributions of the Source Code.
Except to the extent prohibited by statute or regulation, such description must be
sufficiently detailed for a recipient of ordinary skill to be able to understand it.
</p>
<h3 id="section-5">5. Application of this License.</h3>
<p>
This License applies to code to which the Initial Developer has attached the notice in
<a href="#exhibit-a">Exhibit A</a> and to related Covered Code.
</p>
<h3 id="section-6">6. Versions of the License.</h3>
<h4 id="section-6.1">6.1. New Versions</h4>
<p> <p>
The <em class="u">H2 Group</em> may publish revised and/or new versions The Modifications which You create or to which You contribute are governed by the terms
of the License from time to time. Each version will be given a distinguishing version number. of this License, including without limitation Section <a href="#section-2.2">2.2</a>. The
Source Code version of Covered Code may be distributed only under the terms of this License
or a future version of this License released under Section <a href="#section-6.1">6.1</a>,
and You must include a copy of this License with every copy of the Source Code You
distribute. You may not offer or impose any terms on any Source Code version that alters or
restricts the applicable version of this License or the recipients' rights hereunder.
However, You may include an additional document offering the additional rights described in
Section <a href="#section-3.5">3.5</a>.
</p> </p>
<h4 id="section-6.2">6.2. Effect of New Versions</h4> <h4 id="section-3.2">3.2. Availability of Source Code</h4>
<p> <p>
Once Covered Code has been published under a particular version of the License, You may Any Modification which You create or to which You contribute must be made available in
always continue to use it under the terms of that version. You may also choose to use such Source Code form under the terms of this License either on the same media as an Executable
Covered Code under the terms of any subsequent version of the License published by the <em class="u">H2 Group</em>. version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an
No one other than the <em class="u">H2 Group</em> has the right to modify the terms applicable to Covered Code Executable version available; and if made available via Electronic Distribution Mechanism,
created under this License. must remain available for at least twelve (12) months after the date it initially became
available, or at least six (6) months after a subsequent version of that particular
Modification has been made available to such recipients. You are responsible for ensuring
that the Source Code version remains available even if the Electronic Distribution
Mechanism is maintained by a third party.
</p> </p>
<h4 id="section-6.3">6.3. Derivative Works</h4> <h4 id="section-3.3">3.3. Description of Modifications</h4>
<p> <p>
If You create or use a modified version of this License (which you may only do in order to You must cause all Covered Code to which You contribute to contain a file documenting the
apply it to code which is not already Covered Code governed by this License), You must (a) changes You made to create that Covered Code and the date of any change. You must include a
rename Your license so that the phrases <em class="u">"H2 Group", "H2"</em> prominent statement that the Modification is derived, directly or indirectly, from Original
or any confusingly similar phrase do not appear in your license (except to note that Code provided by the Initial Developer and including the name of the Initial Developer in
your license differs from this License) and (b) otherwise make it clear that Your version of (a) the Source Code, and (b) in any notice in an Executable version or related documentation
the license contains terms which differ from the <em class="u">H2 License</em>. in which You describe the origin or ownership of the Covered Code.
(Filling in the name of the Initial Developer, Original Code or Contributor in the </p>
notice described in <a href="#exhibit-a">Exhibit A</a> shall not of themselves be deemed to
be modifications of this License.) <h4 id="section-3.4">3.4. Intellectual Property Matters</h4>
<p id="section-3.4-a"><b>3.4.a. Third Party Claims:</b>
If Contributor has knowledge that a license under a third party's intellectual property
rights is required to exercise the rights granted by such Contributor under Sections
<a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a>, Contributor must include a
text file with the Source Code distribution titled "LEGAL" which describes the claim and the
party making the claim in sufficient detail that a recipient will know whom to contact. If
Contributor obtains such knowledge after the Modification is made available as described in
Section <a href="#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in
all copies Contributor makes available thereafter and shall take other steps (such as
notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who
received the Covered Code that new knowledge has been obtained.
</p>
<p id="section-3.4-b"><b>3.4.b. Contributor APIs:</b>
If Contributor's Modifications include an application programming interface and Contributor
has knowledge of patent licenses which are reasonably necessary to implement that
API, Contributor must also include this information in the legal file.
</p>
<p id="section-3.4-c"><b>3.4.c. Representations:</b>
Contributor represents that, except as disclosed pursuant to Section 3.4
(<a href="#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications
are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the
rights conveyed by this License.
</p> </p>
<h3 id="section-7">7. Disclaimer of Warranty</h3> <h4 id="section-3.5">3.5. Required Notices</h4>
<p>
You must duplicate the notice in <a href="#exhibit-a">Exhibit A</a> in each file of the
Source Code. If it is not possible to put such notice in a particular Source Code file due to
its structure, then You must include such notice in a location (such as a relevant directory)
where a user would be likely to look for such a notice. If You created one or more
Modification(s) You may add your name as a Contributor to the notice described in
<a href="#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation
for the Source Code where You describe recipients' rights or ownership rights relating to
Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity
or liability obligations to one or more recipients of Covered Code. However, You may do so
only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You
must make it absolutely clear than any such warranty, support, indemnity or liability
obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer
and every Contributor for any liability incurred by the Initial Developer or such Contributor
as a result of warranty, support, indemnity or liability terms You offer.
</p>
<h4 id="section-3.6">3.6. Distribution of Executable Versions</h4>
<p>
You may distribute Covered Code in Executable form only if the requirements of Sections
<a href="#section-3.1">3.1</a>, <a href="#section-3.2">3.2</a>,
<a href="#section-3.3">3.3</a>, <a href="#section-3.4">3.4</a> and
<a href="#section-3.5">3.5</a> have been met for that Covered Code, and if You include a
notice stating that the Source Code version of the Covered Code is available under the terms
of this License, including a description of how and where You have fulfilled the obligations
of Section <a href="#section-3.2">3.2</a>. The notice must be conspicuously included in any
notice in an Executable version, related documentation or collateral in which You describe
recipients' rights relating to the Covered Code. You may distribute the Executable version of
Covered Code or ownership rights under a license of Your choice, which may contain terms
different from this License, provided that You are in compliance with the terms of this
License and that the license for the Executable version does not attempt to limit or alter the
recipient's rights in the Source Code version from the rights set forth in this License. If
You distribute the Executable version under a different license You must make it absolutely
clear that any terms which differ from this License are offered by You alone, not by the
Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and
every Contributor for any liability incurred by the Initial Developer or such Contributor as
a result of any such terms You offer.
</p>
<h4 id="section-3.7">3.7. Larger Works</h4>
<p>
You may create a Larger Work by combining Covered Code with other code not governed by the
terms of this License and distribute the Larger Work as a single product. In such a case,
You must make sure the requirements of this License are fulfilled for the Covered Code.
</p>
<h3 id="section-4">4. Inability to Comply Due to Statute or Regulation.</h3>
<p>
If it is impossible for You to comply with any of the terms of this License with respect to
some or all of the Covered Code due to statute, judicial order, or regulation then You must:
(a) comply with the terms of this License to the maximum extent possible; and (b) describe
the limitations and the code they affect. Such description must be included in the
<b>legal</b> file described in Section
<a href="#section-3.4">3.4</a> and must be included with all distributions of the Source Code.
Except to the extent prohibited by statute or regulation, such description must be
sufficiently detailed for a recipient of ordinary skill to be able to understand it.
</p>
<h3 id="section-5">5. Application of this License.</h3>
<p>
This License applies to code to which the Initial Developer has attached the notice in
<a href="#exhibit-a">Exhibit A</a> and to related Covered Code.
</p>
<h3 id="section-6">6. Versions of the License.</h3>
<h4 id="section-6.1">6.1. New Versions</h4>
<p>
The <em class="u">H2 Group</em> may publish revised and/or new versions
of the License from time to time. Each version will be given a distinguishing version number.
</p>
<h4 id="section-6.2">6.2. Effect of New Versions</h4>
<p>
Once Covered Code has been published under a particular version of the License, You may
always continue to use it under the terms of that version. You may also choose to use such
Covered Code under the terms of any subsequent version of the License published by the <em class="u">H2 Group</em>.
No one other than the <em class="u">H2 Group</em> has the right to modify the terms applicable to Covered Code
created under this License.
</p>
<h4 id="section-6.3">6.3. Derivative Works</h4>
<p>
If You create or use a modified version of this License (which you may only do in order to
apply it to code which is not already Covered Code governed by this License), You must (a)
rename Your license so that the phrases <em class="u">"H2 Group", "H2"</em>
or any confusingly similar phrase do not appear in your license (except to note that
your license differs from this License) and (b) otherwise make it clear that Your version of
the license contains terms which differ from the <em class="u">H2 License</em>.
(Filling in the name of the Initial Developer, Original Code or Contributor in the
notice described in <a href="#exhibit-a">Exhibit A</a> shall not of themselves be deemed to
be modifications of this License.)
</p>
<h3 id="section-7">7. Disclaimer of Warranty</h3>
<p> <p>
Covered code is provided under this license on an "as is" Covered code is provided under this license on an "as is"
basis, without warranty of any kind, either expressed or implied, including, without basis, without warranty of any kind, either expressed or implied, including, without
limitation, warranties that the covered code is free of defects, merchantable, fit for a limitation, warranties that the covered code is free of defects, merchantable, fit for a
particular purpose or non-infringing. The entire risk as to the quality and performance of particular purpose or non-infringing. The entire risk as to the quality and performance of
the covered code is with you. Should any covered code prove defective in any respect, you the covered code is with you. Should any covered code prove defective in any respect, you
(not the initial developer or any other contributor) assume the cost of any necessary (not the initial developer or any other contributor) assume the cost of any necessary
servicing, repair or correction. This disclaimer of warranty constitutes an essential part servicing, repair or correction. This disclaimer of warranty constitutes an essential part
of this license. No use of any covered code is authorized hereunder except under this of this license. No use of any covered code is authorized hereunder except under this
disclaimer. disclaimer.
</p> </p>
<h3 id="section-8">8. Termination</h3> <h3 id="section-8">8. Termination</h3>
<p id="section-8.1">8.1. This License and the rights granted hereunder will terminate <p id="section-8.1">8.1. This License and the rights granted hereunder will terminate
automatically if You fail to comply with terms herein and fail to cure such breach automatically if You fail to comply with terms herein and fail to cure such breach
within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which
are properly granted shall survive any termination of this License. Provisions which, by are properly granted shall survive any termination of this License. Provisions which, by
their nature, must remain in effect beyond the termination of this License shall survive. their nature, must remain in effect beyond the termination of this License shall survive.
</p> </p>
<p id="section-8.2">8.2. If You initiate litigation by asserting a patent infringement <p id="section-8.2">8.2. If You initiate litigation by asserting a patent infringement
claim (excluding declaratory judgment actions) against Initial Developer or a Contributor claim (excluding declaratory judgment actions) against Initial Developer or a Contributor
(the Initial Developer or Contributor against whom You file such action is referred to (the Initial Developer or Contributor against whom You file such action is referred to
as "Participant") alleging that: as "Participant") alleging that:
</p> </p>
<p id="section-8.2-a">8.2.a. such Participant's Contributor Version directly or indirectly <p id="section-8.2-a">8.2.a. such Participant's Contributor Version directly or indirectly
infringes any patent, then any and all rights granted by such Participant to You under infringes any patent, then any and all rights granted by such Participant to You under
Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> of this Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> of this
License shall, upon 60 days notice from Participant terminate prospectively, unless if License shall, upon 60 days notice from Participant terminate prospectively, unless if
within 60 days after receipt of notice You either: (i) agree in writing to pay within 60 days after receipt of notice You either: (i) agree in writing to pay
Participant a mutually agreeable reasonable royalty for Your past and future use of Participant a mutually agreeable reasonable royalty for Your past and future use of
Modifications made by such Participant, or (ii) withdraw Your litigation claim with Modifications made by such Participant, or (ii) withdraw Your litigation claim with
respect to the Contributor Version against such Participant. If within 60 days of respect to the Contributor Version against such Participant. If within 60 days of
notice, a reasonable royalty and payment arrangement are not mutually agreed upon in notice, a reasonable royalty and payment arrangement are not mutually agreed upon in
writing by the parties or the litigation claim is not withdrawn, the rights granted by writing by the parties or the litigation claim is not withdrawn, the rights granted by
Participant to You under Sections <a href="#section-2.1">2.1</a> and/or Participant to You under Sections <a href="#section-2.1">2.1</a> and/or
<a href="#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day <a href="#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day
notice period specified above. notice period specified above.
</p> </p>
<p id="section-8.2-b">8.2.b. any software, hardware, or device, other than such Participant's <p id="section-8.2-b">8.2.b. any software, hardware, or device, other than such Participant's
Contributor Version, directly or indirectly infringes any patent, then any rights Contributor Version, directly or indirectly infringes any patent, then any rights
granted to You by such Participant under Sections 2.1(<a href="#section-2.1-b">b</a>) granted to You by such Participant under Sections 2.1(<a href="#section-2.1-b">b</a>)
and 2.2(<a href="#section-2.2-b">b</a>) are revoked effective as of the date You first and 2.2(<a href="#section-2.2-b">b</a>) are revoked effective as of the date You first
made, used, sold, distributed, or had made, Modifications made by that Participant. made, used, sold, distributed, or had made, Modifications made by that Participant.
</p> </p>
<p id="section-8.3">8.3. If You assert a patent infringement claim against Participant <p id="section-8.3">8.3. If You assert a patent infringement claim against Participant
alleging that such Participant's Contributor Version directly or indirectly infringes alleging that such Participant's Contributor Version directly or indirectly infringes
any patent where such claim is resolved (such as by license or settlement) prior to the any patent where such claim is resolved (such as by license or settlement) prior to the
initiation of patent infringement litigation, then the reasonable value of the licenses initiation of patent infringement litigation, then the reasonable value of the licenses
granted by such Participant under Sections <a href="#section-2.1">2.1</a> or granted by such Participant under Sections <a href="#section-2.1">2.1</a> or
<a href="#section-2.2">2.2</a> shall be taken into account in determining the amount or <a href="#section-2.2">2.2</a> shall be taken into account in determining the amount or
value of any payment or license. value of any payment or license.
</p> </p>
<p id="section-8.4">8.4. In the event of termination under Sections <p id="section-8.4">8.4. In the event of termination under Sections
<a href="#section-8.1">8.1</a> or <a href="#section-8.2">8.2</a> above, all end user <a href="#section-8.1">8.1</a> or <a href="#section-8.2">8.2</a> above, all end user
license agreements (excluding distributors and resellers) which have been validly license agreements (excluding distributors and resellers) which have been validly
granted by You or any distributor hereunder prior to termination shall survive granted by You or any distributor hereunder prior to termination shall survive
termination. termination.
</p> </p>
<h3 id="section-9">9. Limitation of Liability</h3> <h3 id="section-9">9. Limitation of Liability</h3>
<p> <p>
Under no circumstances and under no legal theory, whether Under no circumstances and under no legal theory, whether
tort (including negligence), contract, or otherwise, shall you, the initial developer, tort (including negligence), contract, or otherwise, shall you, the initial developer,
any other contributor, or any distributor of covered code, or any supplier of any of any other contributor, or any distributor of covered code, or any supplier of any of
such parties, be liable to any person for any indirect, special, incidental, or such parties, be liable to any person for any indirect, special, incidental, or
consequential damages of any character including, without limitation, damages for loss consequential damages of any character including, without limitation, damages for loss
of goodwill, work stoppage, computer failure or malfunction, or any and all other of goodwill, work stoppage, computer failure or malfunction, or any and all other
commercial damages or losses, even if such party shall have been informed of the commercial damages or losses, even if such party shall have been informed of the
possibility of such damages. This limitation of liability shall not apply to liability possibility of such damages. This limitation of liability shall not apply to liability
for death or personal injury resulting from such party's negligence to the extent for death or personal injury resulting from such party's negligence to the extent
applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion
or limitation of incidental or consequential damages, so this exclusion and limitation or limitation of incidental or consequential damages, so this exclusion and limitation
may not apply to you. may not apply to you.
</p> </p>
<h3 id="section-10">10. United States Government End Users</h3> <h3 id="section-10">10. United States Government End Users</h3>
<p> <p>
The Covered Code is a "commercial item", as that term is defined in 48 The Covered Code is a "commercial item", as that term is defined in 48
C.F.R. 2.101 (October 1995), consisting of C.F.R. 2.101 (October 1995), consisting of
"commercial computer software" and "commercial computer software documentation", as such "commercial computer software" and "commercial computer software documentation", as such
terms are used in 48 C.F.R. 12.212 (September 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. terms are used in 48 C.F.R. 12.212 (September 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
acquire Covered Code with only those rights set forth herein. acquire Covered Code with only those rights set forth herein.
</p> </p>
<h3 id="section-11">11. Miscellaneous</h3> <h3 id="section-11">11. Miscellaneous</h3>
<p> <p>
This License represents the complete agreement concerning subject matter hereof. If This License represents the complete agreement concerning subject matter hereof. If
any provision of this License is held to be unenforceable, such provision shall be any provision of this License is held to be unenforceable, such provision shall be
reformed only to the extent necessary to make it enforceable. This License shall be reformed only to the extent necessary to make it enforceable. This License shall be
governed by California law provisions (except to the extent applicable law, if any, governed by California law provisions (except to the extent applicable law, if any,
provides otherwise), excluding its conflict-of-law provisions. With respect to provides otherwise), excluding its conflict-of-law provisions. With respect to
disputes in which at least one party is a citizen of, or an entity chartered or disputes in which at least one party is a citizen of, or an entity chartered or
registered to do business in United States of America, any litigation relating to registered to do business in United States of America, any litigation relating to
this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California,
with the losing party responsible for costs, including without limitation, court with the losing party responsible for costs, including without limitation, court
costs and reasonable attorneys' fees and expenses. The application of the United costs and reasonable attorneys' fees and expenses. The application of the United
Nations Convention on Contracts for the International Sale of Goods is expressly Nations Convention on Contracts for the International Sale of Goods is expressly
excluded. Any law or regulation which provides that the language of a contract excluded. Any law or regulation which provides that the language of a contract
shall be construed against the drafter shall not apply to this License. shall be construed against the drafter shall not apply to this License.
</p> </p>
<h3 id="section-12">12. Responsibility for Claims</h3> <h3 id="section-12">12. Responsibility for Claims</h3>
......
...@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论