The following were necessary in order to implement a Kerbers 5 UAM compatible
with what Apple ships in OS X 10.2.
o support for specifying k5service and k5realm in afpd.conf
o support for UTF8ServerName and DirectoryServicesNames in GetStatus reply
o uam support for querying the server's k5service setting
srittau [Tue, 18 Mar 2003 23:32:17 +0000 (23:32 +0000)]
parseline(): Increase buffer size instead of shrinking it, in case the
buffer is too small. Increased buffer size from 1024 to 2048. Patch by
Dan Wilga.
didg [Tue, 18 Mar 2003 00:20:27 +0000 (00:20 +0000)]
dirlookup() utf8 support
getdirparams() dot files and noadouble
cname() and afp_createdir() concurrent access (when a deleted dir is the
current work directory).
srittau [Mon, 24 Feb 2003 23:33:14 +0000 (23:33 +0000)]
Miscellaneous updates, spelling streamlining. (e.g. netatalk -> Netatalk,
mac -> Mac, OS X -> MacOS X, etc.), and formatting streamlining. (URLs are
now indented etc.)
afp_openfork() we need to keep track if we (re)open the ressource fork.
it was a problem if:
- there's no ressource fork
- the data fork is open read write
- the ressource fork is open read write
- the data fork is closed.
With a Mac it was an issue with noadouble and no .AppleDouble folder,
otherwise the ressource fork is always created before opening the data fork.
(if it can't, because permission on .AppleDouble, then the RF can't be open
read write).
enumerate.c:
more if ((A = B) == C) to (C == (A = B))
adddir() free allocated memory
file.c:
use the new getmetada() format
copyfile() use ad_open, with the new ADFLAGS_NOHF attrib., rather than
open syscall.
afp_creatfile() if there's an error in ressource fork creation then delete
the data fork if any. It's the reason for ADFLAGS_NOHF, we need to be sure
that the data fork was created by us, ie we have a file descriptor for it.
filedir.c:
remove cnid_delete(), now in deletefile()
adouble.h:
add a new attrib. ADFLAGS_NOHF mean don't return an error if there's
no ressource fork.
Helper for using ad_open in copyfile() and in afp_createfile()
cnid.h:
add CNID_ERR_CLOSE error, not used for now.
ad_lock.c:
ad_fcntl_lock() a previous fix a typo =/==, and now we have a
reference used after freed in realloc.
srittau [Sat, 8 Feb 2003 11:49:42 +0000 (11:49 +0000)]
*Don't* use --copy in autogen.sh. Symlinks are the way to go, since this
assures that ensures that always the latest version of these files are used.
(Also all other projects I know do it that way, too.)
didg [Sat, 1 Feb 2003 19:34:55 +0000 (19:34 +0000)]
bugfix: renamefile() various bugs with concurrent access, open file, and
permission, fewer case where the job is half done, eg return an error but the
data fork is moved or the ressource fork is lost.
code cleaning: deletefile() ad_open, ad_lock already deal with read only file
didg [Sun, 26 Jan 2003 10:42:40 +0000 (10:42 +0000)]
bugfix file.c directory.c: open directory descriptor leak, buffer overflow if
path > MAX_PATH.
fork.c rename a function, keep afp_xxx only for AFP calls.
didg [Fri, 24 Jan 2003 07:08:42 +0000 (07:08 +0000)]
bugfix: dirlookup() return dirsearch error if any (AFPERR_PARAM).
cname():
we always need to call movecwd, even if we extended the cache eg:
cname dir1\0dir2\0\0 have to chdir to dir1. It wasn't the case if dir2 was not
in the cache.
do the right stuff when the user don't have right access to a directory. Some
calls are unfixable (afp_xxxcomment) or will always fail (afp_delete) but it'd
be ok.
didg [Fri, 24 Jan 2003 06:58:23 +0000 (06:58 +0000)]
improvement: add a SUIDDIR (aka BSD like) for admin user, files create by an admin
(euid root) are now owned by their parent directory owner. TODO configure option?,
security?