Stephen Heumann
6f5f57c422
Support spaces in URLs.
...
This applies to both directly entered URLs and redirects. At least some servers (e.g. bit.ly) will send un-percent-encoded URLs that may contain spaces in the Location header.
Spaces are now percent-encoded in the HTTP request. Other characters that should be percent-encoded still aren't, but I think many servers can accept them as-is.
2018-10-03 17:40:08 -05:00
Stephen Heumann
92649e33ee
Enhance mounturl command-line utility.
...
It now accepts a flag "-c" to disable caching, and can also print meaningful error messages.
2018-10-02 18:04:22 -05:00
Stephen Heumann
1ce645ec0d
Add flag controlling whether to use cache.
2018-10-01 22:42:33 -05:00
Stephen Heumann
55b199f83b
Add GS/OS block cache support.
2018-10-01 21:49:00 -05:00
Stephen Heumann
314f408b5e
Report a disk switch if the length of the file changed.
...
Currently, the logic for this doesn't re-detect the file type, and it may not work correctly with some 2mg files, but it should work in most cases.
2018-10-01 18:18:34 -05:00
Stephen Heumann
28fd51d175
If the URL specifies HTTPS or FTP, offer to use HTTP instead.
2018-09-30 22:47:43 -05:00
Stephen Heumann
10cb54df5f
Give meaningful error messages.
2018-09-26 00:17:31 -05:00
Stephen Heumann
fdd2657722
Use new icon for the CDev.
2018-09-25 22:20:46 -05:00
Stephen Heumann
dd228dff2d
Add wrappers for GS/OS system service calls, and call SET_DISKSW on mount.
...
I think there should still be some disk-switched logic elsewhere, based on the somewhat complicated rules for it in the documentation, but at least this provides a notification when a new disk is mounted.
2018-08-16 21:39:23 -05:00
Stephen Heumann
3f3c14b8a1
Do sanity checks of input values for Driver_Read.
2018-08-15 21:56:36 -05:00
Stephen Heumann
8532c14ee1
Detect errors and timeouts when reading data from server.
2018-08-15 21:05:09 -05:00
Stephen Heumann
64ad28a740
Eject all our disks when the network goes down.
2018-08-15 19:46:23 -05:00
Stephen Heumann
525dbbb1c5
Include the device number as an output value in the MountURLRec structure.
...
This allows callers to conveniently access the newly-mounted device.
2018-08-14 22:40:42 -05:00
Stephen Heumann
85cb0c5971
CDev and mounturl tweaks.
...
The CDev connects to the network if not already connected, and it displays the arrow cursor in the "no NetDiskInit" alert from MachineCDEV.
The mounturl utility now has meaningful return values.
2018-08-14 20:44:08 -05:00
Stephen Heumann
d30dfd8631
Before sending a request, check if the remote side has closed the connection.
...
This avoids sending out requests that can't work, and also gives an opportunity to process packets from the old connection while it's still logged in, which may avoid some strange behavior.
2018-08-14 18:35:11 -05:00
Stephen Heumann
587d0c4e7e
Consistently set transfer count when doing Get_Device_Status.
2018-08-13 18:40:24 -05:00
Stephen Heumann
77f16625c6
Report our devices as "MFM drives" so that Finder shows a 3.5" floppy icon.
...
Previously, we had actually been (erroneously) using the code for a generic hard drive, rather than a generic floppy as intended. The generic floppy code shows a 5.25" floppy icon, which seems less appropriate, so now we use the same code as 3.5" SuperDrives instead.
2018-08-13 18:36:24 -05:00
Stephen Heumann
2092e48694
Add support for reporting the disk's block count.
2018-08-13 01:28:32 -05:00
Stephen Heumann
084d44042a
Prevent the CDev from running if NetDiskInit is not present.
2018-08-12 22:44:05 -05:00
Stephen Heumann
f3519b3eef
Work around some cases where parts of LE caret may flash out of sync.
...
This could happen after the caret was partially obscured by the alert window.
2018-08-12 22:25:50 -05:00
Stephen Heumann
9fc13e108a
Implement image mounting in the CDev.
2018-08-12 22:01:25 -05:00
Stephen Heumann
4dbfd93179
Implement request procedure for mounting a disk by URL.
2018-08-12 20:51:09 -05:00
Stephen Heumann
8b09d6bb7d
Switch to using a struct for the MountURL DControl call.
...
This allows us to return a better error code and provides for future extensibility.
2018-08-12 18:45:08 -05:00
Stephen Heumann
8fe8bbdf7e
Update .gitignore.
2018-08-12 17:59:34 -05:00
Stephen Heumann
4ac24d75f4
Keep our driver installed on switch back from P8.
2018-08-12 15:08:26 -05:00
Stephen Heumann
2d00030eba
Add framework for NetDisk CDev.
...
The CDev currently runs and displays the UI, but doesn't actually do anything.
2018-08-11 16:33:18 -05:00
Stephen Heumann
610a638e5c
Switch to unified set of error codes. Also, do more checks for 2IMG files.
2018-08-11 01:53:53 -05:00
Stephen Heumann
ccc9594412
Add support for ejecting NetDisk volumes.
2018-08-10 22:40:07 -05:00
Stephen Heumann
2670da4f59
Add basic support for 2img format.
2018-08-10 19:51:21 -05:00
Stephen Heumann
d718d82ff1
Initial support for mounting and reading a remote filesystem.
2018-08-10 17:53:09 -05:00
Stephen Heumann
e6b1c304d3
Split out non-trivial driver ops into separate functions.
2018-08-10 00:12:24 -05:00
Stephen Heumann
9e9e7be0f8
Add framework of code for the driver.
2018-08-08 20:12:03 -05:00
Stephen Heumann
ff538de39c
Add basic infrastructure for an installable GS/OS driver.
...
Currently, this can install the DIBs from the driver, but no driver calls are implemented.
2018-08-06 20:22:33 -05:00
Stephen Heumann
cb236fbeb3
Set up framework of the NetDisk init.
2018-08-05 18:04:34 -05:00
Stephen Heumann
9883d47517
Support retrying when reading from the TCP connection gives an error.
...
This is often what will happen if the server has terminated the connection (which many servers will do after a short time, e.g. one second).
2018-08-03 19:50:59 -05:00
Stephen Heumann
a66b69154e
Lint fixes.
2018-08-01 18:24:43 -05:00
Stephen Heumann
a485918d44
Small refactoring.
2018-08-01 01:53:49 -05:00
Stephen Heumann
179c0afe56
Support for HTTP redirects.
2018-08-01 01:37:22 -05:00
Stephen Heumann
133c7f17b1
Add code to parse status line and headers of an HTTP response to our request.
2018-08-01 00:05:19 -05:00
Stephen Heumann
7c0a2b8c35
Add .gitignore file.
2018-07-30 21:37:05 -05:00
Stephen Heumann
28a0b1be19
Add and use code to parse URLs specifying the resource.
2018-07-30 21:35:45 -05:00
Stephen Heumann
ef272cb998
Initial code implementing some of the core functionality for reading blocks over HTTP.
2018-07-29 23:40:03 -05:00