Ok, Icon didnt appear to WB, because of tooltype ACTIVATE=0 , now it is ACTIVATE=1 and works.
Retested with ACTIVATE=1
Logon tooltype as it was: STARTUP=URL http:/username:psswd@webdav.mydrive.ch NAME CLOUD
That causes CLOUD:test/test> prompt in shell, where it could be CLOUD:test>
Changed STARTUP=URL http:/username:psswd@webdav.mydrive.ch/ NAME CLOUD
Wich didnt made any difference, still CLOUD:test/test>
Some difference here is. With webdav.mydrive.ch/ -mount I got dir. All old drawers shows up. Then I made new drawer kokkeli. Only kokkeli shows up next dir command.
Then dismount, tooltype to webdav.mydrive.ch and remount. All drawers show up, including kokkeli.
I deleted all contents in CLOUD: , dismount, remount with webdav.mydrive.ch.
Same again, CLOUD:test/test> prompt in shell, same ghost drawer under test.
I deleted all contents in CLOUD: , dismount, remount with webdav.mydrive.ch/.
I deleted all contents in CLOUD: , dismount, remount with webdav.mydrive.ch/.
Same again, CLOUD:test/test> prompt in shell, same ghost drawer under test.
So, cant get any difference between webdav.mydrive.ch/ or webdav.mydrive.ch
CLOUD:test/test> prompt stays, same ghost drawer allso.
Same behaviour, if I enter directly CLOUD:test and execute del #?, it epties whole cloud.
No, I have a MyDrive account already - that's what I've been testing with primarily.
I've sort-of fixed the recurring directories problem (and the contents of directories are visible now in the Shell - which they weren't before, not sure how that went unnoticed), however I've introduced a new one where directories sometimes show up as tools in WB, oh, and: Quote:
13.MyDrive:> dev 13.MyDrive:git> dir dev (dir) git (dir) AmigaOS.cmake git2
Clearly wrong!
The main problem is that the old ACTION_EXAMINE stuff is horrendous, as there's no way of knowing if a single file or a directory is being exmained until ACTION_EXAMINE_NEXT is called (unless you can find out in advance - might be an option, but that's extra network traffic)
I'm tempted to ditch ACTION_EXAMINE as I think OS4.1 only uses it now if ACTION_EXAMINEDATA isn't supported... but I'm not sure on that. I need to implement ACTION_EXAMINEDATA first to check!
sftp and ftps can't be mounted, plain ftp can be. sftp is basically ssh/scp. I can't remember what ftps is (might be SSL encrypted ftp, nearly nobody uses it anyway)
Anyway, I found out the main problem with beta3 - updates to libssl had stopped my previous neon build from working with SSL. I've rebuilt neon and it is now working again. I'll upload a new beta when I've implemented the new examine packets (although when that'll be is anybody's guess). Until then, please use beta2 (for https sites) and ignore beta3.
Note that MyDrive works fine in non-encrypted (http) mode and therefore works with beta3 (barring previously-reported issues). Most other sites require encryption.
I started to replace ACTION_EXAMINE with ACTION_EXAMINEOBJECT, but since I only did the single file part and left it in an incoherent state, it tends to just crash now. I need to finish the implementation (ACTION_EXAMINEDIR??) but haven't got round to it. The old version sort-of works most of the time for me so it's not a priority.
You should implement the new, much cleaner vector port FS API and pass the legacy packets through the packet emulator. See dos.dospackets.doc in SDK:Documentation/AutoDocs/ and also:
I'd rather get it working using the new packets first, before worrying about the vector port API. Otherwise I'm introducing bugs by completely changing the structure of the code from something I'm (mostly) familiar with.
IMO that is just making more work for yourself. When porting filesysbox.library to AmigaOS 4.x I changed it over to vector port method directly instead of messing around adding support for the new AmigaOS 4.x packets only to have to redo that code again later.
Using vector port API you don't need to worry about BCPL strings, BCPL pointers and other such legacy crap unlike with packets.
It's already written and working under the old system, it's literally two packets I need to (re-)implement. If I was starting afresh I'd use vector ports, but this is old code.
I don't have time to do that, so I definitely don't have time to rewrite it all!
Hmm, I added ExamineDataDir or EXAMINEDATA_DIR or whatever it is. It's still crashing. It's probably something trivial but I'm not sure I have the motivation to investigate and fix it (I'm using the old mostly-working version).
If anybody wants access to the source to work on it, PM me (it's on openamiga.org, it's also a complete mess - you have been warned!)
One thing you need to remember is to pass the context pointer to AllocDosObjectTags() using ADO_ExamineDir_Context when allocating the ExamineData structures. IIRC I missed that in one of my first attempts and it caused some problems.
I'll have a look. I think the problem is on the WebDAV side though - when scanning directories the directory being scanned is also returned as an entry. For root this causes the first entry to have a NULL filename, so I need to somehow filter it out without returning an error. At least I *think* that's why it's crashing.
OK, I've finally fixed this so it is now using the new 64-bit capable directory scanning functions. It seems to have broken something else as I'm getting various crashes and MultiView won't open any files direct from a WebDAV share.