olafk opened a new pull request #1: fixed typos
URL: https://github.com/apache/tomcat-training/pull/1
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL
markt-asf closed pull request #1: fixed typos
URL: https://github.com/apache/tomcat-training/pull/1
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork),
markt-asf commented on issue #1: fixed typos
URL: https://github.com/apache/tomcat-training/pull/1#issuecomment-380584325
Thanks for this. I only spotted one of these. Much appreciated.
This is an automated message from the
michael-o closed pull request #151: Fix wrong protocol version usage
URL: https://github.com/apache/tomcat/pull/151
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub
michael-o commented on issue #151: Fix wrong protocol version usage
URL: https://github.com/apache/tomcat/pull/151#issuecomment-478929533
As per discussion, closing this one.
This is an automated message from the Apache Git
paplorinc commented on a change in pull request #143: Apply deduplication to
certain loaded and created Strings
URL: https://github.com/apache/tomcat/pull/143#discussion_r269449223
##
File path: java/org/apache/tomcat/util/digester/SetPropertiesRule.java
##
@@ -62,7 +59,7
markt-asf commented on issue #149: Adding ReDoS warning/documentation to
RewriteValve
URL: https://github.com/apache/tomcat/pull/149#issuecomment-475172395
That page is generated from this file:
https://github.com/apache/tomcat/blob/master/webapps/docs/rewrite.xml
markt-asf commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-475197867
Hmm. If you pass "12" or "13" directly to ECJ it silently switches to the
latest version it knows - currently 11.
tcollignon commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-475179366
Hi
I have update the code, and squash commit
Tell me if it's ok for you
thx
markt-asf commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-475214511
Thanks. I took your patch and extended to cover Java 13 as well and added a
check to log a warning if an
markt-asf closed pull request #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150
This is an automated message from the Apache Git Service.
To respond to
markt-asf commented on issue #139: service.bat handles changed Service at
installation
URL: https://github.com/apache/tomcat/pull/139#issuecomment-476164040
Re-open PR that was closed as a side effect of the svn -> git migration.
bkiselka opened a new pull request #139: service.bat handles changed Service at
installation
URL: https://github.com/apache/tomcat/pull/139
Enable service.bat to deal with changed "Windows Service Name" defined
during Tomcat Windows Installation.
During the Apache Tomcat Setup You
markt-asf commented on issue #139: service.bat handles changed Service at
installation
URL: https://github.com/apache/tomcat/pull/139#issuecomment-476243775
For reference, this was the trigger for the filename to change:
https://bz.apache.org/bugzilla/show_bug.cgi?id=50949
The
rmaucher opened a new pull request #152: Add async IO API to NIO
URL: https://github.com/apache/tomcat/pull/152
It has very small perf improvements (except for "sendfile" situations) and
non blocking frame read for HTTP/2. The performance looks rather similar to
NIO2 as well, it is hard
rmaucher commented on issue #152: Add async IO API to NIO
URL: https://github.com/apache/tomcat/pull/152#issuecomment-479919216
Note: I will only merge this after 9.0.18.
This is an automated message from the Apache Git
rmaucher closed pull request #152: Add async IO API to NIO
URL: https://github.com/apache/tomcat/pull/152
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use
rmaucher opened a new pull request #153: Add async API for NIO
URL: https://github.com/apache/tomcat/pull/153
Includes NIO vectored IO calls.
This is an automated message from the Apache Git Service.
To respond to the
michael-o opened a new pull request #151: Fix wrong protocol version usage
URL: https://github.com/apache/tomcat/pull/151
When serving a HTTP/2 request the protocol version was set as "HTTP/2.0"
which does not exist.
This needs also to be backported to 8.5
kkolinko commented on issue #151: Fix wrong protocol version usage
URL: https://github.com/apache/tomcat/pull/151#issuecomment-478339076
-1 (veto).
This was discussed several years ago, and the decision was to use "HTTP/2.0"
https://bz.apache.org/bugzilla/show_bug.cgi?id=58605
markt-asf closed pull request #149: Adding ReDoS warning/documentation to
RewriteValve
URL: https://github.com/apache/tomcat/pull/149
This is an automated message from the Apache Git Service.
To respond to the message,
markt-asf commented on issue #149: Adding ReDoS warning/documentation to
RewriteValve
URL: https://github.com/apache/tomcat/pull/149#issuecomment-480629451
Thanks. I applied the patch along with a couple of formatting tweaks, a
cross-reference from the security how to page and a change
mlem commented on issue #154: Don't serialize the whole valve into session, but
use a smaller object.
URL: https://github.com/apache/tomcat/pull/154#issuecomment-480863047
I've filed an issue: https://bz.apache.org/bugzilla/show_bug.cgi?id=63324
The problem is, that we serialize
mlem opened a new pull request #154: Don't serialize the whole valve into
session, but use a smaller object.
URL: https://github.com/apache/tomcat/pull/154
It helps to serialize this sessions with libraries like kryo.
Background:
we've found out, that our kryo library serializes
mlem commented on issue #154: Don't serialize the whole valve into session, but
use a smaller object.
URL: https://github.com/apache/tomcat/pull/154#issuecomment-480842434
We are getting this message in our log all the time.
I've found out, that our serialization library (Kryo) is
kkolinko commented on issue #154: Don't serialize the whole valve into session,
but use a smaller object.
URL: https://github.com/apache/tomcat/pull/154#issuecomment-480852735
1. Your title is lacking. Your "valve" is CrawlerSessionManagerValve.
2. Behaviour of
mlem opened a new pull request #155: Don't serialize the whole valve into
session, but use a smaller object.
URL: https://github.com/apache/tomcat/pull/155
It helps to serialize this sessions with libraries like kryo.
Background:
we've found out, that our kryo library serializes
mlem opened a new pull request #156: Don't serialize the whole valve into
session, but use a smaller object. 7.0.x
URL: https://github.com/apache/tomcat/pull/156
It helps to serialize this sessions with libraries like kryo.
Background:
we've found out, that our kryo library
markt-asf commented on issue #141: Update BUILDING and CONTRIBUTING docs after
the svn->git migration.
URL: https://github.com/apache/tomcat/pull/141#issuecomment-468806277
Test ping.
This is an automated message from the
csutherl commented on issue #141: Update BUILDING and CONTRIBUTING docs after
the svn->git migration.
URL: https://github.com/apache/tomcat/pull/141#issuecomment-468824644
Do we want to accept this commit so that the docs mostly reflect our current
state and fire off a discussion re:
markt-asf commented on issue #141: Update BUILDING and CONTRIBUTING docs after
the svn->git migration.
URL: https://github.com/apache/tomcat/pull/141#issuecomment-468826081
+1
This is an automated message from the Apache Git
toby1984 commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-469229642
Could you please elaborate what you meant by your reference to the "maxIdle"
and "initialSize" options ? How do they relate to the "maxAge" one in your
rmaucher commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-469260446
I think maxAge is ok, but then the pool should indeed have at least minIdle.
Basically, if you have 0 active, then you have at least minIdle, that
rmaucher commented on issue #144: Variable adds final modifier
URL: https://github.com/apache/tomcat/pull/144#issuecomment-470054183
That's a very useful reminder for me, if a PR is pulled, it *also* needs to
have a decent description as well, otherwise misleading information gets into
y987425112 closed pull request #144: Variable adds final modifier
URL: https://github.com/apache/tomcat/pull/144
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub
y987425112 commented on issue #144: Variable adds final modifier
URL: https://github.com/apache/tomcat/pull/144#issuecomment-470055949
I am very sorry, this is the first time I submit the code, because I am
Chinese, my English is a little poor, there are errors in the description.
Thank
markt-asf commented on issue #144: Variable adds final modifier
URL: https://github.com/apache/tomcat/pull/144#issuecomment-470050541
Potential security vulnerabilities should be reported privately to
secur...@tomcat.apache.org. Not in a PR or any other public forum.
That said,
rmaucher commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470022913
Can you give a metric of actual memory gains made using this change ? Adding
complexity for very little benefit doesn't seem
rmaucher commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470022349
If there is a lookup with Charset.forName, then would the cache be used at
all ? I don't understand this sort of Windows style "startup time"
y987425112 opened a new pull request #144: Variable adds final modifier
URL: https://github.com/apache/tomcat/pull/144
If these variables do not add final modifiers, there will be ambiguity and
security risks.
This is an
ChristopherSchultz edited a comment on issue #143: Apply deduplication to
certain loaded and created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470156059
I like the idea, but I think the implementation could be better. For
instance:
1. There is no need to
ChristopherSchultz commented on issue #143: Apply deduplication to certain
loaded and created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470156059
I like the idea, but I think. the implementation could be better. For
instance:
1. There is no need to have
philwebb commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470145284
Sure. I discovered these by using the "Inspections" feature from
[YourKit](https://www.yourkit.com/) on an [embedded Tomcat
rmaucher commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470157903
Ok, I'm not sure it is a very significant saving overall (probably not), but
it's still more than I expected.
Yes, +1for
philwebb commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470210052
The other option would be to use `String.intern` for these limited cases.
Either way, I'm happy to rework the PR if you have a
ChristopherSchultz commented on issue #143: Apply deduplication to certain
loaded and created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470265906
Good point: String.intern is already implemented, and it's already "weak".
Less code, same result = better.
philwebb commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470317822
I've pushed another update now that I know about
https://bz.apache.org/bugzilla/show_bug.cgi?id=51400
philwebb commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470280939
I've pushed an update following the discussion on
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
@rmaucher
> If there is a
csutherl merged pull request #141: Update BUILDING and CONTRIBUTING docs after
the svn->git migration.
URL: https://github.com/apache/tomcat/pull/141
This is an automated message from the Apache Git Service.
To respond to
csutherl commented on issue #141: Update BUILDING and CONTRIBUTING docs after
the svn->git migration.
URL: https://github.com/apache/tomcat/pull/141#issuecomment-469688472
I've accepted the PR and will follow up on the dev@ list with a discussion
on an `svn:eol-style` equivalent.
philwebb opened a new pull request #142: Defer creation of
encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142
Defer creation of `encodingToCharsetCache` until absolutely necessary
and update `B2CConverter.getCharset` to first attempt a direct lookup
using
philwebb opened a new pull request #143: Apply deduplication to certain loaded
and created Strings
URL: https://github.com/apache/tomcat/pull/143
Apply deduplication to certain loaded and created Strings by using
a static Map. This applies the same technique as described in
KeiichiFujino commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-472779046
If testOnConnect is true or initSQL is set, we need validate the connection(
with VALIDATE_INIT) when reconnecting.
toby1984 commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-472791041
Good catch, I will fix this.
This is an automated message from the Apache Git Service.
samslow opened a new pull request #148: Remove duplicated comments
URL: https://github.com/apache/tomcat/pull/148
Signed-off-by: samslow
I don't know why this comments is here.
If there is a reason why the comment is here and I do not know, Abort this
PR and Teach me if you
markt-asf merged pull request #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146
This is an automated message from the Apache Git Service.
To respond to the
nightwatchcyber opened a new pull request #138: Expanding SSI documentation
(bug # 63184)
URL: https://github.com/apache/tomcat/pull/138
Fixing:
https://bz.apache.org/bugzilla/show_bug.cgi?id=63184
This is an automated
markt-asf commented on issue #138: Expanding SSI documentation (bug # 63184)
URL: https://github.com/apache/tomcat/pull/138#issuecomment-472856732
Close unintentionally during svn->git migration.
This is an automated message
wilkinsona commented on issue #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146#issuecomment-472829112
In addition to the improved startup time, this change has an even bigger
positive impact on Tomcat's memory footprint. With
wilkinsona edited a comment on issue #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146#issuecomment-472829112
In addition to the improved startup time, this change has an even bigger
positive impact on Tomcat's memory footprint.
markt-asf commented on issue #148: Remove duplicated comments
URL: https://github.com/apache/tomcat/pull/148#issuecomment-473021367
No reason. It looks like a leftover from the last major redesign.
This is an automated
markt-asf merged pull request #148: Remove duplicated comments
URL: https://github.com/apache/tomcat/pull/148
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and
toby1984 commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-473018240
I fixed the missing calls to PooledConnection#validate(int).
While reading the code I was kind of unsure whether I should call
markt-asf commented on a change in pull request #138: Expanding SSI
documentation (bug # 63184)
URL: https://github.com/apache/tomcat/pull/138#discussion_r265735282
##
File path: webapps/docs/ssi-howto.xml
##
@@ -146,27 +146,53 @@ false.
The directives are:
-config -
markt-asf commented on a change in pull request #138: Expanding SSI
documentation (bug # 63184)
URL: https://github.com/apache/tomcat/pull/138#discussion_r265734162
##
File path: webapps/docs/ssi-howto.xml
##
@@ -146,27 +146,53 @@ false.
The directives are:
-config -
markt-asf commented on a change in pull request #138: Expanding SSI
documentation (bug # 63184)
URL: https://github.com/apache/tomcat/pull/138#discussion_r265734995
##
File path: webapps/docs/ssi-howto.xml
##
@@ -146,27 +146,53 @@ false.
The directives are:
-config -
markt-asf commented on a change in pull request #138: Expanding SSI
documentation (bug # 63184)
URL: https://github.com/apache/tomcat/pull/138#discussion_r265735188
##
File path: webapps/docs/ssi-howto.xml
##
@@ -146,27 +146,53 @@ false.
The directives are:
-config -
KeiichiFujino commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-473776997
Thanks for the fix.
I have no objections to the current code.
I'll merge this into master branch.
toby1984 commented on issue #140: jdbc-pool: Improve maxAge handling
URL: https://github.com/apache/tomcat/pull/140#issuecomment-471474038
Sorry for not getting back any earlier. I did not touch the existing code
responsible for discarding idle connections or the creation of new
y987425112 removed a comment on issue #145: Adding volatile keywords to member
variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470488862
```
package com.ydy.thread.volatile2;
public class VolatileTest {
public static void main(String[] args) throws
y987425112 commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470489493
```
package com.ydy.thread.volatile2;
public class VolatileTest {
public static void main(String[] args) throws Exception
philwebb commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470546205
> Besides the 31ms startup time, it's still worse in every way compared to
the current code.
I'm really not sure what I'm supposed to do
y987425112 removed a comment on issue #145: Adding volatile keywords to member
variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470503719
package com.ydy.thread.volatile2;
public class VolatileTest2 {
public static void main(String[] args) {
y987425112 commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470503719
package com.ydy.thread.volatile2;
public class VolatileTest2 {
public static void main(String[] args) {
Task
markt-asf closed pull request #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145
This is an automated message from the Apache Git Service.
To respond to the message, please log
markt-asf commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470502673
The claims made above are incorrect. They fail to take account of the
requirement that
> However, compilers are allowed to reorder
rainerjung commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470501897
Yes of course, because the threads do not oby to the rules I have described.
From my comment: "Changes done by thread T1 while holding any
y987425112 commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470504073
```
package com.ydy.thread.volatile2;
public class VolatileTest2 {
public static void main(String[] args) {
y987425112 opened a new pull request #145: Adding volatile keywords to member
variables
URL: https://github.com/apache/tomcat/pull/145
The semantics of the Java programming language allow compilers and
microprocessors to
perform optimizations that can interact with incorrectly
rmaucher commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470434736
Besides the 31ms startup time, it's still worse in every way compared to the
current code.
y987425112 commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470488862
```
package com.ydy.thread.volatile2;
public class VolatileTest {
public static void main(String[] args) throws Exception
y987425112 removed a comment on issue #145: Adding volatile keywords to member
variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470488340
`package com.ydy.thread.volatile2;
public class VolatileTest {
public static void main(String[] args) throws
rainerjung commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470482121
My understanding always was, that reordering must obey as-if-serial
semantics for any single thread. The complexity only kicks in when
y987425112 commented on issue #145: Adding volatile keywords to member variables
URL: https://github.com/apache/tomcat/pull/145#issuecomment-470488340
`package com.ydy.thread.volatile2;
public class VolatileTest {
public static void main(String[] args) throws Exception {
markt-asf commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470607054
No. Not an system property ;).
Seriously, I think there is a way that we can improve start-up time without
impacting the vast
rmaucher commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-470602748
You submitted three items, and indeed I am not convinced by this one.
Looking back to the old BZs, there was also there the conclusion that the
markt-asf opened a new pull request #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146
Implement an alternative Charset caching strategy that does not load all
Charsets at Tomcat start. This reduces start time by ~30ms and does
markt-asf commented on issue #142: Defer creation of encodingToCharsetCache
URL: https://github.com/apache/tomcat/pull/142#issuecomment-471072264
See #146 for an alternative approach
This is an automated message from the
rmaucher commented on issue #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146#issuecomment-471178688
Ok I guess. Wasn't the plan going to include hardcoding UTF-8 ?
The previous code still looks better to me (HashMap vs
markt-asf commented on issue #146: Fix
https://bz.apache.org/bugzilla/show_bug.cgi?id=63235
URL: https://github.com/apache/tomcat/pull/146#issuecomment-471181388
Thanks for taking a look at the code.
I was concerned about the HashMap vs ConcurrentHashMap as well but in the
tests
philwebb commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470381178
I've pushed an update that uses `String.intern` for those two places. With
this change 2192 duplicates are reduced to 300 and
rmannibucau commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470392703
Is generating a java class at build time instead of reading the xml
possible? Then a preregistration in a registry would
philwebb commented on issue #143: Apply deduplication to certain loaded and
created Strings
URL: https://github.com/apache/tomcat/pull/143#issuecomment-470667817
@rmannibucau I've opened another issue for that
https://bz.apache.org/bugzilla/show_bug.cgi?id=63237. If I get a second I'll
salgattas opened a new pull request #149: Adding ReDoS warning/documentation to
RewriteValve
URL: https://github.com/apache/tomcat/pull/149
After reporting a potential DoS in "Rewrite Rules" to the Tomcat security
team, it was decided that there was no bug in Tomcat itself, but rather in
tcollignon commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-474872724
Ok sorry I didn't understand the first comment
So I will update the PR like you said
markt-asf commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-474861978
What I meant was:
- we should check for ECJ updates (I'm doing that now)
- we should replicate the way Java 10
tcollignon commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-474878836
Ok I have add 11 and 12, I wait for your commit, and I will update this with
just 12 if necessary
thx
markt-asf commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-474873975
I actually just done this for Java 11. Could you do the same for Java 12?
tcollignon opened a new pull request #150: Add compiler source and target
support for all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150
Hi,
I maintain the maven plugin to compile JSP :
https://github.com/leonardehrenfried/jspc-maven-plugin
We have
tcollignon commented on issue #150: Add compiler source and target support for
all Java versions over 10
URL: https://github.com/apache/tomcat/pull/150#issuecomment-474831606
Thx for your anwser
So I will wait for ECJ right ?
Or maybe I can try to add options to Java 11 in ECJ ?
1 - 100 of 2865 matches
Mail list logo