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