Commit Graph

1034 Commits

Author SHA1 Message Date
Joakim Erdfelt cecb8d6d04 Minor typo fix 2014-07-17 08:31:08 +10:00
Greg Wilkins 6893027ecd Merge remote-tracking branch 'origin/master' into jetty-http2
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
	jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
2014-07-16 17:23:29 +10:00
Greg Wilkins 5f033b48d5 438204 leave IPv6 addresses [] wrapped in getServerName 2014-07-16 16:39:02 +10:00
Greg Wilkins 4d2a580c2c 439375 preferred rfc7231 format is mime;charset=lowercase-9 2014-07-11 17:56:08 +10:00
Greg Wilkins f9ffefbe13 refactored to avoid copying MetaData.Request instances 2014-07-11 16:35:25 +10:00
Greg Wilkins fff2dd2f2d misc test fixes for rfc7230 issues 2014-07-11 16:10:06 +10:00
Greg Wilkins f594a6fc66 HttpField.contains ignores ;q=0 items 2014-07-11 16:08:18 +10:00
Greg Wilkins 5e281dd449 Merge remote-tracking branch 'origin/master' into jetty-http2
Conflicts:
	jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
2014-07-10 14:43:39 +10:00
Greg Wilkins 55ca09a00e 438190 findbug improvements 2014-07-10 14:41:32 +10:00
Greg Wilkins 068ec21419 438204 getServerName returns IPv6 addresses wrapped in [] 2014-07-09 16:44:34 +10:00
Greg Wilkins 42e1a60d65 438204 getServerName returns IPv6 addresses wrapped in [] 2014-07-09 14:38:06 +10:00
Greg Wilkins c8ee504291 rfc7230 ignore null value headers 2014-07-03 15:53:12 +10:00
Simone Bordet 66f3913527 Merged branch 'origin/master' into 'jetty-http2'. 2014-06-25 12:34:19 +02:00
Simone Bordet 3ff4195dbc Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-06-25 12:26:45 +02:00
Greg Wilkins f93a409589 Merge remote-tracking branch 'origin/master' into jetty-http2 2014-06-24 17:33:51 +02:00
Greg Wilkins 28ad689bcb 437996 avoid async status race by not setting 200 on handled 2014-06-24 12:27:03 +02:00
Greg Wilkins 9acf971cc1 cache path URI in table 2014-06-18 15:26:33 +02:00
Greg Wilkins 7fa4f1e9f8 cleaned up authority handling 2014-06-17 19:40:09 +02:00
Greg Wilkins 3fcb910c1a improved HttpField.contains 2014-06-17 19:02:53 +02:00
Simone Bordet 3832a8645d Properly implemented hashCode() and equals(). 2014-06-17 18:52:42 +02:00
Simone Bordet 2b494fde0e Miscellaneous refactorings. 2014-06-17 16:23:06 +02:00
Greg Wilkins 85cb290e1c minor clean ups 2014-06-17 15:39:55 +02:00
Greg Wilkins 0539b48b8a nicer constructors 2014-06-17 15:28:40 +02:00
Greg Wilkins 25295456ae renamed HTTP/2.0 to HTTP/2 2014-06-17 00:12:57 +02:00
Greg Wilkins 272e1d8da5 Refactored HttpChannel to not have direct HttpParser dependency 2014-06-17 00:02:50 +02:00
Simone Bordet 334db9fe72 Updated version to 9.3.0-SNAPSHOT. 2014-06-16 21:33:03 +02:00
Simone Bordet adaeeefe32 Merged branch 'master' into 'jetty-http2'. 2014-06-16 16:08:40 +02:00
Greg Wilkins 1666f54b50 revert httpfields 2014-06-11 17:41:52 +02:00
Greg Wilkins c319c19125 convert MetaData to HttpField as a list 2014-06-11 16:53:17 +02:00
Greg Wilkins bbd61f8e19 Multiple mixed in changes and improvements
Simplified HttpParser as per rfc7230
implemented local/remote hpack max table sizes
2014-06-11 15:16:40 +02:00
Jan Bartel 144a460407 436894 GzipFilter code cleanup 2014-06-10 16:28:45 +02:00
Jesse McConnell c3ee0711ca [maven-release-plugin] prepare for next development iteration 2014-06-09 13:37:54 -05:00
Jesse McConnell 06b494eeac [maven-release-plugin] prepare release jetty-9.2.1.v20140609 2014-06-09 13:37:49 -05:00
Greg Wilkins 3c321e9b8f split authority field and hold results in header table 2014-06-09 15:34:09 +02:00
Greg Wilkins b2296cc2d4 simplified startRequest 2014-06-09 14:12:46 +02:00
Greg Wilkins 58ed30e710 header table mostly functional 2014-06-08 11:10:34 +02:00
Greg Wilkins 8f4aeeeb8d updated version to 10.0.0-SNAPSHOT 2014-06-04 15:08:54 +02:00
Greg Wilkins d19eef3403 more tests 2014-06-04 12:05:31 +02:00
Jesse McConnell 2e859e4ae2 [maven-release-plugin] prepare for next development iteration 2014-05-26 12:04:15 -05:00
Jesse McConnell 71ad2114c5 [maven-release-plugin] prepare release jetty-9.2.0.v20140526 2014-05-26 12:04:08 -05:00
Jesse McConnell 7e71c42bc5 Merge branch 'master' into release-9 2014-05-26 11:36:41 -05:00
Jesse McConnell 5e3e0930e0 Revert "434810 better handling of bad messages"
This reverts commit 1e524f378e.
2014-05-26 11:20:07 -05:00
Jesse McConnell 8936b160c2 Merge branch 'master' into release-9 2014-05-26 10:46:39 -05:00
Jesse McConnell d59dbe936b [maven-release-plugin] prepare for next development iteration 2014-05-23 09:59:19 -05:00
Jesse McConnell edc7646a4c [maven-release-plugin] prepare release jetty-9.2.0.v20140523 2014-05-23 09:59:13 -05:00
Greg Wilkins 1e524f378e 434810 better handling of bad messages 2014-05-21 20:13:21 +02:00
Jesse McConnell 6a3cab2a2f [maven-release-plugin] prepare for next development iteration 2014-05-15 14:44:37 -05:00
Jesse McConnell eec01cbff4 [maven-release-plugin] prepare release jetty-9.2.0.RC0 2014-05-15 14:44:28 -05:00
Jesse McConnell 4d2fdee7fc [maven-release-plugin] prepare for next development iteration 2014-05-08 11:44:34 -05:00
Jesse McConnell 4515fe661b [maven-release-plugin] prepare release jetty-9.2.0.M1 2014-05-08 11:44:27 -05:00
Simone Bordet 43454ebd0a Merged branch 'master' into '431642'. 2014-04-30 15:34:54 +02:00
Simone Bordet 95c6bad654 Improved handling of return values from parser callback, by returning
as early as possible to avoid race conditions with application code
 that may have returned true and reentered the parsing code.
2014-04-30 14:58:14 +02:00
Greg Wilkins 2e261b75d6 433692 improved buffer resizing 2014-04-29 20:36:13 +02:00
Greg Wilkins 4785121a53 431642 Allow for immediate return from content callback in HttpParser 2014-04-10 12:59:07 +10:00
Greg Wilkins 4dbabd72f2 429734 Implemented the HA ProxyProtocol 2014-04-04 08:47:37 +11:00
Greg Wilkins c5e1e249e7 set version for 9.2.x 2014-03-31 11:35:06 +11:00
Simone Bordet 1089a33578 Fixed imports referencing JUnit 3 and old matcher libraries. 2014-03-27 15:34:48 +01:00
Greg Wilkins 31a377d829 425991 added qml mime type 2014-03-20 12:49:49 +11:00
Jesse McConnell 0ec0d452e9 [maven-release-plugin] prepare for next development iteration 2014-03-07 09:10:08 -06:00
Jesse McConnell 1e555567a9 [maven-release-plugin] prepare release jetty-9.1.3.v20140225 2014-03-07 09:10:08 -06:00
Greg Wilkins f092561a8a 428383 limit white space between requests 2014-02-18 10:02:00 +11:00
Jesse McConnell eb0aea46ce set versions.txt file to new version and fix mistaken developmentVersion 2014-02-10 13:48:29 -06:00
Jesse McConnell f3d38dfb15 [maven-release-plugin] prepare for next development iteration 2014-02-10 11:17:14 -06:00
Jesse McConnell 8f6cbc9111 [maven-release-plugin] prepare release jetty-9.1.2.v20140210 2014-02-10 11:17:07 -06:00
Simone Bordet 3486046f1e 426870 - HTTP 1.0 Request with Connection: keep-alive and response
content hangs.

Refactored tests.
2014-01-29 18:26:32 +01:00
Simone Bordet cbdfd87d78 426870 - HTTP 1.0 Request with Connection: keep-alive and response
content hangs.

Fixed HttpGenerator to stay in the EOF_CONTENT mode if such case is
detected (while before it was moving to NO_CONTENT mode).
By staying in EOF_CONTENT mode the generator is made non-persistent
and eventually the connection is closed, signaling the end-of-content
to the client.
2014-01-29 11:20:00 +01:00
Joakim Erdfelt 5ed1a9dfb4 Adding parameterized version of HttpGeneratorServerTest.testHTTP() 2014-01-28 11:57:44 -07:00
Simone Bordet 7ce6aee304 426739 - Response with Connection: keep-alive truncated.
Fixed copy/paste error.
Also removed unnecessary constant.
2014-01-27 18:57:24 +01:00
Jesse McConnell b82ec6e668 [maven-release-plugin] prepare for next development iteration 2014-01-08 16:47:09 -06:00
Jesse McConnell b99623a21d [maven-release-plugin] prepare release jetty-9.1.1.v20140108 2014-01-08 16:47:01 -06:00
Simone Bordet a22cfbd885 425049 - add json mime mapping to mime.properties. 2014-01-07 21:46:22 +01:00
Joakim Erdfelt a12fd9ea03 Happy New Year - 2014! 2014-01-02 14:50:14 -07:00
Greg Wilkins 084ed61711 423695 - <HT> Horizontal-tab used as HTTP Header Field separator unsupported
Added tests to confirm that multivalue parsing is OK
2013-12-12 15:15:54 +11:00
Joakim Erdfelt 3eb959a1e2 423695 - <HT> Horizontal-tab used as HTTP Header Field separator unsupported
+ Adding suggested fix to HttpParser
2013-12-10 06:58:00 -07:00
Joakim Erdfelt a345bdf4ff 423695 - <HT> Horizontal-tab used as HTTP Header Field separator unsupported
+ Adding @Ignore'd testcase HttpParserTest.testHeaderTab()
2013-12-10 06:31:56 -07:00
Greg Wilkins f1fc661a2c reenabled integration and RFC2616 tests 2013-11-29 17:33:05 +11:00
Greg Wilkins 8adf552c80 418888 Added strict mode to HttpGenerator 2013-11-22 22:54:09 +11:00
Joakim Erdfelt 9172d6115b [maven-release-plugin] prepare for next development iteration 2013-11-15 16:58:44 -07:00
Joakim Erdfelt 6feeab6ec3 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:58:36 -07:00
Joakim Erdfelt 7bbc0ff4df [maven-release-plugin] rollback the release of jetty-9.1.0.v20131115 2013-11-15 16:33:52 -07:00
Joakim Erdfelt 1126e68971 [maven-release-plugin] prepare for next development iteration 2013-11-15 16:03:28 -07:00
Joakim Erdfelt d6418c73d4 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:03:20 -07:00
Joakim Erdfelt 6c372b9440 Reverting <version> to 9.1.0-SNAPSHOT 2013-11-15 15:36:26 -07:00
Jesse McConnell b5345caed1 [maven-release-plugin] prepare for next development iteration 2013-11-14 15:27:52 -06:00
Jesse McConnell 1582aa196d [maven-release-plugin] prepare release jetty-9.1.0.v20131114 2013-11-14 15:27:37 -06:00
Jesse McConnell 63f20d4518 [maven-release-plugin] prepare for next development iteration 2013-11-07 10:42:54 -06:00
Jesse McConnell dc2fd1b9ce [maven-release-plugin] prepare release jetty-9.1.0.RC2 2013-11-07 10:42:41 -06:00
Greg Wilkins f567bddad9 global clean up imports 2013-11-04 13:48:03 +11:00
Greg Wilkins eb3bb660b5 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpReceiverTest.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpSenderTest.java
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpField.java
	jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/AbstractDoSFilterTest.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/generator/HeadersBlockGenerator.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/parser/HeadersBlockParser.java
	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketFrame.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateCompressionMethodTest.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
2013-11-03 18:22:09 +11:00
Mikhail Mazursky 6b0269a16d [Bug 420930] Use Charset to specify character encoding
Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-11-02 14:44:36 +06:00
Greg Wilkins d5f83a8159 420034 Removed threads/timers from Date caching 2013-10-24 11:09:17 +11:00
Greg Wilkins cd1035d1d6 minor code cleanups 2013-10-21 16:30:22 +11:00
Greg Wilkins 33e2055468 minor code cleanups 2013-10-21 15:50:22 +11:00
Greg Wilkins 82a991dd07 Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-10-21 12:32:54 +11:00
Greg Wilkins 24c1b30495 418732 - Add whiteListByPath mode to IPAccessHandler
Fixed the contribution.

The PathMap changes were not correct as "" is the pattern for "/" path only.
Also removed the use of the lazy list
2013-10-21 12:20:34 +11:00
Joakim Erdfelt dbc4f5357a Merge fixes
+ @Ignore on PathMapTest
2013-10-18 16:12:19 -07:00
Joakim Erdfelt d6d54e048b Merge branch 'master' into jetty-9.1
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ErrorPageErrorHandler.java
	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientTest.java
	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
2013-10-18 16:12:00 -07:00
Constantine Linnick b4052a2b53 [Bug 418732] Swap PathMap with IPAddressMap, also fix PathMap initialization bug
Signed-off-by: Constantine Linnick <theaspect@gmail.com>
2013-10-18 01:05:44 -04:00
Greg Wilkins f3b393aa5d Refactored complexity out of HttpFields
In preparation of merging Fields class and supporting HTTP/2.0 HPACK
2013-10-17 21:35:11 +11:00
Jesse McConnell 856a24b65a [maven-release-plugin] prepare for next development iteration 2013-09-30 14:46:09 -05:00
Jesse McConnell f466f03c6a [maven-release-plugin] prepare release jetty-9.0.6.v20130930 2013-09-30 14:46:00 -05:00
Jesse McConnell 0b3f431d27 set version back to 9.0.6-SNAPSHOT 2013-09-30 12:33:06 -05:00
Jesse McConnell af2e6ff911 Merge branch 'master' into release-9 2013-09-30 12:28:04 -05:00
Greg Wilkins 0fd656dcbe Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-09-30 13:20:54 +10:00
Greg Wilkins a59439241f 418227 Null cookie value test 2013-09-30 12:59:34 +10:00
Joakim Erdfelt ac40e7ab6a Fixing various javadoc errors 2013-09-25 08:11:32 -07:00
Greg Wilkins 4708c907c1 417284 Precompiled regex in HttpField 2013-09-23 15:19:41 +10:00
Jesse McConnell 0525498ad3 [maven-release-plugin] prepare for next development iteration 2013-09-19 15:06:31 -05:00
Jesse McConnell c05a725db6 [maven-release-plugin] prepare release jetty-9.0.6.v20130919 2013-09-19 15:06:17 -05:00
Greg Wilkins 843e94e4e0 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java
2013-09-09 17:11:38 +10:00
Greg Wilkins e2e1b47edf 416015 Handle null Accept-Language and other headers 2013-09-09 16:51:37 +10:00
Greg Wilkins 070ce9dd22 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
	jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java
2013-09-09 15:41:17 +10:00
Mikhail Mazursky 767faece5c [Bug 415999] Fix some of FindBugs warnings
Mostly not closed streams/DB resources are fixed. But also less
important things.

Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-09-09 00:24:31 -04:00
Jan Bartel cdd95bb551 Merge remote-tracking branch 'origin/jetty-8' 2013-09-09 12:42:56 +10:00
Jan Bartel 11085742c8 416787 StringIndexOutOfBounds with a pathMap of "" 2013-09-09 12:41:28 +10:00
Jan Bartel 67bdc29b9b 416787 StringIndexOutOfBounds with a pathMap of "" 2013-09-09 12:30:52 +10:00
Simone Bordet 400f0ce5a2 Made remove() methods return the removed value. 2013-09-08 23:02:24 +02:00
Simone Bordet 8422dd5b1a Relaxed accessibility modifiers of a few methods to support FCGI
parsing, and introduced method setResponseStatus(int) to set the
response status programmatically (since in FCGI the response line does
not exist and therefore it is not parsed).
2013-09-03 16:10:07 +02:00
Jan Bartel c80100b4a9 [maven-release-plugin] prepare for next development iteration 2013-08-15 19:13:27 +10:00
Jan Bartel e7e7e45500 [maven-release-plugin] prepare release jetty-9.0.5.v20130815 2013-08-15 19:13:13 +10:00
Jan Bartel 716430bb03 [maven-release-plugin] rollback the release of jetty-9.0.5.v20130815 2013-08-15 18:03:49 +10:00
Jan Bartel 3d13c15d35 [maven-release-plugin] prepare release jetty-9.0.5.v20130815 2013-08-15 17:22:03 +10:00
Jan Bartel 7947b35134 Reset version for rerun of 9.0.5 2013-08-15 16:47:03 +10:00
Jan Bartel 1cd0cd6481 414898 Only upgrade v0 to v1 cookies on dquote , ; backslash space and tab in the value 2013-08-15 16:41:44 +10:00
Greg Wilkins 44b07f44bb Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-08-15 10:01:19 +10:00
Greg Wilkins 89f927ad0f 414898 Only upgrade v0 to v1 cookies on dquote , ; backslash space and tab in the value 2013-08-15 09:11:41 +10:00
Joakim Erdfelt aef8071d1d Fixing malformed Javadoc warnings in jetty-http 2013-08-14 12:46:25 -07:00
Jesse McConnell 4383c9042d [maven-release-plugin] prepare for next development iteration 2013-08-13 14:20:56 -05:00
Jesse McConnell 160d34ec23 [maven-release-plugin] prepare release jetty-9.0.5.v20130813 2013-08-13 14:20:47 -05:00
Greg Wilkins 1e25778d57 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
	jetty-server/src/test/java/org/eclipse/jetty/server/HttpServerTestBase.java
2013-08-13 00:44:39 +10:00
Greg Wilkins 43946c62e0 414449 Added HttpParser strict mode for case sensitivity 2013-08-12 23:02:08 +10:00
Greg Wilkins 009113aacb 414640 HTTP header value encoding
fixed issues with merge
2013-08-09 16:31:11 +10:00
Greg Wilkins 8ce87ffafc Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-08-09 16:12:55 +10:00
Greg Wilkins 7c2095725f 414640 HTTP header value encoding
Allow URL to be any encoding (pass the bytes and by default assume UTF-8), the header values are in ISO_8859_1 and everything else
must be US_ASCII
2013-08-09 16:11:59 +10:00
Greg Wilkins dbbc43edb1 414640 Improved Bad Message handling for non US_ASCII headers 2013-08-09 14:16:21 +10:00
Greg Wilkins 34cfc3ed10 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpFields.java
	jetty-http/src/test/java/org/eclipse/jetty/http/HttpFieldsTest.java
	jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
2013-08-09 13:50:49 +10:00
Greg Wilkins a779425994 414101 Do not escape special characters in cookies 2013-08-09 12:42:52 +10:00
Simone Bordet 89be2de57f Merged branch 'master' into 'jetty-9.1'. 2013-07-26 19:17:30 +02:00
Simone Bordet 61ea4d6705 Fixed method parseResponse() that should never return null.
The response is "filled" by parser events even if at the end of
the parsing the parser returns false.
2013-07-26 19:07:39 +02:00
Jesse McConnell 20bd1e0f96 [maven-release-plugin] prepare for next development iteration 2013-07-26 11:50:17 -05:00
Jesse McConnell 49c3b2c32a [maven-release-plugin] prepare release jetty-8.1.12.v20130726 2013-07-26 11:49:58 -05:00
Jesse McConnell 6ed360c480 reset for release 2013-07-26 11:23:57 -05:00
Jesse McConnell 1a5117e9ab [maven-release-plugin] prepare release jetty-8.1.12.v20130726 2013-07-26 11:18:24 -05:00
Simone Bordet 9d571af7b0 Merged branch 'master' into 'jetty-9.1'. 2013-07-26 13:55:05 +02:00
Jan Bartel e6974dadab Harmonize with jetty-9 apis 2013-07-26 18:01:37 +10:00
Jesse McConnell de2840ca1e [maven-release-plugin] prepare for next development iteration 2013-07-25 12:52:15 -05:00
Jesse McConnell 3e94867f7f [maven-release-plugin] prepare release jetty-8.1.12.v20130725 2013-07-25 12:52:07 -05:00
Jesse McConnell e0ad2c4ee1 [maven-release-plugin] prepare for next development iteration 2013-07-25 07:52:39 -05:00
Jesse McConnell 99712058ca [maven-release-plugin] prepare release jetty-8.1.11.v20130725 2013-07-25 07:52:32 -05:00
Jan Bartel 72b077921d Merge remote-tracking branch 'origin/jetty-7' into jetty-8 2013-07-25 11:26:35 +10:00