]> arthur.barton.de Git - netatalk.git/blob - ChangeLog
more patches from sourceforge
[netatalk.git] / ChangeLog
1 ($Id: ChangeLog,v 1.32 2001-05-01 13:45:34 rufustfirefly Exp $)
2
3 2001-05-01  jeff b  <jeff@univrel.pr.uconn.edu>
4
5         * bin/aecho/aecho.c, bin/getzones/getzones.c, bin/megatron/asingle.c,
6         bin/megatron/hqx.c, bin/megatron/macbin.c, bin/megatron/megatron.c,
7         bin/megatron/nad.c, bin/megatron/updcrc.c, libatalk/atp/atp_bprint.c,
8         libatalk/util/getiface.c: warnings patch from Sebastian Rittau
9         <srittau@users.sourceforge.net> (#420300)
10
11         * bin/afile/*: replacement for old restrictive afile from Sebastian
12         Rittau <srittau@users.sourceforge.net> (#420302)
13
14         * distrib/initscripts/rc.atalk.redhat.tmpl: daemon-specific start and
15         stop messages to the redhat initscript. nbpregister and unregister
16         messages are also displayed. This patch also permits spaces in zone
17         and machine names to be used in the variables. From Ryan Cleary
18         <tryanc@users.sourceforge.net> (#418094)
19
20         * bin/megatron/Makefile.am: patch to properly create links for
21         megatron, from Sebastian Rittau <srittau@users.sourceforge.net>
22         (#420446)
23
24 2001-04-25  morgan a <morgan@orst.edu>
25
26         * etc/afpd/unix.c: in setdirowner(), changed some of the syslog
27         statements from LOG_ERR to LOG_DEBUG.  Some common "soft errors"
28         were being logged and scaring users.  :)
29
30 2001-04-24  jeff b  <jeff@univrel.pr.uconn.edu>  
31
32         * configure.in: fixed problem with tcp_wrappers support; it needed to
33         check for tcpd_warn
34
35 2001-04-20  jeff b  <jeff@univrel.pr.uconn.edu>  
36
37         * configure.in, etc/afpd/Makefile.am, etc/papd/Makefile.am: added
38         AFPD_LIBS and PAPD_LIBS to cope with libraries that don't need to
39         be used for everything
40
41 2001-04-16  jeff b  <jeff@univrel.pr.uconn.edu>  
42
43         * etc/afpd/directory.c, etc/afpd/messages.c, etc/uams/uams_dhx_pam.c:
44         merged patch from Heath Kehoe <hkehoe@users.sourceforge.net> #416371,
45         fixing an OSX issue, byteorder problems with uid/gid in directory.c,
46         and fixing the syslog()'s in uams_dhx_pam.c to not produce useless
47         errors
48
49 2001-04-12  jeff b  <jeff@univrel.pr.uconn.edu>  
50
51         Released 1.5pre6
52
53 2001-04-10  jeff b  <jeff@univrel.pr.uconn.edu>  
54
55         * configure.in, acconfig.h, etc/afpd/uam.c: patch submitted by Jason
56         Kelitz (jkeltz) to allow disabling of shell checking
57
58         * configure.in, contrib/Makefile.am: made timelord compilation
59         optional, disabled by default
60
61 2001-04-03  jeff b  <jeff@univrel.pr.uconn.edu>  
62
63         * etc/afpd/file.c: merged patch from Soren Spies <sspies@apple.com>
64         at Apple, fixing server disconnect problem upon afp_createid() call
65
66 2001-04-02  jeff b  <jeff@univrel.pr.uconn.edu>  
67
68         * contrib/shell_utils/Makefile.am, contrib/shell_utils/cleanappledouble.pl:
69         added cleanappledouble.pl script from Heath Kehoe <hakehoe@avalon.net>
70
71 2001-03-26  jeff b  <jeff@univrel.pr.uconn.edu>  
72
73         * etc/afpd/quota.c: fix compile dbtob problem on Linux from Sam
74         Noble <ns@shadow.org>
75
76         * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am:
77         moved -shared into LDSHAREDFLAGS to fix Solaris build problems
78         from Bob Rogers <rogers-netatalk-devel@rgrjr.dyndns.org> and
79         Akop Pogosian <akopps@csua.berkeley.edu>
80
81 2001-03-22  Lance Levsen  <lance.l@dontspam.home.com>
82
83         * etc/uams/Makefile.am: Added $LDFLAGS to fix broken compile due
84         to inability to find libcrypto. libcrypto is defined in LDFLAGS as
85         "-L$ssldir/lib" in configure.
86
87 2001-03-22 12:57 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
88
89         * configure.in: patch for OpenBSD compile reported by Jean-Phillipe
90         Rey <jprey@ads.ecp.fr>
91
92 2001-03-21 09:35 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
93
94         * etc/afpd/ofork.c, include/atalk/adouble.h, libatalk/adouble/ad_open.c:
95         patch from Jonathan Paisley (jonp@chem.gla.ac.uk)
96
97 2001-03-14 13:30 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
98
99         * configure.in: patch from Yoshinobu Ishizaki to fix problems with
100         Linux 2.0.x builds (Patch #408256)
101
102         * etc/afpd/file.c: used patch at http://www.avalon.net/~hakehoe/
103         to fix deleting/emptying trash problems (Patch #408218)
104
105 2001-03-14 11:00 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
106
107         * libatalk/adouble/ad_open.c: fixed O_RDWR kludge in ad_mode call
108         which was causing file creation problems
109
110 2001-03-09 09:42 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
111
112         * sys/solaris/Makefile: fixed problems noted by Akop Pogosian in Solaris
113         build, most notably paths, and reference to lp2pap.sh in the wrong
114         place
115
116 2001-03-07 15:30 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
117
118         Released 1.5pre5
119
120         * distrib/rpm/netatalk-redhat.spec, distrib/rpm/netatalk-mandrake.spec:
121         updated for 1.5pre5 release
122
123 2001-03-07 10:34 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
124
125         * etc/afpd/volume.c: changed VOLOPT_MAX to be 9 if FORCE_UIDGID is not
126         defined (thanks to Axel Bringenberg <A.Bringenberg@srz-berlin.de>)
127
128 2001-03-07 10:14 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
129
130         * ChangeLog: started using timestamps in ChangeLog
131
132         * etc/uams/uams_krb4/Makefile.am: fixed reference to send_to_kdc.c typo
133         (thanks to Sebastian Rittau)
134
135 2001-03-06 13:40  Lance Levsen <l.levsen@printwest.com>
136
137         * FAQ, README, README.ASUN, INSTALL.txt: Moved FAQ, AND READMEs to
138         docs/, where they should be.
139
140         * INSTALL/INSTALL.txt: Added ./INSTALL/INSTALL.txt
141
142         * INSTALL/FAQ, README, README.ASUN: Moved README.ASUN, README,
143         FAQ to ./INSTALL
144
145 2001-03-06 11:47  Andrew Morgan <morgan@orst.edu>
146
147         * TODO: A few updates to papd entry.
148
149         * README.MORGAN: Removed README.MORGAN because that information in
150         now in papd's man page.
151
152         * man/man8/papd.8.tmpl: Updated papd man page to match current
153         code.  Added descriptions of authenticated printing and other new
154         papd options.
155
156 2001-02-28 15:43  Marc J. Millar <itlm019@mailbox.ucdavis.edu>
157
158         * libatalk/adouble/ad_open.c: AppleDouble directory creation
159         debugging
160         
161 2001-02-28  jeff b  <jeff@univrel.pr.uconn.edu>  
162
163         * etc/afpd/directory.c, etc/afpd/file.c, etc/afpd/filedir.c,
164         etc/afpd/unix.c, etc/afpd/unix.h, etc/afpd/volume.h,
165         etc/afpd/volume.c, man/man5/AppleVolumes.default.5.tmpl: added
166         "dropbox" to available option if DROPKLUDGE is used during
167         compile 
168
169 2001-02-27  jeff b  <jeff@univrel.pr.uconn.edu>  
170
171         * README: updated 1.5+ install instructions to include list of
172         required and recommended packages
173
174         * etc/uams/uams_*.c: cleanups, addition of CVS Id tag to C source
175
176         * configure.in, acconfig.h: change USE_AFS to AFS to be the same as
177         all of the defines in the codebase
178
179         * etc/uams/uams_dhx_pam.c: fixed DHX login using this module (last
180         patch made with syslog()'s didn't include any brackets) 
181         (Bug #233756)
182
183         * distrib/initscripts/.cvsignore: removed pulling of atalk
184
185         * configure.in, etc/uams/Makefile.am: conditional compilation support
186         for PGP UAM module using --enable-pgp-uam
187
188         * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am,
189         etc/uams/uams_krb4/.cvsignore, etc/uams/uams_krb4/*.c: modifications
190         for future Kerberos module reintegration
191
192 2001-02-26  jeff b  <jeff@univrel.pr.uconn.edu>  
193
194         * configure.in: added /usr/local/ssl to list of SSL paths to check, to
195         help kludge compilation on Mac OS X from Marcel <lammerse@xs4all.nl>
196
197         * distrib/initscripts/rc.atalk.redhat.tmpl: adjusted to echo warning
198         instead of dumping out if appletalk module not present, from
199         Steven Karen <karelsf@users.sourceforge.net> (Bug #404087)
200
201         * configure.in, contrib/timelord/timelord.c: applied patch from Wes
202         Hardaker <hardaker@users.sourceforge.net> (Patch #402245), with
203         suitable configure.in fixes
204
205 2001-02-23  jeff b  <jeff@univrel.pr.uconn.edu>  
206
207         * etc/afpd/desktop.c, etc/afpd/codepage.c, etc/afpd/nls/makecode.c:
208         patch from Axel Barnitzek <barney@users.sourceforge.net> to fix
209         broken codepage support.
210
211         * ChangeLog: started updaing ChangeLog with important patch/fix
212         information, as it is *never* up to date.
213
214         * configure.in, acconfig.h: implemented AFS configuration option
215         patch from Wes Hardaker <hardaker@users.sourceforge.net>
216
217         * VERSION: bumped up version to 1.5pre5, since 1.5pre4 was kind of
218         paperbag-ish
219
220         * autogen.sh: make libtoolize copy instead of linking files to
221         avoid problems, thanks to Wes Hardaker <hardaker@users.sourceforge.net>
222
223 2001-02-20  jeff b  <jeff@univrel.pr.uconn.edu>
224
225         Released 1.5pre4
226         - Debian packaging in tree
227         - Numerous Makefile/build fixes
228         - .cvsignore implemented
229         - Solaris build fixes
230
231 2001-01-02  jeff b  <jeff@univrel.pr.uconn.edu>
232
233         * etc/afpd/uid.c, etc/afpd/uid.h, ...: added support for forcing
234         uid/gid per volume for afpd
235
236 2000-09-22  Roland Schulz <rdschulz@abarrach.franken.de>
237
238         * etc/afpd/volume.c (setvoltime): fix for multiple clients
239         writing to same volume.
240
241 2000-02-28  a sun  <asun@asun.cobalt.com>
242
243         * etc/afpd/directory.h (CNID_INODE): xor the inode a little
244         differently. 
245
246 2000-02-23  a sun  <asun@asun.cobalt.com>
247
248         * etc/afpd/volume.c (creatvol): / is a special case. you can't
249         share it unless you give it a name.
250
251 2000-02-21  a sun  <asun@asun.cobalt.com>
252
253         * distrib/initscripts/rc.atalk.redhat/cobalt: added changes to
254         make redhat 6.x happier.
255
256 2000-02-17  a sun  <asun@asun.cobalt.com>
257
258         * libatalk/adouble/ad_lock.c (adf_unlock): off-by-one error with
259         lock removal. this + the log right below fix ragtime.
260
261 2000-02-16  a sun  <asun@asun.cobalt.com>
262
263         * etc/afpd/fork.c (afp_bytelock): only error on bytelocks
264         positioned at 0x7FFFFFFF if there's no resource fork.
265
266 2000-02-14  a sun  <asun@asun.cobalt.com>
267
268         * libatalk/adouble/ad_lock.c: re-wrote locking bits so that
269         allocations happen in blocks. added missing case that omnis
270         database triggers.
271
272 2000-02-07  a sun  <asun@asun.cobalt.com>
273
274         * bin/nbp/Makefile (install): make nbprgstr/nbpunrgstr with 700
275         permissions. 
276
277         * include/atalk/adouble.h (sendfile): change to deal with
278         <sys/sendfile.h> 
279
280 2000-01-25  a sun  <asun@asun.cobalt.com>
281
282         * etc/afpd/ofork.c: keep track of oforks being used for each
283         directory so that we can update them if the directory tree gets
284         modified. 
285
286         * etc/afpd/directory.c (deletecurdir): remove dangling symlinks on
287         delete. 
288
289 2000-01-24  a sun  <asun@asun.cobalt.com>
290
291         * etc/afpd/directory.h (CNID): moved cnid assignment here along
292         with helpful macros.
293
294         * etc/afpd/directory.c: changed directory search to use red-black
295         trees to improve balance. parent-child tree changed to circular
296         doubly-linked list to speed up insert/remove times.  there's still
297         one obstacle to actually freeing red-black tree entries. i need to
298         add an ofork list to struct dir to minimize search times.
299
300 2000-01-18  a sun  <asun@asun.cobalt.com>
301
302         * etc/afpd/directory.c (dirinsert): detect attempts to add
303         pre-existing entries as just symbolic links. 
304
305         * etc/afpd/filedir.h (CNID): moved inode-cnid assignment here and
306         extended to directories.
307
308 2000-01-03  a sun  <asun@asun.cobalt.com>
309
310         * etc/uams/uams_pam.c (PAM_conv): surround PAM_BINARY_PROMPT with
311         an #ifdef.
312
313         * etc/afpd/status.c (status_init): fixed a bunch of problems here
314         that manifested under solaris 7.
315
316         * etc/afpd/main.c (main): use FD_SETSIZE instead of FD_SETSIZE +
317         1.
318         
319
320 1999-12-27  a sun  <asun@asun.cobalt.com>
321
322         * libatalk/util/getiface.c: moved interface detection code to here
323         so that i can use if_nameindex() or getifconf() depending upon
324         what's available.
325
326 1999-12-13  a sun  <asun@asun.cobalt.com>
327
328         * libatalk/dsi/dsi_tcp.c (dsi_tcp_init): added if_nameindex()
329         based interface code.
330
331         * etc/afpd/afp_options.c (afp_options_parseline): added
332         -server_quantum as an option. using hex would be a good idea.
333
334         * libatalk/dsi/dsi_opensess.c (dsi_opensession): added bits to set
335         the server quantum. by default, the server quantum is limited to
336         1MB due to a bug in the os 9 appleshare client.
337
338         * distrib/initscripts/rc.atalk.{cobalt,redhat}: surround nbp stuff
339         with double quotes.
340
341         * etc/uams/uams_dhx_pam.c (pam_changepw): added dhx-based password
342         changing for pam.
343
344 1999-12-06  a sun  <asun@asun.cobalt.com>
345
346         * etc/afpd/directory.c (setdirparams): don't error if we can't set
347         the desktop owner/permisssions.
348
349 1999-11-04  a sun  <asun@asun.cobaltnet.com>
350
351         * etc/afpd/fork.c (afp_openfork): had the ordering wrong on an
352         openfork. 
353
354 1999-11-02  a sun  <asun@asun.cobaltnet.com>
355
356         * etc/afpd/afp_dsi.c (afp_over_dsi): flush data for unknown dsi
357         commands. 
358
359 1999-10-28  a sun  <asun@asun.cobaltnet.com>
360
361         * etc/uams/*.c: return FPError_PARAM if the user is unknown. 
362
363 1999-10-27  a sun  <asun@asun.cobaltnet.com>
364
365         * etc/afpd/fork.c (afp_read): if sendfile isn't supported, use the
366         old looping method.
367
368 1999-10-25  a sun  <asun@asun.cobaltnet.com>
369
370         * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): fix nbp unregisters.
371
372 1999-10-21  a sun  <asun@asun.cobaltnet.com>
373
374         * etc/afpd/Makefile (install): moved install of afpd earlier per
375         suggestion by steven michaud.
376
377 1999-10-05  a sun  <asun@asun.cobaltnet.com>
378
379         * etc/uams/uams_randnum.c (afppasswd): for ~/.passwd's, turn
380         ourselves into the user so that nfs is happy.
381
382 1999-09-19  a sun  <asun@adrian5>
383
384         * libatalk/netddp/netddp_open.c, nbp/*.c: only use the bcast stuff
385         if it's on an os x server machine.
386
387 1999-09-15  a sun  <asun@adrian5>
388
389         * libatalk/nbp/nbp_unrgstr.c,nbp_lkup.c,nbp_rgstr.c: os x server
390         wants ATADDR_BCAST. that probably means that i need to do
391         multihoming appletalk a little differently. bleah.
392
393 1999-09-09    <asun@asun.cobaltnet.com>
394
395         * etc/afpd/directory.c (getdirparams), libatalk/adouble/ad_open.c
396         (ad_open): mondo lameness. i forgot that directory lookups can be
397         done with "." as the directory name. that was auto-hiding
398         them. bleah. i also figured out which bit was the invisible bit
399         for finderinfo information.
400
401 1999-09-06  Adrian Sun  <asun@glazed.cobaltnet.com>
402
403         * etc/afpd/desktop.c (mtoupath): fixed a bug in codepage support
404         that accidentally crept in.
405
406 1999-08-31  Adrian Sun  <asun@glazed.cobaltnet.com>
407
408         * etc/afpd/quota.c (getfsquota): use group quotas in quota
409         calculations if the user belongs to a single group. just use the
410         user quotas if the user belongs to multiple groups.
411
412         * etc/afpd/volume.c (getvolspace): added an options:limitsize to
413         restrict the available space to 2GB. this is for macs running
414         older versions of the operating system with newer versions of the
415         appleshare client. weird huh?
416
417         * etc/afpd/quota.c (uquota_getvolspace): bleah. 64-bit shifts
418         don't get promoted in the same way as arithmetic operations. added
419         some more casts to deal with that issue.
420
421 1999-08-24  Adrian Sun  <asun@glazed.cobaltnet.com>
422
423         * man/man?/Makefile: don't re-build .tmp files if they already
424         exist. this gets the install phase to work correctly.
425
426 1999-08-13  a sun  <asun@hecate.darksunrising.blah>
427
428         * etc/afpd/directory.c, file.c, filedir.c: illegal characters get
429         AFPERR_PARAM. also, reject names with /'s in them if the nohex
430         option is used.
431
432 1999-08-12  a sun  <asun@hecate.darksunrising.blah>
433
434         * etc/afpd/filedir.c,file.c,directory.c: changed error for
435         illegal filenames to AFPERR_EXIST.
436
437 1999-08-11  a sun  <asun@hecate.darksunrising.blah>
438
439         * etc/afpd/desktop.h (validupath): if usedots is set, .Apple* and
440         .Parent files are no longer valid file names.
441
442         * etc/afpd/volume.c (volset): added usedots and nohex as
443         options. usedots stops :hex translation of . files while nohex
444         stops :hex translation of everything but . files. in addition,
445         . files created on the unix side are by default hidden.
446
447         * libatalk/adouble/ad_open.c: initialize more bits.
448
449 1999-08-10  a sun  <asun@hecate.darksunrising.blah>
450
451         * distrib/initscripts/rc.atalk.redhat (WORKSTATION): use the
452         actual name for nbp registration rather than ATALK_NAME.
453
454         * sys/solaris/Makefile (kernel): make sure osdefs and machinedefs
455         get used when building the kernel module.
456
457         * sys/solaris: changed strings.h to string.h
458
459 1999-08-08  a sun  <asun@hecate.darksunrising.blah>
460
461         * etc/afpd/volume.c (readvolfile): changed volume options into an
462         array of structs to ease maintenance.
463
464 1999-08-05  a sun  <asun@hecate.darksunrising.blah>
465
466         * etc/afpd/status.c (status_init): change the default icon
467         depending upon whether or not it's an ASIP or an AppleTalk
468         connection. 
469
470 1999-08-04  Adrian Sun  <asun@glazed.cobaltnet.com>
471
472         * etc/atalkd/main.c (setaddr): made a failure with setaddr a 
473         little more informative.
474
475 1999-08-03  Adrian Sun  <asun@glazed.cobaltnet.com>
476
477         * yippee. someone figured what was happening with the installation
478         of the man pages. i got rid of a duplicate entry.
479
480 1999-08-02  a sun  <asun@hecate.darksunrising.blah>
481
482         * etc/afpd/volume.c (readvolfile): added a per-file way of setting
483         default options. it keys in on a :DEFAULT: label.
484
485 1999-07-30  a sun  <asun@hecate.darksunrising.blah>
486
487         * moved rc.atalk.* scripts to distrib/initscripts.
488
489 1999-07-27  a sun  <asun@hecate.darksunrising.blah>
490
491         * contrib/printing: added patch from job@uchicago.edu
492
493         * etc/afpd/file.c: forgot to initialize struct ad in
494         some places.
495
496         * etc/afpd/nls/makecode.c: added an empty mapping.
497
498         * etc/psf/Makefile (install): well cp -d didn't work either. just
499         use tar.
500
501 1999-07-26  a sun  <asun@hecate.darksunrising.blah>
502
503         * sys/solaris/tpi.c (tpi_attach): changed DDI_NT_NET to DDI_PSEUDO
504         (from denny@geekworld.com).
505
506         * distrib/rpm/netatalk-asun.spec (Summary): incorporated new spec
507         and patch files from inoue.
508
509         * sys/linux/Makefile (install-sysv): fixed up a bit.
510
511         * etc/psf/Makefile (install): use cp -d instead of cp -a to make
512         *bsd happier.
513
514         * etc/afpd/afp_options.c (afp_options_parseline): reversed meaning
515         of -icon. now it means to use the yucky bitmap instead of the
516         apple icon.
517
518         * bin/afppasswd/Makefile (all): add -Iinclude/openssl for
519         afppasswd as well. 
520
521 1999-07-18  a sun  <asun@hecate.darksunrising.blah>
522
523         * create links/mangle files in the compile rather than the install
524         phase so that rpm will be happier.
525
526 1999-07-17  a sun  <asun@hecate.darksunrising.blah>
527
528         * etc/afpd/file.c (afp_createfile), directory (afp_createdir),
529           filedir.c (afp_rename, afp_moveandrename): don't allow the
530           creation/renaming of names with certain characters if mswindows
531           compatibility is enabled.
532
533 1999-07-16  a sun  <asun@hecate.darksunrising.blah>
534
535         * rc.atalk.redhat: incorporated chkconfig from inoue.
536
537 1999-07-15  a sun  <asun@hecate.darksunrising.blah>
538
539         * etc/atalkd/config.c (getifconf): wrap check against
540         IFF_MULTICAST behind an #ifdef IFF_MULTICAST.
541
542         * sys/netbsd/Makefile (LDSHAREDFLAGS): key in on machine type.
543
544 1999-07-11  a sun  <asun@hecate.darksunrising.blah>
545
546         * contrib/ICDumpSuffixMap: added internet config perl script from
547         inoue. 
548
549         * contrib/printing: added contributed solaris printing scripts
550         from job@uchicago.edu.
551
552 1999-07-10  a sun  <asun@hecate.darksunrising.blah>
553
554         * etc/atalkd/interface.h, rtmp.h: prototyped functions.
555
556         * etc/atalkd/zip.c: converted bcopy's to memcpy's.
557
558         * etc/atalkd/nbp.c,rtmp.c: added checks for the interface for
559         dontroute cases.
560
561         * etc/atalkd/main.c: converted bzero/bcopy to memset/memcpy.
562
563 1999-07-08  a sun  <asun@hecate.darksunrising.blah>
564
565         * libatalk/nbp/nbp_rgstr.c (nbp_rgstr): return EADDRINUSE if the
566         address already exists.
567
568 1999-07-06  a sun  <asun@hecate.darksunrising.blah>
569
570         * rc.atalk.redhat: changed netatalk.config to netatalk.conf
571
572 1999-07-05  a sun  <asun@hecate.darksunrising.blah>
573
574         * etc/atalkd/nbp.c (nbp_packet): add interface to nbp struct. this
575         is so that we can filter by interface in the future. however, it
576         doesn't seem to work that well right now. bleah. 
577
578         * etc/atalkd/main.c: fixed up dontroute option so that it doesn't
579         screw up atalkd.conf. also, we need to do a bootaddr if dontroute
580         is set. 
581
582         * libatalk/atp,nbp,netddp; bin/aecho,nbp,getzones,pap;
583         etc/papd,afpd: accept -A <ddp address> as an option so that you
584         can specify the address to be used on a multihomed server. for
585         papd, you use the 'pa' option in papd.conf.
586
587 1999-07-04  a sun  <asun@hecate.darksunrising.blah>
588
589         * etc/atalkd/config.c (parseline): initialize parseline properly
590         so that we don't get extraneous junk.
591
592         * etc/afpd/afp_options.c (afp_options_parseline): do
593         gethostbyaddr/gethostbyname's for -ipaddr and -fqdn.
594
595         * etc/atalkd/config.c (getifconf/readconf): check to see if the
596         supported device can support appletalk addresses. either continue
597         or exit depending upon whether or not it's auto-configed.
598
599 1999-07-03  a sun  <asun@hecate.darksunrising.blah>
600
601         * etc/afpd/afp_options.c (afp_options_parse): -I (-[no]icon) will
602         toggle the volume icon so that it uses the apple icon instead.
603
604         * etc/afpd/config.c (AFPConfigInit): added more logic for the
605         -proxy option. here are the rules: -proxy will always try to
606         create a DDP server instance. by default, the proxy server will
607         still allow you to login with an appletalk connection. to prevent
608         that, just set the uamlist to an empty string.
609
610 1999-07-02  a sun  <asun@hecate.darksunrising.blah>
611
612         * etc/afpd/status.c (status_netaddress): added support for fqdn
613         (not available in the appleshare client yet).
614
615 1999-07-01  a sun  <asun@hecate.darksunrising.blah>
616
617         * etc/afpd/config.c (DSIConfigInit): application code for proxy
618         setup. it's the -proxy option.
619
620         * libatalk/dsi/dsi_init/tcp.c (dsi_init/dsi_tcp_init): added
621         support for proxy setup.
622
623 1999-06-30  a sun  <asun@hecate.darksunrising.blah>
624
625         * etc/afpd/filedir.c (afp_rename): fixed up some error
626         codes. quark express should be happier.
627
628         * etc/afpd/uam.c (uam_afpserver_option): added
629         UAM_OPTION_HOSTNAME. use this to set PAM_RHOST. i just got a
630         report that setting that fixes pam on solaris machines.
631
632 1999-06-28  a sun  <asun@hecate.darksunrising.blah>
633
634         * etc/afpd/ofork.c (of_alloc): report out of forks in syslog..
635
636         * etc/afpd/enumerate.c (afp_enumerate): close an opendir leak. 
637
638         * include/atalk/{dsi,asp}.h: make cmdlen and datalen ints.
639
640         * etc/afpd/fork.c (afp_write): fixed up error condition.
641
642 1999-06-26  a sun  <asun@hecate.darksunrising.blah>
643
644         * etc/uams/Makefile (install): changed install location of uams.
645
646         * sys/linux/Makefile (install-sysv): always install redhat
647         script. netatalk.config script only gets installed if it's not
648         there already.
649
650 1999-06-23  a sun  <asun@hecate.darksunrising.blah>
651
652         * rc.atalk.redhat: merged in redhat contrib rpm rc.atalk script.
653
654         * etc/afpd/afp_options.c (afp_options_init): changed default
655         maxusers to 20.
656
657 1999-06-22  a sun  <asun@hecate.darksunrising.blah>
658
659         * etc/afpd/config.c (DSIConfigInit): truncate options->server to
660         just the server name here.
661
662         * etc/afpd/volume.c (volxlate): made $s return something
663         meaningful no matter what.
664
665         * libatalk/adouble/ad_sendfile.c (ad_readfile): freebsd sendfile
666         wants an off_t.
667
668 1999-06-20  a sun  <asun@hecate.darksunrising.blah>
669
670         * etc/afpd/volume.c (volxlate): added variable substitution. if it
671         doesn't understand the variable, it just spits it back out.
672         
673         (creatvol): display truncated volume name if it's too long.
674
675         * sys/{generic,solaris}/Makefile: added NO_CRYPTLIB option to deal
676         with oses that have -lcrypt but shouldn't use it.
677
678 1999-06-11  a sun  <asun@hecate.darksunrising.blah>
679
680         * include/atalk/afp.h: added comments to FPErrors.
681
682         * etc/afpd/enumerate.c (afp_enumerate): make FPEnumerate do some
683         more error checking.
684
685         * include/atalk/util.h: server_lock() returns pid_t. 
686
687 1999-06-10  a sun  <asun@hecate.darksunrising.blah>
688
689         * README.ASUN: added location for both ssleay and openssl.
690
691         * etc/uams: moved install to LIBDIR/uams. "uams_*" now means "uam
692         server." in the future, there will be "uamc_*." changed the shared
693         library names to match.
694
695         * include/atalk/atp.h,nbp.h: forgot to include <sys/cdefs.h>
696
697         * etc/uams/Makefile: openssl-0.9.3c uses <openssl/*.h> so add that
698         to the include path.
699
700         * sys/{solaris,ultrix}/Makefile: just use -I../sys/generic instead
701         of doing a link.
702
703         * include/atalk/uam.h, etc/uams/uam_*.c, etc/afpd/uam.c: added uam
704         type field. do type check.
705
706         * etc/uams/uam_*pam.c: added a couple more error codes. 
707
708 1999-06-08  a sun  <asun@hecate.darksunrising.blah>
709
710         * etc/afpd/nls/Makefile (codepage.h): make sure that a link to
711         codepage.h gets made.
712
713         * libatalk/*/Makefile: make sure that the profiled directory gets
714         created.
715         
716         * etc/afpd/directory.c (afp_mapname): removed an extraneous line
717         that was causing mapname to fail.
718
719 1999-06-07  a sun  <asun@hecate.darksunrising.blah>
720
721         * etc/atalkd/main.c (main): added a note to check the syslog if
722         atalkd can't be setup.
723
724         * sys/linux/Makefile: added -DNEED_QUOTACTL_WRAPPER to the list of
725         auto-detected #defines.
726
727 1999-06-06  a sun  <asun@hecate.darksunrising.blah>
728
729         * etc/afpd/fork.c (afp_write): argh. i moved things around a
730         little too much and ended up with an uninitialized eid. strangely,
731         the compiler didn't complain. simplified bits a little as
732         well. also, FPWrite was returning the wrong error messages. on
733         64-bit filesystems, the offset can wraparound. so, report a disk
734         full error if that's going to happen. egcs-19990602 gets one
735         memcpy right and another wrong on my udb. bleah.
736         
737         (afp_read): fixed the error messages here as well.
738
739 1999-06-05  a sun  <asun@hecate.darksunrising.blah>
740
741         * Makefile, sys/generic, sys/{ultrix,solaris}/Makefile: create
742         some links on the fly if they're missing.
743
744         * etc/afpd/directory.c (copydir): fixed a leaking opendir and
745         re-arranged a little.
746
747 1999-06-04  a sun  <asun@hecate.darksunrising.blah>
748
749         * etc/afpd: prototyped everything here and moved the FP functions
750         into include files.
751
752         * libatalk/util/bprint.c: moved all of the bprints to here.
753
754         * libatalk/asp, include/atalk/asp.h: prototyped asp functions.
755
756         * include/atalk/atp.h, libatalk/atp: prototyped atp functions. 
757
758         * libatalk/nbp, include/atalk/nbp.h: added prototypes for nbp
759         functions. 
760
761         * bin/afppasswd/Makefile (afppasswd): fixed a misspelling in the
762         install phase.
763
764         * bin/afppasswd/afppasswd.c: added -a option so that root can add
765         new users. turned all of the options into bits. added newlines to
766         each entry.
767
768 1999-06-03  a sun  <asun@hecate.darksunrising.blah>
769
770         * sys/freebsd/Makefile: turn on sendfile support if running on a
771         FreeBSD 3+ machine.
772
773 1999-06-02  a sun  <asun@hecate.darksunrising.blah>
774
775         * etc/uams/uam_dhx_pam.c: fixed memory freeing part of pam
776         conversation function.
777
778         * sys/*/Makefile: check at make time to see if -lrpcsvc and
779         -lcrypt should be included in the appropriate places. 
780
781 1999-05-28  a sun  <asun@hecate.darksunrising.blah>
782
783         * etc/afpd/file.c (deletefile): added more error checking here as
784         well. 
785
786         * etc/afpd/directory.c (renamedir): added a couple a few more
787         error bits. 
788
789         * sys/sunos/Makefile: sunos should really work now. 
790
791 1999-05-27  a sun  <asun@hecate.darksunrising.blah>
792
793         * include/atalk/afp.h: added in a couple new error codes (one
794         deals with password setting policy, the other with maximum logins
795         by any user).
796
797         * etc/afpd/fork.c (afp_openfork): try to re-open files on
798         read-only volumes as read-only.
799
800 1999-05-26  a sun  <asun@hecate.darksunrising.blah>
801
802         * sys/solaris/Makefile: fixed a few bobbles here. solaris uses
803         uname -p. other oses seem to use uname -m for the same information.
804
805         * etc/uams/uam_pam.c (pam_changepw): added check for same
806         password. 
807
808         * etc/uams/uam_randnum.c (randnum_changepw): added in cracklib and
809         same password checks.
810
811         * sys/osx/Makefile: moved the os x server stuff into its own build
812         directory. 
813
814         * sys/linux/Makefile, sys/solaris/Makefile: key in on OSVERSION
815         and MACHINETYPE for some stuff.  
816
817 1999-05-25  a sun  <asun@hecate.darksunrising.blah>
818
819         * sys/sunos/Makefile: various bits to make stuff work with sunos
820         again. 
821
822 1999-05-25  a sun  <asun@purgatorius.zoology.washington.edu>
823
824         * etc/afpd/file.c (copyfile): only copy the header file if newname
825         is specified. 
826
827         * etc/afpd/directory.c (copydir): make sure to balk if the
828         directory already exists. in addition, make sure to preserve the
829         timestamps. 
830
831 1999-05-24  a sun  <asun@hecate.darksunrising.blah>
832
833         * bin/afppasswd/afppasswd.c: global password updating utility for
834         the randnum authentication method. 
835
836 1999-05-22  a sun  <asun@hecate.darksunrising.blah>
837
838         * etc/uams/uam_randnum.c (afppasswd): added in global password
839         file for the randnum authentication method. it looks for a .key
840         file as well to handle encryption.
841
842         * etc/afpd/afp_options.c (afp_options_parseline): added
843         -passwdfile as an option so that you can specify a global randnum
844         password file if desired.
845
846         * etc/afpd/volume.c (readvolfile): we now have rwlist and rolist
847         as an AppleVolumes.* option. if the user is in the rolist, the
848         volume gets set as readonly. if there's a rwlist, and the user
849         isn't in it, the volume also gets set as readonly.
850
851 1999-05-21  a sun  <asun@hecate.darksunrising.blah>
852
853         * libatalk/adouble/ad_lock.c (ad_fcntl_lock): plug a leak if we
854         can't allocate the reference counting variable.
855
856         * etc/uams/uam_*.c: make sure that uam_setup returns an error
857         code. 
858
859 1999-05-19  a sun  <asun@hecate.darksunrising.blah>
860
861         * include/atalk/paths.h (_PATH_LOCKDIR): added os x server's
862         /var/run as the lock file directory.
863
864         * etc/afpd/fork.c (afp_write): kanehara@tpk.toppan.co.jp reported
865         a problem with FPWrite getting a request count of 0. that's
866         fixed. 
867
868         * etc/afpd/Makefile: bleah. for some reason, pam doesn't like to
869         load itself from a shared library. i've compensated by linking it
870         into afpd again.
871
872         * etc/uams/uam_dhx_passwd.c: okay. DHX now works. something's
873         still screwy with the dhx_pam stuff though.
874
875 1999-05-18  a sun  <asun@hecate.darksunrising.blah>
876
877         * etc/afpd/uam.c (uam_getname): i forgot that getname modified the
878         username to fit what's in pw->pw_name if necessary.
879
880 1999-05-16  a sun  <asun@hecate.darksunrising.blah>
881
882         * etc/uams/uam_dhx_passwd/pam.c: almost ready versions of the DHX
883         authentication method. i'm still missing a little info to get it
884         all right.
885
886         * bin/megatron/nad.c (nad_header_read): if there isn't a mac name,
887         create it from the unix name. 
888
889         * bin/megatron/megatron.c (megatron): oops. need to turn fdCreator
890         and fdType into strings.
891
892 1999-05-16  a sun  <asun@pelvetia>
893
894         * etc/afpd/uam.c (uam_afpserver_option): changed the interface a
895         little. now, you pass in an int * if you want to either get/set
896         the size of the option. added in UAM_OPTION_RANDNUM for generic 
897         (4-byte granularity) random number generation.
898
899         * etc/afpd/switch.c: added afp_logout to preauth_switch.
900
901 1999-05-15  a sun  <asun@hecate.darksunrising.blah>
902
903         * bin/megatron/macbin.c (bin_open): make error message for
904         macbinary files more informative.
905         
906         (test_header): added more macbinary tests. it now has a workaround
907         for apple's incorrectly generated macbinary files.
908
909 1999-05-14  a sun  <asun@hecate.darksunrising.blah>
910
911         * sys/solaris/Makefile: added shared library generation bits.
912
913         * etc/uams: moved server-side uams here. 
914
915         * include/netatalk/endian.h: fixed some solaris bits. 
916
917         * etc/afpd/config.c (configfree): don't do an asp_close. instead,
918         do an atp_close and free the asp object. oh yeah, as afpd needs
919         to export symbols to its modules, make sure you don't do anything
920         more exciting than strip --strip-debug with it.
921
922 1999-05-12  a sun  <asun@hecate.darksunrising.blah>
923
924         * various places that use sigaction: zero out struct sigaction so
925         that we don't send something confusing. also make sure that we
926         don't set a timer unless we already have a sigaction set.
927
928         * etc/afpd/fork.c (afp_openfork): don't error on trying to open an
929         empty resource fork read-only. also, added back in the bit of code
930         that prevented locks from being attempted on non-existent resource
931         forks.
932
933         * etc/afpd/afp_options.c (getoption): added a uamlist commandline
934         option (-U list). 
935
936         * libatalk/netddp/netddp_open.c: don't bind if nothing was passed
937         in. 
938
939         * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): oops. forgot to
940         convert this over to use by the netddp interface.
941
942 1999-05-12  a sun  <asun@pelvetia>
943
944         * etc/afpd/uam.c: os x server's runtime library loader is
945         braindead. as a result, i've switched to using an exported struct
946         with the uam's name.
947
948         * bin/aecho,getzones: changed these to use the netddp interface.
949
950         * libatalk/nbp/nbp_rgstr.c,unrgstr.c: fixed more leaky bits.
951
952         * libatalk/netddp: abstracted the ddp interface to netddp. besides
953         the prior socket-driven interface, there's now an os x server
954         interface. so, instead of calling socket/sendto/recvfrom, you call
955         netddp_open/netddp_sendto/netddp_recvfrom.
956
957 1999-05-11  a sun  <asun@pelvetia>
958
959         * libatalk/nbp/nbp_lkup.c: oh my. nbp_lookup was fd leaky if there
960         was a problem.
961
962         * etc/atalkd/main.c (main): make sure that if -dontroute is
963         selected for all but one interface, that interface also gets
964         -dontroute set.
965
966 1999-05-10  a sun  <asun@hecate.darksunrising.blah>
967
968         * etc/afpd/auth.c: re-wrote to deal with plug-in uams. it's much
969         smaller than it used to be.
970
971 1999-05-09  a sun  <asun@hecate.darksunrising.blah>
972
973         * etc/afpd/uams/uam_guest.c, uam_pam.c, uam_passwd.c,
974         uam_randnum.c: uam modules. these should probably be moved out of
975         afpd (and into something like etc/uam_server) when the printing
976         stuff gets uam support.
977
978 1999-05-08  a sun  <asun@hecate.darksunrising.blah>
979
980         * etc/afpd/uam.c: interface to user authentication modules.
981         it should eventually be moved to libatalk, but that's not
982         necessary until the printing uam stuff is done. everything is from
983         the server-side perspective, but that's only because there aren't
984         any client-side uses right now.
985
986         * libatalk/util/module.c: generic interface to run-time library
987         loading functions. right now, the dlfcn family and os x server's
988         NS-style way of doing things are the ones understood. in addition,
989         there's a DLSYM_PREPEND_UNDERSCORE for those systems that need it.
990
991         * libatalk/asp/asp_write.c (asp_wrtcont): log both the read and
992         write part of write continuations.
993
994 1999-05-07  a sun  <asun@hecate.darksunrising.blah>
995
996         * etc/atalkd: added the ability to turn off routing for particular
997         interfaces. specify -dontroute for each interface that you don't
998         want to route.
999
1000 1999-05-06  a sun  <asun@hecate.darksunrising.blah>
1001
1002         * etc/afpd/auth.c: got rid of global clrtxtname and switched to
1003         using obj->username.
1004
1005 1999-05-04  a sun  <asun@hecate.darksunrising.blah>
1006
1007         * libatalk/dsi/dsi_write.c (dsi_write): dsi_write could loop
1008         forever if there's a problem while it's being used. that's fixed.
1009
1010 1999-05-01  a sun  <asun@hecate.darksunrising.blah>
1011
1012         * etc/afpd/directory.c (renamedir,copydir,deletedir): added bits
1013         so that renaming a directory works across filesystems.
1014
1015 1999-04-27  a sun  <asun@hecate.darksunrising.blah>
1016
1017         * etc/afpd/fork.c (getforkparams): report mtime if it's > than
1018         what's stored in the header file.
1019
1020         * config/afpd.conf: incorporated a patch by Stefan Bethke to make
1021         afpd.conf more understandable.
1022
1023         * sys/solaris/if.c: many of the firstnet/lastnet bits weren't
1024         endian converted. that's fixed.
1025
1026         * libatalk/adouble/ad_lock.c (adf_find(x)lock): F_RD/WRLCK aren't
1027         necessarily ORable, so use ADLOCK_RD/WR instead.
1028         
1029         (ad_fcntl_unlock): erk. fixed a typo that had the resource fork
1030         unlock accidentally getting the data fork locks.
1031
1032 1999-04-24  a sun  <asun@hecate.darksunrising.blah>
1033
1034         * etc/afpd/fork.c (afp_openfork): always try to create a resource
1035         fork if asked.
1036
1037 1999-04-21  a sun  <asun@hecate.darksunrising.blah>
1038
1039         * libatalk/adouble/ad_open.c, ad_read.c/ad_write.c, ad_flush.c:
1040         turned the mmapped header stuff into and #ifdef
1041         USE_MMAPPED_HEADERS option.
1042
1043         * libatalk/adouble/ad_open.c (ad_header_read): darn. i forgot that
1044         the hfs fs doesn't currently have mmappable header files. rather
1045         than implement that, i just reverted back to a modified version
1046         of the old way of reading headers.
1047
1048 1999-04-15  a sun  <asun@hecate.darksunrising.blah>
1049
1050         * etc/afpd/fork.c (afp_bytelock): byte locks become read locks on
1051         read-only files.
1052         
1053         (afp_openfork): deal with read-only data forks that don't have
1054         corresponding .AppleDouble files. we can't really do anything with
1055         deny locks in this case. just make sure that read locks are set.
1056
1057         * etc/afpd/file.c (getfilparams): oops. got the parentheses wrong
1058         around FILPBIT_FINFO. 
1059
1060         * etc/afpd/fork.c (afp_read): as we share open files now, check
1061         for fork type against of_flags instead of just checking to see if
1062         the file is open. this fixes a bug that caused resource forks to
1063         get filled with data fork information.
1064
1065 1999-04-09  a sun  <asun@porifera.zoology.washington.edu>
1066
1067         * sys/generic/Makefile: AFP/tcp now compiles on irix with quota
1068         support.
1069
1070 1999-04-09  a sun  <asun@mead1.u.washington.edu>
1071
1072         * sys/generic/Makefile: AFP/tcp now compiles on aix with quota
1073         support.
1074
1075 1999-04-09  a sun  <asun@saul6.u.washington.edu>
1076
1077         * sys/generic/Makefile: AFP/tcp part now compiles on digital unix
1078         with quota support enabled.
1079
1080 1999-04-08  a sun  <asun@hecate.darksunrising.blah>
1081
1082         * etc/afpd/volume.c, fork.c, file.c, directory.c, filedir.c,
1083         config/AppleVolumes.default: added read-only volume option.
1084
1085         * etc/afpd/quota.c (uquota_getvolspace): modified for os x
1086         server. 
1087
1088 1999-04-03  a sun  <asun@hecate.darksunrising.blah>
1089
1090         * bin/megatron/macbin.c (bin_write): only pad if we need to do so 
1091         (from <jk@espy.org>).   
1092         (bin_header_write/read): fixed up screwed up file date
1093         generation/reading with macbinary files. 
1094
1095         * bin/megatron: changed all of the bcopy/bzero/bcmp's to 
1096         memcpy/memset/memcmp's. added macbinary III support.
1097
1098         * bin/megatron/macbin.c (bin_open): added --stdout as an option so
1099         that we can stream macbinary file creation to stdout.
1100
1101         * bin/megatron/megatron.c: incorporated information patch (--header
1102           and --macheader) from <fmorton@base2inc.com>.
1103
1104
1105 1999-04-02  a sun  <asun@hecate.darksunrising.blah>
1106
1107         * etc/afpd: whee! there are no more bcopy/bcmp's in this
1108         directory. 
1109
1110         * libatalk: changed the bcopy/bzero's to memcpy/memset's. added in
1111         dummy ints for some of the files that can get compiled to empty
1112         objects. check for the type of msync() available as well.
1113
1114 1999-03-31  a sun  <asun@hecate.darksunrising.blah>
1115
1116         * INSTALL/README.GENERIC: added information for a generic
1117         architecture. It includes the information needed to get netatalk
1118         to compile on a random unix platform.
1119
1120         * etc/afpd/quota.c: moved the quota stuff here so that we can
1121         #ifdef it out on a machine without quota support.
1122
1123 1999-03-30  a sun  <asun@hecate.darksunrising.blah>
1124
1125         * libatalk/adouble/ad_lock.c: reference count the locked ranges as
1126         well. this prevents multiple read locks on the same byte range
1127         from disappearing if one user disappears.
1128         
1129         (ad_fcntl_lock): here are the current rules for file
1130         synchronization:
1131            1) if there's a appledouble header, we use the beginning
1132               of that for both data and resource forks.
1133            2) if there isn't, we use the end of the data fork (or past the
1134               end on 64-bit machines)
1135         
1136 1999-03-28  a sun  <asun@hecate.darksunrising.blah>
1137
1138         * libatalk/adouble/ad_open.c (ad_refresh): okay. mmapping the
1139         appledouble entry parts is done. 
1140
1141         * libatalk/cnid/cnid_add.c (cnid_add): prevent anyone from adding
1142         in an illegal cnid.
1143
1144 1999-03-27  a sun  <asun@hecate.darksunrising.blah>
1145
1146         * libatalk/adouble/ad_open.c (ad_refresh): started making the
1147         appledouble header parsing more generic so that we can read in
1148         arbitrary appledouble header files. i just mmap the parts that we
1149         need. 
1150
1151 1999-03-22  a sun  <asun@hecate.darksunrising.blah>
1152
1153         * etc/afpd/file.c (afp_copyfile): return the correct error
1154         response on a failed copy. also, error if the file is already open
1155         to prevent problems with locks. we really need to ad_lock
1156         this during the copy
1157
1158 1999-03-21  a sun  <asun@hecate.darksunrising.blah>
1159
1160         * etc/afpd/volume.c (readvolfile): switched volume options to
1161         using ':' as a delimiter as that's one of the characters that's
1162         not allowed as part of a mac filename.
1163         (volset): changed access to allow/deny
1164
1165         * etc/afpd/auth.c (noauth_login): make sure that the username gets
1166         set. 
1167
1168 1999-03-17  a sun  <asun@hecate.darksunrising.blah>
1169
1170         * NOTE to myself: jeremy allison said that samba uses refcounts to
1171         prevent close() from killing all the byte locks. so, i've started
1172         converting afpd to using refcounting as well. luckily, we already
1173         have of_findname, so we know when files are open. in cases where
1174         files are already open, this will replace an ad_open with a lookup
1175         into a hash table.
1176
1177         * etc/afpd/directory.c (getdirparams/getfilparams): check for
1178         NULL names when getting directory/file names.
1179
1180         * etc/afpd/directory.{c,h} (DIRDID_ROOT/DIRDID_ROOT_PARENT): make
1181         sure these are always in network byte order.
1182
1183 1999-03-15  a sun  <asun@hecate.darksunrising.blah>
1184
1185         * etc/afpd/fork.c (afp_openfork): okay, fixed the file
1186         synchronization bits. now, we use two bytes to do the read/write
1187         stuff. when access is needed, a read lock is attempted. if a deny
1188         lock is needed, a write lock is attempted. we even handle the
1189         access None mode now by saving the access modes.
1190
1191         * etc/afpd/fork.h (AFPFORK_ACCMASK): started adding bits so that
1192         we can obey all of the file synchronization rules.
1193
1194         * etc/afpd/fork.c (afp_bytelock): got the meaning of the clearbit
1195         reversed. with helios lantest's lock/unlock 4000 times test, it
1196         looks like i get <1 second overhead on my machine when using byte
1197         locks. NOTE: this will get a little worse when serialization gets
1198         added. in addition, 0x80000000 only works for 64-bit machines. i
1199         reserve the last allowable bit for 32-bit machines. 
1200
1201         actually, both 64-bit machines and 32-bit machines use 0x7FFFFFFF
1202         now as i'm able to trigger a kernel oops in linux with the 64-bit
1203         code. 
1204         
1205         (afp_read/afp_write): make sure to use the same offset when doing
1206         a tmplock.
1207
1208 1999-03-14  a sun  <asun@hecate.darksunrising.blah>
1209
1210         * libatalk/adouble/ad_lock.c: i went and implemented a bunch of
1211         stuff to get byte locks to work correctly (except for the
1212         serialization) only to discover that files that use byte locks
1213         also request a deny write mode. luckily, byte locks only cover up
1214         to 0x7FFFFFFF. so, i'll just use 0x80000000 for the
1215         synchronization locks.
1216
1217 1999-03-08  a sun  <asun@hecate.darksunrising.blah>
1218
1219         * sys/{*bsd,ultrix,solaris,linux}/Makefile (depend): surround 
1220         DEPS with double quotes so that multiple defines work.
1221
1222 1999-03-06  a sun  <asun@hecate.darksunrising.blah>
1223
1224         * libatalk/adouble/ad_write.c, ad_read.c: make off off_t in size. 
1225
1226         * libatalk/adouble/ad_flush.c (adf_fcntl_relock), ad_lock.c
1227         (adf_fcntl_locked): okay. fcntl locks now check against multiple
1228         programs on the same machine opening the same file. current
1229         problems with the mechanism that i don't want to fix unless
1230         necessary: 
1231                 1) there's a race during the relock phase. serialization
1232                    would solve that.
1233                 2) it assumes that each fd only locks a single contiguous
1234                    range at a time. keeping a list of locked ranges would
1235                    solve that. 
1236         
1237         also, i changed the default to using fcntl locks. if the above two
1238         are really necessary, i'll probably switch to something a little
1239         more featureful like the berkeley db's lock manager.
1240
1241         (note to myself: stuff new from asun2.1.3 from 1999-03-03)
1242         
1243 1999-03-05  a sun  <asun@hecate.darksunrising.blah>
1244
1245         * libatalk/adouble/ad_lock.c: got rid of the endflag checks to
1246         reduce system calls a little. 
1247
1248         * etc/afpd/auth.c (getname): do a case-insensitive compare on the
1249         login name as well.
1250
1251         * sys/solaris/Makefile: added 64-bit solaris patch from
1252         <jason@pattosoft.com.au>.
1253
1254 1999-03-03  a sun  <asun@hecate.darksunrising.blah>
1255
1256         * include/netatalk/endian.h: make solaris 2.5 complain less.
1257
1258         * bin/adv1tov2/adv1tov2.c, libatalk/adouble/ad_open.c (ad_v1tov2):
1259         fixed a couple problems with the adv1tov2 stuff.
1260
1261 1999-02-26  a sun  <asun@hecate.darksunrising.blah>
1262
1263         * etc/afpd/volume.c (afp_openvol): erk. the volume password gets
1264         aligned along an even boundary.
1265
1266 1999-02-23  a sun  <asun@hecate.darksunrising.blah>
1267
1268         * etc/afpd/volume.c (readvolfile): added volume password support. 
1269
1270 1999-02-14  a sun  <asun@hecate.darksunrising.blah>
1271
1272         * etc/atalkd/multicast.c (addmulti): added FreeBSD's data-link
1273         layer multicast setting bits.
1274
1275         * libatalk/adouble/ad_open.c (ad_v1tov2): make sure to stick in
1276         prodos field info when converting.
1277
1278         * rc.atalk.redhat: added pidof checking in case the machine
1279         crashes. also added rc.atalk.wrapper to the redhat rc script
1280         installation. 
1281
1282 1999-02-07  a sun  <asun@hecate.darksunrising.blah>
1283
1284         * etc/afpd/fork.c (afp_setforkparams): make sure to do better
1285         error detection here and more fully report error conditions.
1286         
1287         (flushfork): make sure to flush the header if necessary (rfork
1288         length changed or modification date needs to be set).
1289
1290         (afp_write): ugh. this wasn't returning the right values for the
1291         last byte written if the endflag was set. in addition, it was
1292         setting the modification date. that should be left to FPCloseFork
1293         and FPFlush(Fork). this fixes a problem that shows up with
1294         QuarkXPress. 
1295
1296         NOTE: as of now, changes to the rfork info are the only things
1297         that aren't flushed immediately when altered. 
1298
1299         * etc/afpd/fork.c (get/setforkparams), ofork.c: what ugliness. we
1300         need to report bitmap errors if we try to fiddle with the wrong
1301         fork. i added an of_flags field to keep things sorted.
1302
1303         * libatalk/adouble/ad_open.c (ad_v1tov2): oops. in all of the
1304         movement, i forgot to make sure that the pre-asun2.2.0 features
1305         still compile.
1306
1307 1999-02-06  a sun  <asun@hecate.darksunrising.blah>
1308
1309         * etc/afpd/filedir.c (afp_moveandrename): make sure to save the
1310         old name even when it's a directory.
1311
1312         * globals.h: added oldtmp and newtmp to AFPObj to reduce the
1313         number of buffers used. use these when needed in afp_* calls.
1314
1315         * etc/afpd/directory.c (deletecurdir): delete stray .AppleDouble
1316         files when deleting a directory.
1317
1318 1999-02-05  a sun  <asun@hecate.darksunrising.blah>
1319
1320         * etc/afpd/file.c (afp_createfile): fixed a hard create error
1321         check bug. 
1322
1323         * fixed up a few bobbles in the netatalk-990130 merge.
1324
1325         * the noadouble option should be pretty much implemented. here's
1326         how it goes:
1327                 when a directory is created, the corresponding
1328                 .AppleDouble directory is not.
1329                 
1330                 comments, dates, and other file attributes will get
1331                 silently ignored and not result in the creation of a new
1332                 .AppleDouble directory.
1333
1334                 however, if anything possessing a resource fork is copied
1335                 into that directory, the corresponding .AppleDouble
1336                 directory will be created. once this happens, any
1337                 other file in the directory can acquire an AppleDouble
1338                 header file in the future.
1339                 
1340 1999-02-03  a sun  <asun@hecate.darksunrising.blah>
1341
1342         * merged in the rest of netatalk-990130.
1343
1344         * sys/solaris: merged in netatalk-990130 changes.
1345
1346         * etc/afpd/file.c,fork.c,desktop.c libatalk/adouble/ad_sendfile.c:
1347         tested and fixed the sendfile bits on linux. it looks like linux
1348         doesn't permit socket -> file sendfiles yet.
1349
1350         * etc/afpd/fork.c (afp_read): we can't stream FPRead's with
1351         newline character checking on.
1352
1353 1999-02-02  a sun  <asun@hecate.darksunrising.blah>
1354
1355         * etc/afpd/fork.c (afp_flush), ofork.c (of_flush): FPFlush
1356         operates on a per-volume basis.
1357
1358 1999-01-31  a sun  <asun@hecate.darksunrising.blah>
1359
1360         * etc/afpd/file.c (copyfile): sendfile bits added here also.
1361
1362         * etc/afpd/desktop.c (afp_geticon): added sendfile bits here as
1363         well. 
1364
1365         * libatalk/adouble/ad_sendfile.c (ad_writefile/ad_readfile):
1366         implemented sendfile bits. currently, there's support for linux
1367         and freebsd. unfortunately, freebsd's implementation doesn't allow
1368         file->file or socket->file copies. bleah.
1369
1370 1999-01-30  a sun  <asun@hecate.darksunrising.blah>
1371
1372         * etc/afpd/file.c (setfilparams), directory (setdirparams),
1373         volume.c (volset): added in the beginnings of a NOADOUBLE option
1374         for those that don't want AppleDouble headers to be created by
1375         default. it doesn't really work that well right now.
1376
1377 1999-01-29  a sun  <asun@hecate.darksunrising.blah>
1378
1379         * libatalk/adouble/ad_open.c (ad_v1tov2): separated v1tov2 bits
1380         from ad_refresh. made broken v1 header checking the default. fixed
1381         broken v1 date checking. now, it just checks to see if the v1
1382         MDATE is > than st_mtime by 5 years.
1383
1384         * etc/afpd/directory.c: make date setting alter directory dates as
1385         well. 
1386
1387 1999-01-24  a sun  <asun@hecate.darksunrising.blah>
1388
1389         * etc/afpd/afp_dsi.c (alarm_handler,afp_over_dsi): added a
1390         CHILD_RUNNING flag to prevent afpd from timing out on long copies.
1391
1392 1999-01-21  a sun  <asun@hecate.darksunrising.blah>
1393
1394         * etc/afpd/volume.c (afp_openvol), libatalk/cnid/cnid_nextid.c:
1395         shift the beginning of the fake did's if necessary.
1396
1397         * libatalk/adouble/ad_open.c (ad_refresh): fixed screwed-up date
1398         detection code.
1399
1400         * libatalk/cnid/cnid_add.c,cnid_open.c,cnid_close.c: made some
1401         changes so that the CNIDs will still work even when the .AppleDB
1402         directory is read-only. if you're still allowed to create files on
1403         these volumes, you'll get a temporary id for those.
1404
1405 1999-01-20  a sun  <asun@hecate.darksunrising.blah>
1406
1407         * libatalk/cnid/{cnid_close.c,cnid_open.c}: added bits so that log
1408         files get cleared out on cnid_close() if it's the last user for a
1409         volume.
1410
1411 1999-01-18  a sun  <asun@hecate.darksunrising.blah>
1412
1413         * etc/afpd/volume.c (afp_setvolparams): added FPSetVolParms. this
1414         allows us to set the backup date on the server.
1415
1416         * etc/afpd/file.c (afp_exchangefiles): whee! we now have
1417         FPExchangeFiles. we also have FPDeleteID, so that only leaves us
1418         with FPCatSearch to do.
1419
1420 1999-01-16  a sun  <asun@hecate.darksunrising.blah>
1421
1422         * sys/solaris/ddp.c (ddp_rput): added a couple htons()'s for the
1423         net addresses.
1424
1425 1999-01-11  a sun  <asun@hecate.darksunrising.blah>
1426
1427         * etc/afpd/volume.c (volset, afp_openvol): you can now specify a
1428         dbpath= in AppleVolumes.* for the CNID database.
1429
1430         * libatalk/adouble/ad_open.c (ad_refresh): if we build in an
1431         appledouble v1 environment, turn on v1compat by default.
1432
1433 1999-01-10  a sun  <asun@hecate.darksunrising.blah>
1434
1435         * libatalk/adouble/ad_open.c (ad_refresh): added v1compat option
1436         to handle broken ad headers.
1437
1438         * etc/afpd/file.c (setfilparams): we need to make sure that we
1439         flush the file if we've created it even if there's an error.  the
1440         magic number/version don't get saved if we don't.
1441
1442         * etc/afpd/appl.c, etc/afpd/directory.c, etc/afpd/desktop.c: added
1443         DIRBITS to mkdirs.
1444
1445 1998-12-30  a sun  <asun@hecate.darksunrising.blah>
1446
1447         * etc/afpd/volume.c (afp_openvol): got rid of unnecessary v_did.
1448
1449         * etc/afpd/file.c (afp_resolveid, afp_createid): added these two
1450         in. 
1451
1452         * well, what do you know? the cnid stuff compiles in. 
1453
1454 1998-12-29  a sun  <asun@hecate.darksunrising.blah>
1455
1456         * etc/afpd/fork.c, directory.c, file.c, filedir.c, volume.c,
1457         enumerate.c: added in stubs for CNID database conditional on
1458         AD_VERSION > AD_VERSION1.
1459
1460         * etc/afpd/nls/makecode.c: added iso8859-1 mapping.
1461
1462 1998-12-27  a sun  <asun@hecate.darksunrising.blah>
1463
1464         * bin/adv1tov2/adv1tov2.c: turn non-printable ascii characters
1465         into hex code as well.
1466
1467 1998-12-21  a sun  <asun@hecate.darksunrising.blah>
1468
1469         * etc/afpd/auth.c: fixed FPChangePW for 2-way randnums.
1470
1471 1998-12-15  a sun  <asun@hecate.darksunrising.blah>
1472
1473         * etc/afpd/fork.c (read_file/write_file): do crlf translation in
1474         both directions so that we can recover from problems if
1475         necessary. 
1476
1477 1998-12-14  a sun  <asun@hecate.darksunrising.blah>
1478
1479         * bin/adv1tov2/adv1tov2.c: small utility program that recursively
1480         descends a directory and converts everything it sees into
1481         AppleDouble v2.
1482
1483 1998-12-13  a sun  <asun@hecate.darksunrising.blah>
1484
1485         * libatalk/adouble/ad_flush.c (ad_rebuild_header): moved the
1486         header rebuilding here so that ad_refresh can use it.
1487
1488         * libatalk/adouble/ad_open.c (ad_refresh): added locking to v1->v2
1489         conversion.
1490
1491         * bin/megatron/asingle.c: yuk. removed all of
1492         the duplicate stuff here and had it use the #defines in adouble.h.  
1493
1494         * libatalk/adouble/ad_open.c (ad_refresh): finished v1 -> v2
1495         conversion routine. we still need a shortname creator and a cnid
1496         database for the v2 features to be useful. 
1497
1498 1998-12-11  a sun  <asun@hecate.darksunrising.blah>
1499
1500         * libatalk/adouble/ad_open.c (ad_refresh): punt if we get a file
1501         that we don't understand.
1502
1503 1998-12-10  a sun  <asun@hecate.darksunrising.blah>
1504
1505         * etc/afpd/desktop.c (utompath,mtoupath): simplified the codepage
1506         stuff. also made sure to lower/upper the 8-bit characters as
1507         well. 
1508
1509         * libatalk/util/strdicasecmp.c: the casemapping had a few wrong
1510         characters. 
1511
1512         * etc/afpd/fork.c (getforkparams): make sure that the ROpen/DOpen
1513         attribute bits are in the correct byte ordering.
1514
1515 1998-12-09  a sun  <asun@hecate.darksunrising.blah>
1516
1517         * etc/afpd/volume.c (volset): made prodos an option to options=
1518         flag. also added crlf as an option.
1519
1520         * libatalk/adouble/ad_open.c (ad_refresh): fix up times if
1521         necessary. 
1522         (ad_open): deal correctly with 0-length files by treating them as
1523         newly created. 
1524
1525         * etc/afpd/volume.c (getvolparams), file.c (get/setfilparams),
1526         fork.c (getforkparams), directory.c (get/setdirparams): finished
1527         adding appledouble version 1 and 2 date conversion. also added
1528         attribute setting. 
1529         
1530         * etc/afpd/volume.c (getvolparams): make sure to flush the header
1531         file if we needed to fiddle with it. 
1532
1533         * libatalk/adouble/ad_date.c, ad_attr.c: date/attribute
1534         setting/retrieval code. 
1535
1536         * libatalk/adouble/ad_open.c (ad_open): initialize date
1537         structures here instead of elsewhere. 
1538
1539 1998-12-07  a sun  <asun@hecate.darksunrising.blah>
1540
1541         * etc/afpd/directory.c, fork.c, volume.c, file.c: added unix<->afp
1542         time conversion code. 
1543
1544 1998-12-05  a sun  <asun@hecate.darksunrising.blah>
1545
1546         * etc/afpd/volume.c (volset): changed prodos setting to
1547         prodos=true. 
1548
1549 1998-12-04  a sun  <asun@hecate.darksunrising.blah>
1550
1551         * etc/afpd/volume.c (volset): okay. you now have the following
1552         options to casefold: lowercase,uppercase,xlatelower,xlateupper
1553                 tolower    -> lowercases everything in both directions
1554                 toupper    -> uppercases everything in both directions
1555                 xlatelower -> client sees lowercase, server sees uppercase
1556                 xlateupper -> client sees uppercase, server sees lowercase
1557
1558         NOTE: you only should use this if you really need to do so. this
1559         and the codepage option can cause mass confusion if applied
1560         blindly to pre-existing directories.
1561         
1562 1998-12-03  a sun  <asun@hecate.darksunrising.blah>
1563
1564         * etc/afpd/desktop.c (utompath,mtoupath), etc/afpd/volume.h: added
1565         multiple options to casefold. bits 0 and 1 deal with MTOU, and
1566         bits 2 and 3 deal with UTOM. i did it that way so that you can
1567         casefold in one direction only or in both directions if
1568         desired. needless to say, setting both bits for UTOM or MTOU
1569         doesn't make any sense. right now, toupper takes precedence in
1570         MTOU, and tolower takes precedence in UTOM.
1571
1572 1998-12-02  a sun  <asun@hecate.darksunrising.blah>
1573
1574         * etc/afpd/afp_options.c (afp_options_*): added -uampath and
1575         -codepagepath to the list of available options. they specify the
1576         directories to look for uam modules and codepages,
1577         respectively. currently, -uampath doesn't do anything.
1578
1579         * etc/afpd/volume.c (readvolfile): spruced up options to
1580         AppleVolumes files. now you can have mtoufile=<codepage.x>,
1581         utomfile=<codepage.y>, casefold=<num> for volumes.
1582
1583         * etc/afpd/desktop.c (utompath,mtoupath): added
1584         codepage/casefolding support. casefold is currently an int that
1585         could have multiple actions. right now, i just lowercase in
1586         mtoupath and uppercase in utompath.
1587
1588         * etc/afpd/ofork.c (of_alloc, of_findname, of_rename): added vol
1589         as an additional specifier so that we don't have problems with
1590         the same path names on multiple volumes. 
1591
1592 1998-11-29  a sun  <asun@purgatorius.zoology.washington.edu>
1593
1594         * etc/afpd/volume.c (getvolparams): added AFP2.1 volume attribute
1595         bits. 
1596
1597 1998-11-24  a sun  <asun@purgatorius.zoology.washington.edu>
1598
1599         * etc/atalkd/config.c (readconf, getifconf): added IFF_SLAVE to
1600         prevent atalkd from trying to use a slave channel.
1601
1602 1998-11-23  a sun  <asun@purgatorius.zoology.washington.edu>
1603
1604         * etc/afpd/volume.c (getvolparams): we shouldn't set the custom
1605         icon bit by default on the root directory. that screws up pre-OS 8
1606         systems.
1607
1608 1998-11-19  a sun  <asun@purgatorius.zoology.washington.edu>
1609
1610         * libatalk/dsi/dsi_getsess.c (dsi_getsession): ignore SIGPIPE's
1611         so that we can gracefully shut down the server side.
1612
1613         * etc/afpd/afp_dsi.c (afp_over_dsi), etc/afpd/afp_options.c,
1614         libatalk/dsi/dsi_getsess.c (dsi_getsession),
1615         libatalk/asp/asp_getsess.c (asp_getsession): made the tickle timer
1616         interval an option (-tickleval <sec>).
1617         
1618         * etc/afpd/afp_dsi.c (afp_dsi_timedown): added child.die so that
1619         we don't stomp on a shutdown timer. libatalk/dsi/dsi_read.c,
1620         dsi_write.c both save/restore the old timer, so they don't really
1621         care what the actual value is. 
1622         
1623 1998-11-18  a sun  <asun@purgatorius.zoology.washington.edu>
1624
1625         * due to the recent obsession with bug fixing and low-level dsi
1626         cleanups, i've decided that this should really be asun2.1.1
1627         instead of asun2.1.0a.
1628
1629 1998-11-17  a sun  <asun@purgatorius.zoology.washington.edu>
1630
1631         * libatalk/dsi/dsi_tcp.c (dsi_tcp_open): moved the afpd connection
1632         announcement here from etc/afpd/afp_dsi.c. 
1633         
1634         * libatalk/dsi/dsi_stream.c: moved all of the read/write functions
1635         into here as they're pretty generic. now, the protocol specific
1636         stuff only handles open and close. 
1637
1638         * etc/afpd/fork.c (afp_read/write), desktop.c (afp_geticon),
1639         file.c (copyfile), include/atalk/dsi.h (dsi_writefile/readfile):
1640         added initial stubs for sendfile support. i still need to go
1641         through and calculate the appropriate offsets to use. 
1642
1643         * libatalk/dsi/dsi_read.c, dsi_write.c: disable the interval timer
1644         instead of just ignoring it.
1645
1646         * etc/afpd/desktop.c (afp_geticon), etc/afpd/fork.c (afp_read),
1647         libatalk/dsi/dsi_read.c (dsi_readinit, dsi_readinit): modified the
1648         dsi_read interface to return errors so that i can kill things
1649         gracefully. 
1650
1651 1998-11-16  a sun  <asun@purgatorius.zoology.washington.edu>
1652
1653         * libatalk/dsi/dsi_tcp.c (dsi_tcp_send/dsi_tcp_write): erk. read()
1654         and write() treat a return of 0 differently. 
1655
1656 1998-11-16  a sun  <asun@hecate.darksunrising.blah>
1657
1658         * libatalk/dsi/dsi_read.c (dsi_readinit): make sure to stick in
1659         the error code.
1660
1661 1998-11-15  a sun  <asun@purgatorius.zoology.washington.edu>
1662
1663         * etc/afpd/fork.c (afp_read): re-ordered some of the checks here
1664         to return earlier on 0-sized files.
1665
1666 1998-11-13  a sun  <asun@purgatorius.zoology.washington.edu>
1667
1668         * etc/afpd/afp_dsi.c (afp_over_dsi): moved the dsi->noreply toggle
1669         check to here from dsi_cmdreply.
1670
1671 1998-11-11  a sun  <asun@purgatorius.zoology.washington.edu>
1672
1673         * etc/atalkd/zip.c (zip_packet): make sure to copy multicast zone
1674         back out. (reported by Michael Zuelsdorff <micha@dolbyco.han.de>)
1675
1676 1998-11-09  a sun  <asun@purgatorius.zoology.washington.edu>
1677
1678         * etc/afpd/directory.c (getdirparams): changed unknown bit reply
1679         code to AFPERR_BITMAP instead of AFPERR_PARAM.
1680
1681 1998-11-06  a sun  <asun@purgatorius.zoology.washington.edu>
1682
1683         * etc/afpd/enumerate.c (afp_enumerate), directory.c (renamedir):
1684         fixed a couple of failed realloc leaks.
1685
1686         * etc/afpd/filedir.c (afp_moveandrename, afp_rename): added bits
1687         to deal with case-insensitive, case-preserving filesystems.
1688
1689 1998-10-30  a sun  <asun@purgatorius.zoology.washington.edu>
1690
1691         * etc/afpd/auth.c: fixed randnum password changing check. 
1692
1693 1998-10-27  a sun  <asun@purgatorius.zoology.washington.edu>
1694
1695         * etc/atalkd/main.c: add a check for SIOCATALKDIFADDR if
1696         SIOCDIFADDR fails.
1697         
1698         * etc/afpd/volume.c (getvolparams): ad_open had the wrong
1699         parameters. 
1700
1701         * etc/afpd/unix.c (setdeskowner): added a little extra space to
1702         prevent buffer overflows here.
1703
1704 1998-10-26  a sun  <asun@purgatorius.zoology.washington.edu>
1705
1706         * sys/linux/Makefile: fixed PAM message.
1707
1708         * sys/solaris/Makefile: make failure to ln -s a non-fatal error. 
1709
1710         * etc/papd/session.c, bin/pap/pap.c: changed sequence count to
1711         wrap from 0 -> 1 instead of from 0xFFFF -> 1.
1712
1713         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): actually, we
1714         should check against the entire unix name.
1715         
1716 1998-10-21  a sun  <asun@purgatorius.zoology.washington.edu>
1717
1718         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure
1719         to check against mac name.
1720
1721 1998-10-19  a sun  <asun@purgatorius.zoology.washington.edu>
1722
1723         * etc/afpd/auth.c (afp_changepw): make password changing deal
1724         correctly with "real" user names. also, moved seteuid() to before
1725         the pam_authenticate() bit as shadow passwords need that.
1726
1727         * etc/afpd/enumerate.c (afp_enumerate): make sure to check the mac
1728         name against MACFILELEN.
1729
1730 1998-10-16  a sun  <asun@purgatorius.zoology.washington.edu>
1731
1732         * etc/afpd/file.c (renamefile), filedir.c (afp_rename),
1733         directory.c (renamedir): use strndiacasecmp() for AFPERR_SAMEOBJ
1734         checks. also make sure test occurs before checking to see if the
1735         destination exists.
1736
1737 1998-10-15  a sun  <asun@purgatorius.zoology.washington.edu>
1738
1739         * etc/afpd/auth.c (afp_changepw): fixed a bit of brain damage. i
1740         forgot that password changing needs root privileges to work.
1741
1742         * etc/afpd/auth.c (PAM_conversation): the supplied code was
1743         incorrect. i cleaned it up a bit.
1744
1745         * sys/linux/Makefile: fixed the installation bits.
1746
1747 1998-10-14  a sun  <asun@purgatorius.zoology.washington.edu>
1748
1749         * etc/afpd/auth.c (afp_changepw): don't kill the connection here
1750         if there's a problem.
1751
1752 1998-10-10  a sun  <asun@purgatorius.zoology.washington.edu>
1753
1754         * etc/afpd/enumerate.c, fork.c, ofork.c, file.c,
1755         globals.h, directory.c, auth.c: #defined MACFILELEN and used
1756         that. also made sure that files > MACFILELEN never show up.
1757
1758 1998-09-25  a sun  <asun@purgatorius.zoology.washington.edu>
1759
1760         * etc/{afpd,papd,atalkd}/bprint.c (bprint): got rid of the
1761         spurious pointer dereference.
1762
1763         * etc/afpd/ofork.c (of_alloc/of_rename): allocate the max mac file
1764         length so that we don't need to realloc.
1765
1766         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure to
1767         return AFPERR_BUSY if the dest has an ofork open.
1768
1769         * etc/afpd/file.c (renamefile), directory.c (renamedir), filedir.c
1770         (afp_rename): return AFPERR_SAMEOBJ if source == dest
1771
1772 1998-09-21  a sun  <asun@purgatorius.zoology.washington.edu>
1773
1774         * etc/afpd: went through and looked for places that needed to use
1775         curdir instead of dir. i think i have them all right now.
1776
1777         * etc/afpd/filedir.c (afp_moveandrename): wasn't keeping track of
1778         curdir correctly. what this really means is that cname should be
1779         fixed to return everything it changes as opposed to changing a
1780         global variable. 
1781
1782 1998-09-19  a sun  <asun@purgatorius.zoology.washington.edu>
1783
1784         * etc/afpd/config.c (configinit): do the right thing if
1785         AFPConfigInit fails.
1786
1787 1998-09-18  a sun  <asun@purgatorius.zoology.washington.edu>
1788
1789         * etc/afpd/config.c (ASP/DSIConfigInit, configfree): how 
1790         embarrassing. i wasn't doing refcounts correctly.
1791
1792 1998-09-17  a sun  <asun@purgatorius.zoology.washington.edu>
1793
1794         * etc/afpd/nfsquota.c (getnfsquota): ultrix uses dqb_bwarn instead
1795         of dqb_btimelimit.
1796
1797         * sys/ultrix/Makefile: ultrix understands the old rquota format. 
1798
1799         * etc/afpd/ofork.c (of_findname): erk. forgot to only search in
1800         the current directory. 
1801         (of_rename): erk. changed it to handle renaming a file that has
1802         been opened multiple times.
1803
1804         * etc/atalkd: made sure that if you don't specify -router, things
1805         are as they were before. 
1806
1807 1998-09-13  a sun  <asun@purgatorius.zoology.washington.edu>
1808
1809         * etc/afpd/status.c (status_flags): forgot to turn on password
1810         setting if randnum passwords are being used.
1811
1812 1998-09-11  a sun  <asun@purgatorius.zoology.washington.edu>
1813
1814         * etc/afpd/unix.c (setdirmode): erk. make sure only to setgid on
1815         directories. 
1816
1817         * bin/aecho/aecho.c (main): incorporated -c <num> (ala ping) patch
1818         from "Fred Lindberg" <lindberg@id.wustl.edu>.
1819
1820 1998-09-03  a sun  <asun@purgatorius.zoology.washington.edu>
1821
1822         * etc/afpd/directory.c (afp_closedir, afp_opendir): added these in
1823         for more AFP 2.0 compliance. unfortunately, apple's appleshare
1824         client doesn't like non-fixed directory ids.
1825
1826 1998-08-31  a sun  <asun@purgatorius.zoology.washington.edu>
1827
1828         * etc/afpd/volume.c (accessvol): the accessible volume list can
1829         now be controlled by groups and usernames. just use something of
1830         the following form: @group,name,name2,@group2,name3
1831
1832         NOTE: you can't have any spaces, and the parser forces you to
1833         include all options. in this case, there are some apple II options
1834         that need to be entered. they need to go away soon anyway.
1835
1836         * etc/afpd/auth.c (getname): oops. i forgot to copy the gecos
1837         field into a temporary buffer before calling strtok.
1838
1839 1998-08-29  a sun  <asun@hecate.darksunrising.blah>
1840
1841         * etc/atalkd/main.c (as_timer), rtmp.c (rtmp_delzones): when the 
1842         last router on an interface goes down, we need to delete the
1843         interface's zone table.
1844
1845 1998-08-28  a sun  <asun@purgatorius.zoology.washington.edu>
1846
1847         * etc/afpd/status.c (afp_getsrvrinfo): although it's never used,
1848         i've added this in to increase AFP compliance.
1849
1850         * etc/afpd/auth.c (afp_getuserinfo): added FPGetUserInfo -- this
1851         should make afpd compatible with OS 8.5's Nav Services.
1852
1853         * etc/atalkd/config.c,main.c: -router now specifies router mode
1854         with any number of interfaces.
1855
1856 1998-08-27  a sun  <asun@purgatorius.zoology.washington.edu>
1857
1858         * etc/atalkd/main.c (as_timer): well, i figured out how to set up
1859         atalkd as a single-interface router. now, you can get zones with
1860         only single interfaces! i'm only waiting on wes for the approved
1861         configuration toggle.
1862
1863 1998-08-26  a sun  <asun@purgatorius.zoology.washington.edu>
1864
1865         * libatalk/adouble/ad_lock.c, include/atalk/adouble.h: turned the
1866         ADLOCK_* into real #defines and added translations in the
1867         lock-type specific functions. this should make it easier to
1868         recompile things without screwing up.
1869
1870 1998-08-26  a sun  <asun@hecate.darksunrising.blah>
1871
1872         * etc/atalkd/nbp.c (nbp_packet): forgot to handle another local
1873         zone case.
1874
1875 1998-08-25  a sun  <asun@hecate.darksunrising.blah>
1876
1877         * etc/afpd/status.c (status_server): changed status_server to
1878         use only the obj part of obj:type@zone-style names.
1879
1880         * etc/atalkd/nbp.c (nbp_packet): unregistering wasn't handling
1881         zones properly. it was matching on anything but the actual zone.
1882
1883 1998-08-18  a sun  <asun@purgatorius.zoology.washington.edu>
1884
1885         * etc/afpd/auth.c (clrtxt_login): added pam_set_time(PAM_TTY) so
1886         that solaris' pam session setup doesn't crap out.
1887
1888 1998-08-17  a sun  <asun@purgatorius.zoology.washington.edu>
1889
1890         * etc/atalkd/multicast.c (zone_bcast): fixed to do the right thing
1891         with zip multicast info.
1892
1893 1998-08-15  a sun  <asun@purgatorius.zoology.washington.edu>
1894
1895         * etc/afpd/nfsquota.c: made the old-style rquota fields dependent
1896         upon -DUSE_OLD_RQUOTA and defined that for sunos. also included
1897         <sys/time.h> for ultrix breakage.
1898
1899 1998-08-13  a sun  <asun@purgatorius.zoology.washington.edu>
1900
1901         * etc/afpd/filedir.c (afp_rename), etc/afpd/ofork.c (of_rename): i
1902         knew that speeding up of_findname would be useful. in any case, i
1903         discovered the source of yet another small AFP non-compliance that
1904         was confusing WordPerfect. on an afp_rename, we also need to
1905         rename the corresponding ofork. i've added an of_rename() to do
1906         this.
1907
1908 1998-08-13  a sun  <asun@hecate>
1909
1910         * etc/afpd/ofork.c (of_dealloc,of_alloc): sped up dealloc by
1911         sticking refnum in ofork.
1912
1913 1998-08-12  a sun  <asun@hecate>
1914
1915         * etc/afpd/fork.c (afp_openfork): added already open attribute
1916         bits.
1917
1918         * etc/afpd/ofork.c: added a hashed of_findname.
1919
1920 1998-08-06  a sun  <asun@purgatorius.zoology.washington.edu>
1921
1922         * etc/afpd/fork.c (afp_openfork): fixed a problem with opening
1923         forks from read-only non-appledouble media.
1924
1925 1998-07-23  a sun  <asun@purgatorius.zoology.washington.edu>
1926
1927         * etc/afpd/afs.c (afs_getvolspace), etc/afpd/volume.c
1928         (getvolspace): modified them to treak afs like the other
1929         getvolspaces w.r.t. VolSpace.
1930
1931 1998-07-21  a sun  <asun@purgatorius.zoology.washington.edu>
1932
1933         * etc/afpd/unix.c (mountp): erk. i forgot that symlinks are often
1934         used for filesystems. nfs quotas sometimes failed as a
1935         result. that's fixed now.
1936
1937 1998-07-20  a sun  <asun@purgatorius.zoology.washington.edu>
1938
1939         * etc/afpd/auth.c (login): added a -DRUN_AS_USER #define so that
1940         it's simple to run the server process as a non-root user.
1941
1942 1998-07-17  a sun  <asun@purgatorius.zoology.washington.edu>
1943
1944         * etc/afpd/nfsquota.c (callaurpc, getnfsquota), volume.h: it turns
1945         out that i was opening lots of sockets with callaurpc. now, the
1946         socket gets saved and reused.
1947
1948         NOTE: quota-1.55-9 from redhat 5.x doesn't return the correct size
1949         for rquota's bsize. unless fixed, rquota will report incorrect
1950         values. 
1951         
1952 1998-07-08  a sun  <asun@purgatorius.zoology.washington.edu>
1953
1954         * etc/afpd/uam/README: added some preliminary ideas on a
1955         plug-in uam architecture. in addition, this should allow arbitrary
1956         afp function replacement. eventually, auth.c should get a
1957         bit cleaner.
1958
1959 1998-07-07  a sun  <asun@purgatorius.zoology.washington.edu>
1960
1961         * etc/afpd/nfsquota.c: added headers and redefined a couple
1962         structure fields so that sunos4 compiles.
1963
1964         * libatalk/compat/rquota_xdr.c: compile if we're using glibc <
1965         2. this should get redhat 4.2 machines. NOTE: they're still
1966         missing librpcsvc.a, so they'll need to remove that from the
1967         etc/afpd/Makefile. 
1968
1969 1998-07-06  a sun  <asun@purgatorius.zoology.washington.edu>
1970
1971         * libatalk/compat/rquota_xdr.c: it turns out that solaris is
1972         missing a couple functions needed for rquota support. here they
1973         are. 
1974
1975         * etc/afpd/unix.c (mountp): fixed the nfs detection for
1976         solaris. we still need bsd and ultrix.
1977
1978 1998-07-05  a sun  <asun@hecate>
1979
1980         * include/atalk/adouble.h: marked out space for appledouble v2. 
1981
1982 1998-07-04  a sun  <asun@hecate>
1983
1984         * etc/afpd: plugged up some ad_open leaks. made sure that we don't
1985         get negative numbers for length fields and such.
1986         
1987 1998-07-04  a sun  <asun@hecate>
1988
1989         * etc/afpd/nfsquota.c (getnfsquota): added nfs rquota
1990         support. Robert J. Marinchick <rjm8m@majink1.itc.virginia.edu>
1991         provided the initial bits from the bsd quota program. 
1992
1993         * etc/afpd/unix.c (getquota): made getquota call getfsquota or
1994         getnfsquota depending upon the type of fs. 
1995
1996         * etc/afpd/unix.c (mountp/special): munged mountp and
1997         special to return either the nfs mount point or the fs
1998         device. set the vol->v_nfs flag if it's nfs.
1999
2000         * etc/afpd/volume.c (getvolspace): xbfree and xbtotal will now
2001         honor results returned from uquota_getvolspace.
2002         
2003 1998-06-29  a sun  <asun@purgatorius.zoology.washington.edu>
2004
2005         * etc/afpd/file.c (copyfile): mmapping the file copy only helps on
2006         multiple copies. as that's not the case here, i've reverted to
2007         just doing read + write.
2008         
2009 1998-06-28  a sun  <asun@purgatorius.zoology.washington.edu>
2010
2011         * sys/linux/Makefile: fixed the redhat-style atalk
2012         installation. also, it doesn't over-write an existing
2013         /etc/rc.d/init.d/atalk file.
2014
2015         * etc/afpd, libatalk/adouble/ad_write.c: removed <sys/file.h> and
2016         </usr/ucbinclude/sys/file.h> so that we rely upon adouble.h.
2017
2018 1998-06-19  a sun  <asun@purgatorius.zoology.washington.edu>
2019
2020         * changed sys/linux/Makefile to install a redhat-style sysv atalk
2021         script instead of the bsd one.
2022
2023         * include/atalk/adouble.h: moved same-name list stub to struct
2024         ad_adf. 
2025         
2026 Thu Jun 18 18:20:28 1998  a sun  <asun@purgatorius>
2027
2028         * changed to asunx.y.z notation as i was getting tired of
2029         increasing numbers. as this version is undergoing a fairly
2030         substantial overhaul, i bumped it to 2.1.0. don't ask why asun1.0
2031         never existed. i just started at 2.0.
2032
2033         * ofork (etc/afpd/{ofork.c,ofork.h,fork.c}: put in skeleton code
2034         for hashed-by-name oforks and oforks which group by name to help
2035         with byte locks and of_findname.
2036
2037         * adouble (include/atalk/adouble.h): started implementing
2038         appledouble v2. mostly, i added bits to headers. v2 has wonderful
2039         bits that should make prodos support much less clunky, allow
2040         persistent dids, and allow msdos support.
2041
2042         * finder info: added bits to directory.c and file.c describing the
2043         actual contents of finder info (from IM: Toolbox
2044         Essentials). also, set default directory view to an allowed value
2045         thanks to a suggestion from the appledouble v2 specs. that should
2046         help with read-only media.
2047
2048         * etc/afpd/{directory.c,volume.c,afs.c,directory.h}: added
2049         DIRDID_ROOT and DIRDID_ROOT_PARENT so people know that these did's
2050         are reserved.
2051         
2052 Wed Jun 17 11:54:49 1998  a sun  <asun@purgatorius>
2053
2054         * well, i'm starting a changelog as i keep forgetting what i've
2055         done. 
2056
2057         * locks: revamped them to be more in line with what should
2058         happen. currently, i've reverted back to flock-style locks as i'll
2059         need to stick in more code to get fcntl-style locks to work
2060         properly. specifically, i think modifying of_alloc/of_dealloc to
2061         keep track of locks, fds, and names should solve the problem with
2062         fcntl locks being process-specific and not fd specific.
2063