mirror of
https://github.com/mabam/afpfs-ng-mac.git
synced 2025-01-04 04:29:23 +00:00
147 lines
3.6 KiB
Plaintext
147 lines
3.6 KiB
Plaintext
Things to be done shortly
|
|
==========================
|
|
* fix and test [mac]fuse (poorly tested at this point, I have mostly
|
|
been using XBMC and afpcmd)
|
|
* more testing of the network code, especially in high latency/unstable
|
|
network environments
|
|
* refactor lib internals
|
|
|
|
|
|
Things to be fixed post-0.5 (aka original FUTURE file)
|
|
===========================
|
|
|
|
Command line:
|
|
* remote filename completion
|
|
* completion with BSD's readline
|
|
* version detection
|
|
* OS guessing
|
|
|
|
FUSE:
|
|
* readonly mounts aren't supported
|
|
|
|
AFP 2.x:
|
|
* non-UTF8 server names aren't supported
|
|
|
|
* signature in status appears to be broken
|
|
|
|
* use getsrvrinfo to get connection IP address to make room for AT
|
|
|
|
* connection recovery
|
|
- open files
|
|
- locked files
|
|
|
|
General bugs:
|
|
|
|
* requesting a specific AFP version is unreliable
|
|
|
|
* filenames have a maximum length of 255, but AFP 3.x allows for much more
|
|
|
|
* forget username/password after they're used. Can we actually do this?
|
|
|
|
* Multiple users: have one afpfsd running and multiple uids doing mounts
|
|
|
|
* Icon support:
|
|
- full query/result support
|
|
- retrieval tool: a userspace app that can parse icons from resource forks
|
|
|
|
* Complete implementation of AFP 3.2
|
|
- pretty much every function needs testing and correcting
|
|
|
|
* Proper utf8 support
|
|
- need per-volume character encoding
|
|
|
|
* AFP 2.x support
|
|
- desktop database support
|
|
- UTF8 flag is now server-specific, but it should be volume-specific
|
|
- non-UTF8 codepage translation
|
|
- lots, lots more
|
|
|
|
* More UAMs
|
|
- ClientKRB
|
|
- reconnection
|
|
|
|
* Being able to change password
|
|
|
|
- Open directory integration
|
|
|
|
* Extended attributes
|
|
|
|
* Function 75, whatever this is
|
|
|
|
* Ongoing performance tweaking
|
|
- in mknod(), you only need to do the setfiledirparms if the mode or perms
|
|
are different
|
|
- measurements, comparisons to other clients
|
|
- asynchronous unlocking
|
|
- use rx and tx quantums properly
|
|
- queue writes to be one tx quantum
|
|
- optimize locking
|
|
- don't go back through the select loop to read what comes after the DSI
|
|
packet
|
|
- make a preallocated pool of dsi requests
|
|
- make a preallocated pool for dsi messages
|
|
- is_dir function should look in did cache
|
|
- check to see how Mac OS does locking on writes
|
|
- large block writes for FUSE 3.x
|
|
|
|
* Mount by servername
|
|
- integration with avahi/bonjour
|
|
|
|
* use locking primitives in fuse 2.6.1
|
|
- mount a subdir
|
|
|
|
Development:
|
|
|
|
* When running afpfsd under gdb, unmount doesn't work because of the use of
|
|
signals
|
|
|
|
|
|
Protocol bugs:
|
|
|
|
* afpfs-ng doesn't handle the situation where the server is shutdown
|
|
|
|
* reconnect isn't reliable
|
|
|
|
* Do DSI buffers get trampled if there's more than one being handled at the
|
|
same time?
|
|
|
|
* if there is a broken server, the DSI buffers could be overridden
|
|
|
|
* If a DSI stream gets broken or there's a protocol error, the connection
|
|
should be reset
|
|
|
|
* We don't currently handle reconnect flags or timeouts for DSI attention
|
|
packets
|
|
|
|
* for logins, fpLoginExt should be used instead of fpLogin
|
|
|
|
* for fpCreateFile, use soft creates
|
|
|
|
* honour volume's HasConfigInfo flag
|
|
|
|
Coding
|
|
|
|
* the apple_translate() function should be truly 'const char * path'
|
|
|
|
Mounting
|
|
|
|
* do correct address/signature matching; right now we don't actually use
|
|
the signature.
|
|
|
|
|
|
Packaging and polish:
|
|
|
|
* Make startup scripts (not much point without multi-user support)
|
|
|
|
Other
|
|
- rewrite pick_version to do more intelligent guessing for a version number
|
|
- right now, there's a hard coded 1024 in afp_write(). See how the Mac OS
|
|
client works.
|
|
- after many operations, commands no longer work and neither does ^c
|
|
- fix FUSE_USE_VERSION definition
|
|
- stop using MAX_PATH, since this is server-specific
|
|
- document API
|
|
- shutting down notices aren't honoured
|
|
|
|
|