summaryrefslogtreecommitdiff
path: root/apps/JAWS
diff options
context:
space:
mode:
authorjxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-21 11:44:41 +0000
committerjxh <jxh@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-21 11:44:41 +0000
commitc3206cf551e5949acec6af1e66d24d06dc1ea909 (patch)
treee65bfd840910dfc8908e2760477f62eccadc06d3 /apps/JAWS
parentf75f4c29fac75813ee0eb37177c6c963956890ea (diff)
downloadATCD-c3206cf551e5949acec6af1e66d24d06dc1ea909.tar.gz
IO_Acceptor changed to permit compilation on platforms without Asynch IO.
Parse_Headers altered to correct some missing cases.
Diffstat (limited to 'apps/JAWS')
-rw-r--r--apps/JAWS/PROTOTYPE/JAWS/IO_Acceptor.cpp2
-rw-r--r--apps/JAWS/PROTOTYPE/JAWS/Parse_Headers.cpp10
2 files changed, 11 insertions, 1 deletions
diff --git a/apps/JAWS/PROTOTYPE/JAWS/IO_Acceptor.cpp b/apps/JAWS/PROTOTYPE/JAWS/IO_Acceptor.cpp
index feb37fc175c..adb42fe16e0 100644
--- a/apps/JAWS/PROTOTYPE/JAWS/IO_Acceptor.cpp
+++ b/apps/JAWS/PROTOTYPE/JAWS/IO_Acceptor.cpp
@@ -194,8 +194,8 @@ JAWS_IO_Asynch_Acceptor::close (void)
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)
template class ACE_Asynch_Acceptor<JAWS_Asynch_Handler>;
-template class ACE_Singleton<JAWS_IO_Asynch_Acceptor, ACE_SYNCH_MUTEX>;
#endif /* defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) */
+template class ACE_Singleton<JAWS_IO_Asynch_Acceptor, ACE_SYNCH_MUTEX>;
template class ACE_Singleton<JAWS_IO_Synch_Acceptor, ACE_SYNCH_MUTEX>;
template class ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_MUTEX>;
template class ACE_LOCK_SOCK_Acceptor<ACE_SYNCH_NULL_MUTEX>;
diff --git a/apps/JAWS/PROTOTYPE/JAWS/Parse_Headers.cpp b/apps/JAWS/PROTOTYPE/JAWS/Parse_Headers.cpp
index 21aaba59b64..6dde3f7eca3 100644
--- a/apps/JAWS/PROTOTYPE/JAWS/Parse_Headers.cpp
+++ b/apps/JAWS/PROTOTYPE/JAWS/Parse_Headers.cpp
@@ -43,6 +43,10 @@ JAWS_Parse_Headers::parse_headers (JAWS_Header_Info *info,
mb.crunch ();
return 0;
}
+ else if (mb.length () < mb.size ())
+ {
+ return 0;
+ }
else if (mb.length () == mb.size ())
{
// This is one of those cases that should rarely ever happen.
@@ -56,6 +60,12 @@ JAWS_Parse_Headers::parse_headers (JAWS_Header_Info *info,
info->status (JAWS_Header_Info::TOO_LONG);
return 1;
}
+ else if (mb.length () > mb.size ())
+ {
+ ACE_DEBUG ((LM_DEBUG, "JAWS_Parse_Headers: buffer overrun!!\n"));
+ info->status (JAWS_Header_Info::TOO_LONG);
+ return 1;
+ }
ACE_DEBUG ((LM_DEBUG, "JAWS_Parse_Headers -- shouldn't be here!\n"));
return 1;