]> arthur.barton.de Git - netatalk.git/blob - TODO
Initial revision
[netatalk.git] / TODO
1 desired features (in no particular order):
2     afpd:
3         return the right version-specific error codes
4         honor the readonly/deleteinhibit/renameinhibit/copyprotect bits.
5         via a database (that handles ro media, -db <path>):
6                 Add afp_fileid capabilities - done
7                 Add afp_catalogue
8                 afp_enumerate optimization
9                 cname expansion to handle 8+3 and 255-unicode.
10         server messages in useful places 
11         Other useful bits of AFP 2.0/2.1. are there any?
12         change afp/ddp child handling to be in line w/ generic?
13         administrative control program (using asip API?)
14         appledouble v2 (gets us persistent DIDs). we'll need a did
15                 database for non-hfs volumes. i think mmapping a
16                 bitmap with dids at the root level should work.
17                 also, v2 gets us much better prodos support and
18                 provides for shortname support. - done 
19         various toggles to afpd.conf (-timeout, etc.)
20         figure out more ways of optimizing things. current places
21                 of interest:
22                 1) reading/writing. currently there's character 
23                    replacement. we should have a better way of doing
24                    it that speeds things up the no-replacement case.
25                    i've already done that for the crlf case.
26                 2) use of mmap where appropriate. NOTE: this will only
27                    be a win if we mmap heavily used files. likely
28                    candidates include file-based databases. mmapping 
29                    header files is actually pretty slow under linux.
30                 3) change lookup algorithms where appropriate. 
31         ability to interact with hfs desktop databases (either by
32                 changing hfs or changing afpd).
33                 
34     papd: implementing uams would be a good idea
35          
36         
37 things to fix:
38         cleaner separation of layers.
39         fcntl-style byte locks - almost done. it just needs to do a
40         little sorting to get around a race condition.
41         AFP <-> Unix permissions. there are a couple cases where they 
42                 don't map perfectly. in particular, gid == 0 means
43                 ignore group permissions while uid == 0 means anybody
44                 can fiddle with this file. in addition, we need to be
45                 able to still change permissions on a directory with u-a
46                 set. finally, we need to adjust the offspring count
47                 for directories based upon what permissions they
48                 have. i.e., search -> can see directories. 
49                             read -> can see files.
50                 we need to map permissions so that these semantics get
51                 followed.
52         real variable DIDs for now: it turns out that afpd lies about
53                 this and says that it's doing fixed dids. bad bad
54                 bad. i just have to implement Open/CloseDir and fiddle
55                 a little with did assignment. argh. apple's appleshare
56                 client doesn't like non-fixed directory ids. 
57
58 added features:
59         more of AFP 2.0!
60         sped up of_findname and of_dealloc.
61         increased AFP compliance w.r.t. open forks and renames:
62                 wordperfect and simpletext now both work!
63         nfs quota support
64         solaris beta STREAMS driver added.
65         64-bit cleanup
66         cleaner startup/takedown
67         added debug messages to dsi_write areas.
68         fixed server info unexpected disconnects (due to OT bug).
69         afp/ddp and afp/tcp cohabitation. afp/ddp and afp/tcp can
70         operate separately now (-T turns off tcp, -D turns off ddp).
71         incorporated the netbsd patches 
72                 [source: wrstuden@loki.stanford.edu (Bill Studenmund)]
73         added/fixed quota support for linux/bsd4.4
74         codepage support/casefolding on a per volume basis.
75         expanded per-volume options
76         added "generic" platform support for AFP/tcp.
77         dynamically loaded uams 
78         :ETCDIR:/afppasswd file for randnum passwds
79         can turn off .AppleDouble generation.
80         AppleVolumes variable substitions
81         atalkd: zones on single interfaces and the ability to control
82                 which interfaces get routes between them.