2014-04-02 Jiri Vanek <jvanek@redhat.com>
* Makefile.am: bumped number of changeset in for about dialog. Fixed placement.
2014-04-02 Jiri Vanek <jvanek@redhat.com>
* Changelog: minor fixes
2014-04-02 Jiri Vanek <jvanek@redhat.com>
Pre-release tuning
* Makefile.am: (netx-html-gen.stamp) set number of changests to 223 (since 1.4)
* NEWS: date of 1.5 set to 201-04-02
* configure.ac: (AC_INIT) set to use 1.5
2014-04-02 Jiri Vanek <jvanek@redhat.com>
* NEWS: Bumped date of 1.5 release to 2014
2014-04-01 Andrew Azores <aazores@redhat.com>
Fix Permissions manifest attribute check
* netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java:
(isNoneOrDefault) new method.
(validateRequestedPermissionLevelMatchesManifestPermissions) new method.
(checkPermissionsAttribute) rework to closer match spec and fix bug in not
allowing signed applets to request sandbox permissions.
2014-04-01 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/JNLPFile.java: hardcoded strings replaced by
SecurityDesc.RequestedPermissionLevel values.
* netx/net/sourceforge/jnlp/PluginBridge.java: likewise
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: likewise
* tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: added new tests
(testGetRequestedPermissionLevel1) - (testGetRequestedPermissionLevel7).
Added (minimalJnlp) field.
* tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: added new
(testGetRequestedPermissionLevel) test.
* netx/net/sourceforge/jnlp/SecurityDesc.java: added (DEFAULT) into
(RequestedPermissionLevel) and fixed typo in (J2EE) jnlpValue
2014-04-01 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/SecurityDesc.java: (RequestedPermissionLevel)
new enum to describe the permission level requested in an applet's
JNLP/HTML. (requestedPermissionLevel) new field. (SecurityDesc) new
constructor with RequestedPermissionLevel added.
(getRequestedPermissionLevel) new method.
* netx/net/sourceforge/jnlp/JNLPFile.java: (getRequestedPermissionLevel)
new method
* netx/net/sourceforge/jnlp/Parser.java: (getSecurity) construct
SecurityDescs with correct RequestedPermissionLevel
* netx/net/sourceforge/jnlp/PluginBridge.java:
(getRequestedPermissionLevel) new overridden method
* netx/net/sourceforge/jnlp/PluginParameters.java: (getPermissions) new
method
2014-04-01 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages_cs.properties: adapted to match newest state.
(MissingPermissionsMainTitle) (MissingPermissionsInfo) (ALACAMissingMainTitle) (ALACAMissingInfo)
(ALACAMatchingMainTitle) (ALACAMatchingInfo) removed codebase word, used text in all hrefs.
2014-04-01 Jiri Vanek <jvanek@redhat.com>
Manual quotation in ClasspathMatcher regex replaced by Pattern.quote
* netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: (quote)
is now using Pattern.quote instead manual Q + original + E
2014-04-01 Jiri Vanek <jvanek@redhat.com>
Restricted CodebaseMatcher to not match aaexample.com by *.example.com expression
but still match example.com - as in specification.
* netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: (domainToRegEx) consists
of original regex connected by or with second one in case of *. start.
(sourceToRegExString) part of the logic extracted to quote method.
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java:
(matchTest5) adapted. (wildCardSubdomainDoesNotMatchParentDomainPaths) new test,
focusing on aaexample.com/example.com/aaa.example.com in *.example.com both
path and domain.
2014-03-31 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties
(MissingPermissionsMainTitle): Remove 'codebase'
(MissingPermissionsInfo): Use simple link title.
2014-03-31 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties
(ALACAMissingMainTitle, ALACAMissingInfo ALACAMatchingMainTitle)
(ALACAMatchingInfo): Rephrase strings and replace full links with page
names.
* netx/net/sourceforge/jnlp/util/UrlUtils.java (setOfUrlsToHtmlList):
Enclose list in 'ul' element.
2014-03-31 Jiri Vanek <jvanek@redhat.com>
Allowed wrong match of the aaaexample.com by *.example.com expression as in
specification.
* netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: uncommented handling
of dot in (domainToRegEx).
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java:
(matchTest) uncommented and added tests of/for dot issue.
2014-03-31 Jiri Vanek <jvanek@redhat.com>
Alexandr Kolouch <skolnag@gmail.com>
Fixed cz_CS locales and adapted tests
* netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: added missing
values
* tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java:
Added few untranslatable items to white-list. (allResourcesAreReallyDifferent)
now skip test on values of "std. err" "std. out" "Policy Editor" and
"Java Reflection"
2014-03-31 Omair Majid <omajid@redhat.com>
* acinclude.m4
(IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR),
(IT_CHECK_XULRUNNER_REQUIRES_C11): Use AC_LANG_SOURCE with code.
2014-03-31 Jiri Vanek <jvanek@redhat.com>
Refactored check of heap space. Now recognize g/G and is based on regex
* netx/net/sourceforge/jnlp/JREDesc.java: Added (heapPattern) constant.
(checkHeapSize) now returns trimmed string and its logic is matching the
heapPattern instead compelx structure. (init) set result of checkHeapSize
as initialHeapSize and maximumHeapSize.
* tests/netx/unit/net/sourceforge/jnlp/JREDescTest.java: tests for (checkHeapSize)
and (init) of JREDesc.
2014-03-27 Andrew Azores <aazores@redhat.com>
Fix NPE when trying to open a new file, with changes made, and wanting to
save these changes to a file
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(openButtonAction) display Save As file chooser if there is no file object
yet and user wishes to save changes
2014-03-27 Andrew Azores <aazores@redhat.com>
Fix bug with checkboxes not correctly updating on open and with repeats of
a codebase appearing when opening a file multiple times
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(resetCodebases) new method. (openAndParsePolicyFile) call resetCodebases
at start. (PolicyEditor) call resetCodebases in constructor
2014-03-27 Andrew Azores <aazores@redhat.com>
Applets can be temporarily granted permission levels above fully sandboxed
but below all-permission
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(STempPermNoFile, STempPermNoNetwork, STempPermNoExec,
STempPermNoFileOrNetwork, STempPermNoExecOrNetwork, STempPermNoFileOrExec,
STempPermNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly,
STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess,
STempReadLocalFilesAndProperties, STempReflectionOnly): new messages
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: (installPanel)
pass SecurityDelegate to partially signed dialog
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
(showPartiallySignedWarningDialog) added SecutityDelegate param for
message extras
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java:
(checkPartiallySignedWithUserIfRequired) added SecurityDelegate param
* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java:
(createPolicyPermissionsMenu, PolicyEditorLaunchListener,
PolicyEditorPopupListener) removed in favour of TemporaryPermissionsButton
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java:
same
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningDialog.java:
(partiallySigned) SecurityDelegate param
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java:
(DELETE, READLINK, FILE_ALL) new actions. (rawActions, rawString) can
retrieve raw String representation of the action
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java:
(USER_HOME, TMPDIR) grant permissions to entire directory, not only
children
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java:
(DELETE_LOCAL_FILES, DELETE_TMP_FILES) new permissions.
(Group.WriteFileSystem) added DELETE* permissions
* nests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java:
update for change in PermissionTarget
* netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java:
new class
* netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java:
new class
2014-03-27 Jiri Vanek <jvanek@redhat.com>
Clenaup in PolicyEditor tests and MVC
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: MVC
mixing method (updatecheckboxes) splited to invokelater and plain impls.
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/* : removed
warnings and fixed wrong package declaration.
* tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java: when
filelaks are negative, take it as success.
2014-03-26 Andrew Azores <aazores@redhat.com>
Fix JOptionPane modality problems after making PolicyEditor itself modal
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
JOptionPane dialog parents set correctly to JDialog or JFrame rather than
JPanel
2014-03-26 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.propertie: new keys (STOAsignedMsgFully)
(STOAsignedMsgAndSandbox) (STOAsignedMsgPartiall) added
* netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java: extracted
hardocded values of (signedMsg)
2014-03-26 Jiri Vanek <jvanek@redhat.com>
Added possibility to group permissions in PolicyEditor
* netx/net/sourceforge/jnlp/resources/Messages.properties: added groups names
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: (setLayout)
added grouping panels and checkboxes. (JcheckBoxWithGroup) New inner class to work
with groups.
netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java:
Added inner class (Groups) and deffinied (ReadFileSystem) (WriteFileSystem)
(AccesUnowenedCode) (MediaAccess)
2014-03-26 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(savePolicyFile, openAndParsePolicyFile) made synchronous so that
programmatically adding a new codebase has a well-defined order when
performed immediately after starting a new PolicyEditor instance
2014-03-26 Andrew Azores <aazores@redhat.com>
Jiri Vanek <jvanek@redhat.com>
PolicyEditor can be made modal.
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(PolicyEditorWindow) new interface to facilitate PolicyEditor as a Window
rather than Panel. (PolicyEditorFrame, PolicyEditorDialog)
PolicyEditorWindow implementations. (getPolicyEditorFrame,
getPolicyEditorWindow) new methods to get frame or dialog implementations.
(setComponentMnemonic) made static. (preparePolicyEditorWindow) common
setup for frame and dialog implementations.
* netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: refactor to use
PolicyEditorWindow
* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java:
same
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java
same
* netx/net/sourceforge/jnlp/util/FileUtils.java: (showReadOnlyDialog,
showCouldNotOpenFileDialog, showCouldNotOpenFilePathDialog,
showCouldNotOpenDialog) use Component rather than JFrame
2014-03-26 Andrew Azores <aazores@redhat.com>
Added many new permissions for PolicyEditor
* netx/net/sourceforge/jnlp/resources/Messages.properties: (PEWriteProps,
PEWritePropsDetail, PEWriteSystemFiles, PEWriteSystemFilesDetail,
PEAWTPermission, PEAWTPermissionDetail, PERecordAudio,
PERecordAudioDetail, PEReflection, PEReflectionDetail, PEClassLoader,
PEClassLoaderDetail, PEClassInPackage, PEClassInPackageDetail,
PEDeclaredMembers, PEDeclaredMembersDetail, PEExec, PEExecDetail,
PEGetEnv, PEGetEnvDetail): new messages. (PEAudio, PEAudioDetail) renamed
to PEPlayAudio{,Detail}.
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java:
(EXECUTE) new action
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java:
(ALL_FILES, RECORD, REFLECT, GETENV, ACCESS_CLASS_IN_PACKAGE,
DECLARED_MEMBERS, CLASSLOADER) new targets
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionType.java:
(REFLECT_PERMISSION) new type
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java:
(WRITE_PROPERTIES, WRITE_SYSTEM_FILES, JAVA_REFLECTION, GET_CLASSLOADER,
ACCESS_CLASS_IN_PACKAGE, ACCESS_DECLARED_MEMBERS, EXEC_COMMANDS, GET_ENV,
ALL_AWT, RECORD_AUDIO) new permissions. (AUDIO) renamed PLAY_AUDIO.
2014-03-24 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/ManifestsAttributesValidator.java:
renamed to ManifestAttributesChecker.
* netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java:
(checkTrustedOnlyAttribute, checkCodebaseAttribute,
checkPermissionsAttribute,
checkApplicationLibraryAllowableCodebaseAttribute) made private.
(checkAll) new method.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: reflect above
changes
2014-03-24 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/ManifestsAttributesValidator.java:
(checkTrustedOnlyAttrubute) works properly with sandboxing
2014-03-24 Jiri Vanek <jvanek@redhat.com>
Client applications now log into new console.
* netx/net/sourceforge/jnlp/resources/Messages.properties: added keys (COPitw)
and (COPclientApp) for new checkboxes in console
* netx/net/sourceforge/jnlp/runtime/Boot.java: added brackets to headless if
* netx/net/sourceforge/jnlp/util/TeeOutputStream.java: moved to
* netx/net/sourceforge/jnlp/util/logging/TeeOutputStream.java: and improved to
log into new console.
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: added new
checkboxes to filter out/in custom app/itw logs. copyAll buttons do not include
custom app's logs in case of first click.
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: Added
testing data with custom app. (HTMLCOLOR_PURPLE) and (HTMLCOLOR_GREEN) as
new colors for custom app. (filter) now handle client app.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: (init) redirect
stdout/err over teeOutputStream
* /netx/net/sourceforge/jnlp/util/logging/OutputController.java: (consume)
do not reprint if header is marked by isClientApp
* netx/net/sourceforge/jnlp/util/logging/headers/Header.java: added field
(isClientApp)
2014-03-24 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java: (visualCleanCache)
consider exception in cache operation as not-scuess.
* netx/net/sourceforge/jnlp/resources/Messages.properties: (CCannotClearCache)
(CFakedCache) (CVCPCleanCacheTip) improved by fix it tips.
2014-03-24 Andrew Azores <aazores@redhat.com>
* NEWS: added mention of Trusted-only manifest attribute
2014-03-24 Andrew Azores <aazores@redhat.com>
Added ability to launch PolicyEditor from security prompts, with the
current applet's codebase pre-selected in the editor.
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(CertWarnPolicyTip, CertWarnPolicyEditor): new messages
* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java: can
launch PolicyEditor from new options overflow button
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java:
same
2014-03-24 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: pass
SecurityDelegate to ManifestsAttributesValidator
* netx/net/sourceforge/jnlp/runtime/ManifestsAttributesValidator.java:
(securityDelegate) new field, added to constructor.
(checkTrustedOnlyAttribute, checkPermissionsAttribute) works with
RunInSandbox.
2014-03-20 Andrew Azores <aazores@redhat.com>
Trusted-only manifest attribute implementation
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(STrustedOnlyAttributeFailure) new message
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: added
ManifestsAttributesValidator#checkTrustedOnlyAttribute() to constructor
* netx/net/sourceforge/jnlp/runtime/ManifestsAttributesValidator.java:
(checkTrustedOnlyAttribute) new method
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-signed-nosecurity.jnlp:
new tests for Trusted-only attribute
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-signed-security.jnlp
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-signed.html
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-unsigned-nosecurity.jnlp
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-unsigned-security.jnlp
* tests/reproducers/custom/TrustedOnlyAttribute/resources/TrustedOnlyAttribute-unsigned.html
* tests/reproducers/custom/TrustedOnlyAttribute/srcs/MANIFEST.MF
* tests/reproducers/custom/TrustedOnlyAttribute/srcs/Makefile
* tests/reproducers/custom/TrustedOnlyAttribute/srcs/TrustedOnlyAttribute.java
* tests/reproducers/custom/TrustedOnlyAttribute/testcases/TrustedOnlyAttributeTest.java
2014-03-20 Andrew Azores <aazores@redhat.com>
Passing a reference to SecurityDelegate to CertWarningPane, so that UI
elements can be added later to allow the applet to be run Sandboxed + some
temporary permissions
* netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java: (checkTrustWithUser)
pass SecurityDelegate reference to SecurityDialogs.showCertWarningDialog
* netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: same
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: pass SecurityDelegate
reference from extras into CertWarningPane constructor
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (showCertWarningDialog)
added SecurityDelegate parameter, add to extras array.
* netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser)
pass null for SecurityDelegate reference
* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java: (CertWarningPane)
added SecurityDelegate constructor parameter and (securityDelegate) field
2014-03-20 Andrew Azores <aazores@redhat.com>
SecurityDelegate can be used to add permissions to JNLPClassLoader during
run. This is useful for adding temporary extra permissions to an applet.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (SecurityDelegate
addPermission, addPermissions) new methods. (SecurityDelegateImpl addPermission,
addPermissions) implement previous.
2014-03-20 Jiri Vanek <jvanek@redhat.com>
Clear cache function made more visible.
* netx/net/sourceforge/jnlp/cache/CacheUtil.java: (okToClearCache) released
never released lock. (clearCache) now recriated directory after cleaning.
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java: Added delete
all button. (restoreDisabled) and (disableButtons) are containing duplicated
code. (invokeLaterDeleteAll) and (visualCleanCache) utility methods accessing
CacheUtil.clearCache.
* netx/net/sourceforge/jnlp/resources/Messages.properties: added (CVCPCleanCache)
and (CVCPCleanCacheTip) keys
* netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java:
added (cacheButton)
* netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: also added (cacheButton)
but also included some layout refactoring to have buttons in row.
2014-03-20 Jiri Vanek <jvanek@redhat.com>
Methods validating manifests' attributes moved to separate class.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Cleaned imports.
At (init) methods (checkCodebaseAttribute), (checkPermissionsAttribute) and
(checkApplicationLibraryAllowableCodebaseAttribute) moved to
ManifestsAttributesValidator. (guessCodeBase) generalized in UrlUtils.
* netx/net/sourceforge/jnlp/runtime/ManifestsAttributesValidator.java:
new class. Contains logic to validate manifests'attributes.
* netx/net/sourceforge/jnlp/util/UrlUtils.java: added method (guessCodeBase)
as generalization of JNLPClassLoader's guessCodeBase method.
2014-03-14 Andrew Azores <aazores@redhat.com>
Added new PartiallySigned Dialog to replace NotAllSignedWarningPane.
Also includes a Sandbox button.
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(APPEXTSecunsignedAppletActionSandbox, LPartiallySignedApplet,
LPartiallySignedAppletUserDenied) new messages. (SNotAllSignedSummary,
SNotAllSignedDetail, SNotAllSignedQuestion) keys renamed to SPartially*
* netx/net/sourceforge/jnlp/resources/Messages_cs.properties: (SNotAllSignedSummary,
SNotAllSignedDetail, SNotAllSignedQuestion) keys renamed to SPartially*
* netx/net/sourceforge/jnlp/resources/Messages_de.properties: same
* netx/net/sourceforge/jnlp/resources/Messages_pl.properties: same
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
Logic added for displaying new PartiallySigned dialog.
(showNotAllSignedDialog) removed. (getSigningState) new method.
(promptUserOnPartialSigning, userPromptedForPartialSigning) new methods for
SecurityDelegate.
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningDialog.java:
(partiallySigned) new method
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanel.java:
(chosenActionSetter) refactored to allow Sandbox action. (setupInfoPanel) applet
title made overrideable by subclasses
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: (NOTALLSIGNED_WARNING)
renamed PARTIALLYSIGNED_WARNING, display new dialog rather than old
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (NOTALLSIGNED_WARNING)
renamed PARTIALLYSIGNED_WARNING. (showNotAllSignedWarningDialog) removed.
(showPartiallySignedWarningDialog) new method
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteAppletAction.java:
Added Sandbox action
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java:
(checkPartiallySignedWithUserIfRequired) new method
* tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java:
test now passes since dialog will not appear if applet security is set to Low.
KnownToFail removed.
* tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java:
same
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java:
new class
* netx/net/sourceforge/jnlp/security/dialogs/NotAllSignedWarningPane.java: deleted
in favour of PartiallySignedAppTrustWarningPanel
2014-03-14 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(addNewCodebase) ensure that checkboxes update. (removeCodebase,
updateCheckboxes) ensure UI updates are done on EDT.
2014-03-14 Jiri Vanek <jvanek@redhat.com>
Base implementation of Application-Library-Allowable-Codebase. Remember
button not yet working.
* netx/net/sourceforge/jnlp/JNLPFile.java: (ClasspathMatchers)
(getApplicationLibraryAllowableCodebase) (getCodebase) (getCodeBaseMatchersAttribute)
(getCodeBaseMatchersAttribute) (getCodeBaseMatchersAttribute) changed signature
to include/not include path in returned matcher.
* netx/net/sourceforge/jnlp/resources/Messages.properties: Added keys
(ALACAMissingMainTitle) (ALACAMissingInfo) (ALACAMatchingMainTitle)
(ALACAMatchingInfo) for new dialogs.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Implemented
(checkApplicationLibraryAllowableCodebaseAttribute). Used in (init)
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: made aware of
new constants (MISSING_ALACA) and (MATCHING_ALACA)
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: new constants
(MISSING_ALACA) and (MATCHING_ALACA). Implemented (showMissingALACAttributePanel)
and (showMatchingALACAttributePanel)
* netx/net/sourceforge/jnlp/security/dialogs/MatchingALACAttributePanel.java
new dialog for Matching attribute
* netx/net/sourceforge/jnlp/security/dialogs/MissingALACAttributePanel.java:
new dialog for Missing attribute.
* netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: allowing user to
choose whether to include paths in matching or not.
* netx/net/sourceforge/jnlp/util/UrlUtils.java: new util methods (removeFileName)
(setOfUrlsToHtmlList) (sanitizeLastSlash) and (equalsIgnoreLastSlash) to
strip filename from url, toString for iterable of urls to string, and
for operations with URLs independently on last slash
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java: added
tests for paths
* tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: added tests
for new methods
2014-03-13 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(savePolicyFile, updateMd5WithDialog) avoid NPE when saving to a new file
2014-03-13 Jiri Vanek <jvanek@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: adapted
to permissions attribute
2014-03-13 Jiri Vanek <jvanek@redhat.com>
Fixing rear deadlock issue
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: removed
(probably) unnecessary synchronization of (refreshPaneBody).
2014-03-13 Jiri Vanek <jvanek@redhat.com>
Fixed appearance of download indicator
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (init) attributes
are allowed to access jars only once all resources are downloaded
2014-03-12 Jiri Vanek <jvanek@redhat.com>
* configure.ac: added check for /bin/bash
2014-03-12 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(initializeMapForCodebase) returns boolean indicating if the given
codebase already existed. (addNewCodebase) do not add codebases if they
already exist
2014-03-12 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(PEFileModified, PEFileModifiedDetail) new messages
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(fileWatcher, openAndParsePolicyFile, savePolicyFile) update to use
MD5SumWatcher to check if the file has changed externally since being
opened
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java:
URLs changed to example.com
2014-03-12 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(PECodebaseFlag) new message for policyeditor -help
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(HELP_MESSAGE) added -codebase flag
* netx/policyeditor.1: updated -file and added -codebase and -help
2014-03-11 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java:
(TMPDIR) is java.io.tmpdir, not io.tmpdir
2014-03-11 Jiri Vanek <jvanek@redhat.com>
New java console made localizable.
*netx/net/sourceforge/jnlp/resources/Messages.properties: added new family of
keys (COP) for new console
*netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: where reasonable,
strings replaced by records in properties.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: (rawData) and
(outputs) made final.
2014-03-11 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties: added (CONSOLEClean)
key for new button
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: (update)
method enhanced for possibility to force refresh
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: added ButClean
button. (updateModel) overlaoded with force attribute.
2014-03-11 Jiri Vanek <jvanek@redhat.com>
* netx/policyeditor.1: Mentioned that it is more GUI then commandline tool
2014-03-11 Jiri Vanek <jvanek@redhat.com>
Implemented Permissions manifest entry handling.
* NEWS: mentioned Permissions attribute
* netx/net/sourceforge/jnlp/JNLPFile.java: new enum (ManifestBoolean) introduced
to replace true/false/null by TRUE/FALSE/UNDEFFINED. (isTrustedOnly),
(isTrustedLibrary), (isSandboxForced) and (processBooleanAttribute) moved
to use ManifestBoolean.
* netx/net/sourceforge/jnlp/resources/Messages.properties: Added (ButYes) (ButNo)
(MissingPermissionsMainTitle) and (MissingPermissionsInfo) keys
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: is now checking
(checkPermissionsAttribute) in (init). Implemented new (checkPermissionsAttribute)
method to handle Permissions attribute
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: can handle
(UNSIGNED_EAS_NO_PERMISSIONS_WARNING)
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: defined
(UNSIGNED_EAS_NO_PERMISSIONS_WARNING ) and (showMissingPermissionsAttributeDialogue)
* netx/net/sourceforge/jnlp/security/dialogs/MissingPermissionsAttributePanel.java:
new class, implementation of missing permissions attribute panel.
* netx/net/sourceforge/jnlp/security/dialogs/SecurityDialogPanel.java: changed
(initialFocusComponent) from package private to descendant visible
* tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: and
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: adapted to
(ManifestBoolean) and to Permissions attribute handling at all.
2014-03-10 Omair Majid <omajid@redhat.com>
* netx/javaws.1,
* netx/itweb-settings.1: Change "SYNOPSYS" to "SYNOPSIS".
* NEWS: Add itweb-setings man page.
2014-03-10 Andrew Azores <aazores@redhat.com>
Added MD5SumWatcher utility class to detect when a file's contents have been
changed on disk.
* netx/net/sourceforge/jnlp/util/FileUtils.java: (getFileMD5Sum) new
function
* netx/net/sourceforge/jnlp/util/MD5SumWatcher.java: new class
* tests/netx/unit/net/sourceforge/jnlp/util/MD5SumWatcherTest.java: new
tests for MD5SumWatcher
2014-03-10 Andrew Azores <aazores@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java:
(testActionsRegex, testTargetRegex, testRegexesAgainstBadPermissionNames):
update after moving regexes from PolicyEditorPermissions into
CustomPermission
2014-03-10 Andrew Azores <aazores@redhat.com>
PolicyEditor parsing enhancements, new tests, and bugfixes
* NEWS: added entry for PolicyEditor
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(PESaveAsMenuItemMnemonic, PEExitMenuItemMnemonic) changed mnemonic keys
due to masking with ctrl rather than alt
* netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java:
(ACTIONS_PERMISSION, TARGET_PERMISSION, fromString) use regexes to parse
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java:
(file) keep reference to File rather than String filePath. (getPermissions)
returns empty map rather than null. (setComponentMnemonic) new method.
(getCustomPermissions) new function. (openAndParsePolicyFile) check for
OpenFileResult FAILURE and NOT_FILE rather than null. (setupLayout) File,
Save, SaveAs, and Exit items modifier mask changed to Ctrl rather than Alt
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java:
(fromString) use regexes to parse, using CustomPermission as intermediate
representation
* netx/net/sourceforge/jnlp/util/FileUtils.java:
(testDirectoryPermissions) add check for getCanonicalFile and null
safeguarding. (testFilePermissions) add check for getCanonicalFile and
return FAILURE rather than null
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java:
(testMissingQuotationMarks) new test
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java:
(testReturnedCustomPermissionsSetIsCopy,
testCodebaseTrailingSlashesDoNotMatch) new tests
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java:
new tests
2014-03-10 Omair Majid <omajid@redhat.com>
* Makefile.am (install-data-local): Install itweb-settings.1.
* netx/itweb-settings.1: New file.
2014-03-10 Jiri Vanek <jvanek@redhat.com>
Added getter for java-abrt-connector on demand whitelist of fields.
* netx/net/sourceforge/jnlp/Launcher.java: (launch) saving (location.toExternalForm())
via JNLPRuntime.saveHistory
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (history) new static field
with getter (getHistory) and "setter" (saveHistory)
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (handleInitializationMessage)
saving (documentBase) via JNLPRuntime.saveHistory
2014-03-10 Jiri Vanek <jvanek@redhat.com>
Actualized man page for javaws
* netx/javaws.1: made sync with current state
2014-03-10 Jiri Vanek <jvanek@redhat.com>
Fixed rhbz#1072013
* netx/net/sourceforge/jnlp/PluginBridge.java: The (fileLocation) of
JNLPFile is now properly set in constructor if not existing.
2014-03-06 Andrew Azores <aazores@redhat.com>
* NEWS: added -version flag entry
* netx/net/sourceforge/jnlp/resources/Messages.properties: (BOVersion)
new message for command line -version flag
* netx/net/sourceforge/jnlp/runtime/Boot.java: (main) added "-version"
flag
2014-03-05 Jiri Vanek <jvanek@redhat.com>
All security dialogs moved to appropriate package
* netx/net/sourceforge/jnlp/security/AccessWarningPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java:
* netx/net/sourceforge/jnlp/security/AppletWarningPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/AppletWarningPane.java:
* netx/net/sourceforge/jnlp/security/CertWarningPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java
* netx/net/sourceforge/jnlp/security/CertsInfoPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/CertsInfoPane.java:
* netx/net/sourceforge/jnlp/security/MoreInfoPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/MoreInfoPane.java:
* netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/NotAllSignedWarningPane.java:
* netx/net/sourceforge/jnlp/security/PasswordAuthenticationPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/PasswordAuthenticationPane.java:
* netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: to
* netx/net/sourceforge/jnlp/security/dialogs/SecurityDialogPanel.java:
* netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java: to
* netx/net/sourceforge/jnlp/security/dialogs/SingleCertInfoPane.java:
* netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java: to
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningDialog.java:
* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: to
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanel.java:
* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: to
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningDialog.java:
* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: to
* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningPanel.java:
* tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java: to
* tests/netx/unit/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanelTest.java:
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java: necessary changes
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: necessary changes
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: necessary changes
* netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java: necessary changes
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: necessary changes
* netx/net/sourceforge/jnlp/security/KeyStores.java: necessary changes
* netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java: necessary changes
* netx/net/sourceforge/jnlp/security/CertificateUtils.java: necessary changes
2014-03-05 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: fixed
layout so buttons do not disappear under radioboxes.
* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java:
added testable main method.
2014-03-05 Jiri Vanek <jvanek@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java:
removed unused imports
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java:
added test for plain * in ClasspathMatcher.ClasspathMatchers.compile()
2014-03-05 Matthias Klose <doko@ubuntu.com>
* launcher/launchers.in: Use bash as shebang.
2014-03-04 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties:
(SAppletTitle) new message
* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java:
(buttons) new list of UI buttons. (getAllowButton, getRejectButton,
addComponents) made final.
(createButtonPanel) uses list of buttons rather than hardcoded.
(helpButton) action made configurable.
2014-03-03 Omair Majid <omajid@redhat.com>
PR857
* netx/net/sourceforge/jnlp/about/AboutDialog.java
(run): Do not set look and feel.
* netx/net/sourceforge/jnlp/runtime/Boot.java
(main) <about>: Set look and feel before displaying dialog.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
(initialize): Set look and feel before any UI is created.
* netx/net/sourceforge/jnlp/security/SecurityDialog.java
(init): Do not set look and feel.
(setSystemLookAndFeel): Removed.
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
(createInstance): Do not set look and feel.
* netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java
(showCertificateViewer): Do not set look and feel.
(setSystemLookAndFeel): Removed.
2014-03-03 Omair Majid <omajid@redhat.com>
PR1676
* netx/net/sourceforge/jnlp/SecurityDesc.java: Add permission to
read/write useLegacyMergeSort.
2014-03-03 Andrew Azores <aazores@redhat.com>
UnsignedAppletTrustWarningPanel logic moved into new abstract parent class
AppTrustWarningPanel for reusability.
* netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java: new class
* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: new class
* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java:
major refactor into subclass of AppTrustWarningPanel
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
(UnsignedWarningAction) references changed to AppSigningWarningAction
* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: same
* tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java:
new tests for AppTrustWarningPanel
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteUnsignedApplet.java:
renamed, changed all references
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteAppletAction.java:
(ExecuteUnsignedApplet) renamed to this
* netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletActionTableModel.java:
(ExecuteAppletAction) changed references
* netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java:
(ExecuteAppletAction) changed references
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionEntry.java:
(ExecuteAppletAction) changed references
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java:
(ExecuteAppletAction) changed references
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageExtendedImpl.java:
(ExecuteAppletAction) changed references
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java:
(ExecuteAppletAction) changed references
2014-02-28 Andrew Azores <aazores@redhat.com>
Added "Sandbox" button to CertWarning dialogs, allowing signed applets
to be run with restricted permissions
* netx/net/sourceforge/jnlp/resources/Messages.properties: (ButSandbox,
LRunInSandboxError, LRunInSandboxErrorInfo, CertWarnRunTip,
CertWarnSandboxTip, CertWarnCancelTip): new messages
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (createInstance)
added check to not display unsigned warning dialog if the cert warning
dialog has been presented and the applet is sandboxed.
(checkTrustWithUser) updated for Run In Sandbox functionality.
(setRunInSandbox, userPromptedForSandbox) new functions
* netx/net/sourceforge/jnlp/security/AppVerifier.java:
(checkTrustWithUser) added SecurityDelegate param
* netx/net/sourceforge/jnlp/security/CertWarningPane.java: added Sandbox
button
* netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java:
(checkTrustWithUser) uses AppletAction enum type, calls
JNLPClassLoader#setRunInSandbox if AppletAction is SANDBOX
* netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: same
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: added
(AppletAction) enum type. (showCertWarning) returns AppletAction
rather than boolean
* netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java:
(askUser) refactor to use AppletAction rather than boolean
* netx/net/sourceforge/jnlp/tools/JarCertVerifier.java:
(checkTrustWithUser) added SecurityDelegate param
* tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java:
(testGetIntegerResponseAsAppletAction) new tests for converting Object
references into AppletActions
2014-02-28 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
(SecurityDelegate, SecurityDelegateImpl) new interface and implementation.
Includes logic for Run In Sandbox, which is not yet used
(initializeResources, setSecurity, activateJars, addNewJar) refactored to
use SecurityDelegate
2014-02-27 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed
applets which load from the codebase as partially signed, and fix
regression with signed applets loading main-classes from codebase
* tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html:
new test to ensure that signed applets with codebase loading can run
* tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile
* tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java
* tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java
* tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java
* tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html:
new test to ensure that signed applets with codebase-loaded main-classes
can run
* tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile
* tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java
* tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java
* tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java
2014-02-21 Jiri Vanek <jvanek@redhat.com>
* acinclude.m4: added (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR) macro,
Added (IT_CHECK_XULRUNNER_API_VERSION_C11)
* configure.ac: added call of IT_CHECK_XULRUNNER_API_CONSTCHAR and
IT_CHECK_XULRUNNER_API_VERSION_C11
* plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription)
return type set-up by dependency on defined LEGACY_XULRUNNERAPI.
This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure.
if defined, then old char* is used. New const char* is used otherwise.
2014-02-20 Andrew Azores <aazores@redhat.com>
New simplified PolicyEditor for editing Java policy files, particularly
user-level JNLP policies.
* Makefile.am: added policyeditor launcher targets
* netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java:
(OpenFileResult, canOpenPolicyFile, testPolicyFileDirectory,
showCouldNotOpenFileDialog, showReadOnlyDialog) moved into FileUtils.
(PolicyPanel) added button for PolicyEditor. (launchSimplePolicyEditor)
new function. (LaunchSimplePolicyEditorAction) new class, action for new
button.
* netx/net/sourceforge/jnlp/resources/Messages.properties: new messages
for PolicyEditor
* netx/net/sourceforge/jnlp/util/FileUtils.java: (OpenFileResult,
testDirectoryPermissions, testFilePermissions, showReadOnlyDialog,
showCouldNotOpenFileDialog) new functions
* netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java:
new class
* netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java:
new class
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java:
new class
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java:
new class
* netx/net/sourceforge/jnlp/security/policyeditor/PermissionType.java: new
class
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: new
class
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java:
new class
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java: new
class
* policyeditor.desktop.in: new launcher desktop file
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java:
new class
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionActionsTest.java:
new class
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTargetTest.java:
new class
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTypeTest.java:
new class
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java:
new class
* tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java:
new class
2014-02-19 Michal Vyskocil <mvyskocil@suse.com>
Put link flags to the end of gcc command line to prevent link failures
Make sure that path to PUBLIC_KEYSTORE exists to prevent keytool fail
* tests/softkiller/Makefile: put -lX11 to the end of command line
* Makefile.am: if path to PUBLIC_KEYSTORE does not exists, make it
2014-02-13 Jiri Vanek <jvanek@redhat.com>
Get rid of ConcurrentModificationException in Console output.
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: (importList)
now synchronise over original data, instead of (somtimes by) copy as, wrongly, before.
2014-02-13 Jiri Vanek <jvanek@redhat.com>
Added possibility to follow redirects for javaws in demand by
-allowredirect switch.
* netx/net/sourceforge/jnlp/cache/ResourceTracker.java: added inner class
(CodeWithRedirect), which stores server result and possible redirection target
(getUrlResponseCode) is only wrapper around new (getUrlResponseCodeWithRedirectonResult)
which returns (CodeWithRedirect). It fills url form Location header field if
any. (findBestUrl) now follow 301,302,303,307,308 redirects if enabled
and valid - otherwise new (RedirectionException) is thrown.
* netx/net/sourceforge/jnlp/resources/Messages.properties: described
-allowredirect by (BOredirect) key.
* netx/net/sourceforge/jnlp/runtime/Boot.java: and
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: added handling of
-allowredirect. New (allowRedirect) field.
2014-02-12 Jiri Vanek <jvanek@redhat.com>
Fixed behaviour of href in jnlp file to correctly download another it if it is remote
* netx/net/sourceforge/jnlp/Launcher.java: (fromUrl) if file is not local, and
have href and href point elsewhere, then it is used as future jnlpfile
* tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java:
(launchRemoteChangedFileWithHref) adapted to new behaviour
2014-02-12 Jiri Vanek <jvanek@redhat.com>
Implemented Codebase manifest entry handling.
* netx/net/sourceforge/jnlp/JNLPFile.java: manifests names constants moved into
ManifestsAttributes inner class.(getCallerAllowableCodebase) (getApplicationLibraryAllowableCodebase)
(getCodebase) (getCodeBaseMatchersAttribute) (getCodeBaseMatchersAttribute) are
now returning (ClasspathMatcher.ClasspathMatchers). added boolean access to (isTrustedOnly)
(isTrustedLibrary).
* netx/net/sourceforge/jnlp/resources/Messages.properties: added (CBCheckFile)
(CBCheckNoEntry) (CBCheckUnsignedPass) (CBCheckUnsignedPass) (CBCheckOkSignedOk)
(CBCheckOkSignedOk) (CBCheckOkSignedOk) keys to inform about Classpath validation
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: in Init call new method
(checkCodebaseAttribute) which check the codebase manifest entry.
* netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: New class, responsible
for matching Classpath like pattern with URL
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: added tests to
cover all newly accessible attributes from JNLPFile.ManifestsAttributes
* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java: mostly
corner and must-fullfill cases tests.
* tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java: (assertNoFileLeak)
have timeout before actual countings. JVM needs time to propagate cleanup.
* tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/:
* tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/:
* tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/:
*tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/:
New set of reproducers to test Codebases processing. All testcas are in
(CodeBaseManifestEntrySignedMatching) so they can share code.
2014-02-11 Andrew Azores <aazores@redhat.com>
Partial revert of 7933143a1286, refactoring to move
codebase-loading-enabling logic out of Launcher and into JNLPClassLoader.
* netx/net/sourceforge/jnlp/Launcher.java: (createApplet,
createAppletObject): handle enableCodebase again
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodebase):
re-added, codebase enabling logic moved back out into Launcher
2014-02-05 Jiri Vanek <jvanek@redhat.com>
Added salt to plugin-java pipes' directory (fixing RH1010958)
* plugin/icedteanp/IcedTeaNPPlugin.cc: (cleanUpDir) new utility method
to clean up pipes directory. (start_jvm_if_needed) is now returning
error status and creating salt in directory name. (initialize_data_directory)
now add salt to the name.
* plugin/icedteanp/IcedTeaNPPlugin.h: changed declaration of (start_jvm_if_needed)
2014-02-04 Jacob Wisor <gitne@gmx.de>
Added missing PL localized messages
* netx/net/sourceforge/jnlp/resources/Messages_pl.properties: added
RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail
CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy
CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError
2014-02-04 Jacob Wisor <gitne@gmx.de>
Added missing DE localized messages
* netx/net/sourceforge/jnlp/resources/Messages_de.properties: added
RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail
CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy
CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError
2014-01-31 Jacob Wisor <gitne@gmx.de>
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java:
(importList) Separate XHTML fix due to revision 884
2014-01-30 Jacob Wisor <gitne@gmx.de>
* Javadoc, XHTML conformance, and formatting cleanup
2014-01-30 Andrew Azores <aazores@redhat.com>
* NEWS: added entry for PolicyPanel
* netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added
class-level Javadoc comment, made some local variables final, added
reflective fallback case for JRE 6 PolicyTool location
2014-01-29 Andrew Azores <aazores@redhat.com>
Fix for regression due to PR1513 fix. ClassLoader was too optimistic about
finding codebase main-classes and so the not-all-signed dialog would
appear even for applets that were entirely broken and could not be loaded
at all.
* netx/net/sourceforge/jnlp/Launcher.java: (createApplet,
createAppletObject) pass enableCodeBase to JNLPClassLoader
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodeBase)
removed, now done by constructor argument. (checkNotAllSignedWithUser)
minor refactor. (initializeResources) actually check if main-class is
loadable from codebase when this is suspected, rather than assuming it
will be there
2014-01-27 Andrew Azores <aazores@redhat.com>
MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP
files generated per-test rather than premade. Many new tests added.
* tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html:
moved to custom reproducer
* tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp:
moved to custom reproducer and now used as template by testcases file
* tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: new Makefile
for custom reproducer
* tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java
* tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java
*
tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java:
new tests added, JNLP files generated per-test rather than all prepackaged
* tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java:
moved to custom reproducer
* tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html
* tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java
2014-01-27 Jiri Vanek <jvanek@redhat.com>
Tuning of properties loading.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added
(resetToDefaults) methods to set default values to map.
(loadSystemConfiguration) now throws ConfigurationException. Added more
verbose error messages. The ioexception is now also cause of ConfigurationException
if mandatory is on.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: now correctly fails to
initiate if ConfigurationException appeared.
Init of (configuration) now catch general exception, and fall back to default
(instead of die fatally with NoClassDefFoundError). User is warned.
* netx/net/sourceforge/jnlp/resources/Messages.properties: new key of
(RFailingToDefault) added.
2014-01-24 Andrew Azores <aazores@redhat.com>
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025971.html
* netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added license
header and javadocs. Launch PolicyTool by ProcessBuilder rather than
calling PolicyTool.main directly, with reflective launch fallback method.
* netx/net/sourceforge/jnlp/resources/Messages.properties: added message
(CPPolicyEditorNotFound)
2014-01-23 Omair Majid <omajid@redhat.com>
* Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]:
Don't specify perm gen size.
2014-01-23 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/JNLPFile.java,
* netx/net/sourceforge/jnlp/NetxPanel.java,
* netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java,
* netx/net/sourceforge/jnlp/cache/CacheUtil.java,
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java,
* netx/net/sourceforge/jnlp/config/DirectoryValidator.java,
* netx/net/sourceforge/jnlp/config/Setting.java,
* netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java,
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java,
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java,
* netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java,
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java,
* netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java,
* netx/net/sourceforge/jnlp/services/XSingleInstanceService.java,
* netx/net/sourceforge/jnlp/util/FileUtils.java,
* netx/net/sourceforge/jnlp/util/JarFile.java,
* netx/net/sourceforge/nanoxml/XMLElement.java,
* netx/net/sourceforge/nanoxml/XMLParseException.java,
* plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Fix incorrect
parameter names, throws declerations and malformed html in javadocs.
2014-01-20 Jiri Vanek <jvanek@redhat.com>
Added Christmas splashscreen extension.
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java:
base colors are derived from active extension. And extension is painted (if any)
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java:
same
* netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java:
extension valid in Christmas time, painting falling stars and dimming colors.
* netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java
provider of extension. Know only the Christmas one right now.
* netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java:
no op extension for no extension times
* netx/net/sourceforge/jnlp/splashscreen/parts/extensions/SplashExtension.java:
unfinished extension interface
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java:
and
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java:
adapted to current purposes
2014-01-20 Jiri Vanek <jvanek@redhat.com>
Added support for system level linux logging
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: exclusive
handling for system critical *java* messages when system logging is on.
* netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: implemented
call to logger
* plugin/icedteanp/IcedTeaPluginUtils.h: error messages logged to syslog
* plugin/icedteanp/java/sun/applet/PluginDebug.java: default messages
are now MESSAGE_DEBUG instead of ERROR_ALL
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.c: adapted to system logging
2014-01-17 Andrew Azores <aazores@redhat.com>
Added itweb-settings panel to explain custom policy files and allow
launching a policy editor for user's policy file.
* netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java:
(createMainSettingsPanel, createPolicySettingsPanel) added PolicyPanel
* netx/net/sourceforge/jnlp/resources/Messages.properties: new messages
for PolicyPanel
* netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: new panel to
allow launching of external policy editor
* tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html:
new test to ensure custom user policy files work correctly
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesJnlpHref.html
* tests/reproducers/simple/CustomPolicies/srcs/CustomPolicies.java
* tests/reproducers/simple/CustomPolicies/testcases/CustomPoliciesTest.java
2014-01-17 Andrew Azores <aazores@redhat.com>
Fixes JS reproducer regression.
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: (hasMethod) fixed
regression from rev 757:ee92f55c69a3
2014-01-16 Jiri Vanek <jvanek@redhat.com>
Reproducers stabilization by removing check for not presented general Exception
or error.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: removed
legacy debug call
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: as in subject,
and same in others
* tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java:
* tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java:
* tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java:
* tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java:
* tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java:
* tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java:
* tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java:
* tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java:
* tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java:
* tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java:
* tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java:
* tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java:
* tests/reproducers/simple/encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ/testcases/EncodingTestTest.java:
* tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java:
2014-01-15 Jiri Vanek <jvanek@redhat.com>
Fixed memory leak detector to correctly handle pre_init_messages queue.
* plugin/icedteanp/IcedTeaPluginUtils.cc: implemented (reset_pre_init_messages)
method.
* plugin/icedteanp/IcedTeaPluginUtils.h: declared (reset_pre_init_messages).
* tests/cpp-unit-tests/MemoryLeakDetector.h: (reset_global_state) called
(reset_pre_init_messages).
2014-01-09 Andrew Azores <aazores@redhat.com>
* html-gen.sh: made more idiomatic and removed some bashisms
2014-01-06 Jiri Vanek <jvanek@redhat.com>
Copy all button in console controls sorts by date by default.
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: added
(sortCopyAll) checkbox. Logic from (copyPlainActionPerformed) and
(copyRichActionPerformed) extracted to new (fillClipBoard) which also
used correct call of ConsoleOutputPaneModel.importList based on
(sortCopyAll) value.
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java:
added abstraction for (importList) to allow sorting via parameter
2014-01-06 Jiri Vanek <jvanek@redhat.com>
Removed dependence on sun.misc.BASE64Decoder
* configure.ac: removed check for sun.misc.BASE64Decoder
* netx/net/sourceforge/jnlp/PluginBridge.java : sun.misc.BASE64Decoder
import replaced by net.sourceforge.jnlp.util.replacements.BASE64Decoder
* netx/net/sourceforge/jnlp/util/replacements/BASE64Decoder.java: new
file, in-tree copy from jdk7
* netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java: likewise
* tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64DecoderTest.java:
new tests for new files
* tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java:
(getAndInvokeMethod), (encoded) and (sSrc) made public final. Corrected
usage of (encoded2), added new test (testEmbededBase64EncoderAgainstEbededDecoder)
to test with internal decoder.
2014-01-02 Andrew Azores <aazores@redhat.com>
Added ChangeLog revision hyperlinking to html-gen.sh
* html-gen.sh: ChangeLog dates made hyperlinks to corresponding commits
2013-12-27 Andrew Azores <aazores@redhat.com>
Resolve deadlock issue in JNLPClassLoader. See
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025546.html
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClassLock)
removed. (available, jarIndexes, classpaths, jarEntries, jarLocationSecurityMap)
fields wrapped in Collections.synchronized*() to provide atomic read/write.
Synchronized on while iterating over these collections. (loadClass) no longer
uses implicit JNLPClassLoader instance lock nor dedicated loadClassLock object.
2013-12-20 Jiri Vanek <jvanek@redhat.com>
Rewritten java console
* netx/net/sourceforge/jnlp/Launcher.java: fatal error from lunch can reach console
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: new console,
controls
* netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: data
manager of new console.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: removed old gui,
now using multiple 1-n instances of ConsoleOutputPane with theirs models.
(addMessage) now receive MessageWithHeader object instead body and header.
* netx/net/sourceforge/jnlp/util/logging/headers/Header.java: have not null
defaults
* netx/net/sourceforge/jnlp/util/logging/headers/ObservableMessagesProvider.java:
abstraction of datasource for new console
* tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java:
adapted.
2013-12-20 Jiri Vanek <jvanek@redhat.com>
fixed CacheLRUWrapperTest
* netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: (cacheDir) and
(cacheOrder) made package private for testing purposes.
* tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java:
True testing cache file is now prepared, tested, and removed.
the CacheLRUWrapper is using this testing repo.
2013-12-20 Jiri Vanek <jvanek@redhat.com>
finished removal of legacy xulrunner api
* acinclude.m4: (IT_CHECK_XULRUNNER_API_VERSION) removed
* configure.ac: likewise
2013-12-20 Jiri Vanek <jvanek@redhat.com>
singletons logic, logs and test cleanup/fixes
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java:
config singleton made properly synchronized via Holder pattern
(DeploymentConfigurationHolder).
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: same,
(JavaConsoleHolder). Console gui initialized on show, not on creation.
Removed look and feel. (addMessage) gui update adapted.
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java: made private,
singleton handled via LogConfigHolder.
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: mentioned
issue with (getConfiguration), removed obsoleted (MessageWithLevel),
(messageQue) retyped to <MessageWithHeader>, (consume) adapted.
(consumerThread) made global variable, ist start moved to (startConsumer)
which is called after initialisation of config singleton. Logs queing
moved to (log) of (MessageWithHeader) signature. (FileLogHolder) and
(SystemLogHolder) created for holder pattern synchronization.
* netx/net/sourceforge/jnlp/util/logging/headers/Header.java: constructor
and (getCaller) adaptation.
* netx/net/sourceforge/jnlp/util/logging/headers/PluginHeader.java: fixed
(toString) for preinit messages.
* tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java:
removed erroneous stdout.
* tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java:
is no longer throwing exceptions (was causing errors in junit) and synchronized.
2013-12-17 Jiri Vanek <jvanek@redhat.com>
JNLPRuntime.config changed to proper singleton.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added
field with getter rand setter to save loading exception.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (config) field is no
longer initialized in static block, but on demand in (getConfig).
(initialize) no longer load (config) nor exit on loading exception, but
warn in case that it have loading exception. (initialize) call to
KeyStores.setConfiguration is using (getConfig) instead (config).
(initialize) call to BrowserAwareProxySelector constructor likewise.
(getConfig) is initializing and loading (config), marking exception and sterr
it in case of debug on. Made synchronized.
* netx/net/sourceforge/jnlp/resources/Messages.properties: (RConfigurationError)
enhanced to fit.
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java: no longer use own
copy of (config) but using (JNLPRuntime.getConfig).
2013-12-15 Jiri Vanek <jvanek@redhat.com>
Console made aware of plugin messages
* NEWS : mentioned
* netx/net/sourceforge/jnlp/util/logging/FileLog.java: call to log adapted
to new Header.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: (logOutput) and
(logError) replaced by (addMessage). Added (createPluginReader) to process
plugin debug pipe
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java: (getConfig) do
config available untill JNLPRuntime config is proper singleton
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: (Level)
static methods converted to members and enhanced. (getHeader) and
(getCallerClass) moved to Headers.
* netx/net/sourceforge/jnlp/util/logging/headers/Header.java: Structure
to keep header as object instead of string.
* netx/net/sourceforge/jnlp/util/logging/headers/JavaMessage.java: Structure
to hold message and its header.
* netx/net/sourceforge/jnlp/util/logging/headers/MessageWithHeader.java:
Interface for JavaMessage and PluginMessage
* netx/net/sourceforge/jnlp/util/logging/headers/PluginHeader.java: extended
header to handle plugin's preinit and threads.
* netx/net/sourceforge/jnlp/util/logging/headers/PluginMessage.java:
implementation of MessageWithHeader which parse from String from plugin
debug pipe.
* plugin/icedteanp/IcedTeaNPPlugin.cc: added debug pipe (debug_pipe_name),
synced via (debug_pipe_lock), controlled by (debug_to_appletviewer) and used
by method (plugin_send_message_to_appletviewer_console).
* plugin/icedteanp/IcedTeaNPPlugin.h: (debug_pipe_name) and (jvvm_up) declared
extern. Utility methods (plugin_send_message_to_appletviewer_console) and
(flush_plugin_send_message_to_appletviewer_console) declared and impelmented
* plugin/icedteanp/IcedTeaPluginUtils.cc: print debug info enhanced for
debug pipe
* plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_MESSAGE) and (PLIGIN_ERROR)
now log to debug pipe if enabled.
* plugin/icedteanp/java/sun/applet/PluginMain.java: args reprinted, checked
third parameter debug pipe if should. Started debug_pipe reader if should
* tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java:
added tests for parsing the plugin message.
2013-12-13 Jiri Vanek <jvanek@redhat.com>
Made again compatible with JDK6.All JLists, JComboBoxs, and DefaultComboBoxModels
moved back to be not generics-like
* netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DesktopShortcutPanel.java
* netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java
* netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java
* netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
2013-12-13 Jiri Vanek <jvanek@redhat.com>
itw itself warning cleanup: fixed rawtypes and unchecks, added braces and Override
* netx/net/sourceforge/jnlp/JREDesc.java
* netx/net/sourceforge/jnlp/Launcher.java
* netx/net/sourceforge/jnlp/Node.java
* netx/net/sourceforge/jnlp/Parser.java
* netx/net/sourceforge/jnlp/PluginBridge.java
* netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java
* netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DesktopShortcutPanel.java
* netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java
* netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java
* netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java
* netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
* netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
* netx/net/sourceforge/jnlp/security/CertWarningPane.java
* netx/net/sourceforge/jnlp/security/CertsInfoPane.java
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java
* netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
* netx/net/sourceforge/jnlp/services/ServiceUtil.java
* netx/net/sourceforge/jnlp/splashscreen/impls/DefaultErrorSplashScreen2012.java
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/NatCubic.java
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/SplinesDefs.java
* netx/net/sourceforge/jnlp/util/Reflect.java
* netx/net/sourceforge/jnlp/util/ui/NonEditableTableModel.java
* netx/net/sourceforge/nanoxml/XMLElement.java
* plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
* tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java
2013-12-13 Jiri Vanek <jvanek@redhat.com>
unittests warning cleanup: fixed typechecks, rawtypes, redundant casts...
* tests/junit-runner/CommandLine.java
* tests/junit-runner/JunitLikeXmlOutputListener.java
* tests/junit-runner/LessVerboseTextListener.java
* tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java
* tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashUtilsTest.java
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashUtilsTest.java
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/DescriptionInfoItemTest.java
* tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
* tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java
* tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java
* tests/netx/unit/sun/applet/PluginAppletViewerTest.java
* tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java
* tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java
* tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java
* tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java
* tests/test-extensions/net/sourceforge/jnlp/awt/awtactions/KeyboardActions.java
* tests/test-extensions/net/sourceforge/jnlp/closinglisteners/RulesFolowingClosingListener.java
* netx/net/sourceforge/jnlp/util/ScreenFinder.java: centering of screen
fixed to work also in headless mode by returrning some defaults
2013-12-09 Jiri Vanek <jvanek@redhat.com>
* Messages.properties: added "It will be granted unrestricted access to your computer."
to (SSigUnverified) (SSigVerified) (SSignatureError) messages.
2013-12-05 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties: add units to
(TIFPCacheSize)
2013-12-03 Andrew Azores <aazores@redhat.com>
Tests for PR1592.
* tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java:
new tests for per-JAR applet security
* tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp:
same
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html:
same
* tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java:
same
2013-12-03 Andrew Azores <aazores@redhat.com>
Fix/new feature for PR1592. Each JAR in partially signed applets is
assigned its own security level, rather than forcing the entire applet to
run sandboxed.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
(initializeResources)
each JAR in partially signed applets is assigned its own security
descriptor.
(signing) changed to three-valued enum. (checkNotAllSignedWithUser) new
method
* netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: (isJarSigned) new
method
2013-11-29 Jiri Vanek <jvanek@redhat.com>
Better validation of crytical dirs with proper message on startup
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: small
refactoring to match the new directory validator pattern.
* netx/net/sourceforge/jnlp/config/DirectoryValidator.java: new class to verify
if directory have necessary permissions (like creating subdirectories,
read and write files created in).
* netx/net/sourceforge/jnlp/resources/Messages.properties: patterns for
validation results
* netx/net/sourceforge/jnlp/runtime/Boot.java: headless determination moved
as up as possible in (main)
* tests/netx/unit/net/sourceforge/jnlp/config/DeploymentConfigurationTest.java:
Few test testing what DirtectoryValidator should validate.
2013-11-29 Jiri Vanek <jvanek@redhat.com>
Pipes moved into XDG_RUNTIME_DIR
* plugin/icedteanp/IcedTeaNPPlugin.cc: (initialize_data_directory) logic
responsible for tmp dir path moved into (getTmpPath) and (data_directory)
initialized from (getRuntimePath) rather.
* plugin/icedteanp/IcedTeaPluginUtils.cc: (getTmpPath) new function,
provides path to tmp dir. (getRuntimePath) new function resolving
XDG_RUNTIME_DIR value, returning (getTmpPath) as fallback.
* plugin/icedteanp/IcedTeaPluginUtils.h: declared new two methods.
2013-11-29 Jiri Vanek <jvanek@redhat.com>
Enabled file logging in plugin, user enabled to choose logs dir.
* netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java: added
text-field to show/edit logs' destination. Added reset to default button.
* netx/net/sourceforge/jnlp/resources/Messages.propertie: added proper
keys for new controls (CPFilesLogsDestDir) and (CPFilesLogsDestDirResert).
(DPEnableLogging) changed to "Enable debugging", as it is better.
* netx/net/sourceforge/jnlp/util/logging/FileLog.java: Filename of logs
changed to be human readable and to distinguish between c/java
* plugin/icedteanp/IcedTeaNPPlugin.cc: made aware of console (plugin_debug_to_console)
added stream to log into file (plugin_file_log) and holder of name (plugin_file_log_name)
Added various new lines to end of erorr/debug messages. Stream flushed,
not closed on plugin shutdown.
* plugin/icedteanp/IcedTeaNPPlugin.h: extern above three fields.
* plugin/icedteanp/IcedTeaParseProperties.cc: added functionality to provide
set or default log dir (get_log_dir), added (is_java_console_enabled)
to determine logging to console
* plugin/icedteanp/IcedTeaParseProperties.h: used glib.h, declared above functions
* plugin/icedteanp/IcedTeaPluginUtils.cc: added (initFileLog) function to open
correctly named, in proper palce and with correct permissions file for logging
(generateLogFileName) generate human readable file name, as java do.
(printDebugStatus) to debug status of logging
* plugin/icedteanp/IcedTeaPluginUtils.h: headers generated once, and reused
declared above functions.
* plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java:
commented out useless "woken" debug message
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: made plugin_debug_to_console
aware.
2013-11-27 Andrew Azores <aazores@redhat.com>
Made JNLPClassLoaderDeadlock reproducer more reliable
* tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_1.java:
Removed "AutoOkClosingListener" magic string
* tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_2.java:
same
* tests/reproducers/custom/JNLPClassLoaderDeadlock/testcases/JNLPClassLoaderDeadlockTest.java:
Changed AutoOkClosingListener to RulesFolowingClosingListener
2013-11-26 Jiri Vanek <jvanek@redhat.com>
Reverted "fix to ManifestedJar1Test cases", better manifestedjar tests,
added srtict test
* netx/net/sourceforge/jnlp/Parser.java: added indentation, fixes
condition in strict base check
* netx/net/sourceforge/jnlp/ResourcesDesc.java: revertedt recently added throw
* tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java:
(manifestedJar1main2mainNoAppDesc) adapted and
(manifestedJar1main2mainNoAppDescStrict) added
2013-11-26 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getManifestAttribute)
added check for null manifest to prevent npe.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
added test for npe from getManifestAttribute
* tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java:
(createJarWithContents) enhanced to be able to create jar without manifest.
2013-11-25 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/JNLPFile.java: (TITLE_NOT_FOUND) new constant
holding the no title found string to be reused. (getTitleFromManifest)
Now using that constant.
* netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: adding window
erro message moved to be debug only.
* ests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java:
Added (clean) mechanism to filter out TITLE_NOT_FOUND
* tests/reproducers/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java:
* tests/reproducers/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java:
* tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java:
* tests/reproducers/simple/AllStackTraces/testcases/AllStackTracesTest.java
* tests/reproducers/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java
* tests/reproducers/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java
* tests/reproducers/simple/ReadProperties/testcases/ReadPropertiesTest.java
* tests/reproducers/simple/RedirectStreams/testcases/RedirectStreamsTest.java
* tests/reproducers/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java
* tests/reproducers/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java
* tests/reproducers/simple/simpletest2/testcases/SimpleTest2Test.java
Removed checks for emty outputs
2013-11-25 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/ResourcesDesc.java: (getMainJAR) throw an
RuntimeException when more then one main jar is specified. Preventing
app to start.
* tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java:
(manifestedJar1main2mainNoAppDesc), (manifestedJar1nothing2nothingAppDesc)
fixed and adapted to change.
2013-11-22 Jiri Vanek <jvanek@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java: (init)
enable logging to streams if disabled.
2013-11-13 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: add
parameterized type information to several return types and local
variables. Refactor for-loops and Enumeration iterations into
for-each-loops.
2013-11-13 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: centers
on-screen before appearing
2013-11-13 Jiri Vanek <jvanek@redhat.com>
Added test-extension to silence stdout/err of itw when run from junit
* tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: now extends NoStdOutErrTest
* tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: same
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: same
* tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java:
new class with (disableStds) BeforeClass method and (restoreStds) AfterClass
method which are responsible for silence all itw messages from extending test.
2013-11-13 Jiri Vanek <jvanek@redhat.com>
Enabled access to manifests' attributes from JNLPFile class
Implemented http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name
* netx/net/sourceforge/jnlp/JNLPFile.java: Added (manifestsAttributes) field.
Added (ManifestsAttributes) inner class, to encapsulate access to attributes.
(getTitle) can handle manifests too.
* netx/net/sourceforge/jnlp/PluginBridge.java: is following app_name recommendations.
* netx/net/sourceforge/jnlp/ResourcesDesc.java: (getMainJAR) made more granular
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (init) inject itself
to file's ManifestsAttributes. (checkForAttributeInJars) renamed field
mainClassInThisJar to attributeInThisJar. Added getter for mainClass.
* netx/net/sourceforge/jnlp/security/CertWarningPane.java: bracketing cleanup.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: new test to
check new functionalites
* tests/netx/unit/net/sourceforge/jnlp/runtime/ResourcesDescTest.java: same
* tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java:
can set info
* NEWS: mentioned first u45 attribute
2013-11-10 Jiri Vanek <jvanek@redhat.com>
Fixed lock in awt threads. JavaConsole window is now disposed instead of hidden.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: (lastSize) new
global variable to remember last size of window.(contentPanel) moved from
local to global scope. (initializeWindow) extracted from (initialize), is
handling creation and filling of window. (showConsole) is now initializing
window, and (hideConsole) is disposing it. Added override annotations and
removed duplicate code.
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: messageQueConsumer
thread is now named, and its wait, have timeout.
2013-11-10 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
removed suspicious return when (searchForMain) had null launchDesc
2013-11-07 Andrew Azores <aazores@redhat.com>
Reproducer test cleanup. Replaced ServerAccess.ProcessResult in favour of
ProcessResult, and junit.framework.Assert in favour of org.junit.Assert.
Other notable changes below.
* tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java:
(removeXdgValues, setXdgValues) list 'rr' uses parameterized type.
(getContentOfDirectory) list 'result' uses parameterized type
* tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java:
(ProcessResult) inner class removed. (getBrowserParams) list 'l' uses
parameterized type
* tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java:
(getChangedLocalesForSubproces) list 'rr' uses parameterized type
* tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java:
same
* tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java:
constructor for (String, List<String>, String) lists 'urledArgs' and
'otherArgs' use parameterized type. (stdoutl, stderrl) use parameterized
type.
* tests/test-extensions/net/sourceforge/jnlp/ContentReader.java:
(listeners) use parameterized type
2013-11-05 Jiri Vanek <jvanek@redhat.com>
Java console resurrected and connected to new logging.
* NEWS: mentioned console for plugin and javaws
* Changelog: removed one wrong tab
* netx/net/sourceforge/jnlp/config/Defaults.java: added
DeploymentConfiguration.CONSOLE_SHOW_PLUGIN,
and DeploymentConfiguration.CONSOLE_SHOW_JAVAWS.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:
added and javadoc-ed CONSOLE_SHOW_PLUGIN,CONSOLE_SHOW_JAVAWS, DISABLE,
SHOW, HIDE, KEY_CONSOLE_STARTUP_MODE.
* netx/net/sourceforge/jnlp/resources/Messages.properties: localized console
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java : removed legacy STD*_FILE
* netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: Added button
to show console on demand. Added (getShowButton) method to share code with
* netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java:
Added button to show console on demand and explaining line.
* netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: moved from
plugin, and reworked. Especially get rid of perpetual loading of file.
Made singleton.
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java: added (isLogToConsole)
returning (JavaConsole.isEnabled) status.
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: added (Level.isError)
and (Level.isOutput) methods to determine original channel, and can log to console.
* plugin/icedteanp/java/sun/applet/JavaConsole.java: moved to netx
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java:
(streamhandler) made private with setter
* plugin/icedteanp/java/sun/applet/PluginMain.java : removed legacy STD*_FILE,
added set of classloaders information provider to console. (handlePluginMessage)
show and hide of console is checking it's status. (showConsole) and (hideConsole)
moved to JavaConsole.
2013-11-05 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java:
(addPermission) avoid NPE in JNLPClassLoader#getPermissions with debug
enabled
2013-11-01 Jiri Vanek <jvanek@redhat.com>
Synced headers between PLUGIN_DEBUG, PLUGIN_ERROR and javaside
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: (getHeader)
added thread id and name to log header.
* plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_DEBUG) (PLUGIN_ERROR)
headers generation code moved to macro (CREATE_HEADER0). Both
headers now contains pthread_self and g_thread_self. Fixed indentation.
2013-11-01 Jiri Vanek <jvanek@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
added tests for custom attributes (getCustomAtributes), (getCustomAtributesEmpty) and test to ensure order during searching for
attributes in manifests (checkOrderWhenReadingAttributes).
* tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java:
can now handle multiple source jars, and set main jar (new constructors),
(jarFiles) and (jarDescs) redeclared to arrays.
2013-10-30 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/JARDesc.java: made immutable
(location)(version)(part)(lazy)(main)(nativeJar)(cacheable) made final
2013-10-29 Andrew Azores <aazores@redhat.com>
Fix PR1513, signed applets with external main-class support
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
(initializeResources) ask for user approval rather than throwing
LaunchException for signed applets with external main-class
2013-10-25 Jiri Vanek <jvanek@redhat.com>
Plugin debug can now be controlled from itw_settings, in same way java side.
For now ICEDTEAPLUGIN_DEBUG on the debug in same way as deployment.log
itw-settings property. Individual logging streams are controlled by
deployment.log.{headers,file,stdstreams,system} System and file are not yet
fully done (same as java side in this moment). Streams are true, all others
false by default.
* plugin/icedteanp/IcedTeaNPPlugin.cc: initialized variables new bool
variables (debug_initiated), (plugin_debug_headers), (plugin_debug_to_file),
(plugin_debug_to_system) as false and (plugin_debug_to_streams) as true.
* plugin/icedteanp/IcedTeaNPPlugin.h: above variables declared as extern
* plugin/icedteanp/IcedTeaParseProperties.cc: initialization of
(default_file_ITW_deploy_props_name) and (custom_jre_key) moved here from
IcedTeaNPPlugin.h. New method (read_bool_property) and its more concrete
shortcuts (is_debug_on) (is_debug_header_on) (is_logging_to_file)
(is_logging_to_stds) (is_logging_to_system) implemented to access properties.
* plugin/icedteanp/IcedTeaParseProperties.h: above methods declared.
* plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_{ERROR,DEBUG}) methods
adapted headers/debug/streams logic as described in title. Headers made more
informative (like java side)
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc:
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on) extended to
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_off).
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off) extended to
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_off), and new tests
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_on)
TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_on) (100x slower then
without headers)
2013-10-25 Jiri Vanek <jvanek@redhat.com>
all output messages redirected to PLUGIN_{DEBUG,ERROR} macros
* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: affected
* plugin/icedteanp/IcedTeaNPPlugin.cc: affected
* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: affected
* plugin/icedteanp/IcedTeaPluginUtils.cc: affected
* plugin/icedteanp/IcedTeaPluginUtils.h: affected
* plugin/icedteanp/IcedTeaRunnable.cc: affected
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: affected
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: added
(TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on)) and
(TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off)) which call new
(doDebugErrorRun) and are measuring refactoring impacts.
2013-10-25 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/util/logging/OutputController.java:
(getCallerClass) now gets out also from sun.applet.PluginDebug class.
2013-10-24 Andrew Azores <aazores@redhat.com>
Fix array index out of bounds due to malformed plugin message (PR539)
* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: (_getMember,
_getString) append "null" to result when call is unsuccessful
* tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html:
new test to ensure failed calls to getMember and getString on JSObject do
not produce malformed results
* tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js:
same
* tests/reproducers/simple/JSObjectWithoutToString/srcs/JSObjectWithoutToString.java:
same
* tests/reproducers/simple/JSObjectWithoutToString/testcases/JSObjectWithoutToStringTest.java:
same
2013-10-23 Jiri Vanek <jvanek@redhat.com>
C-part of plugin is now also trying to follow XDG
* plugin/icedteanp/IcedTeaParseProperties.cc: (user_properties_file) is
now using XDG cached dir or its default variant in case that old file do not
(should not!) exists
2013-10-22 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java
(resetLogConfig): New method.
* tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java
(setUp, tearDown): New method.
2013-10-22 Jiri Vanek <jvanek@redhat.com>
More synchronized error/debug methods
* plugin/icedteanp/IcedTeaNPPlugin.cc: all occurrences of PLUGIN_ERROR_TWO
and PLUGIN_ERROR_THREE replaced by PLUGIN_ERROR. PLUGIN_ERROR itself moved
to
* plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_ERROR) new fuction,
now uses ... arguments and printf with __VA_ARGS__ instead of g_printerr
(PLUGIN_DEBUG) now prints to stdout, instead of stderr which is used by
(PLUGIN_ERROR).
2013-10-21 Jiri Vanek <jvanek@redhat.com>
Logic to extract main class attribute generalized to common methods.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
(getMainClassName) is now calling (getManifestAttribute)
(getManifestAttribute) new method, extract named attribute from url
specified jar. Called by (checkForAttributeInJars)
(checkForMain) is now calling (checkForAttributeInJars). Also logic of
(checkForAttributeInJars) was taken from here.
(checkForAttributeInJars) new method, read specific attribute from
application jar(s) in specific order.
2013-10-20 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (isPluginDebug)
made private to prevent confusion.
* plugin/icedteanp/java/sun/applet/PluginDebug.java: (DEBUG) initialized
from JNLPRuntime.isDebug instead of incorrect JNLPRuntime.isPluginDebug.
2013-10-17 Andrew Azores <aazores@redhat.com>
Back out changeset 420d72e5cee7 due to breaking LiveConnect feature.
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-October/024919.html
* plugin/icedteanp/IcedTeaNPPlugin.cc: undo 420d72e5cee7
* plugin/icedteanp/IcedTeaPluginUtils.cc: undo 420d72e5cee7
* plugin/icedteanp/IcedTeaPluginUtils.h: undo 420d72e5cee7
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: undo 420d72e5cee7
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: undo 420d72e5cee7
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: undo 420d72e5cee7
2013-10-16 Andrew Azores <aazores@redhat.com>
Resolve deadlock issue when multiple applets are loaded simultaneously
(RH976833)
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClassLock)
private member for locking of loadClass method. (loadClass) synchronizes
using new lock rather than instance intrinsic lock to avoid RH976833
deadlock
* tests/reproducers/custom/JNLPClassLoaderDeadlock/testcases/JNLPClassLoaderDeadlockTest.java:
new test for multiple applet deadlock condition
* tests/reproducers/custom/JNLPClassLoaderDeadlock/resources/JNLPClassLoaderDeadlock.html:
same
* tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_1.java:
same
* tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_2.java:
same
* tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/Makefile: same
2013-10-11 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/SecurityDialog.java: (initDialog)
centerDialog called in init rather than on windowOpened event
2013-10-09 Omair Majid <oamjid@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java
(computeKey): New method.
(getFromBrowser, checkCache): Call computeKey.
2013-10-09 Omair Majid <omajid@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
(requestPluginProxyInfo): Accept a String instead of URI.
(convertUriSchemeForProxyQuery): Move to ...
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java
(convertUriSchemeForProxyQuery): Here.
(getFromBrowser): Call convertUriSchemeForProxyQuery.
* tests/netx/unit/sun/applet/PluginAppletViewerTest.java
(testConvertUriSchemeForProxyQuery),
(assertQueryForBrowserProxyUsesHttpFallback),
(assertQueryForBrowserProxyContainsNoDoubleSlashes),
(assertQueryForBrowserProxyDoesNotChangeQuery): Move to ...
* tests/netx/unit/sun/applet/PluginProxySelectorTest.java: Here.
2013-10-07 Andrew Azores <aazores@redhat.com>
DeploymentConfiguration properties reproducer fix
* tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java:
update test to reflect changed log directory
2013-10-03 Andrew Azores <aazores@redhat.com>
PR1204 patch regression fix
* netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java:
(getVersionedUrl) fix regression in previous PR1204 patch. Refactor
to not take Resource parameter, use instance's field instead.
(uriPartToString) new method
* tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java:
new tests for ResourceUrlCreator.getVersionedUrl
2013-10-03 Jacob Wisor <gitne@gmx.de>
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java:
Moved JButtons to members.
(addComponents): Modified to make use of new NonEditableTableModel.
Added ListSelectionListener to propertly handle enabling and disabling of
operational JButtons when selecting a resource from the cache table.
Moved inital populating of the cache table to CacheViewer's constructor
until after the CachePane has been instatiated.
Added a general purpose Comparator for all non-String columns in the table
model.
Added a TableCellRenderer with proper localized rendering of "Size" and
"Last Modified" columns as well as the content of "Name" and "Path"
columns.
(createButtonPanel): Moved delete operation into new method
invokeDeleteLater(), added mouse cursor busy indicator, and proper handling
of enabling and disabling of operational JButtons when pushing the delete
button.
Moved refresh operation when pushing the refresh button into new method
invokePopulateLater() and added proper handling of enabling and disabling
of operational JButtons while refreshing.
Replaced closing the cache viewer dialog via JDialog.dispose() when pushing
the delete button by a post of the WindowEvent.WINDOW_CLOSING event to
the CacheViewer dialog in order to effectively remove the newly introduced
KeyEventDispatcher.
(invokeDeleteLater): New method: Posts an event to the event queue deleting
the currently selected resource.
(invokePopulateLater): New method: Posts an event to the event queue
repopulating the cache table.
(populateTable):
Added mouse cursor busy indicator.
(generateData): Modified cache table's per row data model for proper
rendering and sorting to: DirectoryNode, File, String, String, Long, Date.
* netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java:
(CacheViewer): Added null parameter check.
Added a KeyEventDispatcher to enable closing the CacheViewer dialog on a
KeyEvent.VK_ESCAPE key event.
Replaced closing the cache viewer dialog via JDialog.dispose() by a post
of the WindowEvent.WINDOW_CLOSING event to the CacheViewer dialog in order
to effectively remove the newly introduced KeyEventDispatcher.
* netx/net/sourceforge/jnlp/util/ui/NonEditableTableModel.java:
Added a new table model that in effect is a
javax.swing.table.DefaultTableModel except for no cell being editable.
* netx/net/sourceforge/jnlp/util/ui/package-info.java:
Added new package for UI common and recurrung UI tasks with documentation
2013-10-01 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java
(BrowserAwareProxySelector): Split off browser-specific work into ..
(initialize): New method.
(initFromBrowserConfig): Delegate reading browser preferences to ..
(parseBrowserPreferences): New method.
(getFromBrowserConfiguration): Delegate to
JNLPProxySelector.getFromArguments.
* netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
(getFromConfiguration): Move logic into getFromArguments; delegate to it.
(getFromArguments): Renamed from getFromConfiguration. Handle optionally
using the http host/port for socket addresses.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
(initialize): Call BrowserAwareProxySelector.initialize.
* tests/netx/unit/net/sourceforge/jnlp/browser/BrowserAwareProxySelectorTest.java:
New file.
2013-10-01 Omair Majid <omajid@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java
(getFromBrowser): Move call to
PluginAppletViewer.requestPluginProxyInfo into new method.
(getProxyFromRemoteCallToBrowser): New method.
* tests/netx/unit/sun/applet/PluginProxySelectorTest.java: New file.
2013-09-26 Andrew Azores <aazores@redhat.com>
Fix for PR1204. Absolute paths in resource URLs are correctly handled when
appended to host URLs and URL query strings are not removed.
* netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java:
(getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored
construction of URL
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
(requestPluginProxyInfo) extracted proxy URI logic.
(processProxyUri) new method for finding proxy URIs, handles absolute
resource paths correctly
* tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java:
added tests for ResourceUrlCreator#getVersionedUrl
* tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for
PluginAppletViewer.processProxyUri
* tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html:
new reproducer checks that absolute paths and query strings in resource
URLs are properly handled, and caching still works
* tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp:
same
* tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java:
same
2013-09-25 Andrew Azores <aazores@redhat.com>
* Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for
"clean" goal
2013-09-25 Jiri Vanek <jvanek@redhat.com>
Added logging bottleneck
* netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err
and printStackTrace in favour of outputController.log methods. Same all below
* netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
* netx/net/sourceforge/jnlp/ExtensionDesc.java
* netx/net/sourceforge/jnlp/GuiLaunchHandler.java
* netx/net/sourceforge/jnlp/JNLPFile.java
* netx/net/sourceforge/jnlp/JNLPMatcher.java
* netx/net/sourceforge/jnlp/JNLPSplashScreen.java
* netx/net/sourceforge/jnlp/Launcher.java
* netx/net/sourceforge/jnlp/MalformedXMLParser.java
* netx/net/sourceforge/jnlp/NetxPanel.java
* netx/net/sourceforge/jnlp/Parser.java
* netx/net/sourceforge/jnlp/PluginBridge.java
* netx/net/sourceforge/jnlp/SecurityDesc.java
* netx/net/sourceforge/jnlp/StreamEater.java
* netx/net/sourceforge/jnlp/XmlParser.java
* netx/net/sourceforge/jnlp/about/HTMLPanel.java
* netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java
* netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java
* netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java
* netx/net/sourceforge/jnlp/cache/CacheDirectory.java
* netx/net/sourceforge/jnlp/cache/CacheEntry.java
* netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java
* netx/net/sourceforge/jnlp/cache/CacheUtil.java
* netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java
* netx/net/sourceforge/jnlp/cache/Resource.java
* netx/net/sourceforge/jnlp/cache/ResourceTracker.java
* netx/net/sourceforge/jnlp/config/Defaults.java
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java
* netx/net/sourceforge/jnlp/controlpanel/CommandLine.java
* netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java
* netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java
* netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java
* netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java
* netx/net/sourceforge/jnlp/resources/Messages.properties
* netx/net/sourceforge/jnlp/resources/Messages_cs.properties
* netx/net/sourceforge/jnlp/resources/Messages_de.properties
* netx/net/sourceforge/jnlp/resources/Messages_pl.properties
* netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java
* netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java
* netx/net/sourceforge/jnlp/runtime/AppletInstance.java
* netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
* netx/net/sourceforge/jnlp/runtime/Boot.java
* netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java
* netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
* netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java
* netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
* netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
* netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java
* netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java
* netx/net/sourceforge/jnlp/security/CertWarningPane.java
* netx/net/sourceforge/jnlp/security/CertificateUtils.java
* netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java
* netx/net/sourceforge/jnlp/security/KeyStores.java
* netx/net/sourceforge/jnlp/security/SecurityDialog.java
* netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java
* netx/net/sourceforge/jnlp/security/SecurityUtil.java
* netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java
* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java
* netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
* netx/net/sourceforge/jnlp/services/ServiceUtil.java
* netx/net/sourceforge/jnlp/services/XBasicService.java
* netx/net/sourceforge/jnlp/services/XPersistenceService.java
* netx/net/sourceforge/jnlp/services/XPrintService.java
* netx/net/sourceforge/jnlp/services/XSingleInstanceService.java
* netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java
* netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java
* netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java
* netx/net/sourceforge/jnlp/tools/CertInformation.java
* netx/net/sourceforge/jnlp/tools/JarCertVerifier.java
* netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java
* netx/net/sourceforge/jnlp/util/FileUtils.java
* netx/net/sourceforge/jnlp/util/HttpUtils.java
* netx/net/sourceforge/jnlp/util/ImageResources.java
* netx/net/sourceforge/jnlp/util/PropertiesFile.java
* netx/net/sourceforge/jnlp/util/Reflect.java
* netx/net/sourceforge/jnlp/util/StreamUtils.java
* netx/net/sourceforge/jnlp/util/TimedHashMap.java
* netx/net/sourceforge/jnlp/util/UrlUtils.java
* netx/net/sourceforge/jnlp/util/XDesktopEntry.java
* netx/net/sourceforge/nanoxml/XMLElement.java
* plugin/icedteanp/java/netscape/javascript/JSRunnable.java
* plugin/icedteanp/java/sun/applet/JavaConsole.java
* plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
* plugin/icedteanp/java/sun/applet/PluginDebug.java
* plugin/icedteanp/java/sun/applet/PluginException.java
* plugin/icedteanp/java/sun/applet/PluginMain.java
* plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java
* plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java
* plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java
* plugin/icedteanp/java/sun/applet/PluginStreamHandler.java
* tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java
* tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java
* tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java
* tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java
* tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java
* tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java
* netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from
AppletLog. Now have responsibility to log to custom file.
* netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log
* netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging
* netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams
* netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers
* netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log
* netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log
* tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests
* tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests
* tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests
* netx/net/sourceforge/jnlp/AppletLog.java: removed
* netx/net/sourceforge/jnlp/Log.java: rmeoved
2013-09-24 Omair Majid <omajid@redhat.com>
PR1474
* NEWS: Update with bug.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Document
KEY_PROXY_SAME.
* netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
(getFromConfiguration): Same proxy is not applicable to SOCKS. Always
include SOCKS proxy if available.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java
(testHttpFallsBackToManualSocksProxy): New method.
(testManualSameProxy): Remove test for socket protocol.
2013-09-23 Omair Majid <omajid@rehdat.com>
* netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java
(BrowserAwareProxySelector): Rename to...
(BrowserAwareProxySelector(DeploymentConfiguration)): New method.
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Clarify
possible values for KEY_PROXY_TYPE.
* netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
(JNLPProxySelector): Rename to...
(JNLPProxySelector(DeploymentConfiguration)): New method.
(parseConfiguration): Rename to...
(parseConfiguration(DeploymentConfiguration)): New method.
(inBypassList): Get host from URI instead of manual hacks.
(getProxiesFromPacResult): Clarify return value.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
(initialize): Adjust for new BrowserAwareProxySelector constructor.
* plugin/icedteanp/java/sun/applet/PluginMain.java
(init): Adjust for new PluginProxySelector constructor.
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java
(PluginProxySelector): New constructor.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java:
New file.
2013-09-20 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/InformationDesc.java
(InformationDesc): Remove JNLPFile argument.
(getJNLPFile): Remove.
* netx/net/sourceforge/jnlp/JNLPFile.java
(getInformation): Adjust to new InformationDesc constructor.
* netx/net/sourceforge/jnlp/Parser.java
(getInformation): Likewise.
* tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java: New file.
2013-09-19 Jana Fabrikova <jfabriko@redhat.com>
Added text only reports from reproducers and unit tests run
* tests/report-styles/textreport.xls:
style for generating summary output in summary_reproducers.txt
and summary_unit.txt
* Makefile.am:
added generating the text reports in run-netx-dist-tests goal
2013-09-18 Jiri Vanek <jvanek@redhat.com>
Removed java 1.3 comaptible (redundant) code from ParseException
* netx/net/sourceforge/jnlp/ParseException.java: (ParseException)
modified to support super call only, (getCause) and both (printStackTrace)
removed
2013-09-16 Andrew Azores <aazores@redhat.com>
Fix ResourcesTest reproducer.
* tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java:
fixed formatting, removed commented lines.
(testBrowser): assertion that ~/.mozilla/plugins directory exists removed.
Renamed (userPluginDir, defaultPluginDir, userPlugins, defaultPlugins)
2013-09-16 Omair Majid <omajid@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java
(toList): Remove.
(checkForMainFileLeakTest): Use Arrays.asList.
* tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java
(toList): Remove.
(testToRelativePaths): Use Arrays.asList.
2013-09-16 Jiri Vanek <jvanek@redhat.com>
* Makefile.am: returned modified (EXTRA_DIST) variable. It is enriched for
netx-dist-tests-whitelist and NEW_LINE_IFS to enable reproducers tests
in dist tarball.
2013-09-16 Deepak Bhole <dbhole@redhat.com>
CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event
attached to applet
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary
heap allocations.
2013-09-13 Andrew Azores <aazores@redhat.com>
* tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java:
new utility class to handle retrieving localized messages for reproducers
* tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java:
refactored to use new MessageProperties class
* tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java:
tests for new MessageProperties class
2013-09-11 Jacob Wisor <gitne@gmx.de>
* netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java
Made temporary files location JFileChooser open at the currently specified location
Made temporary files location JFileChooser display a helpful title
Removed misleading "All Files" file filter from JFileChooser
* netx/net/sourceforge/jnlp/resources/Messages.properties
Added new message to resources for JFileChooser's choose button
* netx/net/sourceforge/jnlp/resources/Messages_cs.properties
Added new message to resources for JFileChooser's choose button
Fixed a few inconsistent messages in resource files
* netx/net/sourceforge/jnlp/resources/Messages_de.properties
Added new message to resources for JFileChooser's choose button
Fixed a few inconsistent messages in resource files
* netx/net/sourceforge/jnlp/resources/Messages_pl.properties
Added new message to resources for JFileChooser's choose button
Fixed a few inconsistent messages in resource files
2013-09-09 Omair Majid <omajid@redhat.com>
* netx/net/sourceforge/jnlp/JNLPFile.java
(getDownloadOptionsForJar): Rename to ...
(getDownloadOptions): New method. Look up jnlp.packEnabled and
jnlp.versionEnabled in any resources element.
* netx/net/sourceforge/jnlp/PluginBridge.java
(getDownloadOptionsForJar): Rename to ...
(getDownloadOptions): New method.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
(initializeResources): Invoke file.getDownloadResources.
(getDownloadOptionsForJar): Remove.
* tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java
(testDownloadOptionsAppliedEverywhere): New method.
(testDownloadOptionsFilteredOut): New method.
2013-09-04 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made
public for use in CacheReproducer
* tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest:
updated "could not clear cache" message and cache location. Other minor
cleanup
2013-09-04 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/security/SecurityDialogs.java:
(getIntegerResponseAsBoolean) extracted integer response casting/handling
logic into new method
* tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java:
new unit test for SecurityDialogs#getIntegerReponseAsBoolean()
2013-09-04 Adam Domurad <adomurad@redhat.com>
* netx/net/sourceforge/jnlp/Launcher.java:
Fix applet context being null during applet init & start.
2013-08-29 Omair Majid <omajid@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java
(testPropertyRestrictions): New method. Check that properties in
resources are are combined and filtered as appropriate.
2013-08-29 Omair Majid <omajid@redhat.com>
PR1058
* netx/net/sourceforge/jnlp/services/XFileOpenService.java
(openMultiFileDialog): Create a privileged proxy for each FileContents
instance and return an array of them.
2013-08-27 Adam Domurad <adomurad@redhat.com>
Do not wait for applet initialization when binding Java applets for NPAPI.
* plugin/icedteanp/IcedTeaNPPlugin.cc: Refactor to use
lazy-initialized javascript applet binding.
* plugin/icedteanp/IcedTeaPluginUtils.cc: Make use of new helper
class, introduce (stringPrintf), introduce NPObjectRef.
* plugin/icedteanp/IcedTeaPluginUtils.h: Same.
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Allow
IcedTeaScriptableJavaObject to be lazy-initialized, introduce
lazy-initializing (get_scriptable_applet_object).
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same.
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Adapt
test to new helper class.
2013-08-23 Adam Domurad <adomurad@redhat.com>
Spawn Java side during C++ unit tests. Many new tests.
* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
(hasPackage): Minor cleanup.
* plugin/icedteanp/IcedTeaNPPlugin.cc
(initialize_data_directory): New, extracted function.
(NP_Initialize): Calls extracted function.
* plugin/icedteanp/IcedTeaNPPlugin.h: Expose more functions for
testing purposes.
* tests/cpp-unit-tests/IcedTeaNPPluginTest.cc
(get_scriptable_package_object): Test binding of java package
(get_scriptable_java_object): Test binding of java object
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc
(NPIdentifierAsString): Update to create npidentifier properly.
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc
(getProperty): Test loading java.lang.Integer.MAX_VALUE from C++.
* tests/cpp-unit-tests/MemoryLeakDetector.h
(reset_global_state): Made public
* tests/cpp-unit-tests/checked_allocations.h
(SafeAllocator): New, typedef for allocator that avoids leak detection.
* tests/cpp-unit-tests/browser_mock.cc
(browsermock_setup_functions): Renamed to (browsermock_create_table).
(browsermock_create_table): Now returns browser table, additional
object release and identifier methods added.
* tests/cpp-unit-tests/browser_mock.h: Update for rename.
* tests/cpp-unit-tests/main.cc: Now clears state via
(reset_global_state)
* tests/cpp-unit-tests/IcedTeaJavaRequestProcessorTest.cc: New,
contains unit tests that cover all of JavaRequestProcessor's methods.
* tests/cpp-unit-tests/browser_mock_npidentifier.cc: Allocation-safe
npidentifier mocking, adheres to NPAPI spec.
* tests/cpp-unit-tests/browser_mock_npidentifier.h: Same.
2013-08-23 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaNPPlugin.cc: Refactor plugin data creation.
* plugin/icedteanp/IcedTeaNPPlugin.h: Same.
2013-08-19 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Evaluate
javascript when it shows up in a 'showDocument' call.
* plugin/icedteanp/java/sun/applet/PluginMain.java: Install arbitrary
'javascript:' protocol handler.
* tests/rproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html:
Tests if javascript is run from a test applet using showDocument.
* tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js:
Same.
* tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java:
Same.
* tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java:
Same.
2013-08-15 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/ParserSettings.java: (globalParserSettings)
static ParserSettings instance to store settings.
(setGlobalParserSettingsFromArgs) Determine, store, and return
globalParserSettings. (getGlobalParserSettings) return stored
ParserSettings
* netx/net/sourceforge/jnlp/PluginBridge.java: (extensionJars) stores list
of JNLP extensions. (getResources) returns this list
* netx/net/sourceforge/jnlp/runtime/Boot.java: minor refactor to use
ParserSettings.setGlobalParserSettingsFromArgs()
* tests/netx/unit/net/sourceforge/jnlp/ParserSettingsTest.java: ensure
that ParserSettings.setGlobalParserSettingsFromArgs() works as intended
* tests/reproducers/custom/ExtensionJnlpsInApplet/testcases/ExtensionJnlpsInAppletTest.java:
tests browser launch of HTML file with embedded JNLP applet referencing
extension JNLP
* tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpHelper.jnlp:
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTest.html:
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTestApplet.jnlp:
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpHelper.java:
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpTestApplet.java:
same
* tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/Makefile: same
2013-08-13 Andrew Azores <aazores@redhat.com>
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: no longer
sends HTTP 400 BAD REQUEST messages
* test/test-extensions-tests/net/sourceforge/jnlp/TinyHttpdImplTest.java:
removed "bad request" test
2013-08-12 Andrew Azores <aazores@redhat.com>
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: refactored
* tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java:
TinyHttpdImpl constructor changed, reflecting this here
* tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java:
removed TinyHttpdImpl tests
* tests/test-extensions-tests/net/sourceforge/jnlp/TinyHttpdImplTest.java:
new unit tests for TinyHttpdImpl and moved old tests out of
ServerAccessTest
2013-08-01 Andrew Azores <aazores@redhat.com>
* .hgignore: ignore generated HTML files (from AboutDialog)
2013-07-30 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaPluginUtils.cc
(NPIdentifierAsString): Leak-free utf8fromidentifier wrapper.
* plugin/icedteanp/IcedTeaPluginUtils.h: Same.
* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Update calls
* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same.
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same.
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same.
* tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc
(NPIdentifierAsString): New, tests utility function
* tests/cpp-unit-tests/browser_mock.cc
(mock_utf8fromidentifier): New, mocks NPAPI function
2013-07-30 Jiri Vanek <jvanek@redhat.com>
* tests/reproducers/simple/simpletest1/resources/favicon.ico: new file
should be served by test server in reproducers run and so prevent FNF exception
* ChangeLog: fixed few entries below (added emty line between author and body)
2013-07-25 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/about/AboutDialog.java (AboutDialog, display):
removed "throws IOException"
* netx/net/sourceforge/jnlp/about/HTMLPanel.java (HTMLPanel): removed
"throws IOException" and changed try/catch to catch IOException rather
than Exception
* netx/net/sourceforge/jnlp/controlpanel/AboutPanel.java: removed
try/catch around AboutDialog.display() call
* netx/net/sourceforge/jnlp/runtime/Boot.java (main): same
* netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreens2012Commons.java:
same
2013-07-22 Andrew Azores <aazores@redhat.com>
* netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java:
(getProxiesWithoutCaching) added java.vm.name read permission to fix
Rhino parsing and PAC proxy configuration
2013-07-18 Jiri Vanek <jvanek@redhat.com>
IcedTea-Web is now following XDG .config and .cache specification(RH947647)
* tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java
new file, test if XDG specification and trasnfer to it are followed correctly,
* NEWS: mentioned new feature
* Makefile.am: (PUBLIC_KEYSTORE) repalced by (PUBLIC_KEYSTORE_STUB) which
is now holding only internal part of path.(exported-test-certs)
(netx-dist-tests-import-cert-to-public) (netx-dist-tests-remove-cert-from-public)
are now resolving XDG variable and setting real path of PUBLIC_KEYSTORE
by resolved value and (PUBLIC_KEYSTORE)
* netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: changed to be public
and recently_used strign extracted to (CACHE_INDEX_FILE_NAME) constant
* netx/net/sourceforge/jnlp/config/Defaults.java: is now resovling and
propagating XDG_CONFIG/CACHE_HOME specification. (USER_HOME) repalced by
(USER_CACHE_HOME) and (USER_CONFIG_HOME).
(move14AndOlderFilesTo15Structure) new method responsible for moving
of old data to new locations. (move14AndOlderFilesTo15StructureCatched)
the same but with catch block
* netx/net/sourceforge/jnlp/controlpanel/CachePane.java:
* tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java:
* tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java:
are now using (CACHE_INDEX_FILE_NAME)
* netx/net/sourceforge/jnlp/controlpanel/CommandLine.java: (main)
* netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (main)
* netx/net/sourceforge/jnlp/runtime/Boot.java: (main)
* plugin/icedteanp/java/sun/applet/PluginMain.java: (main)
are now calling DeploymentConfiguration.move14AndOlderFilesTo15StructureCatched
asap.
* netx/net/sourceforge/jnlp/util/FileUtils.java: various file manipulation
methods moved inside here from test-extensions - (saveFile) (getContentOfStream)
(loadFileAsString) - to avoid duplications
* tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: for puposes of
new test added constructor with string instead of URL
* tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: see FileUtils.java
2013-07-17 Jiri Vanek <jvanek@redhat.com>
About dialogue made accessible from plugin
* netx/net/sourceforge/jnlp/about/AboutDialog.java: (frame) re-declared
to be Dialogue instead of JFrame and allowed to be modal if necessary.
Caption internationalized.
* netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreens2012Commons.java:
Added listener for upper right caption to show AboutDialog
* netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java:
(drawBase) if enough space, adding about "button"
* netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java:
added about button
* tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java:
minor modifications related to this change
2013-07-17 Jiri Vanek <jvanek@redhat.com>
about dialogue now available from itw-settings
* netx/net/sourceforge/jnlp/controlpanel/AboutPanel.java:
added button to launch about dialogue
* netx/net/sourceforge/jnlp/resources/Messages.propertie: (CPAboutInfo)
Adapted to be more accurate to select-able JVM
2013-07-17 Jiri Vanek <jvanek@redhat.com>
Jacob Wisor <gitne@excite.co.jp>
added some missing de and pl strings
* netx/net/sourceforge/jnlp/resources/Messages.properties:
fixed about dialogue comment
* netx/net/sourceforge/jnlp/resources/Messages_cs.properties:
removed keystore comment
* netx/net/sourceforge/jnlp/resources/Messages_de.properties:
* netx/net/sourceforge/jnlp/resources/Messages_pl.properties:
added AboutDialogueTabAbout AboutDialogueTabAuthors
AboutDialogueTabChangelog AboutDialogueTabNews AboutDialogueTabGPLv2
localizations
2013-07-11 Andrew Azores <aazores@redhat.com>
* NEWS: added entry regarding new About Dialogue
* netx/net/sourceforge/jnlp/about/AboutDialog.java: fixed localization of
label on News tab
2013-07-11 Andrew Azores <aazores@redhat.com>
* Makefile.am (stamps/html-gen): moved plaintext-to-HTML logic into new
shell script
* html-gen.sh: contains plaintext-to-HTML logic previously found in
Makefile.am. Added a sed expression to cause ChangeLog file listing
entries to be underlined.
2013-07-06 Jiri Vanek <jvanek@redhat.com>
Andrew Azores <aazores@redhat.com>
New about dialogue
* Makefile.am (stamps/netx-html-gen): removed logic for extras.jar, added
new stamp to create HTML for AboutDialog
* netx/net/sourceforge/jnlp/about/AboutDialog.java: Moved out of extras into
netx and renamed from Main. New Swing layout and uses HTML files
generated in Makefile.
* netx/net/sourceforge/jnlp/about/HTMLPanel.java: Moved out of
extras into netx. Added ability to click hyperlinks.
* netx/net/sourceforge/jnlp/runtime/Boot.java
(main, getAboutFile, getJNLPFile, itwInfoMessage): changed way of launching
About dialog to using new static display method rather than JNLP launch.
Removed methods relating to JNLP launch. More informative and nicely
formatted -headless information.
* netx/net/sourceforge/jnlp/resources/Messages.properties
(BAboutITW, BFileInfoAuthors, BFileInfoCopying, BFileInfoNews): added new
messages for javaws -about -headless launch
* netx/net/sourceforge/jnlp/resources/about.html: moved out of extras
into netx. Added more content, changed formatting.
* netx/net/sourceforge/jnlp/resources/about.jnlp: removed, no longer needed
* netx/net/sourceforge/jnlp/resources/itw_logo.png: new image for About
dialog. Modified version of javaws_splash.png
* netx/net/sourceforge/jnlp/resources/jamIcon.jpg: moved out of extras
into netx
* extra/net/sourceforge/javaws/about/HTMLPanel.java: moved into netx
* extra/net/sourceforge/javaws/about/Main.java: same
* extra/net/sourceforge/javaws/about/resources/about.html: same
* extra/net/sourceforge/javaws/about/resources/jamIcon.jpg: same
* extra/net/sourceforge/javaws/about/resources/applications.html: removed
* extra/net/sourceforge/javaws/about/resources/notes.html: removed
2013-06-28 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
(handleMessage): Fix potential NPE on 'GetValue'
2013-06-25 Jiri Vanek <jvanek@redhat.com>
* acinclude.m4: (IT_CHECK_FOR_TAGSOUP) is now correctly setting
HAVE_TAGSOUP when it is not found
2013-06-24 Jiri Vanek <jvanek@redhat.com>
JNLP file is now re-downloading only if is local and have href
* /netx/net/sourceforge/jnlp/Launcher.java: (launch) api cleared
from (fromSource). (fromUrl) removed always re-downloading code and
replaced by conditional. (launchBackground), (toFile), (BgRunner)
removed.
* netx/net/sourceforge/jnlp/runtime/Boot.java: following new (launch)
* tests/reproducers/simple/GeneratedId/srcs/GeneratedId.java: just
arguments reprinting application
* tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java
various tests based on href/no href x local/remote jnlp files
* tests/reproducers/simple/GeneratedId/resources/GeneratedId.jnlp: base
simple jnlp with someId argument
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: reprinting
the get/head correctly and with echo
* NEWS: mentioned PR1473
2013-06-21 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Simplify
IcedTeaScriptableJavaObject
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same
2013-06-21 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc:
Move 'get_scriptable_java_package_object' and
'get_scriptable_java_object' into their correct respective classes.
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same.
* plugin/icedteanp/IcedTeaNPPlugin.cc: Update references.
* plugin/icedteanp/IcedTeaPluginUtils.cc: Same.
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Same.
2013-06-21 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc
(IcedTeaScriptablePluginObject::get_scriptable_java_package_object): Fix
memory leak due to allocated NPClass.
(IcedTeaScriptableJavaPackageObject::get_scriptable_java_object):
Same.
2013-06-21 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/IcedTeaPluginUtils.cc: Add global state clearing
utility functions.
* plugin/icedteanp/IcedTeaPluginUtils.h: Same.
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Test
scriptable object creation and destruction.
* tests/cpp-unit-tests/browser_mock.cc
(mock_createobject): New, mocks NPAPI 'createobject'.
* tests/cpp-unit-tests/MemoryLeakDetector.h: New, memory leak detection
utility class.
* tests/cpp-unit-tests/main.cc
(ReportTestFinish): Print which tests resulted in memory leaks.
2013-06-21 Jiri Vanek <jvanek@redhat.com>
Adam Domurad <adomurad@redhat.com>
Omair Majid <omajid@redhat.com>
Added tagsup (optional dependence) as sanitizer for (possibly) invalid xml files
* Makefile.am: (LAUNCHER_BOOTCLASSPATH) (PLUGIN_BOOTCLASSPATH) (NETX_CLASSPATH_ARG)
(PLUGIN_COVERAGE_BOOTCLASSPATH) enriched for TAGSOUP_JAR
* acinclude.m4: (IT_CHECK_FOR_TAGSOUP) new macro
* configure.ac: used this new macro
* tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java:
* netx/net/sourceforge/jnlp/JNLPCreator.java: (create)
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java:
* /netx/net/sourceforge/jnlp/JNLPFile.java: (JNLPFile) construcotrs
* netx/net/sourceforge/jnlp/PluginBridge.java
* netx/net/sourceforge/jnlp/Launcher.java: (main)
all adapted to take ParserSettings instead of individual parameters
* netx/net/sourceforge/jnlp/MalformedXMLParser.java: new file, bridge
between tagsoup and our parser
* netx/net/sourceforge/jnlp/XmlParser.java: new file, bridge to old parser
* netx/net/sourceforge/jnlp/Parser.java: refactored to be able both with
* netx/net/sourceforge/jnlp/ParserSettings.java: reworked to serve as
gatherer for various individual parser flags
* netx/net/sourceforge/jnlp/resources/Messages.propertie: (BOXml)
new key describing -xml switch
* tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java:
* tests/netx/unit/net/sourceforge/jnlp/ParserMalformedXml.java:
* tests/netx/unit/net/sourceforge/jnlp/ParserTest.java:
Tests adapted to newest state (both for included/excluded tagsoup) and
new (testTagNotClosedNoTagSoup) (testUnquotedAttributesNoTagSoup)
2013-06-20 Jiri Vanek <jvanek@redhat.com>
Removed out-of date support for jdk 1.5 and older
* netx/net/sourceforge/jnlp/runtime/Boot.java: removed memories to Boot13
* netx/net/sourceforge/jnlp/runtime/Boot13.java: removed
2013-06-20 Jiri Vanek <jvanek@redhat.com>
Made it work with OpenJDK build 25
* netx/net/sourceforge/jnlp/runtime/Boot.java: (main)
Application context created as soon as possible
* plugin/icedteanp/java/sun/applet/PluginMain.java:(main)
Application context created as soon as possible
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Do not consume
exception after setLookAndFeel.
2013-06-18 Andrew Azores <aazores@redhat.com>
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java:
extracted some lines out of run() into new method urlToFilePath()
* tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java:
unit tests added for new urlToFilePath()
2013-06-06 Jiri Vanek <jvanek@redhat.com>
Andrew Azores <aazores@redhat.com>
Handled semicolon in internal server
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java:
added stripHttpPathParams method to remove semicolon-delimited "tags"
from end of JAR URLs
* tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java:
added test case for new method in TinyHttpdImpl
* tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.html:
browser-launched applet test case for reproducer
* tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.jnlp:
JNLP test case for reproducer
* tests/reproducers/simple/StripHttpPathParams/srcs/StripHttpPathParams.java:
reproducer
* tests/reproducers/simple/StripHttpPathParams/testcases/StripHttpPathParamsTest.java:
Testcase to above reproducer
2013-06-06 Jiri Vanek <jvanek@redhat.com>
Made all tests running wit junit4.10 and higher
* tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
and (runMainAndExit) is now calling System.exit rather then system.exit
2013-06-06 Jiri Vanek <jvanek@redhat.com>
Silenced deployment.properties and zero size applet exceptions with tests
* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:
(findSystemConfigFile) and (loadProperties) now prints already cough exception
only in debug mode
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (paint)
now paints into 1 x 1 applet instead of 0 x 0 in case of 0 x 0 applet
* tests/reproducers/simple/AppletTest/resources/appletZeroH.html: new file
* tests/reproducers/simple/AppletTest/resources/appletZeroW.html: new file
* tests/reproducers/simple/AppletTest/resources/appletZeroWH.html: new file
- testing launchers with zero as width, height or both
* tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java:
added launchers and evaluations for three new htmls - (appletZeroWH)
(appletZeroW) (appletZeroH)
2013-06-06 Jiri Vanek <jvanek@redhat.com>
Jacob Wisor <gitne@excite.co.jp>
Enhanced manifest
* netx.manifest.in: added Implementation-URL, Implementation-Vendor,
Specification-Title, Specification-URL, Specification-Vendor and
Specification-Version entries
2013-06-05 Adam Domurad <adomurad@redhat.com>
Fix PR1465
* NEWS: Bug fix note
* netx/net/sourceforge/jnlp/util/UrlUtils.java
(isValidRFC2396Url): New, tests if valid URL by RFC2396 rules
(normalizeUrl): Don't normalize if valid by RFC2396
* tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java:
Adapt which URLs we expect to change when normalizing URLs
* tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java:
(testIsValidRFC2396Url): New, tests isValidRFC2396Url
(testNormalizeUrl): Add new test with valid RFC2396 URL
2013-06-04 Jiri Vanek <jvanek@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties:
more detailed hint for CCannotClearCache
2013-06-04 Adam Domurad <adomurad@redhat.com>
Remove unused files.
* plugin/icedteanp/IcedTeaRunnable.cc: Removed.
* plugin/icedteanp/IcedTeaRunnable.h: Removed.
2013-06-03 Adam Domurad <adomurad@redhat.com>
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
Handle resizing more robustly by not blocking worker thread
2013-06-03 Adam Domurad <adomurad@redhat.com>
* netx/net/sourceforge/jnlp/util/StreamUtils.java
(copyStream): New, copies input stream to output stream
* tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java:
New, tests lookup of native libraries from folders and jars.
* tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java:
New, contains utilities for testing open file descriptors, creating temporary
directories, and creating jars.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
Replace jar creation methods with ones from FileTestUtils.
2013-06-03 Adam Domurad <adomurad@redhat.com>
* netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java: New,
stores and searches for native library files that are loaded from jars.
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Move code
that handled native jar caching to NativeLibraryStorage.
2013-05-29 Adam Domurad <adomurad@redhat.com>
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
Moved & renamed inner MockedOneJarJNLPFile to top-level
DummyJNLPFileWithJar class.
* tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java:
Moved & renamed from JNLPClassLoaderTest.MockedOneJarJNLPFile.
2013-05-29 Adam Domurad <adomurad@redhat.com>
* netx/net/sourceforge/jnlp/resources/Messages.properties:
"A serious exception occurred" -> "An exception occurred"
2013-05-20 Jiri Vanek <jvanek@redhat.com>
Synchronized launchers to be from one source
* Makefile.am: (edit_launcher_script) is now accepting variables
(launcher.build/$(javaws)) no depends on launcher/launchers.in instead of
launcher/javaws.in and is filling the variables for javaws
(launcher.build/$(itweb_settings)) no depends on launcher/launchers.in instead of
launcher/itweb_settings.in and is filling the variables for itweb_settings
* launcher/itweb-settings.in: removed
* launcher/javaws.in: removed
* launcher/launchers.in: new file, substitution of removed (itweb-settings.in)
and javaws.in. Mostly based on javaws.in, just (CLASSNAME) and (PROGRAM_NAME)
and (BINARY_LOCATION) were made more general.
2013-05-20 Jiri Vanek <jvanek@redhat.com>
Fixed possible deadlock for applet->js->applet call
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
(REQUEST_TIMEOUT) new constant, 60s, to define timeout of applet->js call
(waitForRequestCompletion) new method waiting to request to be done with
timeout of REQUEST_TIMEOUT.
(javascriptToString) using the waitForRequestCompletion instead of plain
wait()
* tests/reproducers/simple/AppletJsAppletDeadlock/resources/AppletJsAppletDeadlock.html
and
* tests/reproducers/simple/AppletJsAppletDeadlock/srcs/AppletJsAppletDeadlock.java
reproducer
* tests/reproducers/simple/AppletJsAppletDeadlock/testcases/AppletJsAppletDeadlockTest.java
testcase
2013-05-17 Adam Domurad <adomurad@redhat.com>
Fix PR854: Resizing an applet several times causes 100% CPU load
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
(handleMessage): Replace buggy initialization wait.
2013-05-14 Jiri Vanek <jvanek@redhat.com>
Jacob Wisor <gitne@excite.co.jp>
* netx/net/sourceforge/jnlp/resources/Messages.properties: (CPJVMitwExec)
fixed invalid unicode character