Forum OpenACS Q&A: Re: Possible bug in ACS Mail Lite

Posted by Gustaf Neumann on
If i see this correctly, the "name" attribute of the content-type predates the content-disposition (with parameter "filename"), and some "old clients" need this.

This reference [1] (ned freed) mentions that is is fine to set both the name and the filename parameters, and since thunderbird makes this as well, it should be fine when OpenACS does it also. However, i see no relation to "safety reasons".

From my point of view, please go ahead to commit the change. Hopefully, the content of $name is sanitized.


Posted by Antonio Pisano on
Went deeper into the issue: 'name' parameter of content-type header is taken from 'title' column of cr_revisions. My application created attachments into content-repository with empty 'title' column, and so I had an empty name in content-type.

I have changed the code on my end so title is set and this should fix the problem without committing anything. Anyway, putting a one-liner to avoid empty names into content-type shouldn't hurt.

All this said, I really don't know what Libero provider is so worried about...

Posted by Antonio Pisano on
Had some thinking...

the only reason I am passing through file-storage to send attachments is that ACS Mail Lite currently needs a file to reside into the file-storage to send it as an attachment (as far as I know).

At the time I just wanted the feature up and running, so I didn't care, but you can tell yourself this approach is far from being optimal: I have to save my attachment into the file-storage, send the email, then delete it... and all of this needs to happen in a transaction in order to be safe.

It won't take forever to extend Mail Lite so it can also send attachments taken from a regular file on the server, and this would be very convenient for me.

I will propose you my change to see what you think