![]() |
|
|
native methods needed by grendel
|
||||||||||||||||||||||
| Service | Platform | Consequence |
|---|---|---|
| link() system call. | Unix |
Mail file locking cannot work on Unix.
We must have this. It is critical. |
| truncate() system call. | All | If an error occurs while appending a message to a folder (such as running out of disk space) it will be impossible to back out the change. The target folder will have had a partial message appended to it (which is spelled ``mail file corruption.'') |
| Read/write access to resource fork. | Mac |
Mac users will be unable to exchange files that have resources
(such as executables.)
Without the ability to read the resource fork of a dual-forked Mac
file, we will be unable to generate multipart/
Mac users will find this critical.
|
| chmod() and fchmod() system calls. | Unix |
When we create new mail folders, or compact folders, or empty the
trash, the newly-created mail files will be world-readable by default.
The user will be able to correct this by hand later, but it opens a
window during which other users could read their mail.
When sending mail messages, we sometimes create temporary files in the system's /tmp directory. Without fchmod(), those temporary files will be readable by others, exposing the user's outgoing mail to evesdropping as well.
This is a pretty basic security/ |