diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css new file mode 100644 index 0000000000000000000000000000000000000000..6deabee9dd4e48296f999f883e4f59f2a01a4cf8 --- /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 0000000000000000000000000000000000000000..57cf25e71e144055e46aa364063987854e6aa90d --- /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 0000000000000000000000000000000000000000..a60ec21d3ddc46da91e404f3acce91fff284288a --- /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 0000000000000000000000000000000000000000..6bbc5e37aad0b1118ccc86b31e985c75832ab5e3 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 0000000000000000000000000000000000000000..fbff2340912a95cc59554a5c36fb8d8dfbdf4fe5 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 0000000000000000000000000000000000000000..0d43eb4eab436a06e60a33922f27638db4e327e0 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 0000000000000000000000000000000000000000..32a0972b94e66a702def8f4a8a3c62cb3d5bd42b 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 0000000000000000000000000000000000000000..89df70b960574329efe68890e5c3303e8bbefef4 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 0000000000000000000000000000000000000000..2e28effafc342c4f06f859247988538ed3ed5ecd 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 0000000000000000000000000000000000000000..dd2ce33886bd43f3efb27b64860edfb2a0e91da6 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 0000000000000000000000000000000000000000..52d1fd6c7d7e7f5ccd9c1cac26f5502a4549d007 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 0000000000000000000000000000000000000000..f31f7cd8ed420d91d8546bb59cd3f9cd643ac2d4 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 0000000000000000000000000000000000000000..e0eba7969888b86b7f9b554434dc9750c1218c9e 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 0000000000000000000000000000000000000000..e33c92544f0daf08363c3a6156beb43d1f22d4b4 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 0000000000000000000000000000000000000000..2616ec7a68cdbd6679c11b118b19ace0ea7a9878 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 0000000000000000000000000000000000000000..198786c505487374d9770c3d80a0d7683191f166 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 0000000000000000000000000000000000000000..6fe7a32506745981feee4342124952dc8079d4e3 --- /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 0000000000000000000000000000000000000000..57cf25e71e144055e46aa364063987854e6aa90d --- /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 0000000000000000000000000000000000000000..a60ec21d3ddc46da91e404f3acce91fff284288a --- /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 0000000000000000000000000000000000000000..17326d925d059278c8a146e9053d741b6349d631 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 0000000000000000000000000000000000000000..6bbc5e37aad0b1118ccc86b31e985c75832ab5e3 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 0000000000000000000000000000000000000000..fbff2340912a95cc59554a5c36fb8d8dfbdf4fe5 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 0000000000000000000000000000000000000000..0d43eb4eab436a06e60a33922f27638db4e327e0 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 0000000000000000000000000000000000000000..89df70b960574329efe68890e5c3303e8bbefef4 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 0000000000000000000000000000000000000000..854d46f40c06681bd6ad567f51264a5198679350 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 0000000000000000000000000000000000000000..52d1fd6c7d7e7f5ccd9c1cac26f5502a4549d007 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 0000000000000000000000000000000000000000..e7fc6c1f12ab57637c3c0858a74ad87643a76b28 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 0000000000000000000000000000000000000000..e0eba7969888b86b7f9b554434dc9750c1218c9e 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 0000000000000000000000000000000000000000..f34c0632479b019d2b68c852a705323e6e5767ce 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 0000000000000000000000000000000000000000..ea691b8e20a44f5e4ac278ad6693b95984c58bb4 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 0000000000000000000000000000000000000000..9c9092e7372739d8bd1deeabd0c125a81dc29c6e 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 0000000000000000000000000000000000000000..c2b7e8c098c275410860bf6ac25743c25c8b782d 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 0000000000000000000000000000000000000000..52d1fd6c7d7e7f5ccd9c1cac26f5502a4549d007 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 0000000000000000000000000000000000000000..1ce8412e6cad1e925d5376e923a156b197635579 --- /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 <susi23@mail.i2p> + See licenses/LICENSE-GPLv2.txt + + SusiMail: + Copyright (C) 2004-2005 <susi23@mail.i2p> + 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 <mpc@innographx.com> + 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 0000000000000000000000000000000000000000..068558d6a57c5ee260d2b69fdfdf959b9594d679 --- /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 + +<html><head> +<title>Destination key conflict</title> +<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" /> +<link href="http://proxy.i2p/themes/console/console.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div class=logo> + <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Router Console" width="187" height="35" border="0"/></a><br /> + [<a href="http://127.0.0.1:7657/config.jsp">configuration</a> | <a href="http://127.0.0.1:7657/help.jsp">help</a>] +</div> +<div class=warning id=warning> +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. +<P/> +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. +<P/> diff --git a/pkg-temp/docs/dnf-header.ht b/pkg-temp/docs/dnf-header.ht new file mode 100644 index 0000000000000000000000000000000000000000..8de2824bf8276263d0c7dafa5d8fc3045f95d211 --- /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 + +<html><head> +<title>Eepsite not reachable</title> +<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" /> +<link href="http://proxy.i2p/themes/console/console.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div class=logo> + <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Router Console" width="187" height="35" border="0"/></a><br /> + [<a href="http://127.0.0.1:7657/config.jsp">configuration</a> | <a href="http://127.0.0.1:7657/help.jsp">help</a>] +</div> +<div class=warning id=warning> +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 +<a href="javascript: window.location.reload()">retry</a>. +<BR><BR>Could not find the following destination:<BR><BR> diff --git a/pkg-temp/docs/dnfb-header.ht b/pkg-temp/docs/dnfb-header.ht new file mode 100644 index 0000000000000000000000000000000000000000..890a1910fbbfa93a656f873f9f445508cd2ed7fe --- /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 + +<html><head> +<title>Invalid eepsite destination</title> +<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" /> +<link href="http://proxy.i2p/themes/console/console.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div class=logo> + <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Router Console" width="187" height="35" border="0"/></a><br /> + [<a href="http://127.0.0.1:7657/config.jsp">configuration</a> | <a href="http://127.0.0.1:7657/help.jsp">help</a>] +</div> +<div class=warning id=warning> +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 +<a href="javascript: window.location.reload()">retry</a>. +<BR><BR>Could not find the following destination:<BR><BR> diff --git a/pkg-temp/docs/dnfh-header.ht b/pkg-temp/docs/dnfh-header.ht new file mode 100644 index 0000000000000000000000000000000000000000..307621aaae9222b7576c2dc8d6f23c1bf2c9e107 --- /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 + +<html><head> +<title>Eepsite unknown</title> +<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" /> +<link href="http://proxy.i2p/themes/console/console.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div class=logo> + <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Router Console" width="187" height="35" border="0"/></a><br /> + [<a href="http://127.0.0.1:7657/config.jsp">configuration</a> | <a href="http://127.0.0.1:7657/help.jsp">help</a>] +</div> +<div class=warning id=warning> +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 +<a href="http://127.0.0.1:7657/susidns/addressbook.jsp?book=master">SusiDNS</a>, +use a BASE64 address helper, or use a jump service link below. +Seeing this page often? See <a href="http://www.i2p2.i2p/faq.html#subscriptions">the FAQ</a> +for help in <a href="http://127.0.0.1:7657/susidns/config.jsp">adding some subscriptions</a> +to your addressbook. +<BR><BR>Could not find the following destination:<BR><BR> diff --git a/pkg-temp/docs/dnfp-header.ht b/pkg-temp/docs/dnfp-header.ht new file mode 100644 index 0000000000000000000000000000000000000000..b579e64b91ee717e7350dcab8abbf1fe9d12e1e7 --- /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 + +<html><head> +<title>Outproxy Not Found</title> +<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" /> +<link href="http://proxy.i2p/themes/console/console.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div class=logo> + <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Router Console" width="187" height="35" border="0"/></a><br /> + [<a href="http://127.0.0.1:7657/config.jsp">configuration</a> | <a href="http://127.0.0.1:7657/help.jsp">help</a>] +</div> +<div class=warning id=warning> +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 +<a href="javascript: parent.window.location.reload()">retry</a> +as this will randomly reselect an outproxy from the pool you have defined +<a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">here</a> +(if you have more than one configured). +If you continue to have trouble you may want to edit your outproxy list +<a href="http://127.0.0.1:7657/i2ptunnel/edit.jsp?tunnel=0">here</a>. +<BR><BR>Could not find the following destination:<BR><BR> diff --git a/pkg-temp/docs/news.xml b/pkg-temp/docs/news.xml new file mode 100644 index 0000000000000000000000000000000000000000..729462ac6440a749c66cc110aed86b036ddaac68 --- /dev/null +++ b/pkg-temp/docs/news.xml @@ -0,0 +1,45 @@ +<i2p.news date="$Date: 2009-06-29 00:00:00 $"> + <i2p.release version="0.7.5" date="2009/06/29" minVersion="0.6" + anonurl="http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/i2p/i2pupdate.sud" + publicurl="http://dev.i2p.net/i2p/i2pupdate.sud" + anonannouncement="http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/pipermail/i2p/2005-September/000878.html" + publicannouncement="http://dev.i2p.net/pipermail/i2p/2005-September/000878.html" /> + <i2p.notes date="2005/08/08" + anonurl="http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/pipermail/i2p/2005-July/000826.html" + publicurl="http://dev.i2p.net/pipermail/i2p/2005-July/000826.html" + anonlogs="http://i2p/Nf3ab-ZFkmI-LyMt7GjgT-jfvZ3zKDl0L96pmGQXF1B82W2Bfjf0n7~288vafocjFLnQnVcmZd~-p0-Oolfo9aW2Rm-AhyqxnxyLlPBqGxsJBXjPhm1JBT4Ia8FB-VXt0BuY0fMKdAfWwN61-tj4zIcQWRxv3DFquwEf035K~Ra4SWOqiuJgTRJu7~o~DzHVljVgWIzwf8Z84cz0X33pv-mdG~~y0Bsc2qJVnYwjjR178YMcRSmNE0FVMcs6f17c6zqhMw-11qjKpY~EJfHYCx4lBWF37CD0obbWqTNUIbL~78vxqZRT3dgAgnLixog9nqTO-0Rh~NpVUZnoUi7fNR~awW5U3Cf7rU7nNEKKobLue78hjvRcWn7upHUF45QqTDuaM3yZa7OsjbcH-I909DOub2Q0Dno6vIwuA7yrysccN1sbnkwZbKlf4T6~iDdhaSLJd97QCyPOlbyUfYy9QLNExlRqKgNVJcMJRrIual~Lb1CLbnzt0uvobM57UpqSAAAA/meeting141" + publiclogs="http://www.i2p.net/meeting141" /> +<p> +• +2009-06-29: <b>0.7.5 <a href="http://www.i2p2.i2p/release-0.7.5.html">Released</a></b> +</p><p> +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. +</p><p> +This version also delivers fixes to installer behaviour on Windows, +to the Router Console, NTCP transport and UPnP mechanism. +</p><p> +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 +<a href="configupdate.jsp">configupdate.jsp</a>, 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. +</p><p> +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 <a href="configupdate.jsp">configupdate.jsp</a>, +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. +</p> +</i2p.news> diff --git a/pkg-temp/docs/readme_zh.html b/pkg-temp/docs/readme_zh.html new file mode 100644 index 0000000000000000000000000000000000000000..6f2a0394c8691de38be1b5a84ff2a43b823a141e --- /dev/null +++ b/pkg-temp/docs/readme_zh.html @@ -0,0 +1,28 @@ +<p align=right><font size="-1"><a href="/index.jsp?lang=en">English</a> | <a href="/index.jsp?lang=de">Deutsch</a> | <a href="/index.jsp?lang=fr">Français</a> | <a href="/index.jsp?lang=nl">Nederlands</a> | <a href="/index.jsp?lang=sv">Svenska</a></font></p> +<p>如果 I2P 已经运行,未来的几分钟里控制台左侧的活动节点(Active)数量将开始增长,并会出现名为 "已共享客户"("shared clients") 的本地目标。(如果没有,请见 <a href="#trouble">疑难解答</a>)。待出现以上消息后,您可以:</p> +<ul> + <li><B>浏览 IIP网站 "eepsites"</B> - I2P 网络内匿名运行的站点 - 您要首先设置浏览器的 <B>HTTP 代理</B> 为 localhost:4444 然后才能浏览IIP站点 - <ul> + <li><a href="http://inproxy.tino.i2p/status.php">inproxy.tino.i2p</a> 和 <a href="http://perv.i2p/stats.cgi">perv.i2p</a>: 这两个站点用于跟踪哪些 IIP 站点在线。</li> + <li><a href="http://forum.i2p/">forum.i2p</a>: 安全匿名的访问I2P官方论坛 <a href="http://forum.i2p2.de/">forum.i2p2.de</a></li> + <li><a href="http://www.i2p2.i2p/">www.i2p2.i2p</a> 与其镜像 <a href="http://i2p-projekt.i2p">i2p-projekt.i2p</a>: 安全匿名的访问I2P官网 <a href="http://www.i2p2.de/">www.i2p2.de</a></li> + <li><a href="http://eepsites.i2p/">eepsites.i2p</a>: 匿名建立的IIP网站搜索引擎</li> + <li><a href="http://ugha.i2p/">ugha.i2p</a>: UGHA 的IIP站点, 任何人都可以编辑的WIKI, 有丰富的链接</li> + <li><a href="http://fproxy.tino.i2p">fproxy.tino.i2p</a>: FREENET 代理</li> + </ul> I2P网络中还有很多其他的IIP网站(EEPSITE) - 访问上面的网站你会找到更多,收藏你喜爱的 IIP 网站,别忘了常去看看!</li> + <li><B>浏览 Web 网页</B> - 目前 IP2 网络中只有一个 HTTP 出口代理("outproxy")挂接在你主机4444端口的HTTP代理上。- 只要将浏览器的代理设置指向为前面的地址(localhost:4444),然后访问任何普通链接即可 - 您的HTTP请求将在 I2P 网络内部传递。</li> + <li><B>文件交换</B> - 本机的其中一个内置 <a href="i2psnark/">端口</a> 中提供 <a href="http://www.klomp.org/snark/">Snark</a> <a href="http://www.bittorrent.com/">BitTorrent</a> 客户端。</li> + <li><B>匿名电邮</B> - POSTMAN 创建了兼容普通邮件客户端 (POP3 / SMTP)的邮件系统,该系统可以在 I2P 网络内部收发Email 也可以收发来自外部 Internet 的邮件!电邮账号请到 <a href="http://hq.postman.i2p/">hq.postman.i2p</a> 申请。我们将用于匿名POP3/SMTP的Web邮件客户端 <a href="/susimail/susimail">SUSIMail</a>, 集成在I2P中,并将其配置为使用POSTMAN 的邮件服务。</li> + <li><B>匿名聊天</B> - 打开您的 IRC 客户端并链接至 <B>localhost:6668</B>。这样可以访问两个匿名的 IRC 服务器, 但无论你还是服务器都不知道其他人在哪里。</li> + <li><B>匿名博客</B> - 请访问 <a href="http://syndie.i2p2.de/">Syndie</a></li> + <li>以及其他服务。</li> +</ul> + +<h2>想创建属于您自己的 IIP 站点(EEPSITE)?</h2> + +<p>我们已经集成了一些软件来帮助你运行自己的EEPSITE - 有一个<a href="http://jetty.mortbay.org/">Jetty</a> 实例监听于本机 <a href="http://localhost:7658/">http://localhost:7658/</a>上。只要将你的文件放在 <code>eepsite/docroot/</code> 文件夹中 (或将任何标准的 JSP/Servlet <code>.war</code> 文件放置于 <code>eepsite/webapps</code> 中, 标准的 CGI 脚本应置于 <code>eepsite/cgi-bin</code> 目录内) 之后就可以浏览啦。此后运行 <a href="/i2ptunnel/">IIP站点隧道(EEPSITE TUNEL)</a> 将其指向站点的端口, 您的站点就可以被他人看到了。当您创建IIP站点时的具体操作参见 <a href="http://localhost:7658/">您的临时EEPSITE页面</a>。</p> + +<h2><a name="trouble">疑难解答</a></h2> + +<p>保持耐心 - I2P 第一次启动时需要搜索节点,可能比较缓慢。如果30分钟后,您的活动节点(Active:已连接/新近连接) 计数仍在 10 个节点以下, 请在防火墙中打开 8887 端口改善连接性能。如果您根本无法打开任何EEPSITE(甚至 <a href="http://www.i2p2.i2p/">www.i2p2.i2p</a>),检查您的浏览器代理设置是否为本地的 localhost:4444。你也可以查看 <a href="http://www.i2p2.i2p/">I2P 网站</a> 上的信息, 在 <a href="http://forum.i2p2.de/">I2P 论坛</a> 中发帖, 来 <a href="irc://irc.freenode.net/#i2p">irc.freenode.net</a> , irc.postman.i2p 或 irc.freshcoffee.i2p 上的 #i2p 或 #i2p-chat 两个IRC频道坐坐。 (这些服务器上的这两个频道是相通的)。</p> + +<p><B>提示,您可以通过编辑 "docs/readme_zh.html" 修改本页面。</B></p> 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 0000000000000000000000000000000000000000..99077d1e013637fa26b5ac13deffaa339e3eeb28 --- /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 0000000000000000000000000000000000000000..88aa40d7f7aa74f506acc75ef0a9a52826acce5e --- /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 0000000000000000000000000000000000000000..814cab8923b4001ae8daf6d92a632b56368764cc --- /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 0000000000000000000000000000000000000000..99077d1e013637fa26b5ac13deffaa339e3eeb28 --- /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 0000000000000000000000000000000000000000..99077d1e013637fa26b5ac13deffaa339e3eeb28 --- /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 0000000000000000000000000000000000000000..fd09b1b4cc69cb3eaa0853bda10698e3105d261f 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 0000000000000000000000000000000000000000..52d1fd6c7d7e7f5ccd9c1cac26f5502a4549d007 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 0000000000000000000000000000000000000000..d02bf97dc6bf66f95629bf3df4748287d9ae757a --- /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 <th> 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 <button> form fields, so add in a workaround + within I2PTunnel. + * Increase the maximum SSU retransmission timeout to accomodate slower or + more congested links (though SSU's RTO calculation will usually use a + much lower timeout) + * Moved the streaming lib timed events off the main timer queues and onto + a streaming lib specific set of timer queues. Streaming lib timed + events are more likely to have lock contention on the I2CP socket while + other timed events in the router are (largely) independent. + * Fixed a case sensitive lookup bug (thanks tino!) + * Syndie cleanup - new edit form on the preview page, and fixed some blog + links (thanks tino!) + +2005-11-19 jrandom + * Implemented a trivial pure java PMTU backoff strategy, switching between + a 608 byte MTU and a 1350 byte MTU, depending upon retransmission rates. + * Fixed new user registration in Syndie (thanks Complication!) + +2005-11-17 jrandom + * More cautious file handling in Syndie + +2005-11-16 jrandom + * More aggressive I2PTunnel content encoding munging to work around some + rare HTTP behavior (ignoring q values on Accept-encoding, using gzip + even when only identity is specified, etc). I2PTunnelHTTPServer now + sends "Accept-encoding: \r\n" plus "X-Accept-encoding: x-i2p-gzip\r\n", + and I2PTunnelHTTPServer handles x-i2p-gzip in either the Accept-encoding + or X-Accept-encoding headers. Eepsite operators who do not know to + check for X-Accept-encoding will simply use the identity encoding. + +* 2005-11-15 0.6.1.5 released + +2005-11-14 jrandom + * Migrate to the new Syndie interface + +2005-11-11 jrandom + * Add filtering threads by author to Syndie, populated with authors in the + user's addressbook + * When creating the default user, add + "http://syndiemedia.i2p/archive/archive.txt" to their addressbook, + configured to automatically pull updates. (what other archives should + be included?) + * Tiny servlet to help dole out the new routerconsole themes, and bundle + the installer/resources/themes/** into ./docs/themes/** on both install + and update. + +2005-11-11 cervantes + * Initial pass of the routerconsole revamp, starting with I2PTunnel and + being progressively rolled out to other sections at later dates. + Featuring abstracted W3C strict XHTML1.0 markup, with CSS providing + layout and styling. + * Implemented console themes. Users can create their own themes by + creating css files in: {i2pdir}/docs/themes/console/{themename}/ + and activating it using the routerconsole.theme={themename} advanced + config property. Look at the example incomplete "defCon1" theme. + Note: This is very much a work in progress. Folks might want to hold-off + creating their own skins until the markup has solidified. + * Added "routerconsole.javascript.disabled=true" to disable console + client-side scripting and "routerconsole.css.disabled=true" to remove + css styling (only rolled out in the i2ptunnel interface currently) + * Fixed long standing bug with i2ptunnel client and server edit screens + where tunnel count and depth properties would fail to save. Added + backup quantity and variance configuration options. + * Added basic accessibility support (key shortcuts, linear markup, alt and + title information and form labels). + * So far only tested on IE6, Firefox 1.0.6, Opera 8 and lynx. + +2005-11-11 jrandom + * Default Syndie to single user mode, and automatically log into a default + user account (additional accounts can be logged into with the 'switch' + or login pages, and new accounts can be created with the register page). + * Disable the 'automated' column on the Syndie addressbook unless the user + is appropriately authorized (good idea Polecat!) + +2005-11-10 jrandom + * First pass to a new threaded Syndie interface, which isn't enabled by + default, as its not done yet. + +2005-11-06 jrandom + * Include SSU establishment failure in the peer profile as a commError, + as we do for TCP establishment failures. + * Don't throttle the initial transmission of a message because of ongoing + retransmissions to a peer, since the initial transmission of a message + is more valuable than a retransmission (since it has less latency). + * Cleaned up links to SusiDNS and I2PTunnel (thanks zzz!) + +2005-11-05 jrandom + * Include the most recent ACKs with packets, rather than only sending an + ack exactly once. SSU differs from TCP in this regard, as TCP has ever + increasing sequence numbers, while each message ID in SSU is random, so + we don't get the benefit of later ACKs implicitly ACKing earlier + messages. + * Reduced the max retransmission timeout for SSU + * Don't try to send messages queued up for a long time waiting for + establishment. + +2005-11-05 dust + * Fix sucker to delete its temporary files. + * Improve sucker's sml output some. + * Fix Exception in SMLParser for weird sml. + +2005-11-03 zzz + * Added a new error page to the eepproxy to differentiate the full 60 + second timeout from the immediate "I don't know this base64" failure. + +2005-11-01 jrandom + * Added a few more css elements (thanks identiguy!) + +2005-10-31 jrandom + * Fix for some syndie reply scenarios (thanks identiguy and CofE!) + * Removed a potentially infinitely recursive call (oops) + +2005-10-30 dust + * Merge sucker into syndie with a rssimport.jsp page. + * Add getContentType() to EepGet. + * Make chunked transfer work (better) with EepGet. + * Do replaceAll("<","<") for logs. + +* 2005-10-29 0.6.1.4 released + +2005-10-29 jrandom + * Improved the bandwidth throtting on tunnel participation, especially for + low bandwidth peers. + * Improved failure handling in SSU with proactive reestablishment of + failing idle peers, and rather than shitlisting a peer who failed too + much, drop the SSU session and allow a new attempt (which, if it fails, + will cause a shitlisting) + * Clarify the cause of the shitlist on the profiles page, and include + bandwidth limiter info at the bottom of the peers page. + +2005-10-26 jrandom + * In Syndie, propogate the subject and tags in a reply, and show the parent + post on the edit page for easy quoting. (thanks identiguy and CofE!) + * Streamline some netDb query handling to run outside the jobqueue - + which means they'll run on the particular SSU thread that handles the + message. This should help out heavily loaded netDb peers. + +2005-10-25 jrandom + * Defer netDb searches for newly referenced peers until we actually want + them + * Ignore netDb references to peers on our shitlist + * Set the timeout for end to end client messages to the max delay after + finding the leaseSet, so we don't have as many expired messages floating + around. + * Add a floor to the streaming lib window size + * When we need to send a streaming lib ACK, try to retransmit one of the + unacked packets instead (with updated ACK/NACK fields, of course). The + bandwidth cost of an unnecessary retransmission should be minor as + compared to both an ACK packet (rounded up to 1KB in the tunnels) and + the probability of a necessary retransmission. + * Adjust the streaming lib cwin algorithm to allow growth after a full + cwin messages if the rtt is trending downwards. If it is not, use the + existing algorithm. + * Increased the maximum rto size in the streaming lib. + * Load balancing bugfix on end to end messages to distribute across + tunnels more evenly. + +2005-10-22 jrandom + * Integrated GNU-Crypto's Fortuna PRNG, seeding it off /dev/urandom and + ./prngseed.rnd (if they exist), and reseeding it with data out of + various crypto operations (unused bits in a DH exchange, intermediary + bits in a DSA signature generation, extra bits in an ElGamal decrypt). + The Fortuna implementation under gnu.crypto.prng has been modified to + use BouncyCastle's SHA256 and Cryptix's AES (since those are the ones + I2P uses), and the resulting gnu.crypto.prng.* are therefor available + under GPL+Classpath's linking exception (~= LGPL). I2P's SecureRandom + wrapper around it is, of course, public domain. + +2005-10-20 dust + * Fix bug in ircclient that prevented it to use its own dest (i.e. was + always shared. (thx for info Ragnarok) + * Fix crash in Sucker with some bad html. + +2005-10-20 jrandom + * Workaround a bug in GCJ's Calendar implementation + * Propery throw an exception in the streaming lib if we try to write to a + closed stream. This will hopefully help clear some I2Phex bugs (thanks + GregorK!) + +2005-10-19 jrandom + * Ported the snark bittorrent client to I2P such that it is compatible + with i2p-bt and azneti2p. For usage information, grab an update and run + "java -jar lib/i2psnark.jar". It isn't currently multitorrent capable, + but adding in support would be fairly easy (see PeerAcceptor.java:49) + * Don't allow leaseSets expiring too far in the future (thanks postman) + +2005-10-19 jrandom + * Bugfix for the auto-update code to handle different usage patterns + * Decreased the addressbook recheck frequency to once every 12 hours + instead of hourly. + * Handle dynamically changing the HMAC size (again, unless your nym is + toad or jrandom, ignore this ;) + * Cleaned up some synchronization/locking code + +2005-10-17 dust + * Exchange the remaining URL with EepGet in Sucker. + * Allow /TOPIC irc command. + +2005-10-17 jrandom + * Allow an env prop to configure whether we want to use the backwards + compatible (but not standards compliant) HMAC-MD5, or whether we want + to use the not-backwards compatible (but standards compliant) one. No + one should touch this setting, unless your name is toad or jrandom ;) + * Added some new dummy facades + * Be more aggressive on loading up the router.config before building the + router context + * Added new hooks for apps to deal with previously undefined I2NP message + types without having to modify any code. + * Demo code for using a castrated router for SSU comm (SSUDemo.java) + +2005-10-14 jrandom + * More explicit filter for linux/PPC building (thanks anon!) + * Fixed Syndie's Sucker to not explicitly reference something only found + in sun's JVM (thanks cervantes!) + * Don't filter IRC "MAP" messages (not critical, but it doesn't hurt) + +* 2005-10-14 0.6.1.3 released + +2005-10-14 jrandom + * Added a key explaining peers.jsp a bit (thanks tethra!) + +2005-10-13 dust + * Bundled dust's Sucker for pulling RSS/Atom content into SML, which can + then be injected into Syndie with the Syndie CLI. + * Bundled ROME and JDOM (BSD and Apache licensed, respectively) for + RSS/Atom parsing. + +2005-10-13 jrandom + * SSU retransmission choke bugfix (== != !=) + * Include initial transmissions in the retransmission choke, so that + if we are already retransmitting a message, we won't send anything + to that peer other than that message (or ACKs, if necessary) + +2005-10-12 jrandom + * Choke SSU retransmissions to a peer while there is already a + retransmission in flight to them. This currently lets other initial + transmissions through, since packet loss is often sporadic, but maybe + this should block initial transmissions as well? + * Display the retransmission bytes stat on peers.jsp (thanks bar!) + * Filter QUIT messages in the I2PTunnelIRCClient proxy + +2005-10-11 jrandom + * Piggyback the SSU partial ACKs with data packets. This is backwards + compatible. + * Syndie RSS renderer bugfix, plus now include the full entry instead of + just the blurb before the cut. + +2005-10-11 jrandom + * Piggyback the SSU explicit ACKs with data packets (partial ACKs aren't + yet piggybacked). This is backwards compatible. + * SML parser cleanup in Syndie + +2005-10-10 dust + * Implemented a new I2PTunnelIRCClient which locally filters inbound and + outbound IRC commands for anonymity and security purposes, removing all + CTCP messages except ACTION, as well as stripping the hostname from the + USER message (while leaving the nick and 'full name'). The IRC proxy + doesn't use this by default, but you can enable it by creating a new + "IRC proxy" tunnel on the web interface, or by changing the tunnel type + to "ircclient" in i2ptunnel.config. + +2005-10-10 jrandom + * I2PTunnel http client config cleanup and stats + * Minor SSU congestion tweaks and stats + * Reduced netDb exploration period + +2005-10-09 jrandom + * Syndie CLI cleanup for simpler CLI posting. Usage shown with + java -jar lib/syndie.jar + * Beginnings of the Syndie logging cleanup + * Delete corrupt Syndie posts + +2005-10-09 jrandom + * Now that the streaming lib works reasonably, set the default inactivity + event to send a 0 byte keepalive payload, rather than disconnecting the + stream. This should cut the irc netsplits and help out with other long + lived streams. The default timeout is now less than the old timeout as + well, so the keepalive will be sent before earlier builds fire their + fatal timeouts. + +2005-10-08 jrandom + * Use the OS clock for stat timing, since it doesn't jump around (though + still use the NTP'ed clock for display) + * Added new DH stats + +* 2005-10-07 0.6.1.2 released + +2005-10-07 jrandom + * Include the 1 second bandwidth usage on the console rather than the + 1 minute rate, as the 1 second value doesn't have the 1m/5m quantization + issues. + +2005-10-07 jrandom + * Allow the I2PTunnelHTTPServer to send back the first few packets of an + HTTP response quicker, and initialize the streaming lib's cwin more + carefully. + * Added a small web UI to the new Syndie scheduled updater. If you log in + as a user authorized to use the remote archive funtionality, you can + request remote archives in your address book to be automatically pulled + down by checking the "scheduled?" checkbox. + +2005-10-05 jrandom + * Allow the first few packets in the stream to fill in their IDs during + handshake (thanks cervantes, Complication, et al!) This should fix at + least some of the intermittent HTTP POST issues. + +2005-10-04 jrandom + * Syndie patch for single user remote archives (thanks nickless_head!) + * Handle an invalid netDb store (thanks Complication!) + +2005-10-04 jrandom + * Further reduction in unnecessary streaming packets. + +2005-10-03 jrandom + * Properly reject unroutable IP addresses *cough* + +2005-10-03 rangarok + * Changed default update delay to twelve hours, and enforced a minimum + delay of one hour. + +2005-10-03 ragnarok + * Implemented a Syndie auto-updater. It will automatically pull new posts + from selected syndie archives. To try it out, add + syndie.updateArchives=<comma seperated list of syndie archives> to your + syndie.config. Archives must be specified as the full url to archive.txt + (e.g. http://syndiemedia.i2p/archive/archive.txt). By default, it checks + for new posts every hour. This can be modified by setting + syndie.updateDelay=<delay in hours> also in syndie.config. + +* 2005-10-01 0.6.1.1 released + +2005-09-30 ragnarok + * Implemented conditional get for syndie remote archive imports. + +2005-09-30 jrandom + * Killed three more streaming lib bugs, one of which caused excess packets + to be transmitted (dupacking dupacks), one that was the root of many of + the old hung streams (shrinking highest received), and another that was + releasing data too soon. + +2005-09-30 jrandom + * Only allow autodetection of our IP address if we haven't received an + inbound connection in the last two minutes. + * Increase the default max streaming resends to 8 from 5 (and down from + the earlier 10) + +2005-09-29 ragnarok + * Export petnames from syndie to the router's petname db instead of + userhosts.txt. + +2005-09-29 jrandom + * Support noreseed.i2p in addition to .i2pnoreseed for disabling automatic + reseeding - useful on OSes that make it hard to create dot files. + Thanks Complication (and anon)! + * Fixed the installer version string (thanks Frontier!) + * Added cleaner rejection of invalid IP addresses, shitlist those who send + us invalid IP addresses, verify again that we are not sending invalid IP + addresses, and log an error if it happens. (Thanks Complication, ptm, + and adab!) + +* 2005-09-29 0.6.1 released + +2005-09-29 jrandom + * Let syndie users modify their metadata. + * Reseed the router on startup if there aren't enough peer references + known locally. This can be disabled by creating the file .i2pnoreseed + in your home directory, and the existing detection and reseed handling + on the web interface is unchanged. + +2005-09-28 jrandom + * Fix for at least some (all?) of the wrong stream errors in the streaming + lib + +2005-09-27 jrandom + * Properly suggest filenames for attachments in Syndie (thanks all!) + * Fixed the Syndie authorization scheme for single user vs. multiuser + +2005-09-27 jrandom + * I2PTunnel bugfix (thanks Complication!) + * Increase the SSU cwin slower during congestion avoidance (at k/cwin^2 + instead of k/cwin) + * Limit the number of inbound SSU sessions being built at once (using + half of the i2np.udp.maxConcurrentEstablish config prop) + * Don't shitlist on a message send failure alone (unless there aren't any + common transports). + * More careful bandwidth bursting + +2005-09-26 jrandom + * Reworded the SSU introductions config section (thanks duck!) + * Force identity content encoding for I2PTunnel httpserver requests + (thanks redzara!) + * Further x-i2p-gzip bugfixes for the end of streams + * Reduce the minimum bandwidth limits to 3KBps steady and burst (though + I2P's performance at 3KBps is another issue) + * Cleaned up some streaming lib structures + +2005-09-25 jrandom + * Allow reseeding on the console if the netDb knows less than 30 peers, + rather than less than 10 (without internet connectivity, we keep the + last 15 router references) + * Reenable the x-i2p-gzip HTTP processing by default, flushing the stream + more aggressively. + * Show the status that used to be called "ERR-Reject" as "OK (NAT)" + * Reduced the default maximum number of streaming lib resends of a packet + (10 retransmits is a bit much with a reasonable RTO) + +2005-09-25 Complication + * Better i2paddresshelper handling in the I2PTunnel httpclient, plus a new + conflict resolution page if the i2paddresshelper parameter differs from + an existing name to destination mapping. + +2005-09-25 jrandom + * Fix a long standing streaming lib bug (in the inactivity detection code) + * Improved handling of initial streaming lib packet retransmissions to + kill the "lost first packet" bug (where a page shows up with the first + few KB missing) + * Add support for initial window sizes greater than 1 - useful for + eepsites to transmit e.g. 4 packets full of data along with the initial + ACK, thereby cutting down on the rtt latency. The congestion window + size can and does still shrink down to 1 packet though. + * Adjusted the streaming lib retransmission calculation algorithm to be + more TCP-like. + +2005-09-21 redzara + * Use ISO-8859-1 for the susidns xml + +2005-09-21 susi + * Bugfix in susidns for deleting entries + +2005-09-21 jrandom + * Add support for HTTP POST to EepGet + * Use HTTP POST for syndie bulk fetches, since there's a lot of data to + put in that URL. + +2005-09-18 jrandom + * Added support for pure 64bit linux with jbigi and the java service + wrapper (no need for jcpuid if we're on os.arch=amd64). Thanks mule + et al for help testing! + * UI cleanup in Syndie (thanks gloin and bar!) + +2005-09-18 Ragnarok + * Made MetaNamingService the default naming service. + +2005-09-17 Ragnarok + * Implemented a naming service using Syndie's petname db. It's not enabled + by default, but you can try it out by setting + i2p.naming.impl=net.i2p.client.naming.PetNameNamingService in + router.config. + * Implemented a meta naming service that will first lookup names in the + PetNameNamingService then fallback on the HostTxtNamingService. Which + naming services are checked and in which order is specified by + i2p.nameservicelist. This will probably become the default naming service + so please help test it out by setting + i2p.naming.impl=net.i2p.client.naming.MetaNamingService in router.config. + +* 2005-09-17 0.6.0.6 released + +2005-09-17 jrandom + * Clean up syndie a bit more and bundle a default introductory post with + both new installs and updates. + * Typo fixes on the console (thanks bar!) + +2005-09-17 jrandom + * Updated the bandwidth limiter to use two tiers of bandwidth - our normal + steady state rate, plus a new limit on how fast we transfer when + bursting. This is different from the old "burst as fast as possible + until we're out of tokens" policy, and should help those with congested + networks. See /config.jsp to manage this rate. + * Bugfixes in Syndie to handle missing cache files (no data was lost, the + old posts just didn't show up). + * Log properly in EepPost + +2005-09-17 jrandom + * Added the natively compiled jbigi and patched java service wrapper for + OS X. Thanks Bill Dorsey for letting me use your machine! + * Don't build i2p.exe or i2pinstall.exe when run on OS X machines, as we + don't bundle the binutils necessary (and there'd be a naming conflict + if we did). + * Added 'single user' functionality to syndie - if the single user + checkbox on the admin page is checked, all users are allowed to control + the instance and sync up with remote syndie nodes. + * Temporarily disable the x-i2p-gzip in i2ptunnel until it is more closely + debugged. + +2005-09-16 jrandom + * Reject unroutable IPs in SSU like we do for the TCP transport (unless + you have i2np.udp.allowLocal=true defined - useful for private nets) + +2005-09-16 jrandom + * Adjust I2PTunnelHTTPServer so it can be used for outproxy operators + (just specify the spoofed host as an empty string), allowing them to + honor x-i2p-gzip encoding. + * Let windows users build the exes too (thanks bar and redzara!) + * Allow I2PTunnel httpserver operators to disable gzip compression on + individual tunnels with the i2ptunnel.gzip=false client option + (good idea susi!) + +2005-09-16 jrandom + * Added the i2p.exe and i2pinstall.exe for windows users, using launch4j. + * Added runplain.sh for *nix/osx users having problems using the java + service wrapper (called from the install dir as: sh runplain.sh) + * Bundle susidns and syndie, with links on the top nav + * Have I2PTunnelHTTPClient and I2PTunnelHTTPServer use the x-i2p-gzip + content-encoding (if offered), reducing the payload size before it + reaches the streaming lib. The existing compression is at the i2cp + level, so we've been packetizing 4KB of uncompressed data and then + compressing those messages, rather than compressing and then packetizing + 4KB of compressed data. This should reduce the number of round trips + to fetch web pages substantially. + * Adjust the startup and timing of the addressbook so that susidns always + has config to work off, and expose a method for susidns to tell it to + reload its config and rerun. + +2005-09-15 jrandom + * Error handling for failed intro packets (thanks red.hand!) + * More carefully verify intro addresses + +2005-09-13 jrandom + * More careful error handling with introductions (thanks dust!) + * Fix the forceIntroducers checkbox on config.jsp (thanks Complication!) + * Hide the shitlist on the summary so it doesn't confuse new users. + +2005-09-12 comwiz + * Migrated the router tests to junit + +2005-09-12 jrandom + * Removed guaranteed delivery mode entirely (so existing i2phex clients + using it can get the benefits of mode=best_effort). Guaranteed delivery + is offered at the streaming lib level. + * Improve the peer selection code for peer testing, as everyone now + supports tests. + * Give the watchdog its fangs - if it detects obscene job lag or if + clients have been unable to get a leaseSet for more than 5 minutes, + restart the router. This was disabled a year ago due to spurious + restarts, and can be disabled by "watchdog.haltOnHang=false", but the + cause of the spurious restarts should be gone. + +2005-09-12 jrandom + * Bugfix for skewed store which could kill a UDP thread (causing complete + comm failure and eventual OOM) + +2005-09-12 jrandom + * More aggressively publish updated routerInfo. + * Expose the flag to force SSU introductions on the router console + * Don't give people the option to disable SNTP time sync, at least not + through the router console, because there is no reason to disable it. + No, not even if your OS is "ntp synced", because chances are, its not. + +2005-09-10 jrandom + * Test the router's reachability earlier and more aggressively + * Use the low level bandwidth limiter's rates for the router console, and + if the router has net.i2p.router.transport.FIFOBandwidthLimiter=INFO in + the logger config, keep track of the 1 second transfer rates as the stat + 'bw.sendBps1s' and 'bw.recvBps1s', allowing closer monitoring of burst + behavior. + +2005-09-09 jrandom + * Added preliminary support for NAT hole punching through SSU introducers + * Honor peer test results from peers that we have an SSU session with if + those sessions are idle for 3 minutes or more. + +2005-09-09 cervantes + * New build due to change in build number :P (thanks ugha!) + +2005-09-07 BarkerJr + * HTML cleanup for the router console (thanks!) + +2005-09-07 jrandom + * Lay the foundation for 'client routers' - the ability for peers to opt + out of participating in tunnels entirely due to firewall/NAT issues. + Individual routers have control over where those peers are used in + tunnels - in outbound or inbound, exploratory or client tunnels, or + none at all. The defaults with this build are to simply act as before - + placing everyone as potential participants in any tunnel. + * Another part of the foundation includes the option for netDb + participants to refuse to answer queries regarding peers who are marked + as unreachable, though this too is disabled by default (meaning the + routerInfo is retrievable from the netDb). + +2005-09-05 jrandom + * Expose the HTTP headers to EepGet status listeners + * Handle DSA key failures properly (if the signature is not invertable, it + is obviously invalid) + +2005-09-04 jrandom + * Don't persist peer profiles until we are shutting down, as the + persistence process gobbles RAM and wall time. + * Bugfix to allow you to check/uncheck the sharedClient setting on the + I2PTunnel web interface (thanks BarkerJr!) + * Be more careful when expiring a failed tunnel message fragment so we + don't drop the data while attempting to read it. + +* 2005-09-02 0.6.0.5 released + +2005-09-02 jrandom + * Don't refuse to send a netDb store if the targetted peer has failed a + bit (the value was an arbitrary amount). + * Logging changes + +* 2005-09-01 0.6.0.4 released + +2005-09-01 jrandom + * Don't send out a netDb store of a router if it is more than a few hours + old, even if someone asked us for it. + +2005-08-31 jrandom + * Don't publish leaseSets to the netDb if they will never be looked for - + namely, if they are for destinations that only establish outbound + streams. I2PTunnel's 'client' and 'httpclient' proxies have been + modified to tell the router that it doesn't need to publish their + leaseSet (by setting the I2CP config option 'i2cp.dontPublishLeaseSet' + to 'true'). + * Don't publish the top 10 peer rankings of each router in the netdb, as + it isn't being watched right now. + +2005-08-29 jrandom + * Added the new test Floodfill netDb + +2005-08-27 jrandom + * Minor logging and optimization tweaks in the router and SDK + * Use ISO-8859-1 in the XML files (thanks redzara!) + * The consolePassword config property can now be used to bypass the router + console's nonce checking, allowing CLI restarts + +2005-08-24 jrandom + * Catch errors with corrupt tunnel messages more gracefully (no need to + kill the thread and cause an OOM...) + * Don't skip shitlisted peers for netDb store messages, as they aren't + necessarily shitlisted by other people (though they probably are). + * Adjust the netDb store per-peer timeout based on each particular peer's + profile (timeout = 4x their average netDb store response time) + * Don't republish leaseSets to *failed* peers - send them to peers who + replied but just didn't know the value. + * Set a 5 second timeout on the I2PTunnelHTTPServer reading the client's + HTTP headers, rather than blocking indefinitely. HTTP headers should be + sent entirely within the first streaming packet anyway, so this won't be + a problem. + * Don't use the I2PTunnel*Server handler thread pool by default, as it may + prevent any clients from accessing the server if the handlers get + blocked by the streaming lib or other issues. + * Don't overwrite a known status (OK/ERR-Reject/ERR-SymmetricNAT) with + Unknown. + +2005-08-23 jrandom + * Removed the concept of "no bandwidth limit" - if none is specified, its + 16KBps in/out. + * Include ack packets in the per-peer cwin throttle (they were part of the + bandwidth limit though). + * Tweak the SSU cwin operation to get more accurrate estimates under + congestions. + * SSU improvements to resend more efficiently. + * Added a basic scheduler to eepget to fetch multiple files sequentially. + +* 2005-08-21 0.6.0.3 released + +2005-08-21 jrandom + * If we already have an established SSU session with the Charlie helping + test us, cancel the test with the status of "unknown". + +2005-08-17 jrandom + * Revise the SSU peer testing protocol so that Bob verifies Charlie's + viability before agreeing to Alice's request. This doesn't work with + older SSU peer test builds, but is backwards compatible (older nodes + won't ask newer nodes to participate in tests, and newer nodes won't + ask older nodes to either). + +2005-08-12 jrandom + * Keep detailed stats on the peer testing, publishing the results in the + netDb. + * Don't overwrite the status with 'unknown' unless we haven't had a valid + status in a while. + * Make sure to avoid shitlisted peers for peer testing. + * When we get an unknown result to a peer test, try again soon afterwards. + * When a peer tells us that our address is different from what we expect, + if we've done a recent peer test with a result of OK, fire off a peer + test to make sure our IP/port is still valid. If our test is old or the + result was not OK, accept their suggestion, but queue up a peer test for + later. + * Don't try to do a netDb store to a shitlisted peer, and adjust the way + we monitor netDb store progress (to clear up the high netDb.storePeers + stat) + +2005-08-10 jrandom + * Deployed the peer testing implementation to be run every few minutes on + each router, as well as any time the user requests a test manually. The + tests do not reconfigure the ports at the moment, merely determine under + what conditions the local router is reachable. The status shown in the + top left will be "ERR-SymmetricNAT" if the user's IP and port show up + differently for different peers, "ERR-Reject" if the router cannot + receive unsolicited packets or the peer helping test could not find a + collaborator, "Unknown" if the test has not been run or the test + participants were unreachable, or "OK" if the router can receive + unsolicited connections and those connections use the same IP and port. + +* 2005-08-08 0.6.0.2 released + +2005-08-08 jrandom + * Add a configurable throttle to the number of concurrent outbound SSU + connection negotiations (via i2np.udp.maxConcurrentEstablish=4). This + may help those with slow connections to get integrated at the start. + * Further fixlets to the streaming lib + +2005-08-07 Complication + * Display the average clock skew for both SSU and TCP connections + +2005-08-07 jrandom + * Fixed the long standing streaming lib bug where we could lose the first + packet on retransmission. + * Avoid an NPE when a message expires on the SSU queue. + * Adjust the streaming lib's window growth factor with an additional + Vegas-esque congestion detection algorithm. + * Removed an unnecessary SSU session drop + * Reduced the MTU (until we get a working PMTU lib) + * Deferr tunnel acceptance until we know how to reach the next hop, + rejecting it if we can't find them in time. + * If our netDb store of our leaseSet fails, give it a few seconds before + republishing. + +* 2005-08-03 0.6.0.1 released + +2005-08-03 jrandom + * Backed out an inadvertant change to the netDb store redundancy factor. + * Verify tunnel participant caching. + * Logging cleanup + +2005-08-01 duck + * Update IzPack to 3.7.2 (build 2005.04.22). This fixes bug #82. + +2005-08-01 duck + * Fix an addressbook NPE when a new hostname from the master addressbook + didn't exist in the router addressbook. + * Fix an addressbook bug which caused subscriptions not to be parsed at + all. (Oops!) + +2005-07-31 jrandom + * Adjust the netDb search and store per peer timeouts to match the average + measured per peer success times, rather than huge fixed values. + * Optimized and reverified the netDb peer selection / retrieval process + within the kbuckets. + * Drop TCP connections that don't have any useful activity in 10 minutes. + * If i2np.udp.fixedPort=true, never change the externally published port, + even if we are autodetecting the IP address. + +* 2005-07-27 0.6 released + +2005-07-27 jrandom + * Enabled SSU as the default top priority transport, adjusting the + config.jsp page accordingly. + * Add verification fields to the SSU and TCP connection negotiation (not + compatible with previous builds) + * Enable the backwards incompatible tunnel crypto change as documented in + tunnel-alt.html (have each hop encrypt the received IV before using it, + then encrypt it again before sending it on) + * Disable the I2CP encryption, leaving in place the end to end garlic + encryption (another backwards incompatible change) + * Adjust the protocol versions on the TCP and SSU transports so that they + won't talk to older routers. + * Fix up the config stats handling again + * Fix a rare off-by-one in the SSU fragmentation + * Reduce some unnecessary netDb resending by inluding the peers queried + successfully in the store redundancy count. + +2005-07-22 jrandom + * Use the small thread pool for I2PTunnelHTTPServer (already used for + I2PTunnelServer) + * Minor memory churn reduction in I2CP + * Small stats update + +2005-07-21 jrandom + * Fix in the SDK for a bug which would manifest itself as misrouted + streaming packets when a destination has many concurrent streaming + connections (thanks duck!) + * No more "Graceful shutdown in -18140121441141s" + +2005-07-20 jrandom + * Allow the user to specify an external port # for SSU even if the external + host isn't specified (thanks duck!) + +2005-07-19 jrandom + * Further preparation for removing I2CP crypto + * Added some validation to the DH key agreement (thanks $anon) + * Validate tunnel data message expirations (though not really a problem, + since tunnels expire) + * Minor PRNG threading cleanup + +2005-07-15 cervantes + * Added workaround for an odd win32 bug in the stats configuration console + page which meant only the first checkbox selection was saved. + +2005-07-15 Romster + * Added per group selection toggles in the stats configuration console + page. + +2005-07-13 jrandom + * Fixed a recently injected bug in the multitransport bidding which had + allowed an essentially arbitrary choice of transports, rather than the + properly ordered choice. + +2005-07-13 jrandom + * Fixed a long standing bug where we weren't properly comparing session + tags but instead largely depending upon comparing their hashCode, + causing intermittent decryption errors. + +2005-07-12 jrandom + * Add some data duplication to avoid a recently injected concurrency + problem in the session tag manager (thanks redzara and romster). + +2005-07-11 jrandom + * Reduced the growth factor on the slow start and congestion avoidance for + the streaming lib. + * Adjusted some of the I2PTunnelServer threading to use a small pool of + handlers, rather than launching off new threads which then immediately + launch off an I2PTunnelRunner instance (which launches 3 more threads..) + * Don't persist session keys / session tags (not worth it, for now) + * Added some detection and handling code for duplicate session tags being + delivered (root cause still not addressed) + * Make the PRNG's buffer size configurable (via the config property + "i2p.prng.totalBufferSizeKB=4096") + * Disable SSU flooding by default (duh) + * Updates to the StreamSink apps for better throttling tests. + +2005-07-05 jrandom + * Use a buffered PRNG, pulling the PRNG data off a larger precalculated + buffer, rather than the underlying PRNG's (likely small) one, which in + turn reduces the frequency of recalcing. + * More tuning to reduce temporary allocation churn + +2005-07-04 jrandom + * Within the tunnel, use xor(IV, msg[0:16]) as the flag to detect dups, + rather than the IV by itself, preventing an attack that would let + colluding internal adversaries tag a message to determine that they are + in the same tunnel. Thanks dvorak for the catch! + * Drop long inactive profiles on startup and shutdown + * /configstats.jsp: web interface to pick what stats to log + * Deliver more session tags to account for wider window sizes + * Cache some intermediate values in our HMACSHA256 and BC's HMAC + * Track the client send rate (stream.sendBps and client.sendBpsRaw) + * UrlLauncher: adjust the browser selection order + * I2PAppContext: hooks for dummy HMACSHA256 and a weak PRNG + * StreamSinkClient: add support for sending an unlimited amount of data + * Migrate the tests out of the default build jars + +2005-06-22 Comwiz + * Migrate the core tests to junit + +2005-05-25 duck + * Fixed PRNG bug (bugzilla #107) + +2005-05-01 jrandom + * Added a substantial optimization to the AES engine by caching the + prepared session keys (duh). + +2005-05-01 jrandom + * Cleaned up the peers page a bit more. + +2005-04-30 jrandom + * Added a small new page to the web console (/peers.jsp) which contains + the peer connection information. This will be cleaned up a lot more + before 0.6 is out, but its a start. + +2005-04-30 jrandom + * Reduced some SimpleTimer churn + +2005-04-29 jrandom + * Reduce the peer profile stat coallesce overhead by inlining it with the + reorganize. + * Limit each transport to at most one address (any transport that requires + multiple entry points can include those alternatives in the address). + +2005-04-28 jrandom + * More fixes for the I2PTunnel "other" interface handling (thanks nelgin!) + * Add back the code to handle bids from multiple transports (though there + is still only one transport enabled by default) + * Adjust the router's queueing of outbound client messages when under + heavy load by running the preparatory job in the client's I2CP handler + thread, thereby blocking additional outbound messages when the router is + hosed. + * No need to validate or persist a netDb entry if we already have it + +2005-04-25 smeghead + * Added button to router console for manual update checks. + * Fixed bug in configupdate.jsp that caused the proxy port to be updated + every time the form was submitted even if it hadn't changed. + +2005-04-24 jrandom + * Added a pool of PRNGs using a different synchronization technique, + hopefully sufficient to work around IBM's PRNG bugs until we get our + own Fortuna. + * In the streaming lib, don't jack up the RTT on NACK, and have the window + size bound the not-yet-ready messages to the peer, not the unacked + message count (not sure yet whether this is worthwile). + * Many additions to the messageHistory log. + * Handle out of order tunnel fragment delivery (not an issue on the live + net with TCP, but critical with UDP). + +* 2005-04-20 0.5.0.7 released + +2005-04-20 jrandom + * In the SDK, we don't actually need to block when we're sending a message + as BestEffort (and these days, we're always sending BestEffort). + * Pass out client messages in fewer (larger) steps. + * Have the InNetMessagePool short circuit dispatch requests. + * Have the message validator take into account expiration to cut down on + false positives at high transfer rates. + * Allow configuration of the probabalistic window size growth rate in the + streaming lib's slow start and congestion avoidance phases, and default + them to a more conservative value (2), rather than the previous value + (1). + * Reduce the ack delay in the streaming lib to 500ms + * Honor choke requests in the streaming lib (only affects those getting + insanely high transfer rates) + * Let the user specify an interface besides 127.0.0.1 or 0.0.0.0 on the + I2PTunnel client page (thanks maestro^!) + +2005-04-17 sirup + * Added the possibility for i2ptunnel client and httpclient instances to + have their own i2p session (and hence, destination and tunnels). By + default, tunnels are shared, but that can be changed on the web + interface or with the sharedClient config option in i2ptunnel.config. + +2005-04-17 jrandom + * Marked the net.i2p.i2ptunnel.TunnelManager as deprecated. Anyone use + this? If not, I want to drop it (lots of tiny details with lots of + duplicated semantics). + +2005-04-17 zzz + * Added new user-editable eepproxy error page templates. + +2005-04-17 jrandom + * Revamp the tunnel building throttles, fixing a situation where the + rebuild may not recover, and defaulting it to unthrottled (users with + slow CPUs may want to set "router.tunnel.shouldThrottle=true" in their + advanced router config) + +2005-04-16 jrandom + * Migrated to Bouncycastle's SHA256 and HMAC implementations for efficiency + +2005-04-12 jrandom + * Make sure we don't get cached updates (thanks smeghead!) + * Clear out the callback for the TestJob after it passes (only affects the + job timing accounting) + +2005-04-08 smeghead + * Added NativeBigInteger benchmark to scripts/i2pbench.sh. + +2005-04-08 smeghead + * Security improvements to TrustedUpdate: signing and verification of the + version string along with the data payload for signed update files + (consequently the positions of the DSA signature and version string fields + have been swapped in the spec for the update file's header); router will + no longer perform a trusted update if the signed update's version is lower + than or equal to the currently running router's version. + * Added two new CLI commands to TrustedUpdate: showversion, verifyupdate. + * Extended TrustedUpdate public API for use by third party applications. + +* 2005-04-06 0.5.0.6 released + +2005-04-05 jrandom + * Retry I2PTunnel startup if we are unable to build a socketManager for a + client or httpclient tunnel. + * Add some basic sanity checking on the I2CP settings (thanks duck!) + +2005-04-05 jrandom + * After a successfull netDb search for a leaseSet, republish it to all of + the peers we have tried so far who did not give us the key (up to 10), + rather than the old K closest (which may include peers who had given us + the key) + * Don't wait 5 minutes to publish a leaseSet (duh!), and rather than + republish it every 5 minutes, republish it every 3. In addition, always + republish as soon as the leaseSet changes (duh^2). + * Minor fix for oddball startup race (thanks travis_bickle!) + * Minor AES update to allow in-place decryption. + +2005-04-03 jrandom + * EepGet fix for open-ended HTTP fetches (such as the news.xml + feeding the NewsFetcher) + +2005-04-01 jrandom + * Allow editing I2PTunnel server instances with five digit ports + (thanks nickless_head!) + * More NewsFetcher debugging for reported weirdness + +2005-04-01 jrandom + * Fix to check for missing news file (thanks smeghead!) + * Added destination display CLI: + java -cp lib/i2p.jar net.i2p.data.Destination privKeyFilename + * Added destination display to the web interface (thanks pnspns) + * Installed CIA backdoor + +* 2005-03-29 0.5.0.5 released + +2005-03-29 jrandom + * Decreased the initial RTT estimate to 10s to allow more retries. + * Increased the default netDb store replication factor from 2 to 6 to take + into consideration tunnel failures. + * Address some statistical anonymity attacks against the netDb that could + be mounted by an active internal adversary by only answering lookups for + leaseSets we received through an unsolicited store. + * Don't throttle lookup responses (we throttle enough elsewhere) + * Fix the NewsFetcher so that it doesn't incorrectly resume midway through + the file (thanks nickster!) + * Updated the I2PTunnel HTML (thanks postman!) + * Added support to the I2PTunnel pages for the URL parameter "passphrase", + which, if matched against the router.config "i2ptunnel.passphrase" value, + skips the nonce check. If the config prop doesn't exist or is blank, no + passphrase is accepted. + * Implemented HMAC-SHA256. + * Enable the tunnel batching with a 500ms delay by default + * Dropped compatability with 0.5.0.3 and earlier releases + +2005-03-26 jrandom + * Added some error handling and fairly safe to cache data to the streaming + lib (good call Tom!) + +2005-03-25 jrandom + * Fixed up building dependencies for the routerconsole on some more + aggressive compilers (thanks polecat!) + +* 2005-03-24 0.5.0.4 released + +2005-03-23 jrandom + * Added more intelligent version checking in news.xml, in case we have a + version newer than the one specified. + +2005-03-23 jrandom + * Added support for Transfer-Encoding: chunked to the EepGet, so that the + cvsweb.cgi doesn't puke on us. + +2005-03-23 Connelly + * Fixed Bugzilla Bug #99 in the SAM Bridge, which caused pending + stream send data to not be sent if STREAM CLOSE is issued too fast. + +2005-03-23 jrandom + * Implemented the news fetch / update policy code, as configurated on + /configupdate.jsp. Defaults are to grab the news every 24h (or if it + doesn't exist yet, on startup). No action is taken however, though if + the news.xml specifies that a new release is available, an option to + update will be shown on the router console. + * New initialNews.xml delivered with new installs, and moved news.xml out + of the i2pwww module and into the i2p module so that we can bundle it + within each update. + +2005-03-23 jrandom + * New /configupdate.jsp page for controlling the update / notification + process, as well as various minor related updates. Note that not all + options are exposed yet, and the update detection code isn't in place + in this commit - it currently says there is always an update available. + * New EepGet component for reliable downloading, with a CLI exposed in + java -cp lib/i2p.jar net.i2p.util.EepGet url + * Added a default signing key to the TrustedUpdate component to be used + for verifying updates. This signing key can be authenticated via + gpg --verify i2p/core/java/src/net/i2p/crypto/TrustedUpdate.java + * New public domain SHA1 implementation for the DSA code so that we can + handle signing streams of arbitrary size without excess memory usage + (thanks P.Verdy!) + * Added some helpers to the TrustedUpdate to work off streams and to offer + a minimal CLI: + TrustedUpdate keygen pubKeyFile privKeyFile + TrustedUpdate sign origFile signedFile privKeyFile + TrustedUpdate verify signedFile + +2005-03-22 smeghead + * New TrustedUpdate component for signing/verifying files with a DSA + signature. + +2005-03-21 jrandom + * Fixed the tunnel fragmentation handler to deal with multiple fragments + in a single message properly (rather than release the buffer into the + cache after processing the first one) (duh!) + * Added the batching preprocessor which will bundle together multiple + small messages inside a single tunnel message by delaying their delivery + up to .5s, or whenever the pending data will fill a full message, + whichever comes first. This is disabled at the moment, since without the + above bugfix widely deployed, lots and lots of messages would fail. + * Within each tunnel pool, stick with a randomly selected peer for up to + .5s before randomizing and selecting again, instead of randomizing the + pool each time a tunnel is needed. + +* 2005-03-18 0.5.0.3 released + +2005-03-18 jrandom + * Minor tweak to the timestamper to help reduce small skews + * Adjust the stats published to include only the relevent ones + * Only show the currently used speed calculation on the profile page + * Allow the full max # resends to be sent, rather than piggybacking the + RESET packet along side the final resend (duh) + * Add irc.postman.i2p to the default list of IRC servers for new installs + * Drop support for routers running 0.5 or 0.5.0.1 while maintaining + backwards compatability for users running 0.5.0.2. + +2005-03-18 jrandom + * Eepproxy Fix for corrupted HTTP headers (thanks nickster!) + * Fixed case sensitivity issues on the HTTP headers (thanks duck!) + +2005-03-17 jrandom + * Update the old speed calculator and associated profile data points to + use a non-tiered moving average of the tunnel test time, avoiding the + freshness issues of the old tiered speed stats. + * Explicitly synchronize all of the methods on the PRNG, rather than just + the feeder methods (sun and kaffe only need the feeder, but it seems ibm + needs all of them synchronized). + * Properly use the tunnel tests as part of the profile stats. + * Don't flood the jobqueue with sequential persist profile tasks, but + instead, inject a brief scheduling delay between them. + * Reduce the TCP connection establishment timeout to 20s (which is still + absurdly excessive) + * Reduced the max resend delay to 30s so we can get some resends in when + dealing with client apps that hang up early (e.g. wget) + * Added more alternative socketManager factories (good call aum!) + +2005-03-16 jrandom + * Adjust the old speed calculator to include end to end RTT data in its + estimates, and use that as the primary speed calculator again. + * Use the mean of the high capacity speeds to determine the fast + threshold, rather than the median. Perhaps we should use the mean of + all active non-failing peers? + * Updated the profile page to sort by tier, then alphabetically. + * Added some alternative socketManager factories (good call aum!) + +2005-03-14 jrandom + * New strict speed calculator that goes off the actual number of messages + verifiably sent through the peer by way of tunnels. Initially, this only + contains the successful message count on inbound tunnels, but may be + augmented later to include verified outbound messages, peers queried in + the netDb, etc. The speed calculation decays quickly, but should give + a better differential than the previous stat (both values are shown on + the /profiles.jsp page) + +2005-03-11 jrandom + * Rather than the fixed resend timeout floor (10s), use 10s+RTT as the + minimum (increased on resends as before, of course). + * Always prod the clock update listeners, even if just to tell them that + the time hasn't changed much. + * Added support for explicit peer selection for individual tunnel pools, + which will be useful in debugging but not recommended for use by normal + end users. + * More aggressively search for the next hop's routerInfo on tunnel join. + * Give messages received via inbound tunnels that are bound to remote + locations sufficient time (taking into account clock skew). + * Give alternate direct send messages sufficient time (10s min, not 5s) + * Always give the end to end data message the explicit timeout (though the + old default was sufficient before) + * No need to give end to end messages an insane expiration (+2m), as we + are already handling skew on the receiving side. + * Don't complain too loudly about expired TunnelCreateMessages (at least, + not until after all those 0.5 and 0.5.0.1 users upgrade ;) + * Properly keep the sendBps stat + * When running the router with router.keepHistory=true, log more data to + messageHistory.txt + * Logging updates + * Minor formatting updates + +2005-03-08 jrandom + * More aggressively adjust the clock + +2005-03-07 jrandom + * Fix the HTTP response header filter to allow multiple headers with the + same name (thanks duck and spotteri!) + +* 2005-03-06 0.5.0.2 released + +2005-03-06 jrandom + * Allow the I2PTunnel web interface to select streaming lib options for + individual client tunnels, rather than sharing them across all of them, + as we do with the session options. This way people can (and should) set + the irc proxy to interactive and the eepproxy to bulk. + * Added a startRouter.sh script to new installs which simply calls + "sh i2prouter start". This should make it clear how people should start + I2P. + * Properly expand the HTTP response header buffer (thanks shendaras!) + +2005-03-04 jrandom + * Filter HTTP response headers in the eepproxy, forcing Connection: close + so that broken (/malicious) webservers can't allow persistent + connections. All HTTP compliant browsers should now always close the + socket. + * Enabled the GZIPInputStream's cache (they weren't cached before) + * Make sure our first send is always a SYN (duh) + * Workaround for some buggy compilers + +2005-03-03 jrandom + * Loop while starting up the I2PTunnel instances, in case the I2CP + listener isn't up yet (thanks detonate!) + * Implement custom reusable GZIP streams to both reduce memory churn + and prevent the exposure of data in the standard GZIP header (creation + time, OS, etc). This is RFC1952 compliant, and backwards compatible, + though has only been tested within the confines of I2P's compression use + (DataHelper.[de]compress). + * Preemptively support the next protocol version, so that after the 0.5.0.2 + release, we'll be able to drop protocol=2 to get rid of 0.5 users. + +2005-03-02 jrandom + * Fix one substantial OOM cause (session tag manager was only dropping + tags once the critical limit was met, rather than honoring their + expiration) (duh) + * Lots of small memory fixes + * Double the allowable concurrent outstanding tunnel build tasks (20) + +2005-03-01 jrandom + * Really disable the streaming lib packet caching + * Synchronized a message handling point in the SDK (even though its use is + already essentially single threaded, its better to play it safe) + * Don't add new RepublishLeaseSetJobs on failure, just requeue up the + existing one (duh) + * Throttle the number of concurrent pending tunnel builds across all + pools, in addition to simply throttling the number of new requests per + minute for each pool individually. This should avoid the cascading + failure when tunnel builds take too long, as no new builds will be + created until the previous ones are handled. + * Factored out and extended the DataHelper's unit tests for dealing with + long and date formatting. + * Explicitly specify the HTTP auth realm as "i2prouter", though this + alone doesn't address the bug where jetty asks for authentication too + much. (thanks orion!) + * Updated the StreamSinkServer to ignore all read bytes, rather than write + them to the filesystem. + +2005-02-27 jrandom + * Don't rerequest leaseSets if there are already pending requests + * Reverted the insufficiently tested caching in the DSA/SHA1 impl, and + temporary disabled the streaming lib packet caching. + * Reduced the resend RTT penalty to 10s + +2005-02-26 jrandom + * Force 1.3-isms on the precompiled jsps too (thanks laberhost) + +2005-02-26 jrandom + * Further streaming lib caching improvements + * Reduce the minimum RTT (used to calculate retry timeouts), but also + increase the RTT on resends. + * Lower the default message size to 4KB from 16KB to further reduce the + chance of failed fragmentation. + * Extend tunnel rebuild throttling to include fallback rebuilds + * If there are less than 20 routers known, don't drop the last 20 (to help + avoid dropping all peers under catastrophic failures) + * New stats for end to end messages - "client.leaseSetFoundLocally", + "client.leaseSetFoundRemoteTime", and "client.leaseSetFailedRemoteTime" + +2005-02-24 jrandom + * Throttle the number of tunnel rebuilds per minute, preventing CPU + overload under catastrophic failures (thanks Tracker and cervantes!) + * Block the router startup process until we've initialized the clock + +2005-02-24 jrandom + * Cache temporary memory allocation in the DSA's SHA1 impl, and the packet + data in the streaming lib. + * Fixed a streaming lib bug where the connection initiator would fail the + stream if the ACK to their SYN was lost. + +2005-02-23 jrandom + * Now that we don't get stale SAM sessions, it'd be nice if we didn't + get stale tunnel pools, don't you think? + +* 2005-02-23 0.5.0.1 released + +2005-02-22 jrandom + * Reworked the tunnel (re)building process to remove the tokens and + provide cleaner controls on the tunnels built. + * Fixed situations where the timestamper wanted to test more servers than + were provided (thanks Tracker!) + * Get rid of the dead SAM sessions by using the streaming lib's callbacks + (thanks Tracker!) + +2005-02-22 jrandom + * Temporary workaround for the I2CP disconnect bug (have the streaminglib + try to automatically reconnect on accept()/connect(..)). + * Loop check for expired lease republishing (just in case) + +2005-02-22 jrandom + * Adjusted (and fixed...) the timestamper change detection + * Deal with a rare reordering bug at the beginning of a stream (so we + don't drop it unnecessarily) + * Cleaned up some dropped message handling in the router + * Reduced job queue churn when dealing with a large number of tunnels by + sharing an expiration job + * Keep a separate list of the most recent CRIT messages (shown on the + logs.jsp). This way they don't get buried among any other messages. + * For clarity, display the tunnel variance config as "Randomization" on + the web console. + * If lease republishing fails (boo! hiss!) try it again + * Actually fix the negative jobLag in the right place (this time) + * Allow reseeding when there are less than 10 known peer references + * Lots of logging updates. + +2005-02-20 jrandom + * Allow the streaming lib resend frequency to drop down to 20s as the + minimum, so that up to 2 retries can get sent on an http request. + * Add further limits to failsafe tunnels. + * Keep exploratory and client tunnel testing and building stats separate. + * Only use the 60s period for throttling tunnel requests due to transient + network overload. + * Rebuild tunnels earlier (1-3m before expiration, by default) + * Cache the next hop's routerInfo for participating tunnels so that the + tunnel participation doesn't depend on the netDb. + * Fixed a long standing bug in the streaming lib where we wouldn't always + unchoke messages when the window size grows. + * Make sure the window size never reaches 0 (duh) + +2005-02-20 jrandom + * Only build failsafe tunnels if we need them + * Properly implement the selectNotFailingPeers so that we get a random + selection of peers, rather than using the strictOrdering (thanks dm!) + * Don't include too many "don't tell me about" peer references in the + lookup message - only send the 10 peer references closest to the target. + +2005-02-19 jrandom + * Only build new extra tunnels on failure if we don't have enough + * Fix a fencepost in the tunnel building so that e.g. a variance of + 2 means +/- 2, not +/- 1 (thanks dm!) + * Avoid an NPE on client disconnect + * Never select a shitlisted peer to participate in a tunnel + * Have netDb store messages timeout after 10s, not the full 60s (duh) + * Keep session tags around for a little longer, just in case (grr) + * Cleaned up some closing event issues on the streaming lib + * Stop bundling the jetty 5.1.2 and updated wrapper.config in the update + so that 0.4.* users will need to do a clean install, but we don't need + to shove an additional 2MB in each update to those already on 0.5. + * Imported the susimail css (oops, thanks susi!) + +* 2005-02-18 0.5 released + +2005-02-17 jrandom + * If the clock is adjusted during a job run, don't act as if the job took + negative time. + +2005-02-17 jrandom + * Included the GPL'ed susimail 0.13 by default (thanks susi23!) + +2005-02-17 jrandom + * Fixed the braindead tunnel testing logic + * If a large number of tunnels are failing (within the last 5-10 minutes) + and the current tunnel pool's configuration allows it, randomly build a + zero hop tunnel to replace failed tunnels. + * Enable postman's POP3 and SMTP tunnels by default + +2005-02-16 jrandom + * Added some error handling when the number of session tags exceeds the + realistic capacity, dropping a random chunk of received tag sets and + conducting some minor analysis of the remaining ones. This is a part + of a pretty serious error condition, and logs as CRIT (if/when people + see "TOO MANY SESSION TAGS!", please let me know the full log line it + puts in the wrapper.log or /logs.jsp) + * Update the addressbook to only write to the published hosts location + if the addressbook's config contains "should_publish=true" (by default, + it contains "should_publish=false") + +2005-02-16 jrandom + * (Merged the 0.5-pre branch back into CVS HEAD) + * Replaced the old tunnel routing crypto with the one specified in + router/doc/tunnel-alt.html, including updates to the web console to view + and tweak it. + * Provide the means for routers to reject tunnel requests with a wider + range of responses: + probabalistic rejection, due to approaching overload + transient rejection, due to temporary overload + bandwidth rejection, due to persistent bandwidth overload + critical rejection, due to general router fault (or imminent shutdown) + The different responses are factored into the profiles accordingly. + * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc) + with a series of new properties, relevent to the new tunnel routing code: + inbound.nickname (used on the console) + inbound.quantity (# of tunnels to use in any leaseSets) + inbound.backupQuantity (# of tunnels to keep in the ready) + inbound.length (# of remote peers in the tunnel) + inbound.lengthVariance (if > 0, permute the length by adding a random # + up to the variance. if < 0, permute the length + by adding or subtracting a random # up to the + variance) + outbound.* (same as the inbound, except for the, uh, outbound tunnels + in that client's pool) + There are other options, and more will be added later, but the above are + the most relevent ones. + * Replaced Jetty 4.2.21 with Jetty 5.1.2 + * Compress all profile data on disk. + * Adjust the reseeding functionality to work even when the JVM's http proxy + is set. + * Enable a poor-man's interactive-flow in the streaming lib by choking the + max window size. + * Reduced the default streaming lib max message size to 16KB (though still + configurable by the user), also doubling the default maximum window + size. + * Replaced the RouterIdentity in a Lease with its SHA256 hash. + * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to + the first byte of the SHA256. + * Added a new "netId" flag to let routers drop references to other routers + who we won't be able to talk to. + * Extended the timestamper to get a second (or third) opinion whenever it + wants to actually adjust the clock offset. + * Replaced that kludge of a timestamp I2NP message with a full blown + DateMessage. + * Substantial memory optimizations within the router and the SDK to reduce + GC churn. Client apps and the streaming libs have not been tuned, + however. + * More bugfixes than you can shake a stick at. + +2005-02-13 jrandom + * Updated jbigi source to handle 64bit CPUs. The bundled jbigi.jar still + only contains 32bit versions, so build your own, placing libjbigi.so in + your install dir if necessary. (thanks mule!) + * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID + (thanks spaetz!) + +2005-02-10 smeghead + * Initial check-in of Pants, a new utility to help us manage our 3rd-party + dependencies (Fortuna, Jetty, Java Service Wrapper, etc.). Some parts of + Pants are still non-functional at this time so don't mess with it yet + unless you want to potentially mangle your working copy of CVS. + +2005-02-09 duck + * Allow an unneeded newline in the SAM client connection without + disconnecting. + +2005-02-07 jrandom + * Fixed a race in the streaming lib's delayed flush algorithm (thanks anon!) + +2005-02-06 Sugadude + * Added a filter to the addressbook to remove entries that dont end in ".i2p" + +2005-02-03 smeghead + * Added Ant buildfile in apps/fortuna for creating a custom Fortuna PRNG jar + library from GNU Crypto's CVS HEAD sources. + +2005-01-26 smeghead + * i2pProxy.pac, i2pbench.sh, and i2ptest.sh are now shipped with the dist + packages and installed to $i2pinstalldir/scripts. + * Added command line params to i2ptest.sh and i2pbench.sh: --gij to run them + using gij + libgcj, and --sourcedir to run them from the source tree + instead of the installation directory. + * Fixed unreachable for() statement clause in the KBucketImpl class that was + causing gcj to toss a compilation warning (jrandom++). + +2005-01-26 smeghead + * Added a couple of scripts, i2ptest.sh and i2pbench.sh, to manage the core + tests and benchmarks. + * Routerconsole now builds under gcj 3.4.3. + * Corrected divide by zero error in TunnelId class under gcj (jrandom++). + +2005-01-25 smeghead + * Tweaked some classes to enable gcj 3.4.3 to compile the router and + supporting apps (except for the routerconsole which is still being + investigated). + +2005-01-24 smeghead + * C#-ification of sam-sharp: interface greatly simplified using delegates + and events; SamBaseEventHandler provides basic implementation and helper + methods but is now optional. + * NAnt buildfile and README added for sam-sharp. + +2005-01-23 smeghead + * Port the java SAM client library to mono/C# and released into the + public domain. The 0.1 version of this port is available in CVS as + i2p/apps/sam/csharp/src/I2P.SAM.Client. The other nonfunctional C# + library has been removed. + +2005-01-21 Jhor + * Updated jbigi build scripts for OSX. + +2005-01-21 jrandom + * Added support for OSX to the NativeBigInteger code so that it will look + in the classpath for libjbigi-osx-none.jnilib. At the moment, that file + is not bundled with the shipped jbigi.jar yet though. + +2005-01-18 jrandom + * Increased the max # session tags maintained and decreased slightly the + period over which they are gathered. + +2005-01-17 jrandom + * Added meaningful support for adjusting the preferred message size in the + streaming lib by setting the i2p.streaming.maxMessageSize=32768 (or + whatever). The other side will mimic a reduction (but never an increase). + * Always make sure to use distinct ConnectionOption objects for each + connection (duh) + * Reduced the default ACK delay to 500ms on in the streaming lib + * Only shrink the streaming window once per window + * Don't bundle a new jetty.xml with updates + * Catch another local routerInfo corruption issue on startup. + +2005-01-15 cervantes + * Added support to the eepproxy for URLs such as + http://localhost:4444/eepproxy/foo.i2p/bar/baz or even + http://localhost:4444/eepproxy/foo.i2p/?i2paddresshelper=base64 + +2005-01-15 jrandom + * Caught a series of (previously unhandled) errors caused by requeueing + messages that had timed out on the TCP transport (thanks mae^!) + * Reduce the barrier to dropping session tags on streaming lib resends - + every fourth send should drop the tags, forcing ElGamal encryption. This + will help speed up the recovery after a disconnect, rather than the drop + every fifth send. + +* 2005-01-06 0.4.2.6 released + +2005-01-06 jrandom + * Added a startup message to the addressbook, printing its version number + to stdout (which is sent to wrapper.config) when it loads. + * Updated the addressbook to reread the config file periodically + * Added orion.i2p to the list of eepsites on the default homepage + +2005-01-05 jrandom + * Handle unexpected network read errors more carefully (thanks parg!) + * Added more methods to partially compare (DataHelper) and display + arrays (Base64.encode). + * Exposed the AES encryptBlock/decryptBlock on the context.aes() + * Be more generous on the throttle when just starting up the router + * Fix a missing scheduled event in the streaming lib (caused after reset) + * Add a new DisconnectListener on the I2PSocketManager to allow + notification of session destruction. + * Make sure our own router identity is valid, and if it isn't, build a new + one and restart the router. Alternately, you can run the Router with + the single command line argument "rebuild" and it will do the same. + +2004-12-31 ragnarok + * Integrated latest addressbook changes (2.0.3) which include support for + deploying as a .war file with no existing addressbook configuration. + * Updated main build process to bundle the addressbook.war in the + i2pinstall.jar and i2pupdate.zip. + +2004-12-31 jrandom + * Speling fxi (thanks digum!) + * Bugfix for the I2PTunnel web interface so that it now properly launches + newly added tunnels that are defined to be run on startup (thanks ugha!) + +2004-12-30 jrandom + * Revised the I2PTunnel client and httpclient connection establishment + throttles. There is now a pool of threads that build the I2PSocket + connections with a default size of 5, configurable via the I2PTunnel + client option 'i2ptunnel.numConnectionBuilders' (if set to 0, it will + not throttle the number of concurrent builders, but will launch a thread + per socket during establishment). In addition, sockets accepted but + not yet allocated to one of the connection builders will be destroyed + after 30 seconds, configurable via 'i2ptunnel.maxWaitTime' (if set to + 0, it will wait indefinitely). + +2004-12-29 jrandom + * Imported Ragnarok's addressbook source (2.0.2) which is built but not + deployed in the i2pinstall.jar/i2pupdate.zip (yet). + * Don't treat connection inactivity closure as a connection error. + +2004-12-29 jrandom + * Add in a new keepalive event on each TCP connection, proactively sending + a (tiny) time message every minute or two, as well as killing the + connection if no message has been fully sent within 5 minutes or so. + This should help deal with hung connections from IP address changes. + +2004-12-28 jrandom + * Cleaned up the resending and choking algorithm in the streaming lib. + * Removed the read timeout override for I2PTunnel's httpclient, allowing + it to use the default for the streaming lib. + * Revised ack triggers in the streaming lib. + * Logging. + +* 2004-12-21 0.4.2.5 released + +2004-12-21 jrandom + * Track a new stat for expired client leases (client.leaseSetExpired). + +2004-12-21 jrandom + * Cleaned up the postinstall/startup scripts a bit more to handle winME, + and added windows info to the headless docs. (thanks ardvark!) + * Fixed a harmless (yet NPE inspiring) race during the final shutdown of + a stream (thanks frosk!) + * Add a pair of new stats for monitoring tunnel participation - + tunnel.participatingBytesProcessed (total # bytes transferred) and + tunnel.participatingBytesProcessedActive (total # bytes transferred for + tunnels whose byte count exceed the 10m average). This should help + further monitor congestion issues. + * Made the NamingService factory property public (thanks susi!) + +2004-12-20 jrandom + * No longer do a blocking DNS lookup within the jobqueue (thanks mule!) + * Set a 60s dns cache TTL, instead of 0s. Most users who used to use + dyndns/etc now just use IP autodetection, so the old "we need ttl=0" + reasoning is gone. + +2004-12-19 jrandom + * Fix for a race on startup wrt the new stats (thanks susi!) + +2004-12-19 jrandom + * Added three new stats - router.activePeers, router.fastPeers, and + router.highCapacityPeers, updated every minute + +2004-12-19 jrandom + * Added a new i2ptunnel type: 'httpserver', allowing you to specify what + hostname should be sent to the webserver. By default, new installs will + have an httpserver pointing at their jetty instance with the spoofed + name 'mysite.i2p' (editable on the /i2ptunnel/edit.jsp page). + +2004-12-19 scintilla + * Convert native jcpuid code from C++ to C. This should alleviate build + problems experienced by some users. + +* 2004-12-18 0.4.2.4 released + +2004-12-16 jrandom + * Catch another oddball case for a reset connection in the streaming lib. + * Add a dumpprofile.jsp page, called with ?peer=base64OfPeerHash, which + dumps the current state of that peer's profile. Instead of the full + base64, you can pass in however many characters you have and it will + return the first match found. + +2004-12-16 jrandom + * Remove the randomized factor in the tunnel rejection by bandwidth - + we now accept the request if we've allocated less than our limit + and reject it if we've allocated more. + * Stick to the standard capacity scale on tunnel rejection, even for + the 10m period. + * Build the time message at the very last possible moment + +2004-12-15 jrandom + * Handle hard disconnects more gracefully within the streaming lib, and + log unmonitored events more aggressively. + * If we drop a peer after connection due to clock skew, log it to the + /logs.jsp#connectionlogs with relevent info. In addition, toss it in + the stat 'tcp.disconnectAfterSkew'. + * Fixed the formatting in the skew display + * Added an ERROR message that is fired once after we run out of + routerInfo files (thanks susi!) + * Set the connect timeout equal to the streaming lib's disconnect timeout + if not already specified (the I2PTunnel httpclient already enforces a + 60s connect timeout) + * Fix for another connection startup problem in the streaming lib. + * Fix for a stupid error in the probabalistic drop (rand <= P, not > P) + * Adjust the capacity calculations so that tunnel failures alone in the + last 10m will not trigger a 0 capacity rank. + +2004-12-14 jrandom + * Periodically send a message along all I2NP connections with the router's + current time, allowing the receiving peer to determine that the clock + has skewed too much, and hence, disconnect. For backwards compatability + reasons, this is being kludged into a DeliveryStatusMessage (ewww). The + next time we have a backwards compatability break, we can put in a proper + message setup for it. + +2004-12-14 jrandom + * Reenable the probabalistic drop on the TCP queues to deal with good old + fashioned bandwidth limiting. However, by default the probability is + rigged to reserve 0% of the queue free - meaning we just aggressively + fail messages in the queue if we're transferring too slowly. That + reservation factor can be increased with 'tcp.queueFreeFactor=0.25' + (or whatever) and the drop code can be disabled with the parameter + 'tcp.dropProbabalistically=false'. + * Still penalize a peer on tunnel failure, but don't immediately drop + their capacity to 0. + * More aggressively ACK duplicates + * Randomize the timestamper period + * Display the clock skew on the connection logs when a peer sends it. + * Allow the timestamper to fix skews of up to 10 minutes + * Logging + +2004-12-13 jrandom + * Added some error checking on the new client send job (thanks duck!) + * Implemented tunnel rejection based on bandwidth usage (rejecting tunnels + proportional to the bytes allocated in existing tunnels vs the bytes + allowed through the bandwidth limiter). + * Enable a new configuration parameter for triggering a tunnel rebuild + (tunnel.maxTunnelFailures), where that is the max allowed test failures + before killing the tunnel (default 0). + * Gather more data that we rank capacity by (now we monitor and balance the + data from 10m/30m/60m/1d instead of just 10m/60m/1d). + * Fix a truncation/type conversion problem on the long term capacity + values (we were ignoring the daily stats outright) + +2004-12-11 jrandom + * Fix the missing HTTP timeout, which was caused by the deferred syn used + by default. This, in turn, meant the I2PSocket creation doesn't fail + on .connect, but is unable to transfer any data in any direction. We now + detect that condition for the I2PTunnelHTTPClient and throw up the right + error page. + * Logging + +2004-12-11 jrandom + * Use a simpler and less memory intensive job for processing outbound + client messages when the session is in mode=bestEffort. We can + immediately discard the data as soon as its sent the first time, + rather than wait for an ack, since we will never internally resend. + * Reduce some synchronization to avoid a rare deadlock + * Replaced 'localhost' with 127.0.0.1 in the i2ptunnel config, and special + case it within the tunnel controller. + * Script cleanup for building jbigi/jcpuid + * Logging + +* 2004-12-08 0.4.2.3 released + +2004-12-08 jrandom + * Revised the buffering when reading from the SAM client and writing + to the stream. Also added a thread (sigh) so we don't block the + SAM client from giving us more messages for abnormally long periods + of time. + * Display the router version in the logs on startup (oft requested) + * Fix a race during the closing of a messageOutputStream + +2004-12-06 jrandom + * Don't do a 'passive flush' while there are already outbound messages + unacked. + * Show the reseed link if up to 10 peers profiles are active (thanks + dburton!) + +2004-12-06 jrandom + * Don't propogate streaming connection failures out to the SAM bridge as + fatal errors. + * Dont barf on repeated I2CP closure. + +2004-12-05 jrandom + * Explicitly use "127.0.0.1" to bind the I2CP listener, not the JVM's + getLocalhost call + +2004-12-05 jrandom + * Default the I2CP listener to localhost only, unless overridden by + i2cp.tcp.bindAllInterfaces=true (thanks dm!) + * More SAM fixes for things recently broken (whee) + +2004-12-05 jrandom + * Fix the recently broken SAM bridge (duh) + * Add a new pair of SAM apps - net.i2p.sam.client.SAMStreamSink and + net.i2p.sam.client.SAMStreamSend, mirroring the streaming lib's + StreamSink and StreamSend apps for transferring files. + * Make the passive flush timer fire more frequently. + +2004-12-05 jrandom + * Fixed some links in the console (thanks ugha!) and the javadoc + (thanks dinoman!) + * Fix the stream's passive flush timer (oh, its supposed to work?) + +2004-12-03 jrandom + * Toss in a small pool of threads (3) to execute the events queued up with + the SimpleTimer, as we do currently see the occational event + notification spiking up to a second or so. + * Implement a SAM client API in java, useful for event based streaming (or + for testing the SAM bridge) + * Added support to shut down the SAM bridge on OOM (useful if the SAM + bridge is being run outside of the router). + * Include the SAM test code in the sam.jar + * Remove an irrelevent warning message from SAM, which was caused by + perfectly normal operation due to a session being closed. + * Removed some unnecessary synchronization in the streaming lib's + PacketQueue + * More quickly clean up the memory used by the streaming lib by + immediately killing each packet's resend job as soon as it is ACKed (or + cancelled), so that there are no longer any valid pointers to the + (potentially 32KB) packet. + * Fixed the timestamps dumped to stdout when debugging the PacketHandler. + * Drop packets that would expand our inbound window beyond our maximum + buffer size (default 32 messages) + * Always read the ACK/NACK data from the verified packets received, even + if we are going to drop them + * Always adjust the window when there are messages ACKed, though do not + change its size except as before. + * Streamlined some synchronization in the router's I2CP handling + * Streamlined some memory allocation in the SAM bridge + * Default the streaming lib to disconnect on inactivity, rather than send + an empty message. + +2004-12-01 jrandom + * Fix for a race in the streaming lib as caused by some odd SAM activity + +* 2004-12-01 0.4.2.2 released + +2004-12-01 jrandom + * Fixed a stupid typo that inadvertantly allowed persistent HTTP + connections to work (thanks duck!) + * Make sure we override the inactivity timeout too + +* 2004-12-01 0.4.2.1 released + +2004-12-01 jrandom + * Strip out any of the Accept-* HTTP header lines, and always make sure to + include the forged User-agent header. + * Adjust the default read timeout on the eepproxy to 60s, unless + overridden. + * Minor tweak on stream shutdown. + +2004-11-30 jrandom + * Render the burst rate fields on /config.jsp properly (thanks ugha!) + * Build in a simple timeout to flush data queued into the I2PSocket but + not yet flushed. + * Don't explicitly flush after each SAM stream write, but leave it up to + the [nonblocking] passive flush. + * Don't whine about 10-99 connection events occurring in a second + * Don't wait for completion of packets that will not be ACKed (duh) + * Adjust the congestion window, even if the packet was resent (duh) + * Make sure to wake up any blocking read()'s when the MessageInputStream + is close()ed (duh) + * Never wait more than the disconnect timeout for a write to complete + +2004-11-29 jrandom + * Minor fixes to avoid unnecessary errors on shutdown (thanks susi!) + +2004-11-29 jrandom + * Reduced contention for local client delivery + * Drop the new code that munges the wrapper.config. Instead, updates that + need to change it will include their own wrapper.config in the + i2pupdate.zip, overwriting the existing file. If the file + "wrapper.config.updated" is included, it is deleted at first opportunity + and the router shut down, displaying a notice that the router must be + started again cleanly to allow the changes to the wrapper.config to take + effect. + * Properly stop accept()ing I2PSocket connections if we close down the + session (duh). + * Make sure we cancel any outstanding Packets in flight when a connection + is terminated (thanks susi!) + * Split up the I2PTunnel closing a little further. + +2004-11-28 jrandom + * Accept IP address detection changes with a 2-out-of-3 minimum. + * As long as the router is up, keep retrying to bind the I2CP listener. + * Decrease the java service wrapper ping frequency to once every 10 + minutes, rather than once every 5 seconds. + +2004-11-27 jrandom + * Some cleanup and bugfixes for the IP address detection code where we + only consider connections that have actually sent and received messages + recently as active, rather than the mere presence of a TCP socket as + activity. + +2004-11-27 jrandom + * Removed the I2PTunnel inactivity timeout thread, since the new streaming + lib can do that (without an additional per-connection thread). + * Close the I2PTunnel forwarder threads more aggressively + +2004-11-27 jrandom + * Fix for a fast loop caused by a race in the new streaming library (thanks + DrWoo, frontier, pwk_, and thetower!) + * Minor updates to the SimpleTimer and Connection to help track down a + high CPU usage problem (dumping debug info to stdout/wrapper.log if too + many events/tasks fire in a second) + * Minor fixes for races on client disconnects (causing NPEs) + +* 2004-11-26 0.4.2 released + +2004-11-26 jrandom + * Enable the new streaming lib as the default. That means, for any + substantial definition, it is NOT BACKWARDS COMPATIBLE. + +2004-11-25 jrandom + * Revised the installer to include start menu and desktop shortcuts for + windows platforms, including pretty icons (thanks DrWoo!) + * Allow clients specified in clients.config to have an explicit startup + delay. + * Update the default install to launch a browser pointing at the console + whenever I2P starts up, rather than only the first time it starts up + (configurable on /configservice.jsp, or in clients.config) + * Bugfix to the clock skew checking code to monitor the delta between + offsets, not the offset itself (duh) + * Router console html update + * New (and uuuuugly) code to verify that the wrapper.config contains + the necessary classpath entries on update. If it has to update the + wrapper.config, it will stop the JVM and service completely, since the + java service wrapper doesn't reread the wrapper.config on JVM restart - + requiring the user to manually restart the service after an update. + * Increase the TCP connection timeout to 30s (which is obscenely long) + +2004-11-22 jrandom + * Update to the SAM bridge to reduce some unnecessary memory allocation. + * New stat to keep track of slow jobs (ones that take more than a second + to excute). This is published in the netDb as jobQueue.jobRunSlow + +2004-11-21 jrandom + * Update the I2PTunnel web interface to include an option for the new + streaming lib (which is ignored until the 0.4.2 release). + * Revised the I2PTunnel web interface to keep the I2CP options of client + and httpclient tunnels in sync, as they all share the same I2CP session. + +2004-11-21 jrandom + * Only allow small clock skews after the first 10 minutes of operation + (to prevent later network lag bouncing us way off course - yes, we + really need an NTP impl to balance out the network burps...) + * Revamp the I2PTunnel web interface startup process so that everything + is shown immediately, so that different pieces hanging don't hang + the rest, and other minor bugfixes. + * Take note of SAM startup error (in case you're already running a SAM + bridge...) + * Increase the bandwidth limiter burst values available to 10-60s (or + whatever is placed in /configadvanced.jsp, of course) + +2004-11-21 jrandom + * Allow end of line comments in the hosts.txt and other config files, + using '#' to begin the comments (thanks susi!) + * Add support to I2PTunnel's 'client' feature for picking between multiple + target destinations (e.g. 'client 6668 irc.duck.i2p,irc.baffled.i2p') + * Add a quick link on the left hand nav to reseed if there aren't enough + known peers, as well as link to the config page if there are no active + peers. Revised config page accordingly. + +2004-11-21 jrandom + * Destroy ElGamal/AES+SessionTag keys after 15 minutes of inactivity + rather that every 15 minutes, and increase the warning period in which + we refresh tags from 30s to 2 minutes. + * Bugfix for a rare problem closing an I2PTunnel stream where we'd fail + to close the I2PSocket (leaving it to timeout). + +2004-11-19 jrandom + * Off-by-one fix to the tunnel pool management code, along side some + explicit initialization. This can affect clients whose lengths are + shorter than the router's default (thanks duck!) + +2004-11-17 jrandom + * Fix to propogate i2psocket options into the SAM bridge correctly (thanks + Ragnarok!) + +2004-11-17 jrandom + * Minor logging update. + +2004-11-16 jrandom + * Clean up the propogation of i2psocket options so that various streaming + libs can honor them more precisely + +2004-11-16 jrandom + * Minor logging update + +2004-11-14 jrandom + * Fix a long standing leak in I2PTunnel (hanging on to i2psocket objects) + * Fix a leak injected into the SimpleTimer + * Fix a race condition in the tunnel message handling + +2004-11-13 jrandom + * Added throttles on how many I2PTunnel client connections we open at once + * Replaced some buffered streams in I2PTunnel with unbuffered streams, as + the streaming library used should take care of any buffering. + * Added a cache for some objects used in I2PTunnel, especially useful when + there are many short lived connections. + * Trimmed the SimpleTimer's processing a bit + +2004-11-10 jrandom + * Allow loading the (mini)streaming connection options from the + environment. + * More defensive programming in the DSA implementation. + +2004-11-08 jrandom + * Remove spurious flush calls from I2PTunnel, and work with the + I2PSocket's output stream directly (as the various implementations + do their own buffering). + * Another pass at a long standing JobQueue bug - dramatically simplify + the job management synchronization since we dont need to deal with + high contention (unlike last year when we had dozens of queue runners + going at once). + * Logging + +2004-11-08 jrandom + * Make the SAM bridge more resiliant to bad handshakes (thanks duck!) + +* 2004-11-06 0.4.1.4 released + +2004-11-06 jrandom + * Expose a drop down on the /configclients.jsp to enter the outbound + tunnel depth. + * Improved *hosts.txt loading + * Explicitly override the JVM's timezone settings to use GMT so that + any client applications which use timezones won't leak sensitive + data (thanks gott!) + * Bundle sam.jar in the update (thanks duck!) + +2004-11-06 jrandom + * Fix for a long standing synchronization bug in the SDK that in rare + instances can add a few seconds of lag. + +2004-11-05 jrandom + * Bugfixes and unit tests for the SAM bridge to handle quoted message + parameters, verify proper operation after multiple session lifetimes, + as well as some synchronization problems. + * New properties method on the DataHelper class. + * Address a race on fast disconnecting clients + +2004-11-02 jrandom + * Fix for a long standing synchronization bug in the JobQueue (and added + some kooky flags to make sure it stays dead) + * Update the ministreaming lib to force mode=guaranteed if the default + lib is used, and mode=best_effort for all other libs. + +2004-11-02 jrandom + * Fixed up the configuration overrides for the streaming socket lib + integration so that it properly honors env settings. + * More memory usage streamlining (last major revamp for now, i promise) + +2004-11-01 jrandom + * Increase the tunnel test timeout rapidly if our tunnels are failing. + * Honor message expirations for some tunnel jobs that were prematurely + expired. + * Streamline memory usage with temporary object caches and more efficient + serialization for SHA256 calculation, logging, and both I2CP and I2NP + message handling. + * Fix some situations where we forward messages too eagerly. For a + request at the tunnel endpoint, if the tunnel is inbound and the target + is remote, honor the message by tunnel routing the data rather than + sending it directly to the requested location. + +2004-10-30 jrandom + * Cache the temporary objects used in the AES encryption/decryption + process so that AES doesn't require any memory allocation to process + data. + * Dramatically reduce memory usage within various crypto implementations + by avoiding unnecessary (though simplifying) buffers. + * If we specify some tags to be sent in an I2CP message explicitly, use + only those, not those plus a new set (otherwise we aren't sure on ACK + which set was delivered) + * Allow configuration for the partial send timeout (how long before + resending a message down a different tunnel in a lease). This can be + updated with the "router.clientPartialSendTimeout" router config prop. + * Logging + +2004-10-29 jrandom + * Strip the Referer, Via, and From headers completely, rather than + inserting a bogus value ("i2p"). This should help with the use of + SnipSnap and Geeklog (thanks nickster and DrWoo!) + +2004-10-27 jrandom + * Fix a strange race condition on i2cp client disconnect. + * win98 startup fixes (thanks tester-1 and ardvark!) + * include build scripts for the new streaming lib (which is NOT ready + for use yet, but you can hack around with it) + +2004-10-24 jrandom + * Allow explicit inclusion of session tags in the SDK, enabling the + resending of tags bundled with messages that would not otherwise + be ACKed. + * Don't force mode=guaranteed for end to end delivery - if mode=bestEffort + no DeliveryStatusMessage will be bundled (and as such, client apps using + it will need to do their own session tag ack/nack). + * Handle client errors when notifying them of message availability. + * New StreamSinkSend which sends a file to a destination and disconnects. + * Update the I2PSocketManagerFactory to build the specific + I2PSocketManager instance based on the "i2p.streaming.manager" property, + containing the class name of the I2PSocketManager to instantiate. + +2004-10-23 jrandom + * Minor ministreaming lib refactoring to simplify integration of the full + streaming lib. + * Minor bugfixes to data structure serialization. + +* 2004-10-18 0.4.1.3 released + +2004-10-18 jrandom + * Allow sending messages with a section of a byte array. + * Reduced stats published. + +2004-10-17 jrandom + * Don't b0rk on whitespace in the router address. + +2004-10-16 jrandom + * More aggressively reduce the capacity of peers if their tunnels are + failing so that we move off them quicker. + * Simplify some data structure serialization for reuse in the streaming + lib, as well as add support for signing and verifying partial byte + arrays. + * Logging updates + +2004-10-16 jrandom + * Increased the default minimum tunnel test time to 5 seconds, since we + still see the occational message processing time spike to 2 seconds. + * Update the SimpleTimer to allow rescheduling a task thats already + queued (useful for the new streaming lib). + +2004-10-15 jrandom + * Replaced old minimum tunnel test timeout of 1s with a configurable + value (router.config property "router.tunnelTestMinimum", with the + default of 2s). + +2004-10-14 jrandom + * Tunnel rejection is no longer a sign of an overwhelmingly loaded + peer, so don't use it as a key point of the IsFailing calculator. + We still use it as a key point of the Capacity calculator, however. + +2004-10-14 jrandom + * Allow for a configurable tunnel "growth factor", rather than trying + to achieve a steady state. This will let us grow gradually when + the router is needed more, rather than blindly accepting the request + or arbitrarily choking it at an averaged value. Configure this with + "router.tunnelGrowthFactor" in the router.config (default "1.5"). + * Adjust the tunnel test timeouts dynamically - rather than the old + flat 30s (!!!) timeout, we set the timeout to 2x the average tunnel + test time (the deviation factor can be adjusted by setting + "router.tunnelTestDeviation" to "3.0" or whatever). This should help + find the 'good' tunnels. + * Added some crazy debugging to try and track down an intermittent hang. + +2004-10-13 jrandom + * Fix the probabalistic tunnel reject (we always accepted everything, + since the docs on java.util.Random.nextDouble() are wrong..) + * Fixed a race on startup (thanks Quadn!) + +2004-10-12 jrandom + * Disable the probabalistic drop by default (enable via the router config + property "tcp.dropProbabalistically=true") + * Disable the actual watchdog shutdown by default, but keep track of more + variables and log a lot more when it occurs (enable via the router + config property "watchdog.haltOnHang=true") + * Implement some tunnel participation smoothing by refusing requests + probabalistically as our participating tunnel count exceeds the previous + hour's, or when the 10 minute average tunnel test time exceeds the 60 + minute average tunnel test time. The probabilities in both cases are + oldAverage / #current, so if you're suddenly flooded with 200 tunnels + and you had previously only participated in 50, you'll have a 25% chance + of accepting a subsequent request. + +* 2004-10-10 0.4.1.2 released + +2004-10-10 cervantes + * Update the I2PTunnel HTTP proxy to strip out the i2paddresshelper from + the request. + +2004-10-09 jrandom + * Added a watchdog timer to do some baseline liveliness checking to help + debug some odd errors. + * Added a pair of summary stats for bandwidth usage, allowing easy export + with the other stats ("bw.sendBps" and "bw.receiveBps") + * Trimmed another memory allocation on message reception. + +2004-10-08 jrandom + * Revamp the AESInputStream so it doesn't allocate any temporary objects + during its operation. + +2004-10-08 jrandom + * Don't kill the establisher threads during a soft restart. + * Attempt to validate the peer's routerInfo earlier during handshaking. + * Revamp the AESOutputStream so it doesn't allocate any temporary objects + during its operation. + +2004-10-07 jrandom + * Reimplement the I2NP reading with less temporary memory allocation. + There is still significant GC churn, especially under load, but this + should help. + * Catch some oddball errors in the transport (message timeout while + establishing). + +2004-10-07 jrandom + * Expire queued messages even when the writer is blocked. + * Reimplement most of the I2NP writing with less temporary memory + allocations (I2NP reading still gobbles memory). + +2004-10-06 jrandom + * Implement an active queue management scheme on the TCP transports, + dropping messages probabalistically as the queue fills up. The + estimated queue capacity is determined by the rate at which messages + have been sent to the peer (averaged at 1, 5, and 60m periods). As + we exceed 1/2 of the estimated capacity, we drop messages throughout + the queue probabalistically with regards to their size. This is based + on RFC 2309's RED, with the minimum threshold set to 1/2 the + estimated connection capacity. We may want to consider using a send + rate and queue size measured across all connections, to deal with our + own local bandwidth saturation, but we'll try the per-con metrics first. + +2004-10-06 jrandom + * Enable explicit disabling of the systray entirely for windows machines + with strange configurations: add -Dsystray.disable=true to the java + command line. (thanks mihi!) + +2004-10-05 jrandom + * Allow peers on the same LAN to communicate with each other safely even + when they cannot talk to each other through the external address. + +2004-10-05 jrandom + * Display how much time is left before the graceful shutdown is complete. + * Debug some improperly failed messages on timeout or disconnection. + +2004-10-05 jrandom + * Don't go into a fast busy if an I2PTunnel 'server' is explicitly killed + (thanks mule!) + * Handle some more error conditions regarding abruptly closing sockets + (thanks Jonva!) + +2004-10-04 jrandom + * Update the shitlist to reject a peer for an exponentially increasing + period of time (with an upper bounds of an hour). + * Various minor stat and debugging fixes + +2004-10-03 jrandom + * Add a new stat logging component to optionally dump the raw stats to + disk as they are generated, rather than rely upon the summarized data. + By default, this is off, but the router property "stat.logFilters" can + be set to a comma delimited list of stats (e.g. "client.sendAckTime") + which will be written to the file "stats.log" (or whatever the property + "stat.logFile" is set to). This can also log profile related stats, + such as "dbResponseTime" or "tunnelTestResponseTime". + +2004-10-02 jrandom + * Assure that we quickly fail messages bound for shitlisted peers. + * Address a race on startup where the first peer contacted could hang the + router (thanks Romster!) + * Only whine about an intermittent inability to query the time server once + +2004-10-02 jrandom + * Command line utility to verify a peer's reachability - simply run + net.i2p.router.transport.tcp.ConnectionHandler hostname port# and it + will print out whether that peer is reachable or not (using a simple + verification handshake). + +* 2004-10-01 0.4.1.1 released + +2004-10-01 jrandom + * Handle partial reseeds, caused by seeds going away before the download + completes (thanks Sugadude!) + +2004-10-01 jrandom + * Explicitly refuse IPv6 addresses, since only some peers support + them and we want fully reachable peers. + +2004-10-01 jrandom + * Additional error handling for a variety of transport layer errors. + +* 2004-09-30 0.4.1 released (not backwards compatible) + +2004-09-30 jrandom + * Bundle the configuration necessary to run an eepsite out of the box + with Jetty - simply edit ./eepsite/docroot/index.html and give people + the key listed on the I2PTunnel configuration page, and its up. + * Router console cleanup, and some (off by default) tunnels - + smtp.postman.i2p (port 7659), pop.postman.i2p (port 7660), and + irc.baffled.i2p (port 7661) + +2004-09-29 jrandom + * Always wipe the Jetty work directory on startup, so that web updates + are reflected immediately (Jetty does not honor the cache across + multiple executions) + +2004-09-27 jrandom + * Limit the number of connection tags saved to 10,000. This is a huge + limit, but consumes no more than 1MB of RAM. For now, we drop them + randomly after reaching that size, forcing those dropped peers to use + a full DH negotiation. + * HTML cleanup in the console. + +2004-09-26 jrandom + * Complete rewrite of the TCP transport with IP autodetection and + low CPU overhead reconnections. More concise connectivity errors + are listed on the /oldconsole.jsp as well. The IP autodetection works + by listening to the first person who tells you what your IP address is + when you have not defined one yourself and you have no other TCP + connections. + * Update to the I2NP message format to add transparent verification at + the I2NP level (beyond standard TCP verification). + * Remove a potential weakness in our AESEngine's safeEncrypt and safeDecrypt + implementation (rather than verifying with E(H(key)), we now verify with + E(H(iv))). + * The above changes are NOT BACKWARDS COMPATIBLE. + * Removed all of the old unused PHTTP code. + * Refactor various methods and clean up some javadoc. + +2004-09-21 jrandom + * Have two tiers of hosts.txt files - the standard "hosts.txt" and + the new "userhosts.txt". Updates to I2P will only overwrite the former, + but values stored in the later take precedence. Both are queried on + lookup. + +2004-09-16 jrandom + * Refactor the TCP transport to deal with changing identities gracefully, + and to prevent some wasted effort by keeping track of what host+port + combinations we are connected to (rather than just the identities). Also + catch a few configuration errors earlier. + * Removed no longer relevent methods from the Transport API that were + exposing ideas that probably shouldn't be exposed. + * Removed the 0.4.0.1 specific files from i2pupdate.zip (relating to script + updates) + +2004-09-13 jrandom + * Update for the SDK reconnection to deal with overflow. + * Web improvements (@ not # on the /logs.jsp [thanks ugha!] and fixed the + rounding on lifetime bandwidth used [thanks gott!]). + +* 2004-09-08 0.4.0.1 released + +2004-09-08 jrandom + * Updated the "Active:" peer count to display the # of connections as well + as the number of recently active router identities. + * Implement some basic updating code - on startup, if there is a file named + "i2pupdate.zip" in the I2P installation directory, extract it, delete it, + then restart. + * Added an ugly little script to allow launching the router on win9x + machines without a dos box (using javaw to run a .bat file). + * Logging updates. + * Updated VERSION constants to 0.4.0.1 + +2004-09-08 hypercubus + * Bugfix: Running the installer as a non-privileged user on Red Hat (and + hopefully any other affected *nix systems) now properly discards non- + essential directories after installation. + * Support for Win9x in the installer and postinstall.bat. + * Changed the name of the default installation directory on all platforms + from "I2P" to "i2p" in the installer. + * Changed "wrapper.conf" to "wrapper.config" for naming consistency with the + other configuration files. + +2004-09-07 cervantes: + * Proxy recursion disabled by default (strict) + * Password Authentication for session commands + * Support for http://path?i2paddresshelper=BASE64 + * Support for http://i2p/BASE64/path syntax + +2004-09-07 jrandom + * Make sure that peers placed in the 'fast' group are ones we both know + how to reach and have been able to reach recently. These peers may + still be placed in the 'high capacity' group however (though that group + is only queried if the 'fast' group is too small) + * Include some updates to the ProgileOrganizer's CLI. + +2004-09-07 jrandom + * Disable the timestamper by default for all applications except the router + (enable via -Dtime.disabled=false) + * Simplify the retrieval of the full destination with text based browsers. + * Bundle the updated wrapper.config and hosts.txt in the i2pupdate.tar.bz2 + +2004-09-07 jrandom + * Write the native libraries to the current directory when they are loaded + from a resource, and load them from that file on subsequent runs (in + turn, we no longer *cough* delete the running libraries...) + * Added support for a graceful restart. + * Added new pseudo-shutdown hook specific to the router, allowing + applications to request tasks to be run when the router shuts down. We + use this for integration with the service manager, since otherwise a + graceful shutdown would cause a timeout, followed by a forced hard + shutdown. + * Made the capacity calculator a bit more dynamic by not outright ignoring + the otherwise valid capacity data for a period with a single rejected + tunnel (except for the 10 minute period). In addition, peers with an + equal capacity are ordered by speed rather than by their hashes. + * Cleaned up the SimpleTimer, addressing some threading and synchronization + issues. + * When an I2PTunnel client or httpclient is explicitly closed, destroy the + associated session (unless there are other clients using it), and deal + with a closed session when starting a new I2PTunnel instance. + * Refactoring and logging. + +2004-09-06 jrandom + * Address a race condition in the key management code that would manifest + itself as a corrupt router identity. + * Properly clear old transport addresses from being displayed on the old + console after soft restarts. + * Properly refuse to load the client applications more than once in the + same JVM. + * Added support for a graceful restart (a graceful shutdown followed by a + full JVM restart - useful for restarting client apps). + * More defensive programming, HTML cleanup, logging + * wrapper.config cleanup of duplicate lines + +2004-09-04 jrandom + * Added some basic guards to prevent multiple instances from running. + Specifically, a file "router.ping" in the install directory which is + written to once a minute - if that file exists and has been modified + within the last minute, refuse to start up. In turn, adjust the + service wrapper to wait a minute before restarting a crashed JVM. + * Create a "work" directory in the I2P install dir which Jetty will + use for all of its temporary files. + * Tell the browser not to cache most of the router console's pages. + +2004-09-04 jrandom + * Update the SDK to automatically reconnect indefinitely with an + exponential delay on retries (capped at 5 minutes). + +* 2004-09-03 0.4 released + +2004-09-03 jrandom + * Updated default wrapper.config to deal with the hard restart option + * Include the history.txt in the /help.jsp page + * HTML updates (wrapper.log, and no more unix scripts) + * Updated VERSION constants to 0.4 + +2004-09-03 hypercubus + * Bugfix: Installer launches postinstall.bat on WinNT/2K properly. + * Temporarily removed install_i2p_service_unix and + uninstall_i2p_service_unix from distribution packages. + * postinstall.bat/postinstall.sh cleans installation directory of all files + not applicable to the host OS. + +2004-09-03 oOo + * Added some filters to the HTTP request, replacing the User-Agent, + Referrer, Via, and From headers, which helps until we have a more + comprehensive filtering system. + +2004-09-03 jrandom + * Disabled the old listener on port 7655. + +2004-09-02 jrandom + * Cleaned up the base build.xml, adding a new target ("updater") which + builds the file i2pupdate.tar.bz2 which can be safely extracted over + existing installs. + +2004-xx-xx jrandom + * Implemented the new web architecture and router console + * Implemented I2PTunnel web interface, and revamped startup process. + * Revamped peer selection code to address skew. + * Removed all temporary threads from the router and the SDK. + * Bugfix dealing with timeouts and resends. + * Integrated Iakin's jcpuid library and jbigi update, with modifications. + +2004-xx-xx hypercubus + * Implemented the new installation process. + * Integrated systray + * Integrated service manager + +2004-xx-xx oOo + * Implemented ?i2paddresshelper= hook + * Many small bugfixes to the web interface, router, i2ptunnel, and core. + +2004-xx-xx Nightblade + * libSAM updates. + +2004-xx-xx cervantes + * Imported i2pProxy.pac proxy script in with the build. + +* 2004-08-20 0.3.4.3 released +* 2004-08-12 0.3.4.2 released +* 2004-08-08 0.3.4.1 released +* 2004-07-29 0.3.4 released +* 2004-07-23 0.3.3 released +* 2004-07-16 0.3.2.3 released +* 2004-07-14 0.3.2.2 released +* 2004-07-11 0.3.2.1 released +* 2004-07-07 0.3.2 released +* 2004-06-25 0.3.1.5 released +* 2004-05-23 0.3.1.4 released +* 2004-05-20 0.3.1.3 released +* 2004-05-13 0.3.1.2 released +* 2004-05-07 0.3.1.1 released +* 2004-04-30 0.3.1 released +* 2004-04-20 0.3.0.4 released +* 2004-04-04 0.3.0.3 released +* 2004-03-30 0.3.0.2 released +* 2004-03-25 0.3.0.1 released +* 2004-03-21 0.3.0 released +* 2004-03-10 0.2.5.4 released +* 2004-03-04 0.2.5.3 released +* 2004-02-28 0.2.5.2 released +* 2004-02-27 0.2.5.1 released +* 2004-02-25 0.2.5 released +* 2004-02-19 0.2.4.2 released +* 2004-02-15 0.2.4.1 released +* 2004-02-14 0.2.4 released +* 2004-01-27 0.2.3.6 released +* 2004-01-21 0.2.3.5 released +* 2004-01-14 0.2.3.4 released +* 2003-12-29 0.2.3.3 released +* 2003-12-27 0.2.3.2 released +* 2003-12-25 0.2.3.1 released +* 2003-12-13 0.2.3 released +* 2003-12-01 0.2.2 released +* 2003-11-18 0.2.1.1 released +* 2003-11-12 0.2.1 released +* 2003-11-09 0.2.0.3 released +* 2003-11-08 0.2.0.2 released +* 2003-11-03 0.2.0.1 released +* 2003-11-01 0.2 released diff --git a/pkg-temp/lib/BOB.jar b/pkg-temp/lib/BOB.jar new file mode 100644 index 0000000000000000000000000000000000000000..0624253376cc5c53c83782dffa3832c6ed6a5f5c Binary files /dev/null and b/pkg-temp/lib/BOB.jar differ diff --git a/pkg-temp/lib/i2p.jar b/pkg-temp/lib/i2p.jar new file mode 100644 index 0000000000000000000000000000000000000000..b029c2b24f996ab43e4fadf8b70863e10b8ed11a Binary files /dev/null and b/pkg-temp/lib/i2p.jar differ diff --git a/pkg-temp/lib/i2psnark.jar b/pkg-temp/lib/i2psnark.jar new file mode 100644 index 0000000000000000000000000000000000000000..db0dc284ec720aa3af04ecf0a654e587283aa181 Binary files /dev/null and b/pkg-temp/lib/i2psnark.jar differ diff --git a/pkg-temp/lib/i2ptunnel.jar b/pkg-temp/lib/i2ptunnel.jar new file mode 100644 index 0000000000000000000000000000000000000000..fc12fd009c806ea78142579d17eace5ddff6209c Binary files /dev/null and b/pkg-temp/lib/i2ptunnel.jar differ diff --git a/pkg-temp/lib/mstreaming.jar b/pkg-temp/lib/mstreaming.jar new file mode 100644 index 0000000000000000000000000000000000000000..fbfdabb3cba1c1fb8575fcdda19c03edb3ba60e9 Binary files /dev/null and b/pkg-temp/lib/mstreaming.jar differ diff --git a/pkg-temp/lib/router.jar b/pkg-temp/lib/router.jar new file mode 100644 index 0000000000000000000000000000000000000000..6147ea72aad04e1b248eb7b8e1575b9ebe39875a Binary files /dev/null and b/pkg-temp/lib/router.jar differ diff --git a/pkg-temp/lib/routerconsole.jar b/pkg-temp/lib/routerconsole.jar new file mode 100644 index 0000000000000000000000000000000000000000..384e473b8738b3e34f9f2f8d2a439269e69f0d43 Binary files /dev/null and b/pkg-temp/lib/routerconsole.jar differ diff --git a/pkg-temp/lib/sam.jar b/pkg-temp/lib/sam.jar new file mode 100644 index 0000000000000000000000000000000000000000..13be04e710982394394397fae29ba8b5a92664a2 Binary files /dev/null and b/pkg-temp/lib/sam.jar differ diff --git a/pkg-temp/lib/streaming.jar b/pkg-temp/lib/streaming.jar new file mode 100644 index 0000000000000000000000000000000000000000..d820d586a8ad047eae61613ba1c0020cd439bc29 Binary files /dev/null and b/pkg-temp/lib/streaming.jar differ diff --git a/pkg-temp/lib/systray.jar b/pkg-temp/lib/systray.jar new file mode 100644 index 0000000000000000000000000000000000000000..a2b06135b583e68c5ad23f183880c4a4976df392 Binary files /dev/null and b/pkg-temp/lib/systray.jar differ diff --git a/pkg-temp/licenses/COPYING-BOB.txt b/pkg-temp/licenses/COPYING-BOB.txt new file mode 100644 index 0000000000000000000000000000000000000000..116db5958a87a59b3293be5e3afa99c8fd95398a --- /dev/null +++ b/pkg-temp/licenses/COPYING-BOB.txt @@ -0,0 +1,21 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) sponge + Planet Earth + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +See... + + http://sam.zoy.org/wtfpl/ + and + http://en.wikipedia.org/wiki/WTFPL + +...for any additional details and license questions. diff --git a/pkg-temp/licenses/LICENSE-Addressbook.txt b/pkg-temp/licenses/LICENSE-Addressbook.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b44d6a6bf9bce1c4428d9b82fc9cebd24117abf --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Addressbook.txt @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2004 Ragnarok + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ diff --git a/pkg-temp/licenses/LICENSE-Apache1.1.txt b/pkg-temp/licenses/LICENSE-Apache1.1.txt new file mode 100644 index 0000000000000000000000000000000000000000..cea737d3893316e49d0fb3af04a020cc0e80a5ef --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Apache1.1.txt @@ -0,0 +1,60 @@ +/* + * $Header: /home/cvs/jakarta-commons/el/LICENSE.txt,v 1.1.1.1 2003/02/04 00:22:24 luehe Exp $ + * $Revision: 1.1.1.1 $ + * $Date: 2003/02/04 00:22:24 $ + * + * ==================================================================== + * + * The Apache Software License, Version 1.1 + * + * Copyright (c) 1999-2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Commons", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + * + */ diff --git a/pkg-temp/licenses/LICENSE-Apache2.0.txt b/pkg-temp/licenses/LICENSE-Apache2.0.txt new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Apache2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/pkg-temp/licenses/LICENSE-BSD.txt b/pkg-temp/licenses/LICENSE-BSD.txt new file mode 100644 index 0000000000000000000000000000000000000000..59a9311c9955f55fbfc47a89fd2ba2e5b700888b --- /dev/null +++ b/pkg-temp/licenses/LICENSE-BSD.txt @@ -0,0 +1,27 @@ +Copyright (c) 2009, The I2P Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of the I2P nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg-temp/licenses/LICENSE-ElGamalDSA.txt b/pkg-temp/licenses/LICENSE-ElGamalDSA.txt new file mode 100644 index 0000000000000000000000000000000000000000..6bf735772e42e3c55118cd15ffc5c270fbd55985 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-ElGamalDSA.txt @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2003, TheCrypto + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the TheCrypto may be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ diff --git a/pkg-temp/licenses/LICENSE-Foxtrot.txt b/pkg-temp/licenses/LICENSE-Foxtrot.txt new file mode 100644 index 0000000000000000000000000000000000000000..5fa4019d5bff32e5cedc023bb012af52a7f9d45f --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Foxtrot.txt @@ -0,0 +1,25 @@ +Copyright (c) 2002, Simone Bordet & Marco Cravero +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of Foxtrot nor the names of the contributors may be used + to endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg-temp/licenses/LICENSE-GPLv2.txt b/pkg-temp/licenses/LICENSE-GPLv2.txt new file mode 100644 index 0000000000000000000000000000000000000000..14db8fc79dbaf6b7a94395c9d0464396d2fb983d --- /dev/null +++ b/pkg-temp/licenses/LICENSE-GPLv2.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. 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. + + 12. 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. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/pkg-temp/licenses/LICENSE-HashCash.txt b/pkg-temp/licenses/LICENSE-HashCash.txt new file mode 100644 index 0000000000000000000000000000000000000000..7aa3f3f715c90781724ba3aba5ef8f99f0b4668f --- /dev/null +++ b/pkg-temp/licenses/LICENSE-HashCash.txt @@ -0,0 +1,2 @@ + Copyright 2006 Gregory Rubin grrubin@gmail.com + Permission is given to use, modify, and or distribute this code so long as this message remains attached diff --git a/pkg-temp/licenses/LICENSE-I2PTunnel.txt b/pkg-temp/licenses/LICENSE-I2PTunnel.txt new file mode 100644 index 0000000000000000000000000000000000000000..52af2190e5b83ed15e27381bdda4277377388b88 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-I2PTunnel.txt @@ -0,0 +1,29 @@ +/* + * I2PTunnel + * (c) 2003 - 2004 mihi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * In addition, as a special exception, mihi gives permission to link + * the code of this program with the proprietary Java implementation + * provided by Sun (or other vendors as well), and distribute linked + * combinations including the two. You must obey the GNU General + * Public License in all respects for all of the code used other than + * the proprietary Java implementation. If you modify this file, you + * may extend this exception to your version of the file, but you are + * not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + */ diff --git a/pkg-temp/licenses/LICENSE-JGoodies-Forms.txt b/pkg-temp/licenses/LICENSE-JGoodies-Forms.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ba2419e7fdbb6200d4889228f37b8d5071c89fd --- /dev/null +++ b/pkg-temp/licenses/LICENSE-JGoodies-Forms.txt @@ -0,0 +1,31 @@ + + The BSD License for the JGoodies Forms + ====================================== + +Copyright (c) 2002-2004 JGoodies Karsten Lentzsch. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + o Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + o Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + o Neither the name of JGoodies Karsten Lentzsch nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg-temp/licenses/LICENSE-JGoodies-Looks.txt b/pkg-temp/licenses/LICENSE-JGoodies-Looks.txt new file mode 100644 index 0000000000000000000000000000000000000000..6ea98a5b3b441465090913cc7bd7381ab761b6e0 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-JGoodies-Looks.txt @@ -0,0 +1,30 @@ + The BSD License for the JGoodies Looks + ====================================== + +Copyright (c) 2003 JGoodies Karsten Lentzsch. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + o Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + o Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + o Neither the name of JGoodies Karsten Lentzsch nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg-temp/licenses/LICENSE-LGPLv2.1.txt b/pkg-temp/licenses/LICENSE-LGPLv2.1.txt new file mode 100644 index 0000000000000000000000000000000000000000..5ab7695ab8cabe0c5c8a814bb0ab1e8066578fbb --- /dev/null +++ b/pkg-temp/licenses/LICENSE-LGPLv2.1.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/pkg-temp/licenses/LICENSE-Ministreaming.txt b/pkg-temp/licenses/LICENSE-Ministreaming.txt new file mode 100644 index 0000000000000000000000000000000000000000..50a6a709a0a6679823b7991d0e3a2509f1ee8bab --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Ministreaming.txt @@ -0,0 +1,10 @@ +$Id$ + +the i2p/apps/ministreaming module is the root of the +ministreaming library, and everything within it +is released according to the terms of the I2P +license policy. That means everything contained +within the i2p/apps/ministreaming module is released +under a BSD license unless otherwise marked. +Alternate licenses that may be used include Cryptix, +MIT, as well as code granted into the public domain. diff --git a/pkg-temp/licenses/LICENSE-SHA256.txt b/pkg-temp/licenses/LICENSE-SHA256.txt new file mode 100644 index 0000000000000000000000000000000000000000..1eb884a8927f4b1cca79d06496f1af1f619df166 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-SHA256.txt @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle + * (http://www.bouncycastle.org) + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software + * without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ diff --git a/pkg-temp/licenses/LICENSE-SNTP.txt b/pkg-temp/licenses/LICENSE-SNTP.txt new file mode 100644 index 0000000000000000000000000000000000000000..26c1049710db5c2750da98a5be48e3f022a164e0 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-SNTP.txt @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2004, Adam Buckley + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of Adam Buckley nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + */ diff --git a/pkg-temp/licenses/LICENSE-UPnP.txt b/pkg-temp/licenses/LICENSE-UPnP.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e2a36863ab69c5834876529c9c6d3e8a7191134 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-UPnP.txt @@ -0,0 +1,12 @@ +Copyright (C) 2003-2006 Satoshi Konno +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg-temp/licenses/LICENSE-Wrapper.txt b/pkg-temp/licenses/LICENSE-Wrapper.txt new file mode 100644 index 0000000000000000000000000000000000000000..039b8927d383afaa52267f76c3dc82c50d9a5223 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-Wrapper.txt @@ -0,0 +1,41 @@ +Copyright (c) 1999, 2004 Tanuki Software + +Permission is hereby granted, free of charge, to any person +obtaining a copy of the Java Service Wrapper and associated +documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sub-license, +and/or sell copies of the Software, and to permit persons to +whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +Portions of the Software have been derived from source code +developed by Silver Egg Technology under the following license: + +Copyright (c) 2001 Silver Egg Technology + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sub-license, and/or +sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + diff --git a/pkg-temp/licenses/LICENSE-XStream.txt b/pkg-temp/licenses/LICENSE-XStream.txt new file mode 100644 index 0000000000000000000000000000000000000000..4848b3e4e5d1224bb00a8d379c208b27853186b3 --- /dev/null +++ b/pkg-temp/licenses/LICENSE-XStream.txt @@ -0,0 +1,27 @@ +(BSD Style License) + +Copyright (c) 2003-2004, Joe Walnes +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of XStream nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/pkg-temp/licenses/NOTICE-Commons-Logging.txt b/pkg-temp/licenses/NOTICE-Commons-Logging.txt new file mode 100644 index 0000000000000000000000000000000000000000..439eb83b2f4dc494445cc3f7eec190c760b77f4f --- /dev/null +++ b/pkg-temp/licenses/NOTICE-Commons-Logging.txt @@ -0,0 +1,3 @@ +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/pkg-temp/webapps/addressbook.war b/pkg-temp/webapps/addressbook.war new file mode 100644 index 0000000000000000000000000000000000000000..4e88443c4062028788d9af88453e272530ccd8df Binary files /dev/null and b/pkg-temp/webapps/addressbook.war differ diff --git a/pkg-temp/webapps/i2psnark.war b/pkg-temp/webapps/i2psnark.war new file mode 100644 index 0000000000000000000000000000000000000000..5b9fc765eeb441f90774172a5fa649c8f24ab8b7 Binary files /dev/null and b/pkg-temp/webapps/i2psnark.war differ diff --git a/pkg-temp/webapps/i2ptunnel.war b/pkg-temp/webapps/i2ptunnel.war new file mode 100644 index 0000000000000000000000000000000000000000..77004800ad2f83c515bee4aa86f9febd4b0f3c54 Binary files /dev/null and b/pkg-temp/webapps/i2ptunnel.war differ diff --git a/pkg-temp/webapps/routerconsole.war b/pkg-temp/webapps/routerconsole.war new file mode 100644 index 0000000000000000000000000000000000000000..fe7f0b444236fa5eb474147d444f4595464b6bca Binary files /dev/null and b/pkg-temp/webapps/routerconsole.war differ diff --git a/pkg-temp/webapps/susidns.war b/pkg-temp/webapps/susidns.war new file mode 100644 index 0000000000000000000000000000000000000000..4c1ea3b6aacf4906a42298880a91c2716ebe37d1 Binary files /dev/null and b/pkg-temp/webapps/susidns.war differ diff --git a/pkg-temp/webapps/susimail.war b/pkg-temp/webapps/susimail.war new file mode 100644 index 0000000000000000000000000000000000000000..58924ed2bc7d9e2fbdae502d69e467755f3e69fa Binary files /dev/null and b/pkg-temp/webapps/susimail.war differ