Compare commits

..

973 Commits

Author SHA1 Message Date
zzz
c0308526a9 0.9.34 2018-04-10 12:46:30 +00:00
zzz
3c7898160e Updates after review:
Fix logic error in snark warning
Change Java 9 log warning to Java 10
Fix fallback tunnel pool stat name
Don't include geoip in this release
Update Russian translations
2018-04-10 12:42:44 +00:00
zzz
db72f87b34 Pull from tx 2018-04-06 23:14:40 +00:00
zzz
eb175f5542 sybil: hide families with only one member 2018-04-05 14:22:28 +00:00
zzz
43e6bb7569 GeoIP 2018-03-27, GeoIPv6 2018-04-03 2018-04-05 12:16:30 +00:00
zzz
4fbfc5d83d EepGet: Increase max header length
SSLEepGet: Set default CLI proxy type to none
2018-04-05 12:03:57 +00:00
zzz
8ea3aa8592 Console: Remove home page links as agreed in 2018-04-03 meeting 2018-04-04 18:55:52 +00:00
zzz
94c7d840c2 Reseed: Move ReseedBundler from console to router (ticket #2203) 2018-04-04 16:37:32 +00:00
zzz
d11c01cc82 Stats: Clean up per-tunnel bandwidth stat name 2018-04-03 16:21:01 +00:00
zzz
1a7e71c5ca Stats: Enable per-tunnel bandwidth stats by default (tickets #2106, #2145) 2018-04-03 15:25:28 +00:00
zzz
4ca12d141c KeyStore: Fix ConncurrentModificationException (ticket #2196) 2018-04-02 18:04:32 +00:00
zzz
9c2994cf3e build.xml: Dup and typo (ticket #2198) 2018-04-02 17:41:59 +00:00
zzz
2550b2c557 poupdate-source 2018-03-28 23:46:37 +00:00
meeh
5435a6584e merge of 'b68ae0177d4f3bd3ac8cedcb6fbf7aa9e3db6cb8'
and 'cf9e5b3c6634546f3b46b25e53ac47dcedde73b4'
2018-03-27 00:41:56 +00:00
meeh
9f11188e8f Started on scalatests for SU3File and CertUtil. 2018-03-26 21:48:31 +00:00
zzz
241ee71745 i2ptunnel: Fix display of 'tunnels not initialized' message 2018-03-24 13:26:30 +00:00
zzz
a1ccd5a209 i2psnark: Change default sort order for some columns (ticket #2152) 2018-03-24 12:45:15 +00:00
zzz
2a30bfedca Console: Hide links to i2ptunnel if disabled
/configwebapps changes don't require restart
2018-03-19 17:19:21 +00:00
zzz
129188f3cc PortMapper: Add convenience methods 2018-03-19 17:00:44 +00:00
zzz
bdff474d94 i2ptunnel: Rewrite or pass through Accept: header
Needed for zeronet
2018-03-19 16:56:53 +00:00
zzz
6908616a74 i2ptunnel: Don't set content-encoding and compress if already set,
no matter what the encoding was, can't have two
2018-03-19 13:47:56 +00:00
zzz
841bb75554 Build: Add target to show revs since last release 2018-03-18 12:35:54 +00:00
zzz
ca312f5bbc SusiMail: Move sorters to own class 2018-03-17 13:43:49 +00:00
zzz
ef692efc83 i2psnark: Don't use static field for sort language 2018-03-17 12:34:37 +00:00
zzz
e7e5ee1abe Console: Hide identicons if disabled on sybil page 2018-03-15 23:30:13 +00:00
zzz
f124404dc3 use portmapper 2018-03-15 23:24:16 +00:00
zzz
9332d1347d Console: Add translated descriptions for webapps 2018-03-15 23:12:13 +00:00
zzz
afe34c6b75 Console: Fix logic for when to linkify webapp 2018-03-15 22:55:12 +00:00
zzz
24cb0934c7 susidns: Hide identicons if imagegen disabled
Fix div ordering on /details
2018-03-15 22:27:00 +00:00
zzz
e139710352 i2psnark: Hide remove/delete buttons if data dir is readonly 2018-03-15 21:22:53 +00:00
zzz
144147d854 Certs: Sort alt names in generated certs 2018-03-15 15:58:40 +00:00
zzz
cfd84bdcdd i2psnark: Don't fail to start if data directory not found (ticket #2166)
Try to create dir if doesn't exist
Hide add and create sections if dir not writable
Remove 403 handler, don't want it for standalone hostname check
2018-03-15 15:50:33 +00:00
zzz
1de82a6801 reformat message 2018-03-15 15:46:40 +00:00
zzz
1050fc7786 i2ptunnel: Fix controls broken in last commit (ticket #2184) 2018-03-14 21:04:24 +00:00
zzz
00dc1ed213 SusiMail: Change URL from /susimail/susimail to /susimail
Remove susi.i2p links on help pages
2018-03-14 19:12:17 +00:00
zzz
2aceca5f93 Console: Add error handler to all webapps (ticket #2155)
Fix up default servlet handling in i2ptunnel and susidns
2018-03-14 18:33:14 +00:00
zzz
b9d5cdf2be Console: Hide links to eepsite if not running (ticket #2161)
Show https eepsite link if available (ticket #2159)
Use port mapper instead of webapp starter for webapp detection, much faster
2018-03-14 15:47:55 +00:00
zzz
948bbae661 Jetty: Register HTTPS eepsite with port mapper (ticket #2159) 2018-03-14 15:25:05 +00:00
zzz
6eb09bd0c8 i2ptunnel: Check port mapper for webapp presence (ticket #2161) 2018-03-14 14:09:41 +00:00
zzz
66ee7b563a Util: Add replace() method for StringBuilders 2018-03-14 13:33:43 +00:00
zzz
9b3082be06 Console: Register all webapps with port mapper (ticket #1749) 2018-03-14 12:23:37 +00:00
zzz
74ea45901a Susimail: Minor string replace fix 2018-03-14 11:47:25 +00:00
zzz
030beacf11 Console: Don't gzip svg files
Unused import
2018-03-14 11:41:18 +00:00
zzz
b4f3d961e6 SusDNS: Translate svg image text (ticket #1749) 2018-03-14 11:38:00 +00:00
zzz
a077245b3a Console: Hide links to webapps that are not running (ticket #2161)
Hide link to /configplugins if disabled
2018-03-14 11:17:05 +00:00
zzz
5a13070a58 Console: More checking in error handlers 2018-03-12 19:36:45 +00:00
zzz
4f5e3226de Router: Put FULL_VERSION in router.version property 2018-03-12 19:34:36 +00:00
zzz
df075ca4f5 SusiDNS: Ampersand escaping 2018-03-12 19:33:15 +00:00
zzz
ffc0bcc3a0 Susimail: Fix up compose.js (ticket #2176)
Enable for configuration page
Version the js
2018-03-12 11:42:52 +00:00
zzz
81808d4a60 Crypto: Add utils for renewing a cert in a keystore 2018-03-11 22:17:06 +00:00
zzz
63a8b4668c UPnP: Detect pegged counter
Make public again for CLI
2018-03-11 17:52:42 +00:00
zzz
50268de894 Router: More peer selection fixes for hidden mode
Fix excludes after calling SANFP
Pick connected OBEP when hidden and paired tunnel is zero-hop
2018-03-11 17:27:05 +00:00
zzz
96d7c73644 Router: Fix state transition to RUNNING in vmCommSystem 2018-03-11 15:57:37 +00:00
zzz
2deed13484 /tunnels: Right-justify zero-hop IB
minor cleanups
2018-03-11 15:14:08 +00:00
zzz
eb321445d9 Router: Fix rekey after hidden config change 2018-03-10 18:30:08 +00:00
zzz
39039b89a4 Console: Fix translated (es) plural
Warnings for special cases on /configtunnels
2018-03-10 17:19:38 +00:00
zzz
e7c2162874 i2ptunnel: Strip server Date header
More efficient header checks
Jetty config tweaks
2018-03-10 16:56:59 +00:00
zzz
fe808a8800 Console: Fix gzip enable logic
Don't compress js
Set charset for war resources
2018-03-10 14:53:57 +00:00
zzz
fa85c0c50b NetDB: Wake up FloodfillMonitor when ff setting changes,
so it will take effect immediately, and log in event log.
Don't queue multiple FloodJobs after changes
2018-03-10 12:30:17 +00:00
zzz
4bcb1d27e4 Servlets: Close output stream on redirect,
instead of flushing buffer, to force commitment
2018-03-09 21:02:00 +00:00
zzz
a2dbb21853 viewhistory set content-length 2018-03-09 19:41:55 +00:00
zzz
44c38dffad Console: Enable compression (ticket #2157) 2018-03-09 19:31:15 +00:00
zzz
a845d4f225 Servlets: Add Accept-Ranges headers 2018-03-09 16:02:00 +00:00
zzz
9dcf48ea81 Router: EnumSet for state checking 2018-03-09 11:52:59 +00:00
zzz
33b2d834c7 Log: Default level is ERROR if no match 2018-03-08 21:41:24 +00:00
zzz
fac4f6c28f Router: Check for transport compatibility before direct store of RI;
send through tunnel if incompatible
Fix repeated store of RI when IPv6-only
Move connect checker to own class for use by netdb
Log tweaks
2018-03-08 21:38:39 +00:00
zzz
69aadaa46a Router: Improve tunnel peer selection of closest hop
for routers that are hidden, IPv6-only, or have disabled transports.
Don't try to build tunnel if adjacent peers don't have compatible transports.
Don't select IPv6-only routers for IBGW or OBEP.
Remove old version check in peer selectors
Peer selector cleanups
Extend peer selection startup time for Android
2018-03-08 14:30:26 +00:00
zzz
1412dbd16b Crypto: Generate non-CA cert for family 2018-03-08 14:22:37 +00:00
zzz
c626bb64bd log flush tweak 2018-03-08 14:11:40 +00:00
zzz
c5b6a4ee17 NetDB: More floodfill checks 2018-03-07 21:24:54 +00:00
zzz
7433eeb5c0 Router: Validate tunnel ID in requests
Fix max ID
2018-03-07 18:06:46 +00:00
zzz
ceac733b66 log tweaks 2018-03-07 16:19:38 +00:00
zzz
665f58d62a Router: Remove ancient version check in BuildRequestor
Add method to get all connected peers from transports, for efficiency
Don't try to build non-zero-hop tunnels in VMCommSystem
2018-03-07 13:29:11 +00:00
zzz
0eb04facec Util: Consolidate FileFilters 2018-03-05 13:16:04 +00:00
zzz
28923825d9 clarify there are two f-droid repos 2018-03-04 16:40:46 +00:00
zzz
195d7dc653 Console: Show SAM cert on /certs
Stub for jetty cert
2018-03-04 16:11:29 +00:00
zzz
471fc8ee12 Console: Fix more forms inside tables 2018-03-04 14:38:33 +00:00
zzz
419d411b1b i2ptunnel: Fix multipart config for /register
Fix CSP for /register
2018-03-04 13:31:35 +00:00
zzz
c6e401a64f PortMapper: HTTPS console fallback to HTTP
Console port constants
2018-03-04 12:30:36 +00:00
zzz
3bc9053a86 KeyStore: Log expiration of self-signed certs 2018-03-04 12:14:05 +00:00
zzz
5a639260cd Address utils: Skip IPs of down interfaces on Windows
Improve identification of temporary IPv6 addresses
CLI improvements
2018-03-03 12:52:07 +00:00
zzz
67e07d21ef Console: Use consolidated default keystore password 2018-03-02 12:02:39 +00:00
zzz
f0b9894e48 Util: Warn on dubious split() regex 2018-03-01 16:26:31 +00:00
zzz
74dc427320 Transport: Rescan addresses and UPnP after network reconnection
Log network disconnect/reconnect
Don't even try to start UPnP if network disconnected
Fix UPnP repeatedly decrementing listen ports on failure
Make more classes and methods package private
Log and javadoc tweaks
2018-02-28 20:26:31 +00:00
zzz
d167b5eafb LogManager: Don't register runtime shutdown hook in router context.
This was causing shutdown() to be called twice, resulting
in lost log messages when stopped from i2prouter.
2018-02-28 20:04:40 +00:00
zzz
5cd1419897 Util: Add methods to validate IP addresses 2018-02-28 17:58:28 +00:00
zzz
f129426eed UPnP: CLI fixes
Check that Location IP matches
Display UDN in HTML output
2018-02-28 15:07:19 +00:00
zzz
f3ec5f7956 i2psnark: CSS tweak 2018-02-28 12:58:50 +00:00
zzz
2c17fef161 Addresses: CLI improvements 2018-02-28 12:26:53 +00:00
zzz
ab182d08f3 UPnP: Recognize IGD2 schemas
Don't use IGD on same host
Output last error
Preliminary work for IPv6
2018-02-27 21:26:53 +00:00
zzz
f869b8a133 UPnP: Fix event listening, prep for using events 2018-02-27 15:09:49 +00:00
zzz
7035db2bcd UPnP: Improve diagnostics
try PPP 2nd
other cleanups
2018-02-27 13:05:03 +00:00
zzz
27042f9930 i2ptunnel: Add alt names in standard and irc client tunnel certs 2018-02-25 16:31:48 +00:00
zzz
4c02c1f58b JettyStart: Cleanup, replace Resource with File 2018-02-25 14:20:44 +00:00
zzz
79baf70f9a Crypto: Add support for more alt names in certs (tickets #2159, #2160)
Set alt names for console cert
Use utils to validate console IP addresses
2018-02-25 14:17:01 +00:00
zzz
622c6801ae SusiMail: Set no-cache headers 2018-02-24 17:10:56 +00:00
zzz
005f73729e Console: More validation on URL when installing plugin 2018-02-24 16:58:18 +00:00
zzz
5b0680b29e i2psnark standalone: Add DNS rebinding protection
Add context config file to turn it off
Console: Mark request handled when rejecting in HostCheckHandler
XSSFilter: Catch cascaded ISE
2018-02-24 16:43:15 +00:00
zzz
9d989c6a67 Console: Fix HTML error, forms can't be in tables
split table up into two, put forms outside, fixup CSS to match
2018-02-24 12:43:58 +00:00
zzz
fa740e8271 Console: Fix HTML error 2018-02-24 12:42:16 +00:00
zzz
0ba0f1bded SusiMail: Check mail fixes (ticket #2174)
Fix overlapping error and info boxes
Fix checking mail when apparently connected already
Set soTimeout when fetching mail, now that InternalSocket supports it
Error message and formatting fixes
Debug log tweaks
2018-02-23 20:10:32 +00:00
zzz
4321f13453 i2psnark: Number formatting tweaks (ticket #1913) 2018-02-23 19:57:40 +00:00
zzz
e71d1d38ad Getopt: Add new translations
Add instructions in .tx/config for conversion
Fix checkutf8.sh for getopt translations
2018-02-23 16:35:16 +00:00
zzz
6fe25cda9e I2CP: Use setSoTimeout() when reading first byte
We originally looped because we used InternalSockets,
but we don't anymore.
2018-02-22 16:59:14 +00:00
zzz
01962754b0 Util: Support setSoTimeout() for InternalSockets
to keep susimail server connections from hanging too long
2018-02-22 14:54:57 +00:00
zzz
237447180c cleanup 2018-02-21 21:34:29 +00:00
zzz
4b1a357ee7 Certs: Add policy extension 2018-02-21 20:10:14 +00:00
zzz
56c17300d5 SusiMail: Add Date header to sent messages, as required
Make Loader static
2018-02-21 15:05:15 +00:00
zzz
61ae0a597a Util: Add RFC822Date to CLI 2018-02-21 13:41:09 +00:00
zzz
3159c519b1 Console: Hide options on /configupdate if a package (ticket #2172)
or if not advanced
2018-02-21 12:54:56 +00:00
zzz
f00bf7d2cb Console: Redirect to HTTPS if available (ticket #2160)
Show console links as HTTPS if available
Extend blacklisted ports to cover HTTPS console and eepsite
2018-02-20 20:19:34 +00:00
zzz
33ea4cf571 Console: Change sendError() to setStatus() for 3xx responses
to avoid unnecessary output
2018-02-20 19:45:49 +00:00
zzz
86b3b13d6f Console: Change all 302s to 303 or 307
Eepget: Handle 308
2018-02-20 16:53:31 +00:00
zzz
b77524cfc7 Crypto: Backdate selfsigned cert to allow for clock skew 2018-02-20 12:27:30 +00:00
zzz
12c7871640 i2ptunnel, systray: Replace hardcoded console URL in more places (ticket #2160) 2018-02-19 23:12:06 +00:00
zzz
88c7abedde javadoc note 2018-02-19 22:26:32 +00:00
zzz
ad4eef9757 i2ptunnel, I2CP, SAM: Change selfsigned cert cname to localhost (ticket #2160) 2018-02-19 22:14:50 +00:00
zzz
935ba77da7 Console: Change selfsigned cert cname to localhost (ticket #2160) 2018-02-19 19:40:04 +00:00
zzz
673d765ed6 Crypto: Add IP addresses to selfsigned cert SAN (ticket #2160) 2018-02-19 19:36:30 +00:00
zzz
c719410dfa Console: Change trac links (ticket #2014) 2018-02-19 16:08:24 +00:00
zzz
ff81b4246a Console: Number formatting tweaks (ticket #1913) 2018-02-19 14:39:21 +00:00
zzz
646fe20726 Streaming: Don't exceed configured tag settings when overriding 2018-02-19 14:31:51 +00:00
zzz
a5ca9364ef more NTP response sanity checks 2018-02-19 14:25:57 +00:00
zzz
826d8ca07f i2ptunnel: Retry accept after router soft restart (ticket #2003)
This sends the router restart indication from I2CP router side
to client side to streaming to I2PTunnelServer via
a new streaming exception.
2018-02-18 13:53:50 +00:00
str4d
acebd2ea68 Cleanups: Close resources via try-finally 2018-02-17 19:53:30 +00:00
str4d
fb6eea2484 NPE fixes 2018-02-17 18:41:30 +00:00
zzz
cd3515923e i2ptunnel: Close sockets in finally{} 2018-02-17 16:04:09 +00:00
zzz
509e39b592 Console: Number format tweaks (ticket #1913) 2018-02-17 15:34:17 +00:00
zzz
dd575316bb Console: Restore:
CSS h1 letter spacing tweak
	Revision: d5b621df7264ac5c0ceb4cbede6779cef043ca4b
	Date:     10/20/2016

Inadvertently? reverted by:
	NedDb advanced lookup layout and theme improvements
	Revision: 058008f4847fe88db6b8236795b55db869e44a13
	Date:     01/15/2017
2018-02-17 15:09:31 +00:00
zzz
cf7d492e8d SusiMail: Change size from int to long
Fix mail save truncation
Don't fetch mail from folder display
Version all css
2018-02-17 13:37:40 +00:00
zzz
48027fe6ff i2psnark: folder.js cleanup (ticket #2168, PR #14)
(thx Pimp Trizkit)
2018-02-17 12:31:53 +00:00
zzz
cabf1aa3c5 Streaming: configurable response when over connection limits (ticket #2145)
Drop when way over limits.
Default to HTTP 429 for HTTP Server tunnels
Increase recently-closed cache size
2018-02-16 19:49:49 +00:00
zzz
a1ed4cf3b0 debug tweak 2018-02-16 16:15:24 +00:00
zzz
624c382652 i2psnark: Fix NPE on torrent not found (ticket #2167) 2018-02-14 17:35:23 +00:00
zzz
a62c6a8b96 Add i2pforum.i2p 2018-02-14 13:03:12 +00:00
zzz
167839b267 i2ptunnel, eepget: Capitalize Cache-Control
Change POST throttle response to 429
2018-02-14 12:54:16 +00:00
zzz
c48796c0f4 change clearnet UA again (ticket #2163) 2018-02-14 12:48:35 +00:00
zzz
507c1d55da Util: Drop deprecated BigPipedInputStream 2018-02-12 19:32:45 +00:00
zzz
6193e487c8 Util: Add sort methods that catch IAE 2018-02-12 18:49:01 +00:00
zzz
1826fcee0c i2ptunnel: Close sockets on error 2018-02-12 17:25:35 +00:00
zzz
2999638255 Proxy: Update clearnet user-agent (ticket #2163) 2018-02-12 17:20:23 +00:00
zzz
012fb4cacf SusiMail: Thread the cache loading and email checking (ticket #2087)
Set Cache-Control header for attachments
Fix rotated attached images
Fix excess debug info in message view
2018-02-12 14:26:19 +00:00
zzz
f13f4fcb6e Util: Number formatting tweaks (ticket #1913) 2018-02-11 20:59:58 +00:00
zzz
31719d30cf SusiMail: Improve speed of subject sorter
Use ID instead of hashcode for mailparts, so attachments are bookmarkable
Recognize fw:
2018-02-09 22:53:25 +00:00
zzz
afad22a8cb SusiMail: Better handling of no subject
Better spacing display in text
Recognize more re: and fwd:
CSS wrap fix
2018-02-09 19:41:03 +00:00
zzz
daf7e86b2f SusiMail: Thread the loading from disk 2018-02-09 17:05:32 +00:00
zzz
768921b361 SusiMail: Handle lower case in q-p and filename decode 2018-02-09 16:09:42 +00:00
zzz
ddf7fba039 SusiMail:
- Don't show the 'no charset' warning
Filename encoding fixes:
- Fix encoding to be hex upper case
- Move encoding to new util class
- Encode in sent mail
- Implement decoding in received mail
Error message and debug tweaks
Output remainder of header line after decode fail
2018-02-09 15:17:04 +00:00
zzz
3d25a9fd66 SusiMail: Fix case where getHeaderLineAttribute() was fooled
Time format tweak in message view
Debug tweak
2018-02-08 15:58:15 +00:00
zzz
8161f099d2 SusiMail: Error handling fixes
More tolerant parsing of Date headers
Set a date if we don't get a valid Date header
Fix parsing long Base64 encoded headers
Fix page count after changing page size
Make attribute name parsing case-insensitive
Import mail method for debugging
Debug and log tweaks
2018-02-08 14:46:41 +00:00
zzz
7da3de20aa Util: Move RFC822Date from router to core for SusiMail 2018-02-08 13:22:01 +00:00
zzz
c5ca226ece Debian: Put quilt back into the rules for the debian-binary ant target 2018-02-07 19:01:33 +00:00
zzz
96185d015a Set default organization for self-signed certs 2018-02-07 18:52:26 +00:00
zzz
65484510c6 SusiMail: Use input streams for reading mail (ticket #2119)
Rewrite Base64, HeaderLine, and QuotedPrintable decoders
Rewrite and expansion of ReadBuffer class and utilities for streams
Rewrite Mail and MailPart to parse the headers only once
Rewrite MailPart parser
MailPart parser rewrite skips over the data without reading into memory or decoding
MailPart decoder rewrite to decode stream-to-stream
ReadBuffer becomes Buffer interface with multiple implementations
Logging and debugging tweaks
2018-02-07 12:27:40 +00:00
zzz
b013173c86 Util: Allow backslash in XSS filter on Windows 2018-02-06 21:52:02 +00:00
zzz
172f0c9d95 Console: Fix "UnreachableOK" on /profiles (ticket #2148) 2018-02-03 16:53:56 +00:00
zzz
a3d3eec709 log tweaks 2018-02-03 16:43:56 +00:00
zzz
8250a8e7f7 Add i2pcontrol service identifiers 2018-02-03 16:41:57 +00:00
zzz
e01234c6a4 Update the update URLs 2018-02-03 16:41:34 +00:00
zzz
ce484f2eb8 Console: Move LS debug display back to the bottom,
can't work at the top as we don't have the data.
2018-02-01 15:12:29 +00:00
zzz
38da5cd4e8 javadoc fix 2018-02-01 14:53:25 +00:00
zzz
42fa23017f NetDB: Increase min floodfill version 2018-02-01 14:51:49 +00:00
zzz
a021e0d31f Console: Fix number formatting (tickets #1912, #1913, #2126) 2018-02-01 14:37:11 +00:00
zzz
81713a0cab i2psnark: Escape chars not escaped by browsers 2018-02-01 14:17:57 +00:00
zzz
cccf76cc78 SusiMail: Don't duplicate Re: and Fwd:
final formatters
store Message-ID
2018-02-01 14:14:19 +00:00
zzz
e2afb72c16 i2ptunnel: Reset connection if out of threads 2018-02-01 13:47:43 +00:00
zzz
40e12b4fb1 Flip the snark erasers too 2018-02-01 13:44:36 +00:00
zzz
4a47bea5f1 Debian updates for 0.9.33 2018-02-01 13:43:48 +00:00
zzz
23aaefa986 0.9.33 2018-01-29 21:06:02 +00:00
zzz
99b028a4e7 bump for review 2018-01-26 18:39:48 +00:00
zzz
fbcaad51d7 translated man page update 2018-01-26 18:35:13 +00:00
zzz
64fe2f1b05 update from transifex 2018-01-26 18:32:55 +00:00
zzz
582bab7c0d minor cleanups 2018-01-26 18:04:58 +00:00
zzz
5f903cc7ca flip eraser business-side down 2018-01-26 17:59:54 +00:00
zzz
276d1c907e i2ptunnel: Fix duplicate tunnels on create
Fix null tunnel name
Javadoc fixes
2018-01-26 14:28:41 +00:00
zzz
c098e5602d SusiMail: Close POP3 socket on error
synch isConnected()
2018-01-25 15:56:28 +00:00
zzz
42f8b98b03 Resources: GeoIP 2018-01-05
blocklist update
gostcoin family cert
update license.readme.txt
Susimail: Don't break words in mail body
2018-01-25 14:10:22 +00:00
zzz
d364bba4c7 i2psnark: Prevent commenting without comment name (ticket #2138)
Trim name
2018-01-24 15:35:30 +00:00
zzz
2df32aa8e5 SusiMail: Fix header corruption (ticket #2139) 2018-01-24 13:27:28 +00:00
zzz
709657e2c6 log tweak 2018-01-21 14:40:26 +00:00
zzz
6176aaeb44 Util: Don't throw unsupported on setSoLinger() 2018-01-21 14:29:48 +00:00
zzz
d8c3f617aa Streaming: Consistent exception message on socket close 2018-01-20 11:34:16 +00:00
zzz
08dec0e00d log tweaks 2018-01-19 19:35:29 +00:00
zzz
1b25eaca8f Console: Fix tiers chart on /profiles to match that on /tunnels 2018-01-19 19:11:39 +00:00
zzz
2f4ea9c588 i2ptunnel: Prevent changing sigtype after dest creation (ticket #2128)
Fix HTML error in editClient
2018-01-19 12:58:41 +00:00
zzz
ae505995ac Util: Consolidate console URL generation in PortMapper 2018-01-18 13:25:21 +00:00
zzz
109ac5b61c Console: Fix corrupted string, and parameterize 2018-01-18 12:13:40 +00:00
zzz
79d8a0ed11 build: New poupdate-source target 2018-01-18 10:18:11 +00:00
zzz
7e4ff0ba85 poupdate 2018-01-18 09:08:46 +00:00
zzz
c4c45f708c tag fixups 2018-01-18 09:06:34 +00:00
zzz
953381ff5e i2ptunnel: Move more dup edit code to edit.jsp 2018-01-17 17:46:18 +00:00
zzz
cae1fe14f9 i2ptunnel: Change include style for edit jsps
Move dup edit code to edit.jsp
Add headers for register.jsp
Remove dup Content-Type
2018-01-17 16:51:55 +00:00
zzz
efe3696aa2 i2ptunnel: Set defaults for limits 2018-01-17 16:23:54 +00:00
zzz
889b5ae280 i2ptunnel: Fix NPE stopping TCG 2018-01-16 00:26:32 +00:00
zzz
c2bfb80233 Keyring: Separate local and remote dests on /configkeyring
Prohibit local changes on /configkeyring
Remove local keys from keyring on tunnel shutdown or encryption disable
Ensure subsession encryption setting matches primary session
(ticket #2108)
2018-01-14 18:48:47 +00:00
zzz
8ef042af6a Tags: Clean up sessions with excess tagsets
Move clearExcess() call to the cleaner task
Debug/log tweaks
2018-01-13 19:47:05 +00:00
zzz
fcb835da34 log tweaks for b32 2018-01-13 12:59:48 +00:00
zzz
7493134f25 unused import 2018-01-13 12:57:19 +00:00
zzz
c6c61c9e57 Summary bar: Bounds check on memory info 2018-01-10 20:36:15 +00:00
zzz
8d6d1bc751 i2psnark: Fix infinite loop stopping update torrent (ticket #2125) 2018-01-10 17:58:50 +00:00
zzz
541dae36d4 Util: New util to truncate a string that won't split across a surrogate pair 2018-01-10 17:39:58 +00:00
zzz
50eb93deec /netdb: Note encrypted leasesets 2018-01-10 16:44:37 +00:00
zzz
ecb8480b5c /confignet: Display IP even if firewalled (ticket #2133) 2018-01-10 16:23:25 +00:00
zzz
cfbcd54ba9 jrobin: Disable DeallocationHelper for Java 9 2018-01-10 15:39:05 +00:00
zzz
1c3fc2bbdb i2psnark: Fix double-escaping of '&' (ticket #2127) 2018-01-10 15:29:59 +00:00
zzz
d55a0c9c39 i2ptunnel: Additional user-agent check 2018-01-10 15:14:17 +00:00
zzz
57e2bb7bc9 Addressbook: Remove finalizers (ticket #2115)
Better resource cleanup
2018-01-10 15:11:10 +00:00
zzz
eeb2835ca1 fixup dependency list in ant help 2018-01-09 19:01:25 +00:00
zzz
823526ae9b Console: Remove trackers from home page 2018-01-09 19:00:57 +00:00
zzz
ce49c00454 SusiMail: Rewrite/fix subject line encoding 2018-01-09 18:59:01 +00:00
zzz
9f7ec398c1 Build: Add buildSusiMailJar target for testing
More test targets
2018-01-08 14:46:26 +00:00
zzz
25d16b13f5 i2ptunnel: Advanced config in/out tunnels separately 2018-01-06 20:19:55 +00:00
zzz
f32d3aaef5 Console: Show and set burst bandwidth on /config (ticket #2123)
Better error handling
Comment out some unused things, misc. cleanups
2018-01-06 16:15:15 +00:00
zzz
b8f17c7ac4 i2ptunnel: Escape chars unescaped by browsers (ticket #2130) 2018-01-06 11:23:47 +00:00
zzz
d82499f07c i2ptunnel, eepget: Better error message on invalid URLs (ticket #2130) 2018-01-06 10:31:41 +00:00
zzz
62210c8165 i2psnark: Fix overflow in ratio sorter (ticket #2129) 2018-01-04 11:28:49 +00:00
zzz
a827b2f964 SusiMail: Clean up/simplify HeaderLine encoder loop,
in prep for a rewrite for tokenizing
2017-12-23 19:36:13 +00:00
zzz
1e30efdb0d SusiMail: Limit quoted-words to max line length
Change HeaderLine encoder to work on chars, not bytes,
so multibyte chars aren't split across lines.
Fix places where lines were one or two chars too long.
More to do, as it isn't tokenizing.
2017-12-23 18:49:48 +00:00
zzz
bf193b3218 SusiMail: Don't convert underscore to space after base64 decoding 2017-12-23 18:36:13 +00:00
zzz
003d865cc3 SusiMail: Fix filenames for inline attachments
Support RFC 5987/6266 for attachment and save-as filenames
Add alt tags for images
2017-12-23 13:16:48 +00:00
zzz
4b95824644 SusiMail: Static DateFormatters 2017-12-23 13:08:16 +00:00
zzz
70b2dbec56 SusiMail: Separate recipients by commas 2017-12-22 23:02:29 +00:00
zzz
4ee6ae96a2 SusiMail: Use pattern matcher 2017-12-22 13:52:59 +00:00
zzz
7379645869 SusiMail: Fix bug sending CC recipients as a 2nd To line
- Workaround on receive side for CC bug
- Display To and CC lists on show page
- Case-insensitive handling of all mail headers
- Early return if state is AUTH
- Escape leading '-' in q-p encoding
2017-12-22 13:32:41 +00:00
zzz
8b8d32e496 Util: LookaheadInputStream speedups and cleanups 2017-12-18 22:23:42 +00:00
zzz
be004cd350 Util: Consolidate two copies of WriterOutputStream into jetty-i2p.jar 2017-12-18 12:45:04 +00:00
zzz
71640590bc SusiMail: Show result after server check (ticket #2087) 2017-12-16 16:12:34 +00:00
zzz
0430323d2a SusiMail: Sorting cleanups and fixes, only sort when required 2017-12-16 14:16:56 +00:00
zzz
c2a1d7956c SusiMail: Don't store state in session object (ticket #1373)
Change state to enum
Static redirect method
Put current state in form
2017-12-15 14:20:38 +00:00
zzz
aca2f5780b SusiMail: Fix interactions between single-delete and multi-delete,
P-R-G for single-delete, don't store single-delete in session,
add cancel button for single-delete (ticket #1373)
2017-12-14 23:48:14 +00:00
zzz
0ec39e5ea1 SusiMail: Rework search params and preserve across P-R-G (ticket #1373) 2017-12-14 21:20:42 +00:00
zzz
52f736a06e SusiMail: P-R-G to config page (ticket #1373) 2017-12-14 16:39:23 +00:00
zzz
0722fd8b19 SusiMail: P-R-G from login and compose pages (ticket #1373) 2017-12-14 16:11:54 +00:00
zzz
b33551d4b8 SusiMail: Put prev/next targets in form, not in session object,
and use P-R-G (ticket #1373)
2017-12-14 14:46:31 +00:00
zzz
e6251e7cb5 i2ptunnel: Add internal sockets for SMTP and POP3 (ticket #2118) 2017-12-13 23:23:02 +00:00
zzz
5f413efc08 InternalSocket: Implement more methods, add debug output, don't ignore interrupt on accept()
Close socket on InternalSocketRunner exception
2017-12-13 16:06:13 +00:00
zzz
bd341d4be3 Startup: Raise open files ulimit (ticket #1967)
Fixup deb patch to match
2017-12-11 14:14:46 +00:00
zzz
34d879a066 unused imports 2017-12-11 11:44:44 +00:00
zzz
789f15f1e4 Java 10 test 2017-12-11 11:41:19 +00:00
zzz
b04924d2b1 Jetty: Fix request log showing zero length for static content 2017-12-11 11:39:58 +00:00
zzz
ed4dc33105 Router: Change RI locking to a read/write lock (ticket #2096) 2017-12-10 13:06:49 +00:00
zzz
8e51ca7f39 javadoc tweaks 2017-12-09 17:37:02 +00:00
zzz
2e00cec408 deb doc updates 2017-12-09 17:35:34 +00:00
zzz
2a57f62e6b remove SSL cert for reseed now using CA 2017-12-09 17:33:54 +00:00
zzz
cd51c9b3c4 susimail tweaks 2017-12-09 17:32:17 +00:00
str4d
46a342180d Don't compile ScalaTests on Java 7 2017-12-09 12:42:52 +00:00
str4d
578656021e Don't run ScalaTests on Java 7 2017-12-09 02:28:01 +00:00
str4d
7dae4eb303 ScalaTest: Fix deprecation warnings 2017-12-09 01:47:24 +00:00
str4d
4512a940fb Gradle: Run ScalaTest tests in addition to the JUnit tests 2017-12-09 01:43:09 +00:00
str4d
a67ea4b2f2 Cleanups: Close resources via try-finally
We can't use try-with-resources until we bump the minimum-supported Android
version for the client library to API 19.
2017-12-09 01:02:17 +00:00
zzz
fe5e4a2c7a SusiMail: Add tooltips for icon-only buttons
- Fix NPE sorting by sender
- Make subject bold
- Minor prep for folders
2017-12-08 18:59:39 +00:00
zzz
5aef5e24e3 SusiMail: Fix handling of requests for unknown messages 2017-12-08 17:37:33 +00:00
zzz
4c18e2f057 SU3File: Flush and sync on extract (ticket #1941) 2017-12-08 16:08:17 +00:00
zzz
a3e42c435c SusiMail:
- Put UIDL in attachment links, remove session object UIDL (ticket #1373)
- Store UIDL in MailPart
- Fix download of attachments without a Content-Transfer-Encoding
- Fix escaping inside debug html comments
- Fix error return for attachment not found
2017-12-08 15:32:52 +00:00
zzz
2c4ecb7b7c SusiMail: Reference mails by UIDL, not index on page
- Add more safe mime types for downloading
- Put UIDL in show message form, in prep for removing session object UIDL
2017-12-08 02:27:29 +00:00
str4d
28f31ae4ec Fix .travis.yml syntax 2017-12-07 21:29:22 +00:00
zzz
f34b4678ba Util: Deprecate BigPipedInputStream 2017-12-07 19:53:06 +00:00
zzz
1f569b7359 i2psnark: Synch operations on BitField byte array 2017-12-07 19:44:56 +00:00
str4d
7f673bb254 Travis CI: Dynamically add SonarQube plugin to build.gradle 2017-12-07 19:31:30 +00:00
str4d
a02cccaa50 Only use SonarQube with Java 8
It fails on Java 7, and is unsupported on Java 9.
2017-12-07 16:54:02 +00:00
str4d
bcb07ff3c6 merge of '9aa4b7c5c2c7f8711ef82ceb28fe85ec3bc1e509'
and 'c08cb985b2e34268deff746d3849d707d1ed084f'
2017-12-07 16:08:15 +00:00
zzz
479120118d merge of '3587a0d669980fb559bea3c618bc6515c8133189'
and '8b9bf9d50ce636255f7c5ccb9625671d37697fa8'
2017-12-07 15:48:35 +00:00
zzz
0c4f945408 Console: Don't list aliased tunnels separately on /tunnels and /configtunnels 2017-12-07 15:47:12 +00:00
zzz
3291b761e8 SusiMail: Recheck max size if server reports less than default
- More javadocs and cleanups
2017-12-07 15:45:55 +00:00
str4d
b8d78ac779 Combine Travis CI Gradle tasks into a single step 2017-12-07 15:41:12 +00:00
str4d
e6d97308bc Only apply sonarcloud addon to the Travis CI job it is used in 2017-12-07 15:34:21 +00:00
str4d
71dbc0abe6 Only call SonarQube once per Travis CI build 2017-12-07 14:55:44 +00:00
str4d
ff911e37c4 Deduplicate the default Java Keystore password 2017-12-07 14:31:28 +00:00
str4d
f9eaf412b7 Enable SonarCloud in Travis CI 2017-12-07 14:04:48 +00:00
str4d
19016edcfc Gradle: Add code coverage reporting, upload from Travis CI to Codecov 2017-12-07 03:50:25 +00:00
zzz
75e6539f81 fix streaming test take 2 2017-12-06 14:41:05 +00:00
zzz
956c9607ff hopefully fix streaming test 2017-12-06 13:09:53 +00:00
zzz
a28ddedce7 Susimail: Move duplicated Encoding methods to the abstract class 2017-12-06 02:10:31 +00:00
str4d
e13ce467d8 Travis CI: Remove second IRC server after testing 2017-12-05 22:29:39 +00:00
str4d
34b204c44c Travis CI: Tweak IRC notification syntax, add second server for testing 2017-12-05 22:01:56 +00:00
zzz
f5dffb0726 Susimail, Console, Jetty:
- Adjust multipart size limits
- Better handling of errors when multipart limits are exceeded
- Fix multipart config for /configplugins
- Test for total size limit in susimail
2017-12-05 21:46:11 +00:00
str4d
d4bafaeee8 Don't check error messages for JRE-generated errors
They may change across Java versions.
2017-12-05 20:33:12 +00:00
str4d
2f8249bed5 Remove now-unnecessary Jetty Gradle dependency 2017-12-05 20:24:32 +00:00
str4d
5a458822ce Add IRC notifications for Travis CI builds 2017-12-05 20:12:37 +00:00
zzz
692790c4ed Router: Parameterize bandwidth classes, fix display on /tunnels 2017-12-05 15:53:05 +00:00
zzz
7f5f764aba SusiMail: Don't store attachments of composed email in-memory,
encode them on-the fly (ticket #1668)
- Fix bug corrupting sent text and text attachments
  larger than about 1000 chars (output line length was not limited)
- Fix bug corrupting some sent text and text attachments
  containing '.'
- Fix handling of unimplemented encoders
- Error message improvements
- Add test code for encoders
2017-12-05 15:02:23 +00:00
zzz
c299976165 Jetty: Refactor (rather than remove) RequestWrapper to use Servlet 3.0 API.
Remove old org.mortbay helper classes copied from Jetty 5, saving about 24 KB.
Large attachments will now be written to temp files. (ticket #2109)
2017-12-04 16:08:03 +00:00
zzz
14941d0dda Deprecate RequestWrapper (ticket #2109) 2017-12-03 23:09:22 +00:00
str4d
676e9c9320 merge of '17e445455139cbd0a4d4096e2f6bf673bdf0f868'
and '8c95a90070f2706b8b4d3eb9151e0c614d25663b'
2017-12-03 18:23:34 +00:00
str4d
bb38e07e2a Fix broken I2PSocketEepGet test, add additional case
Broken in 49d33fa03636041c4da35476539a3b6aa318da11 by the move from URL to URI.
If URI is passed a URL with a negative port, URI.getHost() returns null, which
bypasses the coercion-to-80. Zero, OTOH, is still coerced.
2017-12-03 18:17:44 +00:00
zzz
16282ec5c5 Util: New utility class for UI message queues, for use by i2psnark and i2ptunnel
i2psnark: Use new utility, prevent message loss on clear
i2ptunnel:
- Don't lose messages on refresh (ticket #2107)
- New clear messages button
- Hide message box if none
- javadoc clarifications
2017-12-03 17:33:20 +00:00
zzz
5912f7c259 fix swapped log msgs 2017-12-03 17:29:31 +00:00
zzz
89d7a594dd fix test on Java 9 2017-12-02 23:25:43 +00:00
zzz
100d307037 i2ptunnel: Propagate resets from streaming to Socket and vice versa (ticket #2071) 2017-12-02 23:12:19 +00:00
zzz
3d0e15aaed cleanup 2017-12-02 22:51:18 +00:00
zzz
e9de0a14b9 Streaming: Send reset when receiving more data after locally closed,
rather than acking (ticket #2071)
2017-12-02 22:32:03 +00:00
str4d
5a3f0163b9 Gradle: Ignore streaming integration tests 2017-12-02 20:58:58 +00:00
str4d
dd89c4a469 Exclude BuildMessageTestStandalone from Gradle test suite
Needs rewriting.
2017-12-02 20:54:13 +00:00
str4d
a65a498c86 Segment integration tests in router 2017-12-02 20:48:53 +00:00
str4d
10d5a17422 Migrate net.i2p.data tests in the router to JUnit 4 2017-12-02 20:08:44 +00:00
str4d
b6298dc091 Segment integration tests in core 2017-12-02 19:35:33 +00:00
str4d
11da21dd67 Remove AESInputStreamTest reference 2017-12-02 19:33:05 +00:00
str4d
a574fcb68d Drop historic unused AESInputStream and AESOutputStream 2017-12-02 19:29:36 +00:00
str4d
0f757489ff Migrate DummyNamingServiceTest to JUnit 4, comment out tests requiring a router 2017-12-02 18:22:59 +00:00
str4d
b8eeb72044 Fix net.i2p.data.*Key tests, remove dead code
Broken in 463f5347b682f23a159bdeb06ffc8f55c5c2cff7 by an underlying API change.
The dead code threw the previously-expected exception.
2017-12-02 17:42:59 +00:00
str4d
60efd0b426 Migrate net.i2p.data tests to JUnit 4 2017-12-02 17:25:09 +00:00
str4d
c36905a309 Travis CI: Use BouncyCastle as a SecurityProvider for OpenJDK 7
Workaround for travis-ci/travis-ci#8503, gradle/gradle#2421.
Solution taken from bugsnag/bugsnag-java#66.
2017-12-02 15:17:06 +00:00
str4d
1ff9e6eff1 Travis CI: Add Gradle cache configuration 2017-12-02 15:06:08 +00:00
zzz
2e888501d6 Core tests: Remove or suppress deprecation warnings
Remove unchecked warnings
Fix HMACSHA256Test and HMACSHA256Bench?
2017-12-02 14:28:03 +00:00
zzz
e6f17ec1ab Router tests: Remove or supporess deprecation warnings
Remove cast warnings
Fix RouterAddress.setExpiration() to match javadoc, used only by tests
2017-12-02 13:56:13 +00:00
str4d
2becaaa593 Add a basic Travis CI configuration 2017-12-02 10:25:00 +00:00
zzz
f8e871cea9 build dep fix 2017-12-01 16:08:03 +00:00
zzz
80e3c96f2d LeaseSet: Better error messages when decode fails (ticket #2108) 2017-12-01 15:57:54 +00:00
zzz
dc13ed6c19 Console: Move /configkeyring HTML to console,
don't truncate hashes, tag for translation,
display as b32, trim form data, better form errors,
fix removing entries, parameterize form messages (ticket #2108)
2017-12-01 15:53:16 +00:00
zzz
17b72dd549 Streaming: Double the RTO on congestion (ticket #1939)
This prevents being stuck at a window size of 1, retransmitting every packet,
never updating the RTT or RTO. See RFC 6298 section 5 item 5.5.
2017-12-01 14:10:57 +00:00
zzz
9b2a85df38 Console: Split net.i2p.router.web into two packages, and move the new .helper package to the war 2017-12-01 14:07:29 +00:00
zzz
6c56d679ab Debian: Exclude gradle, IntelliJ, Docker, .tx, gcj files from source tarballs 2017-11-27 23:59:05 +00:00
str4d
5c5f5bc682 Update history after prop 2017-11-27 15:47:49 +00:00
str4d
881ff77171 Remove unneeded dependency 2017-11-27 15:41:19 +00:00
str4d
9be53ecb43 Swap out getopt, gettext, and geoip code in Gradle libs for dependencies 2017-11-27 15:36:09 +00:00
str4d
646dbffe69 Add license details for Gradle wrapper 2017-11-27 14:44:48 +00:00
str4d
95f5244fd9 Add Eclipse and IDEA project files to ignores 2017-11-27 09:53:00 +00:00
str4d
694aab503d Drop old Eclipse and IDEA project files 2017-11-27 09:47:14 +00:00
str4d
36a313cc30 Don't make the apps/ dir itself a Gradle Java project 2017-11-27 01:34:15 +00:00
str4d
e011d60987 Add project file generation for IDEA 2017-11-27 01:27:55 +00:00
str4d
d76d68ea8d Update Jetty and Tomcat versions after prop 2017-11-27 00:54:07 +00:00
str4d
404fe4f127 propagate from branch 'i2p.i2p' (head d3ba02961713c42005f60442d7816cefa3dcf46a)
to branch 'i2p.i2p.str4d.test2' (head fbda38b84fe469dba05367115d2c26dee65fc5f4)
2017-11-27 00:34:41 +00:00
str4d
27d8b0ee3d Make settings.gradle more readable 2017-11-27 00:34:02 +00:00
str4d
89f2a76409 Update README 2017-11-26 23:27:59 +00:00
str4d
3acb7a5c28 Apply java-library plugin to published libraries 2017-11-26 23:20:24 +00:00
zzz
03588e7648 Console: Safer processing of changes on /configadvanced 2017-11-26 20:54:44 +00:00
zzz
6a48910935 Build: add xenial release target, it will be our 4th launchpad flavor.
build.xml cleanups
doc updates
2017-11-26 15:27:06 +00:00
zzz
fb4fb47ee3 Context: Hopefully fix rare NPE on Android (ticket #2092) 2017-11-26 14:16:16 +00:00
zzz
7a36b07cf7 Debian: Clean up the suggests list 2017-11-25 22:00:31 +00:00
zzz
4a59c19ac9 Console: Show full logger.config path on /configlogging
Don't say 'Plugin downloaded' when installing from file
2017-11-25 19:53:25 +00:00
zzz
51a6f298e2 Debian: Remove libecj-java dependency (ticket #2094)
Add taglibs-standard-* to apparmor list (ticket #2093)
2017-11-25 19:42:10 +00:00
zzz
752c17ca6c doc tweaks 2017-11-25 19:00:09 +00:00
zzz
a3a17a4f32 Debian: Replace glassfish-javaee with libtaglibs-standard-* (ticket #2093)
Only for stretch and later, zesty and later
Copy more files for previous stretch setup to xenial
2017-11-25 18:59:04 +00:00
str4d
7f6ba8cd15 Enable overriding of the gpg binary 2017-11-24 11:39:05 +00:00
zzz
6cd5f1d83b i2ptunnel: Add timeout to header reads for CONNECT, HTTP, and SOCKS client proxies
Clean up SOCKS exceptions
2017-11-23 17:44:03 +00:00
zzz
2a2795827a Wrapper: Update to wrapper 3.5.34
All binaries from Tanuki Delta Pack Community Edition,
except for armhf (armv6), compiled on Raspberry Pi:
  ant 1.8.2
  javac 1.7.0_151
  gcc 4.6.3-14+rpi1
Windows binaries remain unchanged as we must recompile them ourselves
(32 bit just to change the icon; 64 bit is not provided by Tanuki)
2017-11-23 15:33:59 +00:00
zzz
700c843b11 i2psnark: Fix nbsp in logs on config change (ticket #2082) 2017-11-22 15:55:19 +00:00
zzz
d28220cd04 Tomcat 8.5.23
Prior to Jetty 9, we used the Tomcat 6 distribution.
As of Jetty 9, we used Tomcat 8.0.33 that was included in the Jetty 9 distribution,
but that is old and doesn't get updated.
Now use the latest Tomcat 8 distribution, and pick the same packages
as Jetty 9 did in their distribution.
2017-11-22 14:49:22 +00:00
zzz
ad056bcef5 Streaming: Fix bug causing hangs on loopback and preventing desired ack behavior (ticket #1939) 2017-11-22 00:10:52 +00:00
zzz
b2dcf2069f Transport: Add checks for more Tor ports as invalid 2017-11-21 01:33:22 +00:00
zzz
8c7898de1e Reseed: Add support for reseeding via outproxy or Orchid (ticket #1841)
InternalSocket: Add support for some methods needed for reseed to work
2017-11-21 01:29:31 +00:00
zzz
07a83bf310 EepGet: Refuse attempted redirect to HTTPS, won't work 2017-11-21 00:58:44 +00:00
zzz
173823695f HTTP Proxy: Better HTTP status message when no outproxy configured 2017-11-21 00:06:32 +00:00
zzz
5000a266cb i2prouter: Fix echo -n on OSX 2017-11-20 23:06:06 +00:00
zzz
14e9315262 Streaming: log tweak to assist in fixing ticket #1939 2017-11-19 21:32:12 +00:00
zzz
3abc777062 Debian: Fix builds for x32 (ticket #2076)
Incorporate patches 2 and 3 into build scripts
2017-11-19 16:58:51 +00:00
zzz
3ba46f16d1 /configreseed help tweaks 2017-11-19 00:41:42 +00:00
zzz
85bb495754 DTG: On OSX, set dock icon, and enable by default 2017-11-19 00:40:50 +00:00
zzz
0ba207cb01 Reseed: Improve status feedback in logs, summary bar, and /configreseed
- Show proxy info, if applicable, in logs
- Show status in summary bar for manual reseed (previously hidden if more than 30 routers)
- Show status in summary bar after successul completion
- Show reseed button in summary bar if less than 50 known RIs (previously 30)
- Show current status on /configreseed if already running
- Consolidate proxy settings detection in ReseedRunner constructor
- Enhance help text on /configreseed (tickets #423, #1130)
2017-11-18 18:47:50 +00:00
zzz
33aac1b125 Reseed: Add SOCKS proxy support (ticket #1130) 2017-11-17 23:46:45 +00:00
zzz
d5cc1d83f3 SSLEepGet: Refactor proxy code to new method, in prep for adding more 2017-11-17 20:49:00 +00:00
zzz
92a26f6f7b Addressbook: Fix adding alternates after importing an empty book (ticket #2072) 2017-11-17 20:34:51 +00:00
zzz
d04050e6b0 SOCKS: Move constants and client code from i2ptunnel to
a new package in core, in prep for use by SSLEepGet (ticket #1130)
Make SOCKSException extend IOException, which allows some cleanups.
Untested.
2017-11-17 20:14:10 +00:00
zzz
80cb62b777 SSLEepGet, Reseed: Implement HTTPS proxy option (ticket #423) 2017-11-17 13:33:46 +00:00
zzz
570dea85f1 Console: Hide Reseed HTTP proxy options if no HTTP URLs (ticket #2007) 2017-11-16 16:17:03 +00:00
zzz
86a2e16ffb Fix pkg build for Jetty 9.2.22
Set next release to include GeoIP
2017-11-16 13:28:01 +00:00
zzz
ed39ea408f Utils: Consolidate user-agent detection code in a new utility class
Add some new checks for mobile
2017-11-16 12:58:59 +00:00
zzz
e9ff0c2882 i2psnark: Fix bad completion status after recheck (ticket #2046)
Only occurred if torrent had previously run, was previously incomplete,
and was now complete.
Also fixed changed-after-recheck logic to be precise.
2017-11-16 02:26:29 +00:00
zzz
e78081f33b Jetty 9.2.22
Remove patches for 9.2.21
2017-11-16 02:15:18 +00:00
meeh
eb04971d5a Fixed unicode character which fixes "ant javadoc". 2017-11-14 16:35:34 +00:00
zzz
43d496a93e Regenerate the Debian source po file with debconf-updatepo
i2p.templates file was changed in 986a85fec8c8fd8fd12a3748163fe80c4eb80b51 03/21/2016
but didn't do the po file at that time.
Dutch Debian translation update from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879135
2017-11-12 14:22:32 +00:00
zzz
8212d68c41 Summary Bar: Use Rate instead of instantaneous value for used memory 2017-11-09 17:39:14 +00:00
zzz
f060287df8 Summary Bar: Fix max memory value 2017-11-09 13:08:05 +00:00
zzz
1fbf188d61 debian updates 2017-11-08 22:09:53 +00:00
zzz
c1591983f9 langbox part 2 2017-11-07 01:09:51 +00:00
zzz
b726424a34 increase langbox 2017-11-06 23:57:49 +00:00
zzz
e4814a7d06 bump 2017-11-06 23:47:27 +00:00
zzz
2b8f14f709 Minor fixes and javadocs after review
Set 90 day default for event log
Format clock skew in summary bar
Constant time for password hash check
2017-11-06 23:45:57 +00:00
zzz
e281620063 0.9.32 2017-11-06 22:03:24 +00:00
zzz
7a6db4eda2 remove trailing newline 2017-11-06 22:00:12 +00:00
zzz
97ad909378 Update translations, add Indonesian
Add missing debian nb translation
2017-11-03 21:25:34 +00:00
zzz
718fff945e translated man page updates 2017-11-03 20:30:28 +00:00
zzz
622272758e translation updates from transifex 2017-11-03 20:02:40 +00:00
zzz
19b84aff9f GeoIP 2017-10-04 2017-11-03 19:07:13 +00:00
zab2
3f4daede8f switch to a single sourceSet. This fixes the last remaining problem with one-click import in eclipse 2017-11-03 18:23:49 +00:00
str4d
5d71fb0b44 Bump version 2017-11-03 07:58:58 +00:00
str4d
73ab3e834c propagate from branch 'i2p.i2p.str4d.ui' (head a782f0bce10ae47d857e9ebadf9b62b967f2c77e)
to branch 'i2p.i2p' (head 01ea5b14ea8f5e730d457eca5fd73aec05849902)
2017-11-03 06:28:12 +00:00
str4d
8901e3c34c Theme updates
Console:
- Fix scrolling latency issue light theme in Chrome/blink and older Firefox
  versions (ticket #2024)
- Various cosmetic tweaks, fixes and enhancements

I2PSnark:
- Reduce scrolling and hover latency
- Add sort direction hover indicators to .snarkTorrents header icons
  (dark/midnight)
- Various cosmetic tweaks, fixes and enhancements

Susimail/SusiDNS:
- Various cosmetic tweaks, fixes and enhancements
2017-11-03 06:22:27 +00:00
str4d
3b1a1fa027 Sidebar: limit event logs to last 7 days, to avoid page freezes 2017-11-03 02:49:24 +00:00
str4d
91977aabae /graphs:
- Reorganised config form
- Fixed "hide legends" option
2017-11-03 02:39:05 +00:00
str4d
49d970c5bc Fix compilation without bootstrap classpath set 2017-11-03 01:05:37 +00:00
str4d
e34ab0b7a8 Indentation 2017-11-03 00:53:36 +00:00
zab2
6cd560ff1b fix name 2017-11-03 00:33:09 +00:00
zab2
d3cdf3c7d7 switch to single source multiple jar approach 2017-11-03 00:11:51 +00:00
zab2
ab69fab3e4 add mini-streaming to testCompile dependencies as well 2017-11-02 20:23:32 +00:00
zab2
bf639478c7 add mockito to top level 2017-11-02 20:15:48 +00:00
zab2
69bd0571d4 add mockito 2017-11-02 19:57:21 +00:00
zab2
a3df4a399c eclipse users rejoice 2017-11-02 19:04:40 +00:00
str4d
a715d2b6d7 I2PSnark:
- Roll back target="_top" in config page to prevent embedded view from breaking
  out of iframe
- Add target="_blank" to relevant links to avoid display in iframe in embedded
  mode
- Enhance presentation of tracker links in TorrentInfo view
2017-11-02 10:11:14 +00:00
str4d
31a52d2acc Sidebar:
- Fix erratic display of sidebar graph
- Add id to memory bar so we can target it for Chrome/blink display issue
2017-11-02 10:09:10 +00:00
str4d
76629741f1 Add EdDSA test vectors to test resources 2017-10-31 12:50:30 +00:00
str4d
3eef793bda Add bootstrap classpath JARs if necessary 2017-10-31 08:35:04 +00:00
str4d
db17aa048d propagate from branch 'i2p.i2p' (head 01ea5b14ea8f5e730d457eca5fd73aec05849902)
to branch 'i2p.i2p.str4d.test2' (head 0cf1d8a3ab9cde1e942ea8043e64fcb2892a0872)
2017-10-31 08:25:05 +00:00
str4d
dc6ab70a69 I2PSnark: Use reflection to access ConfigUIHelper in standalone build
This fixes a "Class not found" error in some build systems
2017-10-31 08:24:34 +00:00
str4d
bf4cb419a1 Update i2psnark Gradle build script 2017-10-31 08:15:51 +00:00
str4d
a0b316e56d Update Jetty version after prop 2017-10-31 08:15:10 +00:00
str4d
62d34f51cb Addressbook has moved from war to jar 2017-10-31 08:14:21 +00:00
str4d
113f2c4d14 Gradle build script for JRobin 2017-10-31 07:16:07 +00:00
str4d
2ca658174a Set Java 7 build target for all projects 2017-10-31 07:14:39 +00:00
str4d
c78af828ac Add missing test dependency 2017-10-31 06:13:24 +00:00
str4d
041f5478a4 Use JCenter repository (which pulls from Maven Central) 2017-10-31 06:13:12 +00:00
str4d
72081a8647 Upgrade Gradle & wrapper to 4.3 2017-10-31 06:12:50 +00:00
str4d
7b221fa239 Update router version in build.gradle after prop 2017-10-31 04:32:08 +00:00
str4d
d95e730d94 propagate from branch 'i2p.i2p' (head 707603fcdd707b7521d213a82287d64520e18d37)
to branch 'i2p.i2p.str4d.test2' (head d44865c44b6a31ff2e3d5bf9a5e98a6f28d80e5b)
2017-10-31 04:29:54 +00:00
zzz
670e56ded2 poupdate 2017-10-25 16:46:36 +00:00
str4d
20a58a24bb Use correct shared bandwidth measure in TunnelRenderer 2017-10-25 10:18:18 +00:00
str4d
bf42cc1594 propagate from branch 'i2p.i2p.str4d.ui' (head 396ff40bde06334be0bd26509dc5e31b75f2c2f5)
to branch 'i2p.i2p' (head 9ba94555553a2d114c9c44022b0ff6e228972d33)
2017-10-25 10:00:12 +00:00
str4d
e44fb48ff0 Tag strings for translation 2017-10-25 09:49:48 +00:00
str4d
1c6ca5011d Theme updates
Console:
- light:
  - Lighten/tint buttons and dropdowns to better blend with reworked theme,
    vary text color for different button states
  - Increase vertical spacing for status/buttons in news section
  - Fix minor rendering issue with h1's (remove bottom border-radius)
  - Fix some mismatched heading coloring issues
  - Fix alignment issue on /configservice in Arabic/Chinese (ticket #2024)
  - Ensure spacing of sidebar elements is consistent in Chinese
- dark: Overhaul theme
- classic: Add fallback CSS to ensure browsers without CSS3 support can display
  icons on buttons (tested with Netsurf)

Proxy: Remove truncation of URLs in the error messages and handle with CSS to
  avoid UI breakage

I2PSnark
- Add button hoverstate for tracker details, torrent details and file icons
- light
  - Sync buttons in embedded mode with console theme
  - Fix non-functioning message log close icon
- dark: Overhaul theme and sync with console theme in embedded mode
- classic: refresh CSS

Susimail:
- Overhaul dark theme
- Sync theme to console theme by default, override if user sets theme
  (unless universal themeing is enabled)
2017-10-25 09:47:34 +00:00
str4d
cdd89df98d /tunnels:
- Indicate that no participating tunnels will be built when shared bw is too low
- Replace <a name> with id attribute for anchor links
2017-10-25 09:47:00 +00:00
str4d
ac833ec474 /help:
- Update sidebar help section (en)
- Remove redundant CSS class from all help section files (li.tidylist)
2017-10-25 09:39:09 +00:00
str4d
da9c06e663 /configui: Use larger flags for language selection 2017-10-25 09:38:12 +00:00
str4d
df95e29f4e I2PSnark UI bugfixes
- Fix broken collapsible panels issue for browsers that don't support the
  feature by conditionally loading override CSS to expand panels by default
  and disable hover/active states for panel headings (tickets #2002, #2026)
- Add UI option to configuration section to enable collapsible panels, and
  disable the option if a non-compliant browser is detected
- Fix multiple instances of snark refreshing to the homepage (ticket #2028)
  (patch supplied by mindless)
- Tentative fix for caching of images so ajax refresh doesn't reload all
  image resources
- Standardize 'Save Configuration' action to return to top of the page
  (so we can see message log entry)
2017-10-25 09:35:51 +00:00
str4d
47d354711e /configui: Add option to embed Susimail and I2PSnark in console 2017-10-25 09:33:20 +00:00
str4d
b54a5c592e SusiDNS:
- Reinstate filter removal on addressbook navigation links (ticket #1996)
- Reduce vertical padding for filter buttons section
- Migrate search section to div and reposition page elements to better
  integrate with host list and minimize whitespace
2017-10-25 09:32:38 +00:00
str4d
5ecae1a951 I2PTunnel: Add hostname / destination (b32) info to server section on index page
For parity with client tunnels section
2017-10-25 09:32:07 +00:00
str4d
0e5b46e7d8 Console sidebar improvements
Sidebar:
- Adjust vertical spacing of general section
- Rename 'General' section to 'Router Info' and move ident info to h3 tooltip
  (ticket #1996)
- Replace 'Short Router Info' with a new 'Advanced Router Info' section in
  default advanced sidebar (adds memory usage and clock skew)
- Add optional embedded bandwidth graph (experimental)
- Add optional memory usage bar
- Add optional Advanced Peers section (adds failing and banned peers)
- Add Help link to 'I2P Internals' section
- Add help page anchored links and troubleshooting to 'Help & FAQ' section
- Add download progress bar for router and plugin updates
- Add 'Advanced Minimal' sidebar configuration
- Add Jobs and Events links to Advanced section
- Add additional reachability states for clockskew and vmcomm (with icons)

Homepage: Add 'Customize Sidebar' link to signpost the feature now that there
  are more optional sections available (ticket #1996)
2017-10-25 09:31:13 +00:00
str4d
97267a4d5c /graphs:
- Add option to hide legends
- Adjust size of up/down bw graph to match other graphs (ticket #1996)
- Modify image font color to better blend with themes
- Tweak spacing of elements for non-Debian installs
2017-10-25 09:29:49 +00:00
zzz
9ae9abd888 NTCP: Convert configured NTCP hostname to IP address before publishing (proposal #141) 2017-10-24 23:18:22 +00:00
zzz
3f4df2317a UDP: Reduce log level on IP change (ticket #2053) 2017-10-21 13:57:43 +00:00
zzz
c7a3e271db Console: Validate host header (thx Kevin Froman) 2017-10-11 16:26:37 +00:00
zzz
37e0b2ceb1 Router: Honor IPv6 setting when converting configured hostnames
to IP addresses (proposal #141)
2017-10-11 16:23:13 +00:00
zzz
e3751b36ec checklist update 2017-10-11 16:21:46 +00:00
zzz
cd21cda42a BuildTime update 2017-10-11 16:21:33 +00:00
zzz
5fb6b2c79a Router: Convert configured hostnames to IP addresses
before publishing (proposal #141)
NTCP-only config still to do
2017-10-04 17:33:55 +00:00
zzz
c4a932b187 missing paren 2017-10-04 15:54:48 +00:00
zzz
30b9f063d3 Debian: Backport fixes from 0.9.30-4 package (ticket #2027)
and add buster files

* debian/NEWS: remove
* debian/README.Debian: update
* debian/compat: set compat level to 9.
* debian/control: added ${misc:Depends} to i2p & libjbigi-jni's Dep.
* debian/control: added bash-completion build dep
* debian/control: remove version on lsb-base dep
* debian/rules: fixed a typo (override_dh_dhlibdeps -> override_dh_shlibdeps).
* debian/rules: remove apps/susidns/src/lib/standard.jar symlink on clean.
* debian/i2p.postinst: Fixed a typo (missing ")" in /etc/default/i2p).
2017-09-29 18:27:15 +00:00
zzz
de487411b6 Router: Don't lookup hostnames in addresses (proposal #141) 2017-09-14 15:04:16 +00:00
str4d
bcd7b7e6ca Update history after prop 2017-09-12 10:08:32 +00:00
str4d
8f4f7b7b53 propagate from branch 'i2p.i2p.str4d.bench' (head 61fcef0f1004c55f7b15ba3982173050a952a08c)
to branch 'i2p.i2p' (head 8374318b8b49df7f47dfa0d2653413ceccab9b52)


Core: New benchmarking framework based on JMH (ticket #2036)
2017-09-12 10:08:09 +00:00
str4d
10cfa6eeab Add NativeBigInteger benchmarks 2017-09-08 16:25:38 +00:00
str4d
9e2bd4aacd Fix bench.jarUpToDate 2017-09-08 11:28:19 +00:00
str4d
1a493094bb Add usage info to benchmark script 2017-09-08 11:24:36 +00:00
str4d
3d24cc9e92 Move benchmarks into core 2017-09-08 11:16:40 +00:00
str4d
7346ce1c89 Enable benchmarks.sh to run with everything in one directory 2017-09-08 10:49:05 +00:00
str4d
d5e97d2392 Clean up benchmarks dir 2017-09-08 10:28:11 +00:00
zzz
2cd9b34427 Data: Prohibit excess key data in certs (ticket #2035) 2017-09-02 12:21:55 +00:00
zzz
94738c1396 new opentrackers 2017-09-02 12:18:01 +00:00
zzz
8d89d1eedb new reseed 2017-09-02 12:15:55 +00:00
zzz
8fd354eea6 Startup: Add property to disable output redirect (ticket #2037) 2017-09-02 12:12:08 +00:00
str4d
f611f4c965 Minor cosmetic issues in the default console and snark themes 2017-08-26 21:41:24 +00:00
str4d
40642c805c Remove old benchmarks 2017-08-26 20:46:33 +00:00
str4d
2bb0ca97d6 Use I2PAppContext for obtaining instances of AES and SHA256
This gives a more realistic benchmark of how the rest of the I2P codebase
experiences these calls.
2017-08-26 20:41:12 +00:00
str4d
d828ed4342 Shorten the benchmark names 2017-08-26 20:08:17 +00:00
str4d
a06c3fe043 Add a script for running the benchmarks with or without jbigi 2017-08-26 19:17:09 +00:00
zzz
d77cd04061 Transport: More invalid ports 2017-08-22 12:42:14 +00:00
zzz
1efc1677a3 i2ptunnel: Check for RFC 7239 Forwarded header 2017-08-22 12:39:12 +00:00
zzz
2071cf8596 more Skylakes 2017-08-22 12:36:23 +00:00
zzz
51d4827657 i2psnark: finals for Message class
recognize BiglyBT
cleanups
2017-08-22 12:34:38 +00:00
str4d
6615586a4e Add benchmarks for ElGamal 2017-08-20 21:13:57 +00:00
zzz
3d385228f0 findbugs all over 2017-08-09 21:24:02 +00:00
zzz
24414845d0 Package changelogs
Fix extra chars in patch 1
Fix javadoc causing build error on Trusty
Deb build doc updates
2017-08-09 19:53:41 +00:00
zzz
2c76b87fba 0.9.31 2017-08-06 21:45:05 +00:00
zzz
bbe3a71d2c bump for review 2017-07-31 21:05:41 +00:00
zzz
9d1097b467 merge of '11dcbebf6657486cbeae1d8bfe43ede3f4a5b314'
and '8e065cf86f719138e323815c38f249ed56941327'
2017-07-31 20:51:17 +00:00
zzz
8beb75be50 refresh deb patch 2017-07-31 20:49:50 +00:00
str4d
80c55c150f Console: fix router family page form (ticket #2022) 2017-07-31 20:43:29 +00:00
str4d
82806099a7 Console theme tweaks:
- Use plugin icon for unidentified sidebar plugins and ensure placement and
  coloring is consistent
- Mobile:
  - Fix misaligned elements in light theme
  - Enhance 'Summary Bar' link
2017-07-31 19:30:07 +00:00
zzz
903f46f3a8 man page translation updates 2017-07-31 19:02:24 +00:00
zzz
d99a699839 translation updates 2017-07-31 18:55:06 +00:00
str4d
9f15ae6e56 Add a0.png to update files 2017-07-30 12:13:03 +00:00
str4d
26bc83c51b Console theme fixes
- light theme:
  - Fix spacing issue with banned peers list 
  - Tweak font sizes for Arabic
- Shrink icons in sidepanel network status span
- Add single graph view buttons to classic theme
- Better separation of graphing controls in single graph view
- Enhance presentation of /oldconsole and /proof
2017-07-30 12:05:04 +00:00
str4d
5dd5a99de5 Theme fixes
Console:
- Enhance presentation of show/hide news links on home page
- Fix some issues with Arabic CSS (light/dark)
- Further tweaks to graphs display and fixes for borderless single graphs
  in midnight/dark themes
- Fix minor coloring issues with light theme post-rework
- Misc theme fixes

I2PSnark:
- Move </center> tag in fileinfo view that prevented sticky navbar from working
- ubergine:
  - Alternative panel tabs for embedded view
  - Tighten .snarkTorrents thead/tfoot spacing
  - Tweak embedded navbar coloring
  - Reduce height of download bars
2017-07-28 18:00:53 +00:00
str4d
ac75327a78 Refactor README.md 2017-07-28 00:45:08 +00:00
str4d
2f48af517e Bump -21-rc 2017-07-27 02:16:06 +00:00
str4d
e284675e5a UI fixes
'light' theme (console & apps):
- Rework to reduce contrast (ticket #1996)
- Add custom radio/checkbox icons for Chrome/Blink

Console:
- Fix reseed failure notice overlap when "check connection" message shown
- Enhance presentation of console "error 500" messages
- Cosmetic tweaks to welcome page presentation, arabic welcome page tidyup
- Migrate .smallhead th class to tr to simplify markup
- Sidebar:
  - Remove "Congestion" from default sidebar (still present in default
    advanced sidebar)
  - Fix label wrapping issue with translations
  - Migrate sidepanel news section to tables to permit better control over
    wrapping and placement (ticket #1996)
  - Move news item dates to tooltips to lessen chance of headlines wrapping
    and cleanup presentation
  - Increase maximum length of local tunnel links in the sidebar (and handle
    overflow with CSS) to minimize chance of default tunnels display
    truncating in translations
  - Add the power off icon to sidebar restart button on hover to clarify
    button function (ticket #1996)
- /configadvanced: Move floodfill status to row above to remove unnecessary
  whitespace and cleanup UI
- /debug: Add debug icon to h2 headers to aid navigation
- /graphs: Improve presentation of graph images by removing rendered border
  and setting background color to better integrate with themes
- /home: Widen div.app to lessen chance of truncation (classic/midnight)
- /jars:
  - Minimize table overflow with conditional scaling of content
  - One-click select for revision, sha256 & unsigned mods
- /logs:
  - Reduce line/entry spacing for router and critical logs (#ticket 1996)
  - Multi-column view for changelog at >=1400px to address horizontal
    whitespace issue
- /netdb:
  - Multi-column display of Leases in LeaseSet tables
  - Better alignment of Lease elements, iconify gateway
  - Placeholder flag for unknown/unresolved peers for [flag+dest] combos to
    improve presentation / fix deadspace issue
- Chinese:
  - Fix alignment of table contents in /tunnels (classic)
  - Fix sidebar content display width (midnight)
  - Cosmetic fixes (all themes)

I2PTunnel:
- Ensure message log font scales proportionately
- Fix overflow issue with dropdowns in Chrome/blink (dark/midnight)

SusiDNS
- Reduce width of filter buttons to lessen chance of wrapping (ticket #1996)
- Add non-selectable items to improve copy/paste of hosts in address books
- Make dest addresses in host list only display scrollbar on focus to reduce
  screen clutter
- Hide broken imagegen images

SusiMail: Enhance presentation of 'postman' links on login panel
2017-07-27 02:14:34 +00:00
str4d
674f523cba Add JavaScript snippet to reset dest address scroll position onblur
Fixes Chrome/Blink disappearing text bugs in i2ptunnel and susidns.
2017-07-27 01:23:06 +00:00
str4d
2bfe27d217 /jars:
- JARs, WARs & individual plugins separated with headers
- Filenames stripped of path info (path indicated on headers and tooltips)
- Add container divs and styling markup
2017-07-27 00:42:46 +00:00
str4d
fe2387e4f0 Missing from previous commit 2017-07-27 00:02:25 +00:00
str4d
30eb089623 /debug:
- Add container divs and styling markup
- Add top navigation menu
2017-07-26 23:14:30 +00:00
str4d
ee1112cca7 SusiMail: Dismiss notifications on click 2017-07-26 23:04:29 +00:00
str4d
a39fb3d7c2 I2PSnark:
- Mitigate truncation of ratings dropdown in comments section (translations)
- light: Reduce contrast of display text
- light/classic: Increase contrast of download bars
- Create Torrent trackers table: Replace "Tracker URL" with "Tracker Type"
  (ticket #1996)
- Add a persistent warning to the messagelog when JavaScript is disabled to
  indicate potential loss of form data upon refresh (ticket #1996)
- Migrate "view or change bandwidth" to [Configure] tooltip to standardize
  configuration links, allow for more space for option labels and lessen
  chance of option labels wrapping in translations
2017-07-26 22:03:08 +00:00
str4d
0feb16d57b history.txt: Tweak my older entries to fit 80 character per line limit
This ensures the routerconsole changelog multi-column view doesn't wrap
unnecessarily.
2017-07-26 20:46:54 +00:00
str4d
b8f5c956e6 Console: Move JRobin default color and font changes into SummaryRenderer
This ensures these changes are applied to Debian installs, where we get JRobin
from the package manager instead of our bundled source.

The padding and grid stroke changes to RrdGraphConstants have not been reverted,
because there is no API provided to alter those values. This will result in a
minor difference between Debian and non-Debian graphs, and if a user shares
those graphs, it will reveal the fact that they have installed the Debian
package. This is acceptable, given that the graphs themselves inherently reveal
significantly more private information than that.
2017-07-25 10:13:36 +00:00
str4d
f9b8a5ec11 JavaDoc fix 2017-07-25 03:43:49 +00:00
str4d
32968af39c Add benchmarks for AES and SHA-256 2017-07-25 03:43:04 +00:00
str4d
49ed17032c Add a benchmarks subproject 2017-07-25 03:41:55 +00:00
zzz
70393fd2d9 Console: Fixup /imagegen text 2017-07-19 14:43:51 +00:00
zzz
d4a139f215 Console: Fix compile error with Jetty 9.2.22 (ticket #2019) 2017-07-15 13:57:40 +00:00
zzz
0b85bffeff Crypto: Preserve CRT parameters for RSA private keys (ticket #2005) 2017-07-13 15:53:00 +00:00
zzz
5ddb4edd14 fixups after review 2017-07-13 15:46:37 +00:00
str4d
d2da262374 Theme fixes
Console:
- /tunnels: Fix display issue with inbound/outbound glyph display in table
  header (classic/light)
- light: Prevent routerlogs from causing horizontal page overflow 

I2PSnark:
- Reduce size of screenlog font at 1400-1600px viewport width to lessen
  chance of text-wrapping (ticket #1996)
- classic: Fix a linespacing issue in the config section (options:) that only
  triggers in foreign languages that force the options td to wrap
2017-07-11 03:35:49 +00:00
str4d
3c19bb4ec5 Console: Increase displayed changelog lines to show entire release cycle 2017-07-11 03:31:55 +00:00
str4d
123c0de700 Correct some history entries 2017-07-11 03:18:11 +00:00
str4d
19fcb9e5b9 Comments 2017-07-11 03:08:52 +00:00
str4d
281534b0b0 Fix HTML tags across non-default conditional branches 2017-07-11 02:15:17 +00:00
str4d
4fff74793b I2PSnark: Fix I2PSnarkUtil.getCommentsName() to match its JavaDoc 2017-07-11 02:13:32 +00:00
zzz
7d62c43209 bump -18-rc 2017-07-08 19:59:01 +00:00
zzz
00388675f1 new translations 2017-07-08 16:00:51 +00:00
zzz
4ddca951f2 translations update 2017-07-08 15:15:28 +00:00
zzz
2abaa4a39b fix html errors in help files 2017-07-08 13:26:29 +00:00
zzz
402a2af898 GeoIP 2017-07-04, blocklist update 2017-07-08 13:14:17 +00:00
str4d
4e8ed909e3 Bump -17-rc 2017-07-07 21:25:34 +00:00
str4d
5c670fc57f Show advanced sidebar links by default in advanced mode (ticket #1996) 2017-07-07 21:24:23 +00:00
str4d
e83d31f749 /logs: Correctly format unavailable crypto warnings (ticket #1996) 2017-07-07 18:40:10 +00:00
str4d
d8831151fe Console: Fix log file size config bug on /configlogging bug (ticket #1996) 2017-07-07 17:25:25 +00:00
str4d
87d6c302e6 Minor theme tweaks:
- Console:
  - Cosmetic changes to new firewalled network status in sidebar
  - Arabic: ensure the destinations correctly align on /tunnels
- I2PSnark: Ensure .snarkNoneLoaded background color remains constant on
  mouseover in dark theme
2017-07-02 14:17:59 +00:00
str4d
afec920bee Bump -16 2017-07-02 03:56:32 +00:00
str4d
873b0b0f19 SusiDNS: Default to the console theme 2017-07-02 03:42:35 +00:00
str4d
96c73e7fcb i2psnark: ubergine fix for hidpi 2017-07-02 03:29:03 +00:00
str4d
56f6a68ef3 Console: Show correct icon for "Firewalled" network status 2017-07-02 03:25:36 +00:00
str4d
7cd7f01db9 Console light theme: prevent identicon breaking out of its container 2017-07-02 03:07:54 +00:00
str4d
1650cbe8de Bump -15 2017-07-02 01:42:29 +00:00
str4d
dc46f00a35 merge of '95d429bc46db23b3e3181caf4e622b763cff51eb'
and 'ca23007c18cf5894a1b6b4efa92207aa025473d2'
2017-07-02 01:42:05 +00:00
str4d
d2edce845a I2PSnark:
- Standalone:
  - Better target the per-theme resources
  - List all available themes in config section
- Themes: tidyups & further optimizations to reduce lag
2017-07-01 19:55:19 +00:00
str4d
bd84ba2d5c SusiMail: set button widths 2017-07-01 19:47:15 +00:00
str4d
bd74b22b02 Console:
- /netdb:
  - All Routers/Leasesets/Sybil sections:
    - Each transport instance on own line
    - Better presentation of address characteristics
    - Place flag in table header
  - Container div for leasesets to allow 2 column display at wider viewport width
  - Increased spacing of lease information in leaseset tables
  - Add div for "not initialized" message
  - Reorganize content display in sybil database to reduce horizontal whitespace:
    - Conditional 2-column display of sybil families
    - Sybil router characteristics & threatpoints presented in multi-column view
    - Added empty (n/a) fields to maintain visual consistency in column view
- /tunnels: ensure our tunnel tables display correctly in Arabic
2017-07-01 19:44:02 +00:00
zzz
c768b8f8d7 DNS (ticket #1998):
- Data: Cache hostname lookups in RouterAddress
- Job Queue: Make search jobs droppable
- Router: Increase JVM DNS cache time
- Util: Add negative DNS lookup cache, increase cache size
2017-07-01 19:41:16 +00:00
str4d
56c0fbeebe Tag "local" strings on /tunnels (tagged for translation elsewhere pre-freeze) 2017-07-01 18:59:10 +00:00
str4d
5bc9d0af52 I2PSnark: Fix unclosed <label> 2017-07-01 08:08:38 +00:00
str4d
12cbbfbac7 Bump -13 2017-06-19 13:47:55 +00:00
str4d
4aa4ff738a Console:
- Add untagged strings for /tunnels tooltips and local tunnel indicator (to
  be tagged for translation post .31 release)
- classic: reduce color contrast of main display font
- classic/dark/midnight: alignment on /peers and /tunnels
- /tunnels:
  - Add bandwidth tiers definitions
  - Indicator for local tunnels
- /profiles:
  - Split capabilities and version
  - Minimize wrapping at narrow viewport width
  - Iconify view profile link
  - Add "OK" status indication for functional peers
- /peers: merge Dir and CWND rows in definitions table
- /events: when no events found, place result in table
- All themes: marginally increased width of sidebar to better accommodate
  extra long strings
- Chinese: ensure buttons do not deviate in height (ticket #1996)
- Arabic: fix alignment issues on /configui; presentational enhancements
- Misc: remove erroneous tags
2017-06-19 13:46:40 +00:00
str4d
3d535a2282 I2PSnark:
- Disable JavaScript td:onclick (handled by css)
- Fix minimode bug in vanilla/ubergine
- Minimode for dark/classic
- ubergine:
  - Further optimizations to reduce lag/cpu load
  - New hidpi details.png to bypass mix-blend mode in .snarkTorrents
- Usability:
  - Tab navigation now works for toggle panels
  - Touch target for configure button now extends entire length
- All themes: cleanups and optimizations
2017-06-19 13:00:50 +00:00
str4d
36030ae180 i2ptunnel: consistent tooltips and Destinations for editClient and editServer 2017-06-19 12:52:56 +00:00
str4d
e21479a164 Cleanup & formatting tidyups for welcome page readmes, remove unneeded classes 2017-06-19 11:29:29 +00:00
zzz
32efa2e509 DNS (ticket #1998):
- Data: Cache hostname lookups in RouterAddress
- Job Queue: Make search jobs droppable
- Router: Increase JVM DNS cache time
- Util: Add negative DNS lookup cache, increase cache size
2017-06-15 15:48:22 +00:00
str4d
8216b68ee1 bump -11 2017-06-12 13:11:53 +00:00
str4d
3e4318cca6 /netdb: Fix UI bug with unpublished LeaseSets 2017-06-12 13:04:27 +00:00
str4d
cf7a6041b3 UI updates
Console:
- /logs: fixed environment/running info table resize on focus (ticket #1996)
- Scale theme/language divs so we don't truncate language display
- Arabic (light) adjust font size for sidebar elements
- Sidebar network status display (ticket #1996)
- Usability:
  - Enhance presentation of tables on /peers (improve header/column alignment,
    center to separator for multi-value rows)
  - Enhance presentation of tables on /tunnels (reliable alignment of mixed
    content in rows, more prominence to bandwidth tiers)

I2PSnark:
- Usability: add tabindex="0" to screenlog
- Update navbar link classes to allow easier targetting of button type 
- Remove disabled cursor for known tracker radio icons (ticket #1996)
- Fix alignment issue for comments (ticket #1996)
- ubergine: further optimize theme to reduce scroll lag (ticket #1996)
- ubergine/vanilla:
  - Add mini-mode at <=800px
  - Small size reduction to navbar links (ticket #1996)

Imagegen:
- Theme tweaks
2017-06-12 12:45:51 +00:00
zzz
25c709afe2 Reseed updates 2017-06-11 16:30:12 +00:00
zzz
58b38b283f Remove forum.i2p links 2017-06-11 16:26:25 +00:00
zzz
931d7a95bd poupdate source 2017-06-05 23:08:28 +00:00
str4d
d771cc6e37 history 2017-06-05 07:58:41 +00:00
str4d
e21a57a1fc Switch light theme to the same top-nav style as the other themes 2017-06-05 07:58:04 +00:00
str4d
1ede0c8b2f Boost letter spacing and margins slightly 2017-06-05 07:29:53 +00:00
str4d
57f3b89eed Fix alignment of language flags 2017-06-05 07:14:15 +00:00
str4d
9eedb5c732 Add state classes to network status messages in sidebar 2017-06-05 00:42:54 +00:00
str4d
4964b1165f Hardcode language names in their native language for usability 2017-06-04 10:26:01 +00:00
str4d
bd1ccba960 SusiDNS: Update SVG image to use grouped objects for styling and hotlinks 2017-06-04 05:10:26 +00:00
str4d
3334d9f737 Fix regression in snark CSS 2017-06-04 05:04:02 +00:00
str4d
135920a9bb Updated history 2017-06-04 05:02:52 +00:00
str4d
c0742b5cf3 Remove capitalization of SusiDNS config options in light theme 2017-06-04 05:00:22 +00:00
str4d
163023ecc2 String tweaks 2017-06-04 04:59:46 +00:00
str4d
791bc9a84f String de-duplication 2017-06-04 04:59:26 +00:00
str4d
c91f942194 /netdb: Fix bug rendering the "Add to addressbook" link for local Destinations 2017-06-04 01:01:09 +00:00
str4d
66385c06ae Minor theme tweaks:
- Use theme-consistent colours for graphs (dark + midnight)
- Add slight visual feedback when clicking table header and i2psnark control
  buttons
- tr highlighting in i2ptunnel to match other info-dense tables
2017-06-04 00:43:16 +00:00
str4d
6fe55529d6 i2psnark: Fix bug in status tooltips 2017-06-04 00:33:29 +00:00
zzz
4c6af7cdca bump -10 2017-06-03 17:24:06 +00:00
str4d
5e8730a616 Console:
- (light, dark, midnight) Fix minor alignment issues with Arabic CSS
- JRobin (graphs):
  - Fix font size issue for non-title text on graphs
  - Optimise layout (tweaked padding, legend box size etc)
  - Tweak graph lines (now dotted, slightly less opaque)
2017-06-03 14:11:33 +00:00
str4d
6acca28969 i2psnark:
- (ubergine) Speed up tr:hover events by optimizing css (remove latency)
- (all) Remove fade activation delay for download bars, speed up fade-in /
  fade-out
- Fix i2psnark link in navbar overflow issue in Arabic (ubergine/vanilla)
- (ubergine) Change default font for screenlog from Noto Mono to Droid Sans Mono
  to soften text/slightly reduce text size
2017-06-03 14:10:54 +00:00
str4d
017f66a342 i2ptunnel:
- Remove redundant labels and spans for keyaccess
- Edit Server:
  - Shift Local Destination / Private Key file to share table row
    - Reduces spread of Local Destination textarea
  - Move "Use SSL to connect to target" to Target Port column
- Add translation tagging for title tags
- Remove redundant title tags and provide enhanced strings for features that
  benefit from clarification
- Move title tags to <label> where applicable
- Fixed Cancel button on registration so it now jumps back to the list page
- textareas for registration page and local destination on edit server page
  changed to divs
  - Scrollbars hidden until mouseover, 1 click to select content
  - Responsive width, tabindex="0"
    - Fixes text breaking out of textarea bounding box issue in chrome/blink
- Fix overflow issue on select dropdowns (edit server/client -> tunnel options)
  in Chrome / Blink
- More generous vertical padding for th (responsive)
- Larger h2/h3s (responsive)
- Increase spacing between panels in iframe mode
2017-06-03 14:10:08 +00:00
str4d
ff400c9448 UI feedback
Console:
- Increase contrast of table rows on profile/tunnels/peers tables
- Changed pink font to magenta in /logs to increase legibility
- Soften H3 headings in sidebar
- Single click to select I2P Version and Running Environment table text, with
  table:hover color change and text cursor to better reflect selection
  - Modify text above to indicate what exactly needs to be included in logs
- Reduce size of monospace dests in peers/profiles/tunnels, add additional
  spacing (responsive)
- Fix resizing of sidebar reseed button
- De-emphasise siderbar app icons with background-blend-mode: luminosity
- Change sidebar snark icon to match homepage icon
- Bump div.main text color from #222 to #333 (reduce contrast)

i2ptunnel: Increase vertical spacing of H2/H3's

SusiDNS: Change address helper icon to add book icon

i2psnark:
- Remove font-adjust-size (ubergine/vanilla)
  - Was probably causing the navbar links to display too large on some setups
- Add extra spacing to screenlogger bullets (ubergine)
2017-06-03 14:09:17 +00:00
str4d
b28cc94a4a Compress some of the larger image files
Space savings of 40-60%. All tested and passed for perceptual differences
(non-noticeable).
2017-06-03 14:08:17 +00:00
str4d
4da95af45a i2psnark:
- Reorder .snarkCommentInfo sections so my rating / average rating is located
  directly above posted comments/ratings in .snarkComments
  - Allows us to visually join the two tables and provide comment/rating
    continuity

- If author name for comments is configured, display it in .snarkCommentInfo
  table header

- Full status tooltips for status icons in .snarkTorrents
  - This ensures we still retain full info in mini-mode in light/midnight themes
    in addition to providing more descriptive text (for new users)

- Rework td/th classes for .snarkTorrents so each column (both th + td) now
  belongs to a given class
  - Removes the need to overuse nth-child qualifiers to target columns
  - Allows easier column-alignment/spacing/widths

- Stop .snarkTorrentStatus class being incorrectly applied to .peerinfo columns

- Spans for DHT peers / Dest in #totals
  - Ensures they don't break on narrower screens in Russian etc.

- Span for .snarkTorrentInfo info hash
  - So we can highlight and select with a single click

- Delete icon for delete comments td

- Overhaul .snarkTorrents column widths
  - Provides more predictable scaling experience, tidier layout

- CSS tidyups; deduplicate .snarkTorrents classes and move to their own
  commented section
2017-06-03 14:03:56 +00:00
str4d
a9bf1e2969 SusiDNS:
- Rework SVG image
  - Now features interactive feedback when mouseover objects and hotlinks
- Update fallback images for en and fr
- Update overview text
- added tabindex="0" to destination addresses, highlighted on :focus
2017-06-03 14:01:33 +00:00
str4d
d50c12dc7d Console:
- Add spans to /stats page to avoid summary info breaking mid-sentence, and to
  aid presentation
- Adjust /stats CSS so information isn't over-dense
- Set graph size for generated graphs on /stats to 600x200
- Fix netdb leaseset tables
  - Ensure we only iconify add to addressbook links and not b32 dests
- Individual icons for I2PSnark and I2P Plugins on /home
- Add div to upnpstatus on peers to comply with layout
- Fix various unclosed/erroneous tags
2017-06-03 13:59:20 +00:00
zzz
5361571c15 Crypto: Fix AES NPE on 4-core RPi 2nd try (ticket #1989) 2017-05-25 18:05:45 +00:00
zzz
13d9322d81 Debian: Update notes on dependencies 2017-05-24 12:49:55 +00:00
zzz
d35f260f15 Console: Don't show add-to-addressbook link for local unpublished clients 2017-05-24 12:47:24 +00:00
zzz
7338b79ef1 GeoIP: Fix NPE in Maxmind lookup (thx parg!) 2017-05-24 12:40:45 +00:00
str4d
edda87d53e Snark theme updates, hidpi rating images 2017-05-22 11:49:23 +00:00
zzz
de0a5c7094 i2psnark: Fix bencoded scrape response for zzzot (ticket #1994)
requires zzzot 0.16.0
2017-05-21 18:42:42 +00:00
str4d
008f421377 Fix a minor alignment issue on the address helper page 2017-05-21 03:01:59 +00:00
str4d
6821e13820 Add images for theme updates 2017-05-21 03:01:17 +00:00
str4d
fa73b481e6 i2psnark: Integrate ratings and comments into themes 2017-05-21 02:59:50 +00:00
str4d
63581d32de SusiMail light theme tweaks 2017-05-20 08:10:28 +00:00
str4d
0db637ed5a Clarify choices on address helper save page (ticket #1940) 2017-05-20 08:09:30 +00:00
str4d
62b3e19217 Add router.hideFloodfillParticipant to advanced settings help 2017-05-20 07:26:47 +00:00
str4d
2b82312b77 I2PSnark changes:
- Make DHT debug section collapsible
- Tooltips for downloading/finished torrents
- Download bars for torrents, torrent parts and peer downloads
- Friendlier date format (with completed: <date> tooltip for finished torrents)
2017-05-20 07:26:19 +00:00
zzz
81b8b18581 i2psnark: Add ut_comment UI and per-torrent configuration
Some UI cleanup still to do
2017-05-19 21:33:30 +00:00
zzz
769cb40b79 missed checkin 2017-05-19 19:25:18 +00:00
zzz
81026c2871 build fix 2017-05-19 19:23:47 +00:00
zzz
dc33ad101a Console: Move /peers page rendering from router to console (ticket #1879)
except UPnP still to do
compressed size: appx. 25 KB
2017-05-19 19:20:11 +00:00
str4d
b7baeddc7c Bump to -5 2017-05-18 13:52:35 +00:00
str4d
e6b968e48c History for prop 2017-05-18 13:49:56 +00:00
str4d
96bdfb3a63 propagate from branch 'i2p.i2p' (head 247ff5f9bcb20e4aa3ad4aa8702425c315d1d77b)
to branch 'i2p.i2p.str4d.ui' (head d4b5b96ff60f7d8b746c8fc5f0f9c533778a9eda)
2017-05-18 12:54:13 +00:00
str4d
7002c683ab Minor i2psnark style fixes 2017-05-18 12:52:10 +00:00
str4d
ae7c2f6e5f Use disabled drop-down in universal theming mode instead of plain text 2017-05-18 12:51:19 +00:00
zzz
b8c97a1d7a AES: More cleanups and javadocs 2017-05-17 15:54:37 +00:00
zzz
a5551c1be3 Debian: More fixes for lintian 2017-05-17 15:51:34 +00:00
zzz
7d129215cf Debian: Put the i2prouter-nowrapper man page with the binary 2017-05-17 13:31:07 +00:00
zzz
777d2fc0f0 javadoc fix 2017-05-17 13:26:39 +00:00
zzz
7f45e97335 Reseed: Remove expired SSL cert 2017-05-17 12:16:34 +00:00
str4d
feee22e389 Fix escaping of non-breaking space in time string 2017-05-15 04:53:58 +00:00
str4d
208372ed9e Prevent i2psnark DHT debug info breaking out of the table 2017-05-15 04:05:44 +00:00
str4d
6fd66c9396 Cleanups:
- Minor theme updates/fixes
- Added #jumplist div to proxy error to make styling easier
- "tabindex -1"s to ignore disabled radios in snark/tracker config
- Updates to eepsite css files.
2017-05-15 03:18:34 +00:00
str4d
e8c28ad42c Add tooltips to shutdown/restart buttons 2017-05-14 12:28:27 +00:00
str4d
5caefb5ea9 I2PSnark tweaks:
- Replace theme selector with a message when universal theming is enabled
- Move DHT debug info into its own <tr>
2017-05-14 12:26:17 +00:00
zzz
ac788d973f Router: New method to get bandwidth class, for efficiency 2017-05-14 12:16:25 +00:00
zzz
e973185be1 Crypto: Initialize array earlier (ticket #1989) 2017-05-14 11:57:48 +00:00
zzz
040af114e1 i2psnark: Fix HTML double-escape (ticket #1992) 2017-05-14 11:51:08 +00:00
str4d
6f60d642af propagate from branch 'i2p.i2p' (head 098e31ae6c0969990791077264bfd58d8ac3680c)
to branch 'i2p.i2p.str4d.ui' (head 0cfd439957ebce6c3a71f5b3e11f4e873388b03c)
2017-05-14 06:53:02 +00:00
str4d
8a5967f592 Additional <label>s 2017-05-14 06:35:23 +00:00
str4d
a929b5c683 Theme updates:
- Section title images in the tunnel manager + presentational tweaks
  - Separation of server/client tunnels for consistency in iframed/separate view
- More responsive layout tweaks specifically for narrow viewports
  - Lessens UI breakage, particularly for languages with long translated strings
    (ru, de etc)
- Susimail light theme enhancements
- Incremental theme tweaks including Arabic (light/dark) & Chinese
  (classic/dark/midnight)
- Fixed placement of "Welcome to I2P" h2 on /home for new users
- Fixed conflicting .home#home div on homepage (now #homepanel)
- Fixed double select dropdown icon in Internet Explorer/MS Edge
- Addressed minor rendering issues in IE 11 and MS Edge
2017-05-14 06:26:16 +00:00
str4d
e32d4b15e8 String tweaks 2017-05-14 05:41:21 +00:00
str4d
67b3c46758 Shortened button text on /configfamily
Helps to avoid overlong strings breaking layout in translation (specifically
Russian). The section subtitle already indicates full scope of action.
2017-05-14 05:40:45 +00:00
str4d
7de815bd90 CSS sort buttons on /peers
- New icons to avoid conflation of tunnel direction and sort direction
- Active sort columnn now indicated and focused button highlighted
2017-05-14 05:39:51 +00:00
str4d
0aae97162e Use new tabs for a couple of links 2017-05-14 05:38:56 +00:00
str4d
ac31a1319b /news updates:
- Updated presentation of news status & view/hide news text at the bottom of
  the homepage news section, so it behaves sensibly when wrapping (for German,
  Russian etc)
- <span>s for news title dates and author names
- Iconified author name for news entries
2017-05-14 05:38:31 +00:00
str4d
e453ea48e1 /help changes:
- Added topnav
- Added mini-FAQ
  - Linked to subscriptions section from SusiDNS subscriptions page
- Layout fixes for translated pages
- Reformatted help-legal.jsi, removed/replaced dead links
2017-05-14 05:37:35 +00:00
str4d
8f04aa70cb /home changes:
- Update some app icons
- Rationalise the markup
- Add tabindex ="-1" to icon links
  - This means they are skipped when using tab to navigate in the browser
2017-05-14 05:36:40 +00:00
str4d
d7d13d1a4f Whitespace 2017-05-14 05:30:42 +00:00
str4d
6b056ce6e0 Backend HTML changes:
- Labels for radio/checkbox icons to increase surface area for clicks, improving
  UI for touchscreen use
- Standardized configuration labels: bold text for leading options, standard
  weight for trailing descriptions
- Remove some hard-coded table layouts
- Additional ids and classes for theming
2017-05-14 05:30:13 +00:00
zzz
b340f4a17c i2psnark: Better handling of read-only i2psnark dir (ticket #1990)
Prevent add/create/remove/delete
More handling of RuntimeException via Snark.fatal() in SnarkManager
2017-05-12 17:16:25 +00:00
zzz
93cb2a0513 Debian: Fix apparmor profile (ticket #1986) 2017-05-10 16:53:36 +00:00
zzz
610af51e95 show suggested paths 2017-05-10 14:05:02 +00:00
zzz
efd7d651cc AES: Cleanups (ticket #1989) 2017-05-10 14:00:59 +00:00
zzz
d139892ae0 SusiDNS: Fix display of default subscription when no subscriptions.txt file present 2017-05-10 13:49:34 +00:00
zzz
45f3695f9d Debian: Restore systemd for trusty
Fix date in changelogs
doc update
2017-05-10 13:46:04 +00:00
zzz
3e354f2f1a Jetty: New default servlet for eepsite, with
locale-independent directory listing (ticket #1965)
2017-05-05 19:53:43 +00:00
zzz
b0514cc564 move BFNS test 2017-05-05 13:38:59 +00:00
zzz
3718c73341 Reseed: Fix messages about reseed disabled 2017-05-05 12:26:48 +00:00
zzz
cd76457128 i2psnark: Initial support for ut_comment, no UI yet 2017-05-05 12:08:49 +00:00
zzz
f3d931d090 Blockfile: Move from i2p.jar to addressbook.jar
http://zzz.i2p/topics/2274
2017-05-05 11:41:19 +00:00
zzz
ffb3e27c0f launchpad build fixes 2017-05-03 21:29:22 +00:00
zzz
8d6ca6431d fix build.xml XML error 2017-05-03 19:35:59 +00:00
zzz
920b14212f 0.9.30 2017-05-03 13:08:34 +00:00
zzz
1e9c68859e fix null check 2017-05-02 14:34:33 +00:00
str4d
e390e67aee Package I2P servlet classes for Maven Central
RequestWrapper and its dependencies are excluded to avoid classpath issues.
2017-05-02 13:05:31 +00:00
zzz
d27d060322 Jetty: Rollover log files at midnight, not noon
This is a separate Jetty 9.2.21 bug unrelated to the previous fix
2017-04-30 13:19:48 +00:00
zzz
baa314d71f pull translations 2017-04-29 15:20:42 +00:00
zzz
d98c3d8f71 fix another test 2017-04-29 15:01:42 +00:00
zzz
5e497f790d Tests: Temporarily change cert threshold so Vuze's old cert won't fail 2017-04-29 14:40:42 +00:00
zzz
3dbbc2943f Jetty: backport patch from 9.4.4 to 9.2.21
to fix Timer crash in RolloverFileOutputStream
1e46576bf4
https://github.com/eclipse/jetty.project/issues/1469
2017-04-29 14:28:30 +00:00
zzz
925caccb57 Jetty: Set up to add patch for RolloverFileOutputStream
checked in file is unmodified from 9.2.21 for reference
patch in next checkin
2017-04-29 14:24:10 +00:00
zzz
a21e027403 Console: Revert previous checkin, unrelated to the Jetty Timer bug 2017-04-29 13:52:05 +00:00
zzz
4dec3657b0 Console: Disable Jetty timer thread consolidation
causing log file rollover to stop (ticket #1068)
2017-04-27 13:43:24 +00:00
zzz
06f78d7cfe HTTP Proxy: Add delay before jump page 2017-04-26 14:00:50 +00:00
zzz
6901914640 remove reseed 2017-04-26 13:57:49 +00:00
zzz
75db7fa196 geoip 2017-04-06 2017-04-19 13:13:20 +00:00
zzz
f8ea882f99 SSU: Reuse previous introducer expiration if available,
so we don't force a republish
- Don't run peer test if configured to force firewalled
2017-04-14 13:34:33 +00:00
zzz
dd0153e29a SSU: Publish introducer expiration (proposal 133) 2017-04-13 15:58:52 +00:00
zzz
9dd146680d fix eepget man page formatting 2017-04-13 15:52:50 +00:00
zzz
5fa6583a4e Console: Fix detection of UPnP setting changing 2017-04-13 15:45:24 +00:00
str4d
48661361fa Minor theme tweaks 2017-04-09 08:49:09 +00:00
str4d
4747172059 Tweak placement of caps info 2017-04-09 08:48:45 +00:00
str4d
f541dbe042 Add link to /configplugins on /home 2017-04-09 08:28:37 +00:00
str4d
a3e146a814 propagate from branch 'i2p.i2p' (head 5d56a7eb371dddb9336e596bda69f99c91294b05)
to branch 'i2p.i2p.str4d.ui' (head 3aeafcdb5c0ffbc9c77f574558f8438d3e81133e)
2017-04-09 06:52:22 +00:00
str4d
fa6fc84bf8 Theme updates:
- Subtler, softer colors & shadows and cleaner lines in the light theme in the full suite of apps
- Seamless iframe integration for light susidns theme
- Enhanced Arabic support in the light theme
- Better presentation of options on /confignet
- Enhanced bullets for stats/logs presentation
- console_big improvements/fixes
- Incremental improvements
2017-04-09 06:28:47 +00:00
str4d
a0911a43dd I2PSnark: hidpi navbar images 2017-04-09 06:28:20 +00:00
str4d
b6c6a5d696 Whitespace 2017-04-09 06:28:00 +00:00
str4d
5353fd986e Tidy up /profiles, add definitions for capabilities 2017-04-09 06:27:41 +00:00
str4d
3f40af54d1 Add id for for sidebar help & faq h3 2017-04-09 06:27:22 +00:00
str4d
9e8d4fbe21 Reorder sidebar sections for new installs 2017-04-09 06:27:04 +00:00
str4d
cb3326fa42 Minor updates to imagegen page 2017-04-09 06:26:46 +00:00
str4d
123473439c Fix "Advanced" links on sidebar with leading / 2017-04-09 06:26:35 +00:00
str4d
c12312f523 i2psnark: Remove hard-coded topnav image 2017-04-09 06:24:43 +00:00
zzz
dd8f7638c5 add bash completion scripts 2017-04-06 13:05:47 +00:00
zzz
4edc4077f8 Gentoo: Fix config dir location
http://zzz.i2p/topics/2285
2017-04-04 14:07:49 +00:00
zzz
0d3b1fa490 hosts.txt and blocklist update 2017-04-04 14:05:14 +00:00
zzz
828b0954a3 add BuildTime note to checklist 2017-04-04 14:03:09 +00:00
zzz
ec82912085 instructions for adding RPC support to i2psnark-standalone 2017-04-04 14:01:58 +00:00
zzz
021067dab9 deprecate ZipFileComment 2017-04-04 14:01:04 +00:00
zzz
bfc04178a6 i2psnark: Fix standalone configuration for Jetty 9
Context: Fix ClientAppManagerImpl in AppContext,
required for transmission.war in standalone i2psnark
2017-04-02 18:48:03 +00:00
zzz
f390831835 Console: Fix stopping of webapps when console stops (ticket #1893)
i2psnark: Only rewrite torrent config file if changed (ticket #1893)
Util: Don't sync config writes on Android/ARM (ticket #1893)
2017-04-01 14:15:06 +00:00
zzz
5eefb8b222 KeyStoreUtil: Reduce log level of expired cert error 2017-04-01 12:50:31 +00:00
zzz
c06e320f99 SSU: When a IPv6 peer connects, trigger a IPv6 peer test, not a IPv4 one
Require two consecutive peer test results for some state transitions,
to prevent frequent transitions to firewalled and back
2017-03-31 12:28:31 +00:00
zzz
b810b79a44 New translated man pages: pl, pt_BR, ru, sv
updates: it, ko, zh
2017-03-29 14:16:45 +00:00
zzz
3cc0122af4 Throttle: Reduce threshold for probabalistic throttling on slow platforms (ticket #1964) 2017-03-29 12:32:36 +00:00
zzz
48fb12ebeb SSU: Refactor PeerTestEvent out of UDPTransport 2017-03-29 12:30:21 +00:00
zzz
82554b943e Build: Suppress JarScanner warning during Debian build (ticket #1975) 2017-03-27 16:48:25 +00:00
zzz
04e0cfe020 Debian: Add missing addressbook.jar to package (ticket #1973) 2017-03-27 14:52:50 +00:00
zzz
ed590cd6f5 SusiDNS: Add addressbook.jar to classpath, don't fail to start
if it's still not found (ticket #1973)
This fix covers:
1) Old wrapper.config without addressbook in the classpath
2) Java 9 together with 1)
3) Completely missing addressbook.jar
This does not fix addressbook.jar missing from Debian build.
2017-03-27 14:43:20 +00:00
zzz
c1991241e4 Time: Fix crashes on old Androids (ticket #1976) 2017-03-27 14:12:42 +00:00
zzz
b503f03bd6 Blockfile: Include authentication strings in exports 2017-03-27 14:10:01 +00:00
zzz
cff8eafc43 Blockfile: Upgrade to Blockfile format 4 on non-Android ARM 2017-03-25 11:32:05 +00:00
zzz
a0b2f5738a i2ptunnel: Allow alt priv key file to be added without restarting I2P
Display message requiring tunnel restart if tunnel is running
2017-03-25 11:29:14 +00:00
zzz
b335ded1d2 CPUID: Recognize Ryzen 2017-03-24 13:08:56 +00:00
zzz
0a2097a238 Addressbook: Remove static reference, hide implementation
Requires Android fix (ticket #1972)
2017-03-24 13:07:17 +00:00
zzz
1ab67de677 Plugins: Blacklist i2pbote and BwSchedule
Translate exceptions thrown from PluginStarter
2017-03-23 14:55:56 +00:00
zzz
47277063e4 Plugins: Add version number to console messages when downloading/starting,
and linkify plugin name
2017-03-23 13:54:02 +00:00
zzz
ca6ce37a0b context: New ClientAppManagerImpl in AppContext, so registration
works there (for i2psnark-rpc in standalone)
2017-03-21 19:26:48 +00:00
zzz
a00f11d5b7 i2psnark: Add another method to support RPC plugin 2017-03-21 11:57:52 +00:00
zzz
13ad5d72ae SSU: More work on introducer expiration (proposal 133) 2017-03-20 22:31:32 +00:00
zzz
b9a7a76174 dont replace app if a dup 2017-03-20 22:27:55 +00:00
zzz
a8ae2ce955 typo 2017-03-20 22:24:59 +00:00
zzz
de5661ef1b new reseed ssl cert 2017-03-20 22:18:21 +00:00
zzz
e4da3b0f3b dont allow non-GET requests to icon servlet 2017-03-20 22:12:33 +00:00
zzz
95b6bd36e5 i2psnark: Enhancements to support RPC plugin 2017-03-20 16:41:04 +00:00
zzz
05aef9bd59 Move "isSlow" detection to SystemVersion 2017-03-18 14:38:59 +00:00
zzz
fda673038f Addressbook build changes (ticket #1966):
- Build as jar, not war
 - Put empty war in updater
 - Move Servlet starter to SusiDNS
 - Skip war in RouterConsoleRunner
2017-03-18 14:34:59 +00:00
zzz
24801553d6 i2psnark: Recognize XD client 2017-03-15 15:10:23 +00:00
zzz
43c3a14745 javadoc typo 2017-03-14 14:17:10 +00:00
zzz
4b722c9b7f i2ptunnel: New form to enter private key file for alternate destination
- Use alt destination for registration if set
   - Another dup check for alt destination
SusiDNS: New button for adding alternate destination
   - Fix nonces on details page with multiple destinations
   - Fix single dest deletion on details page with multiple destinations
   - Set book in all forms to ensure correct book
Blockfile: Fix specified-destination deletion from the correct book
2017-03-14 14:15:54 +00:00
zzz
1150b4cd73 NBI: Adjust logging during extraction to use standard format 2017-03-14 13:33:39 +00:00
zzz
e7cfb2d6fe Streaming: Add reset() to I2PSocket API
i2ptunnel: Reset I2P socket on TCP socket errors, in standard servers
that don't have protocol responses
SAM: Reset I2P socket on handler errors
2017-03-13 14:09:27 +00:00
zzz
ad810de747 i2ptunnel: Add subsession support to servers, no UI yet
Update subsession javadocs
2017-03-13 13:48:36 +00:00
zzz
b57d7c699f Javadoc: Update Jetty URL and package-list 2017-03-13 13:28:16 +00:00
zzz
ba825e61d5 New reseed, delete unused reseed SSL certs 2017-03-13 13:26:01 +00:00
zzz
aea20a552e Fix HashSessionScavenger, class changed in Jetty 9
History for prop, -4
2017-03-11 16:27:37 +00:00
zzz
0703a29562 propagate from branch 'i2p.i2p.zzz.jetty9' (head 80022f6ef552acd1382d45103969aa7c17b1d794)
to branch 'i2p.i2p' (head 3b4b418ae8be95d52228fc7c325fc52e0223e4fe)
2017-03-11 15:24:23 +00:00
zzz
db0381d6b1 Add required jetty-9.2.21.v20170120 jars
Includes two Tomcat 8.0.33 jars from that, which are:
"A rebundling of Apache Tomcat Jasper to remove the tomcat server dependencies, so that the JSP engine can be used by the Eclipse Jetty project."
2017-03-11 15:24:04 +00:00
zzz
a9be26d2bc unneeded casts 2017-03-11 14:43:37 +00:00
zzz
db5ab0b9b8 Add commons-logging to list of empty jars 2017-03-11 14:37:37 +00:00
zzz
072d990279 reseed now using CA 2017-03-11 14:06:55 +00:00
zzz
6b4f665f34 Add more markers and protection for xml file migration
Add error message for jetty-jmx.xml migration, don't migrate
Update non-default files jetty-rewrite.xml and jetty-jmx.xml
2017-03-10 18:48:48 +00:00
zzz
48a055d462 Streaming: Don't change buffer size when max message size is adjusted
Only change max message size when buffer is empty
2017-03-09 19:40:17 +00:00
zzz
9146f3c7e1 i2psnark: Prevent RuntimeException caused by corrupt i2psnark.dht.dat file
http://forum.i2p/viewtopic.php?t=12751
2017-03-09 19:34:30 +00:00
zzz
1fe9acefe2 Router: Set default sig type to EdDSA for non-Android ARM 2017-03-09 15:25:25 +00:00
zzz
359b4570e4 hide destination box on registration page 2017-03-09 15:24:10 +00:00
zzz
1c720a0fda finals 2017-03-09 15:23:28 +00:00
zzz
d1fdf14911 unnecessary parameter 2017-03-08 16:27:48 +00:00
zzz
6fbeef5f8c remove old ssl cert 2017-03-08 16:26:04 +00:00
zzz
6ef6106336 Random: Don't need extra bits if power of two 2017-03-08 16:25:27 +00:00
zzz
23ee40d990 stray semicolon 2017-03-08 16:24:13 +00:00
zzz
4e236fc5ab Put Jetty 9 files in eepsite-jetty9/ directory in updater 2017-03-08 13:48:28 +00:00
zzz
d573910b7a CPUID: Fix saving of libjcpuid.jnifile on Macs,
was incorrectly saving as libjcpuid.so (tickets #1865, #1900)
 - Try to load libjcpuid-x86_64-osx.jnilib for 32-bit Macs,
   because as of 0.9.26 it's a 'fat binary' with 32-bit in it also.
   This was broken in the 0.9.26 changes.
 - Improve error logging
 - Add library search path logging to main()
NBI:
 - Try to load the "none" architecture for x86, even if
   CPUID loading fails (tickets #1865, #1900)
   This was broken in the 0.9.26 changes.
 - Add library search path logging to main()
 - Comment out unused method
2017-03-06 20:44:16 +00:00
zzz
da00b95599 doc updates 2017-03-06 20:41:43 +00:00
zzz
e20310d257 Throttle: Fix disable of probabalistic throttling (ticket #1963)
Fixes this checkin:
  Revision: c52409bf5d7b422c23a62eecfa50b98d7c74f8df
  Date:     01/16/2012
  Branch:   i2p.i2p
  Don't throttle tunnel creation if using a higher than default router.maxParticipatingTunnels setting.
2017-03-06 20:38:38 +00:00
str4d
74151b06ef propagate from branch 'i2p.i2p' (head 600cd73c4b46b7ba8c421149785f6245afa47487)
to branch 'i2p.i2p.str4d.ui' (head d5b54214bfe1bf5203f614600b916346a10f26dd)
2017-03-06 04:59:59 +00:00
str4d
de7a4ba55c Whitespace cleanups 2017-03-06 04:56:58 +00:00
str4d
5ddeeec9ea I2PSnark theme updates 2017-03-06 04:55:09 +00:00
str4d
1f7042a68e I2PSnark fallbacks when JS is unavailable:
- Use meta-refresh
- Hide JavaScript-dependent buttons
2017-03-06 04:52:42 +00:00
str4d
a65722f3e8 I2PSnark: clean up RNF/RDNE errors 2017-03-06 04:51:55 +00:00
str4d
964dacd907 I2PSnark:
- More tooltips
- Remove "if checked" from checkbox strings
- Checkbox layout tweaks
2017-03-06 04:47:51 +00:00
str4d
25b03979d5 I2PSnark backend layout/style tweaks 2017-03-06 04:43:19 +00:00
str4d
6151480ee6 SusiDNS theme updates 2017-03-06 04:43:02 +00:00
str4d
97fa5d9921 SusiMail theme updates 2017-03-06 04:42:43 +00:00
str4d
83c9dc7437 Console theme updates 2017-03-06 04:41:22 +00:00
str4d
4bf0147198 Update I2P logos for console themes 2017-03-06 03:49:43 +00:00
str4d
d7e5aaf919 Replace &nbsp; with thin non-breaking space &#8239; for byte sizes
The latter has more consistent/predictable width between fonts & point sizes.
2017-03-06 03:46:56 +00:00
str4d
10a021f5fc Re-layout "Banned IPs" section of /configpeer 2017-03-06 03:43:38 +00:00
str4d
20df511401 "Mark for deletion" tooltip in SusiMail folder list 2017-03-06 03:42:56 +00:00
str4d
73708041e8 Spacing tweaks for legibility/consistency 2017-03-06 03:38:30 +00:00
zzz
b71aafbb28 Debian: Add files for jessie with libtomcat8-java
Fix missing glassfish dependency in trusty/control
2017-03-04 15:02:08 +00:00
zzz
319ce9b065 Debian: Revert previous checkin for precise, it does not have libtomcat8-java 2017-03-04 14:44:09 +00:00
zzz
87cff00b99 Debian: Revert previous checkin for trusty, it does not have libtomcat8-java 2017-03-04 14:41:21 +00:00
zzz
f38ee48ca3 Move setting of InstanceManager to WebAppConfiguration to avoid race
Fix up LICENSES.txt
Build.xml cleanup
Debian:
- Add support for with-libtomcat8-java but not with-libjetty9-java for wheezy/jessie
- Fix wheezy/precise/trusty build files to use tomcat8 but not jetty9 packages
- Remove build dependency on ant-optional, not required
- Remove some remaining eclipse-ecj dependencies
- Add short README files for wheezy and jessie
2017-03-04 14:24:48 +00:00
zzz
ec6c24429a Debian build fixes 2017-03-03 19:44:39 +00:00
zzz
15915afeb8 Remove dup DTDs in javax.servlet.jar
Set InstanceManager for webapps
Remove InstanceManager log message
Resolves ticket #1818
2017-03-03 17:56:47 +00:00
zzz
b72085bcf3 Debian builds:
- Remove with-libtomcat6-java and with-libtomcat7-java
- Replace with-libjetty8-java with-libjetty9-java
- Add libtomcat8-java dependency in debian builds
- Change libservlet-3.0-java implicit dependency to libservlet-3.1-java
- Initial mods for trusty build files, as it does not have jetty 9
- Initial xenial build files
- Add link to jetty9-apache-jsp.jar
- Add necessary util jars to jsp classpath
Non-Debian builds:
- Move tomcat runtime from javax.servlet.jar to jasper-runtime.jar,
  to be consistent with Jetty 8
- Switch from jetty (glassfish) to apache (tomcat) jsp implementation,
  to be consistent with Debian builds
- Drop checked-in Tomcat 6 and Jetty 8 jars
Code:
- Force Jasper initialization in RouterConsoleRunner since we
  don't use the Jetty annotation scanner
2017-03-03 15:48:10 +00:00
zzz
5f96067c22 merge of 'bd4c9889786a280f8797cbdc6ca9cddb8c7260a2'
and 'fe4b2b6942b6c0dbe1efda4e2fa555289e74cbef'
2017-03-03 14:00:47 +00:00
zzz
61e4e2a052 Util: Don't depend on DataHelper in FileUtil.copy(),
causes Windows installer to fail because DataHelper is not in install.jar.
tag i2p-0.9.29-win1
2017-03-03 13:59:54 +00:00
zzz
f7cdf221eb UDPAddress: Add method to get introducer expiration (proposal 133) 2017-03-02 14:24:27 +00:00
zzz
69ad95710a UDPAddress: Fix bug in "Error handling for failed intro packets"
cur variable wasn't being incremented.
from Revision: 0f0232b342477486c38b51afa3d298285cc8fbcf
from Date:     09/15/2005
Simplify error handling code
javadocs
2017-03-02 14:14:28 +00:00
zzz
920572d3bc UDPAddress: Make most fields final 2017-03-02 13:27:30 +00:00
zzz
d3abbe86e9 Fix eepsite jetty.xml and jetty-ssl.xml files
Migration script for eepsite jetty.xml and jetty-ssl.xml files
Add exclude protocols
2017-03-01 16:42:57 +00:00
zzz
3631efa567 Fixup for PathMap generics
Remove dup returns
2017-03-01 16:41:19 +00:00
zzz
a6e62afc1f Servlet: Catch OOM in MultiPartRequest 2017-03-01 12:58:16 +00:00
zzz
8bfb3649dd Fix webapps and plugins not starting, because the
default configurations were not being run.
Revert adding JettyJspServlet class, maybe we don't need it after all.
2017-02-28 03:52:32 +00:00
zzz
45abf6575c add missing JettyJspServlet class 2017-02-27 22:26:39 +00:00
zzz
7fb82da7ff Partially revert previous checkin, which was missing some DTDs.
Delete previously checked-in DTDs, and in the build,
copy all the DTDs out of jetty-schemas-3.1.jar to javax.servlet.jar.
Update to Jetty 9.2.21.
2017-02-27 21:31:44 +00:00
zzz
e995a4cf92 i2psnark: Fix disappearing start button 2017-02-27 19:51:38 +00:00
zzz
2de25ca453 addressbook: Add date parameter to authentication strings 2017-02-27 19:50:21 +00:00
zzz
8d928eadba minor fixes after review 2017-02-27 19:49:05 +00:00
zzz
e03c25e397 debian files update 2017-02-27 19:48:28 +00:00
zzz
b695293070 0.9.29 2017-02-27 14:11:44 +00:00
zzz
c09bfa0a26 i2ptunnel: Fix generation of advanced authentication strings 2017-02-27 14:09:46 +00:00
zzz
f420a99b6f Update translations 2017-02-24 23:54:31 +00:00
zzz
33b1851317 PrivateKeyFile: Add option to generate addressbook authentication string
fix inadvertent fallthru
HostTxtParser: Add -q command line option, enhance return codes
2017-02-23 19:45:33 +00:00
zzz
3c735eaf96 more man pages 2017-02-20 18:31:25 +00:00
zzz
3f452c5acb GeoIP, blocklist, checklist update
GeoIP from Maxmind 2017-02-07
2017-02-20 18:20:38 +00:00
zzz
380f55a0e8 I2CP: Return null on decompression failure instead of
throwing exception, to reduce the impact, for example
in iMule which is apparently closing the session (ticket #1915)
2017-02-15 17:48:47 +00:00
zzz
8a89b3da29 Fix calls to Class.newInstance() deprecated in Java 9 2017-02-15 17:01:02 +00:00
zzz
f2ae1bfe09 Utils: Disable caching of ResettableGZIPOutputStreams,
add more checks for compression failure,
fix output for zero-length input (ticket #1915)
2017-02-15 16:45:06 +00:00
zzz
17b781c1b4 Translations: Update source
Fix dependencies for poupdate target
2017-02-15 16:27:43 +00:00
zzz
68fb3f42a8 New SSL cert for reseed.i2p-projekt.de 2017-02-11 20:31:21 +00:00
zzz
fc8c193f37 strip more system properties in I2CP 2017-02-11 15:12:53 +00:00
zzz
c949d776be I2PTunnel CLI: Set connectDelay default for HTTP client
tweak clientoptions help messages
2017-02-11 13:44:57 +00:00
zzz
e29e3e2fd3 Test: Prevent NPE in LocalClientManager test on client shutdown 2017-02-11 13:26:26 +00:00
zzz
e01c443fa2 Test: Add random delay and drop options to LocalClientManager
Return failure codes from LCM to client (ticket #1939)
2017-02-10 19:17:43 +00:00
str4d
50450ecba6 propagate from branch 'i2p.i2p' (head bd037c8b542fe0f6125aa16fb3bff5d257b4e955)
to branch 'i2p.i2p.str4d.ui' (head 9bd4080121d8ef662d6a2e4dfe7fae1079b32646)
2017-02-10 16:43:25 +00:00
str4d
44c0d9357b Update snark tile2.png 2017-02-10 16:42:50 +00:00
str4d
42ba5fa509 Fix typo 2017-02-10 16:42:06 +00:00
str4d
24b2bb8e3f I2PTunnel theme tweaks 2017-02-10 16:41:49 +00:00
str4d
026a9cf026 Smooth out heading backgrounds on I2PTunnel edit pages 2017-02-10 16:40:49 +00:00
str4d
87c8031e5a SusiMail theme tweaks 2017-02-10 16:40:21 +00:00
str4d
bff3f0436c Router console theme tweaks 2017-02-10 16:39:56 +00:00
str4d
bfe8c65628 SusiDNS changes:
- Additional column on hostname list page for helper address with icon, and
  iconfication of b32 addresses
- Added minified identicon to hostname column
- Changed destination address display on list/details from textarea to div to
  accomodate automatic height adjustment (no need to manually specify height and
  hope for the best)
  - Also allows us to display the full Destination on the details page
- Tooltips for eraser icon + new address helper icon & minified identicons
- Consolidation of Hostname/host name/name referenced: now all "Hostname"
- Theme tweaks and whitespace removal
2017-02-10 16:37:15 +00:00
str4d
a22bf6b4a4 I2PSnark changes:
- Add spacing between File Info/ Directory Listing for all themes
- Tooltip for tracker removal eraser icon
- Theme tweaks and whitespace removal
2017-02-10 16:34:33 +00:00
str4d
c4e7b1a799 Open log files in a new tab 2017-02-10 16:31:49 +00:00
str4d
232d0b5e77 More tooltips 2017-02-10 16:31:21 +00:00
str4d
82095d9786 Add "NetDB Search" to Advanced sidebar section 2017-02-10 16:31:08 +00:00
str4d
f68967c5f2 Alphabetical sorting of sidebar links under "I2P Internals" 2017-02-10 16:30:47 +00:00
str4d
9898a4a930 Min width for config tabs on light theme 2017-02-10 12:36:40 +00:00
str4d
092881acc4 Padding for text-dense tables 2017-02-10 12:36:20 +00:00
str4d
b1ed295e26 Rename /configclient button classes 2017-02-10 12:13:05 +00:00
zzz
2d8f0c2956 Streaming: Fix optional delay and choking (tickets #1046, 1939)
- Don't always send optional delay
- Don't overwrite choking delay with non-choking delay
- Don't send optional delay of 0 every 8 packets
- Don't set options both in CDR.buildPacket() and Conn.sendPacket()
- Set or clear optional delay in packet when retransmitting
- Move choking state variables from ConnectionOptions to Connection
- Move updateAcks() call from PacketLocal to PacketQueue
- Fully implement choking and un-choking
- Reduce periods for some stats
- Comment out some debug logging
- Cleanups
- Fix javadoc HTML broken in previous checkin
2017-02-09 17:24:03 +00:00
zzz
f0241d4a1c Util: Change logCloseLoop level to DEBUG 2017-02-08 15:27:25 +00:00
zzz
a11bd7cbe7 I2CP: Return local delivery failure on queue overflow (ticket #1939) 2017-02-08 15:22:41 +00:00
zzz
36ec4de9c7 Console: Consolidate timer threads (ticket #1068)
Clear correct property if no users are set
2017-02-05 20:56:40 +00:00
zzz
843b66d61e Streaming: Don't hard fail on expired message error (ticket #1748) 2017-02-05 19:39:15 +00:00
zzz
afb87cd75c NTCP: Don't write to an inbound connection before established, causing NPE (ticket #996) 2017-02-05 19:09:12 +00:00
zzz
aa098ac800 dont log deletion of deletelist.txt 2017-02-05 14:58:47 +00:00
zzz
bbbbfe2417 reduce concurrent graph generation for ARM 2017-02-05 14:57:57 +00:00
zzz
9ab55ec368 checklist update 2017-02-05 14:56:51 +00:00
zzz
a85546534e Streaming: Don't always send optional delay (ticket #1046)
javadocs
2017-02-05 14:55:13 +00:00
zzz
83c786a5fd more man page translations 2017-02-05 14:16:33 +00:00
zzz
50d735b126 new reseed 2017-02-05 13:03:55 +00:00
zzz
da893452ea HTTP proxies: Pass through relative referer URIs, convert same-origin
absolute referer URIs to relative (ticket #1862)
2017-02-04 21:18:00 +00:00
zzz
6306799a4b single-char indexof() 2017-02-04 19:46:04 +00:00
zzz
82d812c25c NTP: Enable IPv6 support (ticket #1896) 2017-02-04 15:38:49 +00:00
zzz
890ad257e1 Router: Run shutdown tasks in parallel,
increase max time for shutdown tasks (ticket #1893)
i2psnark: Remove most delay between announces at shutdown
2017-01-30 22:05:43 +00:00
zzz
7cb5dab67f i2ptunnel: Add support for outproxy plugin to CONNECT proxy (tickets #1364, #1895)
Add support for ports to CONNECT proxy
2017-01-30 00:33:43 +00:00
zzz
1cf6030646 Utils: Catch Java 9 error in SSLEepGet 2017-01-28 15:41:48 +00:00
zzz
36fd93da0d Utils: Comment out debug logging in SSLEepGet 2017-01-28 14:00:11 +00:00
zzz
5483306d21 Utils: Detect when running as service on Gentoo 2017-01-28 13:57:31 +00:00
zzz
1f228a3f85 Build: Rename translated man pages to be compatible
with dh_installman for debian.
Add i2prouter-nowrapper man page.
Misc. man page fixups (man man-pages for the standard)
No ant targets or deb packaging yet.
2017-01-27 19:15:32 +00:00
zzz
12cc7b3a3b bump -4 2017-01-27 16:11:14 +00:00
zzz
61fd242938 Build: Translated man pages for es and zh,
and a script to build them.
es complete, zh partial, just for testing.
No ant targets or deb packaging yet.
2017-01-27 16:10:00 +00:00
zzz
78da3b9785 javadoc fixes part 15 (ticket #1894) 2017-01-27 16:00:58 +00:00
zzz
e0e06d73eb javadoc fixes part 14 (ticket #1894) 2017-01-27 03:14:34 +00:00
zzz
112fa503e6 javadoc fixes part 13 (ticket #1894) 2017-01-27 03:03:34 +00:00
zzz
9dab3b0dfe javadoc fixes part 12 (ticket #1894) 2017-01-27 02:27:53 +00:00
zzz
82064760d5 javadoc fixes part 11 (ticket #1894) 2017-01-27 02:19:47 +00:00
zzz
bd1354f95b javadoc fixes part 10 (ticket #1894) 2017-01-27 01:49:19 +00:00
zzz
fb74f41692 javadoc fixes part 9 (ticket #1894) 2017-01-27 01:41:06 +00:00
zzz
5db89d8743 javadoc fixes part 8 (ticket #1894) 2017-01-27 01:36:26 +00:00
zzz
b970912cc1 javadoc fixes part 7 (ticket #1894) 2017-01-26 21:55:04 +00:00
zzz
d196047382 javadoc fixes part 6 (ticket #1894) 2017-01-26 21:45:47 +00:00
zzz
eefb36cb99 javadoc fixes part 5 (ticket #1894) 2017-01-26 21:37:23 +00:00
zzz
dc5bfb224d javadoc fixes part 4 (ticket #1894) 2017-01-26 20:59:26 +00:00
zzz
e461e8fb4f javadoc fixes part 3 (ticket #1894) 2017-01-26 20:51:05 +00:00
zzz
8bb114e9c4 javadoc fixes part 2 (ticket #1894) 2017-01-26 20:45:58 +00:00
zzz
f77fc52ca7 javadoc fixes part 1 (ticket #1894) 2017-01-26 20:37:44 +00:00
zzz
1a28a2af23 Use the EL API and compiler from Jetty, not old Tomcat
Bundle the DTDs, as extracted from jetty-schemas-3.1.jar
These were in lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar in Jetty 8
but are not in any lib/jsp/*.jar in Jetty 9.
  GPL v2:
  Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
  Copyright 2004 The Apache Software Foundation
  Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
2017-01-26 17:30:33 +00:00
zzz
d9c6360e0a Build: Set up man pages for translation.
No ant targets yet.
2017-01-26 15:47:42 +00:00
zzz
8137661751 i2prouter: Add root check to restart and condrestart commands (ticket #1770) 2017-01-24 14:44:17 +00:00
zzz
c66559ff84 propagate from branch 'i2p.i2p' (head d2e954c054d89a425c9791067ac7998433e95a23)
to branch 'i2p.i2p.zzz.jetty9' (head adcba23cab31b88e430ee09bf45fd1b6789a1719)
2017-01-19 17:19:00 +00:00
zzz
e47c628891 jbigi: Update GMP version (ticket #1840) 2017-01-19 16:18:30 +00:00
zzz
7b0a5bcd5a debian doc update 2017-01-19 13:33:10 +00:00
zzz
6e7dedba81 javadoc clarification 2017-01-19 13:32:15 +00:00
zzz
83e356140d i2ptunnel: Change eepsite sigtype to EdDSA for new installs 2017-01-19 13:31:10 +00:00
zzz
b66c7802e7 Add new reseed reseed.onion.im 2017-01-19 13:28:40 +00:00
zzz
7311cf33b7 Utils: Gzip test code refresh 2017-01-19 13:25:56 +00:00
zzz
60c93f1e1c Client: Don't log error on datagram dissector fail (ticket #1915),
let the client do the logging.
Throw early if data too short
2017-01-17 15:34:38 +00:00
zzz
a36083ab18 Utils: Java 9 yakkety workarounds 2017-01-17 14:08:47 +00:00
str4d
6308038a08 "Cables? Where we're going, we don't need cables." 2017-01-15 14:17:20 +00:00
str4d
e141abb5de susimail and susidns theme tweaks
- Responsive layout
- "background: none" for radio/checkbox icons (Edge/IE fix)
- Address dropdown display issue in MS Edge by making customized dropdown menus inclusive (-webkit-appearance: none);
2017-01-15 14:15:26 +00:00
str4d
94c6496f9d Tooltips for /configclients and reseed button 2017-01-15 14:13:30 +00:00
str4d
d360ba4817 NedDb advanced lookup layout and theme improvements 2017-01-15 14:08:29 +00:00
str4d
cca3f57373 Presentation tweak on /help 2017-01-15 14:06:23 +00:00
str4d
57e51ab8c5 I2PSnark theme tweaks 2017-01-15 14:04:24 +00:00
str4d
93511c0e61 HTML tag validity bugfixes 2017-01-13 17:34:20 +00:00
zzz
7cae467b59 DTG: Don't try to start if headless (ticket #1924) 2017-01-12 15:54:06 +00:00
zzz
2df64cd098 Copy README.txt contents to README.md
so the github page is restored.
2017-01-09 13:54:49 +00:00
str4d
0a0757a69f Add 10px border between torrent info and content on details page
Only on ubergine theme currently; extend to other themes if this works
2017-01-08 17:23:18 +00:00
str4d
14bacc272e propagate from branch 'i2p.i2p' (head 439bb8be3133559026640ebd22fdf93d10ba2cb9)
to branch 'i2p.i2p.str4d.ui' (head 83c1a136effdf092093e9af799a138e86da7ec43)
2017-01-08 01:37:15 +00:00
str4d
2bc5630832 Final CSS updates
- Responsive layout tested on HiDef+ setup, tweaked where necessary
- Extended glyphs that don't appear to be universally available replaced
- /graphs styling
- Various smaller improvements
2017-01-07 18:51:58 +00:00
str4d
ecb9726ba4 Help: more advanced settings 2017-01-07 18:31:10 +00:00
str4d
894186e975 Updates to /graph
- Graph image updates
  - Custom fonts with fallback
  - Left-align legend
  - Thinner restart and graph lines for clarity
  - Separate legend and display period date
  - Text tidyups
- Tweak layout and text of configuration options
- Default width to 400px to avoid info truncation
- 15s and 30s refresh options
2017-01-07 18:28:55 +00:00
str4d
053ebd7079 Disable anti-aliasing and hinting on QR codes to improve quality of display text 2017-01-07 17:52:09 +00:00
str4d
fabc57b57a Second draft of CSS updates
- More responsive layout
- Accessibility tweaks
- Further consolidation of look & feel between console and webapps
2017-01-07 17:47:01 +00:00
str4d
04b9b202e5 Routerconsole CSS hooks 2017-01-07 17:42:07 +00:00
str4d
acec99ff43 Move console links above hidden service links on /home
UX motivation:
- Console links are a small group of likely-useful actions and apps, thus makes
  sense to keep them at closer reach
- Ensures that if more hidden services links are added, the console links
  remain visible
2017-01-07 17:41:32 +00:00
str4d
e81a01d3e8 Typo fix 2017-01-07 17:36:08 +00:00
str4d
7101fb0997 Move /configclients sub-links into header 2017-01-07 17:33:09 +00:00
str4d
6b7ac9fba6 Move susidns export button to top of UI 2017-01-07 17:29:12 +00:00
str4d
0badcf63aa Theme and forms for imagegen app 2017-01-07 17:09:34 +00:00
str4d
bd69499f8f Add more filetypes to eepsite jetty-dir.css 2017-01-07 16:47:32 +00:00
str4d
23f835781c I2PTunnel CSS hooks 2017-01-07 16:24:34 +00:00
str4d
5dd6f2d06b merge of 'a84cabd267418e1cf436c975915ed5b91e39ae86'
and 'aafd3b9469e494f4f106a5c60c2139947c150679'
2017-01-07 15:48:44 +00:00
meeh
7f9a211242 Adding Dockerfile with support files to build a minimal docker image running i2p. 2017-01-07 13:59:26 +00:00
zzz
ca440a50fe i2ptunnel: Fix NPE on proxy.i2p/add when no params 2017-01-07 13:55:36 +00:00
zzz
994b51b5b1 update to Jetty 9.2.20 2017-01-06 13:57:41 +00:00
zzz
fc0ddb0193 eepget: recognize more status codes 2017-01-06 12:24:29 +00:00
zzz
f0e6baad27 add package dependency document 2017-01-05 15:46:33 +00:00
zzz
6ad4cb0928 Data: No longer sort addresses in an RI by SHA256,
it's undocumented, the other router implementations don't do it,
and unnecessary since we store addresses in a List, not a Set,
as of 0.8.14 2012-05
2017-01-04 14:47:52 +00:00
zzz
91163948b5 Router: Replace random tunnel keys when rekeying 2017-01-04 14:29:37 +00:00
zzz
e16cf2ce51 javadoc 2017-01-04 13:31:55 +00:00
zzz
307a03f0ed RouterAppManager: Logging 2017-01-04 13:31:21 +00:00
zzz
b63d44b226 Sybil: Start analysis 3 days before 2017-01-04 13:30:35 +00:00
zzz
57be0df858 Webapps: Remove classpath system log 2017-01-04 13:28:34 +00:00
zzz
6843950bdc DataHelper: Release resources in finally block 2017-01-04 13:25:49 +00:00
zzz
134cbd46e4 Crypto: Enforce correct seed and hash lengths in EdDSAPrivateKeySpec
From github PR #22
747df9f9aa
2017-01-04 13:00:31 +00:00
str4d
91007735a1 Update tests to use ScalaTest 3.0.1 2016-12-29 18:54:23 +00:00
str4d
14ca463499 Add Maven Central upload to release checklist 2016-12-29 12:12:22 +00:00
zzz
a7492269fb RKG command line tool multiple args 2016-12-24 14:24:30 +00:00
zzz
074c630ac6 Utils: Add RKG command line tool 2016-12-24 13:46:51 +00:00
zzz
f902a63144 Console: Add Referrer-Policy header 2016-12-23 12:35:41 +00:00
zzz
ffcd2d4517 Clock: Fix duplicate notification of clock shift listeners 2016-12-22 15:16:51 +00:00
zzz
dd400bb14b Update: Fix JVM crash and i2p.jar corruption when updating from -1 2016-12-22 14:13:39 +00:00
zzz
63a2a6da08 Router: Check blocklist when loading RIs
Ensure blocklist is initialized before netdb
2016-12-22 14:08:44 +00:00
zzz
3846e08e68 Router: More efficiently check blocklist when receiving new RI 2016-12-22 12:46:38 +00:00
zzz
e625e67b5d Console: Limit age of news entries displayed 2016-12-22 12:03:28 +00:00
zzz
0819857b86 add toopie 2016-12-22 11:25:54 +00:00
zzz
fbbfd8acf0 NTP:
- Verify source address and port
 - Add to command line
 - main() test improvements
 - Add KoD support (ticket #1896)
 - Add initial IPv6 support (ticket #1897)
 - Make some methods private
 - Add year 2036 warning
2016-12-21 17:48:47 +00:00
zzz
95fb2df609 Tools: Fix installer compile fail 2016-12-20 14:01:36 +00:00
zzz
c1baee64d3 reseed updates 2016-12-18 15:06:48 +00:00
zzz
ce47d4ea68 Profiles: length check on file names 2016-12-16 18:06:38 +00:00
zzz
14a839ebba synch graceful exit code 2016-12-16 18:01:30 +00:00
zzz
636badcec2 reduce buffer size 2016-12-16 17:59:00 +00:00
zzz
6093f26fb6 minor cleanup 2016-12-16 17:58:16 +00:00
zzz
4615fce28e Update: Register blocklist version with update manager 2016-12-16 17:56:18 +00:00
zzz
328f544de1 minor optimization 2016-12-16 17:50:26 +00:00
zzz
0c76201bd9 propagate from branch 'i2p.i2p.zzz.test2' (head 2447f30ec8d46502041197c3ca0ce85d4da070b0)
to branch 'i2p.i2p' (head 763f037865b6bc798d2db144dc39faa02a09219a)
2016-12-16 17:45:54 +00:00
zzz
0a1cd20585 Debian: Updates
- Fix jetty version in build.xml
- Make javadoc package priority 'extra'
- Beginning of xenial files, Java 8 only, untested
- Build doc updates
- Add zesty, remove wily in docs
2016-12-15 13:56:52 +00:00
zzz
b78b3cb942 configpeer: Remove hr at bottom 2016-12-04 15:49:53 +00:00
zzz
62b5b49b02 Console: Sort banlist and floodfills in true binary order, not by base64 string 2016-12-04 15:25:38 +00:00
zzz
7734d3dd65 Consolidate base64 alphabet string 2016-12-04 14:10:07 +00:00
zzz
27724a809f BOB:
- Change NamedDB implementation to HashMap
  - Change NamedDB locks to ReentrantReadWriteLock
  - All unlocks in finally blocks, remove redundant unlocking
  - Remove throw declaration from methods that don't
  - Read under write lock when that's simpler
  - Use Boolean fields rather than valueOf()
  - Fix unlock order inversion in I2PtoTCP and MUXlisten
  - Remove unused locking in TCPtoI2P
  - Add missing locking in status command
  - Remove redundant locking
  - Remove unnecessary catch-and-rethrows
  - Spelling fix in error message
  - Set some methods static
  - Blank line removal
2016-12-03 23:10:53 +00:00
zzz
1d6fc40d59 BOB finals 2016-12-03 16:24:00 +00:00
zzz
176ecaa9f1 use new copy 2016-12-03 16:18:56 +00:00
zzz
42efed578a Clean up single char indexOf() 2016-12-03 16:00:09 +00:00
str4d
f7db737c1f Update i2psnark filetype icons 2016-08-08 08:00:01 +00:00
str4d
6512a9eb11 propagate from branch 'i2p.i2p' (head c62904685f0153a5b8cd032e8b3f1c4f64c5bec9)
to branch 'i2p.i2p.str4d.ui' (head 2a82ccb644906256af7bd0827725dc83e4c76be2)
2016-08-08 02:29:14 +00:00
str4d
3e96a24fb8 Update default eepsite, add new section about running alternative webservers 2016-07-24 12:37:07 +00:00
str4d
01902de200 Hide JS links on proxy pages when JS disabled 2016-07-24 11:45:07 +00:00
str4d
e8e42a0b9d First draft of theme updates
- CSS changes to match backend changes
- Routerconsole themes applied across all plugins
- Move i2ptunnel CSS to a single file
- Image cleanups
- New icons
- Drop unused images
2016-07-24 11:25:32 +00:00
str4d
5368da2632 propagate from branch 'i2p.i2p' (head 57f8904e34e39111f13c427cb9fc92eeeb71afcd)
to branch 'i2p.i2p.str4d.ui' (head c4a8676261c7bbfa420927d931398c52f38ed03f)
2016-07-24 09:21:14 +00:00
str4d
ddf332e779 susidns: rework top nav, consolidate filter section, misc markup 2016-07-11 07:08:55 +00:00
str4d
e01fe689d0 Encase susimail message nav in div 2016-07-11 07:08:13 +00:00
str4d
c586970128 Migrate i2ptunnel UI to tables, drop duplicate ids 2016-07-11 06:54:26 +00:00
str4d
f1d56a488a propagate from branch 'i2p.i2p' (head 67b5bc86a038a01b09ce3118cb12ffc5a63a7465)
to branch 'i2p.i2p.str4d.ui' (head e6ed70b649e8c498444b47918e2396a9602b8fd2)
2016-07-11 06:52:57 +00:00
str4d
12ced03aa5 propagate from branch 'i2p.i2p' (head e820709c391eb47dd85c43b4ec76d3731e2d653f)
to branch 'i2p.i2p.str4d.test2' (head 72c043901a0d9bbff44db975a12f38d6c4127845)
2016-07-10 14:41:27 +00:00
str4d
3471950f6f propagate from branch 'i2p.i2p' (head e820709c391eb47dd85c43b4ec76d3731e2d653f)
to branch 'i2p.i2p.str4d.ui' (head d58f7672f47913b858ab8651f9f460ac4a911898)
2016-07-10 14:41:03 +00:00
str4d
6d55f5bacf Update Jetty version after prop 2016-07-10 14:34:16 +00:00
str4d
6468e9e317 Update router version in build.gradle after prop 2016-07-10 14:32:53 +00:00
str4d
2270c4744c propagate from branch 'i2p.i2p' (head 34802d93f1d32368153a6769608d8e1046d0d117)
to branch 'i2p.i2p.str4d.test2' (head 0981aa4b9874c1752456cbf381aadc2fe829d57b)
2016-07-10 14:31:03 +00:00
str4d
e34eaa351e propagate from branch 'i2p.i2p' (head 34802d93f1d32368153a6769608d8e1046d0d117)
to branch 'i2p.i2p.str4d.ui' (head cc830bf1431a74c1944324a7b90349cc9319bd92)
2016-07-10 00:24:52 +00:00
str4d
6d4f8fd471 Fixes after merge
Also found several duplicate ids that were split up; these will be replaced with
classes later.
2016-07-09 23:53:51 +00:00
str4d
b38f3b56f8 propagate from branch 'i2p.i2p' (head 2c491226853de4521d10d68da3a0a8e4db33293d)
to branch 'i2p.i2p.str4d.ui' (head bbdfdd2b3941cfa3c2c5cab8f3c78069c865c54d)
2016-07-09 23:20:31 +00:00
str4d
e86092b3e0 Consistent back-linking 2016-05-30 04:56:20 +00:00
str4d
ed3120956c Position routerconsole.advanced warning so it is more clearly associated 2016-05-30 04:56:08 +00:00
str4d
e16760d4d0 propagate from branch 'i2p.i2p' (head 31a9e968da3ecdf8475137e498ed0145bfd48c5a)
to branch 'i2p.i2p.str4d.ui' (head b1b8350768db1eccf4b5939a5add1c5c94410ec3)
2016-05-29 11:53:02 +00:00
str4d
147a7e4468 propagate from branch 'i2p.i2p' (head fc46f2d84625265a3899b5ad50af5e91d396ba01)
to branch 'i2p.i2p.str4d.ui' (head f8d5c7b37f4813b669d8a10f9ff82d0ed2a33282)
2016-05-29 02:04:34 +00:00
str4d
6b7db094a9 Add toggles to i2psnark in preparation for CSS3 collapsible sections 2016-05-23 13:25:18 +00:00
str4d
9d3dec8577 Another style tweak 2016-05-23 13:20:22 +00:00
str4d
797ee21024 First pass at tidying up the favourites and services
This will change again once the new IA and UX for /home has been defined.
2016-05-23 12:50:07 +00:00
str4d
e485752546 Add help section for advanced settings 2016-05-23 12:46:18 +00:00
str4d
c9728fe2ef Add an optional Advanced section to the summary bar 2016-05-23 12:27:42 +00:00
str4d
206718f1e8 Text tweaks 2016-05-23 11:37:49 +00:00
str4d
31b480a68e Tweak /configstats toggle layout, hide if JS disabled 2016-05-23 11:33:42 +00:00
str4d
1a335321b2 Limit file inputs to accepted extensions 2016-05-23 11:29:10 +00:00
str4d
96fc02de5c Layout tweaks 2016-05-23 11:26:44 +00:00
str4d
804011d18d Note about language name length 2016-05-23 11:19:44 +00:00
str4d
f95100a1ff Update links, add tooltips etc. 2016-05-23 11:02:10 +00:00
str4d
bbc2454f36 Remove \n from inside empty <ol>s
When there are no list items, the <ol>s are now rendered as <ol></ol>, which
means they can be selected in CSS with ol:empty (to e.g. display: none), because
:empty only ignores comments inside HTML tags. This will be unnecessary once
browsers support the :blank selector, which will build on :empty to also ignore
whitespace.
2016-05-23 06:21:24 +00:00
str4d
62437acf66 More ids and classes 2016-05-23 05:41:24 +00:00
str4d
9cbcf5baa7 Fix repeated ids that should be classes 2016-05-23 05:31:42 +00:00
str4d
63260aac59 propagate from branch 'i2p.i2p' (head 198dad192e830f3eaf568af10f308bc98795470e)
to branch 'i2p.i2p.str4d.ui' (head 24039fce2eef425a63521138774a182aa07fec9f)
2016-05-23 04:55:57 +00:00
str4d
b316315c61 Use subtable for mail header 2016-05-09 12:01:23 +00:00
str4d
61be475044 propagate from branch 'i2p.i2p' (head 6706bab853107973d7d0ff28212aae65bd098591)
to branch 'i2p.i2p.str4d.ui' (head 645f60a4d23af4116ae660b09dfff32d19a65c32)
2016-05-08 21:47:30 +00:00
str4d
29befb44cc Missing files from revision f253b24b4a6d5c841605792653ed57344dade6c4 2016-05-08 21:31:08 +00:00
str4d
6bfd39d5c0 propagate from branch 'i2p.i2p' (head 8e9786b74b0ffb821179c5c60954ab3c00a71250)
to branch 'i2p.i2p.str4d.ui' (head 94e11eaba6bb17c14f4d9ca58547867f34949847)
2016-05-01 11:45:22 +00:00
str4d
8e391444b4 Fix mail table layout 2016-05-01 05:26:50 +00:00
str4d
a945cabf11 Ensure users know they are logging into I2PMail 2016-05-01 05:21:00 +00:00
str4d
4634debe21 Adjust truncation limits 2016-05-01 05:19:19 +00:00
str4d
d0456098e2 susimail layout tweaks 2016-05-01 05:18:29 +00:00
str4d
a3c9887fe5 Add a bunch of ids and classes to susimail HTML for styling 2016-05-01 05:04:43 +00:00
str4d
327f36d022 Disable spellcheck on SusiDNS config editor 2016-05-01 04:28:05 +00:00
str4d
8eeb902467 Rework "Create Torrent" table 2016-05-01 04:22:45 +00:00
str4d
61e54cf52e Rename i2psnark paging control images 2016-05-01 04:20:46 +00:00
str4d
50291233a1 Various small i2psnark HTML tweaks 2016-05-01 04:18:00 +00:00
str4d
edb3ffcf45 Rework /configui forms for theming 2016-05-01 04:06:28 +00:00
str4d
e34f0443bc Include bandwidth in minimal sidebar 2016-05-01 03:26:36 +00:00
str4d
cb0147a798 Collate help topics under /help 2016-05-01 03:24:25 +00:00
str4d
a7f789f069 Collate /configtunnels infostrings 2016-05-01 02:20:23 +00:00
str4d
66544f41f2 Tweak /stats for theming 2016-05-01 02:16:46 +00:00
str4d
82c55e6008 Remove hard-coded styling that will be moved to CSS 2016-05-01 01:28:49 +00:00
str4d
1ad69e7127 Improve contrast of graphs 2016-05-01 01:17:01 +00:00
str4d
6470f2d983 Wrap /profiles and /viewprofile info in tables for theming 2016-05-01 01:10:04 +00:00
str4d
709ccf6c22 Use tables for /netdb 2016-05-01 01:02:17 +00:00
str4d
03887826e8 Use table for transport legend 2016-04-25 12:03:38 +00:00
str4d
44a27008dd Convert various config pages to table layouts 2016-04-18 12:11:05 +00:00
str4d
33229a31ee Use tables for /logs 2016-04-18 05:46:58 +00:00
str4d
653047146a Put /events controls on a single line 2016-04-18 05:36:33 +00:00
str4d
423167fdd3 Make /jobs HTML consistent with other pages 2016-04-18 04:55:57 +00:00
str4d
4547d5887d Move name title above name column on /confighome 2016-04-18 04:45:22 +00:00
str4d
3790129b30 Fix bug in /configui lang selector when not in advanced mode 2016-04-18 04:32:55 +00:00
str4d
aa95750e1f Make /configclients plugin links consistent with other details 2016-04-18 04:29:57 +00:00
str4d
ac6cd7e4c6 Add a bunch of ids and classes to routerconsole HTML for styling 2016-04-18 04:12:15 +00:00
str4d
0bfe45bebe Start of buildscript for generating updates 2015-12-29 21:18:53 +00:00
str4d
3c383ca874 Update router and Java versions in build.gradle after prop 2015-12-29 21:16:42 +00:00
str4d
fccd0dad78 propagate from branch 'i2p.i2p' (head 833ef88c125ba48423bc704701303ba55858336f)
to branch 'i2p.i2p.str4d.test2' (head 6f21d8d6c6d4cca5b6442f8effb56841e81a07b6)
2015-12-29 21:08:36 +00:00
zzz
b0c3c11bd9 Start work on Jetty 9
targetting 9.2.x for now
Requires Java 7
2015-08-09 13:36:24 +00:00
str4d
bb00e91672 propagate from branch 'i2p.i2p' (head e02e6d733a703970e20e732e5156cbabc394e88e)
to branch 'i2p.i2p.str4d.test2' (head aad766aaf6f0a2563069c6f19c38b33ae6c49ad8)
2014-07-10 09:28:25 +00:00
str4d
2ef203246b Routerconsole build script fixes 2014-06-26 22:37:42 +00:00
str4d
367ab28706 Corrected contents of i2p.jar router.jar utility.jar 2014-06-26 03:26:32 +00:00
str4d
8de0c0bd88 Correct Jar/War split for addressbook, snark and i2ptunnel 2014-06-26 00:00:38 +00:00
str4d
aa3ac75470 Gradle test config improvements 2014-06-25 02:50:24 +00:00
str4d
f6108b51a2 Missing Gradle wrapper 2014-06-25 02:07:00 +00:00
str4d
3c8862763b Gradle build scripts for remaining apps 2014-06-25 02:04:06 +00:00
str4d
bab02a62e9 Gradle wrapper and instructions 2014-06-24 23:41:55 +00:00
str4d
d97c9876e8 desktopgui and systray build scripts, fixed routerconsole 2014-06-24 23:26:51 +00:00
str4d
61285435e8 Fixed deprecation 2014-06-24 23:16:47 +00:00
str4d
8ea4d893f6 BOB and SAM build scripts 2014-06-24 22:59:23 +00:00
str4d
593904cc44 Started build script for routerconsole, broken 2014-06-24 22:48:05 +00:00
str4d
957eb1f7ab Jetty build.gradle 2014-06-24 11:25:02 +00:00
str4d
7ca735bfb2 Gradle build scripts for ministreaming and streaming 2014-06-24 05:37:53 +00:00
str4d
0919fa06f6 Don't set version (so .jars don't contain version) 2014-06-24 05:36:49 +00:00
str4d
da777c1d7d Initial set of Gradle build scripts for core and router 2014-06-24 05:18:16 +00:00
str4d
0305274a13 Updated ignores for Gradle 2014-06-24 05:08:26 +00:00
2175 changed files with 421007 additions and 219847 deletions

9
.gitignore vendored
View File

@@ -46,3 +46,12 @@ sloccount.sc
# but allow debian/patches
!/debian/patches/*.(patch|diff)
# IDE project files
# Eclipse
.classpath
.project
.settings/
# IDEA
*.iml

View File

@@ -53,3 +53,12 @@ override.properties
# Reporting
sloccount.sc
^reports/
# IDE project files
# Eclipse
/.classpath$
/.project$
/.settings
# IDEA
\.iml$

52
.travis.yml Normal file
View File

@@ -0,0 +1,52 @@
language: java
jdk:
- oraclejdk9
- openjdk8
matrix:
include:
- jdk: oraclejdk8
addons:
sonarcloud:
organization: "i2p"
- jdk: openjdk7
sudo: required
before_install: # Work around missing crypto in openjdk7
- sudo wget "https://bouncycastle.org/download/bcprov-ext-jdk15on-158.jar" -O "${JAVA_HOME}/jre/lib/ext/bcprov-ext-jdk15on-158.jar"
- sudo perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security
- echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | sudo tee -a /etc/java-7-openjdk/security/java.security
before_install:
- |
if [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ]; then
sed -i "1iplugins {\n id 'org.sonarqube' version '2.6.1'\n}\n" build.gradle
fi
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.sonar/cache/
- .gradle
script:
- |
if [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ]; then
./gradlew sonarqube codeCoverageReport
else
./gradlew check codeCoverageReport
fi
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
irc:
channels:
- "chat.freenode.net#i2p-dev"
on_success: change
on_failure: always

View File

@@ -9,6 +9,8 @@ trans.es = apps/i2ptunnel/locale/messages_es.po
trans.fi = apps/i2ptunnel/locale/messages_fi.po
trans.fr = apps/i2ptunnel/locale/messages_fr.po
trans.hu = apps/i2ptunnel/locale/messages_hu.po
;; Java converts id to in
trans.id = apps/i2ptunnel/locale/messages_in.po
trans.it = apps/i2ptunnel/locale/messages_it.po
trans.ja = apps/i2ptunnel/locale/messages_ja.po
trans.ko = apps/i2ptunnel/locale/messages_ko.po
@@ -69,6 +71,8 @@ trans.et_EE = apps/routerconsole/locale/messages_et.po
trans.fi = apps/routerconsole/locale/messages_fi.po
trans.fr = apps/routerconsole/locale/messages_fr.po
trans.hu = apps/routerconsole/locale/messages_hu.po
;; Java converts id to in
trans.id = apps/routerconsole/locale/messages_in.po
trans.it = apps/routerconsole/locale/messages_it.po
trans.ja = apps/routerconsole/locale/messages_ja.po
trans.ko = apps/routerconsole/locale/messages_ko.po
@@ -113,6 +117,7 @@ trans.ro = apps/routerconsole/locale-news/messages_ro.po
trans.ru_RU = apps/routerconsole/locale-news/messages_ru.po
trans.sk = apps/routerconsole/locale-news/messages_sk.po
trans.sq = apps/routerconsole/locale-news/messages_sq.po
trans.sr = apps/routerconsole/locale-news/messages_sr.po
trans.sv_SE = apps/routerconsole/locale-news/messages_sv.po
trans.tr_TR = apps/routerconsole/locale-news/messages_tr.po
trans.uk_UA = apps/routerconsole/locale-news/messages_uk.po
@@ -134,6 +139,8 @@ trans.fi = apps/routerconsole/locale-countries/messages_fi.po
trans.fr = apps/routerconsole/locale-countries/messages_fr.po
trans.gl = apps/routerconsole/locale-countries/messages_gl.po
trans.hu = apps/routerconsole/locale-countries/messages_hu.po
;; Java converts id to in
trans.id = apps/routerconsole/locale-countries/messages_in.po
trans.it = apps/routerconsole/locale-countries/messages_it.po
trans.ja = apps/routerconsole/locale-countries/messages_ja.po
trans.ko = apps/routerconsole/locale-countries/messages_ko.po
@@ -164,6 +171,8 @@ trans.es = apps/i2psnark/locale/messages_es.po
trans.fi = apps/i2psnark/locale/messages_fi.po
trans.fr = apps/i2psnark/locale/messages_fr.po
trans.hu = apps/i2psnark/locale/messages_hu.po
;; Java converts id to in
trans.id = apps/i2psnark/locale/messages_in.po
trans.it = apps/i2psnark/locale/messages_it.po
trans.ja = apps/i2psnark/locale/messages_ja.po
trans.ko = apps/i2psnark/locale/messages_ko.po
@@ -194,6 +203,8 @@ trans.fi = apps/susidns/locale/messages_fi.po
trans.fr = apps/susidns/locale/messages_fr.po
trans.gl = apps/susidns/locale/messages_gl.po
trans.hu = apps/susidns/locale/messages_hu.po
;; Java converts id to in
trans.id = apps/susidns/locale/messages_in.po
trans.it = apps/susidns/locale/messages_it.po
trans.ja = apps/susidns/locale/messages_ja.po
trans.ko = apps/susidns/locale/messages_ko.po
@@ -250,9 +261,11 @@ trans.zh_CN = apps/desktopgui/locale/messages_zh.po
[I2P.susimail]
source_file = apps/susimail/locale/messages_en.po
source_lang = en
trans.ar = apps/susimail/locale/messages_ar.po
trans.cs = apps/susimail/locale/messages_cs.po
trans.da = apps/susimail/locale/messages_da.po
trans.de = apps/susimail/locale/messages_de.po
trans.el = apps/susimail/locale/messages_el.po
trans.es = apps/susimail/locale/messages_es.po
trans.fi = apps/susimail/locale/messages_fi.po
trans.fr = apps/susimail/locale/messages_fr.po
@@ -264,12 +277,14 @@ trans.it = apps/susimail/locale/messages_it.po
trans.ja = apps/susimail/locale/messages_ja.po
trans.ko = apps/susimail/locale/messages_ko.po
trans.mg = apps/susimail/locale/messages_mg.po
trans.nb = apps/susimail/locale/messages_nb.po
trans.nl = apps/susimail/locale/messages_nl.po
trans.pl = apps/susimail/locale/messages_pl.po
trans.pt = apps/susimail/locale/messages_pt.po
trans.pt_BR = apps/susimail/locale/messages_pt_BR.po
trans.ro = apps/susimail/locale/messages_ro.po
trans.ru_RU = apps/susimail/locale/messages_ru.po
trans.sk = apps/susimail/locale/messages_sk.po
trans.sq = apps/susimail/locale/messages_sq.po
trans.sv_SE = apps/susimail/locale/messages_sv.po
trans.tr_TR = apps/susimail/locale/messages_tr.po
@@ -287,11 +302,13 @@ trans.el = debian/po/el.po
trans.es = debian/po/es.po
trans.fi = debian/po/fi.po
trans.fr = debian/po/fr.po
trans.gl = debian/po/gl.po
trans.id = debian/po/id.po
trans.it = debian/po/it.po
trans.hu = debian/po/hu.po
trans.ja = debian/po/ja.po
trans.ko = debian/po/ko.po
trans.nb = debian/po/nb.po
trans.nl = debian/po/nl.po
trans.pl = debian/po/pl.po
trans.pt = debian/po/pt.po
@@ -309,12 +326,10 @@ trans.zh_TW = debian/po/zh_TW.po
[I2P.i2prouter-script]
source_file = installer/resources/locale/po/messages_en.po
source_lang = en
;; currently fails check
;;trans.ca = installer/resources/locale/po/messages_ca.po
trans.ca = installer/resources/locale/po/messages_ca.po
trans.de = installer/resources/locale/po/messages_de.po
trans.es = installer/resources/locale/po/messages_es.po
;; currently fails check
;;trans.fi = installer/resources/locale/po/messages_fi.po
trans.fi = installer/resources/locale/po/messages_fi.po
trans.fr = installer/resources/locale/po/messages_fr.po
trans.id = installer/resources/locale/po/messages_id.po
trans.it = installer/resources/locale/po/messages_it.po
@@ -329,11 +344,26 @@ trans.ru_RU = installer/resources/locale/po/messages_ru.po
trans.sk = installer/resources/locale/po/messages_sk.po
trans.sv_SE = installer/resources/locale/po/messages_sv.po
trans.tr_TR = installer/resources/locale/po/messages_tr.po
;; currently fails check
;;trans.uk_UA = installer/resources/locale/po/messages_uk.po
trans.uk_UA = installer/resources/locale/po/messages_uk.po
trans.zh_CN = installer/resources/locale/po/messages_zh.po
[I2P.getopt]
;;
;; Java properties files (when not read with our DataHelper methods) must be ISO-8859-1 encoded.
;; See https://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
;; Several getopt translations from Transifex are ISO-8859-1 encoded.
;; So that all our source files are consistently UTF-8 encoded,
;; you may optionally convert them to ASCII with Unicode escapes after downloading.
;; Convert files with:
;; native2ascii -encoding iso-8859-1 foo.properties foo.properties.new
;; Then review that it looks right:
;; native2ascii -reverse -encoding UTF-8 foo.properties.new
;; Then copy it over:
;; mv foo.properties.new foo.properties
;; The following files from Transifex are known to be ISO-8859-1 encoded,
;; and should be escaped using native2ascii after downloading:
;; gl, pt, pt_BR, sq, sv, tr
;;
source_file = core/java/src/gnu/getopt/MessagesBundle.properties
source_lang = en
type = PROPERTIES
@@ -342,30 +372,28 @@ trans.de = core/java/src/gnu/getopt/MessagesBundle_de.properties
trans.es = core/java/src/gnu/getopt/MessagesBundle_es.properties
trans.fi = core/java/src/gnu/getopt/MessagesBundle_fi.properties
trans.fr = core/java/src/gnu/getopt/MessagesBundle_fr.properties
;; currently corrupt, non-UTF-8
;;trans.gl = core/java/src/gnu/getopt/MessagesBundle_gl.properties
trans.gl = core/java/src/gnu/getopt/MessagesBundle_gl.properties
trans.hu = core/java/src/gnu/getopt/MessagesBundle_hu.properties
;; Java converts id to in
trans.id = core/java/src/gnu/getopt/MessagesBundle_in.properties
trans.it = core/java/src/gnu/getopt/MessagesBundle_it.properties
trans.ja = core/java/src/gnu/getopt/MessagesBundle_ja.properties
trans.ko = core/java/src/gnu/getopt/MessagesBundle_ko.properties
trans.nl = core/java/src/gnu/getopt/MessagesBundle_nl.properties
trans.nb = core/java/src/gnu/getopt/MessagesBundle_nb.properties
trans.nl = core/java/src/gnu/getopt/MessagesBundle_nl.properties
trans.pl = core/java/src/gnu/getopt/MessagesBundle_pl.properties
;; currently corrupt, non-UTF-8
;;trans.pt = core/java/src/gnu/getopt/MessagesBundle_pt.properties
;; currently corrupt, non-UTF-8
;;trans.pt_BR = core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
trans.pt = core/java/src/gnu/getopt/MessagesBundle_pt.properties
trans.pt_BR = core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties
trans.ro = core/java/src/gnu/getopt/MessagesBundle_ro.properties
trans.ru_RU = core/java/src/gnu/getopt/MessagesBundle_ru.properties
trans.sk = core/java/src/gnu/getopt/MessagesBundle_sk.properties
;; currently corrupt, non-UTF-8
;;trans.sq = core/java/src/gnu/getopt/MessagesBundle_sq.properties
;; currently corrupt, non-UTF-8
;;trans.tr_TR = core/java/src/gnu/getopt/MessagesBundle_tr.properties
trans.sq = core/java/src/gnu/getopt/MessagesBundle_sq.properties
trans.sr = core/java/src/gnu/getopt/MessagesBundle_sr.properties
trans.sv_SE = core/java/src/gnu/getopt/MessagesBundle_sv.properties
trans.tr_TR = core/java/src/gnu/getopt/MessagesBundle_tr.properties
trans.uk_UA = core/java/src/gnu/getopt/MessagesBundle_uk.properties
trans.zh_CN = core/java/src/gnu/getopt/MessagesBundle_zh.properties
trans.zh_TW = core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
[I2P.streaming]
source_file = apps/ministreaming/locale/messages_en.po
@@ -384,6 +412,7 @@ trans.ko = apps/ministreaming/locale/messages_ko.po
trans.nb = apps/ministreaming/locale/messages_nb.po
trans.nl = apps/ministreaming/locale/messages_nl.po
trans.pl = apps/ministreaming/locale/messages_pl.po
trans.pt = apps/ministreaming/locale/messages_pt.po
trans.pt_BR = apps/ministreaming/locale/messages_pt_BR.po
trans.ro = apps/ministreaming/locale/messages_ro.po
trans.ru_RU = apps/ministreaming/locale/messages_ru.po
@@ -392,6 +421,26 @@ trans.tr_TR = apps/ministreaming/locale/messages_tr.po
trans.uk_UA = apps/ministreaming/locale/messages_uk.po
trans.zh_CN = apps/ministreaming/locale/messages_zh.po
[I2P.manpages]
type = PO
source_file = installer/resources/locale-man/man.pot
source_lang = en
; after adding languages here, add to debian/*.manpages also
trans.de = installer/resources/locale-man/man_de.po
trans.es = installer/resources/locale-man/man_es.po
trans.fi = installer/resources/locale-man/man_fi.po
trans.fr = installer/resources/locale-man/man_fr.po
trans.id = installer/resources/locale-man/man_id.po
trans.it = installer/resources/locale-man/man_it.po
trans.ko = installer/resources/locale-man/man_ko.po
trans.nl = installer/resources/locale-man/man_nl.po
trans.pl = installer/resources/locale-man/man_pl.po
trans.pt = installer/resources/locale-man/man_pt.po
trans.pt_BR = installer/resources/locale-man/man_pt_BR.po
trans.ru_RU = installer/resources/locale-man/man_ru.po
trans.sv_SE = installer/resources/locale-man/man_sv.po
trans.zh_CN = installer/resources/locale-man/man_zh.po
[main]
host = https://www.transifex.com

14
Docker.entrypoint.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
export JAVA_HOME=/opt/jdk/jre
# Ensure user rights
chown -R i2p:nobody /opt/i2p
chmod -R u+rwx /opt/i2p
gosu i2p /opt/i2p/i2psvc /opt/i2p/wrapper.config wrapper.pidfile=/var/tmp/i2p.pid \
wrapper.name=i2p \
wrapper.displayname="I2P Service" \
wrapper.statusfile=/var/tmp/i2p.status \
wrapper.java.statusfile=/var/tmp/i2p.java.status \
wrapper.logfile=/var/tmp/wrapper.log

7
Docker.expt Normal file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/expect
set timeout 15;
spawn java -jar /tmp/i2pinstall.jar -console
expect {
-re ".*press 1 to continue, 2 to quit, 3 to redisplay" {send "1\r"; exp_continue;}
-re "Select target path *" {send "/opt/i2p\r"; exp_continue;}
}

62
Dockerfile Normal file
View File

@@ -0,0 +1,62 @@
FROM meeh/java8server:latest
# Docker image based on Alpine with Java.
# We use Oracle Java to run I2P, but uses the openjdk to build it.
MAINTAINER Mikal Villa <mikal@sigterm.no>
ENV GIT_BRANCH="master"
ENV I2P_PREFIX="/opt/i2p"
ENV PATH=${I2P_PREFIX}/bin:$PATH
ENV JAVA_HOME=/usr/lib/jvm/default-jvm
ENV GOSU_VERSION=1.7
ENV GOSU_SHASUM="34049cfc713e8b74b90d6de49690fa601dc040021980812b2f1f691534be8a50 /usr/local/bin/gosu"
RUN mkdir /user && adduser -S -h /user i2p && chown -R i2p:nobody /user
# Adding files first, since Docker.expt is required for installation
ADD Docker.expt /tmp/Docker.expt
ADD Docker.entrypoint.sh /entrypoint.sh
# Required for wget https
RUN apk add --no-cache openssl
# Gosu is a replacement for su/sudo in docker and not a backdoor :) See https://github.com/tianon/gosu
RUN wget -O /usr/local/bin/gosu https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64 \
&& echo "${GOSU_SHASUM}" | sha256sum -c && chmod +x /usr/local/bin/gosu
#
# Each RUN is a layer, adding the dependencies and building i2pd in one layer takes around 8-900Mb, so to keep the
# image under 200mb we need to remove all the build dependencies in the same "RUN" / layer.
#
# The main layer
RUN apk --no-cache add build-base git gettext tar bzip2 apache-ant openjdk8 expect \
&& mkdir -p /usr/src/build \
&& cd /usr/src/build \
&& git clone -b ${GIT_BRANCH} https://github.com/i2p/i2p.i2p.git \
&& cd /usr/src/build/i2p.i2p \
&& echo "noExe=true" >> build.properties \
&& ant installer-linux \
&& cp i2pinstall*.jar /tmp/i2pinstall.jar \
&& mkdir -p /opt \
&& chown i2p:root /opt \
&& chmod u+rw /opt \
&& gosu i2p expect -f /tmp/Docker.expt \
&& cd ${I2P_PREFIX} \
&& rm -fr man docs *.bat *.command *.app /tmp/i2pinstall.jar /tmp/Docker.expt \
&& rm -fr /usr/src/build \
&& apk --purge del build-base apache-ant expect tcl expat git openjdk8 openjdk8-jre openjdk8-jre-base openjdk8-jre-lib bzip2 tar \
binutils-libs binutils pkgconfig libcurl libc-dev musl-dev g++ make fortify-headers pkgconf giflib libssh2 libxdmcp libxcb \
libx11 pcre alsa-lib libxi libxrender libxml2 readline bash openssl \
&& rm -fr /usr/lib/jvm/default-jre \
&& ln -sf /opt/jdk/jre /usr/lib/jvm/default-jre \
&& chmod a+x /entrypoint.sh
EXPOSE 7654 7656 7657 7658 4444 6668 8998 7659 7660 4445 15000-20000
ENTRYPOINT [ "/entrypoint.sh" ]

View File

@@ -11,7 +11,7 @@ you may use:
lynx http://localhost:7657/
to configure the router.
If you're having trouble, swing by http://forum.i2p/, check the
If you're having trouble, check the
website at https://geti2p.net/, or get on irc://irc.freenode.net/#i2p
I2P will create and store files and configuration data in the user directory

View File

@@ -58,7 +58,7 @@ Public domain except as listed below:
PRNG:
Copyright (C) 2001, 2002, Free Software Foundation, Inc.
See licenses/LICENSE-LGPLv2.1.txt
See licenses/LICENSE-LGPLv2.1.txt or /usr/share/common-licenses/LGPL-2.1
HashCash code:
Copyright 2006 Gregory Rubin grrubin@gmail.com
@@ -150,8 +150,8 @@ Installer:
Java Service Wrapper Community Edition 32-bit 3.5.30:
Copyright (C) 1999-2016 Tanuki Software, Ltd. All Rights Reserved.
Java Service Wrapper Community Edition 32-bit 3.5.34:
Copyright (C) 1999-2017 Tanuki Software, Ltd. All Rights Reserved.
See licenses/LICENSE-Wrapper.txt
@@ -212,12 +212,11 @@ Applications:
Zxing 3.3.0:
See licenses/LICENSE-Apache2.0.txt
Jetty 8.1.21.v20160908:
Jetty 9.2.22.v20170606:
See licenses/ABOUT-Jetty.html
See licenses/NOTICE-Jetty.html
See licenses/LICENSE-Apache2.0.txt
See licenses/LICENSE-ECLIPSE-1.0.html
See licenses/NOTICE-Commons-Logging.txt
JRobin 1.6.0-1:
Copyright (c) 2001-2005 Sasa Markovic and Ciaran Treanor.
@@ -245,6 +244,7 @@ Applications:
- All other flag icons: public domain, courtesy mjames@gmail.com http://www.famfamfam.com/
Silk icons: See licenses/LICENSE-SilkIcons.txt
FatCow icons: See licenses/LICENSE-FatCowIcons.txt
Fugue Icons: See licenses/LICENSE-FugueIcons.txt
GeoIP Data:
This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
@@ -283,8 +283,8 @@ Applications:
Bundles systray4j-2.4.1:
See licenses/LICENSE-LGPLv2.1.txt
Tomcat 6.0.48:
Copyright 1999-2016 The Apache Software Foundation
Tomcat 8.5.23:
Copyright 1999-2017 The Apache Software Foundation
See licenses/LICENSE-Apache2.0.txt
See licenses/NOTICE-Tomcat.txt
@@ -302,6 +302,10 @@ distributions. See the source package for the additional license information.
Copyright (C) sponge
DWTFYWTPL
Gradle wrapper:
Copyright (c) 2017 the original author or authors.
See licenses/LICENSE-Apache2.0.txt
SAM C Library:
Copyright (c) 2004, Matthew P. Cashdollar <mpc@innographx.com>
See apps/sam/c/doc/license.txt

76
README.md Normal file
View File

@@ -0,0 +1,76 @@
# I2P
This is the source code for the reference Java implementation of I2P.
Latest release: https://geti2p.net/download
## Installing
See INSTALL.txt or https://geti2p.net/download for installation instructions.
## Documentation
https://geti2p.net/how
FAQ: https://geti2p.net/faq
API: http://docs.i2p-projekt.de/javadoc/
or run 'ant javadoc' then start at build/javadoc/index.html
## Building packages from source
To get development branch from source control: https://geti2p.net/newdevelopers
### Prerequisites
- Java SDK (preferably Oracle/Sun or OpenJDK) 1.7.0 or higher
- Non-linux operating systems and JVMs: See https://trac.i2p2.de/wiki/java
- Certain subsystems for embedded (core, router, mstreaming, streaming, i2ptunnel)
require only Java 1.6
- Apache Ant 1.7.0 or higher
- The xgettext, msgfmt, and msgmerge tools installed from the GNU gettext package
http://www.gnu.org/software/gettext/
- Build environment must use a UTF-8 locale.
### Ant build process
On x86 systems do:
ant pkg
On non-x86, use one of the following instead:
ant installer-linux
ant installer-freebsd
ant installer-osx
Run 'ant' with no arguments to see other build options.
### Gradle build process
Full builds of installers or updates are not yet possible, but the code can be
compiled with:
./gradlew assemble
This will download dependencies over the clearnet by default, including Gradle
itself. To download through a SOCKS proxy (e.g. Tor), add the following lines to
your `~/.gradle/gradle.properties`:
systemProp.socksProxyHost=localhost
systemProp.socksProxyPort=9150
## Contact info
Need help? See the IRC channel #i2p on irc.freenode.net
Bug reports: https://trac.i2p2.de/report/1
Contact information, security issues, press inquiries: https://geti2p.net/en/contact
Twitter: @i2p, @geti2p
## Licenses
See LICENSE.txt

View File

@@ -19,6 +19,16 @@ To build:
Run 'ant' with no arguments to see other build options.
See INSTALL.txt or https://geti2p.net/download for installation instructions.
Gradle build system:
Full builds are not yet possible, but the command is:
./gradlew assemble
gradlew will download dependencies over the clearnet by default, including
Gradle itself. To download over Tor, create a gradle.properties file
containing:
systemProp.socksProxyHost=localhost
systemProp.socksProxyPort=9150
Documentation:
https://geti2p.net/how
API: http://docs.i2p-projekt.de/javadoc/
@@ -35,7 +45,6 @@ FAQ:
Need help?
IRC irc.freenode.net #i2p
http://forum.i2p/
Bug reports:
https://trac.i2p2.de/report/1

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/ministreaming"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>BOB</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="core" />
<orderEntry type="module" module-name="ministreaming" />
</component>
</module>

12
apps/BOB/build.gradle Normal file
View File

@@ -0,0 +1,12 @@
sourceSets {
main {
java {
srcDir 'src'
}
}
}
dependencies {
compile project(':core')
compile project(':apps:ministreaming')
}

View File

@@ -155,7 +155,6 @@ public class BOB implements Runnable, ClientApp {
*
* @param mgr may be null
* @param args non-null
* @throws Exception on bad args
* @since 0.9.10
*/
public BOB(I2PAppContext context, ClientAppManager mgr, String[] args) {
@@ -364,25 +363,30 @@ public class BOB implements Runnable, ClientApp {
// We could order them to stop, but that could cause nasty issues in the locks.
visitAllThreads();
database.getReadLock();
int all = database.getcount();
database.releaseReadLock();
NamedDB nickinfo;
for (i = 0; i < all; i++) {
database.getReadLock();
nickinfo = (NamedDB) database.getnext(i);
nickinfo.getReadLock();
if (nickinfo.get(P_RUNNING).equals(Boolean.TRUE) && nickinfo.get(P_STOPPING).equals(Boolean.FALSE) && nickinfo.get(P_STARTING).equals(Boolean.FALSE)) {
nickinfo.releaseReadLock();
database.releaseReadLock();
database.getWriteLock();
nickinfo.getWriteLock();
nickinfo.add(P_STOPPING, Boolean.valueOf(true));
nickinfo.releaseWriteLock();
database.releaseWriteLock();
} else {
nickinfo.releaseReadLock();
database.releaseReadLock();
try {
for (Object ndb : database.values()) {
nickinfo = (NamedDB) ndb;
nickinfo.getReadLock();
boolean released = false;
try {
if (nickinfo.get(P_RUNNING).equals(Boolean.TRUE) && nickinfo.get(P_STOPPING).equals(Boolean.FALSE) && nickinfo.get(P_STARTING).equals(Boolean.FALSE)) {
nickinfo.releaseReadLock();
released = true;
nickinfo.getWriteLock();
try {
nickinfo.add(P_STOPPING, Boolean.TRUE);
} finally {
nickinfo.releaseWriteLock();
}
}
} finally {
if (!released)
nickinfo.releaseReadLock();
}
}
} finally {
database.releaseReadLock();
}
changeState(STOPPED);
_log.info("BOB is now stopped.");

File diff suppressed because it is too large Load Diff

View File

@@ -25,16 +25,16 @@ import net.i2p.data.DataHelper;
import net.i2p.util.I2PAppThread;
/**
* Process I2P->TCP
* Process I2P-&gt;TCP
*
* @author sponge
*/
public class I2PtoTCP implements Runnable {
private I2PSocket I2P;
private NamedDB info, database;
private final NamedDB info, database;
private Socket sock;
private AtomicBoolean lives;
private final AtomicBoolean lives;
/**
* Constructor
@@ -56,8 +56,8 @@ public class I2PtoTCP implements Runnable {
}
private void runlock() {
database.releaseReadLock();
info.releaseReadLock();
database.releaseReadLock();
}
/**
@@ -78,23 +78,15 @@ public class I2PtoTCP implements Runnable {
die:
{
try {
try {
rlock();
} catch (Exception e) {
break die;
}
rlock();
try {
host = info.get("OUTHOST").toString();
port = Integer.parseInt(info.get("OUTPORT").toString());
tell = info.get("QUIET").equals(Boolean.FALSE);
} catch (Exception e) {
runlock();
break die;
}
try {
} finally {
runlock();
} catch (Exception e) {
break die;
}
sock = new Socket(host, port);
sock.setKeepAlive(true);

View File

@@ -38,18 +38,18 @@ import net.i2p.util.Log;
*/
public class MUXlisten implements Runnable {
private NamedDB database, info;
private Logger _log;
private I2PSocketManager socketManager;
private ByteArrayInputStream prikey;
private final NamedDB database, info;
private final Logger _log;
private final I2PSocketManager socketManager;
private final ByteArrayInputStream prikey;
private ThreadGroup tg;
private String N;
private ServerSocket listener = null;
private int backlog = 50; // should this be more? less?
boolean go_out;
boolean come_in;
private AtomicBoolean lock;
private AtomicBoolean lives;
private final String N;
private ServerSocket listener;
private static final int backlog = 50; // should this be more? less?
private final boolean go_out;
private final boolean come_in;
private final AtomicBoolean lock;
private final AtomicBoolean lives;
/**
* Constructor Will fail if INPORT is occupied.
@@ -61,43 +61,39 @@ public class MUXlisten implements Runnable {
* @throws java.io.IOException
*/
MUXlisten(AtomicBoolean lock, NamedDB database, NamedDB info, Logger _log) throws I2PException, IOException, RuntimeException {
int port = 0;
InetAddress host = null;
this.lock = lock;
this.tg = null;
this.database = database;
this.info = info;
this._log = _log;
lives = new AtomicBoolean(false);
try {
int port = 0;
InetAddress host = null;
this.lock = lock;
this.tg = null;
this.database = database;
this.info = info;
this._log = _log;
lives = new AtomicBoolean(false);
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", Boolean.valueOf(true));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
this.database.getReadLock();
this.info.getReadLock();
N = this.info.get("NICKNAME").toString();
prikey = new ByteArrayInputStream((byte[]) info.get("KEYS"));
// Make a new copy so that anything else won't muck with our database.
Properties R = (Properties) info.get("PROPERTIES");
Properties Q = new Properties();
Lifted.copyProperties(R, Q);
this.database.releaseReadLock();
this.info.releaseReadLock();
this.database.getReadLock();
this.info.getReadLock();
this.go_out = info.exists("OUTPORT");
this.come_in = info.exists("INPORT");
if (this.come_in) {
port = Integer.parseInt(info.get("INPORT").toString());
host = InetAddress.getByName(info.get("INHOST").toString());
wlock();
try {
this.info.add("STARTING", Boolean.TRUE);
} finally {
wunlock();
}
Properties Q = new Properties();
rlock();
try {
N = this.info.get("NICKNAME").toString();
prikey = new ByteArrayInputStream((byte[]) info.get("KEYS"));
// Make a new copy so that anything else won't muck with our database.
Properties R = (Properties) info.get("PROPERTIES");
Lifted.copyProperties(R, Q);
this.go_out = info.exists("OUTPORT");
this.come_in = info.exists("INPORT");
if (this.come_in) {
port = Integer.parseInt(info.get("INPORT").toString());
host = InetAddress.getByName(info.get("INHOST").toString());
}
} finally {
runlock();
}
this.database.releaseReadLock();
this.info.releaseReadLock();
String i2cpHost = Q.getProperty(I2PClient.PROP_TCP_HOST, "127.0.0.1");
int i2cpPort = 7654;
@@ -115,48 +111,51 @@ public class MUXlisten implements Runnable {
prikey, i2cpHost, i2cpPort, Q);
} catch (IOException e) {
// Something went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
throw new IOException(e.toString());
wlock();
try {
this.info.add("STARTING", Boolean.FALSE);
} finally {
wunlock();
}
throw e;
} catch (RuntimeException e) {
// Something went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
throw new RuntimeException(e);
wlock();
try {
this.info.add("STARTING", Boolean.FALSE);
} finally {
wunlock();
}
throw e;
} catch (Exception e) {
// Something else went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
wlock();
try {
this.info.add("STARTING", Boolean.FALSE);
} finally {
wunlock();
}
e.printStackTrace();
throw new RuntimeException(e);
}
}
private void rlock() throws Exception {
private void rlock() {
database.getReadLock();
info.getReadLock();
}
private void runlock() throws Exception {
database.releaseReadLock();
private void runlock() {
info.releaseReadLock();
database.releaseReadLock();
}
private void wlock() throws Exception {
private void wlock() {
database.getWriteLock();
info.getWriteLock();
}
private void wunlock() throws Exception {
private void wunlock() {
info.releaseWriteLock();
database.releaseWriteLock();
}
@@ -170,24 +169,19 @@ public class MUXlisten implements Runnable {
Thread t = null;
Thread q = null;
try {
wlock();
try {
wlock();
try {
info.add("RUNNING", Boolean.valueOf(true));
info.add("RUNNING", Boolean.TRUE);
} catch (Exception e) {
lock.set(false);
wunlock();
return;
}
} catch (Exception e) {
lock.set(false);
return;
}
try {
} finally {
wunlock();
} catch (Exception e) {
lock.set(false);
return;
}
lives.set(true);
lock.set(false);
@@ -214,21 +208,17 @@ public class MUXlisten implements Runnable {
q.start();
}
wlock();
try {
wlock();
try {
info.add("STARTING", Boolean.valueOf(false));
info.add("STARTING", Boolean.FALSE);
} catch (Exception e) {
wunlock();
break quit;
}
} catch (Exception e) {
break quit;
}
try {
} finally {
wunlock();
} catch (Exception e) {
break quit;
}
boolean spin = true;
while (spin && lives.get()) {
@@ -237,21 +227,17 @@ public class MUXlisten implements Runnable {
} catch (InterruptedException e) {
break quit;
}
rlock();
try {
rlock();
try {
spin = info.get("STOPPING").equals(Boolean.FALSE);
} catch (Exception e) {
runlock();
break quit;
}
} catch (Exception e) {
break quit;
}
try {
} finally {
runlock();
} catch (Exception e) {
break quit;
}
}
} // die
@@ -271,16 +257,16 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("STARTING", Boolean.valueOf(false));
info.add("STOPPING", Boolean.valueOf(true));
info.add("RUNNING", Boolean.valueOf(false));
info.add("STARTING", Boolean.FALSE);
info.add("STOPPING", Boolean.TRUE);
info.add("RUNNING", Boolean.FALSE);
} catch (Exception e) {
lock.set(false);
wunlock();
return;
}
wunlock();
} catch (Exception e) {
} finally {
wunlock();
}
// Start cleanup.
while (!lock.compareAndSet(false, true)) {
@@ -322,15 +308,15 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("STARTING", Boolean.valueOf(false));
info.add("STOPPING", Boolean.valueOf(false));
info.add("RUNNING", Boolean.valueOf(false));
info.add("STARTING", Boolean.FALSE);
info.add("STOPPING", Boolean.FALSE);
info.add("RUNNING", Boolean.FALSE);
} catch (Exception e) {
lock.set(false);
wunlock();
return;
}
wunlock();
} finally {
wunlock();
}
} catch (Exception e) {
}

View File

@@ -15,6 +15,12 @@
*/
package net.i2p.BOB;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* Internal database to relate nicknames to options to values
*
@@ -22,129 +28,62 @@ package net.i2p.BOB;
*/
public class NamedDB {
private volatile Object[][] data;
private int index, writersWaiting, readers;
private final Map<String, Object> data;
private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(false);
/**
* make initial NULL object
*
*/
public NamedDB() {
this.data = new Object[1][2];
this.data = new HashMap<String, Object>();
}
synchronized public void getReadLock() {
while ((writersWaiting != 0)) {
try {
wait();
} catch (InterruptedException ie) {
}
}
readers++;
public void getReadLock() {
lock.readLock().lock();
}
synchronized public void releaseReadLock() {
readers--;
notifyAll();
public void releaseReadLock() {
lock.readLock().unlock();
}
synchronized public void getWriteLock() {
writersWaiting++;
while (readers != 0 && writersWaiting != 1) {
try {
wait();
} catch (InterruptedException ie) {
}
}
public void getWriteLock() {
lock.writeLock().lock();
}
synchronized public void releaseWriteLock() {
writersWaiting--;
notifyAll();
public void releaseWriteLock() {
lock.writeLock().unlock();
}
/**
* Find objects in the array, returns its index or throws exception
* @param key
* @return an objects index
* @throws ArrayIndexOutOfBoundsException when key does not exist
*/
public int idx(Object key) throws ArrayIndexOutOfBoundsException {
for (int i = 0; i < index; i++) {
if (key.equals(data[i][0])) {
return i;
}
}
throw new ArrayIndexOutOfBoundsException("Can't locate key for index");
}
/**
* Delete an object from array if it exists
* Delete an object if it exists
*
* @param key
*/
public void kill(Object key) {
int i, j, k, l;
Object[][] olddata;
int didsomething = 0;
try {
k = idx(key);
} catch (ArrayIndexOutOfBoundsException b) {
return;
}
olddata = new Object[index + 2][2];
// copy to olddata, skipping 'k'
for (i = 0, l = 0; l < index; i++, l++) {
if (i == k) {
l++;
didsomething++;
}
for (j = 0; j < 2; j++) {
olddata[i][j] = data[l][j];
}
}
index -= didsomething;
data = olddata;
public void kill(String key) {
data.remove(key);
}
/**
* Add object to the array, deletes the old one if it exists
* Add object, deletes the old one if it exists
*
* @param key
* @param val
*/
public void add(Object key, Object val) {
Object[][] olddata;
int i, j;
i = 0;
kill(key);
olddata = new Object[index + 2][2];
// copy to olddata
for (i = 0; i < index; i++) {
for (j = 0; j < 2; j++) {
olddata[i][j] = data[i][j];
}
}
data = olddata;
data[index++] = new Object[]{key, val};
public void add(String key, Object val) {
data.put(key, val);
}
/**
* Get the object, and return it, throws RuntimeException
* Get the object, and return it, throws RuntimeException if not found
*
* @param key
* @return Object
* @throws java.lang.RuntimeException
* @param key non-null
* @return Object non-null
* @throws java.lang.RuntimeException if not found
*/
public Object get(Object key) throws RuntimeException {
for (int i = 0; i < index; i++) {
if (key.equals(data[i][0])) {
return data[i][1];
}
}
public Object get(String key) throws RuntimeException {
Object rv = data.get(key);
if (rv != null)
return rv;
throw new RuntimeException("Key not found");
}
@@ -154,33 +93,14 @@ public class NamedDB {
* @param key
* @return true if an object exists, else returns false
*/
public boolean exists(Object key) {
for (int i = 0; i < index; i++) {
if (key.equals(data[i][0])) {
return true;
}
}
return false;
public boolean exists(String key) {
return data.containsKey(key);
}
/**
*
* @param i index
* @return an indexed Object
* @throws java.lang.RuntimeException
* @since 0.9.29 replaces getcount() and getnext(int)
*/
public Object getnext(int i) throws RuntimeException {
if (i < index && i > -1) {
return data[i][1];
}
throw new RuntimeException("No more data");
}
/**
* @return the count of how many objects
*/
public int getcount() {
return index;
public Collection<Object> values() {
return data.values();
}
}

View File

@@ -27,9 +27,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
*/
public class TCPio implements Runnable {
private InputStream Ain;
private OutputStream Aout;
private AtomicBoolean lives;
private final InputStream Ain;
private final OutputStream Aout;
private final AtomicBoolean lives;
/**
* Constructor

View File

@@ -35,29 +35,26 @@ import net.i2p.util.I2PAppThread;
/**
*
* Process TCP->I2P
* Process TCP-&gt;I2P
*
* @author sponge
*/
public class TCPtoI2P implements Runnable {
private I2PSocket I2P;
private NamedDB info, database;
private Socket sock;
private I2PSocketManager socketManager;
private AtomicBoolean lives;
private final Socket sock;
private final I2PSocketManager socketManager;
private final AtomicBoolean lives;
/**
* Constructor
* @param i2p
* @param socket
* param info
* param database
* @param info unused
* @param database unused
*/
TCPtoI2P(I2PSocketManager i2p, Socket socket, NamedDB info, NamedDB database, AtomicBoolean lives) {
this.sock = socket;
this.info = info;
this.database = database;
this.socketManager = i2p;
this.lives = lives;
}
@@ -106,16 +103,6 @@ public class TCPtoI2P implements Runnable {
out.flush();
}
private void rlock() {
database.getReadLock();
info.getReadLock();
}
private void runlock() {
info.releaseReadLock();
database.releaseReadLock();
}
/**
* TCP stream to I2P stream thread starter
*

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="java/src"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/jetty/jettylib/javax.servlet.jar"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>addressbook</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$" relative="/WEB-INF" />
</webroots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/java/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="jettylib" level="project" />
<orderEntry type="module" module-name="core" />
</component>
</module>

View File

@@ -0,0 +1,12 @@
sourceSets {
main {
java {
srcDir 'java/src'
}
}
}
dependencies {
compile project(':core')
compile project(':apps:jetty')
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<project name="addressbook" default="war" basedir=".">
<project name="addressbook" default="all" basedir=".">
<property name="src" value="java/src"/>
<property name="build" value="build"/>
@@ -8,6 +8,8 @@
<property name="war" value="addressbook.war"/>
<property name="javac.compilerargs" value="" />
<property name="javac.version" value="1.7" />
<target name="all" depends="jar, emptyWar"/>
<target name="init">
<mkdir dir="${build}"/>
@@ -36,24 +38,10 @@
</depend>
</target>
<target name="dependServlet" if="depend.available">
<depend
cache="../../build"
srcdir="${src}"
destdir="${build}" >
<!-- Depend on classes instead of jars where available -->
<classpath>
<pathelement location="../../core/java/build/obj" />
<pathelement location="../jetty/jettylib/javax.servlet.jar" />
</classpath>
</depend>
</target>
<target name="compile" depends="init, depend">
<target name="compile" depends="init, depend, warUpToDate">
<javac debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
includeAntRuntime="false"
srcdir="${src}" destdir="${build}"
excludes="net/i2p/addressbook/Servlet.java">
srcdir="${src}" destdir="${build}">
<compilerarg line="${javac.compilerargs}" />
<classpath>
<pathelement location="../../core/java/build/i2p.jar" />
@@ -61,20 +49,6 @@
</javac>
</target>
<target name="compileServlet" depends="init, dependServlet, compile">
<javac debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
includeAntRuntime="false"
srcdir="${src}" destdir="${build}"
includes="net/i2p/addressbook/Servlet.java">
<compilerarg line="${javac.compilerargs}" />
<classpath>
<pathelement location="../../core/java/build/i2p.jar" />
<pathelement location="../jetty/jettylib/javax.servlet.jar" />
</classpath>
</javac>
</target>
<!-- unused for now (except for Android), as we oddly ship addressbook as a .war -->
<target name="jar" depends="compile, changes">
<!-- set if unset -->
<property name="workspace.changes.tr" value="" />
@@ -91,29 +65,14 @@
</manifest>
</jar>
</target>
<target name="war" depends="compileServlet, changes, warUpToDate" unless="war.uptodate">
<mkdir dir="${dist}/tmp"/>
<mkdir dir="${dist}/tmp/WEB-INF"/>
<mkdir dir="${dist}/tmp/WEB-INF/classes"/>
<copy todir="${dist}/tmp/WEB-INF/classes">
<fileset dir="${build}"/>
</copy>
<!-- set if unset -->
<property name="workspace.changes.tr" value="" />
<war basedir="${dist}/tmp" webxml="web.xml" destfile="${dist}/${war}">
<manifest>
<attribute name="Implementation-Version" value="${full.version}" />
<attribute name="Built-By" value="${build.built-by}" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
<attribute name="X-Compile-Source-JDK" value="${javac.version}" />
<attribute name="X-Compile-Target-JDK" value="${javac.version}" />
</manifest>
</war>
<delete dir="${dist}/tmp"/>
</target>
<target name="emptyWar" depends="init">
<jar destfile="${dist}/${war}" >
<manifest>
<attribute name="Note" value="Intentionally empty" />
</manifest>
</jar>
</target>
<target name="warUpToDate">
<uptodate property="war.uptodate" targetfile="${dist}/${war}">

View File

@@ -133,8 +133,9 @@ class AddressBook implements Iterable<Map.Entry<String, HostTxtEntry>> {
public AddressBook(Subscription subscription, String proxyHost, int proxyPort) {
Map<String, HostTxtEntry> a = null;
File subf = null;
File tmp = null;
try {
File tmp = SecureFile.createTempFile("addressbook", null, I2PAppContext.getGlobalContext().getTempDir());
tmp = SecureFile.createTempFile("addressbook", null, I2PAppContext.getGlobalContext().getTempDir());
EepGet get = new EepGet(I2PAppContext.getGlobalContext(), true,
proxyHost, proxyPort, 0, -1l, MAX_SUB_SIZE, tmp.getAbsolutePath(), null,
subscription.getLocation(), true, subscription.getEtag(), subscription.getLastModified(), null);
@@ -148,6 +149,8 @@ class AddressBook implements Iterable<Map.Entry<String, HostTxtEntry>> {
tmp.delete();
}
} catch (IOException ioe) {
if (tmp != null)
tmp.delete();
a = Collections.emptyMap();
}
this.addresses = a;
@@ -306,7 +309,17 @@ class AddressBook implements Iterable<Map.Entry<String, HostTxtEntry>> {
public void merge(AddressBook other, boolean overwrite, Log log) {
if (this.addresses == null)
throw new IllegalStateException();
for (Iterator<Map.Entry<String, HostTxtEntry>> iter = other.iterator(); iter.hasNext(); ) {
Iterator<Map.Entry<String, HostTxtEntry>> iter = other.iterator();
try {
merge2(other, iter, overwrite, log);
} finally {
if (iter instanceof HostTxtIterator)
((HostTxtIterator) iter).close();
}
}
private void merge2(AddressBook other, Iterator<Map.Entry<String, HostTxtEntry>> iter, boolean overwrite, Log log) {
while(iter.hasNext()) {
Map.Entry<String, HostTxtEntry> entry = iter.next();
String otherKey = entry.getKey();
HostTxtEntry otherValue = entry.getValue();
@@ -367,11 +380,6 @@ class AddressBook implements Iterable<Map.Entry<String, HostTxtEntry>> {
this.write(new File(this.location));
}
@Override
protected void finalize() {
delete();
}
/****
public static void main(String[] args) {
String[] tests = { "foo.i2p",

View File

@@ -43,15 +43,16 @@ import net.i2p.util.SystemVersion;
/**
* Main class of addressbook. Performs updates, and runs the main loop.
* As of 0.9.30, package private, run with DaemonThread.
*
* @author Ragnarok
*
*/
public class Daemon {
class Daemon {
public static final String VERSION = "2.0.4";
private static final Daemon _instance = new Daemon();
private volatile boolean _running;
private static final boolean DEBUG = false;
// If you change this, change in SusiDNS SubscriptionBean also
private static final String DEFAULT_SUB = "http://i2p-projekt.i2p/hosts.txt";
/** @since 0.9.12 */
static final String OLD_DEFAULT_SUB = "http://www.i2p2.i2p/hosts.txt";
@@ -129,9 +130,22 @@ public class Daemon {
// This also has the advantage of not flushing the NamingService's LRU cache.
String nsClass = router.getClass().getSimpleName();
boolean isTextFile = nsClass.equals("HostsTxtNamingService") || nsClass.equals("SingleFileNamingService");
Set<String> knownNames = null;
Set<String> knownNames;
if (isTextFile) {
// load the hostname set
Properties opts = new Properties();
opts.setProperty("file", "hosts.txt");
knownNames = router.getNames(opts);
} else {
knownNames = null;
}
NamingService publishedNS;
if (published != null) {
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
} else {
publishedNS = null;
}
NamingService publishedNS = null;
Iterator<AddressBook> iter = subscriptions.iterator();
while (iter.hasNext()) {
// yes, the EepGet fetch() is done in next()
@@ -141,24 +155,39 @@ public class Daemon {
if (DEBUG && log != null && addressbook.getLocation() != null) {
long end = System.currentTimeMillis();
log.append("Fetch of " + addressbook.getLocation() + " took " + (end - start));
start = end;
}
Iterator<Map.Entry<String, HostTxtEntry>> iter2 = addressbook.iterator();
try {
update(router, knownNames, publishedNS, addressbook, iter2, log);
} finally {
if (iter2 instanceof HostTxtIterator)
((HostTxtIterator) iter2).close();
addressbook.delete();
}
} // subscriptions
subscriptions.write();
}
/**
* @param knownNames only non-null if router book is a text file
* @param publishedNS only non-null if we have a published address book
* @since 0.9.33 split out from above
*/
private static void update(NamingService router, Set<String> knownNames,
NamingService publishedNS, AddressBook addressbook,
Iterator<Map.Entry<String, HostTxtEntry>> iter, Log log) {
long start = System.currentTimeMillis();
int old = 0, nnew = 0, invalid = 0, conflict = 0, total = 0;
int deleted = 0;
for (Map.Entry<String, HostTxtEntry> entry : addressbook) {
while(iter.hasNext()) {
Map.Entry<String, HostTxtEntry> entry = iter.next();
total++;
// may be null for 'remove' entries
String key = entry.getKey();
boolean isKnown;
// NOT set for text file NamingService
Destination oldDest;
if (isTextFile) {
if (knownNames == null) {
// load the hostname set
Properties opts = new Properties();
opts.setProperty("file", "hosts.txt");
knownNames = router.getNames(opts);
}
if (knownNames != null) {
oldDest = null;
isKnown = key != null ? knownNames.contains(key) : null;
} else {
@@ -242,13 +271,11 @@ public class Daemon {
}
// now update the published addressbook
// ditto
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
// FIXME this fails, no support in SFNS
success = publishedNS.addDestination(key, dest, props);
if (log != null && !success)
log.append("Add to published address book " + published.getAbsolutePath() + " failed for " + key);
log.append("Add to published address book " + publishedNS.getName() + " failed for " + key);
}
nnew++;
continue;
@@ -415,12 +442,10 @@ public class Daemon {
". From: " + addressbook.getLocation());
}
// now update the published addressbook
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
success = publishedNS.remove(poldname, dest);
if (log != null && !success)
log.append("Remove from published address book " + published.getAbsolutePath() + " failed for " + poldname);
log.append("Remove from published address book " + publishedNS.getName() + " failed for " + poldname);
}
} else {
// mismatch, disallow
@@ -462,20 +487,19 @@ public class Daemon {
log.append("Save to naming service " + router + " failed for new key " + key);
}
// now update the published addressbook
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
if (allowExistingKeyInPublished)
success = publishedNS.put(key, dest, props);
else
success = publishedNS.putIfAbsent(key, dest, props);
if (log != null && !success) {
log.append("Save to published address book " + published.getAbsolutePath() + " failed for new key " + key);
log.append("Save to published address book " + publishedNS.getName() + " failed for new key " + key);
}
}
if (isTextFile)
if (knownNames != null) {
// keep track for later dup check
knownNames.add(key);
}
nnew++;
} else if (key == null) {
// 'remove' actions
@@ -506,12 +530,10 @@ public class Daemon {
". From: " + addressbook.getLocation());
}
// now update the published addressbook
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
success = publishedNS.remove(poldname, pod);
if (log != null && !success)
log.append("Remove from published address book " + published.getAbsolutePath() + " failed for " + poldname);
log.append("Remove from published address book " + publishedNS.getName() + " failed for " + poldname);
}
} else if (pod2 != null) {
// mismatch, disallow
@@ -550,12 +572,10 @@ public class Daemon {
". From: " + addressbook.getLocation());
}
// now update the published addressbook
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
success = publishedNS.remove(poldname, pod);
if (log != null && !success)
log.append("Remove from published address book " + published.getAbsolutePath() + " failed for " + poldname);
log.append("Remove from published address book " + publishedNS.getName() + " failed for " + poldname);
}
} else if (pod2 != null) {
// mismatch, disallow
@@ -585,12 +605,10 @@ public class Daemon {
". From: " + addressbook.getLocation());
}
// now update the published addressbook
if (published != null) {
if (publishedNS == null)
publishedNS = new SingleFileNamingService(I2PAppContext.getGlobalContext(), published.getAbsolutePath());
if (publishedNS != null) {
success = publishedNS.remove(rev, pod);
if (log != null && !success)
log.append("Remove from published address book " + published.getAbsolutePath() + " failed for " + rev);
log.append("Remove from published address book " + publishedNS.getName() + " failed for " + rev);
}
}
}
@@ -640,7 +658,7 @@ public class Daemon {
log.append("Invalid b64 for " + key + " From: " + addressbook.getLocation());
invalid++;
}
}
} // entries
if (DEBUG && log != null && total > 0) {
log.append("Merge of " + addressbook.getLocation() + " into " + router +
" took " + (System.currentTimeMillis() - start) + " ms with " +
@@ -650,10 +668,7 @@ public class Daemon {
deleted + " deleted, " +
invalid + " invalid, " +
conflict + " conflicts");
} // entries
addressbook.delete();
} // subscriptions
subscriptions.write();
}
}
/** @since 0.9.26 */
@@ -787,14 +802,15 @@ public class Daemon {
* others are ignored.
*/
public static void main(String[] args) {
Daemon daemon = new Daemon();
if (args != null && args.length > 0 && args[0].equals("test"))
_instance.test(args);
daemon.test(args);
else
_instance.run(args);
daemon.run(args);
}
/** @since 0.9.26 */
private static void test(String[] args) {
public static void test(String[] args) {
Properties ctxProps = new Properties();
String PROP_FORCE = "i2p.naming.blockfile.writeInAppContext";
ctxProps.setProperty(PROP_FORCE, "true");
@@ -875,14 +891,14 @@ public class Daemon {
* Call this to get the addressbook to reread its config and
* refetch its subscriptions.
*/
public static void wakeup() {
synchronized (_instance) {
_instance.notifyAll();
public void wakeup() {
synchronized (this) {
notifyAll();
}
}
public static void stop() {
_instance._running = false;
public void stop() {
_running = false;
wakeup();
}
}

View File

@@ -36,6 +36,7 @@ import net.i2p.util.I2PAppThread;
public class DaemonThread extends I2PAppThread implements NamingServiceUpdater {
private final String[] args;
private final Daemon daemon;
/**
* Construct a DaemonThread with the command line arguments args.
@@ -44,6 +45,7 @@ public class DaemonThread extends I2PAppThread implements NamingServiceUpdater {
*/
public DaemonThread(String[] args) {
this.args = args;
daemon = new Daemon();
}
/* (non-Javadoc)
@@ -56,18 +58,28 @@ public class DaemonThread extends I2PAppThread implements NamingServiceUpdater {
//} catch (InterruptedException exp) {
//}
I2PAppContext.getGlobalContext().namingService().registerUpdater(this);
Daemon.main(this.args);
I2PAppContext.getGlobalContext().namingService().unregisterUpdater(this);
try {
if (args != null && args.length > 0 && args[0].equals("test"))
daemon.test(args);
else
daemon.run(args);
} finally {
I2PAppContext.getGlobalContext().namingService().unregisterUpdater(this);
}
}
public void halt() {
Daemon.stop();
daemon.stop();
interrupt();
}
/**
* The NamingServiceUpdater interface
* @param options ignored
* The NamingServiceUpdater interface.
* While this may be called directly, the recommended way
* is to call I2PAppContext.namingService().requestUpdate(Properties)
* which will call this.
*
* @param options ignored, may be null
* @since 0.8.7
*/
public void update(Properties options) {

View File

@@ -110,11 +110,6 @@ class HostTxtIterator implements Iterator<Map.Entry<String, HostTxtEntry>>, Clos
}
}
@Override
protected void finalize() {
close();
}
/**
* The object returned by the iterator.
*/

View File

@@ -236,21 +236,28 @@ class HostTxtParser {
}
/**
* Usage: HostTxtParser validate example.i2p=b64dest[#!key1=val1#key2=val2]
* Usage: HostTxtParser [-q] validate example.i2p=b64dest[#!key1=val1#key2=val2]
*/
public static void main(String[] args) throws Exception {
boolean quiet = false;
if (args.length > 0 && args[0].equals("-q")) {
quiet = true;
args = java.util.Arrays.copyOfRange(args, 1, args.length);
}
if (args.length != 2 || !args[0].equals("validate")) {
System.err.println("Usage: HostTxtParser validate example.i2p=b64dest[#!key1=val1#key2=val2]");
System.exit(1);
}
HostTxtEntry e = parse(args[1].trim(), false);
if (e == null) {
System.err.println("Bad format");
System.exit(1);
if (!quiet)
System.err.println("Bad format");
System.exit(2);
}
if (!e.hasValidSig()) {
System.err.println("Bad signature");
System.exit(1);
if (!quiet)
System.err.println("Bad signature");
System.exit(3);
}
Properties p = e.getProps();
if (p != null) {
@@ -259,12 +266,14 @@ class HostTxtParser {
p.containsKey(HostTxtEntry.PROP_OLDNAME) ||
p.containsKey(HostTxtEntry.PROP_OLDSIG)) {
if (!e.hasValidSig()) {
System.err.println("Bad inner signature");
System.exit(1);
if (!quiet)
System.err.println("Bad inner signature");
System.exit(4);
}
}
}
System.err.println("Good signature for " + e.getName());
if (!quiet)
System.err.println("Good signature for " + e.getName());
System.exit(0);
}

View File

@@ -5,7 +5,7 @@
* It probably won't make your computer catch on fire, or eat
* your children, but it might. Use at your own risk.
*/
package net.i2p.client.naming;
package net.i2p.router.naming;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
@@ -15,6 +15,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@@ -29,6 +30,11 @@ import java.util.StringTokenizer;
import java.util.TreeMap;
import net.i2p.I2PAppContext;
import net.i2p.client.naming.DummyNamingService;
import net.i2p.client.naming.HostsTxtNamingService;
import net.i2p.client.naming.NamingService;
import net.i2p.client.naming.NamingServiceListener;
import net.i2p.client.naming.SingleFileNamingService;
import net.i2p.crypto.SigType;
import net.i2p.data.DataFormatException;
import net.i2p.data.DataHelper;
@@ -94,7 +100,7 @@ import net.metanotion.util.skiplist.SkipList;
*
* All host names are converted to lower case.
*
* @since 0.8.7
* @since 0.8.7, moved from core to addressbook in 0.9.31
*/
public class BlockfileNamingService extends DummyNamingService {
@@ -243,6 +249,7 @@ public class BlockfileNamingService extends DummyNamingService {
int total = 0;
for (String hostsfile : getFilenames(list)) {
_lists.add(hostsfile);
File file = new File(_context.getRouterDir(), hostsfile);
if ((!file.exists()) || !(file.canRead()))
continue;
@@ -282,7 +289,6 @@ public class BlockfileNamingService extends DummyNamingService {
}
total += count;
_log.logAlways(Log.INFO, "Migrating " + count + " hosts from " + file + " to new hosts database");
_lists.add(hostsfile);
}
if (_log.shouldLog(Log.INFO))
_log.info("DB init took " + DataHelper.formatDuration(_context.clock().now() - start));
@@ -418,10 +424,10 @@ public class BlockfileNamingService extends DummyNamingService {
// version 3 -> version 4
// support multiple destinations per hostname
if (VersionComparator.comp(_version, "4") < 0) {
// Upgrade of 4K entry DB on RPi 2 is over 2 1/2 minutes, disable for now
if (SystemVersion.isAndroid() || SystemVersion.isARM()) {
// Upgrade of 4K entry DB on RPi 2 is over 2 1/2 minutes, probably worse on Android, disable for now
if (SystemVersion.isAndroid()) {
if (_log.shouldWarn())
_log.warn("Deferring upgrade to version 4 on Android/ARM");
_log.warn("Deferring upgrade to version 4 on Android");
return true;
}
SkipList<String, Properties> hdr = _bf.getIndex(INFO_SKIPLIST, _stringSerializer, _infoSerializer);
@@ -1291,6 +1297,132 @@ public class BlockfileNamingService extends DummyNamingService {
}
}
/**
* Export in a hosts.txt format.
* Output is sorted.
* Caller must close writer.
*
* @param options If non-null and contains the key "list", get
* from that list (default "hosts.txt", NOT all lists)
* Key "search": return only those matching substring
* Key "startsWith": return only those starting with
* ("[0-9]" allowed)
* Key "beginWith": start here in the iteration
* @since 0.9.30 override NamingService to add stored authentication strings
*/
@Override
public void export(Writer out, Properties options) throws IOException {
String listname = FALLBACK_LIST;
String search = null;
String startsWith = null;
String beginWith = null;
if (options != null) {
String ln = options.getProperty("list");
if (ln != null)
listname = ln;
search = options.getProperty("search");
startsWith = options.getProperty("startsWith");
beginWith = options.getProperty("beginWith");
if (beginWith == null && startsWith != null) {
if (startsWith.equals("[0-9]"))
beginWith = "0";
else
beginWith = startsWith;
}
}
out.write("# Address book: ");
out.write(getName());
out.write(" (" + listname + ')');
final String nl = System.getProperty("line.separator", "\n");
out.write(nl);
out.write("# Exported: ");
out.write((new Date()).toString());
out.write(nl);
synchronized(_bf) {
if (_isClosed)
return;
try {
SkipList<String, DestEntry> sl = _bf.getIndex(listname, _stringSerializer, _destSerializer);
if (sl == null) {
if (_log.shouldLog(Log.WARN))
_log.warn("No skiplist found for lookup in " + listname);
return;
}
if (beginWith == null && search == null) {
int sz = sl.size();
if (sz <= 0) {
out.write("# No entries");
out.write(nl);
return;
}
if (sz > 1) {
// actually not right due to multidest
out.write("# " + sz + " entries");
out.write(nl);
}
}
SkipIterator<String, DestEntry> iter;
if (beginWith != null)
iter = sl.find(beginWith);
else
iter = sl.iterator();
int cnt = 0;
while (iter.hasNext()) {
String key = iter.nextKey();
if (startsWith != null) {
if (startsWith.equals("[0-9]")) {
if (key.charAt(0) > '9')
break;
} else if (!key.startsWith(startsWith)) {
break;
}
}
DestEntry de = iter.next();
if (!validate(key, de, listname))
continue;
if (search != null && key.indexOf(search) < 0)
continue;
int dsz = de.destList != null ? de.destList.size() : 1;
// new non-DSA dest is put first, so put in reverse
// order so importers will see the older dest first
for (int i = dsz - 1; i >= 0; i--) {
Properties p;
Destination d;
if (i == 0) {
p = de.props;
d = de.dest;
} else {
p = de.propsList.get(i);
d = de.destList.get(i);
}
out.write(key);
out.write('=');
out.write(d.toBase64());
if (p != null)
SingleFileNamingService.writeOptions(p, out);
out.write(nl);
cnt++;
}
}
if (beginWith != null || search != null) {
if (cnt <= 0) {
out.write("# No entries");
out.write(nl);
return;
}
if (cnt > 1) {
out.write("# " + cnt + " entries");
out.write(nl);
}
}
} catch (RuntimeException re) {
throw new IOException("DB lookup error", re);
} finally {
deleteInvalid();
}
}
}
/**
* @param options If non-null and contains the key "list", get
* from that list (default "hosts.txt", NOT all lists)
@@ -1578,6 +1710,11 @@ public class BlockfileNamingService extends DummyNamingService {
}
storedOptions.remove(i);
removeReverseEntry(hostname, d);
if (options != null) {
String list = options.getProperty("list");
if (list != null)
storedOptions.get(0).setProperty("list", list);
}
return put(hostname, newDests, storedOptions, false);
}
}

View File

@@ -144,14 +144,17 @@ public class BlockFile implements Closeable {
return;
}
boolean init = !(new File(args[0])).exists();
RAIFile raif = null;
BlockFile bf = null;
try {
RAIFile raif = new RAIFile(new File(args[0]), true, true);
BlockFile bf = new BlockFile(raif, init);
raif = new RAIFile(new File(args[0]), true, true);
bf = new BlockFile(raif, init);
bf.bfck(true);
bf.close();
raif.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bf != null) try { bf.close(); } catch (IOException ioe) {}
if (raif != null) try { raif.close(); } catch (IOException ioe) {}
}
}
@@ -337,7 +340,7 @@ public class BlockFile implements Closeable {
/**
* Go to any page but the superblock.
* Page 1 is the superblock, must use file.seek(0) to get there.
* @param page >= 2
* @param page &gt;= 2
*/
public static void pageSeek(RandomAccessInterface file, int page) throws IOException {
if (page < METAINDEX_PAGE)

View File

@@ -221,6 +221,7 @@ public class BSkipList<K extends Comparable<? super K>, V> extends SkipList<K, V
}
****/
/** find */
@Override
public SkipIterator<K, V> find(K key) {
if (!this.fileOnly)

View File

@@ -1,4 +1,4 @@
package net.i2p.client.naming;
package net.i2p.router.naming;
import junit.framework.TestCase;

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<filter>
<filter-name>XSSFilter</filter-name>
<filter-class>net.i2p.servlet.filters.XSSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XSSFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>addressbook</servlet-name>
<servlet-class>net.i2p.addressbook.Servlet</servlet-class>
<init-param>
<param-name>home</param-name>
<param-value>./addressbook</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>addressbook</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- this webapp doesn't actually use sessions or cookies -->
<session-config>
<session-timeout>30</session-timeout>
<cookie-config>
<http-only>true</http-only>
</cookie-config>
</session-config>
</web-app>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_router"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/installer"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>desktopgui</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,13 @@
sourceSets {
main {
java {
srcDir 'src'
}
}
}
dependencies {
compile project(':core')
compile project(':router')
compile project(':installer')
}

View File

@@ -120,15 +120,20 @@
</target>
<target name="poupdate">
<!-- set if unset -->
<property name="lg2" value="" />
<exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="true" >
<env key="LG2" value="${lg2}" />
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="true" failonerror="true" >
<env key="LG2" value="${lg2}" />
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="sh" osfamily="windows" failifexecutionfails="true" failonerror="true" >
<env key="LG2" value="${lg2}" />
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="core" />
<orderEntry type="module" module-name="router" />
</component>
</module>

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Arabic (http://www.transifex.com/otf/I2P/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -48,7 +48,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "ألغي"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -78,16 +78,16 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "توقف في مدة {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "إغلاق وشيك"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "الشبكة"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -5,13 +5,14 @@
#
# Translators:
# Gabriel Radev <gabosss@gmail.com>, 2015
# Vitaly Zdorovenko <stenliterziev@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2017-09-20 20:31+0000\n"
"Last-Translator: Vitaly Zdorovenko <stenliterziev@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/otf/I2P/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -47,7 +48,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Деактивиране"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -62,7 +63,7 @@ msgstr "Спиране на I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Рестартирайте Незабавно"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
@@ -77,7 +78,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Изключване в {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Catalan (http://www.transifex.com/otf/I2P/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -85,7 +85,7 @@ msgstr ""
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Xarxa"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -85,7 +85,7 @@ msgstr ""
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Síť"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Danish (http://www.transifex.com/otf/I2P/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -48,7 +48,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Deaktivere"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -78,16 +78,16 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Lukker ned om {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Lukker ned om et øjeblik"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Netværk"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-06-08 09:04+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Lars Schimmer <echelon@i2pmail.org>\n"
"Language-Team: German (http://www.transifex.com/otf/I2P/language/de/)\n"
"MIME-Version: 1.0\n"

View File

@@ -4,14 +4,15 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# Elektra M. <safiragon@yahoo.gr>, 2017
# lixtetrax <lixtetrax@grhack.net>, 2012
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2017-09-20 19:55+0000\n"
"Last-Translator: Elektra M. <safiragon@yahoo.gr>\n"
"Language-Team: Greek (http://www.transifex.com/otf/I2P/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -42,12 +43,12 @@ msgstr "Έναρξη φυλλομετρητή Ι2Ρ"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr ""
msgstr "Ρύθμιση της γραμμής εργασιών του I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Απενεργοποίηση"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -62,33 +63,33 @@ msgstr "Τερματισμός Ι2Ρ"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Άμεση επανεκκίνηση του Ι2Ρ"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Άμεση διακοπή του I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Ακύρωση τερματισμού λειτουργίας του I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Σβήσιμο σε {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Επίκειται σβήσιμο"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Δίκτυο "
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "I2P: Κάντε δεξί κλικ για το μενού"

View File

@@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-27 21:54+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"

View File

@@ -4,14 +4,15 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# Amir H. Firouzian, 2017
# NoProfile, 2016
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2018-01-05 02:54+0000\n"
"Last-Translator: Amir H. Firouzian\n"
"Language-Team: Persian (http://www.transifex.com/otf/I2P/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +28,7 @@ msgstr "شروع I2P"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
msgid "I2P is starting!"
msgstr ""
msgstr "I2P راه اندازی شد!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
@@ -47,7 +48,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "غیرفعال کن"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -57,7 +58,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:110
#: src/net/i2p/desktopgui/InternalTrayManager.java:262
msgid "Stop I2P"
msgstr ""
msgstr "توقف I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-06-01 18:50+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: outolumo <outolumo@gmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/otf/I2P/language/fi/)\n"
"MIME-Version: 1.0\n"

View File

@@ -8,6 +8,8 @@
# Boxoa590, 2013
# ducki2p <ducki2p@gmail.com>, 2011
# foo <foo@bar>, 2009
# French language coordinator <french.coordinator@rbox.me>, 2017
# French language coordinator <french.coordinator@rbox.me>, 2017
# Boxoa590, 2013
# Towinet, 2016
msgid ""
@@ -15,8 +17,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-26 15:55+0000\n"
"Last-Translator: Towinet\n"
"PO-Revision-Date: 2017-10-25 17:51+0000\n"
"Last-Translator: French language coordinator <french.coordinator@rbox.me>\n"
"Language-Team: French (http://www.transifex.com/otf/I2P/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -42,12 +44,12 @@ msgstr "Démarrage"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
msgid "Launch I2P Browser"
msgstr "Lancer le navigateur I2P"
msgstr "Lancer le navigateur dI2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr "Configurer la zone de notification d'I2P"
msgstr "Configurer la zone de notification dI2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
@@ -77,16 +79,16 @@ msgstr "Arrêter I2P immédiatement"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr "Annuler l'arrêt d'I2P"
msgstr "Annuler la fermeture dI2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr "Arrêt dans {0}"
msgstr "Fermeture dans {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr "Arrêt imminent"
msgstr "La fermeture est imminente"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
@@ -96,4 +98,4 @@ msgstr "Réseau"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr "I2P : clic droit pour menu"
msgstr "I2P : clic droit pour obtenir le menu"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-10-22 05:24+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Uberius Crypto <uberius@anonymail.tech>\n"
"Language-Team: Galician (http://www.transifex.com/otf/I2P/language/gl/)\n"
"MIME-Version: 1.0\n"

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Hungarian (http://www.transifex.com/otf/I2P/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -46,7 +46,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Kikapcsol"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -76,16 +76,16 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Kikapcsolás: {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Kikapcsolás hamarosan"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Hálózat"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -5,13 +5,14 @@
#
# Translators:
# Khairul Agasta <khairuldroids@gmail.com>, 2014
# Robert Dafis <robertdafis@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2017-07-27 00:14+0000\n"
"Last-Translator: Robert Dafis <robertdafis@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/otf/I2P/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -42,12 +43,12 @@ msgstr "Luncurkan Peramban I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr ""
msgstr "Ubah pengaturan I2P System Tray"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Matikan"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -62,33 +63,33 @@ msgstr "Hentikan I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Ulang kembali I2P sekarang"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Hentikan I2P sekarang"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Batal tutup I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Mematikan I2P dalam {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "I2P sedang dalam proses dimatikan"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Jaringan"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "I2P: klik kanan untuk menampilkan menu"

View File

@@ -6,14 +6,16 @@
# Translators:
# Leelium <bovas85@gmail.com>, 2012
# mkkid <jokjok@hotmail.it>, 2011
# Sebastiano Pistore <olatusrooc@virgilio.it>, 2016
# Leelium <bovas85@gmail.com>, 2012
# mkkid <jokjok@hotmail.it>, 2011
# Sebastiano Pistore <SebastianoPistore.info@protonmail.ch>, 2016-2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-26 09:32+0000\n"
"Last-Translator: Sebastiano Pistore <olatusrooc@virgilio.it>\n"
"PO-Revision-Date: 2017-07-30 07:04+0000\n"
"Last-Translator: Sebastiano Pistore <SebastianoPistore.info@protonmail.ch>\n"
"Language-Team: Italian (http://www.transifex.com/otf/I2P/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,17 +36,17 @@ msgstr "Avvio di I2P in corso!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
msgid "Starting"
msgstr "Avvio"
msgstr "Avvio in corso"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
msgid "Launch I2P Browser"
msgstr "Avvia il Browser I2P"
msgstr "Lancia il browser I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr "Configura l'icona di I2P nella Barra dei notifica"
msgstr "Configura icona di I2P nella Barra di notifica"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
@@ -59,7 +61,7 @@ msgstr "Riavvia I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:110
#: src/net/i2p/desktopgui/InternalTrayManager.java:262
msgid "Stop I2P"
msgstr "Ferma I2P"
msgstr "Arresta I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
@@ -74,16 +76,16 @@ msgstr "Arresta subito I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr "Annulla l'arresto di I2P"
msgstr "Annulla arresto di I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr "Spegnimento in {0}"
msgstr "Arresto in {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr "Spegnimento imminente"
msgstr "Arresto imminente"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
@@ -93,4 +95,4 @@ msgstr "Rete"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr "I2P: Fai un click destro per aprire il menu"
msgstr "I2P: Fai click destro per aprire il menu"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -47,7 +47,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "無効"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -77,16 +77,16 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "{0} でシャットダウン"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "即時シャットダウン"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "ネットワーク"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-07-31 00:29+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: HelloKS <kqwe1859@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/otf/I2P/language/ko/)\n"
"MIME-Version: 1.0\n"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Malagasy (http://www.transifex.com/otf/I2P/language/mg/)\n"
"MIME-Version: 1.0\n"

View File

@@ -5,13 +5,14 @@
#
# Translators:
# Allan Nordhøy <epost@anotheragency.no>, 2014
# Allan Nordhøy <epost@anotheragency.no>, 2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2017-09-19 14:52+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/otf/I2P/language/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -42,12 +43,12 @@ msgstr "Kjør I2P-nettleser"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr ""
msgstr "Sett opp I2P-systemkruv"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Skru av"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -62,33 +63,33 @@ msgstr "Stopp I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Umiddelbar omstart av I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Umiddelbar stopp av I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Avbryt nedstenging av I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Skrur av om {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Skru av med en gang"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Nettverk"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "Høyreklikk-meny i I2P"

View File

@@ -7,13 +7,14 @@
# ducki2p <ducki2p@gmail.com>, 2011
# foo <foo@bar>, 2009
# Martijn de Boer, 2016
# Nathan Follens, 2018
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-06-19 14:16+0000\n"
"Last-Translator: Martijn de Boer\n"
"PO-Revision-Date: 2018-01-26 09:36+0000\n"
"Last-Translator: Nathan Follens\n"
"Language-Team: Dutch (http://www.transifex.com/otf/I2P/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,12 +40,12 @@ msgstr "Bezig met starten"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
msgid "Launch I2P Browser"
msgstr "Start I2P Browser"
msgstr "I2P-browser starten"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr "Configureer I2P systeembalk"
msgstr "I2P-systeemvak configureren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
@@ -64,26 +65,26 @@ msgstr "I2P stoppen"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr "Herstart I2P direct"
msgstr "I2P onmiddellijk herstarten"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr "Stop I2P direct"
msgstr "I2P onmiddellijk stoppen"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr "Annuleer afsluiten I2P"
msgstr "Afsluiten I2P annuleren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr "Afsluiten in {0}"
msgstr "Afsluiten over {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr "Afsluiten op handen"
msgstr "Wordt zo meteen afgesloten"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
@@ -93,4 +94,4 @@ msgstr "Netwerk"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr "I2P: Rechts klikken voor menu"
msgstr "I2P: rechterklik voor menu"

View File

@@ -6,20 +6,20 @@
# Translators:
# PolishAnon <b790979@klzlk.com>, 2011
# polacco <polacco@i2pmail.org>, 2015
# Verdulo :-) <cybertomek@openmailbox.org>, 2016
# Verdulo :-), 2016
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 19:49+0000\n"
"Last-Translator: Verdulo :-) <cybertomek@openmailbox.org>\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Verdulo :-)\n"
"Language-Team: Polish (http://www.transifex.com/otf/I2P/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:31
#: src/net/i2p/desktopgui/ExternalTrayManager.java:59

View File

@@ -4,7 +4,7 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# Maria Manuela Silva, 2016
# Manuela Silva <manuela.silva@sky.com>, 2016
# wicked, 2013
# wicked, 2012
msgid ""
@@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-31 15:25+0000\n"
"Last-Translator: Maria Manuela Silva\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Manuela Silva <manuela.silva@sky.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/otf/I2P/language/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-06-13 01:45+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Rafael Ferrari\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
"MIME-Version: 1.0\n"

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-09-16 18:17+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Predator <Predator@windowslive.com>\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"

View File

@@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-07-27 14:27+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: c4sp3r\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/otf/I2P/language/ru_RU/)\n"
"MIME-Version: 1.0\n"

View File

@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Slovak (http://www.transifex.com/otf/I2P/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -48,7 +48,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Zakázať"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -87,7 +87,7 @@ msgstr ""
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Sieť"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -4,14 +4,15 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# Besnik <besnik@programeshqip.org>, 2016
# Shpetim <shpetim@privacysolutions.no>, 2014
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Besnik <besnik@programeshqip.org>\n"
"Language-Team: Albanian (http://www.transifex.com/otf/I2P/language/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,73 +23,73 @@ msgstr ""
#: src/net/i2p/desktopgui/ExternalTrayManager.java:31
#: src/net/i2p/desktopgui/ExternalTrayManager.java:59
msgid "Start I2P"
msgstr "Starto I2P'në"
msgstr "Nise I2P-në"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
msgid "I2P is starting!"
msgstr "I2P po starton!"
msgstr "I2P po niset!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
msgid "Starting"
msgstr "Po startoj"
msgstr "Po niset"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
msgid "Launch I2P Browser"
msgstr "Nis Browser'in e I2P'së"
msgstr "Nis Shfletuesin I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr ""
msgstr "Formësoni Panel Sistemi I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Çaktivizoje"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
msgid "Restart I2P"
msgstr "Ristarto I2P¨në"
msgstr "Rinise I2P-në"
#: src/net/i2p/desktopgui/InternalTrayManager.java:110
#: src/net/i2p/desktopgui/InternalTrayManager.java:262
msgid "Stop I2P"
msgstr "Ndale I2P'në"
msgstr "Ndale I2P-në"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Rinise I2P-në Menjëherë"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Ndale I2P-në Menjëherë"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Anuloje Mbylljen e I2P-së"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Mbylle për {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Mbyllje shumë shpejt"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Rrjet"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "I2P: Djathtas-klikoni për menu"

View File

@@ -5,14 +5,15 @@
#
# Translators:
# 123hund123 <M8R-ra4r1r@mailinator.com>, 2011
# Jonatan Nyberg <jonatan@autistici.org>, 2016
# Anders Nilsson <anders@devode.se>, 2016
# Jony, 2016-2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-06-14 13:22+0000\n"
"Last-Translator: Jonatan Nyberg <jonatan@autistici.org>\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Jony\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.com/otf/I2P/language/sv_SE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -38,12 +39,12 @@ msgstr "Startar"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
msgid "Launch I2P Browser"
msgstr "Öppna I2P browser"
msgstr "Starta I2P-webbläsare"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr "Konfigurera I2P systemfältet"
msgstr "Konfigurera I2P-meddelandefältet"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
@@ -68,28 +69,28 @@ msgstr "Starta om I2P omedelbart"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Stoppa I2P omedelbart"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Avbryt I2P-avstängning"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Stänger av om {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Avstängning nära"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Nätverk"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "I2P: Högerklicka för meny"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-26 05:38+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Kaya Zeren <kayazeren@gmail.com>\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/otf/I2P/language/tr_TR/)\n"
"MIME-Version: 1.0\n"

View File

@@ -8,13 +8,14 @@
# Denis Lysenko <gribua@gmail.com>, 2011
# LinuxChata, 2014
# madjong <madjong@i2pmail.org>, 2014
# Maxym Mykhalchuk, 2017
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-07-14 18:50+0000\n"
"Last-Translator: w008 <alex.on.www@gmail.com>\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Maxym Mykhalchuk\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/otf/I2P/language/uk_UA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -45,12 +46,12 @@ msgstr "Запустити I2P Браузер"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
msgid "Configure I2P System Tray"
msgstr ""
msgstr "Налаштувати системний трей I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Вимкнути"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -65,26 +66,26 @@ msgstr "Зупинити I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
msgid "Restart I2P Immediately"
msgstr ""
msgstr "Негайно перезапустити I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
msgid "Stop I2P Immediately"
msgstr ""
msgstr "Негайно зупинити I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
msgid "Cancel I2P Shutdown"
msgstr ""
msgstr "Скасувати зупинку I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#, java-format
msgid "Shutdown in {0}"
msgstr ""
msgstr "Зупинка за {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Shutdown imminent"
msgstr ""
msgstr "Зупинка неминуча"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
@@ -94,4 +95,4 @@ msgstr "Мережа"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
msgid "I2P: Right-click for menu"
msgstr ""
msgstr "I2P: Клацніть правою кнопкою миші щоб відкрити меню"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 12:34+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Vietnamese (http://www.transifex.com/otf/I2P/language/vi/)\n"
"MIME-Version: 1.0\n"
@@ -47,7 +47,7 @@ msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr ""
msgstr "Tắt"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
@@ -86,7 +86,7 @@ msgstr ""
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
msgid "Network"
msgstr ""
msgstr "Mạng lưới"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63

View File

@@ -6,14 +6,14 @@
# Translators:
# ducki2p <ducki2p@gmail.com>, 2011
# walking <walking@i2pmail.org>, 2011
# Y.F Yang <yfdyh000@gmail.com>, 2016
# YF <yfdyh000@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2016-05-25 14:00+0000\n"
"Last-Translator: Y.F Yang <yfdyh000@gmail.com>\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: YF <yfdyh000@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@@ -438,21 +438,7 @@ class InternalTrayManager extends TrayManager {
* @since 0.9.26
*/
private void launchBrowser() {
String unset = "*unset*";
PortMapper pm = _context.portMapper();
String httpHost = pm.getActualHost(PortMapper.SVC_CONSOLE, unset);
String httpsHost = pm.getActualHost(PortMapper.SVC_HTTPS_CONSOLE, unset);
int httpPort = pm.getPort(PortMapper.SVC_CONSOLE, 7657);
int httpsPort = pm.getPort(PortMapper.SVC_HTTPS_CONSOLE, -1);
boolean httpsOnly = httpsPort > 0 && httpHost.equals(unset) && !httpsHost.equals(unset);
String url;
if (httpsOnly) {
url = "https://" + httpsHost + ':' + httpsPort + '/';
} else {
if (httpHost.equals(unset))
httpHost = "127.0.0.1";
url = "http://" + httpHost + ':' + httpPort + '/';
}
String url = _context.portMapper().getConsoleURL();
try {
I2PDesktop.browse(url);
} catch (BrowseException e1) {

View File

@@ -4,6 +4,12 @@ package net.i2p.desktopgui;
* Main.java
*/
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import javax.swing.SwingUtilities;
import net.i2p.I2PAppContext;
@@ -24,7 +30,9 @@ import net.i2p.util.I2PProperties.I2PPropertyCallback;
*/
public class Main implements RouterApp {
// non-null
private final I2PAppContext _appContext;
// warning, null in app context
private final RouterContext _context;
private final ClientAppManager _mgr;
private final Log log;
@@ -106,6 +114,8 @@ public class Main implements RouterApp {
changeState(START_FAILED, "Headless environment: not starting desktopgui!", null);
return;
}
if (SystemVersion.isMac())
setMacTrayIcon();
// TODO process args with getopt if needed
@@ -129,6 +139,45 @@ public class Main implements RouterApp {
}
/**
* Unless we do this, when we start DesktopGUI we get a Java coffee cup
* in the tray.
*
* Based on code from https://gist.github.com/bchapuis/1562406 , no apparent license.
* See also https://stackoverflow.com/questions/6006173/how-do-you-change-the-dock-icon-of-a-java-program
*
* TODO, if we wanted to add our own menu, see
* https://stackoverflow.com/questions/1319805/java-os-x-dock-menu
*
* TODO, if we want to make it bounce, see
* https://stackoverflow.com/questions/15079783/how-to-make-my-app-icon-bounce-in-the-mac-dock
*
* TODO, if we want to handle Quit, see
* https://nakkaya.com/2009/04/19/java-osx-integration/
*
* @since 0.9.33
*/
@SuppressWarnings("unchecked")
private void setMacTrayIcon() {
File f = new File(_appContext.getBaseDir(), "docs/themes/console/images/itoopie_sm.png");
if (!f.exists())
return;
try {
Class util = Class.forName("com.apple.eawt.Application");
Method getApplication = util.getMethod("getApplication", new Class[0]);
Object application = getApplication.invoke(util);
Class params[] = new Class[1];
params[0] = Image.class;
Method setDockIconImage = util.getMethod("setDockIconImage", params);
URL url = f.toURI().toURL();
Image image = Toolkit.getDefaultToolkit().getImage(url);
setDockIconImage.invoke(application, image);
} catch (Exception e) {
if (log.shouldWarn())
log.warn("Can't set OSX Dock icon", e);
}
}
/**
* Avoids the app terminating because no Window is opened anymore.
* More info: http://java.sun.com/javase/6/docs/api/java/awt/doc-files/AWTThreadIssues.html#Autoshutdown

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="java/src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry combineaccessrules="false" kind="src" path="/jetty"/>
<classpathentry combineaccessrules="false" kind="src" path="/ministreaming"/>
<classpathentry kind="output" path="java/build/obj"/>
</classpath>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>i2psnark</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,44 @@
apply plugin: 'war'
sourceSets {
main {
java {
srcDir 'java/src'
}
}
}
dependencies {
compile project(':core')
compile project(':apps:systray')
compile 'gnu.getopt:java-getopt:1.0.13'
providedCompile project(':apps:ministreaming')
providedCompile project(':apps:jetty')
}
task i2psnarkJar(type: Jar) {
from sourceSets.main.output
exclude 'org/klomp/snark/standalone/**'
exclude 'org/klomp/snark/web/**'
manifest {
attributes 'Main-Class': 'org.klomp.snark.Snark'
attributes 'Class-Path': 'i2p.jar mstreaming.jar streaming.jar'
}
}
// TODO: standalone jar. This is rather involved!
artifacts {
archives i2psnarkJar
}
war {
into '.icons', {
from 'icons'
}
webInf {
into 'classes/org/klomp/snark/web'
from 'mime.properties'
}
webXml = file('web.xml')
}

View File

@@ -0,0 +1,4 @@
#
# This is for app context configuration of standalone i2psnark.
# Almost all configuration settings are in i2psnark.config.d/i2psnark.config
#

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$" relative="/WEB-INF" />
</webroots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/java/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="jettylib" level="project" />
<orderEntry type="module" module-name="core" />
<orderEntry type="module" module-name="ministreaming" />
<orderEntry type="module" module-name="jetty" />
<orderEntry type="module" module-name="systray" />
</component>
</module>

Some files were not shown because too many files have changed in this diff Show More