osTicket/osTicket-1.8 — pull request #515 by greezybacon (2014-02-03 16:55:51+00:00)
Title: File Storage API v2

This patches a few issues with the storage API realized when writing a plugin for Amazon S3. This makes a few adjustments to the storage API:

* Add a flush() method, to inform the backend that no more write() calls will be invoked
* Add getNativeHashAlgos() and getHashDigest() which allow the backend to advertise hashing algorithms supported remotely. getHashDigest() is used to fetch a hash in the migration process without reading the entire file contents again.
* Download file name generation more consistent (handled in class HTTP)
* Migration will honor the chunk size advertised by the target backend. For something like the database backend, it is useful if every call to the write() method contains a specific amount of data, if possible
* As a bonus, the Http::redirect() may hang under some circumstances. This patch includes a fix to browser hang on redirect