Hi Ben,

I'm on holidays for a week now. I'll let you know when I'm back.

cheers

Kai

--- Original Nachricht ---
Absender: Ben Gunter
Datum: 17.08.2007 01:12
> That's odd...I can't reproduce this using the same extension-mapping 
> configuration you have. What does your @UrlBinding, servlet mapping, 
> etc. look like? Also, I just made one more minor tweak so please update 
> and test again.
> 
> -Ben
> 
> Kai Grabfelder wrote:
>> Hi Ben,
>>
>> no problem and thanks for the change. Unfortunatly you must have changed 
>> something else with the 590 revision,
>> because now I'm getting an endless loop in the rewriteRequest method / the 
>> Stripes Filter which seems to call
>> itself in a loop.
>>
>> Any ideas?
>>
>> Regards
>>
>> Kai
>>
>> Thread [btpool0-3] (Suspended (breakpoint at line 322 in StripesFilter))     
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 322      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 201       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  Dispatcher.forward(ServletRequest, ServletResponse, int) line: 268  
>>  Dispatcher.forward(ServletRequest, ServletResponse) line: 126       
>>  StripesSecurityFilter(StripesFilter).rewriteRequest(HttpServletRequest, 
>> HttpServletResponse) line: 325      
>>  StripesSecurityFilter(StripesFilter).doFilter(ServletRequest, 
>> ServletResponse, FilterChain) line: 200       
>>  ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 
>> 1089     
>>  ServletHandler(ServletHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 365       
>>  SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 216      
>>  SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 181       
>>  WebAppContext(ContextHandler).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 712        
>>  WebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) 
>> line: 405        
>>  ContextHandlerCollection.handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 211     
>>  HandlerCollection.handle(String, HttpServletRequest, HttpServletResponse, 
>> int) line: 114    
>>  Server(HandlerWrapper).handle(String, HttpServletRequest, 
>> HttpServletResponse, int) line: 139       
>>  Server.handle(HttpConnection) line: 285     
>>  HttpConnection.handleRequest() line: 502    
>>  HttpConnection$RequestHandler.headerComplete() line: 821    
>>  HttpParser.parseNext() line: 513    
>>  HttpParser.parseAvailable() line: 208       
>>  HttpConnection.handle() line: 378   
>>  SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() line: 
>> 368     
>>  BoundedThreadPool$PoolThread.run() line: 442        
>>
>>
>>
>> --- Original Nachricht ---
>> Absender: Ben Gunter
>> Datum: 16.08.2007 14:39
>>   
>>> The change is in.
>>>
>>>     Revision: 598
>>>               http://stripes.svn.sourceforge.net/stripes/?rev=598&view=rev
>>>     Author:   bengunter
>>>     Date:     2007-08-16 05:36:00 -0700 (Thu, 16 Aug 2007)
>>>
>>>     Log Message:
>>>     -----------
>>>     Backed out a change from revision 590 that forwards to the @UrlBinding 
>>> base path instead of to the original request URI. If DispatcherServlet is 
>>> mapped to an extension and that extension is specified in a trailing 
>>> literal in @UrlBinding (e.g. /some/action/{foo}.bar), then the extension is 
>>> lost on forward and thus is not invoked in such a scenario.
>>>
>>> -Ben
>>>
>>> Ben Gunter wrote:
>>>     
>>>> Kai, sorry for the slow response. I've been crushed at work lately. 
>>>> That change was intended to be a performance enhancement. The idea was 
>>>> that if I use the base URL on forward then the filter won't have to go 
>>>> through the process again of trimming down the URL until it finds the 
>>>> longest matching @UrlBinding.
>>>>
>>>> It took me a few minutes, but now I understand how this has broken 
>>>> your code. You're mapping to an extension, and the extension is not 
>>>> there on the forward. It does look like it needs to be changed back. 
>>>> Oops...
>>>>
>>>> -Ben
>>>>
>>>> Kai Grabfelder wrote:
>>>>       
>>>>> Hi there,
>>>>>
>>>>> any news about this? What about other stripes users: is the clean url 
>>>>> stuff
>>>>> still working for you?
>>>>>
>>>>> Regards
>>>>>
>>>>> Kai
>>>>>
>>>>> --- Original Nachricht ---
>>>>> Absender: Kai Grabfelder
>>>>> Datum: 10.08.2007 21:26
>>>>>   
>>>>>         
>>>>>> Hi Ben,
>>>>>>
>>>>>> Revision 590 (StripesFilter) broke the clean urls stuff for me. Here is 
>>>>>> the story:
>>>>>>
>>>>>> the url mapping on my action bean looks like this:
>>>>>> /community/user/{id}/index.htm
>>>>>>
>>>>>> I try to open the following url /community/user/foo/index.htm
>>>>>>
>>>>>> I have the following mappings in the web.xml:
>>>>>>
>>>>>> <servlet-mapping>
>>>>>>  <servlet-name>StripesDispatcher</servlet-name>
>>>>>>  <url-pattern>*.htm</url-pattern>
>>>>>> </servlet-mapping>
>>>>>>
>>>>>> <filter-mapping>
>>>>>>   <filter-name>StripesFilter</filter-name>
>>>>>>   <url-pattern>*.jsp</url-pattern>
>>>>>>   <dispatcher>REQUEST</dispatcher>
>>>>>> </filter-mapping>
>>>>>> <filter-mapping>
>>>>>>   <filter-name>StripesFilter</filter-name>
>>>>>>   <url-pattern>*.htm</url-pattern>
>>>>>>   <dispatcher>FORWARD</dispatcher>
>>>>>> </filter-mapping>
>>>>>>
>>>>>> Before revision 590 the url for rewriting looked like this:
>>>>>> url = new StringBuilder(request.getRequestURI());
>>>>>>
>>>>>> now it looks like this:
>>>>>> url = new StringBuilder(binding.getPath());
>>>>>>
>>>>>> This can't obviously work because afterwards he is trying to do a 
>>>>>> forward to
>>>>>> /community/user/?id=foo
>>>>>>
>>>>>> before it would have been
>>>>>> /community/user/foo/index.htm?id=foo
>>>>>>
>>>>>> Any idea how this can be fixed? Maybe by adding the suffix of the 
>>>>>> original
>>>>>> request to the url that is forwarded?
>>>>>>
>>>>>> Many thankx in advance
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> Kai
>>>>>>       
>>>>>>           
>>>
>>> ------------------------------------------------------------------------
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Splunk Inc.
>>> Still grepping through log files to find problems?  Stop.
>>> Now Search log events and configuration files using AJAX and a browser.
>>> Download your FREE copy of Splunk now >>  http://get.splunk.com/
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Stripes-development mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>>     
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems?  Stop.
>> Now Search log events and configuration files using AJAX and a browser.
>> Download your FREE copy of Splunk now >>  http://get.splunk.com/
>> _______________________________________________
>> Stripes-development mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>   
> 
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Stripes-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-development


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to