2 2001-09-27 joe c <marcus@marcuscom.com>
4 * libatalk/cnid/cnid_open.c: Set internal deadlock detection
6 2001-09-23 joe c <marcus@marcuscom.com>
8 * libatalk/cnid/cnid_close.c, libatalk/cnid/cnid_resolve.c,
9 libatalk/cnid/cnid_open.c: More s/errno/rc fixes and some code
12 2001-09-22 joe c <marcus@marcuscom.com>
14 * configure.in: Fix db3 compilation on Linux
16 * libatalk/cnid/cnid_get.c: Fix another potential deadlock problem by
17 replacing EAGAIN with DB_LOCK_DEADLOCK
19 2001-09-21 joe c <marcus@marcuscom.com>
21 * etc/afpd/desktop.c: Re-enable codepage translations (thanks to
22 Egon Niederacher <niederacher@fh-vorarlberg.ac.at>)
24 * libatalk/cnid/cnid_add.c, libatalk/cnid/cnid_get.c,
25 libatalk/cnid/cnid_lookup.c, libatalk/cnid/cnid_close.c,
26 libatalk/cnid/cnid_open.c, libatalk/cnid/cnid_update.c: Fixed bugs
27 with database contention and database corruption.
29 2001-09-19 joe c <marcus@marcuscom.com>
31 * etc/afpd/afp_config.c: Fixed a bug where SRVLOC services wouldn't
34 * libatalk/cnid/cnid_add.c: Fix a bug where some DBT data structures
35 were not being memset to NULL correctly.
37 2001-09-18 joe c <marcus@marcuscom.com>
39 * etc/afpd/afp_options.c: Fix a bug in the custom icon code (thanks to
40 Edmund Lam <epl@unimelb.edu.au> for finding this)
42 * libatalk/cnid/cnid_open.c: Added db3 version checking code
44 * config/afpd.conf.tmpl: Removed uams_guest.so from the default UAMs
47 2001-09-17 jeff b <jeff@univrel.pr.uconn.edu>
49 * acconfig.h, configure.in, etc/afpd/afp_config.c: SLP
50 support added (Joe Clarke)
52 2001-09-14 jeff b <jeff@univrel.pr.uconn.edu>
54 * sys/netatalk/endian.h: fix from Robert Cohen
55 <robert.cohen@anu.edu.au> for missing endif
57 2001-09-13 joe c <marcus@marcuscom.com>
59 * libatalk/util/getiface.c:
60 fix some malloc problems when no atalkd.conf file exists
62 2001-09-10 joe c <marcus@marcuscom.com>
64 * libatalk/util/getiface.c: up the new interface by one
65 each time instead of IFACE_NUM
67 2001-09-10 jeff b <jeff@univrel.pr.uconn.edu>
69 * etc/afpd/afp_options.c, etc/atalkd/main.c, etc/papd/main.c:
70 added version reporting with -v switch
72 2001-09-06 jeff b <jeff@univrel.pr.uconn.edu>
74 * etc/atalkd/main.c, etc/papd/main.c, etc/psf/psf.c,
75 libatalk/asp/asp_getsess.c, libatalk/dsi/dsi_getsess.c,
76 libatalk/pap/pap_slinit.c, libatalk/util/server_child.c:
77 autoconf POSIX.1 sys/wait.h check
79 * lots of files: AC_HEADER_STDC autoconf changes
81 * sys/netatalk/endian.h: used autoconf endian test instead
82 of manually checking every architecture
84 2001-09-05 joe c <marcus@marcuscom.com>
86 * libatalk/cnid/cnid_open.c: comment out DB_JOINENV as this is not
87 supported in db3 3.1.17
89 * libatalk/cnid/cnid_add.c: fix my comments to properly explain the use
92 2001-09-04 jeff b <jeff@univrel.pr.uconn.edu>
94 * etc/afpd/filedir.h: define veto_file() prototype (Edmund Lam)
96 * etc/uams/uams_dhx_pam.c: added quick Sun hack to seed openssl,
97 but it *really* needs something more elegant (#458433)
99 2001-09-04 jeff b <jeff@univrel.pr.uconn.edu>
101 * libatalk/cnid/cnid_add.c, libatalk/cnid/cnid_open.c: fixed
102 duplicate DID's being generated and FreeBSD db3 fix (Joe Clarke)
104 * doc/README.veto, etc/afpd/directory.c, etc/afpd/enumerate.c,
105 etc/afpd/file.c, etc/afpd/filedir.c, etc/afpd/volume.c,
106 etc/afpd/volume.h: adds Samba-style "veto file" support
109 * configure.in: properly checks for db3 headers (Joe Clarke)
111 2001-08-31 jeff b <jeff@univrel.pr.uconn.edu>
113 * libatalk/cnid/cnid_*.c: compilation fixes for those who don't
114 want to compile with CNID support (Edmund Lam)
116 2001-08-28 Lance Levsen <l.levsen@printwest.com>
118 * config/Makefile.am: Added a variable substitution from
119 configure.in to stop overwriting the config files.
121 * configure.in: Added --enable-overwrite flag that enables the
122 overwriting of configure files. Default is no overwrite, but does
123 check for missing files.
125 2001-08-27 jeff b <jeff@univrel.pr.uconn.edu>
129 2001-08-21 jeff b <jeff@univrel.pr.uconn.edu>
131 * configure.in: now does rudimentary check for DB3 library
132 if CNID DB option (--enable-cnid-db) is given, with
133 option to specify path to DB3 (Jeff)
135 2001-08-16 Uwe Hees <uwe.hees@rz-online.de>
137 * libatalk/cnid: replaced EAGAIN in db result checking with
138 DB_LOCK_DEADLOCK as appropriate for db-3.
139 * fixed a potential transaction problem in cnidd_add.
141 2001-08-14 Sam Noble <ns@shadow.org>
143 * etc/afpd/directory.c: in afp_mapname and afp_mapid
144 convert uid/gid to/from network byte order before actually
145 using. This should hopefully fix a long-standing bug in
146 the admin functionality.
148 2001-08-14 jeff b <jeff@univrel.pr.uconn.edu>
150 * acconfig.h, configure.in, etc/afpd/directory.c,
151 etc/afpd/enumerate.c, etc/afpd/file.c, etc/afpd/file.h,
152 etc/afpd/filedir.c, etc/afpd/fork.c, etc/afpd/volume.c,
153 etc/afpd/volume.h, libatalk/Makefile.am,
154 libatalk/cnid/cnid_add.c, libatalk/cnid/cnid_close.c,
155 libatalk/cnid/cnid_delete.c, libatalk/cnid/cnid_lookup.c,
156 libatalk/cnid/cnid_nextid.c, libatalk/cnid/cnid_open.c,
157 libatalk/cnid/cnid_private.h, libatalk/cnid/cnid_update.c:
158 DID database and reincluding libatalk/cnid back into
159 compiled tree (Uwe Hees)
161 * libatalk/cnid/.cvsignore: updated .cvsignore list for
164 2001-08-09 Sam Noble <ns@shadow.org>
166 * configure.in, acconfig.h: Merged a patch from meeroh@mit.edu
167 to fix the kerberos uam build process.
169 2001-08-08 jeff b <jeff@univrel.pr.uconn.edu>
171 * etc/papd/session.c: prevents papd client from aborting
172 during the submission of a print job, therefore preventing
173 the job from hanging on the Mac (Michael Boers)
175 2001-07-10 Lance Levsen <lance@iworks.pwgroup.ca>
177 * man/man8/papd.8.tmpl: Fixed ftp URI for Adobe's PPD files.
179 2001-06-30 andy m <morgan@orst.edu>
181 * etc/papd/ppd.c: "unquote" ppd values by removing leading
182 and trailing quote character. This should fix bug #426141.
184 2001-06-27 jeff b <jeff@univrel.pr.uconn.edu>
186 * many, many, files: more malformed ifdef correction, nicer
187 comments, etc, etc, etc (Jeff)
189 * etc/afpd/directory.c, etc/afpd/uid.c, etc/afpd/uid.h: fixes
190 for force-uidgid to compile properly. haven't tested it, but
191 no more compile errors. (Jeff)
193 2001-06-27 uwe hees <hees@viva.de>
195 * etc/uams/uams_guest.c: fixed a typo.
197 2001-06-26 andy m <morgan@orst.edu>
199 * etc/papd/file.c: modified markline() to return 1 instead
200 of *linelength for successful completion. This should fix
201 the remaining binary printing problems in papd. Thanks go
202 out to Dave Arnold <darn0ld@home.com> for getting me thinking
203 about the markline function.
205 2001-06-25 jeff b <jeff@univrel.pr.uconn.edu>
207 * etc/afpd/auth.c, etc/afpd/main.c, etc/afpd/uam.c,
208 etc/uams/uams_dhx_passwd.c, etc/uams/uams_passwd.c,
209 include/atalk/uam.h: TRU64 authentication patch to allow
210 any security scheme to be used on the TRU64 side (Burkhard
213 * etc/afpd/uam.c, etc/papd/uam.c: fixed DISABLE_SHELLCHECK
214 support in both afpd and papd (Jason Keltz <jas@cs.yorku.ca>)
216 * etc/*/*.{c,h}: corrected malformed defines, nicer comments,
219 2001-06-20 jeff b <jeff@univrel.pr.uconn.edu>
221 * configure.in: check for linux/quota.h before enabling
222 QUOTACTL_WRAPPER (Joe Clarke)
224 * acconfig.h, configure.in, include/atalk/util.h,
225 libatalk/util/module.c: removed NO_DLFCN_H in favor of
226 ifndef HAVE_DLFCN_H (Jeff)
228 * configure.in, etc/afpd/*.{c,h}, include/atalk/util.h:
229 major autoconf fixes for afpd, nicer commenting, etc (Jeff)
231 2001-06-19 jeff b <jeff@univrel.pr.uconn.edu>
233 * etc/afpd/file.c, etc/afpd/parse_mtab.c, etc/afpd/parse_mtab.h,
234 etc/atalkd/route.h, etc/atalkd/rtmp.c, etc/papd/headers.c,
235 etc/papd/magics.c, libatalk/asp/asp_tickle.c: patch for
236 fixed DID calculation in etc/afpd/file.c, FreeBSD errors and
237 other miscellany (Joe Clarke)
239 * minor patches and fixes to the aforementioned files, warning
240 fixes with GCC, etc (Jeff)
242 2001-06-18 jeff b <jeff@univrel.pr.uconn.edu>
244 * configure.in, etc/uams/Makefile.am,
245 etc/uams/uams_krb4/Makefile.am: patch #433952 from Sebastian
246 Rittau to move UAM authentication to use libtool
248 * configure.in, bin/afppasswd/Makefile.am, config/Makefile.am,
249 contrib/shell_utils/Makefile.am, distrib/initscripts/Makefile.am,
250 etc/afpd/Makefile.am, etc/afpd/nls/Makefile.am,
251 etc/atalkd/Makefile.am, etc/papd/Makefile.am,
252 man/man5/Makefile.am, man/man8/Makefile.am: patch #433906
253 to move to pkgconfdir for package config files (Sebastian Rittau)
255 * configure.in: fixed error that caused --with-did not to function
258 2001-06-13 Sam Noble <ns@shadow.org>
260 * etc/papd/{printcap,ppd,lp,file,comment}.h:
261 added #include <sys/cdefs.h> to these headers so that __P gets
262 properly defined on platforms like TRU64
264 2001-06-11 jeff b <jeff@univrel.pr.uconn.edu>
266 * configure.in, include/atalk/adouble.h, libatalk/compat/flock.c:
267 patch #431859 to avoid ucbinclude on Solaris, with flock support,
268 thanks to Russ Allbery (rra@users.sourceforge.net)
270 * acconfig.h, configure.in, libatalk/util/server_child.c,
271 libatalk/util/server_lock.c, sys/netatalk/endian.h: patch #432052
272 for portability to IRIX, HP-UX, and AIX (Russ Allbery)
274 * etc/afpd/nls/makecode.c: patch #432137 to add codepage mapping
275 support for (C), (TM) and other characters to avoid losing them,
276 submitted by Andre Schild (aschild@users.sourceforge.net)
278 * configure.in: set sysconfdir as /etc/netatalk by default, and
279 uams path now pulls from sysconfdir instead of config_dir
282 2001-06-07 jeff b <jeff@univrel.pr.uconn.edu>
284 * configure.in, bin/afppasswd/Makefile.am,
285 contrib/shell_utils/Makefile.am, distrib/initscripts/Makefile.am,
286 etc/afpd/Makefile.am, etc/afpd/nls/Makefile.am,
287 etc/atalkd/Makefile.am, etc/papd/Makefile.am,
288 man/man5/Makefile, man/man8/Makefile.am: patch #422872 from
289 Sebastian Rittau to move from CONFIG_DIR to sysconfdir
291 * etc/psf/Makefile.am, sys/solaris/Makefile: additional removal
292 of CONFIG_DIR in favor of sysconfdir, plus patch #422860 from
293 Sebastian Rittau to correct other problems
295 * config/Makefile.am, config/netatalk.pamd: patch #422856 from
296 Sebastian Rittau, moving to pam_unix.so and being more proper
298 * etc/afpd/Makefile.am, etc/afpd/main.c: added support for
299 ${sysconfdir}/afpd.mtab to be read into memory, so that mtab
300 DID support actually works...
302 2001-06-06 jeff b <jeff@univrel.pr.uconn.edu>
304 * etc/afpd/filedir.c, etc/afpd/unix.c: fixed dropkludge code
305 so that it properly compiles again, along with minor warning
308 2001-06-05 Dan L. (pooba53)
310 * Modified configure.in so references made to $ac_prefix_default
311 listed at the beginning are correct. The previous references were
312 being made to $ac_default_prefix.
314 2001-06-04 jeff b <jeff@univrel.pr.uconn.edu>
316 * doc/README.TRU64: details about tru64 installations, from
317 Edmund Lam <epl@unimelb.edu.au>
319 * etc/afpd/fork.c: implemented Sebastian Rittau's change to
320 avoid overwriting AppleDouble headers (finally)
322 * configure.in, etc/afpd/enumerate.c, etc/afpd/parse_mtab.c:
323 added initial support for mtab DID format. removed "lastdid"
324 configure option in favor of --with-did={last,mtab}
326 2001-06-01 jeff b <jeff@univrel.pr.uconn.edu>
327 * etc/afpd/quota.c: fix for Linux compile by Sam Noble
330 2001-05-25 jeff b <jeff@univrel.pr.uconn.edu>
331 * etc/uams/uams_passwd.c: another Tru64 fix from Burkhard
332 Schmidt <bs@cpfs.mpg.de>
334 * configure.in, contrib/shell_utils/Makefile.am,
335 contrib/shell_utils/afpd-mtab.pl, doc/Makefile.am,
336 doc/COPYRIGHT.mtab, doc/README.mtab, doc/README.mtab.distribution,
337 etc/afpd/.cvsignore, etc/afpd/Makefile.am, etc/afpd/parse_mtab.c,
338 etc/afpd/parse_mtab.h, test_parse_mtab.c: experimental mtab
339 code from Bob Rogers to generate more persistant DIDs
341 2001-05-22 jeff b <jeff@univrel.pr.uconn.edu>
342 * configure.in, etc/afpd/unix.h: more portability fixes, and
343 integration of Tru64 build fix from Edmund Lam <epl@unimelb.edu.au>
345 * configure.in, bin/megatron/Makefile.am,
346 distrib/initscripts/Makefile.am, etc/afpd/main.c,
347 etc/afpd/quota.c, etc/afpd/unix.h,
348 etc/uams/uams_dhx_passwd.c, etc/uams/uams_passwd.c: Another
349 round of Tru64 patches from Burkhard Schmidt <bs@cpfs.mpg.de>
351 2001-05-09 jeff b <jeff@univrel.pr.uconn.edu>
352 * autogen.sh: added automake --include-deps to autogen.sh to
353 promote more portable Makefiles (thanks to Christian
354 Weisgerber <naddy@mips.inka.de> from OpenBSD)
356 2001-05-08 jeff b <jeff@univrel.pr.uconn.edu>
358 * bin/megatron/Makefile.am, etc/uams/Makefile.am: small Makefile fixes
359 from Olaf Hering <olh@suse.de>
361 * etc/uams/uams_dhx_passwd.c: Tru64 fixes from Burkhard Schmidt
364 2001-05-07 jeff b <jeff@univrel.pr.uconn.edu>
366 * contrib/shell_utils/netatalkshorternamelinks.pl: added script to
369 * etc/afpd/quota.c, etc/uams/uams_passwd.c: patches from Burkhard
370 Schmidt <bs@cpfs.mpg.de> to fix typos
372 2001-05-03 jeff b <jeff@univrel.pr.uconn.edu>
374 * etc/afpd/quota.c, etc/afpd/unix.h, etc/afpd/main.c,
375 etc/uams/uams_passwd.c: Tru64 patch from Burkhard Schmidt <bs@cpfs.mpg.de>
377 * configure.in, etc/afpd/quota.c, etc/afpd/unix.h: fixes for USE_*_H
378 moving to autodetected HAVE_*_H from autoconf script
380 2001-05-01 jeff b <jeff@univrel.pr.uconn.edu>
382 * bin/aecho/aecho.c, bin/getzones/getzones.c, bin/megatron/asingle.c,
383 bin/megatron/hqx.c, bin/megatron/macbin.c, bin/megatron/megatron.c,
384 bin/megatron/nad.c, bin/megatron/updcrc.c, libatalk/atp/atp_bprint.c,
385 libatalk/util/getiface.c: warnings patch from Sebastian Rittau
386 <srittau@users.sourceforge.net> (#420300)
388 * bin/afile/*: replacement for old restrictive afile from Sebastian
389 Rittau <srittau@users.sourceforge.net> (#420302)
391 * distrib/initscripts/rc.atalk.redhat.tmpl: daemon-specific start and
392 stop messages to the redhat initscript. nbpregister and unregister
393 messages are also displayed. This patch also permits spaces in zone
394 and machine names to be used in the variables. From Ryan Cleary
395 <tryanc@users.sourceforge.net> (#418094)
397 * bin/megatron/Makefile.am: patch to properly create links for
398 megatron, from Sebastian Rittau <srittau@users.sourceforge.net>
401 2001-04-25 morgan a <morgan@orst.edu>
403 * etc/afpd/unix.c: in setdirowner(), changed some of the syslog
404 statements from LOG_ERR to LOG_DEBUG. Some common "soft errors"
405 were being logged and scaring users. :)
407 2001-04-24 jeff b <jeff@univrel.pr.uconn.edu>
409 * configure.in: fixed problem with tcp_wrappers support; it needed to
412 2001-04-20 jeff b <jeff@univrel.pr.uconn.edu>
414 * configure.in, etc/afpd/Makefile.am, etc/papd/Makefile.am: added
415 AFPD_LIBS and PAPD_LIBS to cope with libraries that don't need to
416 be used for everything
418 2001-04-16 jeff b <jeff@univrel.pr.uconn.edu>
420 * etc/afpd/directory.c, etc/afpd/messages.c, etc/uams/uams_dhx_pam.c:
421 merged patch from Heath Kehoe <hkehoe@users.sourceforge.net> #416371,
422 fixing an OSX issue, byteorder problems with uid/gid in directory.c,
423 and fixing the syslog()'s in uams_dhx_pam.c to not produce useless
426 2001-04-12 jeff b <jeff@univrel.pr.uconn.edu>
430 2001-04-10 jeff b <jeff@univrel.pr.uconn.edu>
432 * configure.in, acconfig.h, etc/afpd/uam.c: patch submitted by Jason
433 Kelitz (jkeltz) to allow disabling of shell checking
435 * configure.in, contrib/Makefile.am: made timelord compilation
436 optional, disabled by default
438 2001-04-03 jeff b <jeff@univrel.pr.uconn.edu>
440 * etc/afpd/file.c: merged patch from Soren Spies <sspies@apple.com>
441 at Apple, fixing server disconnect problem upon afp_createid() call
443 2001-04-02 jeff b <jeff@univrel.pr.uconn.edu>
445 * contrib/shell_utils/Makefile.am, contrib/shell_utils/cleanappledouble.pl:
446 added cleanappledouble.pl script from Heath Kehoe <hakehoe@avalon.net>
448 2001-03-26 jeff b <jeff@univrel.pr.uconn.edu>
450 * etc/afpd/quota.c: fix compile dbtob problem on Linux from Sam
451 Noble <ns@shadow.org>
453 * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am:
454 moved -shared into LDSHAREDFLAGS to fix Solaris build problems
455 from Bob Rogers <rogers-netatalk-devel@rgrjr.dyndns.org> and
456 Akop Pogosian <akopps@csua.berkeley.edu>
458 2001-03-22 Lance Levsen <lance.l@dontspam.home.com>
460 * etc/uams/Makefile.am: Added $LDFLAGS to fix broken compile due
461 to inability to find libcrypto. libcrypto is defined in LDFLAGS as
462 "-L$ssldir/lib" in configure.
464 2001-03-22 12:57 EST jeff b <jeff@univrel.pr.uconn.edu>
466 * configure.in: patch for OpenBSD compile reported by Jean-Phillipe
467 Rey <jprey@ads.ecp.fr>
469 2001-03-21 09:35 EST jeff b <jeff@univrel.pr.uconn.edu>
471 * etc/afpd/ofork.c, include/atalk/adouble.h, libatalk/adouble/ad_open.c:
472 patch from Jonathan Paisley (jonp@chem.gla.ac.uk)
474 2001-03-14 13:30 EST jeff b <jeff@univrel.pr.uconn.edu>
476 * configure.in: patch from Yoshinobu Ishizaki to fix problems with
477 Linux 2.0.x builds (Patch #408256)
479 * etc/afpd/file.c: used patch at http://www.avalon.net/~hakehoe/
480 to fix deleting/emptying trash problems (Patch #408218)
482 2001-03-14 11:00 EST jeff b <jeff@univrel.pr.uconn.edu>
484 * libatalk/adouble/ad_open.c: fixed O_RDWR kludge in ad_mode call
485 which was causing file creation problems
487 2001-03-09 09:42 EST jeff b <jeff@univrel.pr.uconn.edu>
489 * sys/solaris/Makefile: fixed problems noted by Akop Pogosian in Solaris
490 build, most notably paths, and reference to lp2pap.sh in the wrong
493 2001-03-07 15:30 EST jeff b <jeff@univrel.pr.uconn.edu>
497 * distrib/rpm/netatalk-redhat.spec, distrib/rpm/netatalk-mandrake.spec:
498 updated for 1.5pre5 release
500 2001-03-07 10:34 EST jeff b <jeff@univrel.pr.uconn.edu>
502 * etc/afpd/volume.c: changed VOLOPT_MAX to be 9 if FORCE_UIDGID is not
503 defined (thanks to Axel Bringenberg <A.Bringenberg@srz-berlin.de>)
505 2001-03-07 10:14 EST jeff b <jeff@univrel.pr.uconn.edu>
507 * ChangeLog: started using timestamps in ChangeLog
509 * etc/uams/uams_krb4/Makefile.am: fixed reference to send_to_kdc.c typo
510 (thanks to Sebastian Rittau)
512 2001-03-06 13:40 Lance Levsen <l.levsen@printwest.com>
514 * FAQ, README, README.ASUN, INSTALL.txt: Moved FAQ, AND READMEs to
515 docs/, where they should be.
517 * INSTALL/INSTALL.txt: Added ./INSTALL/INSTALL.txt
519 * INSTALL/FAQ, README, README.ASUN: Moved README.ASUN, README,
522 2001-03-06 11:47 Andrew Morgan <morgan@orst.edu>
524 * TODO: A few updates to papd entry.
526 * README.MORGAN: Removed README.MORGAN because that information in
527 now in papd's man page.
529 * man/man8/papd.8.tmpl: Updated papd man page to match current
530 code. Added descriptions of authenticated printing and other new
533 2001-02-28 15:43 Marc J. Millar <itlm019@mailbox.ucdavis.edu>
535 * libatalk/adouble/ad_open.c: AppleDouble directory creation
538 2001-02-28 jeff b <jeff@univrel.pr.uconn.edu>
540 * etc/afpd/directory.c, etc/afpd/file.c, etc/afpd/filedir.c,
541 etc/afpd/unix.c, etc/afpd/unix.h, etc/afpd/volume.h,
542 etc/afpd/volume.c, man/man5/AppleVolumes.default.5.tmpl: added
543 "dropbox" to available option if DROPKLUDGE is used during
546 2001-02-27 jeff b <jeff@univrel.pr.uconn.edu>
548 * README: updated 1.5+ install instructions to include list of
549 required and recommended packages
551 * etc/uams/uams_*.c: cleanups, addition of CVS Id tag to C source
553 * configure.in, acconfig.h: change USE_AFS to AFS to be the same as
554 all of the defines in the codebase
556 * etc/uams/uams_dhx_pam.c: fixed DHX login using this module (last
557 patch made with syslog()'s didn't include any brackets)
560 * distrib/initscripts/.cvsignore: removed pulling of atalk
562 * configure.in, etc/uams/Makefile.am: conditional compilation support
563 for PGP UAM module using --enable-pgp-uam
565 * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am,
566 etc/uams/uams_krb4/.cvsignore, etc/uams/uams_krb4/*.c: modifications
567 for future Kerberos module reintegration
569 2001-02-26 jeff b <jeff@univrel.pr.uconn.edu>
571 * configure.in: added /usr/local/ssl to list of SSL paths to check, to
572 help kludge compilation on Mac OS X from Marcel <lammerse@xs4all.nl>
574 * distrib/initscripts/rc.atalk.redhat.tmpl: adjusted to echo warning
575 instead of dumping out if appletalk module not present, from
576 Steven Karen <karelsf@users.sourceforge.net> (Bug #404087)
578 * configure.in, contrib/timelord/timelord.c: applied patch from Wes
579 Hardaker <hardaker@users.sourceforge.net> (Patch #402245), with
580 suitable configure.in fixes
582 2001-02-23 jeff b <jeff@univrel.pr.uconn.edu>
584 * etc/afpd/desktop.c, etc/afpd/codepage.c, etc/afpd/nls/makecode.c:
585 patch from Axel Barnitzek <barney@users.sourceforge.net> to fix
586 broken codepage support.
588 * ChangeLog: started updaing ChangeLog with important patch/fix
589 information, as it is *never* up to date.
591 * configure.in, acconfig.h: implemented AFS configuration option
592 patch from Wes Hardaker <hardaker@users.sourceforge.net>
594 * VERSION: bumped up version to 1.5pre5, since 1.5pre4 was kind of
597 * autogen.sh: make libtoolize copy instead of linking files to
598 avoid problems, thanks to Wes Hardaker <hardaker@users.sourceforge.net>
600 2001-02-20 jeff b <jeff@univrel.pr.uconn.edu>
603 - Debian packaging in tree
604 - Numerous Makefile/build fixes
605 - .cvsignore implemented
606 - Solaris build fixes
608 2001-01-02 jeff b <jeff@univrel.pr.uconn.edu>
610 * etc/afpd/uid.c, etc/afpd/uid.h, ...: added support for forcing
611 uid/gid per volume for afpd
613 2000-09-22 Roland Schulz <rdschulz@abarrach.franken.de>
615 * etc/afpd/volume.c (setvoltime): fix for multiple clients
616 writing to same volume.
618 2000-02-28 a sun <asun@asun.cobalt.com>
620 * etc/afpd/directory.h (CNID_INODE): xor the inode a little
623 2000-02-23 a sun <asun@asun.cobalt.com>
625 * etc/afpd/volume.c (creatvol): / is a special case. you can't
626 share it unless you give it a name.
628 2000-02-21 a sun <asun@asun.cobalt.com>
630 * distrib/initscripts/rc.atalk.redhat/cobalt: added changes to
631 make redhat 6.x happier.
633 2000-02-17 a sun <asun@asun.cobalt.com>
635 * libatalk/adouble/ad_lock.c (adf_unlock): off-by-one error with
636 lock removal. this + the log right below fix ragtime.
638 2000-02-16 a sun <asun@asun.cobalt.com>
640 * etc/afpd/fork.c (afp_bytelock): only error on bytelocks
641 positioned at 0x7FFFFFFF if there's no resource fork.
643 2000-02-14 a sun <asun@asun.cobalt.com>
645 * libatalk/adouble/ad_lock.c: re-wrote locking bits so that
646 allocations happen in blocks. added missing case that omnis
649 2000-02-07 a sun <asun@asun.cobalt.com>
651 * bin/nbp/Makefile (install): make nbprgstr/nbpunrgstr with 700
654 * include/atalk/adouble.h (sendfile): change to deal with
657 2000-01-25 a sun <asun@asun.cobalt.com>
659 * etc/afpd/ofork.c: keep track of oforks being used for each
660 directory so that we can update them if the directory tree gets
663 * etc/afpd/directory.c (deletecurdir): remove dangling symlinks on
666 2000-01-24 a sun <asun@asun.cobalt.com>
668 * etc/afpd/directory.h (CNID): moved cnid assignment here along
671 * etc/afpd/directory.c: changed directory search to use red-black
672 trees to improve balance. parent-child tree changed to circular
673 doubly-linked list to speed up insert/remove times. there's still
674 one obstacle to actually freeing red-black tree entries. i need to
675 add an ofork list to struct dir to minimize search times.
677 2000-01-18 a sun <asun@asun.cobalt.com>
679 * etc/afpd/directory.c (dirinsert): detect attempts to add
680 pre-existing entries as just symbolic links.
682 * etc/afpd/filedir.h (CNID): moved inode-cnid assignment here and
683 extended to directories.
685 2000-01-03 a sun <asun@asun.cobalt.com>
687 * etc/uams/uams_pam.c (PAM_conv): surround PAM_BINARY_PROMPT with
690 * etc/afpd/status.c (status_init): fixed a bunch of problems here
691 that manifested under solaris 7.
693 * etc/afpd/main.c (main): use FD_SETSIZE instead of FD_SETSIZE +
697 1999-12-27 a sun <asun@asun.cobalt.com>
699 * libatalk/util/getiface.c: moved interface detection code to here
700 so that i can use if_nameindex() or getifconf() depending upon
703 1999-12-13 a sun <asun@asun.cobalt.com>
705 * libatalk/dsi/dsi_tcp.c (dsi_tcp_init): added if_nameindex()
706 based interface code.
708 * etc/afpd/afp_options.c (afp_options_parseline): added
709 -server_quantum as an option. using hex would be a good idea.
711 * libatalk/dsi/dsi_opensess.c (dsi_opensession): added bits to set
712 the server quantum. by default, the server quantum is limited to
713 1MB due to a bug in the os 9 appleshare client.
715 * distrib/initscripts/rc.atalk.{cobalt,redhat}: surround nbp stuff
718 * etc/uams/uams_dhx_pam.c (pam_changepw): added dhx-based password
721 1999-12-06 a sun <asun@asun.cobalt.com>
723 * etc/afpd/directory.c (setdirparams): don't error if we can't set
724 the desktop owner/permisssions.
726 1999-11-04 a sun <asun@asun.cobaltnet.com>
728 * etc/afpd/fork.c (afp_openfork): had the ordering wrong on an
731 1999-11-02 a sun <asun@asun.cobaltnet.com>
733 * etc/afpd/afp_dsi.c (afp_over_dsi): flush data for unknown dsi
736 1999-10-28 a sun <asun@asun.cobaltnet.com>
738 * etc/uams/*.c: return FPError_PARAM if the user is unknown.
740 1999-10-27 a sun <asun@asun.cobaltnet.com>
742 * etc/afpd/fork.c (afp_read): if sendfile isn't supported, use the
745 1999-10-25 a sun <asun@asun.cobaltnet.com>
747 * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): fix nbp unregisters.
749 1999-10-21 a sun <asun@asun.cobaltnet.com>
751 * etc/afpd/Makefile (install): moved install of afpd earlier per
752 suggestion by steven michaud.
754 1999-10-05 a sun <asun@asun.cobaltnet.com>
756 * etc/uams/uams_randnum.c (afppasswd): for ~/.passwd's, turn
757 ourselves into the user so that nfs is happy.
759 1999-09-19 a sun <asun@adrian5>
761 * libatalk/netddp/netddp_open.c, nbp/*.c: only use the bcast stuff
762 if it's on an os x server machine.
764 1999-09-15 a sun <asun@adrian5>
766 * libatalk/nbp/nbp_unrgstr.c,nbp_lkup.c,nbp_rgstr.c: os x server
767 wants ATADDR_BCAST. that probably means that i need to do
768 multihoming appletalk a little differently. bleah.
770 1999-09-09 <asun@asun.cobaltnet.com>
772 * etc/afpd/directory.c (getdirparams), libatalk/adouble/ad_open.c
773 (ad_open): mondo lameness. i forgot that directory lookups can be
774 done with "." as the directory name. that was auto-hiding
775 them. bleah. i also figured out which bit was the invisible bit
776 for finderinfo information.
778 1999-09-06 Adrian Sun <asun@glazed.cobaltnet.com>
780 * etc/afpd/desktop.c (mtoupath): fixed a bug in codepage support
781 that accidentally crept in.
783 1999-08-31 Adrian Sun <asun@glazed.cobaltnet.com>
785 * etc/afpd/quota.c (getfsquota): use group quotas in quota
786 calculations if the user belongs to a single group. just use the
787 user quotas if the user belongs to multiple groups.
789 * etc/afpd/volume.c (getvolspace): added an options:limitsize to
790 restrict the available space to 2GB. this is for macs running
791 older versions of the operating system with newer versions of the
792 appleshare client. weird huh?
794 * etc/afpd/quota.c (uquota_getvolspace): bleah. 64-bit shifts
795 don't get promoted in the same way as arithmetic operations. added
796 some more casts to deal with that issue.
798 1999-08-24 Adrian Sun <asun@glazed.cobaltnet.com>
800 * man/man?/Makefile: don't re-build .tmp files if they already
801 exist. this gets the install phase to work correctly.
803 1999-08-13 a sun <asun@hecate.darksunrising.blah>
805 * etc/afpd/directory.c, file.c, filedir.c: illegal characters get
806 AFPERR_PARAM. also, reject names with /'s in them if the nohex
809 1999-08-12 a sun <asun@hecate.darksunrising.blah>
811 * etc/afpd/filedir.c,file.c,directory.c: changed error for
812 illegal filenames to AFPERR_EXIST.
814 1999-08-11 a sun <asun@hecate.darksunrising.blah>
816 * etc/afpd/desktop.h (validupath): if usedots is set, .Apple* and
817 .Parent files are no longer valid file names.
819 * etc/afpd/volume.c (volset): added usedots and nohex as
820 options. usedots stops :hex translation of . files while nohex
821 stops :hex translation of everything but . files. in addition,
822 . files created on the unix side are by default hidden.
824 * libatalk/adouble/ad_open.c: initialize more bits.
826 1999-08-10 a sun <asun@hecate.darksunrising.blah>
828 * distrib/initscripts/rc.atalk.redhat (WORKSTATION): use the
829 actual name for nbp registration rather than ATALK_NAME.
831 * sys/solaris/Makefile (kernel): make sure osdefs and machinedefs
832 get used when building the kernel module.
834 * sys/solaris: changed strings.h to string.h
836 1999-08-08 a sun <asun@hecate.darksunrising.blah>
838 * etc/afpd/volume.c (readvolfile): changed volume options into an
839 array of structs to ease maintenance.
841 1999-08-05 a sun <asun@hecate.darksunrising.blah>
843 * etc/afpd/status.c (status_init): change the default icon
844 depending upon whether or not it's an ASIP or an AppleTalk
847 1999-08-04 Adrian Sun <asun@glazed.cobaltnet.com>
849 * etc/atalkd/main.c (setaddr): made a failure with setaddr a
850 little more informative.
852 1999-08-03 Adrian Sun <asun@glazed.cobaltnet.com>
854 * yippee. someone figured what was happening with the installation
855 of the man pages. i got rid of a duplicate entry.
857 1999-08-02 a sun <asun@hecate.darksunrising.blah>
859 * etc/afpd/volume.c (readvolfile): added a per-file way of setting
860 default options. it keys in on a :DEFAULT: label.
862 1999-07-30 a sun <asun@hecate.darksunrising.blah>
864 * moved rc.atalk.* scripts to distrib/initscripts.
866 1999-07-27 a sun <asun@hecate.darksunrising.blah>
868 * contrib/printing: added patch from job@uchicago.edu
870 * etc/afpd/file.c: forgot to initialize struct ad in
873 * etc/afpd/nls/makecode.c: added an empty mapping.
875 * etc/psf/Makefile (install): well cp -d didn't work either. just
878 1999-07-26 a sun <asun@hecate.darksunrising.blah>
880 * sys/solaris/tpi.c (tpi_attach): changed DDI_NT_NET to DDI_PSEUDO
881 (from denny@geekworld.com).
883 * distrib/rpm/netatalk-asun.spec (Summary): incorporated new spec
884 and patch files from inoue.
886 * sys/linux/Makefile (install-sysv): fixed up a bit.
888 * etc/psf/Makefile (install): use cp -d instead of cp -a to make
891 * etc/afpd/afp_options.c (afp_options_parseline): reversed meaning
892 of -icon. now it means to use the yucky bitmap instead of the
895 * bin/afppasswd/Makefile (all): add -Iinclude/openssl for
898 1999-07-18 a sun <asun@hecate.darksunrising.blah>
900 * create links/mangle files in the compile rather than the install
901 phase so that rpm will be happier.
903 1999-07-17 a sun <asun@hecate.darksunrising.blah>
905 * etc/afpd/file.c (afp_createfile), directory (afp_createdir),
906 filedir.c (afp_rename, afp_moveandrename): don't allow the
907 creation/renaming of names with certain characters if mswindows
908 compatibility is enabled.
910 1999-07-16 a sun <asun@hecate.darksunrising.blah>
912 * rc.atalk.redhat: incorporated chkconfig from inoue.
914 1999-07-15 a sun <asun@hecate.darksunrising.blah>
916 * etc/atalkd/config.c (getifconf): wrap check against
917 IFF_MULTICAST behind an #ifdef IFF_MULTICAST.
919 * sys/netbsd/Makefile (LDSHAREDFLAGS): key in on machine type.
921 1999-07-11 a sun <asun@hecate.darksunrising.blah>
923 * contrib/ICDumpSuffixMap: added internet config perl script from
926 * contrib/printing: added contributed solaris printing scripts
927 from job@uchicago.edu.
929 1999-07-10 a sun <asun@hecate.darksunrising.blah>
931 * etc/atalkd/interface.h, rtmp.h: prototyped functions.
933 * etc/atalkd/zip.c: converted bcopy's to memcpy's.
935 * etc/atalkd/nbp.c,rtmp.c: added checks for the interface for
938 * etc/atalkd/main.c: converted bzero/bcopy to memset/memcpy.
940 1999-07-08 a sun <asun@hecate.darksunrising.blah>
942 * libatalk/nbp/nbp_rgstr.c (nbp_rgstr): return EADDRINUSE if the
943 address already exists.
945 1999-07-06 a sun <asun@hecate.darksunrising.blah>
947 * rc.atalk.redhat: changed netatalk.config to netatalk.conf
949 1999-07-05 a sun <asun@hecate.darksunrising.blah>
951 * etc/atalkd/nbp.c (nbp_packet): add interface to nbp struct. this
952 is so that we can filter by interface in the future. however, it
953 doesn't seem to work that well right now. bleah.
955 * etc/atalkd/main.c: fixed up dontroute option so that it doesn't
956 screw up atalkd.conf. also, we need to do a bootaddr if dontroute
959 * libatalk/atp,nbp,netddp; bin/aecho,nbp,getzones,pap;
960 etc/papd,afpd: accept -A <ddp address> as an option so that you
961 can specify the address to be used on a multihomed server. for
962 papd, you use the 'pa' option in papd.conf.
964 1999-07-04 a sun <asun@hecate.darksunrising.blah>
966 * etc/atalkd/config.c (parseline): initialize parseline properly
967 so that we don't get extraneous junk.
969 * etc/afpd/afp_options.c (afp_options_parseline): do
970 gethostbyaddr/gethostbyname's for -ipaddr and -fqdn.
972 * etc/atalkd/config.c (getifconf/readconf): check to see if the
973 supported device can support appletalk addresses. either continue
974 or exit depending upon whether or not it's auto-configed.
976 1999-07-03 a sun <asun@hecate.darksunrising.blah>
978 * etc/afpd/afp_options.c (afp_options_parse): -I (-[no]icon) will
979 toggle the volume icon so that it uses the apple icon instead.
981 * etc/afpd/config.c (AFPConfigInit): added more logic for the
982 -proxy option. here are the rules: -proxy will always try to
983 create a DDP server instance. by default, the proxy server will
984 still allow you to login with an appletalk connection. to prevent
985 that, just set the uamlist to an empty string.
987 1999-07-02 a sun <asun@hecate.darksunrising.blah>
989 * etc/afpd/status.c (status_netaddress): added support for fqdn
990 (not available in the appleshare client yet).
992 1999-07-01 a sun <asun@hecate.darksunrising.blah>
994 * etc/afpd/config.c (DSIConfigInit): application code for proxy
995 setup. it's the -proxy option.
997 * libatalk/dsi/dsi_init/tcp.c (dsi_init/dsi_tcp_init): added
998 support for proxy setup.
1000 1999-06-30 a sun <asun@hecate.darksunrising.blah>
1002 * etc/afpd/filedir.c (afp_rename): fixed up some error
1003 codes. quark express should be happier.
1005 * etc/afpd/uam.c (uam_afpserver_option): added
1006 UAM_OPTION_HOSTNAME. use this to set PAM_RHOST. i just got a
1007 report that setting that fixes pam on solaris machines.
1009 1999-06-28 a sun <asun@hecate.darksunrising.blah>
1011 * etc/afpd/ofork.c (of_alloc): report out of forks in syslog..
1013 * etc/afpd/enumerate.c (afp_enumerate): close an opendir leak.
1015 * include/atalk/{dsi,asp}.h: make cmdlen and datalen ints.
1017 * etc/afpd/fork.c (afp_write): fixed up error condition.
1019 1999-06-26 a sun <asun@hecate.darksunrising.blah>
1021 * etc/uams/Makefile (install): changed install location of uams.
1023 * sys/linux/Makefile (install-sysv): always install redhat
1024 script. netatalk.config script only gets installed if it's not
1027 1999-06-23 a sun <asun@hecate.darksunrising.blah>
1029 * rc.atalk.redhat: merged in redhat contrib rpm rc.atalk script.
1031 * etc/afpd/afp_options.c (afp_options_init): changed default
1034 1999-06-22 a sun <asun@hecate.darksunrising.blah>
1036 * etc/afpd/config.c (DSIConfigInit): truncate options->server to
1037 just the server name here.
1039 * etc/afpd/volume.c (volxlate): made $s return something
1040 meaningful no matter what.
1042 * libatalk/adouble/ad_sendfile.c (ad_readfile): freebsd sendfile
1045 1999-06-20 a sun <asun@hecate.darksunrising.blah>
1047 * etc/afpd/volume.c (volxlate): added variable substitution. if it
1048 doesn't understand the variable, it just spits it back out.
1050 (creatvol): display truncated volume name if it's too long.
1052 * sys/{generic,solaris}/Makefile: added NO_CRYPTLIB option to deal
1053 with oses that have -lcrypt but shouldn't use it.
1055 1999-06-11 a sun <asun@hecate.darksunrising.blah>
1057 * include/atalk/afp.h: added comments to FPErrors.
1059 * etc/afpd/enumerate.c (afp_enumerate): make FPEnumerate do some
1060 more error checking.
1062 * include/atalk/util.h: server_lock() returns pid_t.
1064 1999-06-10 a sun <asun@hecate.darksunrising.blah>
1066 * README.ASUN: added location for both ssleay and openssl.
1068 * etc/uams: moved install to LIBDIR/uams. "uams_*" now means "uam
1069 server." in the future, there will be "uamc_*." changed the shared
1070 library names to match.
1072 * include/atalk/atp.h,nbp.h: forgot to include <sys/cdefs.h>
1074 * etc/uams/Makefile: openssl-0.9.3c uses <openssl/*.h> so add that
1075 to the include path.
1077 * sys/{solaris,ultrix}/Makefile: just use -I../sys/generic instead
1080 * include/atalk/uam.h, etc/uams/uam_*.c, etc/afpd/uam.c: added uam
1081 type field. do type check.
1083 * etc/uams/uam_*pam.c: added a couple more error codes.
1085 1999-06-08 a sun <asun@hecate.darksunrising.blah>
1087 * etc/afpd/nls/Makefile (codepage.h): make sure that a link to
1088 codepage.h gets made.
1090 * libatalk/*/Makefile: make sure that the profiled directory gets
1093 * etc/afpd/directory.c (afp_mapname): removed an extraneous line
1094 that was causing mapname to fail.
1096 1999-06-07 a sun <asun@hecate.darksunrising.blah>
1098 * etc/atalkd/main.c (main): added a note to check the syslog if
1099 atalkd can't be setup.
1101 * sys/linux/Makefile: added -DNEED_QUOTACTL_WRAPPER to the list of
1102 auto-detected #defines.
1104 1999-06-06 a sun <asun@hecate.darksunrising.blah>
1106 * etc/afpd/fork.c (afp_write): argh. i moved things around a
1107 little too much and ended up with an uninitialized eid. strangely,
1108 the compiler didn't complain. simplified bits a little as
1109 well. also, FPWrite was returning the wrong error messages. on
1110 64-bit filesystems, the offset can wraparound. so, report a disk
1111 full error if that's going to happen. egcs-19990602 gets one
1112 memcpy right and another wrong on my udb. bleah.
1114 (afp_read): fixed the error messages here as well.
1116 1999-06-05 a sun <asun@hecate.darksunrising.blah>
1118 * Makefile, sys/generic, sys/{ultrix,solaris}/Makefile: create
1119 some links on the fly if they're missing.
1121 * etc/afpd/directory.c (copydir): fixed a leaking opendir and
1122 re-arranged a little.
1124 1999-06-04 a sun <asun@hecate.darksunrising.blah>
1126 * etc/afpd: prototyped everything here and moved the FP functions
1129 * libatalk/util/bprint.c: moved all of the bprints to here.
1131 * libatalk/asp, include/atalk/asp.h: prototyped asp functions.
1133 * include/atalk/atp.h, libatalk/atp: prototyped atp functions.
1135 * libatalk/nbp, include/atalk/nbp.h: added prototypes for nbp
1138 * bin/afppasswd/Makefile (afppasswd): fixed a misspelling in the
1141 * bin/afppasswd/afppasswd.c: added -a option so that root can add
1142 new users. turned all of the options into bits. added newlines to
1145 1999-06-03 a sun <asun@hecate.darksunrising.blah>
1147 * sys/freebsd/Makefile: turn on sendfile support if running on a
1150 1999-06-02 a sun <asun@hecate.darksunrising.blah>
1152 * etc/uams/uam_dhx_pam.c: fixed memory freeing part of pam
1153 conversation function.
1155 * sys/*/Makefile: check at make time to see if -lrpcsvc and
1156 -lcrypt should be included in the appropriate places.
1158 1999-05-28 a sun <asun@hecate.darksunrising.blah>
1160 * etc/afpd/file.c (deletefile): added more error checking here as
1163 * etc/afpd/directory.c (renamedir): added a couple a few more
1166 * sys/sunos/Makefile: sunos should really work now.
1168 1999-05-27 a sun <asun@hecate.darksunrising.blah>
1170 * include/atalk/afp.h: added in a couple new error codes (one
1171 deals with password setting policy, the other with maximum logins
1174 * etc/afpd/fork.c (afp_openfork): try to re-open files on
1175 read-only volumes as read-only.
1177 1999-05-26 a sun <asun@hecate.darksunrising.blah>
1179 * sys/solaris/Makefile: fixed a few bobbles here. solaris uses
1180 uname -p. other oses seem to use uname -m for the same information.
1182 * etc/uams/uam_pam.c (pam_changepw): added check for same
1185 * etc/uams/uam_randnum.c (randnum_changepw): added in cracklib and
1186 same password checks.
1188 * sys/osx/Makefile: moved the os x server stuff into its own build
1191 * sys/linux/Makefile, sys/solaris/Makefile: key in on OSVERSION
1192 and MACHINETYPE for some stuff.
1194 1999-05-25 a sun <asun@hecate.darksunrising.blah>
1196 * sys/sunos/Makefile: various bits to make stuff work with sunos
1199 1999-05-25 a sun <asun@purgatorius.zoology.washington.edu>
1201 * etc/afpd/file.c (copyfile): only copy the header file if newname
1204 * etc/afpd/directory.c (copydir): make sure to balk if the
1205 directory already exists. in addition, make sure to preserve the
1208 1999-05-24 a sun <asun@hecate.darksunrising.blah>
1210 * bin/afppasswd/afppasswd.c: global password updating utility for
1211 the randnum authentication method.
1213 1999-05-22 a sun <asun@hecate.darksunrising.blah>
1215 * etc/uams/uam_randnum.c (afppasswd): added in global password
1216 file for the randnum authentication method. it looks for a .key
1217 file as well to handle encryption.
1219 * etc/afpd/afp_options.c (afp_options_parseline): added
1220 -passwdfile as an option so that you can specify a global randnum
1221 password file if desired.
1223 * etc/afpd/volume.c (readvolfile): we now have rwlist and rolist
1224 as an AppleVolumes.* option. if the user is in the rolist, the
1225 volume gets set as readonly. if there's a rwlist, and the user
1226 isn't in it, the volume also gets set as readonly.
1228 1999-05-21 a sun <asun@hecate.darksunrising.blah>
1230 * libatalk/adouble/ad_lock.c (ad_fcntl_lock): plug a leak if we
1231 can't allocate the reference counting variable.
1233 * etc/uams/uam_*.c: make sure that uam_setup returns an error
1236 1999-05-19 a sun <asun@hecate.darksunrising.blah>
1238 * include/atalk/paths.h (_PATH_LOCKDIR): added os x server's
1239 /var/run as the lock file directory.
1241 * etc/afpd/fork.c (afp_write): kanehara@tpk.toppan.co.jp reported
1242 a problem with FPWrite getting a request count of 0. that's
1245 * etc/afpd/Makefile: bleah. for some reason, pam doesn't like to
1246 load itself from a shared library. i've compensated by linking it
1249 * etc/uams/uam_dhx_passwd.c: okay. DHX now works. something's
1250 still screwy with the dhx_pam stuff though.
1252 1999-05-18 a sun <asun@hecate.darksunrising.blah>
1254 * etc/afpd/uam.c (uam_getname): i forgot that getname modified the
1255 username to fit what's in pw->pw_name if necessary.
1257 1999-05-16 a sun <asun@hecate.darksunrising.blah>
1259 * etc/uams/uam_dhx_passwd/pam.c: almost ready versions of the DHX
1260 authentication method. i'm still missing a little info to get it
1263 * bin/megatron/nad.c (nad_header_read): if there isn't a mac name,
1264 create it from the unix name.
1266 * bin/megatron/megatron.c (megatron): oops. need to turn fdCreator
1267 and fdType into strings.
1269 1999-05-16 a sun <asun@pelvetia>
1271 * etc/afpd/uam.c (uam_afpserver_option): changed the interface a
1272 little. now, you pass in an int * if you want to either get/set
1273 the size of the option. added in UAM_OPTION_RANDNUM for generic
1274 (4-byte granularity) random number generation.
1276 * etc/afpd/switch.c: added afp_logout to preauth_switch.
1278 1999-05-15 a sun <asun@hecate.darksunrising.blah>
1280 * bin/megatron/macbin.c (bin_open): make error message for
1281 macbinary files more informative.
1283 (test_header): added more macbinary tests. it now has a workaround
1284 for apple's incorrectly generated macbinary files.
1286 1999-05-14 a sun <asun@hecate.darksunrising.blah>
1288 * sys/solaris/Makefile: added shared library generation bits.
1290 * etc/uams: moved server-side uams here.
1292 * include/netatalk/endian.h: fixed some solaris bits.
1294 * etc/afpd/config.c (configfree): don't do an asp_close. instead,
1295 do an atp_close and free the asp object. oh yeah, as afpd needs
1296 to export symbols to its modules, make sure you don't do anything
1297 more exciting than strip --strip-debug with it.
1299 1999-05-12 a sun <asun@hecate.darksunrising.blah>
1301 * various places that use sigaction: zero out struct sigaction so
1302 that we don't send something confusing. also make sure that we
1303 don't set a timer unless we already have a sigaction set.
1305 * etc/afpd/fork.c (afp_openfork): don't error on trying to open an
1306 empty resource fork read-only. also, added back in the bit of code
1307 that prevented locks from being attempted on non-existent resource
1310 * etc/afpd/afp_options.c (getoption): added a uamlist commandline
1313 * libatalk/netddp/netddp_open.c: don't bind if nothing was passed
1316 * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): oops. forgot to
1317 convert this over to use by the netddp interface.
1319 1999-05-12 a sun <asun@pelvetia>
1321 * etc/afpd/uam.c: os x server's runtime library loader is
1322 braindead. as a result, i've switched to using an exported struct
1323 with the uam's name.
1325 * bin/aecho,getzones: changed these to use the netddp interface.
1327 * libatalk/nbp/nbp_rgstr.c,unrgstr.c: fixed more leaky bits.
1329 * libatalk/netddp: abstracted the ddp interface to netddp. besides
1330 the prior socket-driven interface, there's now an os x server
1331 interface. so, instead of calling socket/sendto/recvfrom, you call
1332 netddp_open/netddp_sendto/netddp_recvfrom.
1334 1999-05-11 a sun <asun@pelvetia>
1336 * libatalk/nbp/nbp_lkup.c: oh my. nbp_lookup was fd leaky if there
1339 * etc/atalkd/main.c (main): make sure that if -dontroute is
1340 selected for all but one interface, that interface also gets
1343 1999-05-10 a sun <asun@hecate.darksunrising.blah>
1345 * etc/afpd/auth.c: re-wrote to deal with plug-in uams. it's much
1346 smaller than it used to be.
1348 1999-05-09 a sun <asun@hecate.darksunrising.blah>
1350 * etc/afpd/uams/uam_guest.c, uam_pam.c, uam_passwd.c,
1351 uam_randnum.c: uam modules. these should probably be moved out of
1352 afpd (and into something like etc/uam_server) when the printing
1353 stuff gets uam support.
1355 1999-05-08 a sun <asun@hecate.darksunrising.blah>
1357 * etc/afpd/uam.c: interface to user authentication modules.
1358 it should eventually be moved to libatalk, but that's not
1359 necessary until the printing uam stuff is done. everything is from
1360 the server-side perspective, but that's only because there aren't
1361 any client-side uses right now.
1363 * libatalk/util/module.c: generic interface to run-time library
1364 loading functions. right now, the dlfcn family and os x server's
1365 NS-style way of doing things are the ones understood. in addition,
1366 there's a DLSYM_PREPEND_UNDERSCORE for those systems that need it.
1368 * libatalk/asp/asp_write.c (asp_wrtcont): log both the read and
1369 write part of write continuations.
1371 1999-05-07 a sun <asun@hecate.darksunrising.blah>
1373 * etc/atalkd: added the ability to turn off routing for particular
1374 interfaces. specify -dontroute for each interface that you don't
1377 1999-05-06 a sun <asun@hecate.darksunrising.blah>
1379 * etc/afpd/auth.c: got rid of global clrtxtname and switched to
1380 using obj->username.
1382 1999-05-04 a sun <asun@hecate.darksunrising.blah>
1384 * libatalk/dsi/dsi_write.c (dsi_write): dsi_write could loop
1385 forever if there's a problem while it's being used. that's fixed.
1387 1999-05-01 a sun <asun@hecate.darksunrising.blah>
1389 * etc/afpd/directory.c (renamedir,copydir,deletedir): added bits
1390 so that renaming a directory works across filesystems.
1392 1999-04-27 a sun <asun@hecate.darksunrising.blah>
1394 * etc/afpd/fork.c (getforkparams): report mtime if it's > than
1395 what's stored in the header file.
1397 * config/afpd.conf: incorporated a patch by Stefan Bethke to make
1398 afpd.conf more understandable.
1400 * sys/solaris/if.c: many of the firstnet/lastnet bits weren't
1401 endian converted. that's fixed.
1403 * libatalk/adouble/ad_lock.c (adf_find(x)lock): F_RD/WRLCK aren't
1404 necessarily ORable, so use ADLOCK_RD/WR instead.
1406 (ad_fcntl_unlock): erk. fixed a typo that had the resource fork
1407 unlock accidentally getting the data fork locks.
1409 1999-04-24 a sun <asun@hecate.darksunrising.blah>
1411 * etc/afpd/fork.c (afp_openfork): always try to create a resource
1414 1999-04-21 a sun <asun@hecate.darksunrising.blah>
1416 * libatalk/adouble/ad_open.c, ad_read.c/ad_write.c, ad_flush.c:
1417 turned the mmapped header stuff into and #ifdef
1418 USE_MMAPPED_HEADERS option.
1420 * libatalk/adouble/ad_open.c (ad_header_read): darn. i forgot that
1421 the hfs fs doesn't currently have mmappable header files. rather
1422 than implement that, i just reverted back to a modified version
1423 of the old way of reading headers.
1425 1999-04-15 a sun <asun@hecate.darksunrising.blah>
1427 * etc/afpd/fork.c (afp_bytelock): byte locks become read locks on
1430 (afp_openfork): deal with read-only data forks that don't have
1431 corresponding .AppleDouble files. we can't really do anything with
1432 deny locks in this case. just make sure that read locks are set.
1434 * etc/afpd/file.c (getfilparams): oops. got the parentheses wrong
1435 around FILPBIT_FINFO.
1437 * etc/afpd/fork.c (afp_read): as we share open files now, check
1438 for fork type against of_flags instead of just checking to see if
1439 the file is open. this fixes a bug that caused resource forks to
1440 get filled with data fork information.
1442 1999-04-09 a sun <asun@porifera.zoology.washington.edu>
1444 * sys/generic/Makefile: AFP/tcp now compiles on irix with quota
1447 1999-04-09 a sun <asun@mead1.u.washington.edu>
1449 * sys/generic/Makefile: AFP/tcp now compiles on aix with quota
1452 1999-04-09 a sun <asun@saul6.u.washington.edu>
1454 * sys/generic/Makefile: AFP/tcp part now compiles on digital unix
1455 with quota support enabled.
1457 1999-04-08 a sun <asun@hecate.darksunrising.blah>
1459 * etc/afpd/volume.c, fork.c, file.c, directory.c, filedir.c,
1460 config/AppleVolumes.default: added read-only volume option.
1462 * etc/afpd/quota.c (uquota_getvolspace): modified for os x
1465 1999-04-03 a sun <asun@hecate.darksunrising.blah>
1467 * bin/megatron/macbin.c (bin_write): only pad if we need to do so
1468 (from <jk@espy.org>).
1469 (bin_header_write/read): fixed up screwed up file date
1470 generation/reading with macbinary files.
1472 * bin/megatron: changed all of the bcopy/bzero/bcmp's to
1473 memcpy/memset/memcmp's. added macbinary III support.
1475 * bin/megatron/macbin.c (bin_open): added --stdout as an option so
1476 that we can stream macbinary file creation to stdout.
1478 * bin/megatron/megatron.c: incorporated information patch (--header
1479 and --macheader) from <fmorton@base2inc.com>.
1482 1999-04-02 a sun <asun@hecate.darksunrising.blah>
1484 * etc/afpd: whee! there are no more bcopy/bcmp's in this
1487 * libatalk: changed the bcopy/bzero's to memcpy/memset's. added in
1488 dummy ints for some of the files that can get compiled to empty
1489 objects. check for the type of msync() available as well.
1491 1999-03-31 a sun <asun@hecate.darksunrising.blah>
1493 * INSTALL/README.GENERIC: added information for a generic
1494 architecture. It includes the information needed to get netatalk
1495 to compile on a random unix platform.
1497 * etc/afpd/quota.c: moved the quota stuff here so that we can
1498 #ifdef it out on a machine without quota support.
1500 1999-03-30 a sun <asun@hecate.darksunrising.blah>
1502 * libatalk/adouble/ad_lock.c: reference count the locked ranges as
1503 well. this prevents multiple read locks on the same byte range
1504 from disappearing if one user disappears.
1506 (ad_fcntl_lock): here are the current rules for file
1508 1) if there's a appledouble header, we use the beginning
1509 of that for both data and resource forks.
1510 2) if there isn't, we use the end of the data fork (or past the
1511 end on 64-bit machines)
1513 1999-03-28 a sun <asun@hecate.darksunrising.blah>
1515 * libatalk/adouble/ad_open.c (ad_refresh): okay. mmapping the
1516 appledouble entry parts is done.
1518 * libatalk/cnid/cnid_add.c (cnid_add): prevent anyone from adding
1521 1999-03-27 a sun <asun@hecate.darksunrising.blah>
1523 * libatalk/adouble/ad_open.c (ad_refresh): started making the
1524 appledouble header parsing more generic so that we can read in
1525 arbitrary appledouble header files. i just mmap the parts that we
1528 1999-03-22 a sun <asun@hecate.darksunrising.blah>
1530 * etc/afpd/file.c (afp_copyfile): return the correct error
1531 response on a failed copy. also, error if the file is already open
1532 to prevent problems with locks. we really need to ad_lock
1533 this during the copy
1535 1999-03-21 a sun <asun@hecate.darksunrising.blah>
1537 * etc/afpd/volume.c (readvolfile): switched volume options to
1538 using ':' as a delimiter as that's one of the characters that's
1539 not allowed as part of a mac filename.
1540 (volset): changed access to allow/deny
1542 * etc/afpd/auth.c (noauth_login): make sure that the username gets
1545 1999-03-17 a sun <asun@hecate.darksunrising.blah>
1547 * NOTE to myself: jeremy allison said that samba uses refcounts to
1548 prevent close() from killing all the byte locks. so, i've started
1549 converting afpd to using refcounting as well. luckily, we already
1550 have of_findname, so we know when files are open. in cases where
1551 files are already open, this will replace an ad_open with a lookup
1554 * etc/afpd/directory.c (getdirparams/getfilparams): check for
1555 NULL names when getting directory/file names.
1557 * etc/afpd/directory.{c,h} (DIRDID_ROOT/DIRDID_ROOT_PARENT): make
1558 sure these are always in network byte order.
1560 1999-03-15 a sun <asun@hecate.darksunrising.blah>
1562 * etc/afpd/fork.c (afp_openfork): okay, fixed the file
1563 synchronization bits. now, we use two bytes to do the read/write
1564 stuff. when access is needed, a read lock is attempted. if a deny
1565 lock is needed, a write lock is attempted. we even handle the
1566 access None mode now by saving the access modes.
1568 * etc/afpd/fork.h (AFPFORK_ACCMASK): started adding bits so that
1569 we can obey all of the file synchronization rules.
1571 * etc/afpd/fork.c (afp_bytelock): got the meaning of the clearbit
1572 reversed. with helios lantest's lock/unlock 4000 times test, it
1573 looks like i get <1 second overhead on my machine when using byte
1574 locks. NOTE: this will get a little worse when serialization gets
1575 added. in addition, 0x80000000 only works for 64-bit machines. i
1576 reserve the last allowable bit for 32-bit machines.
1578 actually, both 64-bit machines and 32-bit machines use 0x7FFFFFFF
1579 now as i'm able to trigger a kernel oops in linux with the 64-bit
1582 (afp_read/afp_write): make sure to use the same offset when doing
1585 1999-03-14 a sun <asun@hecate.darksunrising.blah>
1587 * libatalk/adouble/ad_lock.c: i went and implemented a bunch of
1588 stuff to get byte locks to work correctly (except for the
1589 serialization) only to discover that files that use byte locks
1590 also request a deny write mode. luckily, byte locks only cover up
1591 to 0x7FFFFFFF. so, i'll just use 0x80000000 for the
1592 synchronization locks.
1594 1999-03-08 a sun <asun@hecate.darksunrising.blah>
1596 * sys/{*bsd,ultrix,solaris,linux}/Makefile (depend): surround
1597 DEPS with double quotes so that multiple defines work.
1599 1999-03-06 a sun <asun@hecate.darksunrising.blah>
1601 * libatalk/adouble/ad_write.c, ad_read.c: make off off_t in size.
1603 * libatalk/adouble/ad_flush.c (adf_fcntl_relock), ad_lock.c
1604 (adf_fcntl_locked): okay. fcntl locks now check against multiple
1605 programs on the same machine opening the same file. current
1606 problems with the mechanism that i don't want to fix unless
1608 1) there's a race during the relock phase. serialization
1610 2) it assumes that each fd only locks a single contiguous
1611 range at a time. keeping a list of locked ranges would
1614 also, i changed the default to using fcntl locks. if the above two
1615 are really necessary, i'll probably switch to something a little
1616 more featureful like the berkeley db's lock manager.
1618 (note to myself: stuff new from asun2.1.3 from 1999-03-03)
1620 1999-03-05 a sun <asun@hecate.darksunrising.blah>
1622 * libatalk/adouble/ad_lock.c: got rid of the endflag checks to
1623 reduce system calls a little.
1625 * etc/afpd/auth.c (getname): do a case-insensitive compare on the
1628 * sys/solaris/Makefile: added 64-bit solaris patch from
1629 <jason@pattosoft.com.au>.
1631 1999-03-03 a sun <asun@hecate.darksunrising.blah>
1633 * include/netatalk/endian.h: make solaris 2.5 complain less.
1635 * bin/adv1tov2/adv1tov2.c, libatalk/adouble/ad_open.c (ad_v1tov2):
1636 fixed a couple problems with the adv1tov2 stuff.
1638 1999-02-26 a sun <asun@hecate.darksunrising.blah>
1640 * etc/afpd/volume.c (afp_openvol): erk. the volume password gets
1641 aligned along an even boundary.
1643 1999-02-23 a sun <asun@hecate.darksunrising.blah>
1645 * etc/afpd/volume.c (readvolfile): added volume password support.
1647 1999-02-14 a sun <asun@hecate.darksunrising.blah>
1649 * etc/atalkd/multicast.c (addmulti): added FreeBSD's data-link
1650 layer multicast setting bits.
1652 * libatalk/adouble/ad_open.c (ad_v1tov2): make sure to stick in
1653 prodos field info when converting.
1655 * rc.atalk.redhat: added pidof checking in case the machine
1656 crashes. also added rc.atalk.wrapper to the redhat rc script
1659 1999-02-07 a sun <asun@hecate.darksunrising.blah>
1661 * etc/afpd/fork.c (afp_setforkparams): make sure to do better
1662 error detection here and more fully report error conditions.
1664 (flushfork): make sure to flush the header if necessary (rfork
1665 length changed or modification date needs to be set).
1667 (afp_write): ugh. this wasn't returning the right values for the
1668 last byte written if the endflag was set. in addition, it was
1669 setting the modification date. that should be left to FPCloseFork
1670 and FPFlush(Fork). this fixes a problem that shows up with
1673 NOTE: as of now, changes to the rfork info are the only things
1674 that aren't flushed immediately when altered.
1676 * etc/afpd/fork.c (get/setforkparams), ofork.c: what ugliness. we
1677 need to report bitmap errors if we try to fiddle with the wrong
1678 fork. i added an of_flags field to keep things sorted.
1680 * libatalk/adouble/ad_open.c (ad_v1tov2): oops. in all of the
1681 movement, i forgot to make sure that the pre-asun2.2.0 features
1684 1999-02-06 a sun <asun@hecate.darksunrising.blah>
1686 * etc/afpd/filedir.c (afp_moveandrename): make sure to save the
1687 old name even when it's a directory.
1689 * globals.h: added oldtmp and newtmp to AFPObj to reduce the
1690 number of buffers used. use these when needed in afp_* calls.
1692 * etc/afpd/directory.c (deletecurdir): delete stray .AppleDouble
1693 files when deleting a directory.
1695 1999-02-05 a sun <asun@hecate.darksunrising.blah>
1697 * etc/afpd/file.c (afp_createfile): fixed a hard create error
1700 * fixed up a few bobbles in the netatalk-990130 merge.
1702 * the noadouble option should be pretty much implemented. here's
1704 when a directory is created, the corresponding
1705 .AppleDouble directory is not.
1707 comments, dates, and other file attributes will get
1708 silently ignored and not result in the creation of a new
1709 .AppleDouble directory.
1711 however, if anything possessing a resource fork is copied
1712 into that directory, the corresponding .AppleDouble
1713 directory will be created. once this happens, any
1714 other file in the directory can acquire an AppleDouble
1715 header file in the future.
1717 1999-02-03 a sun <asun@hecate.darksunrising.blah>
1719 * merged in the rest of netatalk-990130.
1721 * sys/solaris: merged in netatalk-990130 changes.
1723 * etc/afpd/file.c,fork.c,desktop.c libatalk/adouble/ad_sendfile.c:
1724 tested and fixed the sendfile bits on linux. it looks like linux
1725 doesn't permit socket -> file sendfiles yet.
1727 * etc/afpd/fork.c (afp_read): we can't stream FPRead's with
1728 newline character checking on.
1730 1999-02-02 a sun <asun@hecate.darksunrising.blah>
1732 * etc/afpd/fork.c (afp_flush), ofork.c (of_flush): FPFlush
1733 operates on a per-volume basis.
1735 1999-01-31 a sun <asun@hecate.darksunrising.blah>
1737 * etc/afpd/file.c (copyfile): sendfile bits added here also.
1739 * etc/afpd/desktop.c (afp_geticon): added sendfile bits here as
1742 * libatalk/adouble/ad_sendfile.c (ad_writefile/ad_readfile):
1743 implemented sendfile bits. currently, there's support for linux
1744 and freebsd. unfortunately, freebsd's implementation doesn't allow
1745 file->file or socket->file copies. bleah.
1747 1999-01-30 a sun <asun@hecate.darksunrising.blah>
1749 * etc/afpd/file.c (setfilparams), directory (setdirparams),
1750 volume.c (volset): added in the beginnings of a NOADOUBLE option
1751 for those that don't want AppleDouble headers to be created by
1752 default. it doesn't really work that well right now.
1754 1999-01-29 a sun <asun@hecate.darksunrising.blah>
1756 * libatalk/adouble/ad_open.c (ad_v1tov2): separated v1tov2 bits
1757 from ad_refresh. made broken v1 header checking the default. fixed
1758 broken v1 date checking. now, it just checks to see if the v1
1759 MDATE is > than st_mtime by 5 years.
1761 * etc/afpd/directory.c: make date setting alter directory dates as
1764 1999-01-24 a sun <asun@hecate.darksunrising.blah>
1766 * etc/afpd/afp_dsi.c (alarm_handler,afp_over_dsi): added a
1767 CHILD_RUNNING flag to prevent afpd from timing out on long copies.
1769 1999-01-21 a sun <asun@hecate.darksunrising.blah>
1771 * etc/afpd/volume.c (afp_openvol), libatalk/cnid/cnid_nextid.c:
1772 shift the beginning of the fake did's if necessary.
1774 * libatalk/adouble/ad_open.c (ad_refresh): fixed screwed-up date
1777 * libatalk/cnid/cnid_add.c,cnid_open.c,cnid_close.c: made some
1778 changes so that the CNIDs will still work even when the .AppleDB
1779 directory is read-only. if you're still allowed to create files on
1780 these volumes, you'll get a temporary id for those.
1782 1999-01-20 a sun <asun@hecate.darksunrising.blah>
1784 * libatalk/cnid/{cnid_close.c,cnid_open.c}: added bits so that log
1785 files get cleared out on cnid_close() if it's the last user for a
1788 1999-01-18 a sun <asun@hecate.darksunrising.blah>
1790 * etc/afpd/volume.c (afp_setvolparams): added FPSetVolParms. this
1791 allows us to set the backup date on the server.
1793 * etc/afpd/file.c (afp_exchangefiles): whee! we now have
1794 FPExchangeFiles. we also have FPDeleteID, so that only leaves us
1795 with FPCatSearch to do.
1797 1999-01-16 a sun <asun@hecate.darksunrising.blah>
1799 * sys/solaris/ddp.c (ddp_rput): added a couple htons()'s for the
1802 1999-01-11 a sun <asun@hecate.darksunrising.blah>
1804 * etc/afpd/volume.c (volset, afp_openvol): you can now specify a
1805 dbpath= in AppleVolumes.* for the CNID database.
1807 * libatalk/adouble/ad_open.c (ad_refresh): if we build in an
1808 appledouble v1 environment, turn on v1compat by default.
1810 1999-01-10 a sun <asun@hecate.darksunrising.blah>
1812 * libatalk/adouble/ad_open.c (ad_refresh): added v1compat option
1813 to handle broken ad headers.
1815 * etc/afpd/file.c (setfilparams): we need to make sure that we
1816 flush the file if we've created it even if there's an error. the
1817 magic number/version don't get saved if we don't.
1819 * etc/afpd/appl.c, etc/afpd/directory.c, etc/afpd/desktop.c: added
1822 1998-12-30 a sun <asun@hecate.darksunrising.blah>
1824 * etc/afpd/volume.c (afp_openvol): got rid of unnecessary v_did.
1826 * etc/afpd/file.c (afp_resolveid, afp_createid): added these two
1829 * well, what do you know? the cnid stuff compiles in.
1831 1998-12-29 a sun <asun@hecate.darksunrising.blah>
1833 * etc/afpd/fork.c, directory.c, file.c, filedir.c, volume.c,
1834 enumerate.c: added in stubs for CNID database conditional on
1835 AD_VERSION > AD_VERSION1.
1837 * etc/afpd/nls/makecode.c: added iso8859-1 mapping.
1839 1998-12-27 a sun <asun@hecate.darksunrising.blah>
1841 * bin/adv1tov2/adv1tov2.c: turn non-printable ascii characters
1842 into hex code as well.
1844 1998-12-21 a sun <asun@hecate.darksunrising.blah>
1846 * etc/afpd/auth.c: fixed FPChangePW for 2-way randnums.
1848 1998-12-15 a sun <asun@hecate.darksunrising.blah>
1850 * etc/afpd/fork.c (read_file/write_file): do crlf translation in
1851 both directions so that we can recover from problems if
1854 1998-12-14 a sun <asun@hecate.darksunrising.blah>
1856 * bin/adv1tov2/adv1tov2.c: small utility program that recursively
1857 descends a directory and converts everything it sees into
1860 1998-12-13 a sun <asun@hecate.darksunrising.blah>
1862 * libatalk/adouble/ad_flush.c (ad_rebuild_header): moved the
1863 header rebuilding here so that ad_refresh can use it.
1865 * libatalk/adouble/ad_open.c (ad_refresh): added locking to v1->v2
1868 * bin/megatron/asingle.c: yuk. removed all of
1869 the duplicate stuff here and had it use the #defines in adouble.h.
1871 * libatalk/adouble/ad_open.c (ad_refresh): finished v1 -> v2
1872 conversion routine. we still need a shortname creator and a cnid
1873 database for the v2 features to be useful.
1875 1998-12-11 a sun <asun@hecate.darksunrising.blah>
1877 * libatalk/adouble/ad_open.c (ad_refresh): punt if we get a file
1878 that we don't understand.
1880 1998-12-10 a sun <asun@hecate.darksunrising.blah>
1882 * etc/afpd/desktop.c (utompath,mtoupath): simplified the codepage
1883 stuff. also made sure to lower/upper the 8-bit characters as
1886 * libatalk/util/strdicasecmp.c: the casemapping had a few wrong
1889 * etc/afpd/fork.c (getforkparams): make sure that the ROpen/DOpen
1890 attribute bits are in the correct byte ordering.
1892 1998-12-09 a sun <asun@hecate.darksunrising.blah>
1894 * etc/afpd/volume.c (volset): made prodos an option to options=
1895 flag. also added crlf as an option.
1897 * libatalk/adouble/ad_open.c (ad_refresh): fix up times if
1899 (ad_open): deal correctly with 0-length files by treating them as
1902 * etc/afpd/volume.c (getvolparams), file.c (get/setfilparams),
1903 fork.c (getforkparams), directory.c (get/setdirparams): finished
1904 adding appledouble version 1 and 2 date conversion. also added
1907 * etc/afpd/volume.c (getvolparams): make sure to flush the header
1908 file if we needed to fiddle with it.
1910 * libatalk/adouble/ad_date.c, ad_attr.c: date/attribute
1911 setting/retrieval code.
1913 * libatalk/adouble/ad_open.c (ad_open): initialize date
1914 structures here instead of elsewhere.
1916 1998-12-07 a sun <asun@hecate.darksunrising.blah>
1918 * etc/afpd/directory.c, fork.c, volume.c, file.c: added unix<->afp
1919 time conversion code.
1921 1998-12-05 a sun <asun@hecate.darksunrising.blah>
1923 * etc/afpd/volume.c (volset): changed prodos setting to
1926 1998-12-04 a sun <asun@hecate.darksunrising.blah>
1928 * etc/afpd/volume.c (volset): okay. you now have the following
1929 options to casefold: lowercase,uppercase,xlatelower,xlateupper
1930 tolower -> lowercases everything in both directions
1931 toupper -> uppercases everything in both directions
1932 xlatelower -> client sees lowercase, server sees uppercase
1933 xlateupper -> client sees uppercase, server sees lowercase
1935 NOTE: you only should use this if you really need to do so. this
1936 and the codepage option can cause mass confusion if applied
1937 blindly to pre-existing directories.
1939 1998-12-03 a sun <asun@hecate.darksunrising.blah>
1941 * etc/afpd/desktop.c (utompath,mtoupath), etc/afpd/volume.h: added
1942 multiple options to casefold. bits 0 and 1 deal with MTOU, and
1943 bits 2 and 3 deal with UTOM. i did it that way so that you can
1944 casefold in one direction only or in both directions if
1945 desired. needless to say, setting both bits for UTOM or MTOU
1946 doesn't make any sense. right now, toupper takes precedence in
1947 MTOU, and tolower takes precedence in UTOM.
1949 1998-12-02 a sun <asun@hecate.darksunrising.blah>
1951 * etc/afpd/afp_options.c (afp_options_*): added -uampath and
1952 -codepagepath to the list of available options. they specify the
1953 directories to look for uam modules and codepages,
1954 respectively. currently, -uampath doesn't do anything.
1956 * etc/afpd/volume.c (readvolfile): spruced up options to
1957 AppleVolumes files. now you can have mtoufile=<codepage.x>,
1958 utomfile=<codepage.y>, casefold=<num> for volumes.
1960 * etc/afpd/desktop.c (utompath,mtoupath): added
1961 codepage/casefolding support. casefold is currently an int that
1962 could have multiple actions. right now, i just lowercase in
1963 mtoupath and uppercase in utompath.
1965 * etc/afpd/ofork.c (of_alloc, of_findname, of_rename): added vol
1966 as an additional specifier so that we don't have problems with
1967 the same path names on multiple volumes.
1969 1998-11-29 a sun <asun@purgatorius.zoology.washington.edu>
1971 * etc/afpd/volume.c (getvolparams): added AFP2.1 volume attribute
1974 1998-11-24 a sun <asun@purgatorius.zoology.washington.edu>
1976 * etc/atalkd/config.c (readconf, getifconf): added IFF_SLAVE to
1977 prevent atalkd from trying to use a slave channel.
1979 1998-11-23 a sun <asun@purgatorius.zoology.washington.edu>
1981 * etc/afpd/volume.c (getvolparams): we shouldn't set the custom
1982 icon bit by default on the root directory. that screws up pre-OS 8
1985 1998-11-19 a sun <asun@purgatorius.zoology.washington.edu>
1987 * libatalk/dsi/dsi_getsess.c (dsi_getsession): ignore SIGPIPE's
1988 so that we can gracefully shut down the server side.
1990 * etc/afpd/afp_dsi.c (afp_over_dsi), etc/afpd/afp_options.c,
1991 libatalk/dsi/dsi_getsess.c (dsi_getsession),
1992 libatalk/asp/asp_getsess.c (asp_getsession): made the tickle timer
1993 interval an option (-tickleval <sec>).
1995 * etc/afpd/afp_dsi.c (afp_dsi_timedown): added child.die so that
1996 we don't stomp on a shutdown timer. libatalk/dsi/dsi_read.c,
1997 dsi_write.c both save/restore the old timer, so they don't really
1998 care what the actual value is.
2000 1998-11-18 a sun <asun@purgatorius.zoology.washington.edu>
2002 * due to the recent obsession with bug fixing and low-level dsi
2003 cleanups, i've decided that this should really be asun2.1.1
2004 instead of asun2.1.0a.
2006 1998-11-17 a sun <asun@purgatorius.zoology.washington.edu>
2008 * libatalk/dsi/dsi_tcp.c (dsi_tcp_open): moved the afpd connection
2009 announcement here from etc/afpd/afp_dsi.c.
2011 * libatalk/dsi/dsi_stream.c: moved all of the read/write functions
2012 into here as they're pretty generic. now, the protocol specific
2013 stuff only handles open and close.
2015 * etc/afpd/fork.c (afp_read/write), desktop.c (afp_geticon),
2016 file.c (copyfile), include/atalk/dsi.h (dsi_writefile/readfile):
2017 added initial stubs for sendfile support. i still need to go
2018 through and calculate the appropriate offsets to use.
2020 * libatalk/dsi/dsi_read.c, dsi_write.c: disable the interval timer
2021 instead of just ignoring it.
2023 * etc/afpd/desktop.c (afp_geticon), etc/afpd/fork.c (afp_read),
2024 libatalk/dsi/dsi_read.c (dsi_readinit, dsi_readinit): modified the
2025 dsi_read interface to return errors so that i can kill things
2028 1998-11-16 a sun <asun@purgatorius.zoology.washington.edu>
2030 * libatalk/dsi/dsi_tcp.c (dsi_tcp_send/dsi_tcp_write): erk. read()
2031 and write() treat a return of 0 differently.
2033 1998-11-16 a sun <asun@hecate.darksunrising.blah>
2035 * libatalk/dsi/dsi_read.c (dsi_readinit): make sure to stick in
2038 1998-11-15 a sun <asun@purgatorius.zoology.washington.edu>
2040 * etc/afpd/fork.c (afp_read): re-ordered some of the checks here
2041 to return earlier on 0-sized files.
2043 1998-11-13 a sun <asun@purgatorius.zoology.washington.edu>
2045 * etc/afpd/afp_dsi.c (afp_over_dsi): moved the dsi->noreply toggle
2046 check to here from dsi_cmdreply.
2048 1998-11-11 a sun <asun@purgatorius.zoology.washington.edu>
2050 * etc/atalkd/zip.c (zip_packet): make sure to copy multicast zone
2051 back out. (reported by Michael Zuelsdorff <micha@dolbyco.han.de>)
2053 1998-11-09 a sun <asun@purgatorius.zoology.washington.edu>
2055 * etc/afpd/directory.c (getdirparams): changed unknown bit reply
2056 code to AFPERR_BITMAP instead of AFPERR_PARAM.
2058 1998-11-06 a sun <asun@purgatorius.zoology.washington.edu>
2060 * etc/afpd/enumerate.c (afp_enumerate), directory.c (renamedir):
2061 fixed a couple of failed realloc leaks.
2063 * etc/afpd/filedir.c (afp_moveandrename, afp_rename): added bits
2064 to deal with case-insensitive, case-preserving filesystems.
2066 1998-10-30 a sun <asun@purgatorius.zoology.washington.edu>
2068 * etc/afpd/auth.c: fixed randnum password changing check.
2070 1998-10-27 a sun <asun@purgatorius.zoology.washington.edu>
2072 * etc/atalkd/main.c: add a check for SIOCATALKDIFADDR if
2075 * etc/afpd/volume.c (getvolparams): ad_open had the wrong
2078 * etc/afpd/unix.c (setdeskowner): added a little extra space to
2079 prevent buffer overflows here.
2081 1998-10-26 a sun <asun@purgatorius.zoology.washington.edu>
2083 * sys/linux/Makefile: fixed PAM message.
2085 * sys/solaris/Makefile: make failure to ln -s a non-fatal error.
2087 * etc/papd/session.c, bin/pap/pap.c: changed sequence count to
2088 wrap from 0 -> 1 instead of from 0xFFFF -> 1.
2090 * etc/afpd/filedir.c (afp_rename, afp_moveandrename): actually, we
2091 should check against the entire unix name.
2093 1998-10-21 a sun <asun@purgatorius.zoology.washington.edu>
2095 * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure
2096 to check against mac name.
2098 1998-10-19 a sun <asun@purgatorius.zoology.washington.edu>
2100 * etc/afpd/auth.c (afp_changepw): make password changing deal
2101 correctly with "real" user names. also, moved seteuid() to before
2102 the pam_authenticate() bit as shadow passwords need that.
2104 * etc/afpd/enumerate.c (afp_enumerate): make sure to check the mac
2105 name against MACFILELEN.
2107 1998-10-16 a sun <asun@purgatorius.zoology.washington.edu>
2109 * etc/afpd/file.c (renamefile), filedir.c (afp_rename),
2110 directory.c (renamedir): use strndiacasecmp() for AFPERR_SAMEOBJ
2111 checks. also make sure test occurs before checking to see if the
2114 1998-10-15 a sun <asun@purgatorius.zoology.washington.edu>
2116 * etc/afpd/auth.c (afp_changepw): fixed a bit of brain damage. i
2117 forgot that password changing needs root privileges to work.
2119 * etc/afpd/auth.c (PAM_conversation): the supplied code was
2120 incorrect. i cleaned it up a bit.
2122 * sys/linux/Makefile: fixed the installation bits.
2124 1998-10-14 a sun <asun@purgatorius.zoology.washington.edu>
2126 * etc/afpd/auth.c (afp_changepw): don't kill the connection here
2127 if there's a problem.
2129 1998-10-10 a sun <asun@purgatorius.zoology.washington.edu>
2131 * etc/afpd/enumerate.c, fork.c, ofork.c, file.c,
2132 globals.h, directory.c, auth.c: #defined MACFILELEN and used
2133 that. also made sure that files > MACFILELEN never show up.
2135 1998-09-25 a sun <asun@purgatorius.zoology.washington.edu>
2137 * etc/{afpd,papd,atalkd}/bprint.c (bprint): got rid of the
2138 spurious pointer dereference.
2140 * etc/afpd/ofork.c (of_alloc/of_rename): allocate the max mac file
2141 length so that we don't need to realloc.
2143 * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure to
2144 return AFPERR_BUSY if the dest has an ofork open.
2146 * etc/afpd/file.c (renamefile), directory.c (renamedir), filedir.c
2147 (afp_rename): return AFPERR_SAMEOBJ if source == dest
2149 1998-09-21 a sun <asun@purgatorius.zoology.washington.edu>
2151 * etc/afpd: went through and looked for places that needed to use
2152 curdir instead of dir. i think i have them all right now.
2154 * etc/afpd/filedir.c (afp_moveandrename): wasn't keeping track of
2155 curdir correctly. what this really means is that cname should be
2156 fixed to return everything it changes as opposed to changing a
2159 1998-09-19 a sun <asun@purgatorius.zoology.washington.edu>
2161 * etc/afpd/config.c (configinit): do the right thing if
2162 AFPConfigInit fails.
2164 1998-09-18 a sun <asun@purgatorius.zoology.washington.edu>
2166 * etc/afpd/config.c (ASP/DSIConfigInit, configfree): how
2167 embarrassing. i wasn't doing refcounts correctly.
2169 1998-09-17 a sun <asun@purgatorius.zoology.washington.edu>
2171 * etc/afpd/nfsquota.c (getnfsquota): ultrix uses dqb_bwarn instead
2174 * sys/ultrix/Makefile: ultrix understands the old rquota format.
2176 * etc/afpd/ofork.c (of_findname): erk. forgot to only search in
2177 the current directory.
2178 (of_rename): erk. changed it to handle renaming a file that has
2179 been opened multiple times.
2181 * etc/atalkd: made sure that if you don't specify -router, things
2182 are as they were before.
2184 1998-09-13 a sun <asun@purgatorius.zoology.washington.edu>
2186 * etc/afpd/status.c (status_flags): forgot to turn on password
2187 setting if randnum passwords are being used.
2189 1998-09-11 a sun <asun@purgatorius.zoology.washington.edu>
2191 * etc/afpd/unix.c (setdirmode): erk. make sure only to setgid on
2194 * bin/aecho/aecho.c (main): incorporated -c <num> (ala ping) patch
2195 from "Fred Lindberg" <lindberg@id.wustl.edu>.
2197 1998-09-03 a sun <asun@purgatorius.zoology.washington.edu>
2199 * etc/afpd/directory.c (afp_closedir, afp_opendir): added these in
2200 for more AFP 2.0 compliance. unfortunately, apple's appleshare
2201 client doesn't like non-fixed directory ids.
2203 1998-08-31 a sun <asun@purgatorius.zoology.washington.edu>
2205 * etc/afpd/volume.c (accessvol): the accessible volume list can
2206 now be controlled by groups and usernames. just use something of
2207 the following form: @group,name,name2,@group2,name3
2209 NOTE: you can't have any spaces, and the parser forces you to
2210 include all options. in this case, there are some apple II options
2211 that need to be entered. they need to go away soon anyway.
2213 * etc/afpd/auth.c (getname): oops. i forgot to copy the gecos
2214 field into a temporary buffer before calling strtok.
2216 1998-08-29 a sun <asun@hecate.darksunrising.blah>
2218 * etc/atalkd/main.c (as_timer), rtmp.c (rtmp_delzones): when the
2219 last router on an interface goes down, we need to delete the
2220 interface's zone table.
2222 1998-08-28 a sun <asun@purgatorius.zoology.washington.edu>
2224 * etc/afpd/status.c (afp_getsrvrinfo): although it's never used,
2225 i've added this in to increase AFP compliance.
2227 * etc/afpd/auth.c (afp_getuserinfo): added FPGetUserInfo -- this
2228 should make afpd compatible with OS 8.5's Nav Services.
2230 * etc/atalkd/config.c,main.c: -router now specifies router mode
2231 with any number of interfaces.
2233 1998-08-27 a sun <asun@purgatorius.zoology.washington.edu>
2235 * etc/atalkd/main.c (as_timer): well, i figured out how to set up
2236 atalkd as a single-interface router. now, you can get zones with
2237 only single interfaces! i'm only waiting on wes for the approved
2238 configuration toggle.
2240 1998-08-26 a sun <asun@purgatorius.zoology.washington.edu>
2242 * libatalk/adouble/ad_lock.c, include/atalk/adouble.h: turned the
2243 ADLOCK_* into real #defines and added translations in the
2244 lock-type specific functions. this should make it easier to
2245 recompile things without screwing up.
2247 1998-08-26 a sun <asun@hecate.darksunrising.blah>
2249 * etc/atalkd/nbp.c (nbp_packet): forgot to handle another local
2252 1998-08-25 a sun <asun@hecate.darksunrising.blah>
2254 * etc/afpd/status.c (status_server): changed status_server to
2255 use only the obj part of obj:type@zone-style names.
2257 * etc/atalkd/nbp.c (nbp_packet): unregistering wasn't handling
2258 zones properly. it was matching on anything but the actual zone.
2260 1998-08-18 a sun <asun@purgatorius.zoology.washington.edu>
2262 * etc/afpd/auth.c (clrtxt_login): added pam_set_time(PAM_TTY) so
2263 that solaris' pam session setup doesn't crap out.
2265 1998-08-17 a sun <asun@purgatorius.zoology.washington.edu>
2267 * etc/atalkd/multicast.c (zone_bcast): fixed to do the right thing
2268 with zip multicast info.
2270 1998-08-15 a sun <asun@purgatorius.zoology.washington.edu>
2272 * etc/afpd/nfsquota.c: made the old-style rquota fields dependent
2273 upon -DUSE_OLD_RQUOTA and defined that for sunos. also included
2274 <sys/time.h> for ultrix breakage.
2276 1998-08-13 a sun <asun@purgatorius.zoology.washington.edu>
2278 * etc/afpd/filedir.c (afp_rename), etc/afpd/ofork.c (of_rename): i
2279 knew that speeding up of_findname would be useful. in any case, i
2280 discovered the source of yet another small AFP non-compliance that
2281 was confusing WordPerfect. on an afp_rename, we also need to
2282 rename the corresponding ofork. i've added an of_rename() to do
2285 1998-08-13 a sun <asun@hecate>
2287 * etc/afpd/ofork.c (of_dealloc,of_alloc): sped up dealloc by
2288 sticking refnum in ofork.
2290 1998-08-12 a sun <asun@hecate>
2292 * etc/afpd/fork.c (afp_openfork): added already open attribute
2295 * etc/afpd/ofork.c: added a hashed of_findname.
2297 1998-08-06 a sun <asun@purgatorius.zoology.washington.edu>
2299 * etc/afpd/fork.c (afp_openfork): fixed a problem with opening
2300 forks from read-only non-appledouble media.
2302 1998-07-23 a sun <asun@purgatorius.zoology.washington.edu>
2304 * etc/afpd/afs.c (afs_getvolspace), etc/afpd/volume.c
2305 (getvolspace): modified them to treak afs like the other
2306 getvolspaces w.r.t. VolSpace.
2308 1998-07-21 a sun <asun@purgatorius.zoology.washington.edu>
2310 * etc/afpd/unix.c (mountp): erk. i forgot that symlinks are often
2311 used for filesystems. nfs quotas sometimes failed as a
2312 result. that's fixed now.
2314 1998-07-20 a sun <asun@purgatorius.zoology.washington.edu>
2316 * etc/afpd/auth.c (login): added a -DRUN_AS_USER #define so that
2317 it's simple to run the server process as a non-root user.
2319 1998-07-17 a sun <asun@purgatorius.zoology.washington.edu>
2321 * etc/afpd/nfsquota.c (callaurpc, getnfsquota), volume.h: it turns
2322 out that i was opening lots of sockets with callaurpc. now, the
2323 socket gets saved and reused.
2325 NOTE: quota-1.55-9 from redhat 5.x doesn't return the correct size
2326 for rquota's bsize. unless fixed, rquota will report incorrect
2329 1998-07-08 a sun <asun@purgatorius.zoology.washington.edu>
2331 * etc/afpd/uam/README: added some preliminary ideas on a
2332 plug-in uam architecture. in addition, this should allow arbitrary
2333 afp function replacement. eventually, auth.c should get a
2336 1998-07-07 a sun <asun@purgatorius.zoology.washington.edu>
2338 * etc/afpd/nfsquota.c: added headers and redefined a couple
2339 structure fields so that sunos4 compiles.
2341 * libatalk/compat/rquota_xdr.c: compile if we're using glibc <
2342 2. this should get redhat 4.2 machines. NOTE: they're still
2343 missing librpcsvc.a, so they'll need to remove that from the
2346 1998-07-06 a sun <asun@purgatorius.zoology.washington.edu>
2348 * libatalk/compat/rquota_xdr.c: it turns out that solaris is
2349 missing a couple functions needed for rquota support. here they
2352 * etc/afpd/unix.c (mountp): fixed the nfs detection for
2353 solaris. we still need bsd and ultrix.
2355 1998-07-05 a sun <asun@hecate>
2357 * include/atalk/adouble.h: marked out space for appledouble v2.
2359 1998-07-04 a sun <asun@hecate>
2361 * etc/afpd: plugged up some ad_open leaks. made sure that we don't
2362 get negative numbers for length fields and such.
2364 1998-07-04 a sun <asun@hecate>
2366 * etc/afpd/nfsquota.c (getnfsquota): added nfs rquota
2367 support. Robert J. Marinchick <rjm8m@majink1.itc.virginia.edu>
2368 provided the initial bits from the bsd quota program.
2370 * etc/afpd/unix.c (getquota): made getquota call getfsquota or
2371 getnfsquota depending upon the type of fs.
2373 * etc/afpd/unix.c (mountp/special): munged mountp and
2374 special to return either the nfs mount point or the fs
2375 device. set the vol->v_nfs flag if it's nfs.
2377 * etc/afpd/volume.c (getvolspace): xbfree and xbtotal will now
2378 honor results returned from uquota_getvolspace.
2380 1998-06-29 a sun <asun@purgatorius.zoology.washington.edu>
2382 * etc/afpd/file.c (copyfile): mmapping the file copy only helps on
2383 multiple copies. as that's not the case here, i've reverted to
2384 just doing read + write.
2386 1998-06-28 a sun <asun@purgatorius.zoology.washington.edu>
2388 * sys/linux/Makefile: fixed the redhat-style atalk
2389 installation. also, it doesn't over-write an existing
2390 /etc/rc.d/init.d/atalk file.
2392 * etc/afpd, libatalk/adouble/ad_write.c: removed <sys/file.h> and
2393 </usr/ucbinclude/sys/file.h> so that we rely upon adouble.h.
2395 1998-06-19 a sun <asun@purgatorius.zoology.washington.edu>
2397 * changed sys/linux/Makefile to install a redhat-style sysv atalk
2398 script instead of the bsd one.
2400 * include/atalk/adouble.h: moved same-name list stub to struct
2403 Thu Jun 18 18:20:28 1998 a sun <asun@purgatorius>
2405 * changed to asunx.y.z notation as i was getting tired of
2406 increasing numbers. as this version is undergoing a fairly
2407 substantial overhaul, i bumped it to 2.1.0. don't ask why asun1.0
2408 never existed. i just started at 2.0.
2410 * ofork (etc/afpd/{ofork.c,ofork.h,fork.c}: put in skeleton code
2411 for hashed-by-name oforks and oforks which group by name to help
2412 with byte locks and of_findname.
2414 * adouble (include/atalk/adouble.h): started implementing
2415 appledouble v2. mostly, i added bits to headers. v2 has wonderful
2416 bits that should make prodos support much less clunky, allow
2417 persistent dids, and allow msdos support.
2419 * finder info: added bits to directory.c and file.c describing the
2420 actual contents of finder info (from IM: Toolbox
2421 Essentials). also, set default directory view to an allowed value
2422 thanks to a suggestion from the appledouble v2 specs. that should
2423 help with read-only media.
2425 * etc/afpd/{directory.c,volume.c,afs.c,directory.h}: added
2426 DIRDID_ROOT and DIRDID_ROOT_PARENT so people know that these did's
2429 Wed Jun 17 11:54:49 1998 a sun <asun@purgatorius>
2431 * well, i'm starting a changelog as i keep forgetting what i've
2434 * locks: revamped them to be more in line with what should
2435 happen. currently, i've reverted back to flock-style locks as i'll
2436 need to stick in more code to get fcntl-style locks to work
2437 properly. specifically, i think modifying of_alloc/of_dealloc to
2438 keep track of locks, fds, and names should solve the problem with
2439 fcntl locks being process-specific and not fd specific.