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