History Of Ticket c62fac40af0
Not logged in
Ticket change [e3d3a3ce3f] (rid 3896) by drh on 2008-11-20 00:36:37:
  1. Change comment to "While editing CSS and HTML in Fossil Setup, extra CR/LF pairs are added to the text box and the calculation of the http Content-length header is wrong (as if those extra CR/LF pairs weren't added), so some content is dropped at the end of the webpage. I'm not sure what's the cause, it might be an apache-CGI problem. Environment: Running Fossil version [b3ee50c946] 2008-07-15 19:03:42 on Windows as CGI handler under Apache/2.2.6 (Win32), Server built: Sep 5 2007 08:58:56. Observed with Firefox and IE7 on Windows. The local fossil server http://127.0.0.1:8080/setup_editcss works as expected. I'm not sure this is related, but for many fossil generated pages, the apache httpd error log shows lines like: [Tue Sep 02 14:32:09 2008] [error] [client my.ip.add.ress] , referer: http://sub.domain.tld/fossil/sqlite/setup_editcss but the access log seems ok: my.ip.add.ress - - [02/Sep/2008:14:32:09 +0200] "GET /fossil/sqlite/setup_editcss HTTP/1.1" 200 8802 I would like to try with the more recent Fossil version [4b56350ecb] 2008-07-24 15:08:13, but it isn't available for download as a prebuild Win32 binary, and I don't have a build infrastructure here. <hr><i>anonymous added on 2008-11-17 22:04:21:</i><br> It's not just the edit CSS in setup that shows it, other pages suffer as well, e.g. Timeline. It is easily detected by truncation of the fossil standard footer. I do have a build infrastructure now (MSYS/MingW on Windows), and I did research some sources, but I can't point at the exact error. <hr><i>drh added on 2008-11-18 02:28:09:</i><br> The fix in check-in [f6a071cef1] works for me on WinXP running under VMWare. <hr><i>anonymous added on 2008-11-19 23:52:05:</i><br> Thanks for the fix, drh. * Bad news: I'm afraid it didn't really fix it. The contents of the EditCSS textbox still have extra \r , so line spacing increases by one after every edit. * Good news: stdout can be made binary with setmode(), which prevents the \n to \r\n translation. <verbatim> Patches for main.c: {line 30, in header includes} = #include <time.h> + #ifdef __MINGW32__ + /* Define file mode constants */ + #include <fcntl.h> + #endif {line 615, in cmd_cgi() } = g.httpOut = stdout; + #ifdef __MINGW32__ + /* prevent \n to \r \n translation on Windows */ + setmode( _fileno(g.httpOut), _O_BINARY ); + #endif The workaround in cgi.c, function cgi_reply() , is no longer necessary; the content-length header is valid. </verbatim> Full diffs will be posted on the fossil-users mailing list. Environment: Windows Vista, Apache httpd 2.2.9, mod_cgi, fossil [63886daad8] 2008-11-18 15:33:25 UTC"
  2. Change status to "Fixed"
Ticket change [eb6a9f18bf] (rid 3891) by anonymous on 2008-11-19 23:52:05:
  1. Appended to comment:

    anonymous added on 2008-11-19 23:52:05:
    Thanks for the fix, drh.

    • Bad news: I'm afraid it didn't really fix it. The contents of the EditCSS textbox still have extra \r , so line spacing increases by one after every edit.
    • Good news: stdout can be made binary with setmode(), which prevents the \n to \r\n translation.
    Patches for main.c:
    
    {line 30, in header includes}
    = #include <time.h>
    + #ifdef __MINGW32__
    + /* Define file mode constants */
    + #include <fcntl.h>
    + #endif
    
    {line 615, in cmd_cgi() }
    =  g.httpOut = stdout;
    + #ifdef __MINGW32__
    +   /* prevent \n to \r \n translation on Windows */
    +   setmode( _fileno(g.httpOut), _O_BINARY );
    + #endif
    
    The workaround in cgi.c, function cgi_reply() , is no longer necessary; the content-length header is valid.
    

    Full diffs will be posted on the fossil-users mailing list.

    Environment: Windows Vista, Apache httpd 2.2.9, mod_cgi, fossil 63886daad8 2008-11-18 15:33:25 UTC

  2. Change status to "Open"
Ticket change [f28d6d6bb9] (rid 3853) by drh on 2008-11-18 02:28:09:
  1. Appended to comment:

    drh added on 2008-11-18 02:28:09:
    The fix in check-in f6a071cef1 works for me on WinXP running under VMWare.

  2. Change resolution to "Fixed"
  3. Change status to "Fixed"
Ticket change [0582023acc] (rid 3850) by anonymous on 2008-11-17 22:04:21:
  1. Appended to comment:

    anonymous added on 2008-11-17 22:04:21:
    It's not just the edit CSS in setup that shows it, other pages suffer as well, e.g. Timeline. It is easily detected by truncation of the fossil standard footer.

    I do have a build infrastructure now (MSYS/MingW on Windows), and I did research some sources, but I can't point at the exact error.

  2. Change foundin to "[b3ee50c946] 2008-07-15, [ed5179db1f] 2008-11-15 21:17:31"
  3. Change priority to "Low"
  4. Change resolution to "Open"
Ticket change [727fdd03f3] (rid 3379) by anonymous on 2008-09-02 14:02:55:
  1. Change comment to "While editing CSS and HTML in Fossil Setup, extra CR/LF pairs are added to the text box and the calculation of the http Content-length header is wrong (as if those extra CR/LF pairs weren't added), so some content is dropped at the end of the webpage. I'm not sure what's the cause, it might be an apache-CGI problem. Environment: Running Fossil version [b3ee50c946] 2008-07-15 19:03:42 on Windows as CGI handler under Apache/2.2.6 (Win32), Server built: Sep 5 2007 08:58:56. Observed with Firefox and IE7 on Windows. The local fossil server http://127.0.0.1:8080/setup_editcss works as expected. I'm not sure this is related, but for many fossil generated pages, the apache httpd error log shows lines like: [Tue Sep 02 14:32:09 2008] [error] [client my.ip.add.ress] , referer: http://sub.domain.tld/fossil/sqlite/setup_editcss but the access log seems ok: my.ip.add.ress - - [02/Sep/2008:14:32:09 +0200] "GET /fossil/sqlite/setup_editcss HTTP/1.1" 200 8802 I would like to try with the more recent Fossil version [4b56350ecb] 2008-07-24 15:08:13, but it isn't available for download as a prebuild Win32 binary, and I don't have a build infrastructure here."
  2. Change foundin to "[b3ee50c946] 2008-07-15"
  3. Change private_contact to "fa3d79500802fb558cdda589d6f03fdcc3496420"
  4. Change severity to "Important"
  5. Change status to "Open"
  6. Change title to "Edit CSS/HTML in Setup adds extra CR/LF, wrong http Content-length"
  7. Change type to "Code_Defect"