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