Graham Dumpleton wrote .. > Graham Dumpleton wrote .. > > > * Testing server side include > > > F > > > > Based on the logs below, this may be what I suspected. That is there > > is some issue with CR/LF differences on Win32 which causing the > > code some grief. Because of the crash by Apache when exception > > occurred in SSI code, real issue was probably being masked. I'll > > do some more playing with CR/LF differences on UNIX and see if > > I can recreate it. > > > > BTW, when I first add ssi.shtml to subversion, I didn't set eol:native > > property. It was added by someone later but probably after you checked > > it out. Not sure if you need to remove that file and check it out again > > to ensure things okay. But then, in release tar ball it is always going > > to be be UNIX style EOLs anyway. > > Yep, have recreated it by adding CR/LF explicitly in ssi.shtml. Am going > to have to work out how to get Python to cope with it if on Win32 what > Apache provides is going to have CR/LF in it. > > If someone understands issue, happy to hear of any suggestions. :-)
Follow patch avoids problem, but what are the implications of doing a global replacement of CRLF with LF in Python code? Index: lib/python/mod_python/apache.py =================================================================== --- lib/python/mod_python/apache.py (revision 405197) +++ lib/python/mod_python/apache.py (working copy) @@ -449,7 +449,7 @@ filter.req.ssi_globals["__file__"] = filter.req.filename - code = code.rstrip() + code = code.replace('\r\n', '\n').rstrip() if tag == 'eval': result = eval(code, filter.req.ssi_globals) Index: lib/python/mod_python/importer.py =================================================================== --- lib/python/mod_python/importer.py (revision 405197) +++ lib/python/mod_python/importer.py (working copy) @@ -1378,7 +1378,7 @@ filter.req.ssi_globals["__info__"] = _InstanceInfo( None, filter.req.filename, None) - code = code.rstrip() + code = code.replace('\r\n', '\n').rstrip() if tag == 'eval': result = eval(code, filter.req.ssi_globals)