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