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