Skip to content
Snippets Groups Projects
  1. Aug 29, 2014
  2. Jun 27, 2014
  3. Apr 28, 2014
    • Jared Hancock's avatar
    • Jared Hancock's avatar
      storage: Avoid using `strlen` to count bytes · f15b893e
      Jared Hancock authored
      For PHP installations that have `mbstring.func_overload` enabled (set to a
      value including `2`), the `strlen` function will be overloaded to use the
      `mb_strlen` equivalent. Problematically, the internal encoding of `UTF-8`
      will be applied to all file content, which will count UTF-8 characters
      rather than bytes. This will cause the data to be saved correctly; however,
      the `size` recorded in the %file table will be recorded incorrectly.
      
      This patch allows the backend to report the size of the contents saved with
      the request and provides a failsafe mechanism which will use the mbstring
      equivalent if available, and the mbstring version is coded to use the `8bit`
      as the encoding which will prevent reading characters.
      
      References:
      https://github.com/osTicket/osTicket-1.8/issues/552
      f15b893e
  4. Apr 14, 2014
  5. Mar 04, 2014
  6. Mar 03, 2014
  7. Feb 27, 2014
  8. Feb 22, 2014
    • Jared Hancock's avatar
      file: Fix saving backend char · e84030f4
      Jared Hancock authored
      Because the file type normally defaults to the system default (for fetched
      emails at least), the backend char was not saved, because the file type char
      was left at the system default. Therefore, if a file is saved to a backend
      other than the default (in the database), the data will likely be saved to
      the backend, but the file metadata will reflect the incorrect backend.
      
      The only reason the file type char was not defaulted in the
      AttachmentFile::save() method was for the migration process from osTicet 1.6
      to osTicket 1.7. This is mitigated by passing `false` specifically from the
      migration task.
      
      Since otherwise the file type char is now set, the backend char is now saved
      with the file metadata.
      e84030f4
  9. Feb 21, 2014
  10. Feb 11, 2014
  11. Feb 05, 2014
  12. Feb 04, 2014
  13. Jan 29, 2014
    • Jared Hancock's avatar
      d0dbcf42
    • Jared Hancock's avatar
      oops: Fix finding key of existing file · c13c330c
      Jared Hancock authored
      If a file is attached via email and sent into the system, and a file is on
      record with the same signature (hash) and size, the system will not save the
      file. Instead, the key of the existing file would be found and used instead.
      
      This patch fixes a bug in AttachmentFile::save. The key was generated for
      the new file; however, if it was determined to be a duplicate, the key of
      the existing file was not returned. Therefore generated key, which wasn't
      saved to the database, was returned. Therefore, the wrong key was placed in
      the body of the message with cid:<key> for inline images, although that key
      would not exist in the database.
      
      This patch correctly returns the existing key from the ::save() method
      for de-duplicated files.
      c13c330c
  14. Jan 20, 2014
  15. Jan 18, 2014
  16. Oct 29, 2013
  17. Oct 25, 2013
  18. Oct 17, 2013
  19. Oct 14, 2013
  20. Oct 09, 2013
    • Jared Hancock's avatar
      HTML ticket thread, inline images and draft support · 864d3539
      Jared Hancock authored
      Process inline attachments in thread entry and support inline images in
      piped emails
      
      Support inline images across the system, with draft support
      
      Migrate to a single attachment table
          That way we don't need a new table for everything we need to attach an
          inline image to (like a signature, for instance)
      
      Add richtext support for internal notes
      
      Implement images on site pages
      
      * Image paste in Redactor
      * Make non-local images optional
      * Placeholder for non-local images
      * Fix local image download hover
      * Don't re-attach inline images
      864d3539
  21. Oct 06, 2013
    • Jared Hancock's avatar
      Crazy performance penalty scanning blob tables · 60fcf00c
      Jared Hancock authored
      When scanning the file_chunk table for orphaned file chunks that can be
      deleted, apparently, MySQL will read (at least part of) the blob data from
      the disk. For databases with lots of large attachments, this can take
      considerable time. Considering that it is triggered from the autocron and
      will run everytime the cron is run, the database will spend considerable
      time scanning for rows to be cleaned.
      
      This patch changes the orphan cleanup into two phases. The first will search
      just for the pk's of file chunks to be deleted. If any are found, then the
      chunks are deleted by the file_id and chunk_id, which is the primary key of
      the table.
      
      The SELECT query seems to run at least 20 times faster than the delete
      statement, and DELETEing against the primary key of the blob table should
      be the fastest possible operation. Somehow, both queries required a full
      table scan; however, because the SELECT statement is explictly only
      interested in two fields, it is more clear to the query optimizer that the
      blob data should not be scanned.
      
      References:
      http://stackoverflow.com/q/9511476
      60fcf00c
  22. Sep 05, 2013
    • Jared Hancock's avatar
      Handle attachment filenames better · b4b02114
      Jared Hancock authored
      Previously, filenames saved in the database had the spaces changed for
      underbars; however, other characters (such as commas and non-ascii
      characters) presented issues with user agents downloading the attachments.
      
      This patch handles the filename encoding for two special cases -- internet
      explorer and safari, and provides the semi-standard RFC5987 method of
      encoding the filename for the remaining browsers.
      
      Attachments are no longer forced to be downloaded. It is up to the browser
      to decide if the attachment should be shown in the browser or downloaded.
      
      This patch also fixes a slight bug in the caching mechanism for downloads
      concerning the last-modified time. The date sent to the browser was not
      properly converted to GMT time, although the server claimed that it was.
      b4b02114
    • Jared Hancock's avatar
      Handle attachment filenames better · ed743474
      Jared Hancock authored
      Previously, filenames saved in the database had the spaces changed for
      underbars; however, other characters (such as commas and non-ascii
      characters) presented issues with user agents downloading the attachments.
      
      This patch handles the filename encoding for two special cases -- internet
      explorer and safari, and provides the semi-standard RFC5987 method of
      encoding the filename for the remaining browsers.
      
      Attachments are no longer forced to be downloaded. It is up to the browser
      to decide if the attachment should be shown in the browser or downloaded.
      
      This patch also fixes a slight bug in the caching mechanism for downloads
      concerning the last-modified time. The date sent to the browser was not
      properly converted to GMT time, although the server claimed that it was.
      ed743474
  23. Jul 25, 2013
    • Jared Hancock's avatar
      Only set "ft" field if requested · adb4275c
      Jared Hancock authored
      The "ft" field does not exist when the attachment migration takes place.
      Therefore, attachment migration will fail because the records cannot be
      inserted into the database due to the missing "ft" field.
      adb4275c
  24. Jul 17, 2013
  25. Jun 26, 2013
  26. Mar 04, 2013
  27. Feb 19, 2013
  28. Dec 06, 2012
Loading