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