diff --git a/repository/Seaside-Core.package/WAAbstractProtectionFilter.class/README.md b/repository/Seaside-Core.package/WAAbstractProtectionFilter.class/README.md new file mode 100644 index 000000000..3588a62cc --- /dev/null +++ b/repository/Seaside-Core.package/WAAbstractProtectionFilter.class/README.md @@ -0,0 +1 @@ +A protection filter protects the wrapped request handler, mostly useful to protect against session hijacking. See subclasses for different strategies. \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/properties.json b/repository/Seaside-Core.package/WAAbstractProtectionFilter.class/properties.json similarity index 57% rename from repository/Seaside-Core.package/WAProtectionFilter.class/properties.json rename to repository/Seaside-Core.package/WAAbstractProtectionFilter.class/properties.json index 3bb4aba35..503f7ff7d 100644 --- a/repository/Seaside-Core.package/WAProtectionFilter.class/properties.json +++ b/repository/Seaside-Core.package/WAAbstractProtectionFilter.class/properties.json @@ -1,13 +1,11 @@ { - "commentStamp" : "lr 8/11/2009 10:56", + "commentStamp" : "JohanBrichau 8/4/2019 07:41", "super" : "WARequestFilter", "category" : "Seaside-Core-Filter", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], - "instvars" : [ - "remoteAddress" - ], - "name" : "WAProtectionFilter", + "instvars" : [ ], + "name" : "WAAbstractProtectionFilter", "type" : "normal" } \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/README.md b/repository/Seaside-Core.package/WAProtectionFilter.class/README.md deleted file mode 100644 index 52719533d..000000000 --- a/repository/Seaside-Core.package/WAProtectionFilter.class/README.md +++ /dev/null @@ -1,3 +0,0 @@ -The protection filter ensures that the wrapped request handler only accepts requests from the same IP. Do add this filter to a WASession for example to avoid session hijacking, do not add it to static request handlers such as WAApplication or WADispatcher as this might restrict access to the handler if your IP changes. - -Note that checking for IP addresses is not bullet proof and should never be used as the sole security measure for a web application as IP addresses can be easily spoofed. \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/README.md b/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/README.md index 164e5b6df..64f896476 100644 --- a/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/README.md +++ b/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/README.md @@ -4,4 +4,6 @@ I track request handlers using a query field. This results in URLs looking like This is a very simple and robust approach. It is also very convenient for development. Just remove the _s and you have a new session. -However there are some drawbacks. The smallest is aesthetical, the URL in the address bar of the browser is less "clean". Second because the session id is part of the request URL it shows up in all kinds of places. For example server logs. Not only the log of the server running the application but also very web site visited from there because it shows up in the Referer HTTP header. The danger of this is that when somebody knows the session id of somebody else he can take over his session. While most of these problems can be mitigated by adding a WAProtectionFilter to every session this creates new problems for users with changing IPs (eg. mobile devices). \ No newline at end of file +However there are some drawbacks. The smallest is aesthetical, the URL in the address bar of the browser is less "clean". Second because the session id is part of the request URL it shows up in all kinds of places. For example server logs. Not only the log of the server running the application but also very web site visited from there because it shows up in the Referer HTTP header. The danger of this is that when somebody knows the session id of somebody else he can take over his session. Most of these problems can be mitigated by adding a WARemoteAddressProtectionFilter or WASessionCookieProtectionFilter to every session. + +Mind that WARemoteAddressProtectionFilter creates new problems for users with changing IPs (eg. mobile devices) and WASessionCookieProtectionFilter requires cookies. \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/properties.json b/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/properties.json index 75b54afd1..6816ad874 100644 --- a/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/properties.json +++ b/repository/Seaside-Core.package/WAQueryFieldHandlerTrackingStrategy.class/properties.json @@ -1,5 +1,5 @@ { - "commentStamp" : "pmm 7/17/2011 17:12", + "commentStamp" : "JohanBrichau 8/25/2019 16:20", "super" : "WAHandlerTrackingStrategy", "category" : "Seaside-Core-RequestHandling", "classinstvars" : [ ], diff --git a/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/README.md b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/README.md new file mode 100644 index 000000000..8cee13460 --- /dev/null +++ b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/README.md @@ -0,0 +1,3 @@ +The remote address protection filter ensures that the wrapped request handler only accepts requests from the same IP. Do add this filter to a WASession for example to avoid session hijacking, do not add it to static request handlers such as WAApplication or WADispatcher as this might restrict access to the handler if your IP changes. + +Note that checking for IP addresses is not bullet proof and should never be used as the sole security measure for a web application as IP addresses can be easily spoofed. \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/instance/handleFiltered..st b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/handleFiltered..st similarity index 100% rename from repository/Seaside-Core.package/WAProtectionFilter.class/instance/handleFiltered..st rename to repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/handleFiltered..st diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/instance/remoteAddress.st b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/remoteAddress.st similarity index 100% rename from repository/Seaside-Core.package/WAProtectionFilter.class/instance/remoteAddress.st rename to repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/remoteAddress.st diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/instance/remoteAddressFromRequest..st b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/remoteAddressFromRequest..st similarity index 100% rename from repository/Seaside-Core.package/WAProtectionFilter.class/instance/remoteAddressFromRequest..st rename to repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/remoteAddressFromRequest..st diff --git a/repository/Seaside-Core.package/WAProtectionFilter.class/instance/verifyRequest..st b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/verifyRequest..st similarity index 100% rename from repository/Seaside-Core.package/WAProtectionFilter.class/instance/verifyRequest..st rename to repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/instance/verifyRequest..st diff --git a/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/properties.json b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/properties.json new file mode 100644 index 000000000..0a045745f --- /dev/null +++ b/repository/Seaside-Core.package/WARemoteAddressProtectionFilter.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "JohanBrichau 8/4/2019 07:26", + "super" : "WAAbstractProtectionFilter", + "category" : "Seaside-Core-Filter", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "remoteAddress" + ], + "name" : "WARemoteAddressProtectionFilter", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/README.md b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/README.md new file mode 100644 index 000000000..42e45e17c --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/README.md @@ -0,0 +1,7 @@ +The session cookie protection filter ensures that the wrapped request handler only accepts requests from the same browser session. This filter is specifically useful to protect session hijacking when using the (default) query field session tracking strategy. + +Because WAQueryFieldHandlerTrackingStrategy puts the Seaside session key in the url, a session can be easily hijacked by copying the url. This request filter prevents this by requiring a browser session cookie associated to the Seaside session. As a result, a copied Seaside url can only be used in the same browser session. + +The use of this filter, in combination with WAQueryFieldHandlerTrackingStrategy, keeps the ability for a user to open multiple sessions of the same Seaside application in a single browser, while removing easy session hijacking. A malicious user that wants to hijack the session now needs both the url and the cookie. + +The appropriate use of this filter is to add it to the session in the `initializeFilters` method of your session class. Only in this way, the session is protected from the first rendered application page onwards. See WASessionCookieProtectedSession class as an example. \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionID.st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionID.st new file mode 100644 index 000000000..db20da0cb --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionID.st @@ -0,0 +1,3 @@ +accessing +browserSessionID + ^ browserSessionID \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDCookieKey.st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDCookieKey.st new file mode 100644 index 000000000..ff9d07537 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDCookieKey.st @@ -0,0 +1,4 @@ +constants +browserSessionIDCookieKey + + ^ 'seaside_browser_session' \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDSize.st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDSize.st new file mode 100644 index 000000000..411d270f7 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/browserSessionIDSize.st @@ -0,0 +1,4 @@ +constants +browserSessionIDSize + + ^ 20 \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/createBrowserSessionIDCookieFor..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/createBrowserSessionIDCookieFor..st new file mode 100644 index 000000000..9617ca9fa --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/createBrowserSessionIDCookieFor..st @@ -0,0 +1,7 @@ +private +createBrowserSessionIDCookieFor: aRequestContext + "Override this to customize cookie properties that fit your application needs" + ^ aRequestContext newCookie + sameSite: 'Strict'; + key: self browserSessionIDCookieKey; + value: self browserSessionID \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/handleFiltered..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/handleFiltered..st new file mode 100644 index 000000000..81e6d0a29 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/handleFiltered..st @@ -0,0 +1,15 @@ +processing +handleFiltered: aRequestContext + "If the browserSessionID instvar is nil, we are a newly created session and should set our browser session id. + Otherwise, verify the browser session id for the current request." + self browserSessionID + ifNil: [ self setBrowserSessionIDFor: aRequestContext ] + ifNotNil: [ + (self verifyBrowserSessionIDFor: aRequestContext) + ifFalse: [ + "If we carry a redirected url field, we have tried setting a cookie, which failed. Stop here to avoid infinite redirect. + In the other case, respond with the forbidden status code" + (self requestContext request queryFields includesKey: 'cookiecheck') + ifTrue:[ self respondCookiesRequired: aRequestContext ] + ifFalse: [ aRequestContext responseGenerator forbidden; respond ] ] ]. + super handleFiltered: aRequestContext \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/renderCookiesRequiredStatementOn..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/renderCookiesRequiredStatementOn..st new file mode 100644 index 000000000..e8c591d55 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/renderCookiesRequiredStatementOn..st @@ -0,0 +1,3 @@ +processing +renderCookiesRequiredStatementOn: html + html text: 'Sorry, but this application requires cookies to be enabled' \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/respondCookiesRequired..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/respondCookiesRequired..st new file mode 100644 index 000000000..42fccafb2 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/respondCookiesRequired..st @@ -0,0 +1,16 @@ +processing +respondCookiesRequired: aRequestContext + | dialog | + dialog := WAHtmlCanvas builder + fullDocument: true; + rootBlock: [ :root | + root + beHtml5; + title: 'Cookies Required' ]; + render: [ :html | self renderCookiesRequiredStatementOn: html ]. + aRequestContext + respond: [ :response | + response + forbidden; + contentType: WAMimeType textHtml; + nextPutAll: dialog ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/setBrowserSessionIDFor..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/setBrowserSessionIDFor..st new file mode 100644 index 000000000..788f34826 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/setBrowserSessionIDFor..st @@ -0,0 +1,14 @@ +private +setBrowserSessionIDFor: aRequestContext + "If there already is a browser session cookie, we reuse this one. + This means we can have multiple sessions open in a single browser, because they share the browser session id." + (aRequestContext request cookieAt: self browserSessionIDCookieKey) + ifNotNil: [ :cookie | browserSessionID := cookie value ] + ifNil: [ + browserSessionID := (WAKeyGenerator current keyOfLength: self browserSessionIDSize). + aRequestContext response + addCookie: (self createBrowserSessionIDCookieFor: aRequestContext); + redirectTo: (aRequestContext request url copy + addField: self application trackingStrategy keyField value: self session key; + addField: 'cookiecheck' value: nil; + yourself) ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/verifyBrowserSessionIDFor..st b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/verifyBrowserSessionIDFor..st new file mode 100644 index 000000000..a23c9449c --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/instance/verifyBrowserSessionIDFor..st @@ -0,0 +1,5 @@ +private +verifyBrowserSessionIDFor: requestContext + | cookie | + cookie := requestContext request cookieAt: self browserSessionIDCookieKey. + ^ cookie notNil and: [ cookie value = self browserSessionID ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/properties.json b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/properties.json new file mode 100644 index 000000000..4efe9a398 --- /dev/null +++ b/repository/Seaside-Core.package/WASessionCookieProtectionFilter.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "JohanBrichau 8/24/2019 13:30", + "super" : "WAAbstractProtectionFilter", + "category" : "Seaside-Core-Filter", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "browserSessionID" + ], + "name" : "WASessionCookieProtectionFilter", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/README.md b/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/instance/initializeFilters.st b/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/instance/initializeFilters.st new file mode 100644 index 000000000..a9db3840b --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/instance/initializeFilters.st @@ -0,0 +1,4 @@ +initialization +initializeFilters + super initializeFilters. + self addFilter: WASessionCookieProtectionFilter new. \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/properties.json b/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/properties.json new file mode 100644 index 000000000..d8368b2d7 --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionCookieProtectedSession.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "WASession", + "category" : "Seaside-Examples", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "WASessionCookieProtectedSession", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/README.md b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/handlerName.st b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/handlerName.st new file mode 100644 index 000000000..09630bc28 --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/handlerName.st @@ -0,0 +1,3 @@ +accessing +handlerName + ^ 'examples/sessionprotected-counter' \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/initialize.st b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/initialize.st new file mode 100644 index 000000000..f0be43b5b --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/class/initialize.st @@ -0,0 +1,5 @@ +initialization +initialize + | app | + app := WAAdmin register: self asApplicationAt: self handlerName. + app sessionClass: WASessionCookieProtectedSession \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/initialize.st b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/initialize.st new file mode 100644 index 000000000..5aec317f5 --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialization +initialize + super initialize. + counter := WACounter new \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/renderContentOn..st b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/renderContentOn..st new file mode 100644 index 000000000..c3b1b730d --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/instance/renderContentOn..st @@ -0,0 +1,4 @@ +rendering +renderContentOn: html + counter renderOn: html. + html paragraph: 'I am the Counter example using WASessionCookieProtectionFilter so you cannot copy/paste the url in another browser to hijack my session. See the class comment of WASessionCookieProtectionFilter for more information.' \ No newline at end of file diff --git a/repository/Seaside-Examples.package/WASessionProtectedCounter.class/properties.json b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/properties.json new file mode 100644 index 000000000..ff5e95dd0 --- /dev/null +++ b/repository/Seaside-Examples.package/WASessionProtectedCounter.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "WAExampleComponent", + "category" : "Seaside-Examples-Misc", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "counter" + ], + "name" : "WASessionProtectedCounter", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Examples.package/monticello.meta/version b/repository/Seaside-Examples.package/monticello.meta/version deleted file mode 100644 index 7a881f5c4..000000000 --- a/repository/Seaside-Examples.package/monticello.meta/version +++ /dev/null @@ -1 +0,0 @@ -(name 'Seaside-Examples-pmm.35' message 'Seaside-Examples should depend on JQuery - #893' id '6c746121-1215-0d00-9405-2d4704aeb9ca' date '8 September 2017' time '6:51:50.86828 pm' author 'pmm' ancestors ((name 'Seaside-Examples-pmm.34' message '- lint fixes' id '497cc867-68ca-4fe0-ae95-faf2c4de7fcf' date '25 August 2016' time '6:07:20.690733 pm' author 'pmm' ancestors ((name 'Seaside-Examples-pmm.33' message '- fix class comment' id 'ade67030-ffc9-4dae-89c4-713d567df91a' date '25 August 2016' time '3:38:54.868748 pm' author 'pmm' ancestors ((name 'Seaside-Examples-pmm.32' message '- lint fixes' id '9d4ec4b7-ebb2-4506-816d-5fc9f3b5a339' date '25 August 2016' time '10:40:56.819853 am' author 'pmm' ancestors ((name 'Seaside-Examples-JohanBrichau.31' message 'Renamed #example to #exampleComponent as the method name is too generic and the WAExampleBrowser breaks once the Seaside-Bootstrap project is loaded' id '3e98396e-f48f-4501-9d88-939b437073d6' date '24 October 2015' time '6:27:37.205911 pm' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.26' message 'Renamed #example to #exampleComponent as the method name is too generic and the WAExampleBrowser breaks once the Seaside-Bootstrap project is loaded' id '7e1ee0f5-f730-4c97-a254-dbecb51cc17d' date '24 October 2015' time '4:40:09.760808 pm' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.25' message 'Added traditional Seaside implementation of todo app' id '2d873362-3ab2-453c-95a8-89006bfd2bab' date '18 August 2014' time '9:46:59.670195 am' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-pmm.24' message '- Slime fixes, mostly recategorizations' id '872191b8-8a81-4a45-856f-b7f959170270' date '3 September 2012' time '4:39:09 pm' author 'pmm' ancestors ((name 'Seaside-Examples-lr.23' message '- fixed formatting of return message' id '55bd4265-5c72-44b6-b389-d6948809a25f' date '25 July 2011' time '8:20:12 pm' author 'lr' ancestors ((name 'Seaside-Examples-pmm.22' message '- lint fixes' id 'b7864378-398f-4c65-b4dd-29d438124a72' date '18 February 2011' time '11:15:54 pm' author 'pmm' ancestors ((name 'Seaside-Examples-pmm.21' message '- Issue 522: WAFileLibrary generated methods don''t have timestamps - http://code.google.com/p/seaside/issues/detail?id=522' id 'd37e6c7c-2e5f-484d-a0ca-e92eb7aad83a' date '12 February 2011' time '9:37:20 pm' author 'pmm' ancestors ((name 'Seaside-Examples-as.20' message 'Issue 639: merge WAHtmlCanvas and WARenderCanvas http://code.google.com/p/seaside/issues/detail?id=639' id '3188b2ac-181a-8844-bc31-018ba4be3ee3' date '6 February 2011' time '10:14:39 pm' author 'as' ancestors ((name 'Seaside-Examples-lr.19' message '- fixed the font-family in css' id '6347e351-827c-472b-91a4-1f5e0177c5a0' date '14 July 2010' time '10:12:49 am' author 'lr' ancestors ((name 'Seaside-Examples-jok.18' message '- http://code.google.com/p/seaside/issues/detail?id=555 - add #beginsWithSubCollection: and #endsWithSubCollection:' id '458e3d78-13a9-1f49-8f66-16ef6f5baab6' date '25 March 2010' time '11:15:03 am' author 'jok' ancestors ((name 'Seaside-Examples-lr.17' message '- added explicit repository url' id 'f22fb78e-4bb7-41e2-82cd-2727359536ef' date '17 February 2010' time '3:54:50 pm' author 'lr' ancestors ((name 'Seaside-Examples-jf.16' message 'change senders of #asSortedCollection to #sorted (now defined by Grease) where we don''t actually need to add items to the collection after it is sorted. (this turns out to be ALL senders of #asSortedCollection :) ).' id '2ddd3af9-f2f4-4b22-aa07-5f410f0224a2' date '15 February 2010' time '11:42:23 pm' author 'jf' ancestors ((name 'Seaside-Examples-jf.15' message 'Rename Seaside-Platform to Grease in order to help make clear that it is not Seaside-specific and can be used by other projects as a compatibility layer. This was spawned by discussions when I started porting Magritte to VAST using the Platform layer.' id '29a4ba77-93eb-440f-956b-9d01b70cd98d' date '30 September 2009' time '10:52 pm' author 'jf' ancestors ((name 'Seaside-Examples-jf.14' message 'Merge WAEntryPoint in WARequestHandler' id '42804c68-b800-4ce1-bb4b-a52baeb066dd' date '27 September 2009' time '10:06:28 pm' author 'jf' ancestors ((name 'Seaside-Examples-jf.13' message 'correctly identify Examples package dependency on Seaside-Canvas' id 'ac7333fa-cb6f-4760-83e1-b02187736e44' date '19 July 2009' time '7:42:53 pm' author 'jf' ancestors ((name 'Seaside-Examples-lr.12' message '- fixed various lint issues' id '517883f5-5838-4420-a521-c2fd98eb22f4' date '5 March 2009' time '9:17:41 pm' author 'lr' ancestors ((name 'Seaside-Examples-pmm.11' message '- remove literal caching' id '592737f3-9509-49d8-9911-9b0996a908cc' date '21 February 2009' time '10:27:31 am' author 'pmm' ancestors ((name 'Seaside-Examples-jf.10' message 'remove a class that got committed accidentally with an obsolete super' id 'e4581880-5f5d-47df-a450-1ec59daa9910' date '1 February 2009' time '8:42:50 pm' author 'jf' ancestors ((name 'Seaside-Examples-jf.9' message 'move a method on WAComponent into this package and fix an HTML validation problem with forms that didn''t have divs inside them' id '7480b71d-872b-41ab-88ad-a871159ccea8' date '11 January 2009' time '5:10:56 pm' author 'jf' ancestors ((name 'Seaside-Examples-lr.8' message '- do not use deprecated javascript cruft anymore' id '6996bdfc-3712-4c9b-8a35-dfb913baef23' date '27 December 2008' time '5:42:34 pm' author 'lr' ancestors ((name 'Seaside-Examples-lr.7' message '- cleanup of method protocols - fixed inconsistencies' id '08465a3f-df11-4d86-8c6c-540f67029892' date '29 November 2008' time '2:13:08 pm' author 'lr' ancestors ((name 'Seaside-Examples-jf.6' message 'http://code.google.com/p/seaside/issues/detail?id=209 Fix senders of deprecated #registerAsApplication:' id 'f8898059-b5f9-6d43-8a75-0a0b1555ea1a' date '26 October 2008' time '6:14:51 pm' author 'jf' ancestors ((name 'Seaside-Examples-lr.5' message '- updating package information' id '279ada08-4fc9-4b5c-9ab1-f6437bc03ca7' date '23 October 2008' time '10:07:50 pm' author 'lr' ancestors ((name 'Seaside-Examples-jf.4' message 'Added my best guess at package dependency information (please fill in descriptions)' id '9fdf7a75-3697-f142-8079-7f0a902c25f5' date '23 October 2008' time '12:35:25 pm' author 'jf' ancestors ((name 'Seaside-Examples-pmm.2' message '- fixed http://code.google.com/p/seaside/issues/detail?id=61' id '7b4fc1f3-e016-4283-b8df-bf5176e0bda0' date '24 April 2008' time '6:50:41 am' author 'pmm' ancestors ((name 'Seaside-Examples-pmm.1' message '- version bump at Operation STABILO 2007' id '1cc310b8-a28b-e046-954e-9119b6e9ffce' date '6 November 2007' time '9:31 pm' author 'pmm' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Examples-JohanBrichau.30' message 'add missing method' id '0d929a89-d432-4b44-aee0-bd412018d97c' date '21 August 2014' time '3:08:35.302676 pm' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.29' message 'Use delegated event handlers with Seaside passengers' id '458bd277-f31e-443b-95ad-b3b27a929ca3' date '18 August 2014' time '10:07:27.127883 am' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.28' message 'Combining ajax callbacks to reduce the amount of requests' id '8da50ca0-0e6c-451e-97e9-8385f6c2aaa5' date '18 August 2014' time '9:57:36.730499 am' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.27' message 'Added basic ajax callbacks' id '6eea4a5a-e229-424b-a3af-7729fe2380f7' date '18 August 2014' time '9:55:34.452721 am' author 'JohanBrichau' ancestors ((name 'Seaside-Examples-JohanBrichau.26' message 'corrected todo example' id 'af679c41-c2fe-4627-8881-fd3caf40ca7e' date '18 August 2014' time '9:48:55.361042 am' author 'JohanBrichau' ancestors ((id '2d873362-3ab2-453c-95a8-89006bfd2bab')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByBrowserSessionCookie.st b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByBrowserSessionCookie.st new file mode 100644 index 000000000..6b661248c --- /dev/null +++ b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByBrowserSessionCookie.st @@ -0,0 +1,7 @@ +actions +protectorByBrowserSessionCookie + | filter | + "We could use #filterWith:during: but that requires Flow." + filter := WASessionCookieProtectionFilter new. + self session addFilter: filter. + child inform: 'Open this page in a different browser by copying the complete URL. Seaside should reply with a forbidden message. Closing this dialog should remove the filter.' onAnswer: [ self session removeFilter: filter ] \ No newline at end of file diff --git a/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protector.st b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByRemoteAddress.st similarity index 83% rename from repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protector.st rename to repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByRemoteAddress.st index 669354a04..e59d4a10e 100644 --- a/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protector.st +++ b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/protectorByRemoteAddress.st @@ -1,7 +1,7 @@ actions -protector +protectorByRemoteAddress | filter | "We could use #filterWith:during: but that requires Flow." - filter := WAProtectionFilter new. + filter := WARemoteAddressProtectionFilter new. self session addFilter: filter. child inform: 'Open this page on a different computer by copying the complete URL to a machine with a different IP address. Seaside should reply with a forbidden message. Closing this dialog should remove the filter.' onAnswer: [ self session removeFilter: filter ] \ No newline at end of file diff --git a/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/renderActionsOn..st b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/renderActionsOn..st index 147a98ebd..1cacf8e35 100644 --- a/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/renderActionsOn..st +++ b/repository/Seaside-Tests-Functional.package/WAFilterFunctionalTest.class/instance/renderActionsOn..st @@ -7,7 +7,11 @@ renderActionsOn: html html text: ' (admin/seaside)'. html break. html anchor - callback: [ self protector ]; - with: 'Session Protector' ]. + callback: [ self protectorByRemoteAddress ]; + with: 'Session Protector by remote address'. + html break. + html anchor + callback: [ self protectorByBrowserSessionCookie ]; + with: 'Session Protector by session cookie' ]. html horizontalRule. html paragraph: self children \ No newline at end of file diff --git a/repository/Seaside-Tests-Functional.package/monticello.meta/version b/repository/Seaside-Tests-Functional.package/monticello.meta/version deleted file mode 100644 index 565a0b7b5..000000000 --- a/repository/Seaside-Tests-Functional.package/monticello.meta/version +++ /dev/null @@ -1 +0,0 @@ -(name 'Seaside-Tests-Functional-pmm.172' message '- add functional test for deprecation' id 'f4757c31-2032-0d00-a684-b59c0707b477' date '13 September 2018' time '12:49:07.821321 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.171' message '- found 20ms in WALotsaLinksFunctionalTest' id '962e5b52-0e96-4be9-a161-8b60d8e3a5f4' date '26 August 2016' time '10:09:21.620084 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.170' message '- direct rendering for numbers' id '81fdfefe-7bff-4989-b1c4-0c8f93e9b554' date '26 August 2016' time '8:57:34.97452 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.169' message 'Support inline CSS and JavaScript #839 - https://github.com/SeasideSt/Seaside/issues/839' id '5128a2c9-6e19-416e-ba8f-da355a400df2' date '21 August 2016' time '2:50:08.922968 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-JohanBrichau.168' message 'correction: datalist options should use the value attribute rather than nested text' id '9f3d948f-4670-4187-bfef-dc6f3e14294b' date '6 December 2015' time '11:31:35.18541 am' author 'JohanBrichau' ancestors ((name 'Seaside-Tests-Functional-JohanBrichau.167' message 'Fix incomplete functional test for html5 datalist. Thanks to Hilaire for spotting.' id 'f7295892-03d6-4d1d-b391-88cd9ae1c355' date '6 December 2015' time '10:21:27.104394 am' author 'JohanBrichau' ancestors ((name 'Seaside-Tests-Functional-pmm.166' message '- formatting - bug references' id 'cf5f6627-cc91-47a9-8eb6-be7f4e1ef657' date '14 July 2015' time '12:20:05.460422 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.165' message '- empty merge commit' id '1ca7e0ce-49ee-466f-a025-c00d8ed5499f' date '12 July 2015' time '10:35:35 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.164' message '#820 Configurations should not hold on to classes' id '94487524-8d17-4a8d-9fb9-d63dbb9384ea' date '12 July 2015' time '10:11:38 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.162' message '- lint fixes' id '780ca820-425c-4489-9706-04d6266202fc' date '19 August 2014' time '11:22:23 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.161' message 'Issue 763: Add support for srcset on img and source tag' id 'fd7b2ca1-9b59-466e-9613-cdf0d80b51c1' date '17 August 2014' time '8:23:47 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.160' message '- lint fixes' id '034ebe18-46b2-4f41-8e95-4e3e8b2afbff' date '16 August 2014' time '5:00 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.159' message '- fix tiger size' id '7108ebf0-7f70-4e4a-97d2-71e2d038e829' date '1 February 2014' time '5:38:31 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.158' message '- fix tiger URL' id '10293eae-f555-4f1e-ad6f-ed1199a0b93b' date '1 February 2014' time '5:35:47 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.157' message '- fine tune performance colors' id '9839ce1c-0e1f-400d-9253-8518337e5570' date '1 February 2014' time '5:27:21 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.156' message '- Slime' id '71fe90b1-6f24-4f2c-ab94-bbc087472724' date '14 September 2013' time '5:19:33 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.155' message '- Slime' id 'ba61b3b7-dd64-416c-9d11-06e0bb9d50d6' date '14 September 2013' time '5:05:42 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-JohanBrichau.154' message 'Moved Seaside-HTML5 to Seaside-Canvas and Seaside-Core' id 'fc89528c-d228-40e8-85e9-c508a1cf0168' date '12 September 2013' time '2:18:11.422 pm' author 'JohanBrichau' ancestors ((name 'Seaside-Tests-Functional-pmm.153' message 'Issue 749: Wrong handling of urls encoded in UTF8 http://code.google.com/p/seaside/issues/detail?id=749' id '7158f325-52c1-414a-8645-ff150ba6ffa1' date '8 September 2013' time '4:31:04 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.152' message '- Slime fixes, mostly recategorizations' id '3a22cae5-b0c9-4c33-8c70-d2f0c19dd72e' date '3 September 2012' time '4:40 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.151' message '- formatting Nazis from outer space' id '6dd445c3-a8a3-4947-838a-7f94342848c3' date '1 September 2012' time '5:23:48 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.150' message '- formatting Nazis from outer space' id '0ccb6362-bb2c-4e9f-8d67-1746f6cfc78b' date '1 September 2012' time '11:30:38 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.149' message '- merged' id '77632866-52dc-41e5-bfbf-73ec28eca698' date '5 May 2012' time '6:51 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.148' message '- Issue 727: walkback only works for exceptions in callback phase - http://code.google.com/p/seaside/issues/detail?id=727 - add way to fix rendering error - add post test' id '058b9798-ce33-458f-bf08-39455922cf68' date '5 May 2012' time '6:50:18 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.143' message '- merge with trunk' id '12209b2b-7d2b-47ff-828a-19153b5ae19c' date '23 August 2011' time '12:19:17 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.141' message '- Issue 592: investigate tracking sessions by SSL session id - add functional test for SSL session id' id 'd8c61fd0-369f-42aa-a961-d050b37fef03' date '14 August 2011' time '12:46:38 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.140' message '- merge with 3.0' id 'ac750e43-21c8-4f47-886a-95e29d0d65a4' date '6 August 2011' time '8:18:12 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.139' message '- remove deprecated methods and classes' id 'e3caff97-3d57-46a5-8886-7e7242acab53' date '2 August 2011' time '9:11:16 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.138' message '- fixed formatting of return message' id '3e092777-1e87-4e47-89f7-8489b7f41388' date '25 July 2011' time '8:21:17 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.137' message '- fixed spacing in blocks' id '50c65b26-bfd3-467d-b691-86c5d5fe3af8' date '25 July 2011' time '7:23:41 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.136' message '- Seaside-Tests-Functional-pmm.135 with new UUID' id 'fbb91f67-3e67-4be9-90f6-65c3b4927538' date '23 July 2011' time '8:26:07 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.133' message '- lint fixes' id '591168b7-3a73-4e42-97cb-e44c61269314' date '19 February 2011' time '11:09:58 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.132' message '- lint fixes' id '486a4808-e1a5-4df6-8292-e7a668cab3dc' date '18 February 2011' time '11:18:01 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.131' message '- lint fixes' id 'dc46a20a-21c4-4a22-a0f5-2f7931236b9a' date '16 February 2011' time '10:38:05 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.130' message '- formatting' id '66f735c6-8163-4fc3-8a42-0fcd190af343' date '8 February 2011' time '9:52:51 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-as.129' message 'Issue 639: merge WAHtmlCanvas and WARenderCanvas http://code.google.com/p/seaside/issues/detail?id=639' id '2268fa96-1f04-e841-91e7-172bf204a6e7' date '6 February 2011' time '10:17:59 pm' author 'as' ancestors ((name 'Seaside-Tests-Functional-pmm.128' message '- move keygen to HTML 5' id 'd27495e8-f5d4-44c3-afea-344d87c0cb65' date '2 February 2011' time '8:01:17 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.127' message '- move ruby to HTML 5' id '8b136ced-92eb-4920-81b2-a0faed623f6e' date '2 February 2011' time '7:55:54 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.126' message '- Issue 356: Add functional test for WAValidationDecoration - http://code.google.com/p/seaside/issues/detail?id=356' id 'bdbe5782-df57-494d-8e1c-8aad5865fa6e' date '19 December 2010' time '5:39:16 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.125' message '- Chrome has sometimes missing Content-Type on uploads' id 'ef8124e0-3440-40ea-b841-ed042c05ae89' date '31 October 2010' time '2:06:03 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.124' message '- don''t test character by character rendering for null codec' id '2dee6780-ab7f-41d9-b86d-a98b682b0a07' date '24 August 2010' time '6:58:45 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.123' message '- fixed bug with #with: causing date and time selectors appear twice (thanks to the annonymous reporter in the comments of the Seaside Book)' id '23f58081-124d-4605-81a3-d674c8c01cbf' date '2 August 2010' time '6:50:28 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.122' message 'add explicit dependency on Widgets' id '03bcb787-98c7-47c7-b78f-3ffb0014a83b' date '24 June 2010' time '11:22:53 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-obi.121' message '- fix comment' id 'a663fef8-12f3-564a-9ab3-8ecbb2b08ec7' date '13 June 2010' time '9:08:24 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-YM.120' message 'Fix redirection in expiry tests' id 'b50f16fb-eede-4218-a7f1-89b53a4f83b7' date '22 May 2010' time '11:47:48 pm' author 'YM' ancestors ((name 'Seaside-Tests-Functional-obi.119' message '- adjust some performance test values - add & to better test text rendering performance' id '60e6f2eb-f6e0-bd45-a20e-5e5c153086a7' date '21 May 2010' time '9:05:01 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-jf.118' message 'fix typo' id '489fcc39-a550-45e2-95c0-83239d9d6b48' date '22 February 2010' time '12:18:36 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.117' message '- added explicit repository url' id '2dcf3a12-20b6-4622-88a0-1acc2366d411' date '17 February 2010' time '3:51:06 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.116' message 'Properly fix http://code.google.com/p/seaside/issues/detail?id=544 I introduce a GROrderedMultiMap which specifically allows duplicate keys (GRSmallDictionary no longer does). This is used to implement WARequestFields, which is used throughtout for storing GET and POST fields. #at: will return the first matching field and #allAt: will return all matching values. Various renamings, fixes to callbacks, and to unit and functional tests. I also had to fix the Swazoo and Comanche server adaptors to correctly create WARequestFields instances for the POST fields and to correctly include the raw POST body in all cases (but it seems to be a ByteArray in Swazoo''s case and a ByteString or String for Comanche... seems not ideal)' id '2185bf15-e04e-48a8-a6d7-767fa0304e41' date '15 February 2010' time '9:33:11 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.115' message 'Bring WAUrl terminology in line with RFC 3986 (I got distracted on this while trying to work on fixing multiple fields with the same key). Leave old methods there marked as deprecated.' id '463bd778-6554-4eef-a505-d350e24f79e8' date '15 February 2010' time '2:52:53 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.114' message 'Let''s set a good example by properly namespacing our extensions to GRPlatform. Also tidy up and remove unused methods.' id 'ace0827e-ec89-4fd1-92a2-27edd9679fb7' date '9 February 2010' time '1:45:41 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.113' message 'http://code.google.com/p/seaside/issues/detail?id=405 Start storing the query fields in the Request URL and adjust accessors so that #queryFields returns those, #postFields returns the POST fields, and #fields returns a merge of the two. This is the simplest, least invasive implementation of this I could come up with. I still think we need to put some serious thought into how field merging and so on works.' id '8c2113ed-a3d6-482f-830d-16098712225b' date '31 January 2010' time '12:31:45 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.112' message 'http://code.google.com/p/seaside/issues/detail?id=488 Revert Seaside-Tests-Functional-dkh.92 (or at least some of it)' id '98a2ae41-1adc-4bfc-8625-c56e30d17acf' date '26 January 2010' time '2:00:15 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.111' message '- fixed some slime issues' id 'a30a2e68-3c71-4da9-b5d9-b406a317a74e' date '25 January 2010' time '11:41:21 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.110' message '- fixed various bugs in the radio button implementation - made radio buttons backward compatible - fixed some formatting issues' id '3e69ef59-e23a-48c0-b7a3-051663517b9b' date '25 January 2010' time '11:18:47 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.109' message '- fixed formatting - fixed custom selection (requires explicit registration)' id 'f1ea9ba5-9f84-4109-810e-cd0c02a578a4' date '23 January 2010' time '2:06:52 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-obi.108' message '- add custom list rendering test' id '4629c1b4-e245-1d4e-a302-f71b3c2d258b' date '19 January 2010' time '11:21:11 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-jf.107' message 'Tidy up naming and URLs for the various functional test suites. Hopefully this will make them easier to find for non-developers.' id '865ea112-0d73-40c6-b8ca-da94a511f119' date '11 January 2010' time '1:15:34 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-obi.106' message '- use renamed method' id '1ceb6630-f382-5843-87c7-ea8d4edb0b4e' date '1 January 2010' time '10:04:08 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.105' message '- simplify nested list rendering code' id '5040e91c-ad54-054e-bd8e-902b1977b11c' date '1 January 2010' time '9:49:25 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.104' message '- enable #selected: for radio group' id 'de186e0d-6cf1-9041-ac9a-2011b6718a80' date '31 December 2009' time '9:56:04 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.103' message '- use #value: instead of #callbackValue: for radio button' id '3cd63db3-d8fd-c042-8de4-d0453283f01d' date '31 December 2009' time '7:09:54 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.102' message '- use "callbackValue: each" instead of "value: (group valueFor: each)" for radio buttons ' id 'e586403c-1a7b-6a46-bad8-2aec69b70e19' date '31 December 2009' time '1:44:26 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.101' message '- get rid of WADispatchCallback - use new rendering technique for radio group' id 'd44d6c88-776c-5341-8cf6-d955c240d44d' date '30 December 2009' time '5:06:20 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.100' message '- fix issues 374: Select- and multi-select-list-items 279: Select List without #callbacks: http://code.google.com/p/seaside/issues/detail?id=374 http://code.google.com/p/seaside/issues/detail?id=279 - add nested multi selection test - change nested rendering code' id 'a58560b7-7de4-4544-a7b1-dea94301aa75' date '30 December 2009' time '2:53:17 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-Issue374-obi.99' message '- cleanup' id '2889c116-63e0-3243-ac14-f9ceb75e29aa' date '30 December 2009' time '1:37:58 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-Issue374-obi.98' message '- add nested multi selection test - change nested rendering code' id '21c3a062-a7b4-cb45-be63-424638d6177a' date '30 December 2009' time '11:08:07 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-jf.97' message 'merge' id '106197ff-6c55-4237-afba-d728838c171b' date '29 December 2009' time '5:00:15 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.96' message '- move Task stuff into Component package - no longer need special Flow configuration settings - Make parameter to onAnswer: blocks optional - Add #call:onAnswer: which does a #show:onAnswer: and then sends a render notification; rewrite #call: to use #call:onAnswer: - Make as few of the functional tests as possible depend on Flow' id '7ca49241-e9a4-4e7f-9e13-96c5a2ee4b78' date '29 December 2009' time '4:07:22 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.95' message '- http://code.google.com/p/seaside/issues/detail?id=507 - Issue 507: WAUrlEncodingFunctionalTest Parameter encoding fails - http://code.google.com/p/seaside/issues/detail?id=508 - Issue 508: WAUrlEncodingFunctionalTest instructions are incorrect' id 'ec58366b-7ecb-4e1b-95f3-a55c1d527fd7' date '5 December 2009' time '12:04:31 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-dkh.94' message '- update the comments with GemStone-specific info' id '438ce99d-10e3-4c76-ad3d-09c758aeedfd' date '23 November 2009' time '3:40 pm' author 'dkh' ancestors ((name 'Seaside-Tests-Functional-lr.93' message 'merged' id 'aec5175a-f796-4c2d-9e1a-9ead3d95243a' date '14 November 2009' time '6:14:26 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.92' message '- Issue 480: WAUploadFunctionalTest fails to load .txt file - http://code.google.com/p/seaside/issues/detail?id=480 - make WAFile more file WARequest' id '23ddc3d2-56f5-4d72-a813-65e50ea8e4e0' date '14 November 2009' time '4:52:11 pm' author 'pmm' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-dkh.92' message '- fix bug http://code.google.com/p/seaside/issues/detail?id=488' id '197e94d9-78c0-42e8-8d8b-7818c6c2016a' date '13 November 2009' time '3:48:48 pm' author 'dkh' ancestors ((name 'Seaside-Tests-Functional-jf.91' message 'Deprecate now-confusingly-named WARequestHandler>>baseUrl in favour of #url' id 'dd2eb6f7-df6f-40e1-b36f-08ff2d75ee54' date '3 November 2009' time '1:25:21 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.90' message 'Rename Seaside-Platform to Grease in order to help make clear that it is not Seaside-specific and can be used by other projects as a compatibility layer. This was spawned by discussions when I started porting Magritte to VAST using the Platform layer.' id 'fbd8690d-8ba0-4958-aa8c-c4f8c4d2ab88' date '30 September 2009' time '10:54:59 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.89' message '- formatting' id 'ffaf8d90-41cd-4d4f-9d56-8f0a592e0286' date '20 September 2009' time '11:35:48 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.88' message '- fix parameter functional test' id 'b9fa5f60-096d-4acd-bff4-b47efba00261' date '6 September 2009' time '2:31:25 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.87' message '- Issue 458: Need a functional test for WARequest>>body - http://code.google.com/p/seaside/issues/detail?id=458' id 'c52d761f-6c49-4a3b-a92a-75674fcc4867' date '6 September 2009' time '1:36:21 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.86' message '- add #nextIfPresentDo: to path consumer' id '1460c175-42a0-431e-805a-738e90475d90' date '1 September 2009' time '9:04:51 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.85' message '- Issue 440: provide access to unconsumed path element - http://code.google.com/p/seaside/issues/detail?id=440' id 'e7276469-c0cd-421f-a2b6-0cec661e8fe3' date '31 August 2009' time '3:27:23 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.84' message '- renamed the string ''Squeak'' in package names to ''Pharo'' (see Issue 433) ' id 'd160f203-bdb4-4269-9199-1aa5753cb6f6' date '30 August 2009' time '5:52:52 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.83' message '- added functional test for tailing slash' id '65d14aa3-9ce1-436e-b265-c3431945acbf' date '15 August 2009' time '11:15:38 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.82' message '- coding conventions' id 'c964c2e4-6f74-4b08-aeb9-1752089a4dd7' date '5 July 2009' time '1:28:41 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-obi.81' message '- extend WAInputFunctionalTest to test also the titles: functionality see http://code.google.com/p/seaside/issues/detail?id=375' id '528388d1-51b8-fc45-a0e1-33f232ca2abf' date '4 July 2009' time '9:23:16 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-lr.80' message '- fixes: Issue 363: WAPopupFunctionalTest issues - assign an answer handler that closes the window' id '24e139b6-f018-4451-9c8f-76988e321f36' date '29 June 2009' time '10:37:28 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.79' message '- fixed http://code.google.com/p/seaside/issues/detail?id=389 - image url was wrong' id 'd9543b0f-35b6-4980-98b8-4a2bc7758963' date '14 June 2009' time '1:13:34 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.78' message '- fixed categorization' id '83f01374-2e47-4d53-86fa-c6c43e6da70e' date '15 May 2009' time '6:31:36 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.77' message '- replace some users of #asString with platform independent #seasideString - fixed some Slime issue' id '1c3fff68-462d-4796-aa41-ebf47730b1be' date '26 April 2009' time '7:11:03 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-obi.76' message '- use inline rendering for performance tests' id 'a0f2f4d5-8857-9149-9098-1533751f63e7' date '13 March 2009' time '9:33:21 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.75' message '- show number of iterations' id 'b332e614-7e27-4245-a9eb-d305ec86dbae' date '12 March 2009' time '7:46:43 am' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.74' message '- use reference values for performance tests' id '28a4b49b-2206-cc4c-9499-8d9d885321c2' date '11 March 2009' time '9:33:21 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.73' message '- reordering performance tests' id '0313e27f-8eaa-8644-a550-7be76ff2ab96' date '11 March 2009' time '12:51 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.72' message '- use better timing for WAPerformanceFunctionalTest' id 'f7cc2371-187d-674c-9c9f-75b59fe28de6' date '10 March 2009' time '11:59:17 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.71' message '- added WAPerformanceFunctionalTest' id '4aef2e46-bfd1-7548-a918-2021e6b6650a' date '10 March 2009' time '9:43:29 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.70' message '- fixed misspelling at WALotsaLinksFunctionalTest' id '6e0e38fb-f17b-1d46-b99c-cafec82a94fd' date '10 March 2009' time '8:25:18 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.69' message '- removed unsent method' id '0a719e53-dffc-4c42-ae8b-06b85c8abd84' date '8 March 2009' time '7:30:31 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.68' message '- Removed test component for "closeThisPopup" from Functional Tests' id '7193a5e1-89ab-0d4b-984a-3daa92b52f89' date '8 March 2009' time '5:53:03 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-obi.67' message '- add test for "closeThisPopup" # see http://code.google.com/p/seaside/issues/detail?id=299' id 'bb0510c3-c6e1-1f46-ade7-c62cf12fc90d' date '8 March 2009' time '5:14:48 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-lr.66' message '- fixed various lint issues' id '00881d08-a3a1-4415-a335-640004077a65' date '5 March 2009' time '9:18:09 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.65' message 'Remove dependency of WAExceptionFilter on Session and move it into the Core package. Have it store its own configuration. Still no UI for actually configuring it but I''ll do that next. In the meantime, Applications added with WAAdmin will have a new named configuration added to the filter so that can be used to change the exception handler for *all* applications. You''ll need to clear your config cache and reload your applications after loading this.' id '5ac1dfcb-9849-4333-8c0d-92aae56f297e' date '4 March 2009' time '11:14:49 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.64' message '- fixed various slime/lint issues that went unnoticed so far because of a bug in the refactoring engine' id '7a565861-2d27-4bd8-bd3c-f204d7463e25' date '28 February 2009' time '11:19:55 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.63' message '- the input tests should also test hidden input fields' id '678b651d-709d-47df-a34d-da602c353b5a' date '22 February 2009' time '3:33:29 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.62' message '- added a file input to WAInputElementContainer to be able to tests its behavior in different scenarios - renamed WAGetInputFunctionalTest to WAInputGetFunctionalTest, WAInputFunctionalTest to WAInputPostFunctionalTest and WAMultipartInputFunctionalTest to WAInputPostMultipartFunctionalTest so that they show up in the functional next to each other - improved the explanation in WAInputGetFunctionalTest, WAInputPostFunctionalTest and WAInputPostMultipartFunctionalTest' id '7208c213-c7cd-4e7c-960c-ccdc79265d8d' date '22 February 2009' time '3:15:53 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.61' message 'http://code.google.com/p/seaside/issues/detail?id=339 Remove all (I think) dependencies from Seaside-(Squeak-)Test-Functional and Seaside-(Squeak-)WebTools on Seaside-(Squeak-)Flow WebTools should now be useable on platforms without continuations. I had to add a dependency from the Development packages on Flow because the WalkbackErrorHandler just won''t work without a Continuation.' id '6f476bea-7a26-44c8-9092-876830a98fec' date '21 February 2009' time '4:08:14 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.60' message 'Replace senders of "aRenderer context actionUrl" with "aRenderer actionUrl"' id 'ecee6a2d-dcc8-4bd9-9dec-49c19b316743' date '21 February 2009' time '10:45:52 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.59' message 'Fix behaviour description in functional tests after solving http://code.google.com/p/seaside/issues/detail?id=324' id '08eeb03c-e60a-4bc3-baaf-b20eed9df854' date '20 February 2009' time '3:07:06 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.58' message 'Fix http://code.google.com/p/seaside/issues/detail?id=310 Store the root component in the Session property dictionary rather than in the RenderLoopContinuation. This means we no longer need #inNewRenderLoopShow: and #inNewRenderLoopCall:. Instead you can just do "self session presenter show:" This has the additional benefit of making sure the old root component still gets snapshotted.' id 'd5342efc-dd23-43fb-8cf6-96be00f303bf' date '20 February 2009' time '12:13:04 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.57' message 'http://code.google.com/p/seaside/issues/detail?id=215 Move #filterWith:during:, #authenticateWith:during:, and #isolate: on Component into the Seaside-Flow package. And move a Functional test that was using #isolate: into Seaside-Tests-Flow-Functional' id 'ecb99e29-aeff-2e46-b9d2-5cdf746f0c1b' date '9 February 2009' time '5:30:07 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.56' message 'add a (hacky) test for signaling an error during rendering ( currently broken - see http://code.google.com/p/seaside/issues/detail?id=340 )' id '7f2d4041-7246-0f4c-a464-e8b47a8f633c' date '8 February 2009' time '10:41:36 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.55' message 'correct spelling... the plural of codec should be codecs (a codex is something else)' id '485040ac-1819-4915-b216-d1f13ec33c6e' date '7 February 2009' time '8:34:24 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.54' message '- WACode refactoring so that it can potientially work on streams and so that it does not depend on semaphores - WAServerAdaptor cleanup (for details see http://lists.squeakfoundation.org/pipermail/seaside-dev/2009-February/002778.html)' id '19542aa6-aba5-4839-80e9-e42667030f1a' date '7 February 2009' time '1:13:19 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.53' message '- fixed some compatibility issues with ANSI streams' id 'a8eee8a4-fcc0-44b8-9529-c2e38944dc0d' date '4 February 2009' time '11:38:36 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.52' message 'break some circular dependencies' id 'd7ef9d78-c7aa-4a91-a1cf-7788de29774a' date '1 February 2009' time '10:13:40 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.51' message '- removed unnecessary calls to #call: - removed tests that test flow functionality' id '6cd6f955-98b7-44cc-8088-4a92aea229c3' date '24 January 2009' time '9:28:52 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.50' message 'http://code.google.com/p/seaside/issues/detail?id=164 Put test for platform #garbageCollect method in Seaside-Tests-Functional ' id 'fde2c2e8-7b6d-462a-8ffb-a82b9af8db74' date '23 January 2009' time '8:13:31 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.49' message 'remove tests in WAErrorFunctionalTest which returned nil and Object. This behaviour is no longer possible with the response refactoring.' id 'effa43b1-7171-46b8-8824-3aeaa8fd6913' date '23 January 2009' time '4:39:09 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.48' message '- don''t do a redirect for adding cookies' id '0e88af6b-15c7-4b1a-99ef-18667dfff254' date '22 January 2009' time '10:49:59 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-jf.47' message 'As debated at the Konstanz sprint and touched upon in http://code.google.com/p/seaside/issues/detail?id=221, move Platform methods to instance side and implement WASqueakPlatform as a subclass of WAPlatform. This allows us to provide default implementations where possible, helps document which methods are required, and means that we have a class as our global instead of the un-namespace "SeasidePlatformSupport". In case it is useful, the refactoring code was: "The refactoring:" WASqueakPlatform class selectors do: [ :ea | (ORSwapMethodRefactoring swapMethod: ea in: WASqueakPlatform class) execute ] "The renaming:" (ORSourceRegexRefactoring new replace: ''SeasidePlatformSupport'' with: ''WAPlatform current''; yourself) execute' id '763f7779-83c4-4c86-8f1d-5805e8a744b7' date '22 January 2009' time '3:01:41 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.46' message 'fix cookie functional tests to work with rendering refactoring' id '4c540d74-8847-4259-a566-d19b5beb4c9c' date '21 January 2009' time '11:09:12 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.45' message 'In discussions with Lukas last night I realized that the error handler is holding onto the request context and this could be a problem with continuations. This adds a functional test that confirms whether error handling works properly after a call: (it currently doesn''t)' id 'b1511733-698a-49f2-ada2-8690fd5d8ce0' date '14 January 2009' time '12:20:41 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.44' message 'Lukas says javascript links need "url: ''#''" now...' id 'efdcc39d-ab7f-4031-aaea-31c50e7ba25c' date '12 January 2009' time '11:43:40 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.43' message '- removed deprecation functional test' id '93383106-c3e3-4e27-b62e-eb1a46b487ed' date '2 January 2009' time '2:27:09 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.42' message '- added WADeprecationFunctionalTest' id '3aa3c0e6-b154-46fa-92ac-b42d8657d17a' date '1 January 2009' time '7:49:29 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.41' message '- merged' id '1f8f6724-504b-4879-83ba-ce4076743576' date '1 January 2009' time '6:47:38 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.36' message '- better explanations' id 'a1bc4014-40a9-4c14-810d-cc5a8500eb82' date '1 January 2009' time '6:18:02 pm' author 'pmm' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-lr.40' message '- added slime rule to detect invalid or incomplete senders of #seasideDeprecatedApi:details: - fixed callers of #seasideDeprecatedApi:details:' id 'a915ec67-2b98-4811-8462-4071e91bbf66' date '30 December 2008' time '1:02:02 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.39' message '- removed WAHtmlFunctionalTest as it was calling deprecated functionality and there are serveral more specific fixtures that test the same functionality' id 'ff326549-cd70-4645-b17c-f283d6262112' date '27 December 2008' time '6:17:02 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.38' message '- removed WALinkSubmitFunctionalTest that only tests deprecated Javascript functionality' id '1481eeae-212c-4f7c-821e-fc946f41444f' date '27 December 2008' time '6:10:33 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.37' message '- removed unrelated and deprecated functionality tests from WADateTimeFunctionalTest' id '282d1b5b-a632-4db6-a176-155bf6405239' date '27 December 2008' time '6:08:10 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.36' message '- do not use deprecated javascript cruft anymore - added missing checkbox and radio button to WAInputElementContainer' id '4808fe31-6fb8-40a9-b007-e58caa95a18a' date '27 December 2008' time '5:43:36 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.35' message '- made WAAllTests URL handling more robust: * look at first element in the relative path instead of the last element in the path, some tests add stuff to the path * don''t do mixed String/Symbol equality comparison (class names)' id '81b48522-96fe-4215-b09a-f6de0f6cd5c6' date '7 December 2008' time '6:44:36 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.34' message '- made the functional tests restful - some formatting fixes while playing with WAExpiryFunctionalTest' id '7ca61bb5-15c5-4d3d-af85-e2d3c808ff0f' date '2 December 2008' time '8:44:38 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.33' message '- cleanup of method protocols - fixed inconsistencies' id '7f6059ac-f2f7-427d-af48-7e19e2be4631' date '29 November 2008' time '2:14:57 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jok.32' message 'update dependencies -- Seaside-Test-Core required due to references to WATestingFiles class.' id 'd8f9ccf1-e2b7-ad47-b0fb-ab1fd43edc99' date '28 November 2008' time '4:04:11 pm' author 'jok' ancestors ((name 'Seaside-Tests-Functional-lr.31' message '- fixes Issue 219: Why does WADecorationTask override #updateStates: ?' id '00cda7be-dda4-44b4-b6d3-047e2b9673d9' date '28 November 2008' time '4:41:15 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-pmm.30' message '- HTML validation' id 'f97cf6d8-ee79-4ce6-a007-a13678e5bd2c' date '14 November 2008' time '10:36:07 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-lr.29' message '- fixed the comment for the deprecation error test' id '6f7bfc03-d6c4-4d8a-8858-84a50104232d' date '12 November 2008' time '8:12:13 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.28' message 'merged' id 'b2e2ccd2-8a63-4575-b022-4c1c95be6f1a' date '11 November 2008' time '11:38:05 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.27' message '- fixed unknown message send - fixed some slime complaints' id '66dde118-13e3-4d94-aea5-fabd00b5530d' date '11 November 2008' time '11:37:36 pm' author 'lr' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-pmm.27' message '- tests for key generator' id '10d4c11d-69f1-4919-9b46-2205591a4178' date '11 November 2008' time '11:12:11 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.26' message '- merged' id 'addaa945-c40f-4ff2-9bb4-9d8b365d263e' date '8 November 2008' time '1:55:02 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.25' message '- test for codec instead of server' id 'd83ad90a-20cd-447b-bf49-0a6cef9c1ff4' date '8 November 2008' time '1:30:50 pm' author 'pmm' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-jf.26' message 'http://code.google.com/p/seaside/issues/detail?id=227 Reintroduce previous ExceptionHandler refactorings but with a few changes to satisy complaints in this issue: + Most ErrorHandlers no longer catch Halts + The only one that does is WAHtmlHaltAndErrorHandler, which is in a Squeak-specific package, which removes the need for the platform #haltClass method. This handler can be used or subclassed in production + Code to resume WARequestContextNotFound was moved up to the top-level WAExceptionHandler so that stepping over #requestContext will work in a debugger, even when not using a DebugErrorHandler + The text in the functional tests was updated to indicate that the results are handler- (and occasionaly platform-) specific' id '1053f0fc-51e2-0644-88db-3cf2048a87fa' date '12 November 2008' time '1:43:44 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.25' message 'http://code.google.com/p/seaside/issues/detail?id=227 Apparently my exception handler refactoring broke many things in various ways. Revert everything back to the old error handler mechanism (adapted for changes to session and render loop).' id 'd382ecaf-ef6d-8a4a-a3ea-b055268f0df2' date '7 November 2008' time '11:06:12 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.24' message '- SLint fixes' id '5b514c7c-ab77-4b3c-b78e-879d508a02e9' date '5 November 2008' time '2:36:47 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.23' message '- merged' id '10586de2-d3fb-4f16-a836-907bf0a144f6' date '5 November 2008' time '2:30:43 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.19' message '- SLint fixes' id '701cb6c0-e599-4020-b0fd-5d0ba5ab04f0' date '5 November 2008' time '1:56:59 pm' author 'pmm' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-jf.22' message 'The goal of WARequestContext is to be a decoupling interface between request handlers and whatever wants the request handled. Rather than storing the server adaptor itself in the request context, it is therefore cleaner to make sure that the request context holds all information that needs to be exchanged. In fact, there is essentially no protocol common to all server adaptors that could be useful to a request handler and there were no users of WARequestContext>>server other than to get the codec. This series of commits therefore changes WARequestContext to hold the codec that was used to decode the request and stops storing the server adaptor on the context. If it turns out that people *do* want server-adaptor-specific information in their code, server adaptors could use custom subclasses of WARequestContext to provide it.' id 'd6879e34-feca-8647-93d4-9aa0b044f3e7' date '5 November 2008' time '10:27:19 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.21' message 'add functional test for WATrail' id 'f46631ac-35a4-0845-a33b-d2ed76dbdcb8' date '4 November 2008' time '11:56:55 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.20' message '- removed WARequestHandler>>#isFiltered, it is not used anywhere' id '593336b8-1865-48b1-bd77-518e6aacea28' date '4 November 2008' time '9:25:15 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.19' message 'Merge in the painterrenderer branch' id 'dbb79daa-0663-6d4d-8fd5-54d8e0d4066e' date '3 November 2008' time '10:22:35 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.18' message '- removed initializers of functional tests that registered themselves as applications' id '2383836c-71df-423e-9bc8-03f50d85bc7e' date '1 November 2008' time '6:16:37 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.17' message 'signal a discriptive error when the render phase fails to generate a response. This avoids seing the server adaptor''s default error response when a nil response is generated. #possibleCauses is implemented to explain that the user is probably doing a #call: from a render method. Also add a functional test to allow us to test the behaviour of calling from within a render method.' id 'caaddcd6-b5c3-2148-b416-ebad8b40e5bb' date '28 October 2008' time '10:21:02 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.16' message 'http://code.google.com/p/seaside/issues/detail?id=213 It was really annoying to have the Session automatically register itself in the Application. The caused weirdness when unregistering a session - the render phase would then cause the session to re-register itself under a new key. To fix this, WAApplication now registers the session when it is created and the session should not re-register itself. Added #keyFor:ifAbsent: and #urlFor:ifAbsent: as well as #keyFor: and #urlFor: which signal a WAUnregisteredHandlerError if the handler is not found. Change senders of #urlForRequestHandler:addHandlerField: and #ensureKeyForHandler: to use these new methods. The RenderLoopContinuations now catch this error and redirect to a new session. If you want to redirect somewhere else, you should call WARequestContext>>redirectTo: after unregistering the session. Also rename several methods on WARegistry to get a more consistent interface, both internally and with WADispatcher) and deprecate the old versions (plus changed senders).' id '76afe0bf-32e8-684a-aa40-b94623a07d9d' date '27 October 2008' time '5:45:21 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-pmm.15' message '- more valid HTML' id '99de9588-c0f6-4d28-98f8-c7e9e273d7a9' date '26 October 2008' time '11:46:40 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-jf.14' message 'http://code.google.com/p/seaside/issues/detail?id=209 Fix senders of deprecated #registerAsApplication:' id '4a9b99dd-288b-0444-b236-b5855cce65ad' date '26 October 2008' time '6:15:04 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.13' message '- updating package information' id '7402ab1e-69af-40f4-8060-33124bdfd56f' date '23 October 2008' time '10:10:20 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.12' message 'Added my best guess at package dependency information (please fill in descriptions)' id 'f10408f2-2ec9-364a-b46b-3e8caf99bf98' date '23 October 2008' time '12:37:36 pm' author 'jf' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-jf.painterrenderer.3' message 'put #visiblePresentersDo: back for now implemented in terms of visitors... the code is too ugly for the few pluggable cases at the moment otherwise.' id '10922331-7d50-1c44-8a50-9d471ebfb5d4' date '22 October 2008' time '4:19:59 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.painterrenderer.2' message 'fix senders of #visiblePresentersDo: But see http://code.google.com/p/seaside/issues/detail?id=219' id 'eb5f133d-3aa6-4545-96c1-ee0bfb8b94ec' date '22 October 2008' time '1:57:36 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.painterrenderer.1' message 'change a test to use painter/component visitors' id 'c8a18671-9ab4-4b4b-b210-db90a7aa1fa3' date '22 October 2008' time '1:48:31 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-lr.11' message 'merged' id 'd73324a9-7c2a-4794-9682-ae083c416b5f' date '19 October 2008' time '9:07:05 am' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.10' message 'remove dependency from Seaside-Tests-Functional package on Seaside-Examples package by having 3 functional tests use something other than WACounter for embedding and so on.' id '1764b691-04a0-6a42-94d5-838bc208bd73' date '18 October 2008' time '10:46:01 pm' author 'jf' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-lr.10' message 'merged' id '2e6962c1-0f76-4655-b945-722fb987f0c5' date '18 October 2008' time '9:15:04 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-lr.8' message '- removes unused var' id '35b15eec-dd16-4721-b0fe-36451b457b69' date '18 October 2008' time '8:59:34 pm' author 'lr' ancestors ((name 'Seaside-Tests-Functional-jf.7' message 'changes to work with render loop refactoring' id '39e7bc1c-a9ae-b64b-ad67-8901c720beb2' date '18 October 2008' time '11:31:18 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.6' message 'add functional test to simulate what would happen if a user tried to get tricky and started submitting select list options to the wrong list callback. There is potential here, if the handling of these callbacks was ever changed, to introduce a security vulnerability where Seaside would naively load the requested object and pass it into the wrong callback.' id '5f12146a-7577-b741-a413-0c4c9a4cd815' date '8 October 2008' time '11:59:10 am' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.5' message 'fixed send to deprecated method #owner' id 'd7e75861-eaac-7a46-abae-78f88bb53018' date '7 October 2008' time '10:33:20 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.4' message 'http://code.google.com/p/seaside/issues/detail?id=175 Change sender of WASession>>expire to use #unregister. The behaviour is not quite the same, though. Unless you redirect immediately, the session just gets re-registered. This is kind of unfortunate but works for now in this case. Also add redirects after the other actions (clear cache, etc) that result in our session being unregistered, otherwise we see the same behavioural problem. Remove the session expiry seconds edit box, since that setting has no effect now.' id 'cd94de55-96f6-4b4c-b108-461e876600ca' date '7 October 2008' time '6:56:58 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-obi.3' message '- WAHTmlFunctionalTest set columns for Hello World TextBox' id '79246568-68b4-544e-9f58-2cc8f3adc606' date '6 October 2008' time '10:31:39 pm' author 'obi' ancestors ((name 'Seaside-Tests-Functional-jf.2' message 'Clean up WATestingFiles and adjust users of it.' id 'f9fffca6-0ebf-4d4e-8f04-a3231c2df18b' date '6 October 2008' time '5:36:30 pm' author 'jf' ancestors ((name 'Seaside-Tests-Functional-jf.1' message 'split up tests' id '81c5dfd2-fc60-9144-bb39-4d26d3e48173' date '6 October 2008' time '1:27:45 pm' author 'jf' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-pmm.9' message '- merged' id '4769c44b-8f17-41ce-bd6a-9b0f44f365cb' date '18 October 2008' time '8:18:53 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.8' message '- SeasidePlatformSupport garbageCollect instead of Smalltalk garbageCollect' id '6d9801ef-6c30-45fe-bdd3-a52789226921' date '18 October 2008' time '6:21:25 pm' author 'pmm' ancestors () stepChildren ())(name 'Seaside-Tests-Functional-jf.8' message 'http://code.google.com/p/seaside/issues/detail?id=100 Cleanup responding and redirecting methods on WASession. Most went to WARequestContext and were deprecated on WASession (a few were renamed on the way). A couple were deleted. See the issue for details.' id 'b55d16d0-0092-ae4e-b2a3-571d8ddf7c25' date '18 October 2008' time '6:17:24 pm' author 'jf' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-lr.96' message '- do not use any longer #printOn: and #printContentOn: in JSObject, but use #javascriptOn: and #javascriptContentOn: - implementors of external libraries that implment or send any of these methods need to perform the renaming as well' id '212be911-3f14-4d88-ac15-834b010fcff6' date '24 December 2009' time '11:24:59 am' author 'lr' ancestors ((id 'ec58366b-7ecb-4e1b-95f3-a55c1d527fd7')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-obi.139' message '- fix http://code.google.com/p/seaside/issues/detail?id=617 - use scale method - update Reference System' id 'c5843c25-95f5-cd41-816d-9ee898b91d07' date '3 August 2011' time '8:47:10 pm' author 'obi' ancestors ((id '3e092777-1e87-4e47-89f7-8489b7f41388')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-pmm.142' message '- Issue 678: an iframe should be more like a pop up - move WAIframeTag >> #callback: from Scriptaculous to Canvas' id '204b190f-6ef9-416e-8817-f6099498ea68' date '23 August 2011' time '12:05:20 pm' author 'pmm' ancestors ((id 'c5843c25-95f5-cd41-816d-9ee898b91d07')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-pmm.147' message '- formatting nazis from the dark side of the moon' id 'f6f96a8a-52dc-4ad0-ba8d-6848b6b93e10' date '19 February 2012' time '11:32:53 am' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.146' message '- added functional test to WADateTable' id '83cca07b-a15d-4706-8ad7-789042d571c4' date '22 January 2012' time '9:50:06 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.145' message '- formatting nazis from outer space' id '9365205c-1101-4b7d-b14a-4aaa9b7602d4' date '22 January 2012' time '5:02:57 pm' author 'pmm' ancestors ((name 'Seaside-Tests-Functional-pmm.144' message '- set page title for functional tests' id '21631988-0f9d-4db9-b0ad-640990cfb7a2' date '28 September 2011' time '7:16:26 pm' author 'pmm' ancestors ((id '12209b2b-7d2b-47ff-828a-19153b5ae19c')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Seaside-Tests-Functional-pmm.163' message '- render more request headers' id '4acf5476-8b01-4543-b08c-953d27829aab' date '12 November 2014' time '7:04:01 pm' author 'pmm' ancestors ((id '780ca820-425c-4489-9706-04d6266202fc')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file