Hi Owen,The same code was deployed in 7.0.91 version and we were not getting 
any exceptions in tomcat logs. Once I deployed the same code in 7.0.94 it 
started recording this error in logs.ThanksRamSent from my Samsung Galaxy 
smartphone.
-------- Original message --------From: Owen Rubel <oru...@gmail.com> Date: 
12/8/19  09:12  (GMT+05:30) To: Tomcat Users List <users@tomcat.apache.org> Cc: 
ch...@christopherschultz.net Subject: Re: Error parsing HTTP request header 
Well this isn't an issue with Tomcat. I'm using an embedded version ofTomcat in 
the BeAPI API Toolkit and this does not occur; mainly because itautomates 100% 
of the api functionality. I would say it is most likely yourapplication.How are 
you testing your app? You should be doing integration tests. Thiswould show the 
issue or problem in the response data vs what is sent.Owen 
Rubelorubel@gmail.comOn Sat, Dec 7, 2019 at 3:11 AM thulasiram k 
<ktr...@gmail.com> wrote:> Hi Chris,>> Thanks for trying to help here. As 
suggested I have checked the access logs> and find the below error line when 
ever the above exception occurs in> catalina.out.>>  "GET null null" 400 ->>> 
Thanks> Ram>>> On Wed, Dec 4, 2019 at 7:41 PM Christopher Schultz <> 
ch...@christopherschultz.net> wrote:>> > -----BEGIN PGP SIGNED MESSAGE-----> > 
Hash: SHA256> >> > Ram,> >> > On 12/4/19 06:02, thulasiram k wrote:> > > Hi,> > 
>> > > we recently upgrade our tomcat from 7.0.91 to 7.0.94 in windows> > > 
platform. Post upgrade we are seeing the below exception in logs> > > very 
frequently. can you please suggest to avoid this.> > >> > > Dec 02, 2019 
1:34:09 PM> > > org.apache.coyote.http11.AbstractHttp11Processor process INFO:> 
> > Error parsing HTTP request header Note: further occurrences of HTTP> > > 
header parsing errors will be logged at DEBUG level.> > > 
java.lang.IllegalArgumentException: Invalid character found in the> > > request 
target. The valid characters are defined in RFC 7230 and> > > RFC 3986 at> > > 
org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(Internal> > 
InputBuffer.java:199)> > >> > >> > at> > > 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1> > 
1Processor.java:1050)> > >> > >> > at> > > 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A> > 
bstractProtocol.java:637)> > >> > >> > at> > > 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint> > 
.java:319)> > >> > >> > at> > > 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool> > 
Executor.java:1128)> > >> > >> > at> > > 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo> > 
lExecutor.java:628)> > >> > >> > at> > > 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr> > 
ead.java:61)> > >> > >> > at java.base/java.lang.Thread.run(Thread.java:830)> > 
>> > > And will this effect anything? as I didn't receive any complaints> > > 
from users.> >> > No spec-compliant client should be sending anything in an 
HTTP header> > that causes a problem. Unfortunately, not all clients (browsers) 
are> > actually spec-compliant, and it's very easy to write an application> > 
that also violates the spec.> >> > Each version of Tomcat becomes more and more 
strict in order to either> > improve security or improve the web ecosystem in 
general or both.> >> > When you get this error, do you see an entry in your 
access log? Can> > you correlate the error with what you see in the access log? 
You> > should see a 400 status code for this request. If you aren't sure> > 
which character is illegal, post the whole line from the request> > (perhaps 
sanitized for hostname, IP address, any secrets it may -- but> > shouldn't -- 
contain) and we'll take a look.> >> > A few years ago, Tomcat changed the way 
it performs Cookie parsing to> > be much more strict and that broke a bunch of 
applications, including> > my own. It turned out that we were writing a cookie 
value that was> > actually not allowed, but Tomcat was allowing it. Upgrading 
would have> > caused my application to break in two places: when writing that 
Cookie> > value and also when reading it. The solution was to fix the> > 
application to encode those cookie values so that they were HTTP-safe.> > (In 
our case, we decided that base64 encoding would be best.)> >> > I'm not saying 
that this problem is cookie-related. It's just an> > example of a situation 
where the application was the problem and we> > didn't notice until Tomcat 
became more strict. Our application is> > actually *safer* now because it is 
guaranteed to work with all clients> > which strictly adhere to the 
specifications, while before it was> > relying on sloppy interpretations[1] of 
the specifications and luckily> > getting away with it.> >> > - -chris> >> > 
[1] https://whatwg.org/> > -----BEGIN PGP SIGNATURE-----> > Comment: Using 
GnuPG with Thunderbird - https://www.enigmail.net/> >> > 
iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl3nvoQACgkQHPApP6U8> > 
pFhtKw/9FnbzlvWWVYuu+ao7fmleMdNb49elXhAPOTjCF0KAZgTvQlRx0ffhE5Kn> > 
cZyJowghvOh2XLV16J5Q3UQcRulnU5RrAFNrsC/IysEXP6RzeqaYwjynZ0OpgO/K> > 
Vbktg5v6qA6Ipje7UBvufC+WdeMede914JgBd1+aEqt4CQCi8mPbUJhnJcZyOPIL> > 
k1nuxeGiX1pTt/wPG4yXnjnHe/MF/nMJznrxJuDMyPGd21hKfWwOzNyqTDAMRdpo> > 
XZfNp46E5ucVRXJM9MK2WSf06I/gZhQmtXUerQ49Fn/rm+rY0HNTjV6qg+muTbB5> > 
LG+UfloW+Bf938DfMUiMx3Xbnc5CaVLCiwTH/hZzV9+aL4QA3wLG7py6dhWnOF4O> > 
Xpilkc9npxLi205KmP1FU7/75U3IgQGRX7jxPdIxf9rYKOyDvEF8AY4cq0Uw/B/x> > 
v47VZekkw0Ozhq0KwKrhmzu81T/u0+35DtCMj4LJl2hM8fEE4kBNBxibaTUDVYff> > 
c6zjOaI3trDiD+D60i3Ir8lFLSWNK70u0L6ost85itPZUi9IYCZ1B2TURp17/al8> > 
n2BSvZFdME08AIbTXOaCP4J885xmzQJigtmDmqr5OCV9wPgOhAlFbTOgGc5tWdJu> > 
TaiUNlyY1fCK38ZdWpagYiqF3RWIK4DU8Vds65aGO1tABMt6Niw=> > =4Bb7> > -----END PGP 
SIGNATURE-----> >> > 
---------------------------------------------------------------------> > To 
unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org> > For additional 
commands, e-mail: users-h...@tomcat.apache.org> >> >>

Reply via email to