Skip to content

Commit c1a5d35

Browse files
committed
Massive revission of README file.
Major changes were: * Reorganizing and renaming sections. * Removing the old kruft we never used (e.g., irc,freenode.net). * Moving other old stuff to 'Ancient History' section. * Generalizing the vulnerabilities summary section. * Calling out some important things in various release notes that are source of frequent questions. * Misc cleanup, such as fixing typos (although new ones probably accidentally introduced). * New section on Locating ESAPI Jar files. * Breaking longer lines into much shorter ones.
1 parent 93c9c42 commit c1a5d35

File tree

1 file changed

+95
-48
lines changed

1 file changed

+95
-48
lines changed

README.md

Lines changed: 95 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ It is too lengthy, and if you are using the latest available ESAPI version--gene
2222
place in this **README** file.
2323

2424
# Where are the OWASP ESAPI wiki pages?
25-
You can find the OWASP ESAPI *Project* wiki pages at
25+
You can find the official OWASP ESAPI Project wiki pages at
2626
[https://owasp.org/www-project-enterprise-security-api/](https://owasp.org/www-project-enterprise-security-api/).
2727
The ESAPI legacy GitHub repo also has several useful [wiki pages](https://github.com/ESAPI/esapi-java-legacy/wiki).
2828

@@ -31,16 +31,16 @@ This is the legacy branch of ESAPI which means it is an actively maintained bran
3131
Development for the "next generation" of ESAPI (starting with ESAPI 3.0), will be done at the
3232
GitHub repository at [https://github.com/ESAPI/esapi-java](https://github.com/ESAPI/esapi-java).
3333

34-
<b>IMPORTANT NOTES:</b>
35-
The default branch for ESAPI legacy is the 'develop' branch (rather than the 'main' (formerly 'master') branch), where future development, bug fixes, etc. will now be done. The 'main' branch is now marked as "protected"; it reflects the latest stable ESAPI release (2.1.0.1 as of this date). Note that this change of making the 'develop' branch the default may affect any pull requests that you were intending to make.
36-
37-
Also, the <i>minimal</i> baseline Java version to use ESAPI is Java 8. (This was changed from Java 7 during the 2.4.0.0 release.)
34+
**IMPORTANT NOTES:**
35+
* The default branch for ESAPI legacy is the 'develop' branch (rather than the 'main' (formerly 'master') branch), where future development, bug fixes, etc. are now being done. The 'main' branch is now marked as "protected"; it reflects the latest stable ESAPI release (2.4.0.0 as of this date). Note that this change of making the 'develop' branch the default may affect any pull requests that you were intending to make.
36+
* Also, the *minimal* baseline Java version to use ESAPI is now Java 8. (This was changed from Java 7 during the 2.4.0.0 release.)
3837

3938
# Where can I find ESAPI 3.x?
4039
As mentioned above, you can find it at [https://github.com/ESAPI/esapi-java](https://github.com/ESAPI/esapi-java).
4140

42-
Note however that work on ESAPI 3 has not yet become in earnest and is only in its earliest planning stages.
43-
Even the code that is presently there will likely change.
41+
Note however that work on ESAPI 3 has not yet begun in earnest and is only
42+
in its earliest planning stages. Even the code that is presently there
43+
will likely change.
4444

4545
# ESAPI Release Notes
4646
The ESAPI release notes may be found in ESAPI's "documentation" directory. They are generally named "esapi4java-core-*2.#.#.#*-release-notes.txt", where "*2.#.#.#*" refers to the ESAPI release number (which uses semantic versioning).
@@ -51,70 +51,115 @@ link to the specific release notes.
5151
### Really IMPORTANT information in release notes
5252
* Starting with ESAPI 2.2.1.0, important details changed reading the ESAPI
5353
Logger. If you have are getting things like ClassNotFoundException, you
54-
probably have not read it. Please be sure to read this section of the release
55-
notes: https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/esapi4java-core-2.2.1.0-release-notes.txt#L128-L155
54+
probably have not read it. Please be sure to read this specific section
55+
of the
56+
[2.2.1.0 release notes](https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/esapi4java-core-2.2.1.0-release-notes.txt#L128-L155)
5657
* Starting with ESAPI 2.2.3.0, ESAPI is using a version of AntiSamy that by default includes 'slf4j-simple' and
57-
does XML schema validation on the AntiSamy policy files. Please **READ** the release notes for the 2.2.3.0 release
58+
does XML schema validation on the AntiSamy policy files. Please **READ** this
59+
section from the
60+
[2.2.3.0 release notes](https://github.com/ESAPI/esapi-java-legacy/blob/1312102e79d4ed98d1396f5c56e12f437534d62b/documentation/esapi4java-core-2.2.3.0-release-notes.txt#L22-L34)
5861
(at least the beginning portion) for some important notes that likely will affect your use of ESAPI! You have been warned!!!
5962
* ESAPI 2.3.0.0 is the last release to support Java 7 as the minimal JDK.
6063
Starting with release 2.4.0.0, Java 8 or later is required.
6164

6265
# Locating ESAPI Jar files
6366
The [latest ESAPI release](https://github.com/ESAPI/esapi-java-legacy/releases/latest) is 2.4.0.0.
64-
All the *regular* ESAPI jars, with the exception of the ESAPI configuration jar (i.e.,
65-
esapi-2.#.#.#-configuration.jar) and its detached GPG signature, are
66-
available from Maven Central. The ESAPI configuration jars are linked as 'Assets' to
67-
each of the specific ESAPI releases under the
67+
All the *regular* ESAPI jars, with the exception of the ESAPI configuration
68+
jar (i.e., esapi-2.#.#.#-configuration.jar) and its associated detached
69+
GPG signature, are available from Maven Central. The ESAPI configuration
70+
jars are linked under the 'Assets' section to each of the specific
71+
ESAPI releases under the
6872
GitHub [Releases page](https://github.com/ESAPI/esapi-java-legacy/releases).
6973

7074

71-
However, before you start a *new* project using ESAPI, but sure to read "[Should I use ESAPI?](https://owasp.org/www-project-enterprise-security-api/#div-shouldiuseesapi)".
75+
However, **before** you start a *new* project using ESAPI, but sure to read "[Should I use ESAPI?](https://owasp.org/www-project-enterprise-security-api/#div-shouldiuseesapi)".
7276

7377
# ESAPI Deprecation Policy
74-
Unless we unintentionally screw-up, our intent is to keep classes, methods, and/or fields whihc have been annotated as "@deprecated" for a minimum of two (2) years or until the next major release number (e.g., 3.x as of now), which ever comes first, before we remove them.
75-
Note that this policy does not apply to classes under the **org.owasp.esapi.reference** package. You are not expected to be using such classes directly in your code.
78+
Unless we unintentionally screw-up, our intent is to keep classes, methods,
79+
and/or fields which have been annotated as "@deprecated" for a
80+
minimum of two (2) years or until the next major release number (e.g.,
81+
3.x as of now), which ever comes first, before we remove them. Note
82+
that this policy does not apply to classes under
83+
the **org.owasp.esapi.reference** package. You generally are not expected
84+
to be using such classes directly in your code. At the ESAPI team's discretion,
85+
it will also not apply for any known exploitable vulnerabilities for which
86+
no available workaround exists.
87+
88+
**IMPORTANT NOTES:** The next planned removal of deprecated code is for us to
89+
remove all the Log4J 1.x related ESAPI Logger code. The Log4J 1 ESAPI Logger
90+
was first marked deprecated in ESAPI 2.2.1.0, which was released July 13, 2022.
91+
This means that on or shortly after, you can expect a new ESAPI release that
92+
will no longer have a dependency on Log4J 1. **YOU HAVE BEEN WARNED!!!**
7693

7794
# Contributing to ESAPI legacy
7895
### How can I contribute or help with fix bugs?
79-
Fork and submit a pull request! Simple as pi! (How's that for an irrational statement? :)
80-
We generally only accept bug fixes, not new features because as a legacy project, we don't intend on adding new
81-
features, although we may make exceptions. If you are interesting in doing bug fixes though, the best place to start is
82-
the [CONTRIBUTING-TO-ESAPI.txt](https://github.com/ESAPI/esapi-java-legacy/blob/develop/CONTRIBUTING-TO-ESAPI.txt)
96+
Fork and submit a pull request! Easy as pi! (How's that for an irrational
97+
statement, you math nerds? :) We generally only accept bug fixes, not
98+
new features because as a legacy project, we don't intend on adding new
99+
features that we will have to maintain long term (although we may make
100+
exceptions; see the 'New Features' section in this **README**). If
101+
you are interesting in doing bug fixes though, the best place to start is the
102+
[CONTRIBUTING-TO-ESAPI.txt](https://github.com/ESAPI/esapi-java-legacy/blob/develop/CONTRIBUTING-TO-ESAPI.txt)
83103

84104
If you are new to ESAPI, a good place to start is to look for GitHub issues labled as 'good first issue'. (E.g., to find all open issues with that label, use [https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22](https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).)
85105

86-
Again, please can find additional specific details in the file
87-
'[CONTRIBUTING-TO-ESAPI.txt](https://raw.githubusercontent.com/ESAPI/esapi-java-legacy/develop/CONTRIBUTING-TO-ESAPI.txt)'.
106+
Again, please find additional important details in the file
107+
'[CONTRIBUTING-TO-ESAPI.txt](https://github.com/ESAPI/esapi-java-legacy/blob/develop/CONTRIBUTING-TO-ESAPI.txt)',
108+
which will also describe the tool requirements.
88109

89110
#### Want to report an issue?
90-
If you have found a bug, then create an issue on the esapi-legacy-java repo: [https://github.com/ESAPI/esapi-java-legacy/issues](https://github.com/ESAPI/esapi-java-legacy/issues)
91-
92-
NOTE: Please do **NOT** use GitHub issues to ask questions about ESAPI. If you wish to do this, post to either of
93-
the 2 mailing lists (now on Google Groups) found at the bottom of this page. If we find questions as GitHub issues,
94-
we simply will close them and direct you to do this anyhow. Alternately you may use the new
111+
If you have found a bug, then create an issue on the esapi-legacy-java repo at [https://github.com/ESAPI/esapi-java-legacy/issues](https://github.com/ESAPI/esapi-java-legacy/issues)
112+
As of May 11, 2022, we switched back to using (GitHub) issue templates. (We previously used issue templates when our source code repository was still on Google Code.) You can read more about our issue templates in this brief
113+
[announcement](https://github.com/ESAPI/esapi-java-legacy/discussions/700).
114+
115+
NOTE: Please do **NOT** use GitHub issues to ask questions about ESAPI.
116+
If you wish to ask questions, instead, post to either of the 2 mailing
117+
lists (now on Google Groups) found the References section at the bottom
118+
of this page. If we find questions posted as GitHub issues, we simply will
119+
close them and direct you to do this anyhow. Alternately you may use the new
95120
[Q&A](https://github.com/ESAPI/esapi-java-legacy/discussions/categories/q-a) section of our GitHub
96121
[Discussions](https://github.com/ESAPI/esapi-java-legacy/discussions) page to ask questions.
97122

98-
When reporting an issue or just asking a question, please be clear and try to ensure that the ESAPI
99-
development team has sufficient information to be able to reproduce your results or to understand
100-
your question. If you have not already done so, this might be a good time to read Eric S. Raymond's classic
101-
"[How to Ask Questions the Smart Way](http://www.catb.org/esr/faqs/smart-questions.html)" before posting your issue.
123+
When reporting an issue or just asking a question, please be clear and try
124+
to ensure that the ESAPI development team has sufficient information to be
125+
able to reproduce your results or to understand your question. If you have
126+
not already done so, this might be a good time to read Eric S. Raymond's classic
127+
"[How to Ask Questions the Smart Way](http://www.catb.org/esr/faqs/smart-questions.html)"
128+
before posting your issue.
102129

103130
#### Find a Vulnerability?
104-
If you have found a vulnerability in ESAPI legacy, first search the issues list (see above) to see if it has already been reported. If it has not, then please contact both Kevin W. Wall (kevin.w.wall at gmail.com) and Matt Seil (matt.seil at owasp.org) directly. Please do not report vulnerabilities via GitHub issues or via the ESAPI mailing lists as we wish to keep our users secure while a patch is implemented and deployed. If you wish to be acknowledged for finding the vulnerability, then please follow this process. (Eventually, we would like to have BugCrowd handle this, but that's still a ways off.) Also, when you post the email describing the vulnerability, please do so from an email address that you usually monitor.
105-
106-
More detail is available in the file '[SECURITY.md](https://raw.githubusercontent.com/ESAPI/esapi-java-legacy/develop/SECURITY.md)'.
131+
If believe you have found a vulnerability in ESAPI legacy, for the sake of the
132+
ESAPI community, please practice Responsible Disclosure. (Note: We will be sure
133+
you get credit and will work with you to create a GitHub Security Advisory, and
134+
if you so choose, to persue filing a CVE via the GitHub CNA.)
135+
136+
You are of course encouraged to first search our GitHub issues list (see above)
137+
to see if it has already been reported. If it has not, then please contact
138+
both Kevin W. Wall (kevin.w.wall at gmail.com) and
139+
Matt Seil (matt.seil at owasp.org) directly. Please do not report
140+
vulnerabilities via GitHub issues or via the ESAPI mailing lists as
141+
we wish to keep our users secure while a patch is implemented and
142+
deployed. If you wish to be acknowledged for finding the vulnerability,
143+
then please follow this process. Also, when you post the email describing
144+
the vulnerability, please do so from an email address that you usually
145+
monitor.
146+
147+
More detail is available in the file
148+
'[SECURITY.md](https://github.com/ESAPI/esapi-java-legacy/blob/develop/SECURITY.md)'.
149+
https://raw.githubusercontent.com/ESAPI/esapi-java-legacy/blob/develop/SECURITY.md)'.
107150

108151
### New Features
109-
If you wish to propose a new feature, the best place to discuss it is via new 'Discussions' board, probably under
110-
'[Ideas](https://github.com/ESAPI/esapi-java-legacy/discussions/categories/ideas)', or on the
111-
ESAPI-DEV mailing list mentioned below. As mentioned previously, we generally
112-
are not considering new features for ESAPI 2.x. This is because:
152+
If you wish to propose a new feature, the best place to discuss it is via
153+
new 'Discussions' board, probably under
154+
'[Ideas](https://github.com/ESAPI/esapi-java-legacy/discussions/categories/ideas)',
155+
or on the ESAPI-DEV mailing list mentioned below under the References section.
156+
As mentioned previously, we generally are not considering new features
157+
for ESAPI 2.x. This is because:
113158
- ESAPI is already too monolithic and has too many dependencies for its size.
114-
- We are trying to wide down support of ESAPI 2.x and get ESAPI 3.0 going so any
159+
- We are trying to wind down support of ESAPI 2.x and get ESAPI 3.0 going so any
115160
resources we throw at ESAPI 2.x will slow down that goal.
116161

117-
That said, if you believe you have an idea for a additional simple feature that
162+
That said, if you believe you have an idea for an additional simple feature that
118163
does not pull in any additional 3rd party libraries, toss it out there for
119164
discussion or even show us how it works with a PR. (Note that we vet all pull
120165
requests, including coding style of any contributions, so please use the same
@@ -125,13 +170,15 @@ coding style found in the files you are already editing.)
125170
In mid-2014 ESAPI migrated all code and issues from Google Code to GitHub. This migration was completed in November 2014.
126171

127172
### What about the issues still located on Google Code?
128-
All issues from Google Code have been migrated to GitHub issues. We now use GitHut Issues for
129-
reporting everything except security vulnerabilities. Other bug tracking sites are undoubtably
130-
more advanced, but as developers, we do not want to spent time having to close issues from
131-
multiple bug-tracking sites. Therefore, until this synchronization happens with the Atlassian Jira
132-
instance that we have (but are not using; see GitHub issue #371), please ONLY use GitHub for reporting bugs.
133-
134-
# Where to Find More Information on ESAPI
173+
All issues from Google Code have been migrated to GitHub issues. We now
174+
use GitHut Issues for reporting everything *except* security vulnerabilities.
175+
Other bug tracking sites are undoubtably more advanced, but as developers,
176+
we do not want to spent time having to close issues from multiple bug-tracking
177+
systems. Therefore, until the synchronization happens with the Atlassian Jira
178+
instance that we have (but are not using; see GitHub issue #371), please
179+
ONLY use GitHub Issues for reporting bugs.
180+
181+
# References: Where to Find More Information on ESAPI
135182
**OWASP Wiki:** https://owasp.org/www-project-enterprise-security-api/
136183

137184
**GitHub ESAPI Wiki:** https://github.com/ESAPI/esapi-java-legacy/wiki

0 commit comments

Comments
 (0)