Commit Graph

13 Commits

Author SHA1 Message Date
Stephen Heumann 13e4f4d72f Disable large writes by default, since they cause problems in Mac OS 9 and OS X. 2017-04-22 21:29:47 -05:00
Stephen Heumann c4286a024e Add options to give somewhat better compatibility with the AFP server in OS X 10.5.
*The OS X server doesn't support ProDOS-type file type info, so trying to set it will give an error. This normally causes GS/OS to give an error when creating a file. There is now an option to ignore the error and proceed with creating the file, although the file type still won't be set.

*The OS X server seems to restrict each write operation to a small size based on the ASP quantum, so there is now an option for this. Using this option means we may write less than requested, but the AppleShare FST can detect this and proceed to write the rest.
2017-04-22 18:46:26 -05:00
Stephen Heumann 3a07b12ee6 Allow fake sleep without AFP 2.2.
On the OS X 10.5 server, FPZzzzz messages seem to work even with a connection negotiated as AFP 2.0, so it's useful to allow this combination. (On Netatalk, the sleep requests are ignored and give an error under AFP 2.0, but they don't kill the connection either.)
2017-04-22 16:01:11 -05:00
Stephen Heumann 350204f78a Switch to using two-character codes for options and parsing them in the zone name.
This allows more options, and it avoids having to manually specify the strings for all option combinations.
2017-04-22 15:39:02 -05:00
Stephen Heumann 78a300f799 Add an option to tell the server that the GS is going to sleep after each command sent.
This tells the server to keep the session alive (typically for at least several hours) without sending or expecting tickles. This is useful in cases where our run queue procedure is not run regularly or at all, e.g. in text-mode shells.

The implementation here is geared toward compatibility with Netatalk and differs from Apple's published standards in a couple ways. It may or may not work with other servers.
2017-04-21 21:09:57 -05:00
Stephen Heumann 6be698833d Detect if AFPBridge and Marinetti are installed, and give an error/warning if not.
We indicate that AFPBridge is installed by creating a message in the message center (which also includes its version, in case we want to distinguish between different versions in the future).
2017-04-19 21:10:23 -05:00
Stephen Heumann 695f2d8611 Implement infrastructure (in init and CDev) to support options encoded in the zone name. 2017-04-14 22:16:55 -05:00
Stephen Heumann df9a9f8821 Add UI for AFP over TCP options (not yet operational). 2017-04-14 18:50:17 -05:00
Stephen Heumann a610156e9a Use fast assembly code to handle EventsCDEV, rather than C.
With the C version (and its entry/exit code) typing in the URL box could be a little laggy when running at 2.8 MHz.
2017-04-13 17:10:58 -05:00
Stephen Heumann 079ab7e00a Work around an issue where the top and bottom of the LineEdit caret could blink out of sync.
This could happen when the caret had been partially obscured by another window.
2017-04-13 00:21:12 -05:00
Stephen Heumann ed3292dbc1 Support cut/copy/paste/clear operation on the LineEdit control. 2017-04-12 23:33:43 -05:00
Stephen Heumann 91c2707cf3 Complete basic implementation of AFP Mounter CDev.
It now invokes EasyMount by creating a temporary alias file. Support for saving the alias is also implemented.
2017-04-12 21:09:27 -05:00
Stephen Heumann 73399e8eda Add initial code for AFP Mounter CDev.
This code tries to call EasyMount using the request procedure documented in its ERS, but it turns out that doesn't work. The request procedure trashes its return address on the stack, so it crashes whenever you call it.
2017-04-11 17:34:00 -05:00