1
desired features (in no particular order):
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
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
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).
36
DHX authenticated printing logins (does a real Appleshare server
38
Change to samba-style config file.
40
autoconf/automake system:
41
Need to separate out the flags and libraries for different
42
applications, so that we aren't having them all linked with
46
cleaner separation of layers.
47
fcntl-style byte locks - almost done. it just needs to do a
48
little sorting to get around a race condition.
49
AFP <-> Unix permissions. there are a couple cases where they
50
don't map perfectly. in particular, gid == 0 means
51
ignore group permissions while uid == 0 means anybody
52
can fiddle with this file. in addition, we need to be
53
able to still change permissions on a directory with u-a
54
set. finally, we need to adjust the offspring count
55
for directories based upon what permissions they
56
have. i.e., search -> can see directories.
57
read -> can see files.
58
we need to map permissions so that these semantics get
60
real variable DIDs for now: it turns out that afpd lies about
61
this and says that it's doing fixed dids. bad bad
62
bad. i just have to implement Open/CloseDir and fiddle
63
a little with did assignment. argh. apple's appleshare
64
client doesn't like non-fixed directory ids.
65
support picking up items from dropboxes without linux-side superuser
67
support for system-wide messages; send the main afpd process SIGUSR2
68
and each of the children should send out the same message.
69
replacement of a linefeed with the appropriate Macintosh character in
70
server messaging (currently replaces with a space)
74
sped up of_findname and of_dealloc.
75
increased AFP compliance w.r.t. open forks and renames:
76
wordperfect and simpletext now both work!
78
solaris beta STREAMS driver added.
80
cleaner startup/takedown
81
added debug messages to dsi_write areas.
82
fixed server info unexpected disconnects (due to OT bug).
83
afp/ddp and afp/tcp cohabitation. afp/ddp and afp/tcp can
84
operate separately now (-T turns off tcp, -D turns off ddp).
85
incorporated the netbsd patches
86
[source: wrstuden@loki.stanford.edu (Bill Studenmund)]
87
added/fixed quota support for linux/bsd4.4
88
codepage support/casefolding on a per volume basis.
89
expanded per-volume options
90
added "generic" platform support for AFP/tcp.
91
dynamically loaded uams
92
:ETCDIR:/afppasswd file for randnum passwds
93
can turn off .AppleDouble generation.
94
AppleVolumes variable substitions
95
atalkd: zones on single interfaces and the ability to control
96
which interfaces get routes between them.
97
papd: cleartext and noauth logins using Print Server Security
99
CAP-style authenticated printing
100
fixed errors when spooling to lpr 0.46 queue