didg [Mon, 14 Oct 2002 06:30:49 +0000 (06:30 +0000)]
bugfix cname() don't invalidate directory if it's the root parent (did == 1).
Some client makes bogus request eg:
FPGetfileDirParam(did = 1, name = Disk 1). I believe with did == 1 only the
volume name is valid.
didg [Fri, 11 Oct 2002 14:18:21 +0000 (14:18 +0000)]
- added a cache for directories offspring count.
- added unix name in struct dir.
- added pread/pwrite, (there was at least one bug in adf_off book keeping).
- removed (temporary?) memory mmap header, it was unused and made the code
unreadable.
- used a new struct path with unix name, mac name and file stat.
- fixed for catsearch (not well tested)
- temporary ATACC and NO_UAM_LOAD, I will remove them (ATACC is a test coverage tool).
- added AFP 3.1 calls readext,writeext, bytelockext, enumerateext2
(catsearchext, enumerateext are the same) . --afp3 parameter in
configure. configure.in changes aren't good. Maybe get CVS samba stuff
(eg for linux there's no sendfile64 on 32 bits box). The biggest change
is that we can't use the ressource fork len in the header (it's too
small). Not well tested.
- fixed few signed/unsigned missmatch, mainly when a signed fetched from the wire is checked
against and unsigned buffer size.
jmarcus [Thu, 10 Oct 2002 20:27:36 +0000 (20:27 +0000)]
Fill in the volume creation time with the datestamp instead of the
current timestamp. This fixes most of the identical volume problems
seen by some users.
Tested by: Thomas Kaiser <Thomas.Kaiser@kaiser-edv.de>
jmarcus [Sat, 31 Aug 2002 08:05:40 +0000 (08:05 +0000)]
* Add support for verifying the mangle database if it exists
* Establish a shared lock on the open AppleVolumes.default file
* Clean up the code with perltidy
jmarcus [Sat, 31 Aug 2002 05:35:09 +0000 (05:35 +0000)]
Create a (for now) undocumented volume option, "umask" which gives us
the ability to have CNID files and directories created with the umask of the
logged in user.
Currently this is only done for '~' shares, but the umask volume option
could be specified for any share. It could even be extended to things other
than CNID.
jmarcus [Fri, 30 Aug 2002 03:12:45 +0000 (03:12 +0000)]
Introduce Conncurrent Data Store (CDB) support to CNID. This is phase 1.
In this phase, CDB is a configure option, and is either enabled or disabled
for all volumes at compile time. By default, CDB is disabled in favor of
transactional data store.
CDB has some advantages. It doesn't use transactions or logging, thus it's
less likely to be corrupted if the server dies prematurely. It also
doesn't eat up disk space with transaction logs. The disadvantage is that
it's designed for environments with many readers and one writer. This means
that many afpd clients could block while waiting for a write lock on
the database. That's why testing is in order.
In phase 2, CDB is be configurable on a per-volume basis.
Phase 3 (if testing of phase 1 and 2 is good) will be to enable CDB as the
default CNID data store scheme.
To enable CDB, simply specify the configure argument --with-cdb when
configuring with CNID DID support.
rlewczuk [Sun, 25 Aug 2002 13:26:19 +0000 (13:26 +0000)]
Rudimentary FPCatSearch implementation.
Still has bugs and some things (like offspring count filter) aren't implemented.
Activate with --with-catsearch while invoking ./configure.
sibaz [Sat, 24 Aug 2002 05:00:06 +0000 (05:00 +0000)]
reorganised the log messages, fixed the typo conscerning unsetuplog in afp_options, and added an example to the afpd.conf.tmpl file (and removed the warning)
sibaz [Sat, 24 Aug 2002 03:47:37 +0000 (03:47 +0000)]
doh, the code was looking up the loglevel against a table, then using the position in that table as the value, the enum was ten times that. That was all that was causing problems. I've altered the loglevels table to reflect this, by making the more debug levels go debug, debug6, debug7, debug8, debug9, maxdebug, all of which correspond to their enum values except divided by ten
sibaz [Sat, 24 Aug 2002 02:12:43 +0000 (02:12 +0000)]
renamed the -setuplogtype optione to -[un]setuplog, where unsetting a log simply sets its loglevel to severe. Added usage notes in afpd.conf.tmpl, and allowed for the fact that not all parameters are neccesarily defined (specifying unsetuplog will drop the loglevel parameter)
sibaz [Sat, 24 Aug 2002 01:32:19 +0000 (01:32 +0000)]
altered the format that setuplog works so one less parameter is needed. This untested, but I'm pretty sure it'll work as intended. Use at -setuplog option at your own risk