+++ /dev/null
-desired features (in no particular order):
- afpd:
- return the right version-specific error codes
- honor the readonly/deleteinhibit/renameinhibit/copyprotect bits.
- via a database (that handles ro media, -db <path>):
- Add afp_fileid capabilities - done
- Add afp_catalogue
- afp_enumerate optimization
- server messages in useful places
- change afp/ddp child handling to be in line w/ generic?
- administrative control program (using asip API?)
- appledouble v2 (gets us persistent DIDs). we'll need a did
- database for non-hfs volumes. i think mmapping a
- bitmap with dids at the root level should work.
- also, v2 gets us much better prodos support and
- provides for shortname support. - done
- various toggles to afpd.conf (-timeout, etc.)
- figure out more ways of optimizing things. current places
- of interest:
- 1) reading/writing. currently there's character
- replacement. we should have a better way of doing
- it that speeds things up the no-replacement case.
- i've already done that for the crlf case.
- 2) use of mmap where appropriate. NOTE: this will only
- be a win if we mmap heavily used files. likely
- candidates include file-based databases. mmapping
- header files is actually pretty slow under linux.
- 3) change lookup algorithms where appropriate.
- ability to interact with hfs desktop databases (either by
- changing hfs or changing afpd).
- utmp/wtmp support
-
- papd:
- DHX authenticated printing logins (does a real Appleshare server
- do this?)
- Change to samba-style config file.
-
- autoconf/automake system:
- Need to separate out the flags and libraries for different
- applications, so that we aren't having them all linked with
- every library, etc.
-
-things to fix:
- cleaner separation of layers.
- AFP <-> Unix permissions. there are a couple cases where they
- don't map perfectly. in particular, gid == 0 means
- ignore group permissions while uid == 0 means anybody
- can fiddle with this file. in addition, we need to be
- able to still change permissions on a directory with u-a
- set. finally, we need to adjust the offspring count
- for directories based upon what permissions they
- have. i.e., search -> can see directories.
- read -> can see files.
- we need to map permissions so that these semantics get
- followed.
- support picking up items from dropboxes without linux-side superuser
- intervention
- support for system-wide messages; send the main afpd process SIGUSR2
- and each of the children should send out the same message.
- replacement of a linefeed with the appropriate Macintosh character in
- server messaging (currently replaces with a space)
-
-added features:
- sped up of_findname and of_dealloc.
- nfs quota support
- solaris beta STREAMS driver added.
- 64-bit cleanup
- cleaner startup/takedown
- added debug messages to dsi_write areas.
- fixed server info unexpected disconnects (due to OT bug).
- afp/ddp and afp/tcp cohabitation. afp/ddp and afp/tcp can
- operate separately now (-T turns off tcp, -D turns off ddp).
- incorporated the netbsd patches
- [source: wrstuden@loki.stanford.edu (Bill Studenmund)]
- casefolding on a per volume basis.
- added "generic" platform support for AFP/tcp.
- :ETCDIR:/afppasswd file for randnum passwds
- AppleVolumes variable substitions
- atalkd: zones on single interfaces and the ability to control
- which interfaces get routes between them.
- papd: cleartext and noauth logins using Print Server Security
- Protocol
- CAP-style authenticated printing
- fixed errors when spooling to lpr 0.46 queue