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