merge of '878149500938c6886eb9e0274ba0901e8fe3a3bb'

and 'deab42b1e2bfe970ba51a868ab2b8c47181fdd15'
This commit is contained in:
z3d
2010-12-22 00:03:56 +00:00
20 changed files with 1608 additions and 1594 deletions

View File

@ -7,6 +7,8 @@ package org.klomp.snark;
* It is also passed from PeerState to PeerCoordinator when
* a piece is not completely downloaded, for example
* when the Peer disconnects or chokes.
*
* @since 0.8.2
*/
class PartialPiece implements Comparable {

View File

@ -31,7 +31,9 @@ public class I2PTunnelClient extends I2PTunnelClientBase {
public I2PTunnelClient(int localPort, String destinations, Logging l,
boolean ownDest, EventDispatcher notifyThis,
I2PTunnel tunnel, String pkf) throws IllegalArgumentException {
super(localPort, ownDest, l, notifyThis, "SynSender", tunnel, pkf);
super(localPort, ownDest, l, notifyThis,
"Standard client on " + tunnel.listenHost + ':' + localPort,
tunnel, pkf);
if (waitEventValue("openBaseClientResult").equals("error")) {
notifyEvent("openClientResult", "error");

View File

@ -73,7 +73,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
_proxyList = new ArrayList(4);
}
/** all auth @ince 0.8.2 */
/** all auth @since 0.8.2 */
public static final String PROP_AUTH = "proxyAuth";
public static final String PROP_USER = "proxyUsername";
public static final String PROP_PW = "proxyPassword";

View File

@ -355,6 +355,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Read the http command [" + command.toString() + "]");
// FIXME we probably don't need or want this in the outgoing direction
int trimmed = 0;
if (command.length() > 0) {
for (int i = 0; i < command.length(); i++) {
@ -394,7 +395,8 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
else if ("X-Accept-encoding".equalsIgnoreCase(name))
name = "X-Accept-encoding";
//We want to remove certain headers to improve anonymity
// For incoming, we remove certain headers to prevent spoofing.
// For outgoing, we remove certain headers to improve anonymity.
boolean skip = false;
for (String skipHeader: skipHeaders) {
if (skipHeader.equalsIgnoreCase(name)) {

View File

@ -529,7 +529,7 @@
<!-- readme and proxy error page files, initialNews.xml files, GeoIP files, and flag icons -->
<target name="prepConsoleDocs" depends="prepConsoleDocUpdates, prepgeoupdate" >
<copy todir="pkg-temp/docs/" >
<copy todir="pkg-temp/docs/initialNews/">
<fileset dir="installer/resources/initialNews/" />
</copy>
</target>

View File

@ -16,7 +16,7 @@ package net.i2p;
public class CoreVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = "0.8.1";
public final static String VERSION = "0.8.2";
public static void main(String args[]) {
System.out.println("I2P Core version: " + VERSION);

View File

@ -28,7 +28,7 @@ public abstract class SimpleDataStructure extends DataStructureImpl {
/** this is just to avoid lots of calls to length() */
protected final int _length;
/** A new instance with the data set to null. Call readBytes(), setData(), or from ByteArray() after this to set the data */
/** A new instance with the data set to null. Call readBytes(), setData(), or fromByteArray() after this to set the data */
public SimpleDataStructure() {
_length = length();
}

View File

@ -1,7 +1,4 @@
2010-12-19 sponge
* Fix missing </A> in Resource.java
* Fix URI.java parse issue
* Fix FileResource.java logic bug
* 2010-12-22 0.8.2 released
2010-12-13 dr|z3d
* Console themes: Midnight & Classic renovations.

View File

@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>0.8.1</appversion>
<appversion>0.8.2</appversion>
<authors>
<author name="I2P" email="http://forum.i2p2.de/"/>
</authors>

View File

@ -1,25 +1,24 @@
<!--
<i2p.news date="$Date: 2010-11-15 00:00:00 $">
<i2p.release version="0.8.1" date="2010/11/15" minVersion="0.6" />
<i2p.news date="$Date: 2010-12-22 00:00:00 $">
<i2p.release version="0.8.2" date="2010/12/22" minVersion="0.6" />
-->
<div lang="en">
<h3>2010-11-15: <b>0.8.1 <a href="http://www.i2p2.i2p/release-0.8.1.html">Released</a></b></h3>
<h3>2010-12-22: <b>0.8.2 <a href="http://www.i2p2.i2p/release-0.8.2.html">Released</a></b></h3>
<p>
The 0.8.1 release contains the usual collection of bug fixes,
and a newly colorful i2psnark theme by dr|zed.
For increased security, files created by the router will now be readable only by the owner (mode 600).
The 0.8.2 release includes extensive bug fixes and theme updates in the router and in i2psnark.
There are also optimizations to reduce memory usage in i2psnark.
The HTTP and SOCKS proxies now support local and remote authorization.
As usual, upgrading is recommended.
</p><p>
We have updated all our <a href="http://www.i2p2.i2p/how">technical specifications</a>
and <a href="http://docs.i2p2.de/javadoc/">Javadocs</a>, check them out.
Please help grow the network!
I2P will be at 27C3 in Berlin the week of the December 27th.
Look for the I2P people there and ask for I2P stickers!
</p><p>
Please help grow the network.
Say hello to the volunteers on the <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help IRC channel</a>.
Give the
developers feedback on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a> or <a href="http://forum.i2p">forum.i2p</a>
and <a href="http://www.i2p2.i2p/getinvolved.html">get involved</a>,
<a href="http://www.i2p2.i2p/getinvolved.html">Get involved</a>,
spread the word,
and <a href="http://www.i2p2.i2p/donate.html">donate</a>!
If you find a bug, please enter a report on <a href="http://trac.i2p2.i2p/report/1">trac</a>.
We are still looking for volunteers to work on new and existing translations.
Please volunteer on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a>.
</p>

View File

@ -407,6 +407,10 @@ div.news li {
text-transform: capitalize;
}
div.news h3 {
text-align: left !important;
}
div.news p {
color: #330;
font-size: 9pt;
@ -910,4 +914,4 @@ div.footnote hr{
margin-top: -8px;
margin-bottom: -5px;
margin-right: 5px;
}
}

View File

@ -356,6 +356,10 @@ div.news li {
text-transform: capitalize;
}
div.news h3 {
text-align: left !important;
}
div.news h4 {
border-bottom: 1px;
border-bottom-style: dotted;
@ -1076,4 +1080,4 @@ div.footnote hr{
margin-top: -5px;
margin-bottom: -5px;
margin-right: 5px;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,385 +1,384 @@
body {
margin: 0px;
padding: 0px;
text-align: center;
font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif;
background: #eef url('images/snowcamo.png');
color: #001;
font-size: 10pt;
/* we've avoided Tantek Hacks so far,
** but we can't avoid using the non-w3c method of
** box rendering. (and therefore one of mozilla's
** proprietry -moz properties (which hopefully they'll
** drop soon).
*/
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #99f url(images/magic.png);
}
div {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
label {
margin: 0px 4px;
padding: 1px 10px 2px 0px;
float: left;
width: 120px;
height: 24px;
font-weight: normal;
text-align: right;
font-size: 8pt;
font-style: italic;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 120%;
color: #101;
}
h4 {
font-size: 14px;
font-weight: bold !important;
color: #001;
text-align: center;
border: 1px solid #225;
margin: 5px 0 15px 0;
padding: 5px 10px;
background: #eef url(images/header.png) repeat-x center center;
text-transform: uppercase;
letter-spacing: 0.08em;
-moz-box-shadow: inset 0px 0px 4px 0px #bbf;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
}
a {
text-decoration: none;
}
form {
margin: 0px;
}
textarea, input, select, button, a {
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 9pt;
float: left;
vertical-align: middle;
}
button {
float: none;
text-decoration: none;
}
textarea {
border: 1px solid #9999ff;
color: #001;
background: #ddf;
border: 1px solid #44d;
}
br {
clear: left;
}
div.statusNotRunning {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #d00;
background: url('images/console_status_stopped.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
div.statusRunning {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #0b0;
background: url('images/console_status_running.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
div.statusStarting {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #339933;
background: url('images/console_status_starting.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
hr {
display: none;
}
.separator, .subdivider {
clear: both;
height: 1px;
margin: 1px 0px 1px 0px;
border-bottom: 1px solid #225;
/*
display: none;
*/
}
.subdivider {
border-bottom: 1px solid #225;
padding: 5px 0px 0px 0px;
}
.freetext {
width: 150px;
height: 24px;
border: 1px solid #44d;
padding: 2px;
margin: 4px 0 2px 0px;
font: 10pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
font-weight: bold;
background: #ddf;
color: #001;
-moz-border-radius: 0 4px 4px 0;
-khtml-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
/*
-moz-box-shadow: inset 0px -1px 1px 0px #fff;
*/
}
.control, control:link, control:visited {
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
min-width: 60px;
font-weight: bold;
background: #ffe;
color: #001;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
text-decoration: none;
}
/*
.control:active {
border: 1px inset;
background-color: #003;
color: #f60;
text-decoration: none;
}
*/
.control:hover, control:visited:hover {
border: 1px solid #eef;
background-color: #f60;
color: #fff !important;
text-decoration: none;
}
.control:link, control:visited {
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
min-width: 60px;
font-weight: bold;
color: #001;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: #ffe url(images/header.png) center center repeat:x !important;
text-decoration: none;
}
.panel {
width: 800px;
margin: 16px auto 16px auto;
overflow: hidden;
text-align: left !important;
font-size: 7pt;
background-color: #fff;
background: url(images/magic.png);
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
border: 1px solid #002;
padding: 10px 20px;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
background: none repeat scroll 0 0 #EEEEFF;
background: #fff url(images/magic.png);
border: 1px solid #444477;
color: #000011;
}
.panel .footer {
float: right;
padding: 4px;
}
.toolbox {
float: right;
}
.rowItem {
width: 750px;
float: left;
margin: 0px;
}
.comment {
font-weight: bold;
display: block;
padding: 2px 10px 0 20px;
text-align: left;
}
.text {
height: 24px;
width: 150px;
padding: 0 0 0 2px;
float: left;
margin: 0;
font-size: 9pt !important;
font-weight: bold;
}
.accessKey {
text-decoration: underline;
}
#globalOperationsPanel {
background-color: #fff;
border: 1px solid #003;
padding: 5px 20px 11px 10px;
-moz-box-shadow: inset 0px 0px 0px 1px #f00;
-moz-box-shadow: inset 0px 0px 1px 0px #f60;
background: #fff url(images/magic.png);
border: 1px solid #444477;
color: #613;
}
#globalOperationsPanel .control {
min-width: 120px;
}
#globalOperationsPanel .control:link {
min-width: 120px;
}
globalOperationsPanel .control:link {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #bbbbff;
color: black;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: #ffe url(images/header.png) 0 0 repeat: x !important;
}
globalOperationsPanel .control:visited {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #ffe;
color: black;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: url(images/header.png) 0 0 repeat: x !important;
}
globalOperationsPanel .control:hover {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #003;
color: #f60;
border: 1px outset #fff;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: url(images/header_on.png) 0 0 repeat: x !important;
}
.header {
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
}
select {
background-color: #eef;
color: #001;
margin: 4px;
font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold;
border: 1px solid #001;
padding: 2px;
min-width: 270px;
font-size: 8pt;
max-height: 24px;
}
a:link{
color: #613;
text-decoration: none;
font-weight: bold;
word-wrap: break-word;
}
a:visited{
color: #606;
text-decoration: none;
font-weight: bold;
}
a:hover{
color: #f60;
text-decoration: underline;
font-weight: bold;
}
a:active{
color: #f93;
text-decoration: underline;
font-weight: bold;
}
body {
margin: 0px;
padding: 0px;
text-align: center;
font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif;
background: #eef url('images/snowcamo.png');
color: #001;
font-size: 10pt;
/* we've avoided Tantek Hacks so far,
** but we can't avoid using the non-w3c method of
** box rendering. (and therefore one of mozilla's
** proprietry -moz properties (which hopefully they'll
** drop soon).
*/
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #99f url(images/magic.png);
}
div {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
label {
margin: 0px 4px;
padding: 1px 10px 2px 0px;
float: left;
width: 120px;
height: 24px;
font-weight: normal;
text-align: right;
font-size: 8pt;
font-style: italic;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 120%;
color: #101;
}
h4 {
font-size: 14px;
font-weight: bold !important;
color: #001;
text-align: center;
border: 1px solid #225;
margin: 5px 0 15px 0;
padding: 5px 10px;
background: #eef url(images/header.png) repeat-x center center;
letter-spacing: 0.08em;
-moz-box-shadow: inset 0px 0px 4px 0px #bbf;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
}
a {
text-decoration: none;
}
form {
margin: 0px;
}
textarea, input, select, button, a {
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 9pt;
float: left;
vertical-align: middle;
}
button {
float: none;
text-decoration: none;
}
textarea {
border: 1px solid #9999ff;
color: #001;
background: #ddf;
border: 1px solid #44d;
}
br {
clear: left;
}
div.statusNotRunning {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #d00;
background: url('images/console_status_stopped.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
div.statusRunning {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #0b0;
background: url('images/console_status_running.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
div.statusStarting {
float: left;
width: 68px;
height: 24px;
overflow: hidden;
color: #339933;
background: url('images/console_status_starting.png') 0 0 no-repeat;
padding-top: 24px;
margin-top: 4px;
}
hr {
display: none;
}
.separator, .subdivider {
clear: both;
height: 1px;
margin: 1px 0px 1px 0px;
border-bottom: 1px solid #225;
/*
display: none;
*/
}
.subdivider {
border-bottom: 1px solid #225;
padding: 5px 0px 0px 0px;
}
.freetext {
width: 150px;
height: 24px;
border: 1px solid #44d;
padding: 2px;
margin: 4px 0 2px 0px;
font: 10pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
font-weight: bold;
background: #ddf;
color: #001;
-moz-border-radius: 0 4px 4px 0;
-khtml-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
/*
-moz-box-shadow: inset 0px -1px 1px 0px #fff;
*/
}
.control, control:link, control:visited {
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
min-width: 60px;
font-weight: bold;
background: #ffe;
color: #001;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
text-decoration: none;
}
/*
.control:active {
border: 1px inset;
background-color: #003;
color: #f60;
text-decoration: none;
}
*/
.control:hover, control:visited:hover {
border: 1px solid #eef;
background-color: #f60;
color: #fff !important;
text-decoration: none;
}
.control:link, control:visited {
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
min-width: 60px;
font-weight: bold;
color: #001;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: #ffe url(images/header.png) center center repeat:x !important;
text-decoration: none;
}
.panel {
width: 800px;
margin: 16px auto 16px auto;
overflow: hidden;
text-align: left !important;
font-size: 7pt;
background-color: #fff;
background: url(images/magic.png);
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
border: 1px solid #002;
padding: 10px 20px;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
background: none repeat scroll 0 0 #EEEEFF;
background: #fff url(images/magic.png);
border: 1px solid #444477;
color: #000011;
}
.panel .footer {
float: right;
padding: 4px;
}
.toolbox {
float: right;
}
.rowItem {
width: 750px;
float: left;
margin: 0px;
}
.comment {
font-weight: bold;
display: block;
padding: 2px 10px 0 20px;
text-align: left;
}
.text {
height: 24px;
width: 150px;
padding: 0 0 0 2px;
float: left;
margin: 0;
font-size: 9pt !important;
font-weight: bold;
}
.accessKey {
text-decoration: underline;
}
#globalOperationsPanel {
background-color: #fff;
border: 1px solid #003;
padding: 5px 20px 11px 10px;
-moz-box-shadow: inset 0px 0px 0px 1px #f00;
-moz-box-shadow: inset 0px 0px 1px 0px #f60;
background: #fff url(images/magic.png);
border: 1px solid #444477;
color: #613;
}
#globalOperationsPanel .control {
min-width: 120px;
}
#globalOperationsPanel .control:link {
min-width: 120px;
}
globalOperationsPanel .control:link {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #bbbbff;
color: black;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: #ffe url(images/header.png) 0 0 repeat: x !important;
}
globalOperationsPanel .control:visited {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #ffe;
color: black;
border: 1px outset #ddddc0;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: url(images/header.png) 0 0 repeat: x !important;
}
globalOperationsPanel .control:hover {
min-width: 120px;
margin: 4px 0 0 4px !important;
padding: 2px;
overflow: hidden;
font-weight: bold;
background-color: #003;
color: #f60;
border: 1px outset #fff;
text-align: center;
white-space: nowrap;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
margin-top: 8px;
background: url(images/header_on.png) 0 0 repeat: x !important;
}
.header {
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
}
select {
background-color: #eef;
color: #001;
margin: 4px;
font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold;
border: 1px solid #001;
padding: 2px;
min-width: 270px;
font-size: 8pt;
max-height: 24px;
}
a:link{
color: #613;
text-decoration: none;
font-weight: bold;
word-wrap: break-word;
}
a:visited{
color: #606;
text-decoration: none;
font-weight: bold;
}
a:hover{
color: #f60;
text-decoration: underline;
font-weight: bold;
}
a:active{
color: #f93;
text-decoration: underline;
font-weight: bold;
}

View File

@ -431,6 +431,10 @@ div.news li {
font-weight: bold;
}
div.news h3 {
text-align: left !important;
}
div.news p {
color: #eef;
font-size: 9pt;
@ -960,4 +964,4 @@ div.footnote hr{
margin-top: -5px;
margin-bottom: -10px;
margin-right: 5px;
}
}

View File

@ -18,10 +18,10 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 40;
public final static long BUILD = 0;
/** for example "-test" */
public final static String EXTRA = "-rc";
public final static String EXTRA = "";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
public static void main(String args[]) {
System.out.println("I2P Router version: " + FULL_VERSION);

View File

@ -181,7 +181,7 @@ public class Reseeder {
if (defaulted && !SSLDisable) {
// put the non-SSL at the end of the SSL
List<String> URLList2 = new ArrayList();
tok = new StringTokenizer(DEFAULT_SSL_SEED_URL, " ,");
tok = new StringTokenizer(DEFAULT_SEED_URL, " ,");
while (tok.hasMoreTokens())
URLList2.add(tok.nextToken().trim());
Collections.shuffle(URLList2);

View File

@ -150,7 +150,7 @@ public class WorkingDir {
success &= migrateJettyXml(oldDirf, dirf);
success &= migrateClientsConfig(oldDirf, dirf);
// for later news.xml updates (we don't copy initialNews.xml over anymore)
success &= (new SecureDirectory(dirf, "docs")) .mkdir();
success &= (new SecureDirectory(dirf, "docs")).mkdir();
// Report success or failure
if (success) {