diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css new file mode 100644 index 000000000..6deabee9d --- /dev/null +++ b/installer/resources/themes/console/dark/console.css @@ -0,0 +1,444 @@ +body { + font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; + margin: 25px 10px 0 5px; + padding: 0; + text-align: center; + background-color: #000022; + color: white; + font-size: 9pt; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + width: 98%; + overflow-x: scroll; + text-align: left; + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; + color: #99d; +} + +div.logo { + float: left; + left: 10px; + top: 0px; + padding: 10px 10px 10px 14px; + text-align: left; + font-color: #fff; + border: 0px solid #f00; + float: none; + margin: 0px; + background-color: #003; + display: none; + border-bottom: 1px solid #eef; +} + +div.toolbar { + margin: 0; + padding: 10px; + font-weight: bold; + background-color: #eeeeff + border: 1px solid #002; + display: none; +} + +div.toolbar a:link { +border: 1px outset #ddddc0; +padding: 0px 5px 1px 5px; +line-height: 250%; +background-color: #bbf; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +color: #002; +} + +div.toolbar a:visited { +line-height: 250%; +background-color: #ddf; +} + +div.toolbar a:hover{ +border: 1px solid #eeeeff; +line-height: 250%; +background-color: #003; +color:#ff6600 +} +a:active{color:#900} + +div.routersummaryouter { + float: left; + width: 200px; + margin: 0 0 10px 20px; + padding: 0; + border: 0; + clear: left; /* fixes a bug in Opera */ + text-align: center; + display: block; +} + +div.routersummary { +/* margin: 0px 20px 20px 0px; */ + width: 175px; + padding: 10px; + text-align: center; + border: 1px solid #9999ff; +/* border-left: 0px; */ + background-color: #000033; + background: url(images/darkbluebg.png); + color: #eeeeff; + font-size: 8pt; + clear: left; /* fixes a bug in Opera */ + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + float: left; + -moz-box-shadow: inset 0px 0px 16px 0px #009; +} + +div.warning { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffefef; + border: medium solid #ffafaf; + text-align: left; + color: inherit; +} + +div.main { + margin: 0px 0px 20px 215px; + padding: 0 15px 15px 25px; + background-color: #002; + text-align: left; + color: #eeeeff; +/* border-top: 1px solid #eeeeff; */ +/* border-right: 25px solid #fff; */ +/* border-radius: 0px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + -moz-box-shadow: 0 2px 2px 1px #bbbbff; + -webkit-box-shadow: 0 2px 2px 1px #bbbbff; + box-shadow: 0 2px 2px 0px #bbbbff; */ + width: auto; +/* overflow-x: scroll; */ +} + + +div.main textarea { + width: 100% !important; + background-color: #002; + color: #fff; + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; +} + +div.news { + margin: 0px 15px 20px 240px; + padding: 20px 30px 20px 30px; + border: 1px solid #99f; + background-color: #004; + color: #eeeeff; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + text-align: justify; + background: url(images/darkbluetile.png); +} + +div.news li\ { + text-align: left; + list-style-type:square; + margin: 2px 20px 0px 30px; + padding: 10px 20px 1px 0px; + } + +div.confignav { + padding: 10px; + margin: 0 0px 20px 0; + background-color: #004; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border: 1px solid #99f; + background: url(images/darkbluetile.png); +} + +div.configure { + padding: 15px; + margin: 10px 0px; + background-color: #005; + -moz-border-radius: 4px; + border: 1px solid #99f; +} + +div.messages { + padding: 10px; + margin: 10px 0 20px 0; + background-color: #005; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border: 1px solid #99f; + background: url(images/lightbluetile.png); +} + +div.messages span.error { + color: #dddd00; +} + +div.messages span.notice { + font-style: italic; +} + +div.messages li { + text-align: justify; + font-weight: bold; + list-style-image: url(images/warning_dark.png); + margin: 0 10px 0 30px; + padding: 5px; + } + + +table { + border-collapse: collapse; + width: 100%; + border: 1px solid #99f; + margin: 5px 0px 5px 0px; + cell-padding: 1px; + font-size: 7pt; + background-image:url('images/darkbluetile.png'); + } + + th { + padding: 4px; + color: #eef; + text-align: center; + font-size: 8pt; + background-color: #004; + background-image:url('images/tabletitledark.png'); + background-repeat:repeat-x; + } + + tr:nth-child(even) +{ + background-image:url('images/darkerbluetile.png'); +} + + + td { + padding: 5px 10px; + color: #eef; +/* background-color: #004; */ + text-align: left; + } + + tt { + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; + font-weight: bold; + color: yellow; + /*background: black;*/ + padding: 10px; + } + + li { + text-align: left; + list-style-type:square; + margin: 2px 20px 0px 30px; + padding: 1px 20px 1px 0px; + } + + ol { + white-space: pre-wrap; + display: inline; + margin: 2px 0 0 0; + padding 10px 0 0 20px; + display: inline; + } + + ul { + display: inline; + margin: 5px 0 0 0; + } + +code { + text-align: left; + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; +} + +a:link{color:#99f} +a:visited{color:#606} +a:hover{color:#ff6600} +a:active{color:#900} + +.links { +list-style-image: url(images/link_dark.png); +margin: 0 5px 0 0px; +padding: 0px 5px; +} + +p { +text-align: justify; +} + +h1 { + text-align: left; + color: #bbf; + padding: 10px; + margin-left: 240px; + margin-bottom: 20px; + margin-top: 0px; + margin-right: 15px; + font-size: 16pt; + font-weight: bold; + font-style: normal; + text-transform: uppercase; + letter-spacing: 0.06em; + text-shadow: 0px 0px 1px rgba(0, 0, 120, 0.9); + white-space: normal; + background-color: #004; + /* -moz-box-shadow: 0 2px 2px 1px #ccccff; */ + border: 1px solid #99f; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-image:url('images/darkbluebg.png'); + background-repeat:repeat-x; +} + +h2{ + color: #99f; + text-shadow: 0px 0px 1px rgba(0, 0, 128, 0.9); + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #99f; + padding-bottom: 5px; + wordwrap: none; +} + +h2 a:hover { + color: #ff6600; + text-shadow: 0px 0px 1px rgba(255, 255, 72, 0.9); + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #99f; + padding-bottom: 5px; +} + + +button { +border: 1px outset #ddddc0; +padding: 0px 3px 1px 3px; +/*line-height: 250%;*/ +background-color: #bbf; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +font-size: 8pt; +font-weight: bold; +margin: 2px 3px; +text-align: center; +} + +button:hover{ +border: 1px solid #eeeeff; +line-height: 250%; +background-color: #003; +color:#ff6600 +} + + .underline { + border-bottom: 1px solid #eeeeff; + padding: 5px 0px 5px 0px; + margin: 0px 0px 10px 0px; + -moz-border-radius: 4px 4px 4px 4px; +} + +.langbox { + margin: 12px 0px 15px 5px; + padding: 7px 5px 5px 5px; + border: 1px solid #99f; + background-color: #005; + color: black; + font-size: 8pt; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + width:120px; + text-align: center; + float: right; +} + +hr { +color: #99f; +background-color: #99f; +height: 1px; +border: 0px solid #99f; +margin: 10px 5px; +} + +sidebarlogo { +text-align: center; +} + +input { +background-color: #002; +color: #eef; +margin: 10px 2px 10px 0; +font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; +font-weight: bold; +border: 1px solid #99f; +/*border: 1px outset #ddddc0;*/ +padding: 0px 2px 1px 2px; +/*line-height: 250%;*/ +background-color: #001; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +input hover { +background-color: #f00; +color: #eef; +margin: 10px 2px 10px 0; +font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; +font-weight: bold; +border: 1px solid #99f; +/*border: 1px outset #ddddc0;*/ +padding: 0px 2px 1px 2px; +/*line-height: 250%;*/ +background-color: #001; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +select { + background-color: #001; + color: #eef; + margin: 10px 2px 10px 0; + font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; + border: 1px solid #99f; +} + +textarea { + background-color: #001; + color: #eef; + padding: 5px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + font-family: "Lucida Console", Courier, mono; +} + +form { +} \ No newline at end of file diff --git a/installer/resources/themes/console/dark/default.css b/installer/resources/themes/console/dark/default.css new file mode 100644 index 000000000..57cf25e71 --- /dev/null +++ b/installer/resources/themes/console/dark/default.css @@ -0,0 +1,232 @@ +body { + margin : 0px; + padding : 0px; + text-align : center; + font-family : "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; + background-color : #eeeeff; + color : #000000; + font-size : 11pt; + + /* 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; +} + +div { + -moz-box-sizing : border-box; + box-sizing : border-box; +} + +h4, label { + margin : 0px; + padding : 2px 2px 2px 0px; + float : left; + width : 150px; + height : 24px; + font-weight : bold; + text-align : right; + font-size : 1.0em; + -moz-box-sizing: border-box; + box-sizing : border-box; +} + +h4 { + font-size : 1.2em; + text-align : center; + width : 750px; +} + +a { + text-decoration : none; +} + +form { + margin : 0px; +} + +textarea, input, select, button, a { + font-family : "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; + -moz-box-sizing : border-box; + box-sizing : border-box; + font-size : 1.0em; + float : left; +} + +button { + float : none; +} + +textarea { + border : 1px solid #9999ff; +} + +br { + clear : left; +} + +/* +div.statusNotRunning { + float : left; + width : 82px; + height : 24px; + color : #dd0000; + font-weight: bold; +} +div.statusRunning { + float : left; + width : 82px; + height : 24px; + color : #00dd00; + font-weight: bold; +} +div.statusStarting { + float : left; + width : 82px; + height : 24px; + color : #339933; +} +*/ + +div.statusNotRunning { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #dd0000; + padding-top: 24px; + background: url('images/console_status_stopped.png') 0 0 no-repeat; +} +div.statusRunning { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #00dd00; + padding-top: 24px; + background: url('images/console_status_running.png') 0 0 no-repeat; +} +div.statusStarting { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #339933; + padding-top: 24px; + background: url('images/console_status_starting.png') 0 0 no-repeat; +} + +hr { + display : none; +} + +.separator, .subdivider { + clear : both; + height : 1px; + margin : 3px 0px 3px 0px; + border-bottom : 1px solid #9999ff; +} + +.subdivider { + border-bottom : 1px solid #9999ff; + padding: 5px 0px 0px 0px; +} + +.freetext { + width : 150px; + height : 22px; + border : 1px solid #9999ff; +} + +.control { + margin : 0 4px 0 0; + padding : 2px 0 2px 0; + overflow : hidden; + height : 22px; + width : 60px; + font-weight : normal; + background-color : #bbbbff; + color : black; + border : 1px outset #ddddc0; + text-align : center; + white-space : nowrap; + -moz-border-radius: 4px 4px 4px 4px; + border 1px solid #000022; + font-weight: bold; +} + +.control:hover { +/* + color: #fff; + background-color : #3333ff; + border 0px none #000022; +*/ +border: 1px solid #eeeeff; +background-color: #003; +color:#ff6600 +} + +.control:active { + border : 2px inset; +} + +.panel { + width : 760px; + margin : 16px auto 16px auto; + overflow : hidden; + text-align : left; + font-size : 0.8em; + background-color : #fff; + -moz-border-radius: 4px 4px 4px 4px; + border: 1px solid #002; + padding: 10px 20px; +} + +.panel .footer { + float : right; + padding : 4px; +} + +.toolbox { + float : right; +} + +.rowItem { + width : 750px; + float : left; + margin : 0px; +} + +.comment { + font-style : italic; +} + +.text { + height : 24px; + width : 150px; + padding : 2px 0 0 2px; + float : left; + margin : 0; +} + +.accessKey { + text-decoration : underline; +} + +#globalOperationsPanel { + background-color : #ddddff; + border : 1px solid #f22; +} + +#globalOperationsPanel .control { + width : 100px; +} + +.header { + -moz-border-radius: 4px 4px 4px 4px; + border 1px solid #ff0000; +} \ No newline at end of file diff --git a/installer/resources/themes/console/dark/i2ptunnel.css b/installer/resources/themes/console/dark/i2ptunnel.css new file mode 100644 index 000000000..a60ec21d3 --- /dev/null +++ b/installer/resources/themes/console/dark/i2ptunnel.css @@ -0,0 +1,183 @@ +/* I2P Tunnel Edit Page +*/ + +#tunnelEditPage input { + width : 458px; +} + +#tunnelEditPage select { + width : 308px; +} + +#tunnelEditPage option[selected] { + color: green; +} + +#tunnelEditPage #targetField, +#tunnelEditPage #accessField, +#tunnelEditPage #optionsField { + height : 48px; + width : 150px; +} +#tunnelEditPage #tunnelOptionsField { + height : 96px; + width : 150px; +} + +#tunnelEditPage #targetField label, +#tunnelEditPage #accessField label, +#tunnelEditPage #tunnelOptionsField label, +#tunnelEditPage #optionsField label{ + height : 48px; + width : 150px; +} + +#tunnelEditPage #reachField, +#tunnelEditPage #hostField, +#tunnelEditPage #depthField, +#tunnelEditPage #countField, +#tunnelEditPage #optionsHostField { + width : 304px; + margin-right: 4px; +} + +#tunnelEditPage #portField, +#tunnelEditPage #optionsPortField, +#tunnelEditPage #backupField, +#tunnelEditPage #varianceField { + width : 150px; + +} + +#tunnelEditPage #reachField label, +#tunnelEditPage #hostField label, +#tunnelEditPage #portField label, +#tunnelEditPage #optionsHostField label, +#tunnelEditPage #optionsPortField label, +#tunnelEditPage #depthField label, +#tunnelEditPage #countField label, +#tunnelEditPage #backupField label, +#tunnelEditPage #varianceField label { + text-align : left; + +} + +#tunnelEditPage #otherField label { + width : 300px; +} + +#tunnelEditPage #reachableByOther, +#tunnelEditPage #tunnelDepth, +#tunnelEditPage #tunnelQuantity, +#tunnelEditPage #targetHost, +#tunnelEditPage #clientHost { + width : 306px; +} + +#tunnelEditPage #port { + width : 80px; +} + +#tunnelEditPage #targetPort, +#tunnelEditPage #clientPort, +#tunnelEditPage #tunnelBackupQuantity, +#tunnelEditPage #tunnelVariance { + width : 150px; +} + +#tunnelEditPage #shared, +#tunnelEditPage #connectDelay, +#tunnelEditPage #startOnLoad { + width : 16px; +} + +#tunnelEditPage label { + width : 150px; + font-weight : bold; + text-align : right; + float : left; +} + +/* I2P Tunnel List Page +*/ + +#tunnelListPage .rowItem { + width : 150px; +} + +#tunnelListPage select { + width : 150px; +} + +#tunnelListPage textarea { + width : 100%; + height : 100px; + padding : 0 0 0 4px; + margin: 1px 0 4px 0; + background-color: #000088; + color: #fff; + font-family : "Lucida Console", "Andale Mono", "Courier New", Courier, mono; + border: 1px inset #002; +} + +#tunnelListPage .footer .control { + margin-left: 2px; +} + +#tunnelListPage .footer label { + text-align : right; + height : 24px; + width : 360px; + float : left; + +} + +/* Use Leary and Langridge content replacement methods (LIR) +** to embed accessibility information into the document. +** Should allow the lists to be rendered nicely by +** screen readers. (and lynx!) +*/ + +#tunnelListPage label { + height : 0; + width : 0; + overflow : hidden; +} + +#tunnelListPage .nameHeaderField label, +#tunnelListPage .portHeaderField label, +#tunnelListPage .typeHeaderField label, +#tunnelListPage .interfaceHeaderField label, +#tunnelListPage .targetHeaderField label, +#tunnelListPage .previewHeaderField label, +#tunnelListPage .statusHeaderField label { + text-align : left; + width : 150px; + height : 24px; + float : left; +} + +#tunnelListPage .targetField, +#tunnelListPage .targetField .text, +#tunnelListPage .targetHeaderField, +#tunnelListPage .targetHeaderField label { + width : 300px; +} + +#tunnelListPage .descriptionField, +#tunnelListPage .destinationField { + width : 750px; +} + +#tunnelListPage .descriptionField .text, +#tunnelListPage .destinationField input { + width : 450px; +} + +#tunnelListPage .descriptionField label, +#tunnelListPage .destinationField label { + text-align : right; + width : 150px; + height : 24px; + float : left; +} diff --git a/installer/resources/themes/console/dark/images/console_status_running.png b/installer/resources/themes/console/dark/images/console_status_running.png new file mode 100644 index 000000000..6bbc5e37a Binary files /dev/null and b/installer/resources/themes/console/dark/images/console_status_running.png differ diff --git a/installer/resources/themes/console/dark/images/console_status_starting.png b/installer/resources/themes/console/dark/images/console_status_starting.png new file mode 100644 index 000000000..fbff23409 Binary files /dev/null and b/installer/resources/themes/console/dark/images/console_status_starting.png differ diff --git a/installer/resources/themes/console/dark/images/console_status_stopped.png b/installer/resources/themes/console/dark/images/console_status_stopped.png new file mode 100644 index 000000000..0d43eb4ea Binary files /dev/null and b/installer/resources/themes/console/dark/images/console_status_stopped.png differ diff --git a/installer/resources/themes/console/dark/images/darkbluebg.png b/installer/resources/themes/console/dark/images/darkbluebg.png new file mode 100644 index 000000000..32a0972b9 Binary files /dev/null and b/installer/resources/themes/console/dark/images/darkbluebg.png differ diff --git a/installer/resources/themes/console/dark/images/darkbluetile.png b/installer/resources/themes/console/dark/images/darkbluetile.png new file mode 100644 index 000000000..89df70b96 Binary files /dev/null and b/installer/resources/themes/console/dark/images/darkbluetile.png differ diff --git a/installer/resources/themes/console/dark/images/darkerbluetile.png b/installer/resources/themes/console/dark/images/darkerbluetile.png new file mode 100644 index 000000000..2e28effaf Binary files /dev/null and b/installer/resources/themes/console/dark/images/darkerbluetile.png differ diff --git a/installer/resources/themes/console/dark/images/h1bg.png b/installer/resources/themes/console/dark/images/h1bg.png new file mode 100644 index 000000000..dd2ce3388 Binary files /dev/null and b/installer/resources/themes/console/dark/images/h1bg.png differ diff --git a/installer/resources/themes/console/dark/images/i2plogo.png b/installer/resources/themes/console/dark/images/i2plogo.png new file mode 100644 index 000000000..52d1fd6c7 Binary files /dev/null and b/installer/resources/themes/console/dark/images/i2plogo.png differ diff --git a/installer/resources/themes/console/dark/images/lightbluetile.png b/installer/resources/themes/console/dark/images/lightbluetile.png new file mode 100644 index 000000000..f31f7cd8e Binary files /dev/null and b/installer/resources/themes/console/dark/images/lightbluetile.png differ diff --git a/installer/resources/themes/console/dark/images/link.png b/installer/resources/themes/console/dark/images/link.png new file mode 100644 index 000000000..e0eba7969 Binary files /dev/null and b/installer/resources/themes/console/dark/images/link.png differ diff --git a/installer/resources/themes/console/dark/images/link_dark.png b/installer/resources/themes/console/dark/images/link_dark.png new file mode 100644 index 000000000..e33c92544 Binary files /dev/null and b/installer/resources/themes/console/dark/images/link_dark.png differ diff --git a/installer/resources/themes/console/dark/images/tabletitledark.png b/installer/resources/themes/console/dark/images/tabletitledark.png new file mode 100644 index 000000000..2616ec7a6 Binary files /dev/null and b/installer/resources/themes/console/dark/images/tabletitledark.png differ diff --git a/installer/resources/themes/console/dark/images/warning_dark.png b/installer/resources/themes/console/dark/images/warning_dark.png new file mode 100644 index 000000000..198786c50 Binary files /dev/null and b/installer/resources/themes/console/dark/images/warning_dark.png differ diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css new file mode 100644 index 000000000..6fe7a3250 --- /dev/null +++ b/installer/resources/themes/console/light/console.css @@ -0,0 +1,426 @@ +body { + font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; + margin: 25px 10px 0 5px; + padding: 0em; + text-align: center; + background-color: #fff; + color: black; +/* font-size: 100%; */ + font-size: 9pt; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + width: 98%; + overflow-x: scroll; + text-align: left; + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; + color: #333; +} + +div.logo { + float: left; + left: 10px; + top: 0px; + padding: 10px 10px 10px 14px; + text-align: left; + font-color: #fff; + border: 0px solid #f00; + float: none; + margin: 0px; + background-color: #003; + display: block; + border: 1px solid #002; + display: none; +} + +div.toolbar { + margin: 0; + padding: 10px; + font-weight: bold; + background-color: #eeeeff + border: 1px solid #002; + display: none; +} + +div.toolbar a:link { +border: 1px outset #ddddc0; +padding: 0px 5px 1px 5px; +line-height: 250%; +background-color: #bbf; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +div.toolbar a:visited { +line-height: 250%; +background-color: #ddf; +} + +div.toolbar a:hover{ +border: 1px solid #eeeeff; +line-height: 250%; +background-color: #003; +color:#ff6600 +} +a:active{color:#900} + +div.routersummaryouter { + float: left; + width: 215px; + margin: 0 0 10px 20px; + padding: 0px 0 0 0; + border: 0; + clear: left; /* fixes a bug in Opera */ + text-align: center; + display: block; +} + +div.routersummary { +/* margin: 0px 20px 20px 0px; */ + width: auto; + padding: 10px; + text-align: center; + border: 1px solid #000033; + background-color: #ddddff; + color: black; + font-size: 8pt; + clear: left; /* fixes a bug in Opera */ + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + float: left; + -moz-box-shadow: inset 0px 0px 16px 1px #eef; + background-image: url('images/lightbluetile.png'); +} + +div.warning { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffefef; + border: medium solid #ffafaf; + text-align: left; + color: inherit; +} + +div.main { + margin: 0px 0px 20px 215px; + padding: 0 15px 15px 25px; + background-color: #fff; + text-align: left; + color: #000011; + width: auto; +/* overflow-x: scroll; */ +} + +div.main hr { +color: #003; +background-color: #003; +height: 1px; +border: 0px solid #003; +margin: 5px 0; +} + +div.main textarea { + width: 100% !important; +} + +div.news { + margin: 0px 15px 20px 240px; + padding: 20px 30px 20px 30px; + border: 1px solid #003; + background-color: #ffeeaa; + color: #001; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + text-align: justify; +} + +div.confignav { + padding: 10px; + margin: 0 0px 20px 0; + background-color: #ddddff; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border: 1px solid #000022; + background-image: url('images/tabletile.png'); +} + +div.configure { + padding: 1em; + margin: 10px 0px; + background-color: #ddf; + -moz-border-radius: 4px; + border: 1px solid #000022; +} + +div.messages { + padding: 0 10px 0 15px; + margin: 10px 0 20px 0; + background-color: #ddf; + -moz-border-radius: 4px; + border: 1px solid #000033; + text-size: 9pt; +} + +div.messages span.error { + color: #d00000; +} + +div.messages span.notice { + font-style: italic; +} + +div.messages li { + text-align: justify; + font-weight: bold; + list-style-image: url(images/warning.png); + margin: 0 10px 0 30px; + padding: 5px; + } + +table { + border-collapse: collapse; + width: 100%; + border: 1px solid #000022; + margin: 5px 0px 5px 0px; + cell-padding: 1px; + font-size: 7pt; + } + + th { + padding: 4px; + color: black; + background-color: #b4c8ff; + text-align: center; + background-image: url('images/tabletitlelight.png'); + background-repeat:repeat-x; + font-size: 8pt; + } + + +tr:nth-child(even) { + background-image: url('images/tabletile.png'); + } + + tr:nth-child(odd) { + background-image: url('images/tabletile_alt.png'); + } + + td { + padding: 2px; + color: black; + /*background-color: #ffc;*/ + text-align: left; + } + + tt { + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; + font-weight: bold; + color: green; + /*background: black;*/ + padding: 1px 5px; + } + + li { + text-align: left; + list-style-type:square; + margin: 2px 20px 0px 30px; + padding: 1px 20px 1px 0px; + } + + ol { + white-space: pre-wrap; + display: inline; + margin: 2px 0 0 0; + padding 10px 0 0 20px; + display: inline; + } + + ul { + display: inline; + margin: 5px 0 0 0; + } + +code { + text-align: left; + font-size: 8pt; + font-family: "Lucida Console", Courier, mono; +} + +a:link{color:#007} +a:visited{color:#606} +a:hover{color:#ff6600} +a:active{color:#900} + +.links { +list-style-image: url(images/link.png); +margin: 0 5px 0 0px; +padding: 0px 5px; +} + +p { +text-align: justify; +} + +h1 { + text-align: left; + color: #000022; + padding: 10px; + margin-bottom: 20px; + margin-top: 0px; + margin-left: 240px; + margin-right: 15px; + font-size: 16pt; + font-weight: bold; + font-style: normal; + letter-spacing: 0.06em; + text-transform: uppercase; + text-shadow: 0px 0px 1px rgba(0, 0, 176, 0.9); + white-space: normal; + background-color: #ddddff; + border: 1px solid #002; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-image: url('images/lightbluetile.png'); +} + +h2{ + color: #000011; + text-shadow: 0px 0px 1px rgba(0, 0, 128, 0.9); + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #000022; + padding-bottom: 5px; + wordwrap: none; +} + +h2 a:hover { + color: #ff6600; + text-shadow: 0px 0px 1px rgba(255, 255, 72, 0.9); + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #000022; + padding-bottom: 5px; +} + + +button { +border: 1px outset #ddddc0; +padding: 0px 3px 1px 3px; +line-height: 250%; +background-color: #bbf; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +font-size: 8pt; +font-weight: bold; +margin: 2px 3px; +text-align: center; +} + +button:hover{ +border: 1px solid #001; +line-height: 250%; +background-color: #003; +color:#ff6600 +} + + .underline { + border-bottom: 1px solid #000022; + padding: 5px 0px 5px 0px; + margin: 0px 0px 10px 0px; + -moz-border-radius: 4px 4px 4px 4px; + } + +.langbox { + margin: 12px 0px 15px 5px; + padding: 7px 5px 5px 5px; + border: 1px solid #002; + background-color: #e4e4ff; + color: black; + font-size: 8pt; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + width:120px; + text-align: center; + float: right; + background-image:url('images/lightbluetile.png'); +} + +hr { +color: #003; +background-color: #003; +height: 1px; +border: 0px solid #003; +margin: 10px 5px; +} + +input { +background-color: #eef; +color: #003; +margin: 5px 10px 5px 10px; +font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; +font-weight: bold; +border: 1px solid #001; +/*border: 1px outset #ddddc0;*/ +padding: 0px 2px 1px 2px; +/*line-height: 250%;*/ +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +submit { +background-color: #f00; +color: #eef; +margin: 10px 2px 10px 0; +font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; +font-weight: bold; +border: 1px solid #001; +/*border: 1px outset #ddddc0;*/ +padding: 0px 2px 1px 2px; +/*line-height: 250%;*/ +background-color: #001; +text-decoration: none; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +select { + background-color: #eef; + color: #003; + margin: 5px 10px 5px 10px; + font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; + border: 1px solid #001; +} + +textarea { + padding: 5px; + background-color: #eef; + color: #003; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + font-family: "Lucida Console", Courier, mono; + font-size: 8pt; +} + +form { +} \ No newline at end of file diff --git a/installer/resources/themes/console/light/default.css b/installer/resources/themes/console/light/default.css new file mode 100644 index 000000000..57cf25e71 --- /dev/null +++ b/installer/resources/themes/console/light/default.css @@ -0,0 +1,232 @@ +body { + margin : 0px; + padding : 0px; + text-align : center; + font-family : "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; + background-color : #eeeeff; + color : #000000; + font-size : 11pt; + + /* 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; +} + +div { + -moz-box-sizing : border-box; + box-sizing : border-box; +} + +h4, label { + margin : 0px; + padding : 2px 2px 2px 0px; + float : left; + width : 150px; + height : 24px; + font-weight : bold; + text-align : right; + font-size : 1.0em; + -moz-box-sizing: border-box; + box-sizing : border-box; +} + +h4 { + font-size : 1.2em; + text-align : center; + width : 750px; +} + +a { + text-decoration : none; +} + +form { + margin : 0px; +} + +textarea, input, select, button, a { + font-family : "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; + -moz-box-sizing : border-box; + box-sizing : border-box; + font-size : 1.0em; + float : left; +} + +button { + float : none; +} + +textarea { + border : 1px solid #9999ff; +} + +br { + clear : left; +} + +/* +div.statusNotRunning { + float : left; + width : 82px; + height : 24px; + color : #dd0000; + font-weight: bold; +} +div.statusRunning { + float : left; + width : 82px; + height : 24px; + color : #00dd00; + font-weight: bold; +} +div.statusStarting { + float : left; + width : 82px; + height : 24px; + color : #339933; +} +*/ + +div.statusNotRunning { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #dd0000; + padding-top: 24px; + background: url('images/console_status_stopped.png') 0 0 no-repeat; +} +div.statusRunning { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #00dd00; + padding-top: 24px; + background: url('images/console_status_running.png') 0 0 no-repeat; +} +div.statusStarting { + float : left; + width : 78px; + height : 24px; + overflow : hidden; + color : #339933; + padding-top: 24px; + background: url('images/console_status_starting.png') 0 0 no-repeat; +} + +hr { + display : none; +} + +.separator, .subdivider { + clear : both; + height : 1px; + margin : 3px 0px 3px 0px; + border-bottom : 1px solid #9999ff; +} + +.subdivider { + border-bottom : 1px solid #9999ff; + padding: 5px 0px 0px 0px; +} + +.freetext { + width : 150px; + height : 22px; + border : 1px solid #9999ff; +} + +.control { + margin : 0 4px 0 0; + padding : 2px 0 2px 0; + overflow : hidden; + height : 22px; + width : 60px; + font-weight : normal; + background-color : #bbbbff; + color : black; + border : 1px outset #ddddc0; + text-align : center; + white-space : nowrap; + -moz-border-radius: 4px 4px 4px 4px; + border 1px solid #000022; + font-weight: bold; +} + +.control:hover { +/* + color: #fff; + background-color : #3333ff; + border 0px none #000022; +*/ +border: 1px solid #eeeeff; +background-color: #003; +color:#ff6600 +} + +.control:active { + border : 2px inset; +} + +.panel { + width : 760px; + margin : 16px auto 16px auto; + overflow : hidden; + text-align : left; + font-size : 0.8em; + background-color : #fff; + -moz-border-radius: 4px 4px 4px 4px; + border: 1px solid #002; + padding: 10px 20px; +} + +.panel .footer { + float : right; + padding : 4px; +} + +.toolbox { + float : right; +} + +.rowItem { + width : 750px; + float : left; + margin : 0px; +} + +.comment { + font-style : italic; +} + +.text { + height : 24px; + width : 150px; + padding : 2px 0 0 2px; + float : left; + margin : 0; +} + +.accessKey { + text-decoration : underline; +} + +#globalOperationsPanel { + background-color : #ddddff; + border : 1px solid #f22; +} + +#globalOperationsPanel .control { + width : 100px; +} + +.header { + -moz-border-radius: 4px 4px 4px 4px; + border 1px solid #ff0000; +} \ No newline at end of file diff --git a/installer/resources/themes/console/light/i2ptunnel.css b/installer/resources/themes/console/light/i2ptunnel.css new file mode 100644 index 000000000..a60ec21d3 --- /dev/null +++ b/installer/resources/themes/console/light/i2ptunnel.css @@ -0,0 +1,183 @@ +/* I2P Tunnel Edit Page +*/ + +#tunnelEditPage input { + width : 458px; +} + +#tunnelEditPage select { + width : 308px; +} + +#tunnelEditPage option[selected] { + color: green; +} + +#tunnelEditPage #targetField, +#tunnelEditPage #accessField, +#tunnelEditPage #optionsField { + height : 48px; + width : 150px; +} +#tunnelEditPage #tunnelOptionsField { + height : 96px; + width : 150px; +} + +#tunnelEditPage #targetField label, +#tunnelEditPage #accessField label, +#tunnelEditPage #tunnelOptionsField label, +#tunnelEditPage #optionsField label{ + height : 48px; + width : 150px; +} + +#tunnelEditPage #reachField, +#tunnelEditPage #hostField, +#tunnelEditPage #depthField, +#tunnelEditPage #countField, +#tunnelEditPage #optionsHostField { + width : 304px; + margin-right: 4px; +} + +#tunnelEditPage #portField, +#tunnelEditPage #optionsPortField, +#tunnelEditPage #backupField, +#tunnelEditPage #varianceField { + width : 150px; + +} + +#tunnelEditPage #reachField label, +#tunnelEditPage #hostField label, +#tunnelEditPage #portField label, +#tunnelEditPage #optionsHostField label, +#tunnelEditPage #optionsPortField label, +#tunnelEditPage #depthField label, +#tunnelEditPage #countField label, +#tunnelEditPage #backupField label, +#tunnelEditPage #varianceField label { + text-align : left; + +} + +#tunnelEditPage #otherField label { + width : 300px; +} + +#tunnelEditPage #reachableByOther, +#tunnelEditPage #tunnelDepth, +#tunnelEditPage #tunnelQuantity, +#tunnelEditPage #targetHost, +#tunnelEditPage #clientHost { + width : 306px; +} + +#tunnelEditPage #port { + width : 80px; +} + +#tunnelEditPage #targetPort, +#tunnelEditPage #clientPort, +#tunnelEditPage #tunnelBackupQuantity, +#tunnelEditPage #tunnelVariance { + width : 150px; +} + +#tunnelEditPage #shared, +#tunnelEditPage #connectDelay, +#tunnelEditPage #startOnLoad { + width : 16px; +} + +#tunnelEditPage label { + width : 150px; + font-weight : bold; + text-align : right; + float : left; +} + +/* I2P Tunnel List Page +*/ + +#tunnelListPage .rowItem { + width : 150px; +} + +#tunnelListPage select { + width : 150px; +} + +#tunnelListPage textarea { + width : 100%; + height : 100px; + padding : 0 0 0 4px; + margin: 1px 0 4px 0; + background-color: #000088; + color: #fff; + font-family : "Lucida Console", "Andale Mono", "Courier New", Courier, mono; + border: 1px inset #002; +} + +#tunnelListPage .footer .control { + margin-left: 2px; +} + +#tunnelListPage .footer label { + text-align : right; + height : 24px; + width : 360px; + float : left; + +} + +/* Use Leary and Langridge content replacement methods (LIR) +** to embed accessibility information into the document. +** Should allow the lists to be rendered nicely by +** screen readers. (and lynx!) +*/ + +#tunnelListPage label { + height : 0; + width : 0; + overflow : hidden; +} + +#tunnelListPage .nameHeaderField label, +#tunnelListPage .portHeaderField label, +#tunnelListPage .typeHeaderField label, +#tunnelListPage .interfaceHeaderField label, +#tunnelListPage .targetHeaderField label, +#tunnelListPage .previewHeaderField label, +#tunnelListPage .statusHeaderField label { + text-align : left; + width : 150px; + height : 24px; + float : left; +} + +#tunnelListPage .targetField, +#tunnelListPage .targetField .text, +#tunnelListPage .targetHeaderField, +#tunnelListPage .targetHeaderField label { + width : 300px; +} + +#tunnelListPage .descriptionField, +#tunnelListPage .destinationField { + width : 750px; +} + +#tunnelListPage .descriptionField .text, +#tunnelListPage .destinationField input { + width : 450px; +} + +#tunnelListPage .descriptionField label, +#tunnelListPage .destinationField label { + text-align : right; + width : 150px; + height : 24px; + float : left; +} diff --git a/installer/resources/themes/console/light/images/Copy of console_status_starting.png b/installer/resources/themes/console/light/images/Copy of console_status_starting.png new file mode 100644 index 000000000..17326d925 Binary files /dev/null and b/installer/resources/themes/console/light/images/Copy of console_status_starting.png differ diff --git a/installer/resources/themes/console/light/images/console_status_running.png b/installer/resources/themes/console/light/images/console_status_running.png new file mode 100644 index 000000000..6bbc5e37a Binary files /dev/null and b/installer/resources/themes/console/light/images/console_status_running.png differ diff --git a/installer/resources/themes/console/light/images/console_status_starting.png b/installer/resources/themes/console/light/images/console_status_starting.png new file mode 100644 index 000000000..fbff23409 Binary files /dev/null and b/installer/resources/themes/console/light/images/console_status_starting.png differ diff --git a/installer/resources/themes/console/light/images/console_status_stopped.png b/installer/resources/themes/console/light/images/console_status_stopped.png new file mode 100644 index 000000000..0d43eb4ea Binary files /dev/null and b/installer/resources/themes/console/light/images/console_status_stopped.png differ diff --git a/installer/resources/themes/console/light/images/darkbluetile.png b/installer/resources/themes/console/light/images/darkbluetile.png new file mode 100644 index 000000000..89df70b96 Binary files /dev/null and b/installer/resources/themes/console/light/images/darkbluetile.png differ diff --git a/installer/resources/themes/console/light/images/darkerbluetile.png b/installer/resources/themes/console/light/images/darkerbluetile.png new file mode 100644 index 000000000..854d46f40 Binary files /dev/null and b/installer/resources/themes/console/light/images/darkerbluetile.png differ diff --git a/installer/resources/themes/console/light/images/i2plogo.png b/installer/resources/themes/console/light/images/i2plogo.png new file mode 100644 index 000000000..52d1fd6c7 Binary files /dev/null and b/installer/resources/themes/console/light/images/i2plogo.png differ diff --git a/installer/resources/themes/console/light/images/lightbluetile.png b/installer/resources/themes/console/light/images/lightbluetile.png new file mode 100644 index 000000000..e7fc6c1f1 Binary files /dev/null and b/installer/resources/themes/console/light/images/lightbluetile.png differ diff --git a/installer/resources/themes/console/light/images/link.png b/installer/resources/themes/console/light/images/link.png new file mode 100644 index 000000000..e0eba7969 Binary files /dev/null and b/installer/resources/themes/console/light/images/link.png differ diff --git a/installer/resources/themes/console/light/images/tabletile.png b/installer/resources/themes/console/light/images/tabletile.png new file mode 100644 index 000000000..f34c06324 Binary files /dev/null and b/installer/resources/themes/console/light/images/tabletile.png differ diff --git a/installer/resources/themes/console/light/images/tabletile_alt.png b/installer/resources/themes/console/light/images/tabletile_alt.png new file mode 100644 index 000000000..ea691b8e2 Binary files /dev/null and b/installer/resources/themes/console/light/images/tabletile_alt.png differ diff --git a/installer/resources/themes/console/light/images/tabletitlelight.png b/installer/resources/themes/console/light/images/tabletitlelight.png new file mode 100644 index 000000000..9c9092e73 Binary files /dev/null and b/installer/resources/themes/console/light/images/tabletitlelight.png differ diff --git a/installer/resources/themes/console/light/images/warning.png b/installer/resources/themes/console/light/images/warning.png new file mode 100644 index 000000000..c2b7e8c09 Binary files /dev/null and b/installer/resources/themes/console/light/images/warning.png differ diff --git a/installer/resources/themes/i2plogo.png b/installer/resources/themes/i2plogo.png new file mode 100644 index 000000000..52d1fd6c7 Binary files /dev/null and b/installer/resources/themes/i2plogo.png differ diff --git a/pkg-temp/LICENSE.txt b/pkg-temp/LICENSE.txt new file mode 100644 index 000000000..1ce8412e6 --- /dev/null +++ b/pkg-temp/LICENSE.txt @@ -0,0 +1,228 @@ +This product includes both public domain code and licensed code as described below. +For all code, unless otherwise stated in the appropriate license, the following applies: + + + NO WARRANTY + + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + + +LICENSES +-------- + +Core: +Public domain except as listed below: + + ElGamal and DSA code: + Copyright (c) 2003, TheCrypto + See licenses/LICENSE-ElGamalDSA.txt + + SHA256 and HMAC-SHA256: + Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle + See licenses/LICENSE-SHA256.txt + + AES code: + Under the Cryptix (MIT) license, written by the Cryptix team + (That's what our website says but all our AES code looks like it is public domain) + + Crypto filters: + From the xlattice app - http://xlattice.sourceforge.net/ + See licenses/LICENSE-BSD.txt + + SNTP code: + Copyright (c) 2004, Adam Buckley + See licenses/LICENSE-SNTP.txt + + PRNG: + Copyright (C) 2001, 2002, Free Software Foundation, Inc. + See licenses/LICENSE-LGPLv2.1.txt + + GMP 4.1.3: + Copyright 1991, 1996, 1999, 2000 Free Software Foundation, Inc. + See licenses/LICENSE-LGPLv2.1.txt + + HashCash code: + Copyright 2006 Gregory Rubin grrubin@gmail.com + See licenses/LICENSE-HashCash.txt + + + +Router: +Public domain except as listed below: + UPnP.java: + From freenet + See licenses/LICENSE-GPLv2.txt + + UPnP subsystem 1.7: + Copyright (C) 2003-2006 Satoshi Konno + See licenses/LICENSE-UPnP.txt + + XMLPull library used by UPnP: + See licenses/LICENSE-Apache2.0.txt + + GeoIP data free to use, courtesy http://ip-to-country.webhosting.info/ + + +Installer: + Launch4j 2.0.RC3: + Copyright (C) 2005 Grzegorz Kowal + See licenses/LICENSE-GPLv2.txt + The following projects are used by Launch4j... + MinGW binutils (http://www.mingw.org/) + + Commons BeanUtils (http://jakarta.apache.org/commons/beanutils/) + + Commons Logging (http://jakarta.apache.org/commons/logging/) + See licenses/LICENSE-Apache1.1.txt + See licenses/NOTICE-Commons-Logging.txt + + XStream (http://xstream.codehaus.org/) + Copyright (c) 2003-2004, Joe Walnes + See licenses/LICENSE-XStream.txt + + JGoodies Forms (http://www.jgoodies.com/freeware/forms/) + Copyright (c) 2002-2004 JGoodies Karsten Lentzsch. All rights reserved. + See licenses/LICENSE-JGoodies-Forms.txt + + JGoodies Looks (http://www.jgoodies.com/freeware/looks/) + Copyright (c) 2003 JGoodies Karsten Lentzsch. All rights reserved. + See licenses/LICENSE-JGoodies-Looks.txt + + Foxtrot (http://foxtrot.sourceforge.net/) + Copyright (c) 2002, Simone Bordet & Marco Cravero. All rights reserved. + See licenses/LICENSE-Foxtrot.txt + + Nuvola Icon Theme (http://www.icon-king.com) + See licenses/LICENSE-LGPLv2.1.txt + + Forms were created using Abeille Forms Designer (https://abeille.dev.java.net/) + + Izpack 4.3.0: + Copyright (c) 2001-2008 Julien Ponge + See licenses/LICENSE-Apache2.0.txt + + + +Wrapper 3.1.1: + Copyright (c) 1999, 2004 Tanuki Software + See licenses/LICENSE-Wrapper.txt + + + +Applications: + + Addressbook: + Copyright (c) 2004 Ragnarok + See licenses/LICENSE-Addressbook.txt + + BOB: + Copyright (C) sponge + DWTFYWTPL + + I2PSnark: + Copyright (C) 2003 Mark J. Wielaard + See licenses/LICENSE-GPLv2.txt + + I2PTunnel: + (c) 2003 - 2004 mihi + GPLv2 with exception. + See licenses/LICENSE-I2PTunnel.txt + See licenses/LICENSE-GPLv2.txt + + I2PTunnel SOCKS Proxy: + Copyright (c) 2004 by human + GPLv2 with exception. + See licenses/LICENSE-I2PTunnel.txt + See licenses/LICENSE-GPLv2.txt + + I2PTunnel UDP and Streamr: + By welterde. + See licenses/LICENSE-GPLv2.txt + + Jetty 5.1.12: + Copyright 2000-2004 Mort Bay Consulting Pty. Ltd. + See licenses/LICENSE-Apache1.1.txt + See licenses/LICENSE-Apache2.0.txt + See licenses/NOTICE-Commons-Logging.txt + + JRobin 1.4.0: + See licenses/LICENSE-LGPLv2.1.txt + + Ministreaming Lib: + By mihi. + See licenses/LICENSE-BSD.txt + + Proxyscript: + By Cervantes. + Public domain. + + Router console: + Public domain. + Flag icons public domain, courtesy mjames@gmail.com http://www.famfamfam.com/ + + SAM: + Public domain. + + Streaming Lib: + Public domain. + + SusiDNS: + Copyright (C) 2005 + See licenses/LICENSE-GPLv2.txt + + SusiMail: + Copyright (C) 2004-2005 + See licenses/LICENSE-GPLv2.txt + + Systray: + Public domain. + Bundles systray4j code: + See licenses/LICENSE-GPLv2.txt + + + +Other Applications and Libraries +-------------------------------- +The following applications and libraries are not used or bundled in +binary packages, therefore the licenses are not included in binary +distributions. See the source package for the additional license information. + + Atalk: + Public domain + + Desktopgui + Copyright (c) Mathias De Mar茅 + See apps/desktopgui/LICENSE + + SAM C Library: + Copyright (c) 2004, Matthew P. Cashdollar + See apps/sam/c/doc/license.txt + + SAM C# Library: + Public domain. + See apps/sam/csharp/README + + SAM Perl Library: + See licenses/LICENSE-GPLv2.txt + + SAM Python Library: + Public domain. diff --git a/pkg-temp/docs/ahelper-conflict-header.ht b/pkg-temp/docs/ahelper-conflict-header.ht new file mode 100644 index 000000000..068558d6a --- /dev/null +++ b/pkg-temp/docs/ahelper-conflict-header.ht @@ -0,0 +1,27 @@ +HTTP/1.1 409 Conflict +Content-Type: text/html; charset=iso-8859-1 +Cache-control: no-cache +Connection: close +Proxy-Connection: close + + +Destination key conflict + + + + + +
+The addresshelper link you followed specifies a different destination key +than a host entry in your host database. +Someone could be trying to impersonate another eepsite, +or people have given two eepsites identical names. +

+You can resolve the conflict by considering which key you trust, +and either discarding the addresshelper link, +discarding the host entry from your host database, +or naming one of them differently. +

diff --git a/pkg-temp/docs/dnf-header.ht b/pkg-temp/docs/dnf-header.ht new file mode 100644 index 000000000..8de2824bf --- /dev/null +++ b/pkg-temp/docs/dnf-header.ht @@ -0,0 +1,23 @@ +HTTP/1.1 504 Gateway Timeout +Content-Type: text/html; charset=iso-8859-1 +Cache-control: no-cache +Connection: close +Proxy-Connection: close + + +Eepsite not reachable + + + + +

+
+The eepsite was not reachable. +The eepsite is offline, there is network congestion, +or your router is not yet well-integrated with peers. +You may want to +retry. +

Could not find the following destination:

diff --git a/pkg-temp/docs/dnfb-header.ht b/pkg-temp/docs/dnfb-header.ht new file mode 100644 index 000000000..890a1910f --- /dev/null +++ b/pkg-temp/docs/dnfb-header.ht @@ -0,0 +1,24 @@ +HTTP/1.1 400 Destination Not Found +Content-Type: text/html; charset=iso-8859-1 +Cache-control: no-cache +Connection: close +Proxy-Connection: close + + +Invalid eepsite destination + + + + + +
+The eepsite destination specified was not valid, or was +otherwise unreachable. Perhaps you pasted in the +wrong BASE64 string or the link you are following is +bad. The I2P host could also +be offline. You may want to +retry. +

Could not find the following destination:

diff --git a/pkg-temp/docs/dnfh-header.ht b/pkg-temp/docs/dnfh-header.ht new file mode 100644 index 000000000..307621aaa --- /dev/null +++ b/pkg-temp/docs/dnfh-header.ht @@ -0,0 +1,26 @@ +HTTP/1.1 404 Domain Not Found +Content-Type: text/html; charset=iso-8859-1 +Cache-control: no-cache +Connection: close +Proxy-Connection: close + + +Eepsite unknown + + + + + +
+The eepsite was not found in your router's addressbook. +Check the link or find a BASE64 address. +If you have the BASE64 address, paste it into your userhosts.txt using +SusiDNS, +use a BASE64 address helper, or use a jump service link below. +Seeing this page often? See the FAQ +for help in adding some subscriptions +to your addressbook. +

Could not find the following destination:

diff --git a/pkg-temp/docs/dnfp-header.ht b/pkg-temp/docs/dnfp-header.ht new file mode 100644 index 000000000..b579e64b9 --- /dev/null +++ b/pkg-temp/docs/dnfp-header.ht @@ -0,0 +1,28 @@ +HTTP/1.1 504 Gateway Timeout +Content-Type: text/html; charset=iso-8859-1 +Cache-control: no-cache +Connection: close +Proxy-Connection: close + + +Outproxy Not Found + + + + + +
+The WWW Outproxy was not found. +It is offline, there is network congestion, +or your router is not yet well-integrated with peers. +You may want to +retry +as this will randomly reselect an outproxy from the pool you have defined +here +(if you have more than one configured). +If you continue to have trouble you may want to edit your outproxy list +here. +

Could not find the following destination:

diff --git a/pkg-temp/docs/news.xml b/pkg-temp/docs/news.xml new file mode 100644 index 000000000..729462ac6 --- /dev/null +++ b/pkg-temp/docs/news.xml @@ -0,0 +1,45 @@ + + + +

+• +2009-06-29: 0.7.5 Released +

+I2P version 0.7.5 foremost addresses network stability issues +by adjusting how exploratory tunnels are built if a router nears +its connection limit, and also by distinguishing between +connected peers and other non-failing peers while picking them +for inclusion in tunnels. +

+This version also delivers fixes to installer behaviour on Windows, +to the Router Console, NTCP transport and UPnP mechanism. +

+Additionally, version 0.7.5 changes the "news.xml" file location +where I2P routers check whether a new version is available. +Instead of the old URL (http://complication.i2p/news.xml) +a new location (http://echelon.i2p./news.xml) will be used. +If your router uses default updater settings, it will start using +the new URL automatically. If not, you will need to visit +configupdate.jsp, and change it manually. +For a while after this update, the old news.xml location will also +redirect all HTTP requests to the new one. +

+Finally, since Complication is withdrawing from the I2P project, +to make some far-reaching changes in his life, this update removes +Complication's public key from the list of release signing keys. +You should expect the next release to be signed by zzz instead. +If you have non-default updater settings, you may want to remove +Complication's public key manually, by visiting configupdate.jsp, +and removing the key line starting with the characters "JHFA". +If you wish to verify whether this information is correct, +please check the GPG-signed release announcement. +

+
diff --git a/pkg-temp/docs/readme_zh.html b/pkg-temp/docs/readme_zh.html new file mode 100644 index 000000000..6f2a0394c --- /dev/null +++ b/pkg-temp/docs/readme_zh.html @@ -0,0 +1,28 @@ +

English | Deutsch | Français | Nederlands | Svenska

+

如果 I2P 已经运行,未来的几分钟里控制台左侧的活动节点(Active)数量将开始增长,并会出现名为 "已共享客户"("shared clients") 的本地目标。(如果没有,请见 疑难解答)。待出现以上消息后,您可以:

+
    +
  • 浏览 IIP网站 "eepsites" - I2P 网络内匿名运行的站点 - 您要首先设置浏览器的 HTTP 代理 为 localhost:4444 然后才能浏览IIP站点 - I2P网络中还有很多其他的IIP网站(EEPSITE) - 访问上面的网站你会找到更多,收藏你喜爱的 IIP 网站,别忘了常去看看!
  • +
  • 浏览 Web 网页 - 目前 IP2 网络中只有一个 HTTP 出口代理("outproxy")挂接在你主机4444端口的HTTP代理上。- 只要将浏览器的代理设置指向为前面的地址(localhost:4444),然后访问任何普通链接即可 - 您的HTTP请求将在 I2P 网络内部传递。
  • +
  • 文件交换 - 本机的其中一个内置 端口 中提供 Snark BitTorrent 客户端。
  • +
  • 匿名电邮 - POSTMAN 创建了兼容普通邮件客户端 (POP3 / SMTP)的邮件系统,该系统可以在 I2P 网络内部收发Email 也可以收发来自外部 Internet 的邮件!电邮账号请到 hq.postman.i2p 申请。我们将用于匿名POP3/SMTP的Web邮件客户端 SUSIMail, 集成在I2P中,并将其配置为使用POSTMAN 的邮件服务。
  • +
  • 匿名聊天 - 打开您的 IRC 客户端并链接至 localhost:6668。这样可以访问两个匿名的 IRC 服务器, 但无论你还是服务器都不知道其他人在哪里。
  • +
  • 匿名博客 - 请访问 Syndie
  • +
  • 以及其他服务。
  • +
+ +

想创建属于您自己的 IIP 站点(EEPSITE)?

+ +

我们已经集成了一些软件来帮助你运行自己的EEPSITE - 有一个Jetty 实例监听于本机 http://localhost:7658/上。只要将你的文件放在 eepsite/docroot/ 文件夹中 (或将任何标准的 JSP/Servlet .war 文件放置于 eepsite/webapps 中, 标准的 CGI 脚本应置于 eepsite/cgi-bin 目录内) 之后就可以浏览啦。此后运行 IIP站点隧道(EEPSITE TUNEL) 将其指向站点的端口, 您的站点就可以被他人看到了。当您创建IIP站点时的具体操作参见 您的临时EEPSITE页面

+ +

疑难解答

+ +

保持耐心 - I2P 第一次启动时需要搜索节点,可能比较缓慢。如果30分钟后,您的活动节点(Active:已连接/新近连接) 计数仍在 10 个节点以下, 请在防火墙中打开 8887 端口改善连接性能。如果您根本无法打开任何EEPSITE(甚至 www.i2p2.i2p),检查您的浏览器代理设置是否为本地的 localhost:4444。你也可以查看 I2P 网站 上的信息, 在 I2P 论坛 中发帖, 来 irc.freenode.net , irc.postman.i2p 或 irc.freshcoffee.i2p 上的 #i2p 或 #i2p-chat 两个IRC频道坐坐。 (这些服务器上的这两个频道是相通的)。

+ +

提示,您可以通过编辑 "docs/readme_zh.html" 修改本页面。

diff --git a/pkg-temp/docs/themes/console/classic/console.css b/pkg-temp/docs/themes/console/classic/console.css new file mode 100644 index 000000000..99077d1e0 --- /dev/null +++ b/pkg-temp/docs/themes/console/classic/console.css @@ -0,0 +1,112 @@ +body { + font-family: Verdana, Tahoma, Helvetica, sans-serif; + margin: 1em 0em; + padding: 0em; + text-align: center; + background-color: white; + color: black; + font-size: 100%; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + width: 100%; + overflow-x: scroll; +} + +div.logo { + float: left; + width: 200px; + left: 1em; + top: 1em; + margin: 0em; + padding: .5em; + text-align: center; +} + +div.toolbar { + margin: 0em 0em 2em 0em; + font-weight: bold; +} + +div.routersummaryouter { + float: left; + width: 215px; + margin: 0; + padding: 0; + border: 0; + clear: left; /* fixes a bug in Opera */ + overflow: auto; +} + +div.routersummary { + background-color: #fafaff; + width: 195px; + color: inherit; + margin: 0em; + padding: 5px; + text-align: left; + border: medium solid #efefff; + font-size: 0.82em; +} + +div.warning { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffefef; + border: medium solid #ffafaf; + text-align: left; + color: inherit; +} + +div.main { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffef; + border: medium solid #ffffd0; + text-align: left; + color: inherit; +} + +div.main textarea { + width: 100% !important; +} + +div.news { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffc0; + border: medium solid #ffffa0; + text-align: left; + color: inherit; +} + +div.confignav { + padding: 1em; + background-color: #efefff; +} + +div.configure { + padding: 1em; + background-color: #ffffc0; +} + +div.messages { + padding: 1em; + background-color: #fafaff; +} + +div.messages span.error { + color: #d00000; +} + +div.messages span.notice { + font-style: italic; +} diff --git a/pkg-temp/docs/themes/console/classic/default.css b/pkg-temp/docs/themes/console/classic/default.css new file mode 100644 index 000000000..88aa40d7f --- /dev/null +++ b/pkg-temp/docs/themes/console/classic/default.css @@ -0,0 +1,182 @@ +body { + margin : 0px; + padding : 0px; + text-align : center; + font-family : Arial, Helvetica, sans-serif; + background-color : #ffffff; + color : #000000; + font-size : 100%; + + /* 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; +} + +div { + -moz-box-sizing : border-box; + box-sizing : border-box; +} + +h4, label { + margin : 0px; + padding : 2px; + float : left; + width : 150px; + height : 24px; + font-weight : bold; + text-align : right; + font-size : 1.0em; + -moz-box-sizing: border-box; + box-sizing : border-box; +} + +h4 { + font-size : 1.2em; + text-align : center; + width : 750px; +} + +a { + text-decoration : none; +} + +form { + margin : 0px; +} + +textarea, input, select, button, a { + font-family : Arial, Helvetica, sans-serif; + -moz-box-sizing : border-box; + box-sizing : border-box; + font-size : 1.0em; + float : left; +} + +button { + float : none; +} + +textarea { + border : 1px solid #ddddc0; +} + +br { + clear : left; +} + +div.statusNotRunning { + float : left; + width : 82px; + height : 24px; + color : #dd0000; +} +div.statusRunning { + float : left; + width : 82px; + height : 24px; + color : #00dd00; +} +div.statusStarting { + float : left; + width : 82px; + height : 24px; + color : #339933; +} + +hr { + display : none; +} + +.separator, .subdivider { + clear : both; + height : 1px; + margin : 3px 0px 3px 0px; + border-bottom : 1px solid #ddddc0; +} + +.subdivider { + border-bottom : 1px dashed #ddddc0; +} + +.freetext { + width : 150px; + height : 22px; + border : 1px solid #aaaac0; +} + +.control { + margin : 0 4px 0 0; + padding : 0 0 4px 0; + overflow : hidden; + height : 20px; + width : 60px; + font-weight : normal; + background-color : #dddddd; + color : black; + border : 1px outset #ddddc0; + text-align : center; + white-space : nowrap; +} + +.control:hover { + background-color : #ffffed; +} + +.control:active { + border : 2px inset; +} + +.panel { + width : 760px; + margin : 16px auto 16px auto; + overflow : hidden; + text-align : left; + font-size : 0.8em; + background-color : #ffffef; + border : 4px solid #ffffd0; +} + +.panel .footer { + float : right; + padding : 4px; +} + +.toolbox { + float : right; +} + +.rowItem { + width : 750px; + float : left; + margin : 0px; +} + +.comment { + font-style : italic; +} + +.text { + height : 24px; + width : 150px; + padding : 2px 0 0 2px; + float : left; + margin : 0; +} + +.accessKey { + text-decoration : underline; +} + +#globalOperationsPanel { + background-color : #ffefef; + border : 4px solid #ffd0d0; +} + +#globalOperationsPanel .control { + width : 100px; +} diff --git a/pkg-temp/docs/themes/console/classic/i2ptunnel.css b/pkg-temp/docs/themes/console/classic/i2ptunnel.css new file mode 100644 index 000000000..814cab892 --- /dev/null +++ b/pkg-temp/docs/themes/console/classic/i2ptunnel.css @@ -0,0 +1,178 @@ +/* I2P Tunnel Edit Page +*/ + +#tunnelEditPage input { + width : 458px; +} + +#tunnelEditPage select { + width : 308px; +} + +#tunnelEditPage option[selected] { + color: green; +} + +#tunnelEditPage #targetField, +#tunnelEditPage #accessField, +#tunnelEditPage #optionsField { + height : 48px; + width : 150px; +} +#tunnelEditPage #tunnelOptionsField { + height : 96px; + width : 150px; +} + +#tunnelEditPage #targetField label, +#tunnelEditPage #accessField label, +#tunnelEditPage #tunnelOptionsField label, +#tunnelEditPage #optionsField label{ + height : 48px; + width : 150px; +} + +#tunnelEditPage #reachField, +#tunnelEditPage #hostField, +#tunnelEditPage #depthField, +#tunnelEditPage #countField, +#tunnelEditPage #optionsHostField { + width : 304px; + margin-right: 4px; +} + +#tunnelEditPage #portField, +#tunnelEditPage #optionsPortField, +#tunnelEditPage #backupField, +#tunnelEditPage #varianceField { + width : 150px; + +} + +#tunnelEditPage #reachField label, +#tunnelEditPage #hostField label, +#tunnelEditPage #portField label, +#tunnelEditPage #optionsHostField label, +#tunnelEditPage #optionsPortField label, +#tunnelEditPage #depthField label, +#tunnelEditPage #countField label, +#tunnelEditPage #backupField label, +#tunnelEditPage #varianceField label { + text-align : left; + +} + +#tunnelEditPage #otherField label { + width : 300px; +} + +#tunnelEditPage #reachableByOther, +#tunnelEditPage #tunnelDepth, +#tunnelEditPage #tunnelQuantity, +#tunnelEditPage #targetHost, +#tunnelEditPage #clientHost { + width : 306px; +} + +#tunnelEditPage #port { + width : 80px; +} + +#tunnelEditPage #targetPort, +#tunnelEditPage #clientPort, +#tunnelEditPage #tunnelBackupQuantity, +#tunnelEditPage #tunnelVariance { + width : 150px; +} + +#tunnelEditPage #shared, +#tunnelEditPage #connectDelay, +#tunnelEditPage #startOnLoad { + width : 16px; +} + +#tunnelEditPage label { + width : 150px; + font-weight : bold; + text-align : right; + float : left; +} + +/* I2P Tunnel List Page +*/ + +#tunnelListPage .rowItem { + width : 150px; +} + +#tunnelListPage select { + width : 150px; +} + +#tunnelListPage textarea { + width : 750px; + height : 100px; + padding : 0 0 0 4px; +} + +#tunnelListPage .footer .control { + margin-left: 2px; +} + +#tunnelListPage .footer label { + text-align : right; + height : 24px; + width : 360px; + float : left; + +} + +/* Use Leary and Langridge content replacement methods (LIR) +** to embed accessibility information into the document. +** Should allow the lists to be rendered nicely by +** screen readers. (and lynx!) +*/ + +#tunnelListPage label { + height : 0; + width : 0; + overflow : hidden; +} + +#tunnelListPage .nameHeaderField label, +#tunnelListPage .portHeaderField label, +#tunnelListPage .typeHeaderField label, +#tunnelListPage .interfaceHeaderField label, +#tunnelListPage .targetHeaderField label, +#tunnelListPage .previewHeaderField label, +#tunnelListPage .statusHeaderField label { + text-align : left; + width : 150px; + height : 24px; + float : left; +} + +#tunnelListPage .targetField, +#tunnelListPage .targetField .text, +#tunnelListPage .targetHeaderField, +#tunnelListPage .targetHeaderField label { + width : 300px; +} + +#tunnelListPage .descriptionField, +#tunnelListPage .destinationField { + width : 750px; +} + +#tunnelListPage .descriptionField .text, +#tunnelListPage .destinationField input { + width : 450px; +} + +#tunnelListPage .descriptionField label, +#tunnelListPage .destinationField label { + text-align : right; + width : 150px; + height : 24px; + float : left; +} diff --git a/pkg-temp/docs/themes/console/console.css b/pkg-temp/docs/themes/console/console.css new file mode 100644 index 000000000..99077d1e0 --- /dev/null +++ b/pkg-temp/docs/themes/console/console.css @@ -0,0 +1,112 @@ +body { + font-family: Verdana, Tahoma, Helvetica, sans-serif; + margin: 1em 0em; + padding: 0em; + text-align: center; + background-color: white; + color: black; + font-size: 100%; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + width: 100%; + overflow-x: scroll; +} + +div.logo { + float: left; + width: 200px; + left: 1em; + top: 1em; + margin: 0em; + padding: .5em; + text-align: center; +} + +div.toolbar { + margin: 0em 0em 2em 0em; + font-weight: bold; +} + +div.routersummaryouter { + float: left; + width: 215px; + margin: 0; + padding: 0; + border: 0; + clear: left; /* fixes a bug in Opera */ + overflow: auto; +} + +div.routersummary { + background-color: #fafaff; + width: 195px; + color: inherit; + margin: 0em; + padding: 5px; + text-align: left; + border: medium solid #efefff; + font-size: 0.82em; +} + +div.warning { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffefef; + border: medium solid #ffafaf; + text-align: left; + color: inherit; +} + +div.main { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffef; + border: medium solid #ffffd0; + text-align: left; + color: inherit; +} + +div.main textarea { + width: 100% !important; +} + +div.news { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffc0; + border: medium solid #ffffa0; + text-align: left; + color: inherit; +} + +div.confignav { + padding: 1em; + background-color: #efefff; +} + +div.configure { + padding: 1em; + background-color: #ffffc0; +} + +div.messages { + padding: 1em; + background-color: #fafaff; +} + +div.messages span.error { + color: #d00000; +} + +div.messages span.notice { + font-style: italic; +} diff --git a/pkg-temp/docs/themes/console/defCon1/console.css b/pkg-temp/docs/themes/console/defCon1/console.css new file mode 100644 index 000000000..99077d1e0 --- /dev/null +++ b/pkg-temp/docs/themes/console/defCon1/console.css @@ -0,0 +1,112 @@ +body { + font-family: Verdana, Tahoma, Helvetica, sans-serif; + margin: 1em 0em; + padding: 0em; + text-align: center; + background-color: white; + color: black; + font-size: 100%; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + width: 100%; + overflow-x: scroll; +} + +div.logo { + float: left; + width: 200px; + left: 1em; + top: 1em; + margin: 0em; + padding: .5em; + text-align: center; +} + +div.toolbar { + margin: 0em 0em 2em 0em; + font-weight: bold; +} + +div.routersummaryouter { + float: left; + width: 215px; + margin: 0; + padding: 0; + border: 0; + clear: left; /* fixes a bug in Opera */ + overflow: auto; +} + +div.routersummary { + background-color: #fafaff; + width: 195px; + color: inherit; + margin: 0em; + padding: 5px; + text-align: left; + border: medium solid #efefff; + font-size: 0.82em; +} + +div.warning { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffefef; + border: medium solid #ffafaf; + text-align: left; + color: inherit; +} + +div.main { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffef; + border: medium solid #ffffd0; + text-align: left; + color: inherit; +} + +div.main textarea { + width: 100% !important; +} + +div.news { + margin: 0em 1em 1em 224px; + padding: .5em 1em; + background-color: #ffffc0; + border: medium solid #ffffa0; + text-align: left; + color: inherit; +} + +div.confignav { + padding: 1em; + background-color: #efefff; +} + +div.configure { + padding: 1em; + background-color: #ffffc0; +} + +div.messages { + padding: 1em; + background-color: #fafaff; +} + +div.messages span.error { + color: #d00000; +} + +div.messages span.notice { + font-style: italic; +} diff --git a/pkg-temp/docs/themes/console/images/favicon.ico b/pkg-temp/docs/themes/console/images/favicon.ico new file mode 100644 index 000000000..fd09b1b4c Binary files /dev/null and b/pkg-temp/docs/themes/console/images/favicon.ico differ diff --git a/pkg-temp/docs/themes/console/images/i2plogo.png b/pkg-temp/docs/themes/console/images/i2plogo.png new file mode 100644 index 000000000..52d1fd6c7 Binary files /dev/null and b/pkg-temp/docs/themes/console/images/i2plogo.png differ diff --git a/pkg-temp/history.txt b/pkg-temp/history.txt new file mode 100644 index 000000000..d02bf97dc --- /dev/null +++ b/pkg-temp/history.txt @@ -0,0 +1,6345 @@ +2009-06-29 zzz + * Big directory rework: + Eliminate all uses of the current working directory, and + set up multiple directories specified by absolute paths for various uses. + + Add a WorkingDir class to create a user config directory and + migrate certain files to it for new installs. + The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows, + or as specified in the system property -Di2p.dir.config=/path/to/i2pdir + All files except for the base install and temp files will be + in the config directory by default. + Temp files will be in a i2p-xxxxx subdirectory of the system temp directory + specified by the system property java.io.tmpdir. + + Convert all file opens in the code to be relative to a specific directory, + as specified in the context. Code and applications should never open + files relative to the current working directory (e.g. new File("foo")). + All files should be accessed in the appropriate context directory, + e.g. new File(_context.getAppDir(), "foo"). + + The router.config file location may be specified as a system property on the + java command line with -Drouter.configLocation=/path/to/router.config + All directories may be specified as properties in the router.config file. + + There will be no migration from an existing installation + unless the system property -Di2p.dir.migrate=true is set. + If there is no migration, it will continue to use $I2P for all files, + except for temporary and PID files. + + The following linux scripts are now customized with the install path at, + installation, and may be moved to /usr/local/bin and run from any + working directory: + eepget, i2prouter, runplain.sh + + For new installs, the i2p base directory ($I2P) may be read-only + if updates are disabled. The only time i2p should write to the base directory + is to unzip the update file. Updates are downloaded to the config dir. If, upon + restart, the base dir is not writable, it will log a message and continue. + + Additional information, copied from I2PAppContext: + + * Directories. These are all set at instantiation and will not be changed by + * subsequent property changes. + * All properties, if set, should be absolute paths. + * + * Name Property Method Files + * ----- -------- ----- ----- + * Base i2p.dir.base getBaseDir() lib/, webapps/, docs/, geoip/, licenses/, ... + * Temp i2p.dir.temp getTempDir() Temporary files + * PID i2p.dir.pid getPIDDir() router.ping + * Config i2p.dir.config getConfigDir() *.config, hosts.txt, addressbook/, ... + * + * (the following all default to the same as Config) + * + * Router i2p.dir.router getRouterDir() netDb/, peerProfiles/, router.*, keyBackup/, ... + * Log i2p.dir.log getLogDir() logs/ + * App i2p.dir.app getAppDir() eepsite/, ... + * + * Note that the router can't control where the wrapper actually puts its files. + + All these will be set appropriately in a Router Context. + In an I2P App Context, all except Temp and PID will be the current working directory. + + Related changes: + i2prouter: + - Don't cd to script location, no longer required + jbigi, cpuid: + - Extract files from jar to temp dir, load from that dir, then + copy to the base dir if we have permissions (and failing silently + if we don't), so we have optimized libs and no complaints + when we have a read-only base dir. + logs.jsp: + - Get wrapper log location from a property too + - Display log file locations + RouterLaunch: + - If no wrapper, put wrapper.log in system temp dir + unless specified with -Dwrapper.logfile=/path/to/wrapper.log + or it already exists in CWD (for backward compatibility) + - Append rather than replace wrapper.log + - Pass wrapper log location to router as a property, so that logs.jsp can find it + runplain.sh: + - Add path substitution to runplain.sh on install + - Pass I2P base dir to the router as a property + Systray: + - Fix NPE if no config file + wrapper.config: + - Put wrapper.log in system temp dir for new installs + - Pass I2P base dir to the router as a property + +2009-06-29 zzz + * HTTP Proxy: + - Add simple web server for "proxy.i2p" to serve + images and CSS for the error pages + - Take CSS out of the error pages; use internal server + for CSS, image, and favicon + * i2psnark build: + - Move FetchAndAdd to static inner class + - Fix standalone build to include i2psnark.jar since classes + aren't in the .war anymore + - Have standalone jetty use I2PAppContext temp directory + - Replace launch-i2psnark.jar with launch-i2psnark script, + since RunStandalone is in i2p.jar + - Clean up jetty-i2psnark.xml, turn off jetty logging + - Remove standalone build from the pkg target in the main build.xml + * Jbigi, CPUID: + - Reduce memory demand on startup from 4MB to 4KB each + * NetDb: Fix an NPE on early shutdown + * Reseeding / NetDb: + - Move reseeding from the routerconsole app to + the router, so that we can bootstrap an embedded router lacking a routerconsole + (iMule or android for example), without additional modifications. + This allows better integration between the reseeding function + and the netDb. + - Call reseed from PersistentDataStore, not from the + routerconsole init, and start seeding as soon as the netdb has read + the netDb/ directory, not when the console starts. + - Wake up the netdb reader as soon as reseeding is done, + rather than waiting up to 60s. + - Don't display the reseed button on the console until the + netdb initialization is done. + * RouterConsoleRunner: + - Catch a class not found error better + +2009-06-29 zzz + * Console: Convert table headers to to prep for CSS changes + * Console CSS: Move css file, make a classic theme to prep for CSS changes + * Console: Move favicon.ico and i2plogo.png out of the .war + so that the HTTP proxy can use them directly; + proxy error pages must be updated next + * NetDb stats: Normalize tunnel build stats for increased anonymity, + effective in 0.7.6 + +2009-06-30 sponge + * General cleanup on streaming and ministreaming. + This fixes some compile warnings, and prepares for a larger fix. + There is no code-flow changes, just lint. One warning remains as I am + unsure exactly how to solve the problem yet. + +* 2009-06-29 0.7.5 released + +2009-06-29 Complication + * Update versions, package release + * Remove the last reference to my eepsite as a "news.xml" source, + and likewise stop my public key from being included + among valid release signing keys. + +2009-06-25 sponge + * Summary frame layout change so it makes sense. + +2009-06-23 zzz + * Browser Launch: Add sensible-browser, x-www-browser, defaultbrowser, and + www-browser in an attempt to launch the user's preferred browser + * configupdate.jsp: Cleanup + * Installer: Include console.css!!! + * NTCP: Try again to prevent two Event Pumpers + * Update: Increase max retries + * UPnP: Catch AIOOBE reported by tuna + +2009-06-21 zzz + * Browser Launch: Wait until the routerconsole is up before launching the browser + * Installer: Fix wrapper.config parsing on windows + * netdb.jsp: Add country chart at bottom, clean up version chart + * News Fetcher: + - Change default news URL, use it instead of the old one even if + the old one is saved in the configuration, to assist in the transition + * ReseedHandler: + - check for upper case HREF to be compatible with apache indexes + * Statistics Manager: post-0.7.4 cleanup + * Transport: Treat 5.0.0.0/8 (Hamachi) as local + +2009-06-17 Mathiasdm + * desktopgui: + - Added client and server tunnel view + (saving does not work yet) + +2009-06-17 zzz + * PeerSelector: + - Limit exploratory tunnels to connected peers when over + half the connection limit (was 80%) + - Have the high capacity tier fall back to a new connected tier + before moving on to the not failing tier + so that tunnel build success doesn't collapse and drive + connections to the limit + * PeerTestJob: + - Limit to connected peers + +2009-06-12 zzz + * Console: + - Move the console css from default.css in the .war to docs/themes/console/console.css, + and support console themes in the main console with routerconsole.theme=foo + - Remove unused NoticeHelper + + * Installer: + Upgrade to izpack 4.3.0 and add a short script to fix Vista install problems. + (previous izpack was 3.7.2 from 2005-04-22) + + izpack 4.3.0 from : + http://dist.codehaus.org/izpack/releases/4.3.0/IzPack-install-4.3.0.jar + SHA1 f06da6b26ac2c68fed64ab38980352989b8d8841 + (no signatures or sha1sums found on website, and the jar is unsigned) + License: Apache 2.0 + + upack izpack: + java -jar IzPack-install-4.3.0.jar + or + java -jar IzPack-install-4.3.0.jar -console + + get the standalone-compiler.jar from the installation lib/ directory: + SHA1 6d2b4a5657bfb864a333b1c4b1c0f8223aa57d80 + (no signatures or sha1sums found on website, and the jar is unsigned) + + This fixes the bug with the install windows centered in all the + workspaces, not the current workspace. And who knows what other + bugs in the last 4 years. + + To fix Vista (and presumably Windows 7) permissiom problems, + add a run-privileged flag for those, and run the new fixperms.bat + which calls icacls to add the privileges to the install directory. + + Add support for 6 more language packs found in the new release. + Change from ISO3 codes to native language names. + + Disable creation of the i2p.tar.bz2 file in build.xml + (distributed as i2pheadless-0.7.x.tar.bz2), as izpack 4.3.0 now + supports headless installation with java -jar i2pinstall.exe -console. + Update INSTALL.txt and INSTALL-headless.txt accordingly. + + - Add install and temp path substitution to wrapper.config and + i2prouter on install + + - Change the wrapper.config classpath to one line: lib/*.jar + This means we lose control of classpath load order, so move the windows installer + jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so + these jars won't be in the classpath or potentially conflict, since + copy.jar and delete.jar include FileUtil.class, and we don't want to have + to remember to add them to the updater if we ever change FileUtil.class. + Delete the installer/ directory in postinstall.sh since it is windows-only. + + * Watchdog: Only try to dump threads if there is a wrapper + and we aren't on windows + +* 2009-06-12 0.7.4 released + +2009-06-12 Complication + * Update versions, package release + +2009-06-09 zzz + * NTCP: Fix startup race NPE (thanks postman!) + +2009-06-08 sponge + * Last commit for this cycle. All debugging except for WARN removed. + I can use the visit command to debug now anyway. + +2009-06-08 sponge + * Removed BOB debugging as-per zzz + +2009-06-08 sponge + * Fixed NPE and some other goofups in BOB. + * BOB bump version + +2009-06-07 zzz + * Build file: + - Add updaterWithJettyFixesAndGeoIP, use it in pkg for one release + - Cleanups + * Console: + - netdb.jsp cleanup + - tunnels.jsp cleanup + * ExploratoryPeerSelector: + - Limit to connected peers when near connection limit + * Timestamper: + - Use locale country if geoip unavailable + * Transport: + - Lower min NTCP idle time to 3m (was 5m) + - Increase SSU conn limit by 33% + * UPnP: Fix deprecation warning + * Watchdog: + - Defang him again + +2009-06-06 sponge + * Added BOB's license to licenses + * Janitorial javadoc fixes *sigh* + * bump to -13 + +2009-06-05 sponge + * Merge and bump to -12 + +2009-06-05 sponge + * BOB now cleans up tunnels, although they can take up to 5 minutes to + disapear. This is due to the fact that the streaming lib doesn't + actually remove the connections properly and kill them off when the + manager is destroyed. I'm not certain if this is a bug, or a feature, + but it sure is annoying, and you have to wait for the connections to + time out. What should happen is the streaming lib should cause an IO + error to the pending read or write. + +2009-06-05 zzz + * Build file: + - Add license info for launch4j includes + * Console: + - 16x11 transparent flags for ch and np, thanks anonim! + +2009-06-04 zzz + * Console: + - Update geoip file to June 3 version + - Hide some controls if no wrapper on configservice.jsp + * I2PTunnel: + - Fix bug where delayed-open and close-on-idle tunnels would + use a different tunnel pool instead of building their own + - Add standby indication to web page + * NetDb: + - Try to talk directly to a floodfill if we don't know enough, + to help integrate more quickly + - Change a no-floodfill error to a warn + * NetDb Stats: + - Average TX and RX bw stats for additional anonymity, + effective in next release + * Reseed: + - Limit to 200 pulled randomly from the full fetched list + * Transport: + - Increase default bw for new installs to 96/40 + (was 64/32). This is as high as we can go upstream + without making the default class M. + * Watchdog: + - Allow disabling by property again + - Logging tweaks + +2009-05-30 zzz + * Console: + - config.jsp now cause graceful restart + - More peers.jsp and profiles.jsp cleanup + - tunnels.jsp improvements + - Use CSS for form messages + - Goodbye nonce spoof messages (sorry jr) + - config.jsp: Comment out unused burst config code + - Don't forget Serbia! + - configadvanced.jsp cleanup + * LoadTestManager: Delete, unused + * Peer Selector: Make strict order opaque to hash value + * SendGarlicMessageJob: Delete, unused + * Session Keys: + - Don't instantiate unused SessionKeyPersistenceHelper + - Use TransientSessionKeyManager instead of PersistentSessionKeyManager + - Add generics to TransientSessionKeyManager to help understand it + - Change initial session map size to 64 (was 1024) + - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine + - More stubs for per-destination managers in the client manager + * Transports: + - Adjust bids when near conn capacity + * UDP: + - Remove unused stats and test code + - Only save IP when it changes + * UPnP: + - Prevent NPE after ParserException + - Tweak to help startup problems? + - Retry port forward if it fails + - Make peers.jsp display faster + - Lengthen POST timeout + - More comments + +2009-05-29 sponge + * added big fat start/stop lock into BOB + * added zap command to shut down BOB... now we need a way to start it + after it stops. :-) + +2009-05-27 Mathiasdm + * Increase sendProcessingTime some more, add a property to configure. + Configure with 'router.defaultProcessingTimeThrottle'. + +2009-05-27 Mathiasdm + * Increased sendProcessingTime limits and added testSuccessTime + to avoid unwanted throttling + +2009-05-26 Mathiasdm + * Throttling extension by looking at sendProcessingTime + +2009-05-26 zzz + * Console: + - configlogging.jsp cleanup + - Flags tweak + * NetDb: + - Don't send our own hash in the don't-include list when exploring + - Remove any pending write when removing a RouterInfo + - Cleanup to use routerHash() + * Streaming: Hopefuly fix infinite loop in the SYN queue handler + +2009-05-25 zzz + * GeoIP: + - Save our own location in the config + - Check whole netDb at startup (last try didn't work) + * NTCP: + - Increase routerinfo send frequency to every 90m (was 9h) + - Don't send 3 floodfill infos at startup or with routerinfo + * Profile Organizer: Increase min fast peers based on + number of local destinations + * Timestamper: + - Use GeoIP to query a closer ntp source if available + - Lengthen query time if well-synced + - Cleanup + +2009-05-24 mkvore + * SAM: logging some exceptions at INFO level instead of ERROR + +2009-05-24 zzz + * Connection limits / throttle: + - Better limits when no inbound TCP + (limit inbound and outbound separately) + - Don't offer to SSU introduce when near connection limit + * Console: + - Move flags from icons/ to docs/icons + - peers.jsp cleanup + - Add readme_zh.html + * GeoIP: + - Check netDb SSU IP too + - Check whole netDb at startup + * NTCP: Log who is sending us big messages + * UPnP: Move logging from wrapper log to router log + +2009-05-23 Mathiasdm + * Router netDB: + - Added flags to the netDB page + +2009-05-22 Mathiasdm + * desktopgui: + - Updating works in general config + - Switched to Swingworker threads for improved responsiveness + +2009-05-21 zzz + * Router Watchdog: + - Log memory stats + - Dump threads on linux + - Restart after 20 minutes (give the dog his teeth back) + +2009-05-21 zzz + * DataStore: + - Adjust interface to have persistent and non-persistent methods, + to prepare for partial storage in RAM + * ExpireRoutersJob: + - Rewrite, not enabled yet + * I2Punnel: + - Increase eepsite default to 3+0 for new installs + * PersistentDataStore: + - Cleanup, simplify, and concurrentify + - Tweak stats + - Remove write limit + - Flush to disk on shutdown + - Don't write out what we just read in + * Router and console: + - Bundle geoIP files and flags in new installs, + spiff up tunnels.jsp and profiles.jsp. + Existing installs can get files with 'ant updaterWIthGeoIP' + or in the console docs bundle 'ant consoleDocs' + - Use flags for shitlist and peers.jsp too + - Tweak tunnels.jsp to show class letters + - Hide in-progress details on tunnels.jsp + - Add a little color to confignav + - Remove 'no skew' message + - More message tweaks if no wrapper + * TunnelManager: + - Remove now-unused isInUse() + * UPnP: + - Fix up port binding, add some logging on bind fails + - Force IPv4 only for binds + +2009-05-20 Mathiasdm + * General configuration enabled by default + * General configuration speed tab works completely + +2009-05-17 zzz + * Merge i2p.i2p.zzz.upnp branch + * Major changes: + - Detect IP with UPnP + - Open firewall ports with UPnP + - Detect IP by checking local interface addresses + - Enable TCP auto-IP and auto-port by default, if UDP status is "OK" + - Network configuration page rework + * Other stuff: + - Remove unused verifyupdate.jsp + * Details of the UPnP and related Transport changes: + - Add UDP Port configuration to config.jsp + - Don't restart router when configs change on config.jsp; + simply rebuild router info. + - Clean up some port config code in UDP + - Implement UPnP enable/disable + - Start to rework inbound configuration + - Tweak UPnP warning messages + - Start of callbacks from UPnP to transports + - Tell UDP local addresses at startup + - NTCP Port must now be either auto or configured; + now defaults to auto; and configured now trumps auto. + Port configuration now does not affect whether inbound + NTCP is enabled - the host configuration alone can do that. + - i2np.ntcp.autoip=true redefined to enable inbound only if + SSU reachability is OK. i2np.ntcp.autoip=always for the old behavior. + autoip default is now "true". + i2np.ntcp.hostname=xxx now trumps i2np.tcp.autoip. + - SSU always tells NTCP when status changes. + - Implement config save of new IP address options + - Implement local address and UPnP configuration of UDP address + - Limit received port to 1024 minimum + - Simplify bw form + - Add config link to UPnP status + - Make short timeouts for UPnP HTTP POST so we don't hang when + the UPnP device goes away + - Fix a bug in UPnP HTTP Server timeout + - Make short timeouts for the XML parser so we don't hang when + the UPnP device goes away - same as for HTTP POST + - Stuff the port mapping requester into a thread so it doesn't + delay everything for several seconds + - Handle UPnP devices that return IP = 0.0.0.0 + - Better HTML output when no IP found + - Tweak logging + - Set Disposer thread name + - Keep the control point running after we find an IGD, + so that we get notifications of it leaving or + coming back or replaced. + - Detect UPnP start failure + - Sort local addresses + - Store last IP for future laptop mode + - Subscribe to service, doesn't seem to do anything though, + need to test it more + - Change UPnP listener port defaults, allow configuration option + - Don't notify for non-changed options on config.jsp + - Simplify config.jsp some more + - No longer use i2np.udp.forceIntroducers + - Tweak UDP port qualification + - Fix allowing low ports again + - Add option to completely disable NTCP, for those behind nasty firewalls + - Use SSU reachability rather than global reachability for determining NTCP reachability, + since we are now reporting NTCP reachability too + - Tweak the config sub-navbar + - Don't start UPnP if we have a public interface address + - Fix setting IP to a local interface address + - Work on the configuration help some more + - Rework UDP peers.jsp table a little + - Don't let UDP bid on messages that are too long + - Clean up the max fragments code in UDP + +2009-05-17 zzz + * Build files: + - Remove unneeded ant.jar from package (900KB) + - Fail on Jsp compile errors + * FloodfillVerifyJob: Don't consider an older search result as verified + * logs.jsp: Add link to config + * NetDb: Lower the routerinfo expiration again + * SusiDNS: + - Reduce displayed entries from 300 to 100 + - Add ability to go forward or back + - Make textareas bigger + - Clean up file names + - Clarify messages about filter and search + +* 2009-05-16 0.7.3 released + +2009-05-16 Complication + * Update versions, package release + +2009-05-12 sponge + * BOB clean up, change println's to _log.warn, bump BOB version + * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me. + +2009-05-12 mkvore + * SAM: fix: warnings when generating javadoc + +2009-05-11 zzz + * Connect client: Fix NPE when used with advanced i2ptunnel features + * Context: Don't instantiate unused AdminManager + * logs.jsp: Put critical log at the top + * NetDb: Don't accept stores of our own LeaseSets or RouterInfo + +2009-05-11 mkvore + * SAM: fix: removed ERROR level logging when a client disconnects + +2009-05-09 sponge + * merge + +2009-05-09 sponge + * fixed OOM on lock (woops! my bad!) + +2009-05-08 Mathiasdm + * desktopgui: moved files to stop polluting the namespace + (everything now in net.i2p.desktopgui) + * desktopgui: some variable renaming in general configuration + +2009-05-07 mkvore + * SAM: version 3 added + * SAM: blocking case corrected on simultaneous client connection (v.1-3) + +2009-05-07 zzz + * Add nibble.i2p to proxy list and hosts.txt + +2009-05-07 zzz + * Addressbook: Name the thread + * Console: + - More IE button fixes, try harder to not refresh the iframe after shutdown + - Disable idle options for streamr client, it will never be + idle because it pings the server + * Floodfill Monitor: Slow down the volunteers + * Throttle: Throttle at 90% so we throttle before we WRED + +2009-05-06 Mathiasdm + * Improvements to popup menu rightclick action + * Added general configuration options (still not available by default) + * General fixes + * Added ant build options (irc says eche|on would like that ;)) + +2009-05-06 sponge + * Hopefully the last fixes for BOB. + * Fixes to prevent race in client-side I2CP and Notifier. + +2009-05-03 sponge + * More hopeful fixes for BOB. + * Added new Robert ID to snark + +2009-05-01 zzz + * Build files: + - Fix up susidns build file so it will work with gcj + - Add consoleDocs target + * Client: Fix race NPE (thanks sponge) + * Console: fix ERR-UDP Disabled and Inbound TCP host/port not set + * I2CP: Fix race NPE + * I2PTunnel: + - Try to fix locking to prevent duplicate destinations when using + the new option new-dest-on-resume. Still not right for shared clients + but should be better for non-shared. + * Router console: + - Add jbigi and cpu info to logs.jsp + * Session key manager: + - Log before a hang maybe + * URL Launcher: + - Launcher on linux was stopping after trying opera, whether it succeeded or failed. + Now it keeps going to try firefox, etc. as designed. + - Extend default delay from 5s to 15s so it will reliably start + +2009-04-27 sponge + * more BOB fixes, complete with warnings when things go wrong, and + success messages when things turn around and go right. Terminates + early so that applications wait no more than 10 seconds or so. + * Reversed a few earlier patches that caused some odd behavior. + * Changed some core println()'s to debugging messages. + +2009-04-27 zzz + * Build files: + - New updaterWithJettyFixes target, build it for pkg + - Pass compiler args down from top build.xml + * GarlicMessageBuilder: Reduce bundled tags to 40 (was 100) + * i2psnark: Add Postman2 tracker + * I2PTunnel: Allow spaces in dest and proxy lists + * NetDb: + - Adjust RouterInfo expiration down to control memory usage + - Display LeaseSets and RouterInfos on separate console pages + * NTCP: + - Correct the meanings of the i2np.ntcp.autoip and i2np.ntcp.autoport + advanced config. If you have one of these set but not the other, you + will have to adjust your configuration on config.jsp. + * RouterConsole: iframe tweaks + * StatisticsManager: Cleanup + * Streaming: Don't let jrandom yell so loud + * Tunnel Pool: Don't self-destruct if more than 6 IB tunnels configured + +2009-04-25 sponge + * I2PSessionMuxedImpl atomic fixes + * BOB fixes. This should be the final bug wack. Good Luck to everybody! + +2009-04-23 zzz + * Blocklist: cleanup + * eepget: handle -h, --help, bad options, etc. + (http://forum.i2p/viewtopic.php?p=16261#16261) + * Fragmenter: don't re-throw the corrupt fragment IllegalStateException, + to limit the damage - root cause still not found + * i2psnark: (http://forum.i2p/viewtopic.php?t=3317) + - Change file limit to 512 (was 256) + - Change size limit to 10GB (was 5GB) + - Change request size to 16KB (was 32KB) + - Change pipeline to 5 (was 3) + * logs.jsp: Move version info to the top + * Jetty: Fix temp dir name handling on windows, which was + causing susidns not to start + (http://forum.i2p/viewtopic.php?t=3364) + * NTCP: Prevent IllegalStateException + * PeerProfile: + - Replace a hot lock with concurrent RW lock + - Rewrite ugly IP Restriction code + - Also use transport IP in restriction code + * RouterConsole: Make summary bar a refreshing iframe + * Transport: Start the previously unused CleanupUnreachable + +2009-04-21 sponge + * Code janitor work, basic corrections involving @Override, and + appling final where it is important. Also fixed some equals methods + and commented places that need fixing. + +2009-04-18 Complication + * Fix typo in "news.xml", no build number increase. + +* 2009-04-18 0.7.2 released + +2009-04-18 Complication + * Update versions, package release + +2009-04-17 sponge + * fixed setIP, just be sure to distclean before building :-) + * more lint taken care of as well. + +2009-04-17 sponge + * setIP wants to be a static method in the class, but it produces + warnings about it being static from other code. + +2009-04-17 sponge + * Catch NPE in NTCP. + This possibly augments fix 2009-04-11 welterde below. + * Various LINT on NTCP sources, and removal of space-wasting + spaces at end of lines in sources touched. + +2009-04-13 Mathiasdm + * Bugfix on tray icon updating + * Some more work on the general configuration menu + (currently not added to the tray icon menu yet, needs more work) + * Tweaked the desktopgui logo + +2009-04-13 Mathiasdm + * Added I2P version and GUI version to desktopgui + * Tweaks to the tray icon menu + * Some starting work on a GUI general configuration menu + * Bugfix allowing spaces in directory structure + +2009-04-13 welterde + * small fix in the eepproxy + +2009-04-11 welterde + * fixed NPE in NTCP transport + +2009-04-11 sponge + * i2ptunnel janitorial work and fixes on most locks. + Some locks still need work, and are marked with LINT in the comment. + Just grep for "LINT" to see where the remaining places are. + +2009-04-10 sponge + * More BOB threadgroup fixes, plus debug dump when things go wrong. + * Fixes to streaminglib, I2CP, which are related to the TG problem. + * JavaDocs fixups. + +2009-04-08 sponge + * More hopeful fixups to the infamous orpahned tunnel problem. *Sigh* + +2009-04-08 zzz + * IPV6/localhost: + - Enable IPv6 stack in the JVM, hopefully won't break anything + - Patch Jetty to support binding to IPv6 addresses + - Allow multiple bind addresses for the router console + in the clients.config file; for new installs the + default is now "127.0.0.1,::1" + - Change most instances of "localhost" to "127.0.0.1" + throughout the code + * Router: + - Move some classes to private static inner + +2009-04-07 sponge + * BOB prevent jvac from optimizing out thread-group code from -10 + +2009-04-07 zzz + * NTCP: Prevent occasional NPE introduced in -4 + * streamr: Synchronize DatagramMaker + +2009-04-07 sponge + * SimpleTimer2, SimpleScheduler fixed so that the threads all run from + The main threadgroup, not in the current possible child threadgroup. + So long as any SimpleTimer2/SimpleScheduler is started *BEFORE* any + child threadgroups, the constructors are threadgroup safe. What would + be super cool is if they were to be all jailed within thier very own + threadgroup too, but, I2P isn't up to the task of this yet. + * Fixes to BOB to ensure the above is true. + +2009-04-06 sponge + * Debugging to make SimpleTimer2 and SimpleScheduler easier to debug. + * Fix for the config files in the GUI from mathiasdm + +2009-04-04 sponge + * Hopeful fixups to the infamous orpahned tunnel problem. + * BOB now 0.0.5 + +2009-04-04 zzz + * NTCP: Don't bid on messages too big to handle + +2009-04-03 zzz + * Console: + - Fix bug with IE buttons not working, + because it sends the label instead of the value + - Display version of downloaded update + * Update: + - Change default to "Download and verify" + - Change news fetch default to 24h (was 12h) + +2009-04-03 sponge + * Fix broken dependencies for BOB.jar + * Router build version incremented to 5. + +2009-04-02 zzz + * Profiles: + - Remove unused calculators and RateStats: + CapacityCalculator, StrictSpeedCalculator, IsFailingCalculator; + sendFailureSize, processSuccessRate, processfailureRate, commErrorRate, + tunnelTestResponseTimeSlow + - Reduced number of Rates in these RateStats: + sendSuccessSize, receiveSize, rejectRate, failRate + - ~5KB/profile savings total + - Deflate speed calculation once an hour instead of once a day, + to improve fast tier selection + - Remove dup comment in persisted files + * StatisticsManager - effective in 0.7.2: + - Spoof uptime to 90m for all + - Change tunnel stats from 10m to 60m + * Transport: + - Maintain a router hash -> IP map in transport, + to support additional IP checks (unused for now) + - Catch error on pre-2.6 kernels + - Some concurrent conversion + - Fix an HTML error on peers.jsp + +2009-04-01 zzz + * I2PTunnel: Fix tunnel close + http://forum.i2p/viewtopic.php?t=3231 + +2009-03-30 zzz + * I2CP: + - Implement BandwidthLimitsMessage + - Have i2psnark use new message, remove + build dependency on router + * Peer Selection: + - Limit peers to a max % of all tunnels with + router.maxTunnelPercentage=nn, default 33 + - Add chart to tunnels.jsp to see results + +* 2009-03-29 0.7.1 released + +2009-03-29 Complication + * Update versions, package release + +2009-03-27 zzz + * Add readme_fr.html + * License splash update + * Catch rare TunnelGatewayMessage AIOOB, root cause unknown + +2009-03-24 zzz + * I2PTunnel: + - Add some warnings about new features + - Fix encrypted leasesets broken in about -4 + - Suppress log error on manual stop + - Fix NPE on close of a tunnel not open yet + * Transport: + - Increase default bw to 64/32, burst 80/40 + * Tunnels: Change some fragmentation errors to warns + +2009-03-16 zzz + * help.jsp: Add some + * I2PTunnel: Cleanup + * I2PTunnelHTTPClient: Fix NPE on delayed open + * I2PTunnelHTTPServer: Maybe catch an NPE + * SOCKS: Allow .onion addresses for onioncat testing + * Tunnel: Catch a rare AIOOB + +2009-03-09 zzz + * Client: + - Clean up retry code + - Bring I2CP listen error to the summary bar + http://forum.i2p/viewtopic.php?t=3133 + * I2PSnark: Remove the http from the add torrent box + * I2PTunnel: + - Add persistent key option for standard and IRC clients + - Add delay-open option for clients + - Get regenerate-dest-on-reconnect working + - Add default key file name + - Add link to addressbook + - I2PSink: Send protocol byte + * OCMOSJ: + - Change from 5% reply requests to at least + once per minute, in hopes of reducing IRC drops + - More clean up of the cache cleaning + * Routerconsole: Don't OOM configpeer.jsp on huge blocklists + +2009-02-26 zzz + * I2CP Client: Add support for muxing + * I2PTunnel: + - Add new IRCServer tunnel type + - Add SOCKS 4/4a support + - Catch OOMs in HTTPServer + - Name the IRCClient filter threads + - Port Streamr to I2PTunnel + - The beginnings of SOCKS UDP support + * Naming: Add reverse lookup by hash + * OCMOSJ: Clean up the cache cleaning + * Router: Move addShutdownTask from Router to I2PAppContext + so that apps can register more easily + * Routerconsole: + - Thread hard shutdown and restart requests from the routerconsole, + and add a delay even if no tunnels, to allow time for a UI response + - Sort the summary bar destinations + - Move dest-to-hash converter to new helper class so we can + use it in i2ptunnel + +2009-02-22 sponge + * BOB: Orphan tunnel issue fix, bump BOB version + * bump to Build 6 + +2009-02-16 zzz + * Streaming lib: Plug timer leak, don't send keepalives + after close, don't disconnect hard after close + +2009-02-15 zzz + * Add licenses to all packages + * I2PSession: Concurrent _messagesReceived + * i2psnark: tmp file removal try #3 + * I2PTunnel: + - Don't buffer POST data in HTTPClient + - Display destination even when stopped + - Enable key generation, dest modification, and + hashcash estimation in the GUI + - Add new CONNECT client + * NetDb: Enforce 60s minimum leaseset publish interval + * Streaming lib: + - Plug connection leak + - Move ConEvent from SimpleTimer to SimpleScheduler + - Move RetransmissionTimer (ResendPacketEvent) + from SimpleTimer to new SimpleTimer2 + - Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer + - SimpleTimer2 allows specifying "fuzz" to reduce + timer queue churn further + * Susidns: Fix save of new dest broken in 0.7 + * TunnelPool: + - Allow leasesets with reduced leases for robustness and startup speed + - Plug in-progress build leak + +2009-02-07 zzz + * ClientConnectionRunner, Shitlist, TunnelDispatcher: + Update using concurrent + * Streaming ConnectionHandler: Bound SYN queue and + use concurrent to prevent blowup + * HTTP Proxy: Fix error msg for b32 addresses + * I2CP: Implement optional reduce tunnels on idle - not hooked + in to i2ptunnel GUI yet - still needs tweaks + * I2CP MessageReader: Prevent rare NPE + * I2CP Writer: Rewrite using concurrent + * i2psnark: Add torrent and connection count + * I2PTunnel & I2CP: + - Fix tunnel reduction/restore, hook in the GUI + - Hook leaseset encryption into the GUI + - Implement saves for all the new stuff + - Add cancel button + - Add b32 display for non-http servers + - Prep for CONNECT + - Fix error msg when connection goes away + * NetDb: Remove all DataPublisher stuff + * Wrapper: Remove dup timeout + +2009-02-02 sponge + * Final? cleanups to Slackbuilds. + * ant target for Slackbuilds. + +2009-02-01 sponge + * Slackbuild files... if we can have them for Debian, why not :-) + +2009-02-01 zzz + * Convert some inner classes to static (findbugs) + * DataHelper.readLong(): Was returning -1 on EOF instead + of throwing exception + * i2psnark: Increase tunnels and pipeline to 3 + * NTCP: Use a java.util.concurrent execution queue instead of + SimpleTimer for afterSend() to reduce lock contention + * Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB) + * Routerconsole: + - Move common methods to new HelperBase class + - Make reseed link a button + * SimpleScheduler: New replacement for SimpleTimer when events + will not be rescheduled or cancelled, to reduce SimpleTimer + lock contention + * Tunnel Pool: + - Remove tunnel from participating if can't contact next hop + - Fail outbound build faster if can't contact first hop + * Wrapper: Remove dup timeout + +2009-01-31 dream + * Debian files + +2009-01-31 sponge + * One line BOB discarded interger fix + (not that it mattered at this point) + +2009-01-25 zzz + * Build files: + - Don't bundle unneeded XML parser xercesImpl.jar (1MB) + - Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB) + * I2CP: + Implement new I2CP message ReconfigureSessionMessage. + Will be used for tunnel reduction. + * I2PTunnel Edit Pages: + - Change default length to 2+0 + - Cleanup helper code + - Prevent null spoofhost + - Stub out the following new options (C=client, S=server): + + Access list (S) + + Certificate type (S) + + Encrypted LeaseSet (S) + + New dest on idle restart (C) + + Tunnel closure on idle (C) + + Tunnel reduction on idle (C,S) + * I2PTunnel Socks: + - Add support for SOCKS to GUI + - Don't NPE on SOCKS 4, just close + - Don't have SOCKS build a new dest for every request + - Beginnings of SOCKS configuration by port + - HTML error msg for attempted HTTP access + * LeaseSet: Add encrypt/decrypt methods + * netdb.jsp: Don't show stats by default + * OCMOSJ: Bundle a reply when we switch tunnel or lease, + to detect failure sooner + * PublishLocalRouterInfoJob: + - Delay for 5m at startup + - Run every 20m (was 7.5m) + * RebuildRouterInfoJob: Don't run it + * Router: Add a keyring for decrypting leases + * Routerconsole: Add configkeyring.jsp + * SummaryHelper.getTransferred() move to DataHelper, + rename to formatSize(), use on tunnels.jsp + * Streaming, I2CP, Client Message sending: + Pass message timeout through new I2CP message + SendMessageExpiresMessage, so that the router + uses the same expiration as the streaming lib. + Should help reliability. + * Streaming: TCB control block sharing + +* 2009-01-24 0.7 released + +2009-01-24 Complication + * Update versions, package release + +2009-01-17 zzz + * NTCP: Prevent two NTCP Pumpers + +2009-01-14 zzz + * config.jsp: Fix burst seconds display + * HTTPClient: Fix per-tunnel settings for i2cp.gzip and + i2ptunnel.httpclient.send* (thx tino) + * i2psnark: + - Fix double completion message + - Add crstrack + * initialNews.xml: Add .de (thx echelon) + * Message: Always distribute an inbound msg back out + a tunnel to foil a possible latency-measuring attack + (welterde) + * Naming: + - Change base32 names to *.b32.i2p + - Add i2p.naming.hostsTxt.useB32 config + * profiles.jsp: Remove 1m column + * SAM: Don't build tests by default + * Streaming: + - Prevent a rare NPE + - Reduce initial RTT to 8s (was 10s) + * tunnels.jsp: Add netdb links + +2009-01-08 zzz + * addressbook: Prevent Base32 hostnames + * build.xml: Remove readme_xx.html from updater + * configtunnels.jsp: Fix display of outbound backup count + * configupdate.jsp: Fix corruption of update URLs + * i2psnark: Recognize Robert 0.3 and 4 + * ExploreJob/SearchJob - fix brokenness: + - Give each search a minimum of time even at the end + - Fix ExploreJob exclude peer list + - Always add floodfills to exclude peer list + - Don't queue keys for exploration or run ExploreJob + if floodfill + - Allow floodfills to return non-floodfills in + a DSRM msg so exploration works + * ExploreJob/SearchJob - more fixes: + - Disable ExploreKeySelectorJob completely, just have + StartExplorersJob select a random key if queue is empty + - Add netDb.alwaysQuery=[B64Hash] for debugging + - Queue results of exploration for more exploration + - Floodfills periodically shuffle their KBuckets, and + FloodfillPeerSelector sorts more keys, so that + exploration works well + * Shitlist: Reduce max time to 30m (was 60m) + * Streaming: + - Reduce default initial window size from 12 to 6, + to account for the MTU increase in the last release + and try to limit initial packet loss + - Reduce fast retransmit threshold from 3 to 2 + * Transport: Don't shitlist a peer if we are at our + connection limit + +2009-01-03 zzz + * config.jsp: Move the buttons up + * configservice.jsp: Clean up and fix the broken (?) + browser launch configuration + * i2psnark: + - Try again to remove the i2psnarkurl files on shutdown + - Sort torrents with a locale-based sort + * NetDb: + - Expire routers with introducers after 90m. + This should improve reachability to firewalled routers + by keeping introducer info current. + - Expire routers with no addresses after 90m. + - Convert to java concurrent + * Stats: Add router.memoryUsed, graph by default + * Summary bar: Remove spurious UDP warning on startup + * UpdateHandler: Make extensible for upcoming + torrent updater + +2008-12-15 zzz + * Remove apps/ bogobot jdom pants q rome stasher syndie + +2008-12-14 zzz + * Contexts: Add int getProperty(String prop, int default) + * I2PAppThread: Constructor fix + * More split classes into their own files for mkvore + * Streaming: Don't build test cases by default + * Summary bar: Replace links with buttons + * Transport: + - Cleanup max connections code + - Add i2np.udp.maxConnections + - Set max connections based on share bandwidth + - Add haveCapacity() that can be used for connection + throttling in the router + - Reject IBGW/OBEP requests when near connection limit + - Reduce idle timeout when near connection limit + * Tunnel request handler: + - Require tunnel.dropLoad* stats + - Speed up request loop + * I2CP, HostsTxtNamingService, I2PTunnel: + Implement Base32 Hash hostnames, via the naming service. + Names are of the form [52-characters].i2p, where + the 52 characters are the Base32 representation of our + 256-byte hash. The client requests a lookup of the hash + via a brief I2CP session using new I2CP request/reply + messages. The router looks up the leaseset for the hash + to convert the hash to a dest. Convert the I2PTunnel + 'preview' links to use Base32 hostnames as a + demonstration. + +2008-12-08 zzz + * ATalk: Move from core to apps + * Blocklists: enable by default, include blocklist file + in new installs + * Build: Add findbugs target + * Cleanup of removed netdb stats + * Console: + - Don't display restart button if no wrapper + - Remove PRNG stats + * Eepsite: Disable jetty webapps by default for new installs + * i2psnark: + - Add default i2psnark.config for new installs + - Remove wishlist link + - Recognize robert and i2psnarkxl clients + - Increase max files to 256 + * Increase standalone heap size to 128MB + * NetDb: Split classes into their own files for mkvore + * PeerManager: Fix NPE on early shutdown + * SusiDNS: Add textareas + * Transport: + - Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled + - More TCP removal cleanup + - Clean up bandwidth limiting, centralize defaults + - Force burst to be >= limit + - Increase default bw to 48/24, burst 64/32 + * Tunnels: Avoid two NPEs on corrupt fragments + +2008-12-01 zzz + * i2psnark: + - Refactor to allow running a single Snark without a SnarkManager again, + by moving some things from SnarkManager to I2PSnarkUtil, + having Snark call completeListener callbacks, + and having Storage call storageListener callbacks. + This is in preparation for using Snark for router updates. + Step 2 is to allow multiple I2PSnarkUtil instances. + - Big rewrite of Storage to open file descriptors on demand, and + close them when unused, so we can support large numbers of torrents. + + * i2psnark: + - Remove static instances of I2PSnarkUtil, ConnectionAcceptor, + and PeerCoordinatorSet + - Convert static classes in Snark to listeners + - Fix Snark to work in single torrent mode again + - Should now work with multiple single Snarks + + * i2psnark: + - Use new I2PAppThread that does not call global listeners on OOM, + so that OOMing apps will not shutdown the whole router. + + * i2psnark: + - Don't create SnarkManager instance until first call, + so it doesn't create the i2psnark dir, read the config, + etc., for single Snark instances. + - Don't read i2psnark.config twice; fix setting + i2psnark.dir + - More Snark constructor changes for calling from router + - Make max connections per torrent configurable + + * SAM: + - Use new I2PAppThread that does not call global listeners on OOM, + so that OOMing SAM will not shutdown the whole router. + +* 2008-12-01 0.6.5 released + +2008-12-01 Complication + * Update versions, package release, fix typo in comment + +2008-11-26 zzz + * Fix Windows UrlLauncher + +2008-11-21 zzz + * Cache DNS and negative DNS for 5m (was 1m and forever) + * Delay shitlist cleaner at startup + * Strip wrapper properties from client config + * Define multiple cert type + * Prohibit negative maxSends in streaming + * HTML fixup on configtunnels.jsp + * Increase wrapper exit timeout from default 15s to 30s + +2008-11-20 zzz + * I2PTunnel: Handle missing fields in edit pages better + * Move DummyNetworkDatabaseFacade to his own file + to help the build dependencies + * Drop old tcp transport and old tunnel build sources + * EepGet: + - Better handling of 504 gateway timeout + (keep going up to limit of retry count rather + than just one more partial fetch) + - Add -t cmd line option for timeout + - Better handling of 403, 409, 503 errors + - Don't keep going after unknown return code + - Don't delay before exiting after a failure + +2008-11-15 zzz + * Build files: + - Don't die if depend not available + - Only verify Jetty hash once + - Add streaming lib tests to depend task + * I2CP Compression: + - Add i2cp.gzip option (default true) + - Add compression stats + - Don't bother compressing if really small + +2008-11-13 zzz + * Streaming: + - Add more info to Connection.toString() for debugging + - Fix lifetimeMessages{Sent,Received} stats + - Reduce RTT damping to 0.875 (was 0.9) + - Add a stream.con.initialRTT.{in,out} stats + * Build files: + - Use the depend task with caching for more accurate dependencies + - Make sure the routerconsole gets the latest router version + - Fix addressbook repeated builds + * HTTPClient: Add config options to pass Via, Referer, + and User-Agent through + * Blocklists: Fix lists with hashes only + +2008-11-11 zzz + * Streaming - Fix several bugs and improve performance + when the initial data is larger than one MTU, + e.g. HTTP GETs with large URLs, CGI params or cookies, + or large HTTP POSTS: + - Don't reject additional packets received without a + send stream ID (i.e. sent before the SYN ACK was received) + - Put unknown non-SYN packets on the SYN queue also + so they won't be rejected + - Reduce flusher delay to 250ms (was 500) + - Flush unless window is full (was window is non-empty) + * Streaming: Enforce a minimum MTU of 512 + * I2PTunnel: Change "interactive" max window size to 16 (was 1) + * NetDb: Fix a deadlock caused by last checkin + +2008-11-09 zzz + * build.xml: Build speedups: + - Don't distclean in the updaterRouter target + - Don't make prepUpdate and prepupdateSmall depend + on distclean + - Don't make susimail build always clean + - Make pkg depend on distclean to be sure + - Clean out more routerconsole and susidns files in 'ant clean' + - i2ptunnel, routerconsole, susidns: + Only build WEB-INF when necessary + - systray: Only build jar when necessary + - Don't build i2psnark standalone for the updater target + * configclients.jsp: Provide a link when starting a webapp + * configtunnels.jsp: + - Code cleanup + - Add 4-hop option + - Remove +/- 0-2 option + * javadoc: Add some more package.html files + * I2PTunnelHTTPServer: Put the requestor's dest hash + in the request headers + * Jetty: Add a I2PRequestLog class to log request dest hash + * NetDb: Don't drop routerInfos if we have connectivity + issues or other problems + * NTCP: Lower idle timeout to 10m (was 15m) + * Routerconsole: Replace wtf msg w/ something nicer + * Tunnel BuildHandler: add config router.participantOnly, + set to true to refuse OBEP and IBGW roles, should + reduce connections significantly if set. + +2008-11-02 zzz + * Certificates: + - Add a signed Certificate type + - Add a main() to PrivateKeyFile to generate + Destinations with various Certificate types + - Add a VerifiedDestination class to check Certificates + of various types + - Add a HashCash library from http://www.nettgryppa.com/code/ + (no distribution restrictions) + - Allow non-null Certificates in addressbook + * I2PTunnel: Move some wayward stats to the I2PTunnel group + * NamingServices: Implement caching in the abstract class + * NewsFetcher: Fix last updated time + * Streaming: Increase MTU to 1730 (was 960); + see ConnectionOptions.java for analysis + * Throttle: Reduce default max tunnels to 2000 (was 2500) + * clients.config: Disable SAM and BOB by default for new installs + +2008-10-26 zzz + * config.jsp: Add more help + * peers.jsp: Clean up 'Listening on' formatting + * profiles.jsp: Don't override locale number format + * netdb.jsp: Indicate if hidden + * summary.jsp: Indicate if hidden + * i2ptunnel/edit.jsp: Disable word wrap in textarea + * Blocklist: Change logging from ERROR to WARN + * FloodfillMonitor: + - Fix ff count (we forgot ourselves) + - Don't become ff if hidden + * HandleFloodfillDatabaseLookupMessageJob: + Send back your routerinfo with the DSRM if not ff to + spread the word that you aren't ff anymore + * I2Ping: + - Add -n count option + - Add rtt output + - Enhance help + - Fix option handling + * More findbugs cleanups + * NetDb: + - Fix behavior when router.isHidden=true + - Delay StartExplorersJob for 10m at startup + - Update dbLookup profile stats in FloodOnlySearchJob + and FloodfillVerifyStoreJob + - Fix response time store in profile in SearchJob + * Stats: + - Remove unused tunnel.buildSuccess and tunnel.buildFailure + - Remove tunnel.buildRequestTime and 5m rate stats from + netDb, effective in next release + * UDP: + - Don't do peer tests when hidden + - Don't offer to introduce when hidden + - Don't continually rebuild routerInfo when hidden + - Don't continually rebuild routerInfo when + i2np.udp.internalPort is set but i2np.udp.port is not + - Remove some unused functions + +2008-10-20 zzz + * configclients.jsp: Handle clients with no args + * index.jsp: Add readme_nl.html (thanks mathiasdm!), + readme_sv.html (thanks hottuna!) + * Big findbugs cleanup + * Client: Prevent a race causing session reconnect + * FloodfillMonitor: + - Don't become ff if clock skew is high + - Rebuild routerinfo immediately when ff status changes + * FloodOnlySearchJob: Recover better if the floodfills + you know are no longer floodfill or are gone + * Installer: Bump min JRE to 1.5 + * ShellCommand: Fix main() + +2008-10-14 zzz + * index.jsp: Add multilanguage support for readme.html; + add readme_de.html (thanks devzero!) + * configupdate.jsp, configadvanced.jsp: + Disable word wrap in textareas + * install*.txt: Update for 1.5 + * summary.jsp: Remove failing peer count + +2008-10-10 zzz + * Profiles: Reduce reject penalty in + capacity calculation to avoid a congestion collapse + * Throttle: Change reject to BANDWIDTH from CRIT on shutdown + for improved anonymity + * Tunnels: Implement random discard to enforce share limit + * Tunnel Tests: Add time for outbound delay, to avoid + congestion collapse + * UDPPacketReader: Adjust logging + * build files: Change to source=1.5, target=1.5 + * configpeer.jsp: Table cleanup + * i2psnark: Change default tunnel length from 1+1 to 2+0 + * peers.jsp: Change <,> to in,out for UDP + +2008-10-09 sponge + * Update version to -3 + * BOB database threadlocking fixes + +2008-10-08 sponge + * Update version to -2 + * Bugfixes and additions to BOB + +2008-10-07 sponge + * Bugfixes and additions to streaming. + * Added SimpleStore class in utils. + * Fixed SimpleTimer class to allow exit. + * BOB (Basic Open Bridge) added. + +* 2008-10-05 0.6.4 released + +2008-10-05 Complication + * Update versions, package release + +2008-09-29 zzz + * i2psnark: Add codevoid link, remove mastertracker + +2008-09-23 zzz + * config.jsp: Add some reachability help + * configpeer.jsp: Add blocklist info + * help.jsp: Add link to German FAQ + * tunnels.jsp: Fix inactive participating count + * SearchReplyJob: Don't look up references to shitlisted peers + * TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout + +2008-09-20 zzz + * NetDb: Fix the totally broken "check new routers against blocklist" + code from 3 checkins ago + * tunnels.jsp: Sort participating tunnels by usage, display rate + +2008-09-19 zzz + * Tunnels: + - Add missing message accounting for inbound gateways, + we were underestimating participating traffic because of it, + and the tunnels were classified "inactive" + - Add participating tunnel role on tunnels.jsp + +2008-09-18 zzz + * Throttle: + - Correctly check inbound and outbound total bw limits separately + - Fix up and actually use the tunnel.participatingMessageCount stat, + favor it if lower than the total bw stat, so that + client traffic isn't included for throttle decisions + - Reduce min message count from 60 to 40 + * Tunnel Dispatcher: + - Add tunnel.participatingBandwidth stat + - Remove all 3h and 24h stats + +2008-09-15 zzz + * FloodOnlySearchJob: + - Ask non-floodfill peers if we don't know any floodfills + - Lookup hashes in the DatabaseSearchReplyMessage if we + don't know enough floodfills + * NetDb: Check new routers against blocklist + * Router: Shutdown clients first + * Throttle: + - Use 60s rather than 10m tunnel.participatingMessageCount stat + - Fix a summary bar message + * Tunnel Dispatcher: Update tunnel.participatingMessageCount + every 20s, rather than at tunnel expiration, to maintain + a more current stat + * Tunnel Pool: + - Prevent excess zero-hop tunnels + - Always wait before looping in BuildExecutor + * configlogging.jsp: Increase box width + * logs.jsp: Remove unused connection log, cut wrapper log output in half + +2008-09-12 zzz + * Blocklist: Fix a log message format + * HarvesterJob: Don't instantiate if disabled + * i2psnark: + - Add config i2psnark.linkPrefix to enable access to completed + torrents from a different machine - examples: + i2psnark.linkPrefix=file://///localserver/path/to/files/ + i2psnark.linkPrefix=http://localwebserver/path/ + (Stop i2psnark, add to i2psnark.config, restart) + - Remove Galen and NickyB trackers + * NetDb: Add netDb.exploreKeySet stat + * netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo, + and ?r=. to view our own; change links on other pages too + * Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private + +2008-09-06 zzz + * EepGet command line: Fix byte counts after a failed resume + * NTCP: Mark unreachable on outbound connection timeout + * Shitlist: Fix partial shitlisting (still unused though) + * Summary Bar: Warn if firewalled and floodfill + * Throttle: Combine current and last bw measurement, + reduce default max tunnels to 2500 (was 3000) + * Tunnel BuildHandler: Logging cleanup + * UpdateHandler: Cleanup, clarify failure message + * DataHelper: Prepare for 999 day uptime :) + +2008-08-29 zzz + * Tunnel BuildExecutor: Debug cleanup + * Profiles: Penalize capacity when tunnel build request times out + * Shutdown: Call the shutdown hooks before the router shutdown + rather than after + * Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed + +2008-08-27 zzz + * Floodfill Peer Selector: Prefer already-connected floodfill + peer for direct RouterInfo stores, to mimimize floodfill + connections + * Peer Profiles: Classify connected peers as "active", + which will help improve the fast pool + * Transport Manager: Add isEstablished(Hash) + * NTCP: Reduce max idle time from 20m to 15m + * NetDb stats: Post-0.6.3 clean up + +* 2008-08-24 0.6.3 released + +2008-08-24 Complication + * Update versions, package release + +2008-08-20 zzz + * Blocklists: Handle blank lines and \r\n in blocklist.txt + * NTCP: Add connection limit, set by i2np.ntcp.maxConnections, + default is 500 (very high for now) + * Persistent data store: Increase write limit from 300 to 600 + so floodfill routers don't get backed up + +2008-08-13 zzz + * i2psnark: Fix OOM vulnerability by checking incoming message length + (thanks devzero!) + +2008-08-04 zzz + * Floodfill Peer Selector: + - Avoid peers whose netdb is old, or have a recent failed store, + or are forever-shitlisted + +2008-07-30 zzz + * Blocklists: + - New, disabled by default, except for blocking of + forever-shitlisted peers. See source for instructions + and file format. + * Transport - Reject peers from inbound connections: + - Check IP against blocklist + - Check router hash against forever-shitlist, then block IP + +2008-07-16 zzz + * configpeer.jsp: New + * i2psnark: Open completed files read-only the first time + * profiles.jsp: Show bonuses, link to configpeer.jsp + * PRNG: Move logging from wrapper to router log + * SSU: + Don't proactively reconnect until 30m idle, so + we don't lose introducer tags prematurely + +2008-07-16 Oldaris + * Imports cleanup + +2008-07-07 zzz + * i2psnark: + - Repair corrupted files with wrong length rather than die + - Register shutdown hook to properly shutdown torrents when + the router shuts down, hopefully will reduce corruption + - Add Galen tracker + - Add a note about how to change directory + * HTTP Proxy: Don't show jump links for unknown jump hosts + * KeyManager: + - Don't write router key backup when leaseSet keys are updated + - Synchronize to prevent concurrent writes (thanks Galen!) + - Backup keys every 7 days instead of every 5 minutes + * LoadTestManager: Don't instantiate, it's disabled + * Router console: Flag placeholder pages as noncacheable + * Streaming lib: + - Change some logging from WARN to INFO + - Clean up toString() + * SSU: + - Try to pick better introducers by checking shitlist, + wasUnreachable list, failing list, and idle times + - To keep introducer connections up and valid, + periodically send a "ping" (a data packet with no data and no acks) + to everybody that has been an introducer in the last two hours + - Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones + - Remove some 60s and 5m stats, leave only the 10m ones + - Narrow the range for the retransmit time after an allocation fail + - Adjust some logging + +2008-06-30 zzz + * configstats.jsp: Fix NPE when no stats checked (thanks nothome27!) + * i2psnark: + - Fix NPE caused by race (thanks echelon!) + - Add mastertracker, remove de-ebook + * NTCP: + - Try to fix 100% CPU, caused perhaps by JVM NIO bug... + - Fix failsafe stats + * PersistentDataStore: More leaseSet code cleanup + * SimpleTimer: Change congestion message from error to warn + +2008-06-24 zzz + * FloodfillMonitorJob: Change range from 5-7 to 4-6 + * NTCP: Remove getIsInbound(), duplicate of isInbound() + * PersistentDataStore: Don't try to remove nonexistent leaseSet files + * Router console: add placeholder pages for i2psnark, i2ptunnel, + susidns, and susimail for use when the .wars are not running + * Streaming lib: Increase max window size to 128 + +2008-06-22 welterde + * Optimize I2PDatagramDissector + +2008-06-20 zzz + * configclients.jsp: Add start button for clients and webapps. + * PRNG: Add two stats + * Summary bar: + - Display Warning for TCP private IP address + - Display PRNG stats + * OutNetMessage: Change cache logging from WARN to INFO + +2008-06-17 zzz + * Comm System: Add new STATUS_HOSED for use when UDP bind fails + * Summary bar: Display helpful errror message when UDP bind fails + * UDP: Don't bid when UDP bind fails + * configclients.jsp: Implement saves for clients and webapps. + +2008-06-16 zzz + * UDP: Prevent 100% CPU when UDP bind fails; + change bind fail message from ERROR to CRIT + * Refactor LoadClientAppsJob.java, move some functions to new + ClientAppConfig.java, to make them easily available to + new configclients.jsp + * RouterConsoleRunner: Use a new config file, webapps.config, + to control which .wars in webapps/ get run. Apps are enabled + by default; disable by (e.g.) webapps.syndie.startOnLoad=false + Config file is written if it does not exist. + Implement methods for use by new configclients.jsp. + * configclients.jsp: New. For both clients and webapps. + Saves are not yet implemented. + +2008-06-10 zzz + * Floodfill: Add new FloodfillMonitorJob, which tracks active + floodfills, and automatically enables/disables floodfill on + Class O routers to maintain 5-7 total active floodfills + * NetDb Stats: + - Remove several more stats + - Don't publish bw stats in first hour of uptime + - Publish floodfill stats even if other stats are disabled + - Changes not effective until 0.6.2.1 to provide cover. + * Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at + startup, so peers don't list us as failing. + * graphs.jsp: Fix a bug where it tries to display the combined + bandwidth graph when it isn't available + +2008-06-09 zzz + * Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p + +2008-06-09 zzz + * Reachability: Restrict peers with no SSU address at all from inbound tunnels + * News: + - Add display of last updated and last checked time + on index.jsp and configupdate.jsp + - Add a function to get update version (unused for now) + * config.jsp: Add another warning + +2008-06-07 zzz + * NetDb: Tweak some logging on lease problems + * Shitlist: + - Add shitlistForever() and isShitlistedForever(), unused for now + - Sort the HTML output by router hash + * netdb.jsp: + - Sort the lease HTML output by dest hash, local first + - Sort the router HTML output by router hash + +2008-06-06 zzz + * LeaseSet: + - Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet() + to make later LeaseSet comparisons reliable. This cleans up the code too. + - Fix broken old vs. new LeaseSet comparison + in ClientConnectionRunner.requestLeaseSet(), + so that we only sign and publish a new LeaseSet when it's really new. + Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling, + and floodfill router load, since locked_buildNewLeaseSet() generates + the same LeaseSet as before quite frequently, often just seconds apart. + +2008-06-05 zzz + * LeaseSet - code cleanup: + - Add exception to enforce max # of leases = 6, should be plenty + - Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of + leases and then immediately remove them again, triggering + the new leaseSet size exception + - Remove the now unused LeaseSet.removeLease(lease) and + LeaseSet.removeLease(index) + - Store first and last expiration for efficiency + * Peer Profiles - Preparation for using bonuses: + - Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation + - Persist CapacityBonus rather than ReachabilityBonus + - Include SpeedBonus in the Speed calculation + - Prevent negative values in Speed and Capacity when using bonuses + - Clean up SpeedCalculator.java + * HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know + * Add some config files for a future small distribution + * configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations + +2008-06-01 zzz + * Client Apps: Add new parameter for clients.config, + clientApp.x.startOnLoad=false, to disable loading + (for SAM for example). Defaults to true of course. + * Logging: Move common WARN output to DEBUG so we can ask users to + set the default log level to WARN without massive spewage + * ProfileOrganizer: Restrict !isSelectable() (i.e. shitlisted) peers from the High Capacity tier, + not just the Fast tier, since we don't use them for tunnels anyway + * SAM: Add some compiler flexibility to two obscure makefiles + * i2psnark: Change displayed peer idents to match that shown by bytemonsoon + (sponge's suggestion) + * summary bar: + - Hide ident, provide a tooltip and a link + - Add a warning if you are firewalled and class O + +2008-06-07 Complication + * Fix version in news.xml so it could be published + +* 2008-06-07 0.6.2 released + +2008-06-07 Complication + * Write announcement and prepare for release + +2008-05-29 zzz + * Fix up initialNews.xml + +2008-05-27 zzz + * Transport: + - NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable + - UDP: Don't bid when IP address missing, mark unreachable + +2008-05-26 zzz + * Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none) + * Stats: Add a fake uptime if not publishing stats, to get participating tunnels + * build.xml: + - Add an updaterSmall target which includes only the essentials + - Add an updaterRouter target which includes only i2p.jar and router.jar + - Clean up the build file some + - Remove empty eepsite/ and subdirs from i2pupdate.zip + * configtunnels.jsp: Add warning + * i2psnark: Catch a bencode exception (bad peer from tracker) earlier + * i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217 + +2008-05-22 welterde + * Change jetty download location in build script + +2008-05-20 zzz + * Reachability: + - Call the previously unused profile.tunnelTestFailed() + (redefined to include a probability argument) + and severely downgrade a peer's capacity upon failures, + depending on tunnel length and direction. + This will help push unreachable and malicious peers + out of the High Capacity tier. + - Put recent fail rate on profiles.jsp + * ProfileOrganizer: Logging cleanup + * eepsite_index.html: Update add-host and jump links + * HTTP Proxy: Remove trevorreznik jump server from list + +2008-05-20 welterde + * implemented PrivateKeyFile + +2008-05-18 zzz + * Throttle: Reject tunnels for first 20m uptime (was 10m) + * TunnelPeerSelectors: + - Re-enable strict ordering of peers, + based on XOR distance from a random hash + - Restrict peers with uptime < 90m from tunnels (was 2h), + which is really 60m due to rounding in netDb publishing. + * i2psnark: + - Limit max pipelined requests from a single peer to 128KB + (was unlimited; i2p-bt default is 5 * 64KB) + - Increase max uploaders per torrent to 6 (was 4) + - Reduce max connections per torrent to 16 (was 24) to increase + unchoke time and reduce memory consumption + - Strictly enforce max connections per torrent + - Choke more gradually when over BW limit + * help.jsp: Add a link to the FAQ + * peers.jsp: Fix UDP direction indicators + * hosts.txt: Add update.postman.i2p + +2008-05-12 zzz + * Outbound message: + - Tweak the cache key for efficiency + * Stats: + - Require two udp stats when stats.full=false, caused NPE on peers.jsp + * Summary bar: + - Add messages when dropping tunnel requests due to load + * Update Handler: + - Add postman to the list + * i2psnark: + - Randomize the PeerCheckerTask start times to make global limiting + work better + - Calculate bw limits using 40s rather than 4m averages to make + bw limiting work better + - Change default bw limit from uplimit/3 to uplimit/2 due to + overhead reduction from the leaseset bundling change + * libjbigi: + - Add documentation on dynamic build option + - Add two speed tests to the build script + - Clean up the build script, make it easier to build dynamic + +2008-05-10 zzz + * NetDb: Don't write the my.info file to disk, it isn't used for anything + * Stats: + - Simplify oldstats.jsp if no events in a stat + - Fix the hosed inNetPool.droppedDeliveryStatusDelay stat + (caused by an SSU hack) + * Update Handler: + - Add option to download and verify only + - Add distinct error message if version check fails + +2008-05-09 welterde + * Add an update URL to the list + +2008-05-07 zzz + * Reachability: + - Restrict peers requiring introducers from inbound tunnels, + since it's slow and unreliable... and many of them advertise + NTCP, which seems unlikely to work + - Provide warning on summary bar if firewalled with inbound NTCP enabled + * Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless + log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN + at startup (you didn't get any data unless you set the log level anyway) + * oldstats.jsp: Don't put 2 decimal places on integer event counts + * Remove the Internals link from the menu bar + * i2psnark: Extend startup delay from 1 to 3 minutes + +2008-05-06 welterde + * HTTP Proxy: Add i2jump.i2p jump service + +2008-05-05 zzz + * NetDb Stats: Cleanup of commented out stats + * Outbound message: + - Fix a couple of tunnel cache cleaning bugs + - Cache based on source+dest pairs rather than just dest + - Send the reply leaseSet only when necessary, + rather than all the time (big savings in overhead) + - Enable persistent lease selection again + - Logging tweaks + * Reachability: + - Restrict <= .32 SSU-only peers from inbound tunnels, + since they don't know if they are unreachable + - Have SSU bid aggressively when it has less than 3 peers, so + we can determine our IP address and do peer testing. + Otherwise a router may never determine its IP address or reachability status. + * Summary bar: + - Add reachability status + - Add participating tunnel acceptance status + * Throttle: Reject tunnels for first 10m uptime + * I2PTunnel: Change default outproxy to false.i2p + * profiles.jsp: Add router version + +* 2008-04-26 0.6.1.33 released + +2008-04-20 zzz + * Outbound message/Reachability: + - Fix a bug from -19 causing the persistent lease selection + removed in -17 to be back again + - Use netDb-listed-unreachable instead of detected-unreachable + for exclusion of unreachable peers from selected leases, + as there are potential anonymity problems with using + detected-unreachable + - Tweak logging some more + * NetDb stats: Remove a couple more including the inefficient stat_identities + +2008-04-17 zzz + * Reachability: + - Track unreachable peers persistently + (i.e. separately from shitlist, and not cleared when they contact us) + - Exclude detected unreachable peers from inbound tunnels + - Exclude detected unreachable peers from selected leases + - Exclude detected unreachable floodfill peers from lookups + - Show unreachable status on profiles.jsp + +2008-04-16 zzz + * SSU/Reachability: + - Extend shitlist time from 4-8m to 40-60m + - Add some shitlist logging + - Don't shitlist twice when unreachable on all transports + - Exclude netDb-listed unreachable peers from inbound tunnels; + this won't help much since there are very few of these now + - Remove 10s delay on inbound UDP connections used for the + 0.6.1.10 transition + - Track and display UDP connection direction on peers.jsp + - Show shitlist status in-line on profiles.jsp + +2008-04-15 zzz + * SSU Reachability/PeerTestManager: + - Back out strict peer ordering until we fix SSU + - Back out persistent lease selection until we fix SSU + - Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration + - Increase known Charlie time to 10m; 3m wasn't enough + - Don't continue retransmitting peer test if we know Charlie + - Don't run multiple peer tests at once + - Tighten test frequency range to 6.5-19.5m, was 0-26m + +2008-04-12 zzz + * Addressbook: Disallow '.-' and '-.' in host names + * NTCP: Don't drop a connection unless both directions are idle; + Fix idle time for outbound connections + * Outbound message: Make sure cached lease is in current leaseSet + * Stats: Put all NetworkDatabase stats in same group + * TunnelPool: Stop building tunnels and leaseSets after client shutdown + * i2psnark: Add locking to prevent two I2CP connections + +2008-04-07 zzz + * i2psnark: + - Implement upstream bandwidth limiting + - Fix a rare NPE at startup/shutdown + - Really increase retries for .torrent fetch + * profiles.jsp: Minor cleanup + * DataHelper: Only format < 5s as ms + * Eepget: Fix percentage output on command line eepget retries + * Lower partipating message priority from 400 to 200 + * NTCP: Add a debug message + * Outbound message: Minor cleanup + +2008-03-30 zzz + * ExploratoryPeerSelector: Try NonFailing even more + * HostsTxtNamingService: Add reverse lookup support + * Outbound message: Minor cleanup + * i2psnark TrackerClient: Minor cleanup + * checklist.txt: Minor edit + * hosts.txt: Add perv.i2p, false.i2p, mtn.i2p2.i2p + * i2ptunnel.config: Change CVS client to mtn + * netdb.jsp: Show leaseSet destinations using reverse lookup + * profiles.jsp: First cut at showing floodfill data + +2008-03-27 zzz + * Send messages for the same destination to the same inbound + lease to reduce out-of-order delivery. + * ExploratoryPeerSelector: Back out the floodfill peer exclusion + for now, as it prevents speed rating of those peers + +2008-03-26 zzz + * ReseedHandler: Support multiple urls, + add netdb.i2p2.de as a 2nd default + +2008-03-25 zzz + * i2psnark: + - Add support for secondary open trackers + - Refactor and simplify the TrackerClient code + - Add welterde's tracker to the default list + - Don't have eepget retry announces + - Slow down tracker contacts if they've failed for a while + - Add some debug support showing connections (?p=2) + * hosts.txt: Add nickyb.i2p, tracker.welterde.i2p + +2008-03-22 zzz + * NewsFetcher: Fix bug causing fetch every 10m + +2008-03-22 zzz + * Tunnel Testing: + - Fix counting so it really takes 4 consecutive failures + rather than 4 total to remove a tunnel + - Credit or blame goes to the exploratory tunnel as well + as the tunnel being tested + - Adjust tunnel test timeout based on tunnel length + * ExploratoryPeerSelector: Tweak logging + * ProfileOrganizer: Adjust integration calculation again + * build.xml: Add to help + * checklist.txt: Tweak + * readme.html: Fix forum links + * netDb: Remove tunnel.testFailedTime + +2008-03-19 zzz + * ExploratoryPeerSelector: + - Exclude floodfill peers + - Tweak the HighCap vs. NonFailing decision; try NonFailing + at least a minimum % of the time + * i2psnark: Increase retries for .torrent fetch + * IRC Proxy: Prevent mIRC from sending an alternate DCC request + containing an IP + * readme.html: Reorder some items + * Stats: Add some more required stats + * Streaming lib: Fix slow start to be exponential growth, + fix congestion avoidance to be linear growth. + Should speed up local connections a lot, and remote + connections a little. + +2008-03-14 zzz + * Floodfill Search: + - Prefer heard-from, unfailing, unshitlisted floodfill peers + +2008-03-14 zzz + * ProfileOrganizer: + - Use more recent stats to calculate integration + - Show that fast peers are also high-capacity on profiles.jsp + * readme.html: Update Syndie link + * TunnelPool: Update comments + * netDb: Report 1-2h uptime as 90m to further frustrate tracking, + get rid of the 60s tunnel stats + (effective as of .33 to provide cover) + +2008-03-13 zzz + * Floodfill Search: + - Fix a bug that caused a single FloodfillOnlySearchJob + instance to be run multiple times, with unpredictable + results + - Select ff peers randomly to improve reliability + - Add some bulletproofing + +2008-03-11 zzz + * ProfileOrganizer: + - Don't require a peer to be high-capacity to be + well-integrated (not used for anything right now, + but want to get it right for possible floodfill verification) + - Don't fall back to median for high-capacity threshold + if the mean is higher than the median, this prevents + frequent large high-capacity counts + - Fix high-capacity selector that picked one too many + * Console: put well-integrated count back in the summary + +2008-03-10 zzz + * EepGet: Fix byte count for bytesTransferred status listeners + (fixes command line status) + * UpdateHandler: + - Fix byte count display + - Display final status on router console + - Don't allow multiple update jobs to queue up + - Increase max retries + - Code cleanup + - Don't show 'check for update' button when update in progress + - Enhance error messages + * NetDb: Comment out published netDb stats disabled for .32 + +2008-03-08 zzz + * TunnelPeerSelectors: Implement strict ordering of peers, + based on XOR distance from a random hash + separately generated for each tunnel pool + +2008-03-07 zzz + * Naming: Optimize lookups for a destkey + * ProfileOrganizer, TunnelPoolSettings, ClientPeerSelector: + - Prevent peers with matching IPs from joining same tunnel. + Match 0-4 bytes of IP (0=off, 1=most restrictive, 4=least). + Default is 2 (disallow routers in same /16). + Set with router.defaultPool.IPRestriction=x + - Comment out unused RebuildPeriod pool setting + - Add random key to pool in preparation for XOR peer ordering + * SusiMail: Add 'Create Account' link + * TunnelDispatcher: Change a common wtf error to a warn + +2008-03-05 zzz + * Naming: Make HostsTxt the sole default NamingService + (was Meta = PetName + HostsTxt) + * Naming: Add two new experimental NamingServices, EepGet and Exec, + not enabled by default - + see source comments in core/java/src/net/i2p/client/naming + for configuration instructions + * i2psnark: Don't do a naming lookup for Base64 destkeys + * i2psnark: Add a StartAll button + * Stats: Add code to disable most stats to save memory. + Set on configstats.jsp or set stat.full=false to disable the stats. + (true by default for now) + +2008-03-09 Complication + * Give the Jetty build file ability to ask permission + before downloading the Jetty archive from the web, + and to verify its SHA1 + MD5 hashes. Adjust the main build file + in accordance with this change. + * Improve the release checklist. + +* 2008-03-09 0.6.1.32 released + +2008-03-07 zzz + * Update news and version numbers + +2008-03-01 zzz + * Fix netdb.knownLeaseSets count reported by floodfill routers + (was broken by -3) + +2008-02-27 zzz + * i2ptunnel: Add 3-hop option to edit.jsp to match configtunnels.jsp + * i2psnark: Remove orion and gaytorrents from default tracker list + * Remove orion from jump list and from eepsite_index.html + * Jbigi: Change jbigi version to 4.2.2 in build scripts - tested by amiga + * Capitalize OutboundMessageDistributor job name + * TunnelPool: Add a warning if all tunnels are backlogged + +2008-02-26 zzz + * Reintroduce NTCP backlog pushback, with switch back to + previous tunnel when no longer backlogged + * Catch an nio exception in an NTCP logging statement if loglevel is WARN + * IRC Proxy: terminate all messages with \r\n (thanks TrivialPursuit!) + +2008-02-21 zzz + * Raise inbound default bandwidth to 32KBps + * Fix config.jsp that showed 0KBps share bandwidth by default + +2008-02-19 zzz + * Addressbook: Disallow '--' in host names except in IDN, + add some reserved host names + * I2PTunnel: Clarify edit form + * NetDb: Remove many stats from netDb, effective as of .32 + * profiles.jsp: Display capabilities + * Tunnels: Enforce max tunnel length of 8, catch an index error + http://forum.i2p/viewtopic.php?t=2561 + +2008-02-16 zzz + * Fix race in TunnelDispatcher which caused + participating tunnel count to seesaw - + should increase network capacity + * Leave participating tunnels in 10s batches for efficiency + * Update participating tunnel ratestat when leaving a tunnel too, + to generate a smoother graph + * Fix tunnel.participatingMessageCount stat to include all + participating tunnels, not just outbound endpoints + * Simplify Expire Tunnel job name + +2008-02-13 zzz + * PersistentDataStore: Write out 300 records every 10 min + rather than 1 every 10 sec; + Don't store leasesets to disk or read them in + * Combine rates for pools with the same length setting + in the new tunnel build algorithm + * Clarify a log message in the UpdateHandler + +2008-02-13 zzz + * Make graphs clickable to get larger graphs + * Change SimpleTimer CRIT to a WARN, increase threshold + * Checklist update + +2008-02-11 welterde + * Fix an NPE in UDP http://forum.i2p/viewtopic.php?t=2545 + +2008-02-10 zzz + * Add new tunnel build algorithm (preliminary) + * Change NTCP backlogged message from error to warning + * Checklist updates + +* 2008-02-10 0.6.1.31 released + +2008-02-10 Complication + * Update news and version numbers + +2008-02-06 zzz + * build.xml: Add some apps to javadoc + * checklist.txt: Add some things + * news.xml: make links relative + * runplain.sh: Add some comments + * wrapper.config: Add some comments + +2008-02-05 Complication + * Change the dates too (sorry for such forgetfulness!) + +2008-02-04 Complication + * Also use the new key for checking, and add it into news.xml + +2008-02-04 Complication + * Added my release signing key into TrustedUpdate.java + +2008-01-31 zzz + * NewsFetcher: Change fetch failed from error to warning + * installer: Fix URL and "email" + * checklist.txt: New release checklist + +2008-01-29 zzz + * Addressbook: Change default subscription + * ConfigUpdateHandler: Change default news URL + * initialNews.xml: Update version to .31 + * news.xml: More updates + * hosts.txt: Add i2p-projekt.i2p + * readme.html: More URL updates + * SusiDNS: Change references to default subscription + +2008-01-28 zzz + * news.xml: Updates, still preliminary + * ReseedHandler: Change default URL + * i2ptunnel.config: Change default outproxies + * readme.html: Change *.i2p.net URLs + * help.jsp: Change *.i2p.net URLs + * eepsite_index.html: Change stats.i2p addressbook subscription URL + * hosts.txt: Add krabs.i2p, true.i2p, www.i2p2.i2p + +* 2008-01-28 0.6.1.30-20 converted from CVS to MTN + +2008-01-08 zzz + * addressbook: Limit size of subscribed hosts.txt, + don't save old etag or last-modified data + * EepGet: Add some logging, + enforce size limits even when size not in returned header, + don't return old etag or last-modified data, + don't call transferFailed listener more than once + * Sign my update signing key + * NewsFetcher: add last-modified support, reduce number of retries + * Error pages: add icon and logo, + clarify 'destination not found' and 'proxy not found' pages + +2008-01-07 zzz + * profiles.jsp formatting cleanup + * NTCP: Reduce max idle time from 60m to 20m + * NTCP: Fix idle time on connections with zero messages, + correctly drop these connections + +2008-01-03 zzz + * addressbook: Do basic validation of hostnames and destkeys + * susidns: Add support for the private addressbook, + update the text and links somewhat + +2008-01-02 zzz + * Add stats.i2p to the jump list + * Impose 20MB limit on POSTs and catch OOMs in POST + * eepsite_index.html: add stats.i2p services + * addressbook: log source of new keys; disallow dests > 516 bytes + * addressbook: convert hostnames to lower case to prevent duplicates + * susidns: generalize references to orion + +2007-12-29 zzz + * Tweak IRC inbound PONG filtering to fix xchat/BitchX lagometers + * Allow commas in router.trustedUpdateKeys and router.updateURL again + * Change default news host from dev.i2p.net to dev.i2p + * Change jetty timeout from 30 to 60 sec (thanks sponge!) + +2007-12-28 zzz + * Add zzz's update signing key + +2007-12-26 Complication + * Improve reseed handler (less repetitive code, + avoid reporting errors when less than 10% of fetches fail) + +2007-12-26 Complication + * Escape both CR, LF and CR LF line breaks in Router.saveConfig() + and unescape them in DataHelper.loadProps() to support + saving and loading config properties with line breaks + * Change the update URLs textbox into a textarea like keys have, + so different URLs go on different lines + * Modify TrustedUpdate to provide a method which supplies a key list + delimited with CR LF line breaks + * Modify DEFAULT_UPDATE_URL to supply a default URL list + delimited with CR LF line breaks + * Modify selectUpdateURL() to handle URL lists + delimited by any kind of line breaks + * Start saving trusted update keys + * Improve formatting on configupdate.jsp + +2007-12-22 zzz + * Add support for multiple update URLs + * Change default for update to use i2p proxy, + add several URLs as defaults + * Enable trusted key form on configupdate.jsp + * Clarify the 'destination not found' error page + +2007-12-16 zzz + * i2psnark: remove anonymitytracker from default list + +2007-12-10 zzz + * Fix NPE in CLI TrustedUpdate keygen + +2007-12-02 Complication + * Commit SAM v2 patch from mkvore (thank you!) + * Minor reformatting to preserve consistent whitespace + in old SAM classes (new classes unaltered) + +2007-12-01 Complication + * Separate the checks "does Jetty .zip file need downloading" + and "does Jetty .zip file need extracting" in the Jetty buildfile. + First download (unless already done), then extract (unless done). + +2007-11-26 zzz + * i2psnark: add timeout for receive inactivity + +2007-11-24 zzz + * i2psnark: increase streaming lib write timeout to 240 sec and change + timeout action from "ping" to "disconect", as the fix in .30 to + honor options on outbound connections led to hung outbound connections + (bitfield never transmitted, connection never dropped) + +2007-11-06 jrandom + * add i2host.i2p to the jump list + +2007-10-11 zzz + * IRC Proxy: Fix several possible anonymity holes: + - Block CTCP in NOTICE messages + - Block CTCP anywhere in PRIVMSG and NOTICE, not just at first character + - Check for lower case commands + (Thanks sponge!) + +2007-10-07 jrandom + * back out the NTCP backlog pushback, as it could be used to mount an + active anonymity attack. + +* 2007-10-07 0.6.1.30 released + +2007-10-07 Complication + * Fix an issue in EepGet whereby sending of "etag" and "lastModified" headers + broke retrying. + +2007-09-27 zzz + * Implement pushback of NTCP transport backlog to the outbound tunnel selection code + * Clean up the NTCP and UDP tables on peers.jsp to be consistent, + fix some of the sorting + +2007-09-22 zzz + * Send messages for the same destination out the same outbound + tunnel to reduce out-of-order delivery. + +2007-09-19 zzz + * i2psnark: Fix broken multifile torrent Delete; + cleanup Storage resources in AddTorrent; + don't autostart torrent after Create + +2007-09-18 zzz + * eepsite_index.html: Add links to trevorreznik address book + * streaming lib: Fix SocketManagerFactory to honor options on outbound connections + * streaming lib: Fix setDefaultOptions() when called with a ConnectionOptions parameter + * i2psnark: Don't make outbound connections to already-connected peers + * i2psnark: Debug logging cleanup + +2007-09-14 zzz + * eepget: Increase header timeout to 45s + * HTTP proxy: Return a better error message for localhost requests + * tunnels: Fix PooledTunnelCreatorConfig memory leak + +2007-09-09 zzz + * eepget: Add support for Last-Modified and If-Modified-Since + * addressbook: Finish incomplete support for Last-Modified + +2007-09-08 zzz + * eepget: Copy over SocketTimeout.java file from syndie + +2007-09-07 jrandom + * eepget: Merge timeout support from syndie + +* 2007-08-23 0.6.1.29 released + +2007-08-12 zzz + * readme.html - Add inproxy.tino.i2p, replace search.i2p with eepsites.i2p, + tweak the eepsite and troubleshooting sections + +2007-08-11 zzz + * Add stats for individual tunnel rates (nice when graphed) + * i2psnark: Fix outbound tunnel nickname + +2007-08-05 Complication + * Update the sharing calculator on config.jsp + and explain the trade-off even more thoroughly. + +2007-08-04 Complication + * Lower the threshold between the K and L bandwidth class, + so that K is now < 12 KB/s, instead of <= 16 KB/s. + Hopefully this lets people with 128 kbit/s (16 KB/s) upload lines + participate in routing, if they keep the default share percentage. + +2007-07-16 zzz + * i2psnark: Add tooltip info for choked/uninterested + +2007-07-16 zzz + * Make selection of graphed data configurable via configstats.jsp, + remove most of the default graphs to save some memory + +2007-07-15 zzz + * Add current values to graph legends + * Fix up previous Rate fix to check for divide by zero + +2007-07-14 Complication + * Take the post-download routerInfo size check back out of ReseedHandler, + since it wasn't helpful, and a lower limit caused false warnings. + * Give EepGet ability to enforce a min/max HTTP response size. + * Enforce a maximum response size of 8 MB when ReseedHandler + downloads into a ByteArrayOutputStream. + * Refactor ReseedHandler/ReseedRunner from static to ordinary classes, + change invocation from RouterConsoleRunner accordingly. + * Add an EepGet status listener to ReseedHandler to log causes of reseed failure, + provide status reports to indicate the progress of reseeding. + * Enable icon for default eepsite, and the index page + of the router console (more later). + +2007-07-14 zzz + * Clean up graphs.jsp - set K=1024 where appropriate, + output image sizes in html, catch ooms, other minor tweaks + * Fix current event count truncation which fixes graphs with low + 60-sec event counts displaying high values + (bw.* and router.* graphs for example were 1.5x too high) + Affects all "events per period" (non-lifetime) counts. + +2007-07-09 zzz + * i2psnark: give a better error message for a non-i2p torrent + +2007-07-07 zzz + * Add auto-detect IP/Port to NTCP. When enabled on config.jsp, + SSU will notify/restart NTCP when the external address changes. + Now you can enable inbound TCP without a static IP or dyndns service. + +2007-07-04 zzz + * Display calculated share bandwidth and remove load testing + on config.jsp + +2007-07-01 zzz + * Replace broken option i2np.udp.alwaysPreferred with + i2np.udp.preferred and adjust UDP bids; possible settings are + "false" (default), "true", and "always". + Default setting results in same behavior as before + (NTCP is preferred unless it isn't established and UDP is established). + Use to compare NTCP and UDP transports. + +2007-06-27 jrandom + * fix for a streaming lib bug that could leave a thread waiting + indefinitely (thanks Complication!) + +2007-06-16 Complication + * First pass on EepGet and ReseedHandler improvements, + please avoid use on routers which matter! + * Give EepGet ability of downloading into an OutputStream, + such as the ByteArrayOutputStream of ReseedHandler. + * Detect failure to reseed better, report it persistently + and more verbosely, provide a link to logs + and suggest manual reseed. + +2007-05-06 Complication + * Fix the build.xml file, so the preppkg build target won't try copying files + which became deprecated with the old Syndie (thanks for alerting, itsu!) + +2007-03-31 zzz + * Add trevorreznik jump server to the http proxy error page + * Add anonymity to the trackers supporting details links in i2psnark + +2007-03-24 zzz + * Remove Syndie from build targets and navbar + +2007-03-22 zzz + * i2psnark tracker handling tweaks: + - Add link to tracker details page (Postman only for now, requires bytemonsoon patch) + - Add Base URL to tracker list configuration + - Web page links built from tracker list Base URLs + - Only build and sort tracker list once + - Add anonymityWeb tracker to default list + - Add tooltip info for TrackerErrs + - Stop torrent if not registered with tracker + - Mark temp files as delete on exit + +2007-03-18 zzz + * i2psnark: Cleanup some handling of saved partial pieces + * i2psnark: Put bit counting in Bitfield.java for efficiency + * i2psnark: Save torrent completion state in i2psnark.config + +* 2007-03-17 0.6.1.28 released + +2007-03-13 zzz + * i2psnark: Make max total uploaders configurable (thanks Amiga4000!) + +2007-03-12 jrandom + * dodge a race on startup (thanks zzz!) + +2007-03-10 zzz + * Streaming lib: Change initial RTT deviation from RTT to RTT/2 + (RFC 2988) to reduce early RTO values + +2007-03-08 zzz + * i2psnark changes to improve upload performance: + * Implement total uploader limit (10) + * Don't timeout non-piece messages out + * Change chunk size to 32K (was 64K) + * Change request limit to 64K (was 256K) + * i2psnark: Disconnect from seeds when complete + +2007-03-07 zzz + * Remove dynamic router keys from config.jsp + +2007-03-07 zzz + * Streaming lib changes to improve upstream performance during congestion: + * Change min window size from 12 to 1 + * Change max timeout from 10 to 45 sec + * Change initial timeout from 10 to 15 sec + * Change intial window size for i2psnark from 12 to 1 + * Change slow start growth rate for i2psnark from 1/2 to 1 + +2007-03-04 zzz + * Update eepsite_index.html + +2007-03-03 zzz + * Upgrade from Jetty 5.1.6 to 5.1.12 which fixes spaces in URL + * Add a updaterWithJetty build target + +2007-03-03 zzz + * Implement priority sending for NTCP + * Disable trimForOverload() in tunnel BuildExecutor which + was preventing tunnel builds when outbound traffic was high + (i.e. most of the time when running i2psnark) + +2007-02-28 zzz + * i2psnark: File reopen cleanup + +2007-02-28 zzz + * i2psnark: Add peer details to web page + +* 2007-02-15 0.6.1.27 released + +2007-02-15 jrandom + * Limit the whispering floodfill sends to at most 3 randomly + chosen from the known floodfill peers + +2007-02-14 jrandom + * Don't filter out KICK and H(ide oper status) IRC messages + (thanks Takk and postman!) + +2007-02-13 jrandom + * Tell our peers about who we know in the floodfill netDb every + 6 hours or so, mitigating the situation where peers lose track + of floodfill routers. + * Disable the Syndie updater (people should use the new Syndie, + not this one) + * Disable the eepsite tunnel by default + +2007-01-30 zzz + * i2psnark: Don't hold _snarks lock while checking a snark, + so web page is responsive at startup + +2007-01-29 zzz + * i2psnark: Add NickyB tracker + +2007-01-28 zzz + * i2psnark: Don't hold sendQueue lock while flushing output, + to make everything run smoother + +2007-01-27 zzz + * i2psnark: Fix orphaned Snark reader tasks leading to OOMs + +2007-01-20 Complication + * Drop overlooked comment + +2007-01-20 Complication + * Modify ReseedHandler to query the "i2p.reseedURL" property from I2PAppContext + instead of System, so setting a reseed URL in advanced configuration has effect. + * Clean out obsolete reseed code from ConfigNetHandler. + +2007-01-20 zzz + * i2psnark: More choking rotation tweaks + * Improve performance by not reading in the whole + piece from disk for each request. A huge memory savings + on 1MB torrents with many peers. + +2007-01-17 zzz + * Add new HTTP Proxy error message for non-http protocols + +2007-01-17 zzz + * Add note on Syndie index.html steering people to new Syndie + +2007-01-16 zzz + * i2psnark: Fix crash when autostart off and + tcrrent started manually + +2007-01-16 zzz + * i2psnark: Fix bug caused by last i2psnark checkin + (ConnectionAcceptor not started) + * Don't start PeerCoordinator, ConnectionAcceptor, + and TrackerClient unless starting torrent + +2007-01-15 jrandom + * small guard against unnecessary streaming lib reset packets + (thanks Complication!) + +2007-01-15 zzz + * i2psnark: Add 'Stop All' link on web page + * Add some links to trackers and forum on web page + * Don't start tunnel if 'Autostart' unchecked + * Fix torrent restart bug by reopening file descriptors + +2007-01-14 zzz + * i2psnark: Improvements for torrents with > 4 leechers: + choke based on upload rate when seeding, and + be smarter and fairer about rotating choked peers. + * Handle two common i2psnark OOM situations rather + than shutting down the whole thing. + * Fix reporting to tracker of remaining bytes for + torrents > 4GB (but ByteMonsoon still has a bug) + +2006-10-29 zzz + * i2psnark: Fix and enable generation of multifile torrents, + print error if no tracker selected at create-torrent, + fix stopping a torrent that hasn't started successfully, + add eBook and GayTorrents trackers to form, + web page formatting tweaks + +* 2006-10-10 0.6.1.26 released + +2006-10-29 Complication + * Ensure we get NTP samples from more diverse sources + (0.pool.ntp.org, 1.pool.ntp.org, etc) + * Discard median-based peer skew calculator as framed average works, + and adjusting its percentage can make it behave median-like + * Require more data points (from at least 20 peers) + before considering a peer skew measurement reliable + +2006-10-10 jrandom + * Removed the status display from the console, as its more confusing + than informative (though the content is still displayed in the HTML) + +2006-10-08 Complication + * Add a framed average peer clock skew calculator + * Add config property "router.clockOffsetSanityCheck" to determine + if NTP-suggested clock offsets get sanity checked (default "true") + * Reject NTP-suggested clock offsets if they'd increase peer clock skew + by more than 5 seconds, or make it more than 20 seconds total + * Decrease log level in getMedianPeerClockSkew() + +2006-09-29 zzz + * i2psnark: Second try at synchronization fix - synch addRequest() + completely rather than just portions of it and requestNextPiece() + +2006-09-27 jrandom + * added HMAC-SHA256 + * properly use CRLF with EepPost + * suppress jbigi/jcpuid messages if jbigi.dontLog/jcpuid.dontLog is set + * PBE session key generation (with 1000 rounds of SHA256) + * misc SDK helper functions + +2006-09-26 Complication + * Take back another inadverent logging change in NTCPConnection + +2006-09-26 Complication + * Take back an accidental log level change + +2006-09-26 Complication + * Subclass from Clock a RouterClock which can access router transports, + with the goal of developing it to second-guess NTP results + * Make transports report clock skew in seconds + * Adjust renderStatusHTML() methods accordingly + * Show average for NTCP clock skews too + * Give transports a getClockSkews() method to report clock skews + * Give transport manager a getClockSkews() method to aggregate results + * Give comm system facade a getMedianPeerClockSkew() method which RouterClock calls + (to observe results, add "net.i2p.router.transport.CommSystemFacadeImpl=WARN" to logging) + * Extra explicitness in NTCP classes to denote unit of time. + * Fix some places in NTCPConnection where milliseconds and seconds were confused + +2006-09-25 zzz + * i2psnark: Paranoid copy before writing pieces, + recheck files on completion, redownload bad pieces + * i2psnark: Don't contact tracker as often when seeding + +2006-09-24 zzz + * i2psnark: Add some synchronization to prevent rare problem + after restoring orphan piece + +2006-09-20 zzz + * i2psnark: Eliminate duplicate requests caused by i2p-bt's + rapid choke/unchokes + * i2psnark: Truncate long TrackerErr messages on web page + +2006-09-16 zzz + * i2psnark: Implement retransmission of requests. This + eliminates one cause of complete stalls with a peer. + This problem is common on torrents with a small number of + active peers where there are no choke/unchokes to kickstart things. + +2006-09-13 zzz + * i2psnark: Fix restoral of partial pieces broken by last patch + +2006-09-13 zzz + * i2psnark: Mark a peer's requests as unrequested on disconnect, + preventing premature end game + * i2psnark: Randomize selection of next piece during end game + * i2psnark: Don't restore a partial piece to a peer that is already working on it + * i2psnark: strip ".torrent" on web page + * i2psnark: Limit piece size in generated torrent to 1MB max + +2006-09-09 zzz + * i2psnark: Add "Stalled" indication and stat totals on web page + +2006-09-09 zzz + * i2psnark: Fix bug where new peers would always be sent an "interested" + regardless of actual interest + * i2psnark: Reduce max piece size from 10MB to 1MB; larger may have severe + memory and efficiency problems + +* 2006-09-09 0.6.1.25 released + +2006-09-08 jrandom + * Tweak the PRNG logging so it only displays error messages if there are + problems + * Disable dynamic router keys for the time being, as they don't offer + meaningful security, may hurt the router, and makes it harder to + determine the network health. The code to restart on SSU IP change is + still enabled however. + * Disable tunnel load testing, leaning back on the tiered selection for + the time being. + * Spattering of bugfixes + +2006-09-07 zzz + * i2psnark: Increase output timeout from 2 min to 4 min + * i2psnark: Orphan debug msg cleanup + * i2psnark: More web rate report cleanup + +2006-09-05 zzz + * i2psnark: Implement basic partial-piece saves across connections + * i2psnark: Implement keep-alive sending. This will keep non-i2psnark clients + from dropping us for inactivity but also renders the 2-minute transmit-inactivity + code in i2psnark ineffective. Will have to research why there is transmit but + not receive inactivity code. With the current connection limit of 24 peers + we aren't in any danger of keeping out new peers by keeping inactive ones. + * i2psnark: Increase CHECK_PERIOD from 20 to 40 since nothing happens in 20 seconds + * i2psnark: Fix dropped chunk handling + * i2psnark: Web rate report cleanup + +2006-09-04 zzz + * i2psnark: Report cleared trackerErr immediately + * i2psnark: Add trackerErr reporting after previous success; retry more quickly + * i2psnark: Set up new connections more quickly + * i2psnark: Don't delay tracker fetch when setting up lots of connections + * i2psnark: Reduce MAX_UPLOADERS from 12 to 4 + +2006-09-04 zzz + * Enable pipelining in i2psnark + * Make i2psnark tunnel default be 1 + 0-1 + +2006-09-03 zzz + * Add rate reporting to i2psnark + +2006-09-03 Complication + * Limit form size in SusiDNS to avoid exceeding a POST size limit on postback + * Print messages about addressbook size to give better overview + * Enable delete function in published addressbook + +2006-08-21 Complication + * Fix error reporting discrepancy (thanks for helping notice, yojoe!) + +2006-08-03 jrandom + * Decrease the recently modified tunnel building timeout, though keep + the scaling on their processing + +2006-07-31 jrandom + * Increase the tunnel building timeout + * Avoid a rare race (thanks bar!) + * Fix the bandwidth capacity publishing code to factor in share percentage + and outbound throttling (oops) + +2006-07-29 Complication + * Treat NTP responses from unexpected stratums like failures + +* 2006-07-28 0.6.1.24 released + +2006-07-28 jrandom + * Don't try to reverify too many netDb entries at once (thanks + cervantes and Complication!) + +2006-07-28 jrandom + * Actually fix the threading deadlock issue in the netDb (removing + the synchronized access to individual kbuckets while validating + individual entries) (thanks cervantes, postman, frosk, et al!) + +* 2006-07-27 0.6.1.23 released + +2006-07-27 jrandom + * Cut down NTCP connection establishments once we know the peer is skewed + (rather than wait for full establishment before verifying) + * Removed a lock on the stats framework when accessing rates, which + shouldn't be a problem, assuming rates are created (pretty much) all at + once and merely updated during the lifetime of the jvm. + +2006-07-27 jrandom + * Further NTCP write status cleanup + * Handle more oddly-timed NTCP disconnections (thanks bar!) + +2006-07-26 jrandom + * When dropping a netDb router reference, only accept newer + references as part of the update check + * If we have been up for a while, don't accept really old + router references (published 2 or more days ago) + * Drop router references once they are no longer valid, even if + they were allowed in due to the lax restrictions on startup + +2006-07-26 jrandom + * Every time we create a new router identity, add an entry to the + new "identlog.txt" text file in the I2P install directory. For + debugging purposes, publish the count of how many identities the + router has cycled through, though not the identities itself. + * Cleaned up the way the multitransport shitlisting worked, and + added per-transport shitlists + * When dropping a router reference locally, first fire a netDb + lookup for the entry + * Take the peer selection filters into account when organizing the + profiles (thanks Complication!) + * Avoid some obvious configuration errors for the NTCP transport + (invalid ports, "null" ip, etc) + * Deal with some small NTCP bugs found in the wild (unresolveable + hosts, strange network discons, etc) + * Send our netDb info to peers we have direct NTCP connections to + after each 6-12 hours of connection uptime + * Clean up the NTCP reading and writing queue logic to avoid some + potential delays + * Allow people to specify the IP that the SSU transport binds on + locally, via the advanced config "i2np.udp.bindInterface=1.2.3.4" + +* 2006-07-18 0.6.1.22 released + +2006-07-18 jrandom + * Add a failsafe to the NTCP transport to make sure we keep + pumping writes when we should. + * Properly reallow 16-32KBps routers in the default config + (thanks Complication!) + +2006-07-16 Complication + * Collect tunnel build agree/reject/expire statistics + for each bandwidth tier of peers (and peers of unknown tiers, + even if those shouldn't exist) + +2006-07-14 jrandom + * Improve the multitransport shitlisting (thanks Complication!) + * Allow routers with a capacity of 16-32KBps to be used in tunnels under + the default configuration (thanks for the stats Complication!) + * Properly allow older router references to load on startup + (thanks bar, Complication, et al!) + * Add a new "i2p.alwaysAllowReseed" advanced config property, though + hopefully today's changes should make this unnecessary (thanks void!) + * Improved NTCP buffering + * Close NTCP connections if we are too backlogged when writing to them + +2006-07-04 jrandom + * New NIO-based tcp transport (NTCP), enabled by default for outbound + connections only. Those who configure their NAT/firewall to allow + inbound connections and specify the external host and port + (dyndns/etc is ok) on /config.jsp can receive inbound connections. + SSU is still enabled for use by default for all users as a fallback. + * Substantial bugfix to the tunnel gateway processing to transfer + messages sequentially instead of interleaved + * Renamed GNU/crypto classes to avoid name clashes with kaffe and other + GNU/Classpath based JVMs + * Adjust the Fortuna PRNG's pooling system to reduce contention on + refill with a background thread to refill the output buffer + * Add per-transport support for the shitlist + * Add a new async pumped tunnel gateway to reduce tunnel dispatcher + contention + +2006-07-01 Complication + * Ensure that the I2PTunnel web interface won't update tunnel settings + for shared clients when a non-shared client is modified + (thanks for spotting, BarkerJr!) + +2006-06-14 cervantes + * Small tweak to I2PTunnel CSS, so it looks better with desktops + that use Bitstream Vera fonts @ 96 dpi + +* 2006-06-14 0.6.1.21 released + +2006-06-13 jrandom + * Use a minimum uptime of 2 hours, not 4 (oops) + +2006-06-13 jrandom + * Cut down the proactive rejections due to queue size - if we are + at the point of having decrypted the request off the queue, might + as well let it through, rather than waste that decryption + +2006-06-11 Kloug + * Bugfix to the I2PTunnel IRC filter to support multiple concurrent + outstanding pings/pongs + +2006-06-10 jrandom + * Further reduction in proactive rejections + +2006-06-09 jrandom + * Don't let the pending tunnel request queue grow beyond reason + (letting things sit for up to 30s when they fail after 10s + seems a bit... off) + +2006-06-08 jrandom + * Be more conservative in the proactive rejections + +2006-06-04 Complication + * Trim out sending a blank line before USER in susimail. + Seemed to break in rare cases, thanks for reporting, Brachtus! + +* 2006-06-04 0.6.1.20 released + +2006-06-04 jrandom + * Reduce the SSU ack frequency + * Tweaked the tunnel rejection settings to reject less aggressively + +2006-05-31 jrandom + * Only send netDb searches to the floodfill peers for the time being + * Add some proof of concept filters for tunnel participation. By default, + it will skip peers with an advertised bandwith of less than 32KBps or + an advertised uptime of less than 2 hours. If this is sufficient, a + safer implementation of these filters will be implemented. + +* 2006-05-18 0.6.1.19 released + +2006-05-18 jrandom + * Made the SSU ACKs less frequent when possible + +2006-05-17 Complication + * Fix some oversights in my previous changes: + adjust some loglevels, make a few statements less wasteful, + make one comparison less confusing and more likely to log unexpected values + +2006-05-17 jrandom + * Make the peer page sortable + * SSU modifications to cut down on unnecessary connection failures + +2006-05-16 jrandom + * Further shitlist randomizations + * Adjust the stats monitored for detecting cpu overload when dropping new + tunnel requests + +2006-05-15 jrandom + * Add a load dependent throttle on the pending inbound tunnel request + backlog + * Increased the tunnel test failure slack before killing a tunnel + +2006-05-13 Complication + * Separate growth factors for tunnel count and tunnel test time + * Reduce growth factors, so probabalistic throttle would activate + * Square probAccept values to decelerate stronger when far from average + * Create a bandwidth stat with approximately 15-second half life + * Make allowTunnel() check the 1-second bandwidth for overload + before doing allowance calculations using 15-second bandwidth + * Tweak the overload detector in BuildExecutor to be more sensitive + for rising edges, add ability to initiate tunnel drops + * Add a function to seek and drop the highest-rate participating tunnel, + keeping a fixed+random grace period between such drops. + It doesn't seem very effective, so disabled by default + ("router.dropTunnelsOnOverload=true" to enable) + +2006-05-11 jrandom + * PRNG bugfix (thanks cervantes and Complication!) + +* 2006-05-09 0.6.1.18 released + +2006-05-09 jrandom + * Further tunnel creation timeout revamp + +2006-05-07 Complication + * Fix problem whereby repeated calls to allowed() would make + the 1-tunnel exception permit more than one concurrent build + +2006-05-06 jrandom + * Readjust the tunnel creation timeouts to reject less but fail earlier, + while tracking the extended timeout events. + +2006-05-04 jrandom + * Short circuit a highly congested part of the stat logging unless its + required (may or may not help with a synchronization issue reported by + andreas) + +2006-05-03 Complication + * Allow a single build attempt to proceed despite 1-minute overload + only if the 1-second rate shows enough spare bandwidth + (e.g. overload has already eased) + +2006-05-02 Complication + * Correct a misnamed property in SummaryHelper.java + to avoid confusion + * Make the maximum allowance of our own concurrent + tunnel builds slightly adaptive: one concurrent build per 6 KB/s + within the fixed range 2..10 + * While overloaded, try to avoid completely choking our own build attempts, + instead prefer limiting them to 1 + +2006-05-01 jrandom + * Adjust the tunnel build timeouts to cut down on expirations, and + increased the SSU connection establishment retransmission rate to + something less glacial. + * For the first 5 minutes of uptime, be less aggressive with tunnel + exploration, opting for more reliable peers to start with. + +2006-05-01 jrandom + * Fix for a netDb lookup race (thanks cervantes!) + +2006-04-27 jrandom + * Avoid a race in the message reply registry (thanks cervantes!) + +2006-04-27 jrandom + * Fixed the tunnel expiration desync code (thanks Complication!) + +* 2006-04-23 0.6.1.17 released + +2006-04-19 jrandom + * Adjust how we pick high capacity peers to allow the inclusion of fast + peers (the previous filter assumed an old usage pattern) + * New set of stats to help track per-packet-type bandwidth usage better + * Cut out the proactive tail drop from the SSU transport, for now + * Reduce the frequency of tunnel build attempts while we're saturated + * Don't drop tunnel requests as easily - prefer to explicitly reject them + +* 2006-04-15 0.6.1.16 released + +2006-04-15 jrandom + * Adjust the proactive tunnel request dropping so we will reject what we + can instead of dropping so much (but still dropping if we get too far + overloaded) + +2006-04-14 jrandom + * 0 isn't very random + * Adjust the tunnel drop to be more reasonable + +2006-04-14 jrandom + * -28.00230115311259 is not between 0 and 1 in any universe I know. + * Made the bw-related tunnel join throttle much simpler + +2006-04-14 jrandom + * Make some more stats graphable, and allow some internal tweaking on the + tunnel pairing for creation and testing. + +* 2006-04-13 0.6.1.15 released + +2006-04-12 jrandom + * Added a further failsafe against trying to queue up too many messages to + a peer. + +2006-04-12 jrandom + * Watch out for failed syndie index fetches (thanks bar!) + +2006-04-11 jrandom + * Throttling improvements on SSU - throttle all transmissions to a peer + when we are retransmitting, not just retransmissions. Also, if + we're already retransmitting to a peer, probabalistically tail drop new + messages targetting that peer, based on the estimated wait time before + transmission. + * Fixed the rounding error in the inbound tunnel drop probability. + +2006-04-10 jrandom + * Include a combined send/receive graph (good idea cervantes!) + * Proactively drop inbound tunnel requests probabalistically as the + estimated queue time approaches our limit, rather than letting them all + through up to that limit. + +2006-04-08 jrandom + * Stat summarization fix (removing the occational holes in the jrobin + graphs) + +2006-04-08 jrandom + * Process inbound tunnel requests more efficiently + * Proactively drop inbound tunnel requests if the queue before we'd + process it in is too long (dynamically adjusted by cpu load) + * Adjust the tunnel rejection throttle to reject requeusts when we have to + proactively drop too many requests. + * Display the number of pending inbound tunnel join requests on the router + console (as the "handle backlog") + * Include a few more stats in the default set of graphs + +2006-04-06 jrandom + * Fix for a bug in the new irc ping/pong filter (thanks Complication!) + +2006-04-06 jrandom + * Fixed a typo in the reply cleanup code + +* 2006-04-05 0.6.1.14 released + +2006-04-05 jrandom + * Cut down on the time that we allow a tunnel creation request to sit by + without response, and reject tunnel creation requests that are lagged + locally. Also switch to a bounded FIFO instead of a LIFO + * Threading tweaks for the message handling (thanks bar!) + * Don't add addresses to syndie with blank names (thanks Complication!) + * Further ban clearance + +2006-04-05 jrandom + * Fix during the ssu handshake to avoid an unnecessary failure on + packet retransmission (thanks ripple!) + * Fix during the SSU handshake to use the negotiated session key asap, + rather than using the intro key for more than we should (thanks ripple!) + * Fixes to the message reply registry (thanks Complication!) + * More comprehensive syndie banning (for repeated pushes) + * Publish the router's ballpark bandwidth limit (w/in a power of 2), for + testing purposes + * Put a floor back on the capacity threshold, so too many failing peers + won't cause us to pick very bad peers (unless we have very few good + ones) + * Bugfix to cut down on peers using introducers unneessarily (thanks + Complication!) + * Reduced the default streaming lib message size to fit into a single + tunnel message, rather than require 5 tunnel messages to be transferred + without loss before recomposition. This reduces throughput, but should + increase reliability, at least for the time being. + * Misc small bugfixes in the router (thanks all!) + * More tweaking for Syndie's CSS (thanks Doubtful Salmon!) + +2006-04-01 jrandom + * Take out the router watchdog's teeth (don't restart on leaseset failure) + * Filter the IRC ping/pong messages, as some clients send unsafe + information in them (thanks aardvax and dust!) + +2006-03-30 jrandom + * Substantially reduced the lock contention in the message registry (a + major hotspot that can choke most threads). Also reworked the locking + so we don't need per-message timer events + * No need to have additional per-peer message clearing, as they are + either unregistered individually or expired. + * Include some of the more transient tunnel throttling + +* 2006-03-26 0.6.1.13 released + +2006-03-25 jrandom + * Added a simple purge and ban of syndie authors, shown as the + "Purge and ban" button on the addressbook for authors that are already + on the ignore list. All of their entries and metadata are deleted from + the archive, and the are transparently filtered from any remote + syndication (so no user on the syndie instance will pull any new posts + from them) + * More strict tunnel join throtting when congested + +2006-03-24 jrandom + * Try to desync tunnel building near startup (thanks Complication!) + * If we are highly congested, fall back on only querying the floodfill + netDb peers, and only storing to those peers too + * Cleaned up the floodfill-only queries + +2006-03-21 jrandom + * Avoid a very strange (unconfirmed) bug that people using the systray's + browser picker dialog could cause by disabling the GUI-based browser + picker. + * Cut down on subsequent streaming lib reset packets transmitted + * Use a larger MTU more often + * Allow netDb searches to query shitlisted peers, as the queries are + indirect. + * Add an option to disable non-floodfill netDb searches (non-floodfill + searches are used by default, but can be disabled by adding + netDb.floodfillOnly=true to the advanced config) + +2006-03-20 jrandom + * Fix to allow for some slack when coalescing stats + * Workaround some oddball errors + +2006-03-18 jrandom + * Added a new graphs.jsp page to show all of the stats being harvested + +2006-03-18 jrandom + * Made the netDb search load limitations a little less stringent + * Add support for specifying the number of periods to be plotted on the + graphs - e.g. to plot only the last hour of a stat that is averaged at + the 60 second period, add &periodCount=60 + +2006-03-17 jrandom + * Add support for graphing the event count as well as the average stat + value (done by adding &showEvents=true to the URL). Also supports + hiding the legend (&hideLegend=true), the grid (&hideGrid=true), and + the title (&hideTitle=true). + * Removed an unnecessary arbitrary filter on the profile organizer so we + can pick high capacity and fast peers more appropriately + +2006-03-16 jrandom + * Integrate basic hooks for jrobin (http://jrobin.org) into the router + console. Selected stats can be harvested automatically and fed into + in-memory RRD databases, and those databases can be served up either as + PNG images or as RRDtool compatible XML dumps (see oldstats.jsp for + details). A base set of stats are harvested by default, but an + alternate list can be specified by setting the 'stat.summaries' list on + the advanced config. For instance: + stat.summaries=bw.recvRate.60000,bw.sendRate.60000 + * HTML tweaking for the general config page (thanks void!) + * Odd NPE fix (thanks Complication!) + +2006-03-15 Complication + * Trim out an old, inactive IP second-guessing method + (thanks for spotting, Anonymous!) + +2006-03-15 jrandom + * Further stat cleanup + * Keep track of how many peers we are actively trying to communicate with, + beyond those who are just trying to communicate with us. + * Further router tunnel participation throttle revisions to avoid spurious + rejections + * Rate stat display cleanup (thanks ripple!) + * Don't even try to send messages that have been queued too long + +2006-03-05 zzz + * Remove the +++--- from the logs on i2psnark startup + +2006-03-05 jrandom + * HTML fixes in Syndie to work better with opera (thanks shaklen!) + * Give netDb lookups to floodfill peers more time, as they are much more + likely to succeed (thereby cutting down on the unnecessary netDb + searches outside the floodfill set) + * Fix to the SSU IP detection code so we won't use introducers when we + don't need them (thanks Complication!) + * Add a brief shitlist to i2psnark so it doesn't keep on trying to reach + peers given to it + * Don't let netDb searches wander across too many peers + * Don't use the 1s bandwidth usage in the tunnel participation throttle, + as its too volatile to have much meaning. + * Don't bork if a Syndie post is missing an entry.sml + +2006-03-05 Complication + * Reduce exposed statistical information, + to make build and uptime tracking more expensive + +2006-03-04 Complication + * Fix the announce URL of orion's tracker in Snark sources + +2006-03-03 Complication + * Explicit check for an index out of bounds exception while parsing + an inbound IRC command (implicit check was there already) + +2006-03-01 jrandom + * More aggressive tunnel throttling as we approach our bandwidth limit, + and throttle based off periods wider than 1 second. + * Included Doubtful Salmon's syndie stylings (thanks!) + +2006-02-27 zzz + * Update error page templates to add \r, Connection: close, and + Proxy-connection: close to headers. + +* 2006-02-27 0.6.1.12 released + +2006-02-27 jrandom + * Adjust the jbigi.jar to use the athlon-optimized jbigi on windows/amd64 + machines, rather than the generic jbigi (until we have an athlon64 + optimized version) + +2006-02-26 jrandom + * Switch from the bouncycastle to the gnu-crypto implementation for + SHA256, as benchmarks show a 10-30% speedup. + * Removed some unnecessary object caches + * Don't close i2psnark streams prematurely + +2006-02-25 jrandom + * Made the Syndie permalinks in the thread view point to the blog view + * Disabled TCP again (since the live net seems to be doing well w/out it) + * Fix the message time on inbound SSU establishment (thanks zzz!) + * Don't be so aggressive with parallel tunnel creation when a tunnel pool + just starts up + +2006-02-24 jrandom + * Rounding calculation cleanup in the stats, and avoid an uncontested + mutex (thanks ripple!) + * SSU handshake cleanup to help force incompatible peers to stop nagging + us by both not giving them an updated reference to us and by dropping + future handshake packets from them. + +2006-02-23 jrandom + * Increase the SSU retransmit ceiling (for slow links) + * Estimate the sender's SSU MTU (to help see if we agree) + +2006-02-22 jrandom + * Fix to properly profile tunnel joins (thanks Ragnarok, frosk, et al!) + * More aggressive poor-man's PMTU, allowing larger MTUs on less reliable + links + * Further class validator refactorings + +2006-02-22 jrandom + * Handle a rare race under high bandwidth situations in the SSU transport + * Minor refactoring so we don't confuse sun's 1.6.0-b2 validator + +2006-02-21 Complication + * Reactivate TCP tranport by default, in addition to re-allowing + +* 2006-02-21 0.6.1.11 released + +2006-02-21 jrandom + * Throttle the outbound SSU establishment queue, so it doesn't fill up the + heap when backlogged (and so that the messages queued up on it don't sit + there forever) + * Further SSU memory cleanup + * Clean up the address regeneration code so it knows when to rebuild the + local info more precisely. + +2006-02-20 jrandom + * Properly enable TCP this time (oops) + * Deal with multiple form handlers on the same page in the console without + being too annoying (thanks blubb and bd_!) + +2006-02-20 jrandom + * Reenable the TCP transport as a fallback (we'll continue to muck with + debugging SSU-only elsewhere) + +2006-02-20 jrandom + * Major SSU and router tuning to reduce contention, memory usage, and GC + churn. There are still issues to be worked out, but this should be a + substantial improvement. + * Modified the optional netDb harvester task to support choosing whether + to use (non-anonymous) direct connections or (anonymous) exploratory + tunnels to do the harvesting. Harvesting itself is enabled via the + advanced config "netDb.shouldHarvest=true" (default is false) and the + connection type can be chosen via "netDb.harvestDirectly=false" (default + is false). + +2006-02-19 dust + * Added pruning of suckers history (it used to grow indefinitely). + +2006-02-19 jrandom + * Moved the current net's reseed URL to a different location than where + the old net looks (dev.i2p.net/i2pdb2/ vs .../i2pdb/) + * More aggressively expire inbound messages (on receive, not just on send) + * Add in a hook for breaking backwards compatibility in the SSU wire + protocol directly by including a version as part of the handshake. The + version is currently set to 0, however, so the wire protocol from this + build is compatible with all earlier SSU implementations. + * Increased the number of complete message readers, cutting down + substantially on the delay processing inbound messages. + * Delete the message history file on startup + * Reworked the restart/shutdown display on the console (thanks bd_!) + +2006-02-18 jrandom + * Migrate the outbound packets from a central component to the individual + per-peer components, substantially cutting down on lock contention when + dealing with higher degrees. + * Load balance the outbound SSU transfers evenly across peers, rather than + across messages (so peers with few messages won't be starved by peers + with many). + * Reduce the frequency of router info rebuilds (thanks bar!) + +2006-02-18 jrandom + * Add a new AIMD throttle in SSU to control the number of concurrent + messages being sent to a given peer, in addition to the throttle on the + number of concurrent bytes to that peer. + * Adjust the existing SSU outbound queue to throttle based on the queue's + lag, not an arbitrary number of packets. + +2006-02-17 jrandom + * Properly fix the build request queue throttling, using queue age to + detect congestion, rather than queue size. + +2006-02-17 jrandom + * Disable the message history log file by default (duh - feel free to + delete messageHistory.txt after upgrading. thanks deathfatty!) + * Limit the size of the inbound tunnel build request queue so we don't + get an insane backlog of requests that we're bound to reject, and adjust + the queue processing so we keep on churning through them when we've got + a backlog. + * Small fixes for the multiuser syndie operation (thanks Complication!) + * Renamed modified PRNG classes that were imported from gnu-crypto so we + don't conflict with JVMs using that as a JCE provider (thanks blx!) + +* 2006-02-16 0.6.1.10 released + +2006-02-16 jrandom + * Add a new toggle to the web config to enable/disable the load testing + +2006-02-16 jrandom + * Dropped much of the abandonware from the apps/ directory + +2006-02-16 jrandom + * Bugfix to the I2PTunnel web config to properly accept i2cp port settings + * Initial sucker refactoring to simplify reuse of the html parsing + * Beginnings of hooks to push imported rss/atom out to remote syndie + archives automatically (though not enabled currently) + * Further SSU peer test cleanup + +2006-02-15 jrandom + * Add in per-blog RSS feeds to Syndie + * Upgraded sucker's ROME dependency to 0.8, bundling sucked enclosures + with the posts, marking additional attachments as Media RSS enclosures + (http://search.yahoo.com/mrss/), since RSS only supports one enclosure + per item. + * Don't allow the default syndie user to be set to something invalid if + its in single user mode. + +2006-02-15 jrandom + * Merged in the i2p_0_6_1_10_PRE branch to the trunk, so CVS HEAD is no + longer backwards compatible (and should not be used until 0.6.1.1 is + out) + +2006-02-14 jrandom + * Syndie ui bugfixes (thanks all!) + +2006-02-13 jrandom + * Use the current directory for some temporary I2PSnark files, rather than + the OS default temp dir (thanks anon!) + * Increase the base streaming lib window size (still shrinks to 1 on + retransmission though, of course) + * Fixed the I2PTunnel newlines to work with lighthttpd (thanks all!) + * Implement fast retransmit in the streaming lib (fires at most once per + packet), and increased the default ack delay to 2 seconds (from .5s) + * Don't ask for garlic level message acks for end to end messages unless + they're useful (e.g. to ack session tags) + +2006-02-12 cervantes + * Use a different santisation method for some SML attributes + * Make router console update config save button actually save. + * Fix console bandwidth limiter burst rate dropdowns, so the display + relates to what is saved in the config. + +2006-02-12 cervantes + * SML is now stricter in it's formatting (attributes should only use + double quotes instead of being allowed to mix with singles). + * Using apostrophes in SML attributes will no longer invalidate the tag. + * Some instances of [blog] tag description were not being displayed + correctly. + +2006-02-12 jrandom + * Further SSU peer test throttling + * Put the most common router console features on the main index page too + +2006-02-11 jrandom + * Be more careful about SSU peer test floods + +2006-02-09 jrandom + * Adjusted one of the SSU timeouts so we don't drop peers as easily (duh) + +2006-02-08 jrandom + * Added transparent support for VIA C3 CPUs to jbigi (thanks Nekow42), and + bundled a precompiled libjbigi.so in the jbigi.jar + * Cleaned up the synchronization for some SSU packet handling code + * Allow explicit rejection of more lagged tunnel build requests, rather + than dropping them outright + * Use lighter load testing + +2006-02-07 jrandom + * Handle HTTP headers without any values (thanks Sugadude!) + * Don't show the option to make Syndie multiuser, since very few people + need it, and multiuser mode is a lot more complex to use. Geeks can + enable it by adding "syndie.singleUser=false" to syndie/syndie.config + (or in the router's advanced config, for the embedded Syndie) + * When a peer rejects participation in a tunnel, they mean it (duh) + * Decrease tunnel test timeout period to 20s (a 40s lag is insane) + * Remove a throttle on the size of the SSU active outbound pool, since + it was essentially arbitrary + * Use a more appropriate SSU bloom filter size + * Don't "proactively" drop SSU connections if we have partially received + inbound messages (duh) + * Migrate most of the message state across SSU connection reestablishment + +2006-02-06 jrandom + * Reduce the SSU retransmit timeout range, and increase the number of ACKs + piggybacked + +2006-02-05 jrandom + * Experiment with short exponents for DH/ElGamal, using a 226bit x instead + of a 2048bit x, as reports suggest that size is sufficient for 2048bit + DH/ElGamal when using safe primes (see KeyGenerator.java for references) + * Enable the messageHistory.txt by default, for debugging + +2006-02-05 jrandom + * Substantial bugfix for the duplicate message detection in the transport + layer + * Handle tunnel build responses ASAP, rather than queueing them up to wait + in line (processing them is really fast - just a few AES loops) + * Don't bother handling build requests that we have queued up for a while + locally, as the requestor will have timed it out anyway (perhaps we + should reply regardless, but with a backoff instead?) + +2006-02-04 jrandom + * Further tunnel test cleanup and disabling of the old tunnel creation + code + +2006-02-04 jrandom + * Clean up and reenable the tunnel testing for the new tunnel system. + +2006-02-04 jrandom + * Don't cache the archive.txt in syndie when fetching it through the web + interface. + * Logging updates + +2006-02-03 jrandom + * Added further replay prevention on the tunnel build requests + * More aggressive streaming lib closing on reset + +2006-02-03 jrandom + * More aggressive refusal of peers from the wrong network (oops) + +2006-02-01 jrandom + * Instruct the router to reseed against a new URL, for migration purposes: + http://dev.i2p.net/i2pdb2/ + * Aggressive error handling during UDP packet creation (thanks cervantes) + +2006-02-01 jrandom + * Fix the new tunnel creation crypto, including the addition of a 4 byte + "next message ID" to the encrypted request structure in the spec. + * Backwards incompatible change, using the new tunnel creation crypto, the + fixed MD5 HMAC size, and a new network ID (to prevent cross pollination + with the old incompatible network). + * Reworked the leaseSet request process to handle a race condition + * Disable the TCP transport + * Run four separate threads on the job queue to cut down on job lag + +2006-01-28 jrandom + * Removed a race that could show up in leaseSet requesting with the new + tunnel building process + +2006-01-25 jrandom + * Run the peer profile coalescing/reorganization outside the job queue + (on one of the timers), to cut down on some job queue congestion. Also, + trim old profiles while running, not just when starting up. + * Slightly more sane intra-floodfill-node netDb activity (only flood new + entries) + * Workaround in the I2PTunnelHTTPServer for some bad requests (though the + source of the bug is not yet addressed) + * Better I2PSnark reconnection handling + * Further cleanup in the new tunnel build process + * Make sure we expire old participants properly + * Remove much of the transient overload throttling (it wasn't using a good + metric) + +2006-01-25 dust + * Fix IRC client proxy to use ISO-8859-1. + +2006-01-22 jrandom + * New tunnel build process - does not use the new crypto or new peer + selection strategies. However, it does drop the fallback tunnel + procedure, except for tunnels who are configured to allow them, or for + the exploratory pool during bootstrapping or after a catastrophic + failure. This new process prefers to fail rather than use too-short + tunnels, so while it can do some pretty aggressive tunnel rebuilding, + it may expose more tunnel failures to the user. + * Always prefer normal tunnels to fallback tunnels. + * Potential fix for a bug while changing i2cp settings on I2PSnark (thanks + bar!) + * Do all of the netDb entry writing in a separate thread, avoiding + duplicates and batching them up. + +2006-01-19 Complication + * Explain better where eepsite's destkey can be found + +2006-01-18 cervantes + * Add title attributes to all external links in Syndie, so we can rollover + and quickly see if it's worth clicking on. + * Fixed a minor compiler warning. + +2006-01-17 jrandom + * First pass of the new tunnel creation crypto, specified in the new + router/doc/tunnel-alt-creation.html (referenced in the current + router/doc/tunnel-alt.html). It isn't actually used anywhere yet, other + than in the test code, but the code verifies the technical viability, so + further scrutiny would be warranted. + +2006-01-16 cervantes + * Dragged I2P kicking and screaming into 2006 (Oops) + +2006-01-14 cervantes + * Removed entirely misleading memory status from the console summary. + +2006-01-13 cervantes + * Further Syndie layout hardening and typeface balancing. + +* 2006-01-12 0.6.1.9 released + +2006-01-12 jrandom + * Only create the loadtest.log if requested to do so (thanks zzz!) + * Make sure we cleanly take into consideration the appropriate data + points when filtering out duplicate messages in the message validator, + and report the right bloom filter false positives rate (not used for + anything except debugging) + +2006-01-12 cervantes + * Syndie CSS tweaks to removed some redundant declarations, improve font + scaling and layout robustness. Improved cross browser compatibility + (in other words "kicked IE"). Tightened the look of the blog template + a little. + +2006-01-11 Complication + * CSS comment fixes + +2006-01-11 jrandom + * Include the attachments/blogs/etc for comments on the blog view + * Syndie HTML fixes (thanks cervantes!) + * Make sure we fully reset the objects going into our cache before we + reuse them (thanks zzz!) + +2006-01-10 jrandom + * Added the per-post list of attachments/blogs/etc to the blog view in + Syndie (though this does not yet include comments or some further + refinements) + * Have the I2P shortcut launch i2p.exe instead of i2psvc.exe on windows, + removing the dox box (though also removes the restart functionality...) + * Give the i2p.exe the correct java.library.path to support the systray + dll (thanks Bobcat, Sugadude, anon!) + +2006-01-09 jrandom + * Removed a longstanding bug that had caused unnecessary router identity + churn due to clock skew + * Temporarily sanity check within the streaming lib for long pending + writes + * Added support for a blog-wide logo to Syndie, and automated the pushing + of updated extended blog info data along side the metadata. + +2006-01-09 jrandom + * Bugfix for a rare SSU error (thanks cervantes!) + * More progress on the blog interface, allowing customizable blog-wide + links. + +2006-01-08 jrandom + * First pass of the new blog interface, though without much of the useful + customization features (coming soon) + +2006-01-04 jrandom + * Rather than profile individual tunnels for throughput over their + lifetime, do so at 1 minute intervals (allowing less frequently active + tunnels to be more fairly measured). + * Run the live tunnel load test across two tunnels at a time, by default. + The load test runs for a random period from 90s to the tunnel lifetime, + self paced. This should help gathering data for profiling peers that + are in exploratory tunnels. + +2006-01-03 jrandom + * Calculate the overall peer throughput across the 3 fastest one minute + tunnel throughput values, rather than the single fastest throughput. + * Degrade the profiled throughput data over time (cutting the profiled + peaks in half once a day, on average) + * Enable yet another new speed calculation for profiling peers, using the + peak throughput from individual tunnels that a peer is participating in, + rather than across all tunnels they are participating in. This helps + gather a fairer peer throughput measurement, since it won't allow a slow + high capacity peer seem to have a higher throughput (pushing a little + data across many tunnels at once, as opposed to lots of data across a + single tunnel). This degrades over time like the other. + * Add basic OS/2 support to the jbigi code (though we do not bundle a + precompiled OS/2 library) + +2006-01-01 jrandom + * Disable multifile torrent creation in I2PSnark's web UI for the moment + (though it can still seed and participate in multifile swarms) + * Enable a new speed calculation for profiling peers, using their peak + 1 minute average tunnel throughput as their speed. + +2005-12-31 jrandom + * Include a simple torrent creator in the I2PSnark web UI + * Further streaming lib closing improvements + * Refactored the load test components to run off live tunnels (though, + still not safe for normal/anonymous load testing) + +2005-12-30 jrandom + * Close streams more gracefully + +2005-12-30 jrandom + * Small streaming lib bugfixes for the modified timeouts + * Minor Syndie/Sucker RSS html fix + * Small synchronization fix in I2PSnark (thanks fsm!) + +2005-12-30 jrandom + * Replaced the bundled linux jcpuid (written in C++) with scintilla's + jcpuid (written in C), removing the libg++.so.5 dependency that has bit + some distros (e.g. mandriva) + +2005-12-29 jrandom + * Minor fix to the new ERR-ClockSkew to deal with people whose clocks are + actually correct + +2005-12-27 jrandom + * Add a new Status: line on the router console - "ERR-ClockSkew", in case + the clock is too skewed to do anything useful (check the year and month, + not just the hour and minute). + * Fixed the read/write timeouts in the streaming lib (so that it actually + honors them now) + * Minor I2PSnark cleanups (no read timeout, more careful shutdown and + torrent closing) + * Handle an oddball tunnel creation failure (thanks Xunk) + +2005-12-26 Complication + * Fix some integer typecasting in I2PSnark (caused >2GB torrents to fail) + * HTML readability cosmetics on "Peers" page + +* 2005-12-22 0.6.1.8 released + +2005-12-22 jrandom + * Bundle the standalone I2PSnark launcher in the installer and update + process (launch as "java -jar launch-i2psnark.jar", viewing the + interface on http://localhost:8002/) + * Don't autostart swarming torrents by default so that you can run a + standalone I2PSnark from the I2P install dir and not have the embedded + I2PSnark autolaunch the torrents that the standalone instance is running + * Fixed a rare streaming lib bug that could let a blocking call wait + forever. + +2005-12-22 jrandom + * Cleaned up some buffer synchronization issues in I2PSnark that could + cause blockage. + +2005-12-21 jrandom + * Adjusted I2PSnark's usage of the streaming lib (tweaking it for BT's + behavior) + * Fixed the I2PSnark bug that would lose track of live peers + +2005-12-20 jrandom + * Enabled the control in I2PSnark to toggle whether torrents should be + started automatically or not + * Hopefully finished the last hook to close down torrents completely when + they're stopped. + +2005-12-19 jrandom + * Fix for old Syndie blog bookmarks (thanks Complication!) + * Fix for I2PSnark to accept incoming connections again (oops) + * Randomize the order that peers from the tracker are contacted + +2005-12-19 jrandom + * I2PSnark logging, disconnect old inactive peers rather than new ones, + memory usage reduction, better OOM handling, and a shared connection + acceptor. + * Cleaned up the Syndie blog page and the resulting filters (viewing a + blog from the blog page shows threads started by the selected author, + not those that they merely participate in) + +2005-12-18 jrandom + * Added a standalone runner for the I2PSnark web ui (build with the + command "ant i2psnark", unzip i2psnark-standalone.zip somewhere, run + with "java -jar launch-i2psnark.jar", and go to http://localhost:8002/). + * Further I2PSnark error handling + +2005-12-17 jrandom + * Let multiuser accounts authorize themselves to access the remote + functionality again (thanks Ch0Hag!) + * Adjust the JVM heap size to 128MB for new installs (existing users can + accomplish this by editing wrapper.config, adding the line + "wrapper.java.maxmemory=128", and then doing a full shutdown and startup + of the router). This is relevent for heavy usage of I2PSnark in the + router console. + +2005-12-17 jrandom + * Use our faster SHA1, rather than the JVM's within I2PSnark, and let + 'piece' sizes grow larger than before. + +2005-12-16 jrandom + * Added some I2PSnark sanity checks, an OOMListener when running + standalone, and a guard against keeping memory tied up indefinitely. + * Sanity check on the watchdog (thanks zzz!) + * Handle invalid HTTP requests in I2PTunnel a little better + +2005-12-16 jrandom + * Moved I2PSnark from using Threads to I2PThreads, so we handle OOMs + properly (thanks Complication!) + * More guards in I2PSnark for zany behavior (I2PSession recon w/ skew, + b0rking in the DirMonitor, etc) + +2005-12-16 jrandom + * Try to run a torrent in readonly mode if we can't write to the file, and + handle failures a little more gracefully (thanks polecat!) + +2005-12-16 jrandom + * Refuse torrents with too many files (128), avoiding ulimit errors. + * Remove an fd leak in I2PSnark + * Further I2PSnark web UI cleanup + +2005-12-15 jrandom + * Added a first pass to the I2PSnark web UI (see /i2psnark/) + +2005-12-15 jrandom + * Added multitorrent support to I2PSnark, accessible currently by running + "i2psnark.jar --config i2psnark.config" (which may or may not exist). + It then joins the swarm for any torrents in ./i2psnark/*.torrent, saving + their data in that directory as well. Removing the .torrent file stops + participation, and it is currently set to seed indefinitely. Completion + is logged to the logger and standard output, with further UI interaction + left to the (work in progress) web UI. + +2005-12-14 jrandom + * Fix to drop peer references when we shitlist people again (thanks zzz!) + * Further I2PSnark fixes to deal with arbitrary torrent info attributes + (thanks Complication!) + +2005-12-13 zzz + * Don't test tunnels expiring within 90 seconds + * Defer Test Tunnel jobs if job lag too large + * Use JobQueue.getMaxLag() rather than the jobQueue.jobLag stat to measure + job lag for tunnel build backoff, allowing for more agile handling + (since the stat is only updated once a minute) + * Use tunnel length override if all tunnels are expiring within one + minute. + +2005-12-13 jrandom + * Fixed I2PSnark's handling of some torrent files to deal with those + created by Azureus and I2PRufus (it didn't know how to deal with + additional meta info, such as path.utf-8 or name.utf-8). + +2005-12-09 zzz + * Create different strategies for exploratory tunnels (which are difficult + to create) and client tunnels (which are much easier) + * Gradually increase number of parallel build attempts as tunnel expiry + nears. + * Temporarily shorten attempted build tunnel length if builds using + configured tunnel length are unsuccessful + * React more aggressively to tunnel failure than routine tunnel + replacement + * Make tunnel creation times randomized - there is existing code to + randomize the tunnels but it isn't effective due to the tunnel creation + strategy. Currently, most tunnels get built all at once, at about 2 1/2 + to 3 minutes before expiration. The patch fixes this by fixing the + randomization, and by changing the overlap time (with old tunnels) to a + range of 2 to 4 minutes. + * Reduce number of excess tunnels. Lots of excess tunnels get created due + to overlapping calls. Just about anything generated a call which could + build many tunnels all at once, even if tunnel building was already in + process. + * Miscellaneous router console enhancements + +2005-12-08 jrandom + * Minor bugfix in SSU for dealing with corrupt packets + * Added some hooks for load testing + +2005-12-07 jrandom + * Added a first pass at a blog view in Syndie + +2005-12-07 jrandom + * Expand the thread we're viewing to its leaf + * Bugfix on intraday ordering (children are always newer than parents) + +2005-12-05 jrandom + * Added an RDF and XML thread export to Syndie, reachable at + .../threadnav/rdf or .../threadnav/xml, accepting the parameters + count=$numThreads and offset=$threadIndex. If the $numThreads is -1, it + displays all threads. + +2005-12-04 TLorD + * Patch for the C SAM library to null terminate strings on copy (thanks!) + +2005-12-04 jrandom + * Bugfix in Syndie for a problem in the threaded indexer (thanks CofE!) + * Always include ourselves in the favorite authors (since we don't + bookmark ourselves) + +2005-12-03 jrandom + * Use newgroup-like tags by default in Syndie's interface + +2005-12-03 jrandom + * Added support for a 'most recent posts' view that CofE requested, which + includes the ability to filter by age (e.g. posts by your favorite + authors in the last 5 days). + +2005-12-03 jrandom + * Adjusted Syndie to use the threaded view that cervantes suggested, which + displays a a single thread path at a time - from root to leaf - rather + than a depth first traversal. + +2005-12-03 jrandom + * Package up a standalone Syndie install into a "syndie-standalone.zip", + buildable with "ant syndie". It extracts into ./syndie/, launches with + "java -jar launchsyndie.jar" (or javaw, on windows, to avoid a dos box), + running a single user Syndie instance (by default). It also creates a + default subscription to syndiemedia without any anonymity (using no + proxy). Upgrades can be done by just replacing the syndie.war with the + one from I2P. + +* 2005-12-01 0.6.1.7 released + +2005-12-01 jrandom + * Add a new criteria to the tunnel join throttle, backing off people if we + are failing to talk to our peers more than usual. + +2005-11-30 jrandom + * Cleaned up the build process to deal with Jetty 5.1.6 and rename the + new commons-logging-api.jar to commons-logging.jar, which it replaces. + Jetty 5.1.6 is pushed with all updates. Also, no need to push a + separate jdom or rome, as they're inside syndie.war. + +2005-11-30 jrandom + * Don't let the TCP transport alone shitlist a peer, since other + transports may be working. Also display whether TCP connections are + inbound or outbound on the peers page. + * Fixed some substantial bugs in the SSU introducers where we wouldn't + talk to anyone who didn't expose an IP (even if they had introducers), + among other goofy things. + * When dealing with SSU introducers, send them all a packet at 3s/6s/9s, + rather than sending one a packet at 3s, then another a packet at 6s, + and a third a packet at 9s. + * Fixed Syndie attachments (oops) + +2005-11-29 zzz + * Added a link to orion's jump page on the 'key not found' error page. + +2005-11-29 jrandom + * Further Syndie UI cleanup + * Bundled our patched MultiPartRequest code from jetty (APL2 licensed), + since it hasn't been applied to the jetty CVS yet [1]. Its packaged + into syndie.jar and renamed to net.i2p.syndie.web.MultiPartRequest, but + will be removed as soon as its integrated into Jetty. This patch allows + posting content in various character sets. + [1] http://article.gmane.org/gmane.comp.java.jetty.general/6031 + * Upgraded new installs to the latest stable jetty (5.1.6), though this + isn't pushed as part of the update yet, as there aren't any critical + bugs. + +2005-11-29 jrandom + * Added back in the OSX jbigi, which was accidentally removed a few revs + back (thanks for the bug report stoerte!) New installs will get the + full jbigi, or you can pull the jbigi.jar from CVS by going to + http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/installer/lib/jbigi/jbigi.jar + and clicking on the first "download" link, saving that jbigi.jar to + lib/jbigi.jar in your I2P installation directory. After restarting your + router, it should load up fine. + +2005-11-27 jrandom + * Inlined the Syndie CSS to reduce the number of HTTP requests (and + because firefox [and others?] delay rendering until they fetch the css). + * Make sure we fire the shutdown tasks when regenerating a new identity + (thanks picsou!) + * Cleaned up some of the things I b0rked in the 'dynamic keys' mode + * Don't drop SSU sessions if they're still transmitting data successfully, + even if there are transmission failures + * Adjusted the time summarization to display hours after 119m, not 90m + * Further EepGet cleanup (grr) + +* 2005-11-26 0.6.1.6 released + +2005-11-26 jrandom + * Update the sorting in Syndie to consider children 'newer' than parents, + even if they have the same message ID (duh) + * Cleaned up some nav links in Syndie (good idea gloin, spaetz!) + * Added a bunch of tooltips to Syndie's fields (thanks polecat!) + * Force support for nonvalidating XML in Jetty (so we can handle GCJ/etc + better) + +2005-11-26 jrandom + * Be more explicit about what messages we will handle through a client + tunnel, and how we will handle them. This cuts off a set of attacks + that an active adversary could mount, though they're probably nonobvious + and would require at least some sophistication. + +2005-11-26 Raccoon23 + * Added support for 'dynamic keys' mode, where the router creates a new + router identity whenever it detects a substantial change in its public + address (read: SSU IP or port). This only offers minimal additional + protection against trivial attackers, but should provide functional + improvement for people who have periodic IP changes, since their new + router address would not be shitlisted while their old one would be. + * Added further infrastructure for restricted route operation, but its use + is not recommended. + +2005-11-25 jrandom + * Further Syndie UI cleanups + * Logging cleanup + * Fixed link to fproxy.tino.i2p (thanks zzz!) + +2005-11-25 jrandom + * Don't publish stats for periods we haven't reached yet (thanks zzz!) + * Cleaned up the syndie threaded display to show the last updated date for + a subthread, and to highlight threads updated in the last two days. + +2005-11-24 jrandom + * Fix to save syndication settings in Syndie (thanks spaetz!) + +2005-11-23 jrandom + * Removed spurious streaming lib RTO increase (it wasn't helpful) + * Streamlined the tunnel batching to schedule batch transmissions more + appropriately. + * Default tunnel pool variance to 2 +0-1 hops + +2005-11-21 jrandom + * IE doesn't strip SPAN from