Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-638

check files on input for viruses, and verify file format

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Fix Version/s: 1.8.0
    • Component/s: JSPUI
    • Labels:
      None
    • Attachments:
      5
    • Comments:
      17
    • Documentation Status:
      Needed

      Description

      This patch uses JHOVE to provide rough-and-ready format checking by identifying that the file/bitstream extension matches formats verifiable by JHOVE. (Currently DSpace accepts a deposit's file extension as gospel, so a user could tack a ".txt" extension onto a GIF and DSpace would assign the incorrect format to the file based on that incorrect extension.)
      This patch also also contains code to check the file for the presence of viruses.

      In order to use this patch you must have jhove and ClamAV installed on your system.

      Important notes:

      (1) HTML identification has proved unreliable ( by jhove ), so this patch does not return accurate results for that
      file format.
      (2) This code does not fully incorporate JHOVE's validation functions; it only verifies that what depositors intended to submit is in fact what they submitted.

      The following are returned messages when an error is detected:

      Text in [brackets] is a returned value, ALLCAPS can/should be modified to reflect your current installation.

      Questionable AIFF, GIF, JPG, PDF, TIF, WAVE, XML:

      DSPACE could not verify that your file is a valid [file_format_extension]. Please check the file format and ".[file_format_extension]" extension.

      Questionable TXT:

      DSPACE found the text file you are trying to upload is neither UTF-8 nor ASCII. Please verify that your file is in the format you wanted.

      Spaces in filenames ( this is an additional check ):

      The file name contains spaces; this is not recommended. If possible, please replace spaces with underscores: "_".

      Virus detected:

      DSPACE detected a virus in this file. Please repair it and resume the deposit. If you need assistance, please contact us: EMAIL_ADDRESS.

      To get the patch working:

      Add the jhove conf files to

      [dspace]/jhove direcoty

      Here are the conf files:

      jhove-aiff.conf
      jhove-ascii.conf
      jhove-gif.conf
      jhove-jpeg.conff
      jhove-pdf.conf
      jhove-tiff.conf
      jhove-utf8.conf
      jhove-wave.conf
      jhove-xml.conf

      Also the following files were changed:

      dspace-api/src/main/java/org/dspace/submit/step/UploadStep.java
      dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/submit/step/JSPUploadStep.java
      dspace-api/src/main/java/org/dspace/content/FormatIdentifier.java

      dspace/modules/jspui/src/main/webapp/submit/get-file-format.jsp ( locally customized )
      dspace/modules/jspui/src/main/webapp/submit/upload-error-virus.jsp ( new file - placed in locally modified area for the jspui interface)

      These files are attached with this patch.

        Attachments

        1. java_files.zip
          17 kB
        2. jhove_config_files.zip
          5 kB
        3. jsp_files.zip
          5 kB
        4. UploadStep.java
          24 kB
        5. virus_check.patch
          24 kB

          Issue Links

            Activity

              People

              • Assignee:
                robintaylor Robin Taylor
                Reporter:
                blancoj Jose Blanco
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: