jmarcus [Thu, 14 Feb 2002 05:59:51 +0000 (05:59 +0000)]
Fix the error message reported when of_find fails to find a valid fork. Since
of_find() doesn't set errno, there's really no since in calling strerror()
on a "dirty" value.
srittau [Wed, 13 Feb 2002 16:56:20 +0000 (16:56 +0000)]
NetBSD fix by Juergen Hannken-Illjes. First network is now set to 1 instead
of 0. I'm really not sure what this does and if it breaks something on
other platforms. So please *test*.
jmarcus [Sat, 9 Feb 2002 17:13:52 +0000 (17:13 +0000)]
Redo the server notification flag. Revert to having server notifications
enabled by default, and rename the flag to -client_polling which will
disable server notifications.
jmarcus [Fri, 8 Feb 2002 16:42:31 +0000 (16:42 +0000)]
Fix for two things:
(1) General: Using --enable-srvloc results in compile-time errors when
libslp.a is not installed in a standard location searched by the linker.
This is due to the missing third argument in AC_CHECK_LIB(slp,
SLPOpen, , AC_MSG_ERROR([SLP installation not found])) on line 32 in
macros/srvloc.m4: This sets LIBS="-lslp $LIBS" globally in configure,
instead of just setting SLP_LIBS and SLP_CFLAGS.
(2) Tru64-specific: In libatalk/utils/logger.c, the function vsnprintf()
is used. Up to and including version 4.0F, Tru64 doesn't have this
function in its standard C library, although the DEC C compiler has a
prototype for it. Instead, vsnprintf() is contained in libdb.a (not to
be confused with libdb3.a), which must be given as a separate flag to
the linker.
jmarcus [Thu, 7 Feb 2002 21:45:07 +0000 (21:45 +0000)]
Automatically detect the temp directory. The tmpdir() code is taken from
File::Spec, and brought to my attention by MacMan One <power2themacs@yahoo.com>.
jmarcus [Wed, 6 Feb 2002 21:58:47 +0000 (21:58 +0000)]
Add the -server_notif server flag to specify whether or not to advertise
server notification support. If this flag is not specified, then the clients
will poll the server every 10 seconds for directory changes.
morgana [Sun, 3 Feb 2002 22:03:59 +0000 (22:03 +0000)]
Make bin/afppasswd setuid root during install. This lets local users call
afppasswd to update their afppasswd password, similar to the standard unix
passwd program. Fixes sourceforge bug #230524.
jmarcus [Sun, 3 Feb 2002 04:57:38 +0000 (04:57 +0000)]
Fix a race condition on reading and writing data to the same fork. Also,
correct a lock contention issue where one afpd process could lock a
byte region, and then only unlock part of that region. The next afpd
process to access the same reason would receive AFPERR_LOCK. Submitted by
didier <dgautheron@magic.fr>.
jmarcus [Tue, 29 Jan 2002 21:12:14 +0000 (21:12 +0000)]
Update the CNID code again to allow for 4G CNIDs, and a little somethin'
somethin' to try and fix the issue when a client holding the recovery lock
on a database unexpectedly disconnects without closing the database.
jmarcus [Mon, 21 Jan 2002 04:48:14 +0000 (04:48 +0000)]
Change didname database to a hash instead of btree. Since we're using a
red-black tree within afpd to keep directories in line, this is sort of
redundant. Also, the compare function seems to be buggy.
This is still a todo item, but as of now, the hash seems to work well, and
increase database resiliency. This commit obsoletes the didname verify
tool in bin. I'm going to leave the tool in for now pending further
investigation of this problem.
jmarcus [Thu, 17 Jan 2002 16:19:06 +0000 (16:19 +0000)]
Implement a round of CNID DB fixes per suggestions by
didier <dgautheron@magic.fr>. These changes enforce non-reusable DIDs
and FNums, and remove some transaction nesting in cnid_add.
Also, if cnid_add fails for whatever reason, functions that call it will
return errors instead of proceding.
jmarcus [Thu, 17 Jan 2002 16:13:34 +0000 (16:13 +0000)]
Fixes from didier <dgautheron@magic.fr> to not use a freed pointer in
when closing an afp_dsi session, and to not return 0 for as an
OForkRefNum (per Apple spec).