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