cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

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: Fri, 19 Jul 2013 04:35:17 +0000

I did some tests with some typical VMS text files and a simple ZIP file.

The binary read is what the formdata module would read from the file.

This indicates that just fixing the file size will not solve the problems on VMS.

~~~~~
VMS_ROOT:[curl.packages.vms]dcl_test.test;1
hello

VMS_ROOT:[curl.packages.vms]vms_text.test;1

5char

VMS_ROOT:[curl.packages.vms]hello.test;1

hello

EAGLE> stat_test test.zip
size: 160
st_fab_rfm: 1
st_fab_rat: 0
st_fab_fsz: 0
st_fab_mrs: 512
binary read: 512
normal read: 512
~~~~~

Binary file - fixed record size.
stat appears to be correct but read is reading entire last block instead of up to the EOF count.

~~~~~
EAGLE> stat_test dcl_text.test
size: 10
st_fab_rfm: 3
st_fab_rat: 4
st_fab_fsz: 2
st_fab_mrs: 0
binary read: 7
normal read: 6
~~~~~

The "normal" read is what the recipient is probably expecting, not a binary read. Normal read is "hello\n". Not sure what binary read has for last two characters.

~~~~~
EAGLE> stat_test vms_text.test
size: 8
st_fab_rfm: 2
st_fab_rat: 2
st_fab_fsz: 0
st_fab_mrs: 0
binary read: 5
normal read: 6
~~~~~

Again, the "normal" read is what the recipient is probably expecting. The binary read omits the "\n" from the record.

~~~~~
EAGLE> stat_test hello.test
size: 6
st_fab_rfm: 5
st_fab_rat: 2
st_fab_fsz: 0
st_fab_mrs: 0
binary read: 6
normal read: 6
~~~~~

The one case that always works, STM_LF.

---
** [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:** Thu Jul 18, 2013 10:51 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.

donate! Page updated May 06, 2013.
web site info

File upload with ASP.NET