|
|
cURL Mailing List Monthly Index Single Mail
curl-tracker Archives
[curl:bugs] #758 VMS-Alpha, http-upload not working
From: John Malmberg <wb8tyw_at_users.sf.net>
Date: Thu, 18 Jul 2013 22:51:27 +0000
I am planning on trying to fix the formdata issue first and then looking at the other cases.
What I am looking at is writing a VmsFileSize() routine and then using a macro so as not to disrupt the existing logic in the code that is checking to see if it is a directory not a file.
I need the filename, as I can not easily reconstruct the filename from the stat buffer on VMS.
~~~~~
**. . .**
~~~~~~
I also should be able to get the size of (st_fab_rfm == FAB$C_FIXED) with out reading the in the file if my tests show that it stat() on VMS is returning the wrong value.
The large file uploads should typically be either FAB$C_FIXED or FAB$C_STMLF so there should be no penalty on them. ZIP archives created on VMS are FAB$C_FIXED format. So should disk images.
The variable length formats will typically be text files and should not be too large, so reading them twice should not be a significant slowdown.
--- ** [bugs:#758] VMS-Alpha, http-upload not working** **Status:** open-confirmed **Labels:** http VMS **Created:** Mon Aug 18, 2008 04:09 PM UTC by Harald Schwarz **Last Updated:** Tue Jul 16, 2013 07:14 PM UTC **Owner:** Daniel Stenberg On VMS-Alpha: When using an http-file-upload the file is not sent to the Server with the correct content-length. Sending a file with 511 or less bytes, content-length 512 is used. Sending a file with 513 - 1023 bytes, content-length 1024 is used. Files with a length of a multiple of 512 Bytes show the correct content-length. Only these files work for upload. Test-Commands on VMS-Alpha, Linux \(Suse\) and Windows: curl --form myfile=@test.ras --trace-ascii testras.log http://my\_web\_test\_server/cgi-bin/upload.pl curl --form myfile=@test.doc --trace-ascii testdoc.log http://my\_web\_test\_server/cgi-bin/upload.pl File test.doc has the size 21.504 \(multiple of 512\) File test.ras has the size 5.686 \(not a multiple of 512\). Using test.doc everything works. Using test.ras the Content-Length in the LOG-File differs from the content length on Linux/Windows. The receiving program \(in my testcase "upload.pl"\) says that I have a post-data mismatch. VMS shows: 002c: Content-Disposition: form-data; name="myfile"; filename="test.ra 006c: s" 0070: Content-Type: application/octet-stream 0098: => Send data, 6144 bytes \(0x1800\) Linux + Windows show: 002c: Content-Disposition: form-data; name="myfile"; filename="test.ra 006c: s" 0070: Content-Type: application/octet-stream 0098: => Send data, 5686 bytes \(0x1636\) My workaround: I wrote a perl-program to add some bytes to the file to have a multiple of 512 Bytes. The CGI-Program \(upload.pl\) then reduces the filesize back to the origin. This workaround works for all files with all sizes - but the error in curl still remains. Now I have to say, that I'm not a C-Programmer, so I kindly ask for help. If you need a VMS-Alpha for testing \(incl. Compiler, ...\), please have a look at www.polarhome.com. On VMS-Alpha: before you can use "curl" as a program you have to define a symbol that points to CURL.EXE. curl = "$...\[...\]CURL.EXE" Then "curl" can be startet as described above. Used CURL-Version on all systems: 7.18.2. --- Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.Received on 2013-07-19 These mail archives are generated by hypermail. |
Page updated May 06, 2013.
web site info