Java LiveUpdate Fails with "Unknown Error" in Symantec Mail Security for Domino Multi Platform Edition on IBM iSeries - AS/400

Article:TECH85734  |  Created: 2007-01-25  |  Updated: 2014-01-22  |  Article URL http://www.symantec.com/docs/TECH85734
Article Type
Technical Solution

Product(s)

Issue



When Java LiveUpdate runs on iSeries, the SMSDOM-MPE log reports several 'unknown errors'. No detailed information is given on the error. In liveupdt.log file an error will be visible related to liveupdt.tri file being an invalid entry size.

Symptoms
Errors in SMSDOM log, Domino console, and liveupdt.log.


- Example of livupdt.log errors:
 

      Oct 11 2007 21:00:54 Unzipping livetri.zip into /Symantec/LiveUpdate ...
      Oct 11 2007 21:00:54 Extracting liveupdt.tri
      Oct 11 2007 21:00:54 java.util.zip.ZipException: invalid entry size (expected 5827801 but got 5829586 bytes)
                    at java.lang.Throwable.(Throwable.java:195)
                    at java.lang.Exception.(Exception.java:41)
                    at java.io.IOException.(IOException.java:40)
                    at java.util.zip.ZipException.(ZipException.java:39)
                    at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:367)
                    at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
                    at java.io.FilterInputStream.read(FilterInputStream.java:90)
                    at b.a(DashoA5380:0)
                    at b.e(DashoA5380:0)
                    at LiveUpdate.main(DashoA5380:0)

      Oct 11 2007 21:00:54 java.util.zip.ZipException: invalid entry size (expected 5827801 but got 5829586 bytes)
                    at java.lang.Throwable.(Throwable.java:195)
                    at java.lang.Exception.(Exception.java:41)
                    at java.io.IOException.(IOException.java:40)
                    at java.util.zip.ZipException.(ZipException.java:39)
                    at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:367)
                    at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
                    at java.io.FilterInputStream.read(FilterInputStream.java:90)
                    at b.a(DashoA5380:0)
                    at b.e(DashoA5380:0)
                    at LiveUpdate.main(DashoA5380:0)

      Oct 11 2007 21:00:54 The Java LiveUpdate session did not complete successfully.
      Oct 11 2007 21:00:54 Return code = -1



- Example of SMSDOM log errors:




 


Cause



Version 3.2.1.27 of SMSDOM-MPE has an older version of Java Live Update (jlu.jar) incorporated with the installer. The older version had a hard coded file size limit for liveupdt.tri file. The liveupdt.tri file has grown and now exceeds this limit causing jlu.jar to throw an exception.


Solution



The purpose of the jlu.jar process is to get the latest virus defintions downloaded to your machine. Because of this we can resolve this problem a number of ways. We will outline 2 here:



 

Solution 1 Steps (Replacing jlu.jar with newer version)


1.  For the newer version of jlu.jar to work the /etc/liveupdate.conf file it will have to be in EBCDIC format which is native to iSeries servers. The older version of jlu.jar used an ASCII format of this file.
Here is an example of one that could work for most customers.


liveupdate.conf

This file can be used, make your own, or convert your own from ASCii to EBCDIC.
One
warning though, a file from a PC to an iSe
ries box will have different return codes. This will result in extra lines in the file when it is transferred over.
These extra lines will have to be removed for the process to work properly.


2.  A newer version of the jlu.jar file will be needed. Here is a copy of the 3.2 version that is password protected with the password of symantec:

       jlu.zip

3.  Log into iSeries machine with QSECOFR account.
4.  Now start QShell in interactive mode by issuing the command:

      STRQSH

5.  Change the group access to avdefs for the file /etc/liveupdate.conf by issuing the command:

      chgrp avdefs /etc/liveupdate.conf

6.  Change the permissions to /etc/liveupdate.conf file by issuing the command:

      chmod 664 /etc/liveupdate.conf

7.  Change the owner access to QSECOFR for the file /etc/liveupdate.conf by issuing the command:

      chown QSECOFR /etc/liveupdate.conf

8.  Now extract the jlu.zip file that you downloaded from step 2 above. Put the jlu-3.2.2.jar in the /opt/Symantec/LiveUpdate folder on the server.
9.  Change the permissions for the jlu-3.2.2.jar file by issuing the command:

      chmod 755 /opt/Symantec/LiveUpdate/jlu-3.2.2.jar

10. Remove the current symbolic link for jlu.jar by issuing the command:

    rm /opt/Symantec/LiveUpdate/jlu.jar

11. Create a new symbolic link that points to our new jlu-3.2.2.jar file by issuing the command:

      ln -s /opt/Symantec/LiveUpdate/jlu-3.2.2.jar /opt/Symantec/LiveUpdate/jlu.jar

12. The newer version of JLU requires a new file called Product.Catalog.JavaLiveUpdate. Issue the command:

      touch /etc/Product.Catalog.JavaLiveUpdate

13. Change the group access to Product.Catalog.JavaLiveUpdate by issuing the command:

      chgrp avdefs /etc/Product.Catalog.JavaLiveUpdate

14. Change the permissions to Prodduct.Catalog.JavaLiveUpdate by issuing the command:

      chmod 774 /etc/Product.Catalog.JavaLiveUpdate

15. Change the group access to /opt/Symantec/LiveUpdate by issuing the command:

      chgrp avdefs /opt/Symantec/LiveUpdate

16. Change the permissions to /opt/Symantec/LiveUpdate by issuing the command:

      chmod 775 /opt/Symantec/LiveUpdate

17. Now exit the QSHELL by pressing [F3].
18. At this point the java command will work but this can be scheduled to run at what ever frequency is preferred by issuing the command:

      ADDJOBSCDE


Example:

- Add the Job name, the command to run and the schedule frequency as in the screenshot below:



- Press F10 to display additional parameters, then hit Page Down to access the next screen:



- Change the user to QNOTES, then hit Enter... A confirmation message like this should be seen:



- To make sure the job has been added, check it by typing WRKJOBSCDE



- The newly added job and its details should now be visible.

19. Inside the Additional Parameters change the user to QNOTES
20. Make all the other changes for when this needs to run and the frequency it should run at.
21. Enter these two commands in (the second command takes two lines because of length):
 

    export NAVDEFSDIR=/opt/Symantec/virusdefs/incoming
    java -classpath /opt/Symantec/LiveUpdate/jlu.jar LiveUpdate -e CP037 -d [ -p "Avenge1.5 Definitions iSeries" -v "1.0" -l "English" -t "VirusDef" -z "0" ]

Note: It is also possible to test the command manually by using QSHELL and typing it in at the prompt. This way it is possible to see if it is working properly with no permission errors, files missing, etc.




 

Solution 2 Steps (Bypassing jlu.jar)


This method requires creating a script on a Windows server which downloads the Intelligent Updater and then transfer all files to the iSeries via a Netserver shared folder.

1. Install NetServer daemon on an active iSeries server that needs to receive definition files.
2. The unzip.exe program will be needed for this process.

       unzip.exe

3. Enable the NetServer daemon on the iSeries
4. Share to everyone the folder /opt/Symantec/virusdefs
5. On a Microsoft Windows machine create an ftp script and name it ftp.txt. Now insert the following contents:
 

      open ftp.symantec.com
      anonymous
      mail@domain.com
      cd /AVDEFS/symantec_antivirus_corp/static
      bin
      get is400.zip
      bye


6. On the same Microsoft Windows machine and in same folder create the main script (name it getdefs.cmd) with the following contents:
 

      echo off
      del is400.zip
      ftp -s:ftp.txt
      if not exist temp mkdir temp
      if not exist F: net use F: \\\virusdefs
      unzip -o is400.zip -d temp
      rem del -F is400.zip
      cd temp
      xcopy /Y *.* F:\incoming
      del /F /Q *.*
      cd ..

7. Put all the files into one folder
8. Schedule the main script via Windows Scheduled tasks to run at the preferred time.

--------------------------

Another way would be to create an FTP script doing the same actions as the procedure above in the iSeries OS400.



 


Attachments

liveupdate.conf (475 Bytes)
jlu.zip (2.4 MBytes)


unzip.exe (100 kBytes)

Supplemental Materials

ValueEtrack 1148298

Legacy ID



2007102513505554


Article URL http://www.symantec.com/docs/TECH85734


Terms of use for this information are found in Legal Notices