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?
didg [Thu, 16 Jan 2003 21:18:15 +0000 (21:18 +0000)]
BUGFIX: deny mode, tmp lock, byte lock when length is -1, setforkparams,
AFP3 large file support
deny mode: make it works with more than 2 openers
tmp lock: check conflicting locks with files open multiple times by the same
process, was only check locks held by other afpd.
byte lock: -1 means to the maximum size of a fork, was always error EOVERFLOW,
because we don't start from offset 0 and we can't use the POSIX way ie length 0.
setforparams: only conflicting locks if it's a truncate and it removes a locked
range, was any lock return an error.
AFP3: check for negative values with 32 bits calls, setforparams for size >2GBytes,
read and write with offset > 2GBytes.
didg [Sun, 12 Jan 2003 14:39:57 +0000 (14:39 +0000)]
stupid stuff, replace
if ((a = b) == c)
with
if (c == (a = b))
for '==' and '!=' operators. the form ((a = b) == c) is confusing for some, not
smart enough, data-flow analyser.
jmarcus [Sat, 11 Jan 2003 17:26:05 +0000 (17:26 +0000)]
* Add Apple II boot support for Appl IIe (with workstation card) and
Apple IIgs using built-in LocalTalk [1]
* Fix some ProDOS file attribute problems
* Fix the RedHat RPM build for RH 7.3 and 8.0
* Fix a few other build nits
Submitted by: Steven N. Hirsch <shirsch@adelphia.net>
Obtained from: Marsha Jackson [1]
rlewczuk [Tue, 7 Jan 2003 15:55:21 +0000 (15:55 +0000)]
Moving things between two folders on the same volume but different group ownership bugfix.
If destination directory has SGID, group ownership for is changed while renam()ing.
This is very ugly hack, IMO should be implemented along with force gid/uid stuff.
jmarcus [Sat, 4 Jan 2003 22:14:03 +0000 (22:14 +0000)]
Add a README.cnid which talks about what CNID is, and what it means to
Netatalk. It also includes Adrian's old developer notes for a rough
understanding of the whole process.
jmarcus [Sat, 4 Jan 2003 21:53:39 +0000 (21:53 +0000)]
* Remove some more references to DB3, and mention exactly which versions of BDB
we support as well as what is the current recommended version.
* Clean up the PAM documentation some to make it less Linux specific.
jmarcus [Sat, 4 Jan 2003 21:41:48 +0000 (21:41 +0000)]
Change all references to db3/DB3 to BDB. We now support Berkeley DB
3.0.17, 3.2.9, 3.3.11, 4.0.14, and 4.1.25. This means that --with-db3 is
now --with-bdb.