+1.  some kind of metadata is needed.

- James Snell
     IBM Emerging Technologies
     [EMAIL PROTECTED]
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9



Jess Sightler <[EMAIL PROTECTED]>
01/30/2003 02:00 PM
Please respond to axis-dev


To
[EMAIL PROTECTED]
cc

bcc

Subject
Re: Axis attachment naming enhancement (code attached)



Perhaps the real solution is to make Axis store the filename somewhere
(perhaps in a file like Axis98765axis.properties)?  I agree that letting
the client control the server filename is a security risks, but carrying
meta-data, such as whether or not the file is a .exe file) is useful.


On Thu, 2003-01-30 at 16:43, James M Snell wrote:
> I would think that allowing the client to control the naming of the 
files
> saved on the server would constitute a security risk on the server.  If
> the attachment contains a malicious executable, then Axis would be
> unwittingly allowing the code to be saved to the server in a form that
> would allow it to be easily executed (e.g. tempfilename.exe).  While I
> recognize the benefits that something like this would allow, I do not
> believe that this is the right solution.
>
> - James Snell
>      IBM Emerging Technologies
>      [EMAIL PROTECTED]
>      (559) 587-1233 (office)
>      (700) 544-9035 (t/l)
>      Programming Web Services With SOAP
>          O'Reilly & Associates, ISBN 0596000952
>
>      Have I not commanded you? Be strong and courageous.
>      Do not be terrified, do not be discouraged, for the Lord your
>      God will be with you whereever you go.    - Joshua 1:9
>
>
>
> Jim Lerner <[EMAIL PROTECTED]>
> 01/30/2003 12:10 PM
> Please respond to axis-dev
>
>
> To
> [EMAIL PROTECTED]
> cc
>
> bcc
>
> Subject
> Axis attachment naming enhancement (code attached)
>
>
>
>
>
> I am submitting for your approval (and integration) changes to
> Axis-1_1beta that allows Axis to create unique names for file
> attachments that bear a passing resemblance to the original filename.
> This is critical for applications that use the filename [extension] for
> disambiguation, and also in the case of multiple attachments on a single
> message.  It's my understanding that there are a number of Axis users
> out there who have suffered for lack of a solution to this problem.
>
> The premise is simple: add a MIME header to each attachment with the
> original filename.  When the file is sent to Axis, Axis'
> ManagedMemoryDataSource will use this name to create a uniquely named
> temporary file (eg. Axis98765_myfile.xls) rather than the usual
> (Axis98765axis).  Likewise, when Axis receives a file to be sent back to
> the caller, a MIME header on the attachment indicates the original name
> (Axis98765_myfile.xls).  This is not quite optimal, but it is easy
> enough for the client to parse and use, given that the underscore is
> guaranteed to be the first one in the filename.  Existing applications
> that don't set the MIME header will continue to see the previous file
> naming behavior.
>
> The changes that I've made (in the attached files) are as follows:
>
> org/apache/axis/transport/http/HTTPConstants:
> added HEADER_X_ORIGINAL_FILENAME for new MIME header
>
> org/apache/axis/attachments/AttachmentPart:
> setMimeHeader(DataSource's getName()) when creating an attachment part
> from a DataHandler and
> when setting a DataHandler for an existing AttachmentPart.
>
> org/apache/axis/attachments/MultiPartRelatedInputStream:
> inform ManagedMemoryDataSource of the X_ORIGINAL_FILENAME MIME heading.
>
> org/apache/axis/attachments/ManagedMemoryDataSource:
> added new constructor with extra parameter for original name (other
> constructors use this(..., null))
> added storage for the original filename
> use the original name when constructing the temporary file into which
> the in-memory file is flushed.
>
> Please let me know if you need any further clarification, any of this
> needs to be reworked, etc.  I'm hoping that you'll find this to be
> useful, correct, and worth integrating into the CVS repository.
>
> - Jim
>
>
>
>
>
>
>
--
=======================================
Jess Sightler
Senior Developer
Exim Technologies
131 Falls Street
Greenville SC 29601
Phone: 864-679-4651
=======================================




Reply via email to