The Mozilla
Organization
Our Mission
Who We Are
Getting Involved
Community
Editorials
What's New
Newsbot
Development
Roadmap
Module Owners
Blue Sky
Projects
Status
Tools
Products
Source Code
Binaries
Documentation
License Terms
Bug Reports
Quality
Search
Feedback


native methods needed by grendel
by Jamie Zawinski
20-Nov-1997

This document lists the system services that Grendel will require to function properly that are not provided by the core Java 1.1 API. Please add to this list as you find more examples.

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/appledouble messages. Without the ability to write the resource fork of a Mac file, we will be unable to decode multipart/appledouble messages.

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/privacy issue.



Copyright © 1998 The Mozilla Organization.