├── .editorconfig
├── .gitattributes
├── .github
└── workflows
│ ├── build.yml
│ ├── codeql-analysis.yml
│ └── maven.yml
├── .gitignore
├── AUTHORS
├── CODE_OF_CONDUCTION.md
├── CONTRIBUTING.md
├── INSTALL
├── JAVA_STYLE_GUIDE.md
├── LICENCE_DETAILS.md
├── LICENSE
├── README.md
├── RELEASE.md
├── SECURITY.md
├── artifact-all-dependencies
└── pom.xml
├── artifact-no-dependencies
└── pom.xml
├── bisect-script.sh
├── clients
└── pom.xml
├── common
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── net
│ │ │ └── adoptopenjdk
│ │ │ └── icedteaweb
│ │ │ ├── Assert.java
│ │ │ ├── CollectionUtils.java
│ │ │ ├── IcedTeaWebConstants.java
│ │ │ ├── JavaSystemProperties.java
│ │ │ ├── JavaSystemPropertiesConstants.java
│ │ │ ├── LazyLoaded.java
│ │ │ ├── OutputUtils.java
│ │ │ ├── ProcessUtils.java
│ │ │ ├── StreamUtils.java
│ │ │ ├── StringUtils.java
│ │ │ ├── commandline
│ │ │ ├── CommandLineOptions.java
│ │ │ ├── CommandLineOptionsDefinition.java
│ │ │ ├── CommandLineOptionsParser.java
│ │ │ ├── NumberOfArguments.java
│ │ │ ├── ParsedCommandLineOption.java
│ │ │ └── UnevenParameterException.java
│ │ │ ├── http
│ │ │ ├── CloseableConnection.java
│ │ │ ├── CloseableHttpConnection.java
│ │ │ ├── ConnectionFactory.java
│ │ │ ├── HttpMethod.java
│ │ │ └── HttpUtils.java
│ │ │ ├── i18n
│ │ │ ├── SupportedLanguages.java
│ │ │ └── Translator.java
│ │ │ ├── icon
│ │ │ ├── IcoException.java
│ │ │ ├── IcoHeader.java
│ │ │ ├── IcoHeaderEntry.java
│ │ │ ├── IcoReader.java
│ │ │ ├── IcoReaderSpi.java
│ │ │ ├── IconConstants.java
│ │ │ └── Icons.java
│ │ │ ├── io
│ │ │ ├── FileUtils.java
│ │ │ └── IOUtils.java
│ │ │ ├── jdk89access
│ │ │ ├── JarIndexAccess.java
│ │ │ └── SunMiscLauncher.java
│ │ │ ├── jnlp
│ │ │ └── version
│ │ │ │ ├── JNLPVersionPatterns.java
│ │ │ │ ├── SimpleRange.java
│ │ │ │ ├── VersionId.java
│ │ │ │ ├── VersionIdComparator.java
│ │ │ │ ├── VersionModifier.java
│ │ │ │ ├── VersionRange.java
│ │ │ │ └── VersionString.java
│ │ │ ├── lockingfile
│ │ │ ├── LockableFile.java
│ │ │ ├── LockingReaderWriter.java
│ │ │ └── StorageIoException.java
│ │ │ ├── logging
│ │ │ ├── BaseLogger.java
│ │ │ ├── Logger.java
│ │ │ ├── LoggerFactory.java
│ │ │ └── SystemOutLoggerFactory.java
│ │ │ ├── os
│ │ │ └── OsUtil.java
│ │ │ ├── ui
│ │ │ └── swing
│ │ │ │ ├── ScreenFinder.java
│ │ │ │ ├── SwingUtils.java
│ │ │ │ └── dialogresults
│ │ │ │ ├── AccessWarningPaneComplexReturn.java
│ │ │ │ ├── BasicDialogValue.java
│ │ │ │ ├── DialogResult.java
│ │ │ │ ├── NamePassword.java
│ │ │ │ ├── Primitive.java
│ │ │ │ ├── Yes.java
│ │ │ │ ├── YesCancel.java
│ │ │ │ ├── YesCancelSkip.java
│ │ │ │ ├── YesNo.java
│ │ │ │ ├── YesNoCancel.java
│ │ │ │ ├── YesNoSandbox.java
│ │ │ │ └── YesNoSandboxLimited.java
│ │ │ └── validator
│ │ │ ├── DirectoryCheckResult.java
│ │ │ ├── DirectoryCheckResults.java
│ │ │ └── DirectoryValidator.java
│ └── resources
│ │ └── net
│ │ └── adoptopenjdk
│ │ └── icedteaweb
│ │ └── i18n
│ │ ├── Messages.properties
│ │ ├── Messages_cs.properties
│ │ ├── Messages_de.properties
│ │ ├── Messages_en.properties
│ │ ├── Messages_pl.properties
│ │ ├── Messages_ru.properties
│ │ └── Messages_tr.properties
│ └── test
│ ├── java
│ └── net
│ │ └── adoptopenjdk
│ │ └── icedteaweb
│ │ ├── StringUtilsTest.java
│ │ ├── commandline
│ │ └── CommandLineOptionsParserTest.java
│ │ ├── http
│ │ └── HttpUtilsTest.java
│ │ ├── i18n
│ │ ├── SupportedLanguagesTest.java
│ │ └── TranslatorTest.java
│ │ ├── io
│ │ └── FileUtilsTest.java
│ │ ├── jnlp
│ │ └── version
│ │ │ ├── JNLPVersionPatternsTest.java
│ │ │ ├── SimpleRangeTest.java
│ │ │ ├── VersionIdComparatorTest.java
│ │ │ ├── VersionIdTest.java
│ │ │ ├── VersionRangeTest.java
│ │ │ ├── VersionSeparator.java
│ │ │ └── VersionStringTest.java
│ │ └── logging
│ │ └── BaseLoggerTest.java
│ └── resources
│ └── net
│ └── adoptopenjdk
│ └── icedteaweb
│ └── i18n
│ ├── res1.properties
│ └── res2.properties
├── core
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── net
│ │ │ ├── adoptopenjdk
│ │ │ └── icedteaweb
│ │ │ │ ├── client
│ │ │ │ ├── BasicExceptionDialog.java
│ │ │ │ ├── GuiLaunchHandler.java
│ │ │ │ ├── certificateviewer
│ │ │ │ │ ├── CertificatePane.java
│ │ │ │ │ └── CertificateViewer.java
│ │ │ │ ├── commandline
│ │ │ │ │ ├── CommandLine.java
│ │ │ │ │ └── NonEditableTableModel.java
│ │ │ │ ├── console
│ │ │ │ │ ├── ConsoleOutputPane.java
│ │ │ │ │ ├── ConsoleOutputPaneModel.java
│ │ │ │ │ └── JavaConsole.java
│ │ │ │ ├── controlpanel
│ │ │ │ │ ├── AdvancedProxySettingsDialog.java
│ │ │ │ │ ├── AdvancedProxySettingsPane.java
│ │ │ │ │ ├── CacheAppViewer.java
│ │ │ │ │ ├── CacheFileInfo.java
│ │ │ │ │ ├── CacheIdInfo.java
│ │ │ │ │ ├── CachePane.java
│ │ │ │ │ ├── CacheTableModel.java
│ │ │ │ │ ├── CacheViewer.java
│ │ │ │ │ ├── ComboItem.java
│ │ │ │ │ ├── ControlPanel.java
│ │ │ │ │ ├── ControlPanelStyle.java
│ │ │ │ │ ├── DefaultControlPanelStyle.java
│ │ │ │ │ ├── DocumentAdapter.java
│ │ │ │ │ ├── NamedBorderPanel.java
│ │ │ │ │ ├── RememberableDialogueEditor.java
│ │ │ │ │ ├── UnsignedAppletActionTableModel.java
│ │ │ │ │ ├── UnsignedAppletsTrustingListPanel.java
│ │ │ │ │ ├── desktopintegrationeditor
│ │ │ │ │ │ ├── Blinker.java
│ │ │ │ │ │ ├── FreeDesktopIntegrationEditorFrame.java
│ │ │ │ │ │ ├── JListUtils.java
│ │ │ │ │ │ ├── Panels.java
│ │ │ │ │ │ └── PreviewSelectionJTextPane.java
│ │ │ │ │ └── panels
│ │ │ │ │ │ ├── AboutPanel.java
│ │ │ │ │ │ ├── AbstractUrlWhitelistPanel.java
│ │ │ │ │ │ ├── DebuggingPanel.java
│ │ │ │ │ │ ├── DesktopShortcutPanel.java
│ │ │ │ │ │ ├── JVMPanel.java
│ │ │ │ │ │ ├── NetworkSettingsPanel.java
│ │ │ │ │ │ ├── PolicyPanel.java
│ │ │ │ │ │ ├── SecuritySettingsPanel.java
│ │ │ │ │ │ ├── ServerWhitelistPanel.java
│ │ │ │ │ │ ├── TemporaryInternetFilesPanel.java
│ │ │ │ │ │ └── provider
│ │ │ │ │ │ ├── AboutPanelProvider.java
│ │ │ │ │ │ ├── CacheSettingsPanelProvider.java
│ │ │ │ │ │ ├── CertificatesSettingsPanelProvider.java
│ │ │ │ │ │ ├── ControlPanelProvider.java
│ │ │ │ │ │ ├── DebugSettingsPanelProvider.java
│ │ │ │ │ │ ├── DesktopSettingsPanelProvider.java
│ │ │ │ │ │ ├── JvmSettingsPanelProvider.java
│ │ │ │ │ │ ├── NetworkSettingsPanelProvider.java
│ │ │ │ │ │ ├── PolicySettingsPanelProvider.java
│ │ │ │ │ │ ├── SecuritySettingsPanelProvider.java
│ │ │ │ │ │ ├── ServerWhitelistPanelProvider.java
│ │ │ │ │ │ └── UnsignedAppletsTrustingListPanelProvider.java
│ │ │ │ ├── parts
│ │ │ │ │ ├── about
│ │ │ │ │ │ ├── AboutDialog.java
│ │ │ │ │ │ ├── HTMLPanel.java
│ │ │ │ │ │ └── InternalHTMLPanel.java
│ │ │ │ │ ├── browser
│ │ │ │ │ │ ├── DocumentChangedListener.java
│ │ │ │ │ │ ├── HtmlBrowserPanel.java
│ │ │ │ │ │ ├── LinkingBrowser.java
│ │ │ │ │ │ └── LinksPanel.java
│ │ │ │ │ ├── dialogs
│ │ │ │ │ │ ├── FileDialogFactory.java
│ │ │ │ │ │ └── security
│ │ │ │ │ │ │ ├── AccessWarningPane.java
│ │ │ │ │ │ │ ├── AppletWarningPane.java
│ │ │ │ │ │ │ ├── CertWarningPane.java
│ │ │ │ │ │ │ ├── CertsInfoPane.java
│ │ │ │ │ │ │ ├── InetSecurity511Panel.java
│ │ │ │ │ │ │ ├── MissingALACAttributePanel.java
│ │ │ │ │ │ │ ├── MissingPermissionsAttributePanel.java
│ │ │ │ │ │ │ ├── MoreInfoPane.java
│ │ │ │ │ │ │ ├── PasswordAuthenticationPane.java
│ │ │ │ │ │ │ ├── SecurityDialog.java
│ │ │ │ │ │ │ ├── SecurityDialogMessage.java
│ │ │ │ │ │ │ ├── SecurityDialogMessageHandler.java
│ │ │ │ │ │ │ ├── SecurityDialogPanel.java
│ │ │ │ │ │ │ ├── SecurityDialogs.java
│ │ │ │ │ │ │ ├── SetValueHandler.java
│ │ │ │ │ │ │ ├── SingleCertInfoPane.java
│ │ │ │ │ │ │ ├── TemporaryPermissions.java
│ │ │ │ │ │ │ ├── TemporaryPermissionsButton.java
│ │ │ │ │ │ │ ├── ViwableDialog.java
│ │ │ │ │ │ │ ├── appletextendedsecurity
│ │ │ │ │ │ │ ├── AppletSecurityLevel.java
│ │ │ │ │ │ │ ├── AppletStartupSecuritySettings.java
│ │ │ │ │ │ │ ├── ExtendedAppletSecurityHelp.java
│ │ │ │ │ │ │ ├── InvalidLineException.java
│ │ │ │ │ │ │ ├── UnsignedAppletActionEntry.java
│ │ │ │ │ │ │ ├── UnsignedAppletActionStorage.java
│ │ │ │ │ │ │ ├── UnsignedAppletTrustConfirmation.java
│ │ │ │ │ │ │ ├── UrlRegEx.java
│ │ │ │ │ │ │ └── impl
│ │ │ │ │ │ │ │ ├── UnsignedAppletActionStorageExtendedImpl.java
│ │ │ │ │ │ │ │ └── UnsignedAppletActionStorageImpl.java
│ │ │ │ │ │ │ ├── apptrustwarningpanel
│ │ │ │ │ │ │ ├── AppTrustWarningDialog.java
│ │ │ │ │ │ │ ├── AppTrustWarningPanel.java
│ │ │ │ │ │ │ ├── MatchingALACAttributePanel.java
│ │ │ │ │ │ │ ├── PartiallySignedAppTrustWarningPanel.java
│ │ │ │ │ │ │ └── UnsignedAppletTrustWarningPanel.java
│ │ │ │ │ │ │ └── remember
│ │ │ │ │ │ │ ├── AppletSecurityActions.java
│ │ │ │ │ │ │ ├── ExecuteAppletAction.java
│ │ │ │ │ │ │ ├── RememberActionProvider.java
│ │ │ │ │ │ │ ├── RememberDialog.java
│ │ │ │ │ │ │ ├── RememberPanel.java
│ │ │ │ │ │ │ ├── RememberPanelResult.java
│ │ │ │ │ │ │ ├── RememberableDialog.java
│ │ │ │ │ │ │ └── SavedRememberAction.java
│ │ │ │ │ ├── downloadindicator
│ │ │ │ │ │ ├── DefaultDownloadIndicator.java
│ │ │ │ │ │ ├── DownloadIndicator.java
│ │ │ │ │ │ └── DummyDownloadIndicator.java
│ │ │ │ │ └── splashscreen
│ │ │ │ │ │ ├── JNLPSplashScreen.java
│ │ │ │ │ │ ├── SplashPanel.java
│ │ │ │ │ │ ├── SplashUtils.java
│ │ │ │ │ │ ├── impls
│ │ │ │ │ │ ├── DefaultSplashScreen2012.java
│ │ │ │ │ │ ├── DefaultSplashScreens2012Commons.java
│ │ │ │ │ │ └── defaultsplashscreen2012
│ │ │ │ │ │ │ ├── BasePainter.java
│ │ │ │ │ │ │ ├── ControlCurve.java
│ │ │ │ │ │ │ ├── Cubic.java
│ │ │ │ │ │ │ ├── ErrorPainter.java
│ │ │ │ │ │ │ ├── MovingText.java
│ │ │ │ │ │ │ ├── NatCubic.java
│ │ │ │ │ │ │ ├── NatCubicClosed.java
│ │ │ │ │ │ │ ├── SplinesDefs.java
│ │ │ │ │ │ │ ├── TextOutlineRenderer.java
│ │ │ │ │ │ │ └── TextWithWaterLevel.java
│ │ │ │ │ │ └── parts
│ │ │ │ │ │ ├── BasicComponentSplashScreen.java
│ │ │ │ │ │ ├── DescriptionInfoItem.java
│ │ │ │ │ │ ├── InfoItem.java
│ │ │ │ │ │ ├── InformationElement.java
│ │ │ │ │ │ ├── JEditorPaneBasedExceptionDialog.java
│ │ │ │ │ │ └── extensions
│ │ │ │ │ │ ├── ChristmasExtension.java
│ │ │ │ │ │ ├── ExtensionManager.java
│ │ │ │ │ │ ├── NoExtension.java
│ │ │ │ │ │ └── SplashExtension.java
│ │ │ │ ├── policyeditor
│ │ │ │ │ ├── CustomPolicyViewer.java
│ │ │ │ │ ├── IndeterminateProgressDialog.java
│ │ │ │ │ ├── KeystoreInfo.java
│ │ │ │ │ ├── PermissionActions.java
│ │ │ │ │ ├── PermissionTarget.java
│ │ │ │ │ ├── PermissionType.java
│ │ │ │ │ ├── PolicyEditor.java
│ │ │ │ │ ├── PolicyEditorAboutDialog.java
│ │ │ │ │ ├── PolicyEditorController.java
│ │ │ │ │ ├── PolicyEditorPermissions.java
│ │ │ │ │ ├── PolicyEntry.java
│ │ │ │ │ ├── PolicyFileModel.java
│ │ │ │ │ └── PolicyIdentifier.java
│ │ │ │ └── util
│ │ │ │ │ └── UiLock.java
│ │ │ │ ├── config
│ │ │ │ ├── ConfigType.java
│ │ │ │ ├── FilesystemConfiguration.java
│ │ │ │ ├── Target.java
│ │ │ │ ├── ValidatorFactory.java
│ │ │ │ └── validators
│ │ │ │ │ ├── BooleanValidator.java
│ │ │ │ │ ├── ConfigurationValidator.java
│ │ │ │ │ ├── FilePathValidator.java
│ │ │ │ │ ├── MultipleStringValueValidator.java
│ │ │ │ │ ├── NotBlankValidator.java
│ │ │ │ │ ├── PortValidator.java
│ │ │ │ │ ├── RangedIntegerValidator.java
│ │ │ │ │ ├── RustCpValidator.java
│ │ │ │ │ ├── SecurityValueValidator.java
│ │ │ │ │ ├── StringValueValidator.java
│ │ │ │ │ ├── UrlValidator.java
│ │ │ │ │ ├── ValidatorUtils.java
│ │ │ │ │ └── ValueValidator.java
│ │ │ │ ├── extensionpoint
│ │ │ │ └── ExtensionPoint.java
│ │ │ │ ├── jnlp
│ │ │ │ └── element
│ │ │ │ │ ├── EntryPoint.java
│ │ │ │ │ ├── application
│ │ │ │ │ ├── AppletDesc.java
│ │ │ │ │ ├── ApplicationDesc.java
│ │ │ │ │ └── ApplicationType.java
│ │ │ │ │ ├── extension
│ │ │ │ │ ├── ComponentDesc.java
│ │ │ │ │ └── InstallerDesc.java
│ │ │ │ │ ├── information
│ │ │ │ │ ├── AssociationDesc.java
│ │ │ │ │ ├── DescriptionDesc.java
│ │ │ │ │ ├── DescriptionKind.java
│ │ │ │ │ ├── HomepageDesc.java
│ │ │ │ │ ├── IconDesc.java
│ │ │ │ │ ├── IconKind.java
│ │ │ │ │ ├── InformationDesc.java
│ │ │ │ │ ├── MenuDesc.java
│ │ │ │ │ ├── RelatedContentDesc.java
│ │ │ │ │ └── ShortcutDesc.java
│ │ │ │ │ ├── resource
│ │ │ │ │ ├── DownloadStrategy.java
│ │ │ │ │ ├── ExtensionDesc.java
│ │ │ │ │ ├── JARDesc.java
│ │ │ │ │ ├── JREDesc.java
│ │ │ │ │ ├── PackageDesc.java
│ │ │ │ │ ├── PropertyDesc.java
│ │ │ │ │ └── ResourcesDesc.java
│ │ │ │ │ ├── security
│ │ │ │ │ ├── AppletPermissionLevel.java
│ │ │ │ │ ├── ApplicationPermissionLevel.java
│ │ │ │ │ └── SecurityDesc.java
│ │ │ │ │ └── update
│ │ │ │ │ ├── UpdateCheck.java
│ │ │ │ │ ├── UpdateDesc.java
│ │ │ │ │ └── UpdatePolicy.java
│ │ │ │ ├── jvm
│ │ │ │ └── JvmUtils.java
│ │ │ │ ├── launch
│ │ │ │ └── JvmLauncher.java
│ │ │ │ ├── manifest
│ │ │ │ ├── ManifestAttributes.java
│ │ │ │ ├── ManifestAttributesChecker.java
│ │ │ │ ├── ManifestAttributesReader.java
│ │ │ │ └── ManifestBoolean.java
│ │ │ │ ├── proxy
│ │ │ │ └── ie
│ │ │ │ │ ├── RegistryQuery.java
│ │ │ │ │ ├── RegistryValue.java
│ │ │ │ │ ├── RegistryValueType.java
│ │ │ │ │ ├── WindowsProxy.java
│ │ │ │ │ └── WindowsProxyConstants.java
│ │ │ │ └── resources
│ │ │ │ ├── DaemonThreadPoolProvider.java
│ │ │ │ ├── IllegalResourceDescriptorException.java
│ │ │ │ ├── JnlpDownloadProtocolConstants.java
│ │ │ │ ├── PrioritizedParallelExecutor.java
│ │ │ │ ├── Resource.java
│ │ │ │ ├── ResourceHandler.java
│ │ │ │ ├── ResourceStatus.java
│ │ │ │ ├── ResourceTracker.java
│ │ │ │ ├── UpdatePolicy.java
│ │ │ │ ├── cache
│ │ │ │ ├── Cache.java
│ │ │ │ ├── CacheAction.java
│ │ │ │ ├── CacheFileInfoImpl.java
│ │ │ │ ├── CacheIdInfoImpl.java
│ │ │ │ ├── CacheImpl.java
│ │ │ │ ├── CacheIndex.java
│ │ │ │ ├── CacheIndexEntries.java
│ │ │ │ ├── CacheIndexEntry.java
│ │ │ │ ├── CacheIndexFile.java
│ │ │ │ ├── CacheIndexHolder.java
│ │ │ │ ├── CacheKey.java
│ │ │ │ ├── CachedFile.java
│ │ │ │ ├── DownloadInfo.java
│ │ │ │ ├── OldCacheFileReader.java
│ │ │ │ └── ResourceInfo.java
│ │ │ │ ├── downloader
│ │ │ │ ├── BaseResourceDownloader.java
│ │ │ │ ├── CountingInputStream.java
│ │ │ │ ├── DownloadDetails.java
│ │ │ │ ├── ExactVersionedResourceDownloader.java
│ │ │ │ ├── GzipUnpacker.java
│ │ │ │ ├── JarDiffUnpacker.java
│ │ │ │ ├── NotUnpacker.java
│ │ │ │ ├── NotifyingInputStream.java
│ │ │ │ ├── PackGzipUnpacker.java
│ │ │ │ ├── RangeVersionedResourceDownloader.java
│ │ │ │ ├── ResourceDownloader.java
│ │ │ │ ├── StreamUnpacker.java
│ │ │ │ └── UnversionedResourceDownloader.java
│ │ │ │ ├── initializer
│ │ │ │ ├── BaseResourceInitializer.java
│ │ │ │ ├── ExactVersionedResourceInitializer.java
│ │ │ │ ├── InitializationResult.java
│ │ │ │ ├── OfflineResourceInitializer.java
│ │ │ │ ├── RangeVersionedResourceInitializer.java
│ │ │ │ ├── ResourceInitializer.java
│ │ │ │ ├── ResourceUrlCreator.java
│ │ │ │ ├── UnversionedResourceInitializer.java
│ │ │ │ ├── UrlProber.java
│ │ │ │ └── UrlRequestResult.java
│ │ │ │ └── jardiff
│ │ │ │ └── JarDiffMerger.java
│ │ │ └── sourceforge
│ │ │ └── jnlp
│ │ │ ├── AbstractLaunchHandler.java
│ │ │ ├── DefaultLaunchHandler.java
│ │ │ ├── DownloadOptions.java
│ │ │ ├── ItwJvmLauncher.java
│ │ │ ├── JNLPFile.java
│ │ │ ├── JNLPFileFactory.java
│ │ │ ├── JNLPMatcher.java
│ │ │ ├── JNLPMatcherException.java
│ │ │ ├── LaunchException.java
│ │ │ ├── LaunchHandler.java
│ │ │ ├── Launcher.java
│ │ │ ├── MissingInformationException.java
│ │ │ ├── MissingTitleException.java
│ │ │ ├── MissingVendorException.java
│ │ │ ├── NullJnlpFileException.java
│ │ │ ├── Parser.java
│ │ │ ├── ParserSettings.java
│ │ │ ├── PluginParameterException.java
│ │ │ ├── PluginParameters.java
│ │ │ ├── RequiredElementException.java
│ │ │ ├── cache
│ │ │ ├── CacheUtil.java
│ │ │ └── NativeLibraryStorage.java
│ │ │ ├── config
│ │ │ ├── ConfigurationConstants.java
│ │ │ ├── Defaults.java
│ │ │ ├── DefaultsProvider.java
│ │ │ ├── DeploymentConfiguration.java
│ │ │ ├── DirectoryValidator.java
│ │ │ ├── InfrastructureFileDescriptor.java
│ │ │ ├── PathsAndFiles.java
│ │ │ └── Setting.java
│ │ │ ├── package-info.java
│ │ │ ├── proxy
│ │ │ ├── JNLPProxySelector.java
│ │ │ ├── ProxyConstants.java
│ │ │ ├── ProxyType.java
│ │ │ ├── browser
│ │ │ │ ├── FirefoxConstants.java
│ │ │ │ ├── FirefoxPreferencesFinder.java
│ │ │ │ ├── FirefoxPreferencesParser.java
│ │ │ │ ├── FirefoxProxySelector.java
│ │ │ │ ├── FirefoxProxyType.java
│ │ │ │ └── PreferencesParser.java
│ │ │ └── pac
│ │ │ │ ├── FakePacEvaluator.java
│ │ │ │ ├── PacConstants.java
│ │ │ │ ├── PacEvaluator.java
│ │ │ │ ├── PacEvaluatorFactory.java
│ │ │ │ ├── PacUtils.java
│ │ │ │ └── RhinoBasedPacEvaluator.java
│ │ │ ├── runtime
│ │ │ ├── AppContextFactory.java
│ │ │ ├── AppletAudioClip.java
│ │ │ ├── AppletEnvironment.java
│ │ │ ├── AppletInstance.java
│ │ │ ├── ApplicationEvent.java
│ │ │ ├── ApplicationInstance.java
│ │ │ ├── ApplicationListener.java
│ │ │ ├── Boot.java
│ │ │ ├── CachedJarFileCallback.java
│ │ │ ├── EnvironmentPrinter.java
│ │ │ ├── ForkingStrategy.java
│ │ │ ├── ItwMenuAndDesktopIntegration.java
│ │ │ ├── JNLPPolicy.java
│ │ │ ├── JNLPRuntime.java
│ │ │ ├── JNLPSecurityManager.java
│ │ │ ├── MenuAndDesktopIntegration.java
│ │ │ ├── UpdateOptions.java
│ │ │ ├── UpdatePolicyDialog.java
│ │ │ ├── classloader
│ │ │ │ ├── CodeBaseClassLoader.java
│ │ │ │ ├── DelegatingClassLoader.java
│ │ │ │ ├── JNLPClassLoader.java
│ │ │ │ ├── LocateJnlpClassLoader.java
│ │ │ │ ├── ManageJnlpResources.java
│ │ │ │ ├── SecurityDelegate.java
│ │ │ │ └── SecurityDelegateImpl.java
│ │ │ └── package-info.java
│ │ │ ├── security
│ │ │ ├── AccessType.java
│ │ │ ├── AppVerifier.java
│ │ │ ├── CertVerifier.java
│ │ │ ├── CertificateUtils.java
│ │ │ ├── HttpsCertVerifier.java
│ │ │ ├── JNLPAppVerifier.java
│ │ │ ├── JNLPAuthenticator.java
│ │ │ ├── KeyStores.java
│ │ │ ├── KeystorePasswordAttempter.java
│ │ │ ├── PluginAppVerifier.java
│ │ │ ├── SecurityUtil.java
│ │ │ ├── VariableX509TrustManager.java
│ │ │ ├── VariableX509TrustManagerJDK7.java
│ │ │ └── package-info.java
│ │ │ ├── services
│ │ │ ├── ExtendedSingleInstanceService.java
│ │ │ ├── InstanceExistsException.java
│ │ │ ├── ServiceUtil.java
│ │ │ ├── SingleInstanceLock.java
│ │ │ ├── XBasicService.java
│ │ │ ├── XClipboardService.java
│ │ │ ├── XDownloadService.java
│ │ │ ├── XDownloadService2.java
│ │ │ ├── XExtendedService.java
│ │ │ ├── XExtensionInstallerService.java
│ │ │ ├── XFileContents.java
│ │ │ ├── XFileOpenService.java
│ │ │ ├── XFileSaveService.java
│ │ │ ├── XJNLPRandomAccessFile.java
│ │ │ ├── XPersistenceService.java
│ │ │ ├── XPrintService.java
│ │ │ ├── XServiceManagerStub.java
│ │ │ ├── XSingleInstanceService.java
│ │ │ └── package-info.java
│ │ │ ├── tools
│ │ │ ├── CertInformation.java
│ │ │ └── JarCertVerifier.java
│ │ │ └── util
│ │ │ ├── AppletUtils.java
│ │ │ ├── ClasspathMatcher.java
│ │ │ ├── GenericDesktopEntry.java
│ │ │ ├── ImageResources.java
│ │ │ ├── InvalidJarHeaderException.java
│ │ │ ├── IpUtil.java
│ │ │ ├── JarFile.java
│ │ │ ├── LocaleUtils.java
│ │ │ ├── MD5SumWatcher.java
│ │ │ ├── PropertiesFile.java
│ │ │ ├── RestrictedFileUtils.java
│ │ │ ├── ShortcutCreationOptions.java
│ │ │ ├── TimedHashMap.java
│ │ │ ├── UrlKey.java
│ │ │ ├── UrlUtils.java
│ │ │ ├── WeakList.java
│ │ │ ├── WindowsDesktopEntry.java
│ │ │ ├── WindowsShortcutManager.java
│ │ │ ├── XDesktopEntry.java
│ │ │ ├── docprovider
│ │ │ ├── IcedTeaWebTextsProvider.java
│ │ │ ├── ItwebPluginTextProvider.java
│ │ │ ├── ItwebSettingsTextsProvider.java
│ │ │ ├── JavaWsTextsProvider.java
│ │ │ ├── PolicyEditorTextsProvider.java
│ │ │ ├── TextsProvider.java
│ │ │ └── formatters
│ │ │ │ └── formatters
│ │ │ │ ├── Formatter.java
│ │ │ │ ├── HtmlFormatter.java
│ │ │ │ ├── ManFormatter.java
│ │ │ │ ├── PlainTextFormatter.java
│ │ │ │ └── ReplacingTextFormatter.java
│ │ │ ├── logging
│ │ │ ├── BasicOutputController.java
│ │ │ ├── DummyLogger.java
│ │ │ ├── FileLog.java
│ │ │ ├── LogConfig.java
│ │ │ ├── OutputController.java
│ │ │ ├── OutputControllerLevel.java
│ │ │ ├── OutputControllerLoggerFactory.java
│ │ │ ├── PrintStreamLogger.java
│ │ │ ├── SingleStreamLogger.java
│ │ │ ├── StdInOutErrController.java
│ │ │ ├── TeeOutputStream.java
│ │ │ ├── UnixSystemLog.java
│ │ │ ├── WinSystemLog.java
│ │ │ ├── filelogs
│ │ │ │ ├── LogBasedFileLog.java
│ │ │ │ └── WriterBasedFileLog.java
│ │ │ └── headers
│ │ │ │ ├── Header.java
│ │ │ │ ├── JavaMessage.java
│ │ │ │ ├── MessageWithHeader.java
│ │ │ │ └── ObservableMessagesProvider.java
│ │ │ ├── optionparser
│ │ │ └── InvalidArgumentException.java
│ │ │ └── whitelist
│ │ │ ├── ParsedWhitelistEntry.java
│ │ │ ├── UnparsableWhitelistEntry.java
│ │ │ ├── UrlWhiteListUtils.java
│ │ │ ├── WhiteListEntryParser.java
│ │ │ ├── WhitelistEntry.java
│ │ │ ├── WhitelistEntryHost.java
│ │ │ ├── WhitelistEntryPart.java
│ │ │ ├── WhitelistEntryPort.java
│ │ │ └── WhitelistEntryProtocol.java
│ └── resources
│ │ ├── META-INF
│ │ └── services
│ │ │ └── net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.ControlPanelProvider
│ │ ├── javaws_splash.png
│ │ └── net
│ │ └── sourceforge
│ │ └── jnlp
│ │ ├── build.properties
│ │ ├── resources
│ │ ├── hideDownloadDetails.png
│ │ ├── info-small.png
│ │ ├── install.png
│ │ ├── itw_logo.png
│ │ ├── jamIcon.jpg
│ │ ├── netx-icon.png
│ │ ├── question.png
│ │ ├── showDownloadDetails.png
│ │ ├── warn16.png
│ │ ├── warning-small.png
│ │ └── warning.png
│ │ └── runtime
│ │ └── pac-funcs.js
│ └── test
│ ├── java
│ └── net
│ │ ├── adoptopenjdk
│ │ └── icedteaweb
│ │ │ ├── client
│ │ │ ├── commandline
│ │ │ │ ├── AbstractCommandTest.java
│ │ │ │ ├── CheckCommandTest.java
│ │ │ │ ├── GetCommandTest.java
│ │ │ │ ├── HelpCommandTest.java
│ │ │ │ ├── InfoCommandTest.java
│ │ │ │ ├── ListCommandTest.java
│ │ │ │ ├── ResetCommandTest.java
│ │ │ │ └── SetCommandTest.java
│ │ │ ├── parts
│ │ │ │ ├── dialogs
│ │ │ │ │ └── security
│ │ │ │ │ │ ├── SecurityDialogsTest.java
│ │ │ │ │ │ ├── TemporaryPermissionsTest.java
│ │ │ │ │ │ ├── appletextendedsecurity
│ │ │ │ │ │ ├── UnsignedAppletTrustConfirmationTest.java
│ │ │ │ │ │ ├── UrlRegExTest.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ │ ├── LegacyUnsignedAppletActionStorageImplTest.java
│ │ │ │ │ │ │ ├── UnsignedAppletActionStorageImplTest.java
│ │ │ │ │ │ │ └── VersionRestrictionTest.java
│ │ │ │ │ │ ├── apptrustwarningpanel
│ │ │ │ │ │ └── AppTrustWarningPanelTest.java
│ │ │ │ │ │ └── remember
│ │ │ │ │ │ └── AppletSecurityActionsTest.java
│ │ │ │ └── splashscreen
│ │ │ │ │ ├── SplashScreenTest.java
│ │ │ │ │ ├── SplashUtilsTest.java
│ │ │ │ │ ├── impls
│ │ │ │ │ └── defaultsplashscreen2012
│ │ │ │ │ │ ├── BasePainterTest.java
│ │ │ │ │ │ ├── ControlCurveTest.java
│ │ │ │ │ │ ├── CubicTest.java
│ │ │ │ │ │ ├── ErrorPainterTest.java
│ │ │ │ │ │ ├── MovingTextTest.java
│ │ │ │ │ │ ├── NatCubicClosedTest.java
│ │ │ │ │ │ ├── NatCubicTest.java
│ │ │ │ │ │ ├── SplinesDefsTest.java
│ │ │ │ │ │ ├── TextOutlineRendererTest.java
│ │ │ │ │ │ └── TextWithWaterLevelTest.java
│ │ │ │ │ └── parts
│ │ │ │ │ ├── BasicComponentSplashScreenTest.java
│ │ │ │ │ ├── DescriptionInfoItemTest.java
│ │ │ │ │ ├── InfoItemTest.java
│ │ │ │ │ ├── InformationElementTest.java
│ │ │ │ │ └── JEditorPaneBasedExceptionDialogTest.java
│ │ │ └── policyeditor
│ │ │ │ ├── CustomPolicyViewerTest.java
│ │ │ │ ├── PermissionActionsTest.java
│ │ │ │ ├── PermissionTargetTest.java
│ │ │ │ ├── PermissionTypeTest.java
│ │ │ │ ├── PolicyEditorControllerTest.java
│ │ │ │ ├── PolicyEditorParsingTest.java
│ │ │ │ ├── PolicyEditorPermissionsTest.java
│ │ │ │ ├── PolicyEditorTest.java
│ │ │ │ ├── PolicyEntryTest.java
│ │ │ │ ├── PolicyFileModelTest.java
│ │ │ │ └── PolicyIdentifierTest.java
│ │ │ ├── icon
│ │ │ └── IconsTest.java
│ │ │ ├── jnlp
│ │ │ └── element
│ │ │ │ ├── application
│ │ │ │ ├── AppletDescTest.java
│ │ │ │ └── ApplicationDescTest.java
│ │ │ │ ├── information
│ │ │ │ ├── DescriptionKindTest.java
│ │ │ │ ├── IconKindTest.java
│ │ │ │ └── InformationDescTest.java
│ │ │ │ ├── resource
│ │ │ │ ├── JREDescTest.java
│ │ │ │ └── ResourcesDescTest.java
│ │ │ │ └── security
│ │ │ │ └── SecurityDescTest.java
│ │ │ ├── jvm
│ │ │ └── JvmUtilsTest.java
│ │ │ ├── lockingfile
│ │ │ ├── LockingReaderWriterTest.java
│ │ │ └── WindowsLockableFileTest.java
│ │ │ ├── manifest
│ │ │ ├── ManifestAttributesCheckerTest.java
│ │ │ └── ManifestAttributesReaderTest.java
│ │ │ ├── proxy
│ │ │ └── ie
│ │ │ │ └── RegistryQueryTest.java
│ │ │ ├── resources
│ │ │ ├── ResourceFactory.java
│ │ │ ├── ResourceHandlerTest.java
│ │ │ ├── ResourceTest.java
│ │ │ ├── ResourceTrackerTest.java
│ │ │ ├── cache
│ │ │ │ ├── CacheActionTest.java
│ │ │ │ ├── CacheIdInfoImplTest.java
│ │ │ │ ├── CacheIndexFileTest.java
│ │ │ │ ├── CacheIndexHolderTest.java
│ │ │ │ └── CachedFileTest.java
│ │ │ ├── downloader
│ │ │ │ └── NotifyingInputStreamTest.java
│ │ │ ├── initializer
│ │ │ │ ├── ResourceUrlCreatorTest.java
│ │ │ │ ├── UrlProberTest.java
│ │ │ │ └── UrlRequestResultTest.java
│ │ │ └── jardiff
│ │ │ │ └── JarDiffMergerTest.java
│ │ │ ├── testing
│ │ │ ├── mock
│ │ │ │ ├── DummyJNLPFile.java
│ │ │ │ ├── DummyJNLPFileWithJar.java
│ │ │ │ └── MockJNLPFile.java
│ │ │ ├── tools
│ │ │ │ └── DeploymentPropertiesModifier.java
│ │ │ └── util
│ │ │ │ └── NonWindowsLockableFile.java
│ │ │ └── ui
│ │ │ └── swing
│ │ │ └── dialogresults
│ │ │ ├── AccessWarningPaneComplexReturnTest.java
│ │ │ ├── YesCancelTest.java
│ │ │ ├── YesNoCancelTest.java
│ │ │ ├── YesNoSandboxTest.java
│ │ │ ├── YesNoTestTest.java
│ │ │ └── YesTest.java
│ │ └── sourceforge
│ │ └── jnlp
│ │ ├── AsyncCallTest.java
│ │ ├── DefaultLaunchHandlerTest.java
│ │ ├── JNLPFileTest.java
│ │ ├── JNLPMatcherTest.java
│ │ ├── JNLPMatcherTestMalformedAllowedTest.java
│ │ ├── JnlpInformationElementTest.java
│ │ ├── LaunchExceptionTest.java
│ │ ├── ParserBasicTest.java
│ │ ├── ParserCornerCasesTest.java
│ │ ├── ParserTest.java
│ │ ├── ParserVersionStringTest.java
│ │ ├── PluginParametersTest.java
│ │ ├── PropertyDescTest.java
│ │ ├── ResourcesTest.java
│ │ ├── ServerAccessTest.java
│ │ ├── TinyHttpdImplTest.java
│ │ ├── cache
│ │ ├── CacheUtilTest.java
│ │ └── NativeLibraryStorageTest.java
│ │ ├── config
│ │ ├── BasicValueValidatorsTests.java
│ │ ├── DeploymentConfigurationTest.java
│ │ └── DirectoryValidatorTest.java
│ │ ├── proxy
│ │ └── browser
│ │ │ └── FirefoxProxySelectorTest.java
│ │ ├── resources
│ │ └── MessagesPropertiesTest.java
│ │ ├── runtime
│ │ ├── BootTest.java
│ │ ├── DummySecurityDelegate.java
│ │ ├── JNLPFileTest.java
│ │ ├── JNLPPolicyTest.java
│ │ ├── JNLPProxySelectorTest.java
│ │ └── classloader
│ │ │ ├── CodeBaseClassLoaderTest.java
│ │ │ └── JNLPClassLoaderTest.java
│ │ ├── security
│ │ └── KeyStoresTest.java
│ │ ├── services
│ │ └── SingleInstanceLockTest.java
│ │ ├── tools
│ │ ├── DeploymentPropertiesModifierTest.java
│ │ └── JarCertVerifierTest.java
│ │ └── util
│ │ ├── ClasspathMatcherTest.java
│ │ ├── ImageResourcesTest.java
│ │ ├── IpUtilTest.java
│ │ ├── LocaleUtilsTest.java
│ │ ├── MD5SumWatcherTest.java
│ │ ├── PropertiesFileTest.java
│ │ ├── RestrictedFileUtilsTest.java
│ │ ├── TimedHashMapTest.java
│ │ ├── UrlKeyTest.java
│ │ ├── UrlUtilsTest.java
│ │ ├── XDesktopEntryTest.java
│ │ ├── docprovider
│ │ ├── ReadAuthorsTest.java
│ │ └── formatters
│ │ │ └── formatters
│ │ │ ├── FormatterTest.java
│ │ │ └── ReplacingTextFormatterTest.java
│ │ ├── logging
│ │ ├── FileLogTest.java
│ │ ├── NoStdOutErrTest.java
│ │ ├── OutputControllerLoggerTest.java
│ │ ├── OutputControllerTest.java
│ │ ├── PrintStreamLoggerTest.java
│ │ ├── TeeOutputStreamTest.java
│ │ └── WriterBasedFileLogTest.java
│ │ └── whitelist
│ │ ├── UrlWhiteListUtilsTest.java
│ │ └── WhitelistEntryTest.java
│ └── resources
│ └── net
│ ├── adoptopenjdk
│ └── icedteaweb
│ │ ├── icon
│ │ └── resources
│ │ │ ├── favicon1.ico
│ │ │ ├── favicon2.ico
│ │ │ ├── favicon3.ico
│ │ │ ├── favicon4.ico
│ │ │ ├── favicon5.ico
│ │ │ ├── favicon6.ico
│ │ │ ├── ico1-bmp-noTrans.ico
│ │ │ ├── ico1-bmp-trans.ico
│ │ │ ├── ico1-png-noTrans.ico
│ │ │ ├── ico1-png-trans.ico
│ │ │ ├── ico24-bmp-noTrans.ico
│ │ │ ├── ico24-bmp-trans.ico
│ │ │ ├── ico24-png-noTrans.ico
│ │ │ ├── ico24-png-trans.ico
│ │ │ ├── ico32-bmp-noTrans.ico
│ │ │ ├── ico32-bmp-trans.ico
│ │ │ ├── ico32-png-noTrans.ico
│ │ │ ├── ico32-png-trans.ico
│ │ │ ├── ico4-bmp-noTrans.ico
│ │ │ ├── ico4-bmp-trans.ico
│ │ │ ├── ico4-png-noTrans.ico
│ │ │ ├── ico4-png-trans.ico
│ │ │ ├── ico8-bmp-noTrans.ico
│ │ │ ├── ico8-bmp-trans.ico
│ │ │ ├── ico8-png-noTrans.ico
│ │ │ └── ico8-png-trans.ico
│ │ ├── proxy
│ │ └── ie
│ │ │ └── reg_query.out
│ │ └── resources
│ │ └── jardiff
│ │ ├── diff-1-to-2.jardiff
│ │ ├── diff-2-to-3.jardiff
│ │ ├── diff-3-to-4.jardiff
│ │ ├── diff-4-to-5.jardiff
│ │ ├── diff-5-to-6.jardiff
│ │ ├── diff-6-to-7.jardiff
│ │ ├── diff-7-to-8.jardiff
│ │ ├── version-1.jar
│ │ ├── version-2.jar
│ │ ├── version-3.jar
│ │ ├── version-4.jar
│ │ ├── version-5.jar
│ │ ├── version-6.jar
│ │ ├── version-7.jar
│ │ └── version-8.jar
│ └── sourceforge
│ └── jnlp
│ ├── ParserVersionStringTest.jnlp
│ ├── appletsizes
│ ├── abs.jnlp
│ ├── bad.jnlp
│ ├── nothing.jnlp
│ └── percent.jnlp
│ ├── application
│ ├── application0.jnlp
│ ├── application1.jnlp
│ ├── application2.jnlp
│ ├── application3.jnlp
│ ├── application4.jnlp
│ ├── application5.jnlp
│ ├── application6.jnlp
│ ├── application7.jnlp
│ └── application8.jnlp
│ ├── awt
│ └── imagesearch
│ │ └── marker.png
│ ├── basic.jnlp
│ ├── jarsInJreDesc.jnlp
│ ├── launchApp.jnlp
│ ├── minimal.jnlp
│ ├── minimalWithHref.jnlp
│ ├── runtime
│ ├── j1.jar
│ ├── jar03_dotdotN1.jar
│ ├── jar_03_dotdot_jarN1.jnlp
│ ├── pf.jar-orig
│ ├── test.jnlp
│ ├── up.jnlp
│ └── upEncoded.jnlp
│ └── templates
│ ├── template0.jnlp
│ ├── template1.jnlp
│ ├── template2.jnlp
│ ├── template3.jnlp
│ ├── template4.jnlp
│ ├── template5.jnlp
│ ├── template6.jnlp
│ ├── template7.jnlp
│ ├── template8.jnlp
│ └── template9.jnlp
├── integration-tests
├── jacoco-operator
│ └── org
│ │ └── jacoco
│ │ └── operator
│ │ ├── Main.java
│ │ ├── MergeTask.java
│ │ └── ReportGenerator.java
├── report-styles
│ ├── index.js
│ ├── jreport.xsl
│ ├── logs.xsl
│ ├── output.css
│ ├── report.css
│ └── textreport.xsl
└── reproducers
│ ├── README
│ ├── cloneReproducer.sh
│ ├── custom
│ ├── AdditionalJarsInMetaInfIndexList
│ │ ├── resources
│ │ │ ├── AdditionalJarsInMetaInfIndexListSigned.jnlp
│ │ │ └── AdditionalJarsInMetaInfIndexListUnsigned.jnlp
│ │ ├── srcs
│ │ │ ├── LoadedViaMetaInfIndexList.java
│ │ │ └── Makefile
│ │ └── testcases
│ │ │ └── AdditionalJarsInMetaInfIndexListTests.java
│ ├── AppletExtendsFromOutsideJar
│ │ ├── README
│ │ ├── resources
│ │ │ └── AppletExtendsFromOutsideJar.html
│ │ ├── srcs
│ │ │ ├── AppletReferenceInSameJar.java
│ │ │ ├── AppletReferenceOutOfJar.java
│ │ │ ├── Makefile
│ │ │ └── Referenced.java
│ │ └── testcases
│ │ │ └── AppletExtendsFromOutsideJarTests.java
│ ├── AppletFolderInArchiveTag
│ │ ├── resources
│ │ │ └── AppletFolderInArchiveTag.html
│ │ ├── srcs
│ │ │ ├── AppletFolderInArchiveTag.java
│ │ │ └── Makefile
│ │ └── testcases
│ │ │ └── AppletFolderInArchiveTagTests.java
│ ├── ExtensionJnlpsInApplet
│ │ ├── resources
│ │ │ ├── ExtensionJnlpHelper.jnlp
│ │ │ ├── ExtensionJnlpTest.html
│ │ │ └── ExtensionJnlpTestApplet.jnlp
│ │ ├── srcs
│ │ │ ├── ExtensionJnlpHelper.java
│ │ │ ├── ExtensionJnlpTestApplet.java
│ │ │ └── Makefile
│ │ └── testcases
│ │ │ └── ExtensionJnlpsInAppletTest.java
│ ├── GifarCreator
│ │ └── srcs
│ │ │ └── Makefile
│ ├── JNLPClassLoaderDeadlock
│ │ ├── resources
│ │ │ └── JNLPClassLoaderDeadlock.html
│ │ ├── srcs
│ │ │ ├── JNLPClassLoaderDeadlock_1.java
│ │ │ ├── JNLPClassLoaderDeadlock_2.java
│ │ │ └── Makefile
│ │ └── testcases
│ │ │ └── JNLPClassLoaderDeadlockTest.java
│ ├── JavaFx
│ │ ├── resources
│ │ │ ├── JavaFx.jar
│ │ │ └── JavaFx.jnlp
│ │ ├── srcs
│ │ │ ├── Controller.java
│ │ │ ├── Main.java
│ │ │ ├── Makefile
│ │ │ └── helloworld.fxml
│ │ └── testcases
│ │ │ └── JavaFxTest.java
│ ├── MixedSigningAndTrustedOnly
│ │ ├── resources
│ │ │ ├── MixedSigningAndTrustedOnly.html.in
│ │ │ ├── MixedSigningAndTrustedOnlyApp.jnlp.in
│ │ │ └── MixedSigningAndTrustedOnlyApplet.jnlp.in
│ │ ├── srcs
│ │ │ ├── MANIFEST.MF
│ │ │ ├── Makefile
│ │ │ ├── MixedSigningAndTrustedOnlyClass1.java
│ │ │ └── MixedSigningAndTrustedOnlyClass2.java
│ │ └── testcases
│ │ │ └── MixedSigningAndTrustedOnlyPackage
│ │ │ ├── MixedSigningAndTrustedOnly.java
│ │ │ ├── MixedSigningAndTrustedOnlyBS1.java
│ │ │ ├── MixedSigningAndTrustedOnlyBSmanifest.java
│ │ │ └── MixedSigningAndTrustedOnlyFSSU.java
│ ├── MixedSigningApplet
│ │ ├── resources
│ │ │ ├── MixedSigningApplet.html
│ │ │ └── MixedSigningApplet.jnlp
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ ├── MixedSigningAppletHelper.java
│ │ │ └── MixedSigningAppletSigned.java
│ │ └── testcases
│ │ │ └── MixedSigningAppletSignedTests.java
│ ├── MultipleSignaturesPerJar
│ │ ├── resources
│ │ │ ├── MultipleSignaturesPerJarMatching.html
│ │ │ ├── MultipleSignaturesPerJarMatching.jnlp
│ │ │ ├── MultipleSignaturesPerJarMismatching.html
│ │ │ └── MultipleSignaturesPerJarMismatching.jnlp
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ └── somecrazytestpackage
│ │ │ │ └── MultipleSignaturesPerJarMain.java
│ │ └── testcases
│ │ │ └── MultipleSignaturesPerJarTests.java
│ ├── NoClassDeff
│ │ ├── resources
│ │ │ ├── NoClassDeff.html.in
│ │ │ ├── NoClassDeffApp.jnlp.in
│ │ │ ├── NoClassDeffApplet.jnlp.in
│ │ │ └── NoClassDeffJnlpHref.html.in
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ └── NoClassDeff.java
│ │ └── testcases
│ │ │ └── NoClassDeffTest.java
│ ├── PackGZip
│ │ ├── resources
│ │ │ ├── PackGZip.jnlp
│ │ │ ├── PackGZipApplet.html
│ │ │ └── PackGZipJNLP.html
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ └── PackGZip.java
│ │ └── testcases
│ │ │ └── PackGZipTest.java
│ ├── PartiallySignedAppletManifestSpecifiesSandbox
│ │ ├── resources
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionSigned.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionSigned.jnlp
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionSignedJNLPhref.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionUnsigned.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionUnsigned.jnlp
│ │ │ ├── PartiallySignedAppletManifestSpecifiesAllPermissionUnsignedJNLPhref.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxSigned.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxSigned.jnlp
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxSignedJNLPhref.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxUnsigned.html
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxUnsigned.jnlp
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxUnsignedJNLPhref.html
│ │ │ ├── PartiallySignedApplicationManifestSpecifiesAllPermissionSigned.jnlp
│ │ │ ├── PartiallySignedApplicationManifestSpecifiesAllPermissionUnsigned.jnlp
│ │ │ ├── PartiallySignedApplicationManifestSpecifiesSandboxSigned.jnlp
│ │ │ └── PartiallySignedApplicationManifestSpecifiesSandboxUnsigned.jnlp
│ │ ├── srcs
│ │ │ ├── MANIFEST.MF.1
│ │ │ ├── MANIFEST.MF.2
│ │ │ ├── Makefile
│ │ │ ├── PartiallySignedAppletManifestSpecifiesSandboxSigned.java
│ │ │ └── PartiallySignedAppletManifestSpecifiesSandboxUnsigned.java
│ │ └── testcases
│ │ │ └── PartiallySignedAppletManifestSpecifiesSandboxTests.java
│ ├── SignedAppletCodebaseLoading
│ │ ├── resources
│ │ │ └── SignedAppletCodebaseLoading.html
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ ├── SignedAppletCodebaseLoading.java
│ │ │ └── SignedAppletCodebaseLoadingHelper.java
│ │ └── testcases
│ │ │ └── SignedAppletCodebaseLoadingTests.java
│ ├── SignedAppletExternalMainClass
│ │ ├── resources
│ │ │ └── SignedAppletExternalMainClass.html
│ │ ├── srcs
│ │ │ ├── Makefile
│ │ │ ├── SignedAppletExternalMainClass.java
│ │ │ └── SignedAppletExternalMainClassHelper.java
│ │ └── testcases
│ │ │ └── SignedAppletExternalMainClassTest.java
│ ├── TrustedOnlyAttribute
│ │ ├── resources
│ │ │ ├── TrustedOnlyAttribute-signed-nosecurity.jnlp
│ │ │ ├── TrustedOnlyAttribute-signed-security.jnlp
│ │ │ ├── TrustedOnlyAttribute-signed.html
│ │ │ ├── TrustedOnlyAttribute-unsigned-nosecurity.jnlp
│ │ │ ├── TrustedOnlyAttribute-unsigned-security.jnlp
│ │ │ └── TrustedOnlyAttribute-unsigned.html
│ │ ├── srcs
│ │ │ ├── MANIFEST.MF
│ │ │ ├── Makefile
│ │ │ └── TrustedOnlyAttribute.java
│ │ └── testcases
│ │ │ └── TrustedOnlyAttributeTest.java
│ ├── UnsignedContentInMETAINF
│ │ ├── resources
│ │ │ └── UnsignedContentInMETAINF.jnlp
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── unsigned_file_in_metainf
│ │ │ └── Makefile
│ │ └── testcases
│ │ │ └── UnsignedContentInMETAINF.java
│ └── remote
│ │ ├── srcs
│ │ └── Makefile
│ │ └── testcases
│ │ ├── RemoteApplicationSettings.java
│ │ └── RemoteApplicationTests.java
│ ├── signed
│ ├── AccessClassInPackageSigned
│ │ ├── resources
│ │ │ ├── AccessClassInPackageSignedJAVAXJNLP.jnlp
│ │ │ ├── AccessClassInPackageSignedNETSF.jnlp
│ │ │ ├── AccessClassInPackageSignedSELF.jnlp
│ │ │ └── AccessClassInPackageSignedSUNSEC.jnlp
│ │ └── srcs
│ │ │ └── AccessClassInPackageSigned.java
│ ├── AppContextHasJNLPClassLoader
│ │ ├── resources
│ │ │ ├── AppContextHasJNLPClassLoader.html
│ │ │ ├── AppContextHasJNLPClassLoader.jnlp
│ │ │ └── AppContextHasJNLPClassLoaderForJNLPApplet.jnlp
│ │ ├── srcs
│ │ │ └── AppContextHasJNLPClassLoader.java
│ │ └── testcases
│ │ │ └── AppContextHasJNLPClassLoaderTest.java
│ ├── AppletTestSigned
│ │ ├── resources
│ │ │ ├── AppletTestSigned.html
│ │ │ ├── AppletTestSigned.jnlp
│ │ │ └── AppletTestSigned2.html
│ │ ├── srcs
│ │ │ └── AppletTestSigned.java
│ │ └── testcases
│ │ │ └── AppletTestSignedTests.java
│ ├── CacheReproducer
│ │ ├── resources
│ │ │ ├── CacheReproducer1.jnlp
│ │ │ ├── CacheReproducer1_1.jnlp
│ │ │ ├── CacheReproducer2.jnlp
│ │ │ └── CacheReproducer2_1.jnlp
│ │ ├── srcs
│ │ │ └── CacheReproducer.java
│ │ └── testcases
│ │ │ └── CacheReproducerTest.java
│ ├── CheckPluginParams
│ │ ├── resources
│ │ │ ├── CheckPluginParams.jnlp
│ │ │ ├── CheckPluginParams1.html
│ │ │ └── CheckPluginParams2.html
│ │ ├── srcs
│ │ │ └── CheckPluginParams.java
│ │ └── testcases
│ │ │ └── CheckPluginParamsTests.java
│ ├── Classpath.Manifest.Test.Helper
│ │ └── srcs
│ │ │ └── CheckForClasspath.java
│ ├── ClasspathManifestTest
│ │ ├── resources
│ │ │ ├── ClasspathManifestAppletTest.html
│ │ │ ├── ClasspathManifestAppletTest.jnlp
│ │ │ ├── ClasspathManifestApplicationTest.jnlp
│ │ │ └── ClasspathManifestJNLPHrefTest.html
│ │ ├── srcs
│ │ │ ├── ClasspathManifest.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── ClasspathManifestTest.java
│ ├── ClipboardContentSigned
│ │ ├── resources
│ │ │ ├── ClipboardContentSignedCopy1.jnlp
│ │ │ ├── ClipboardContentSignedCopy2.jnlp
│ │ │ ├── ClipboardContentSignedPaste1.jnlp
│ │ │ └── ClipboardContentSignedPaste2.jnlp
│ │ ├── srcs
│ │ │ └── ClipboardContentSigned.java
│ │ └── testcases
│ │ │ └── ClipboardContentSignedTests.java
│ ├── CodeBaseManifestEntrySignedMatching
│ │ ├── resources
│ │ │ ├── CodeBaseManifestEntrySignedMatching.html
│ │ │ ├── CodeBaseManifestEntrySignedMatching.jnlp
│ │ │ ├── CodeBaseManifestEntrySignedMatchingApplet.jnlp
│ │ │ └── CodeBaseManifestEntrySignedMatchingJnlp.html
│ │ ├── srcs
│ │ │ ├── CodeBaseManifestEntrySignedMatching.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ ├── CodeBaseManifestEntrySignedMatching.java
│ │ │ ├── CodeBaseManifestEntrySignedNotMatching.java
│ │ │ ├── CodeBaseManifestEntryUnsignedMatching.java
│ │ │ └── CodeBaseManifestEntryUnsignedNotMatching.java
│ ├── CodeBaseManifestEntrySignedNotMatching
│ │ ├── resources
│ │ │ ├── CodeBaseManifestEntrySignedNotMatching.html
│ │ │ ├── CodeBaseManifestEntrySignedNotMatching.jnlp
│ │ │ ├── CodeBaseManifestEntrySignedNotMatchingApplet.jnlp
│ │ │ └── CodeBaseManifestEntrySignedNotMatchingJnlp.html
│ │ └── srcs
│ │ │ ├── CodeBaseManifestEntrySignedNotMatching.java
│ │ │ └── META-INF
│ │ │ └── MANIFEST.MF
│ ├── CodebasesAttsSigned
│ │ ├── resources
│ │ │ ├── CodebasesAttsSigned.html.in
│ │ │ ├── CodebasesAttsSignedApp.jnlp.in
│ │ │ ├── CodebasesAttsSignedApplet.jnlp.in
│ │ │ └── CodebasesAttsSignedJnlpHref.html.in
│ │ ├── srcs
│ │ │ └── CodebasesAttsSigned.java
│ │ └── testcases
│ │ │ └── CodebasesAttsSignedDialogsTest1.java
│ ├── CountingAppletSigned
│ │ └── srcs
│ │ │ └── CountingAppletSigned.java
│ ├── CustomPolicy
│ │ ├── resources
│ │ │ └── CustomPolicy.jnlp
│ │ ├── srcs
│ │ │ └── CustomPolicy.java
│ │ └── testcases
│ │ │ └── CustomPolicyTests.java
│ ├── DeploymentPropertiesAreExposed
│ │ ├── resources
│ │ │ └── DeploymentPropertiesAreExposed.jnlp
│ │ ├── srcs
│ │ │ └── Test.java
│ │ └── testcases
│ │ │ └── DeploymentPropertiesAreExposedTest.java
│ ├── DownloadService
│ │ ├── resources
│ │ │ ├── DownloadService.jnlp
│ │ │ └── DownloadServiceExtension.jnlp
│ │ ├── srcs
│ │ │ └── DownloadServiceRunner.java
│ │ └── testcases
│ │ │ └── DownloadServiceTest.java
│ ├── EmptySignedJar
│ │ ├── resources
│ │ │ ├── EmptySignedJarExtension.jnlp
│ │ │ ├── EmptySignedJarInExtensionJnlp.jnlp
│ │ │ └── EmptySignedJarInLaunchingJnlp.jnlp
│ │ ├── srcs
│ │ │ └── META-INF
│ │ │ │ └── empty_file
│ │ └── testcases
│ │ │ └── EmptySignedJarTest.java
│ ├── EntryPointSignedSingleBothInvalid
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleBothInvalid.html
│ │ │ ├── EntryPointSignedSingleBothInvalid.jnlp
│ │ │ ├── EntryPointSignedSingleBothInvalid_applet.jnlp
│ │ │ ├── EntryPointSignedSingleBothInvalid_applet_security.jnlp
│ │ │ └── EntryPointSignedSingleBothInvalid_security.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleBothInvalid.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── EntryPointSignedSingleBothInvalidTest.java
│ ├── EntryPointSignedSingleBothOk
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleBothOk1.html
│ │ │ ├── EntryPointSignedSingleBothOk1.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk2.html
│ │ │ ├── EntryPointSignedSingleBothOk2.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk_applet1.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk_applet2.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk_applet_security1.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk_applet_security2.jnlp
│ │ │ ├── EntryPointSignedSingleBothOk_security1.jnlp
│ │ │ └── EntryPointSignedSingleBothOk_security2.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleBothOk1.java
│ │ │ ├── EntryPointSignedSingleBothOk2.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ ├── EntryPointSignedSingleBothOkTest1.java
│ │ │ └── EntryPointSignedSingleBothOkTest2.java
│ ├── EntryPointSignedSingleFirstInvalidSecondOk
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleFirstInvalidSecondOk.html
│ │ │ ├── EntryPointSignedSingleFirstInvalidSecondOk.jnlp
│ │ │ ├── EntryPointSignedSingleFirstInvalidSecondOk_applet.jnlp
│ │ │ ├── EntryPointSignedSingleFirstInvalidSecondOk_applet_security.jnlp
│ │ │ └── EntryPointSignedSingleFirstInvalidSecondOk_security.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleFirstInvalidSecondOk.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── EntryPointSignedSingleFirstInvalidSecondOkTest.java
│ ├── EntryPointSignedSingleInvalid
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleInvalid.html
│ │ │ ├── EntryPointSignedSingleInvalid.jnlp
│ │ │ ├── EntryPointSignedSingleInvalid_applet.jnlp
│ │ │ ├── EntryPointSignedSingleInvalid_applet_security.jnlp
│ │ │ └── EntryPointSignedSingleInvalid_security.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleInvalid.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── EntryPointSignedSingleInvalidTest.java
│ ├── EntryPointSignedSingleOk
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleOk.html
│ │ │ ├── EntryPointSignedSingleOk.jnlp
│ │ │ ├── EntryPointSignedSingleOk_applet.jnlp
│ │ │ ├── EntryPointSignedSingleOk_applet_security.jnlp
│ │ │ └── EntryPointSignedSingleOk_security.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleOk.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── EntryPointSignedSingleOkTest.java
│ ├── EntryPointSignedSingleSecondInvalidFirstOk
│ │ ├── resources
│ │ │ ├── EntryPointSignedSingleSecondInvalidFirstOk.html
│ │ │ ├── EntryPointSignedSingleSecondInvalidFirstOk.jnlp
│ │ │ ├── EntryPointSignedSingleSecondInvalidFirstOk_applet.jnlp
│ │ │ ├── EntryPointSignedSingleSecondInvalidFirstOk_applet_security.jnlp
│ │ │ └── EntryPointSignedSingleSecondInvalidFirstOk_security.jnlp
│ │ ├── srcs
│ │ │ ├── EntryPointSignedSingleSecondInvalidFirstOk.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── EntryPointSignedSingleSecondInvalidFirstOkTest.java
│ ├── ExtensionJnlp
│ │ ├── resources
│ │ │ ├── UsesSignedJar.jnlp
│ │ │ ├── UsesSignedJarExtension.jnlp
│ │ │ ├── UsesSignedJnlp.jnlp
│ │ │ ├── UsesSignedJnlpExtension.jnlp
│ │ │ └── UsesSignedJnlpJarAndSignedJarExtension.jnlp
│ │ └── testcases
│ │ │ └── ExtensionJnlpTest.java
│ ├── GifarBase
│ │ ├── resources
│ │ │ ├── gifarView_hacked.html
│ │ │ ├── gifarView_ok.html
│ │ │ ├── gifar_applet.jnlp
│ │ │ ├── gifar_application.jnlp
│ │ │ └── happyNonAnimated.gif
│ │ ├── srcs
│ │ │ └── GifarMain.java
│ │ └── testcases
│ │ │ └── GifarTestcases.java
│ ├── InternalClassloaderWithDownloadedResource
│ │ ├── resources
│ │ │ ├── InternalClassloaderWithDownloadedResource-applet-hack.jnlp
│ │ │ ├── InternalClassloaderWithDownloadedResource-applet-new.jnlp
│ │ │ ├── InternalClassloaderWithDownloadedResource-hack.html
│ │ │ ├── InternalClassloaderWithDownloadedResource-hack.jnlp
│ │ │ ├── InternalClassloaderWithDownloadedResource-new.html
│ │ │ └── InternalClassloaderWithDownloadedResource-new.jnlp
│ │ ├── srcs
│ │ │ └── InternalClassloaderWithDownloadedResource.java
│ │ └── testcases
│ │ │ └── InternalClassloaderWithDownloadedResourceTest.java
│ ├── Kemtrakpro
│ │ ├── resources
│ │ │ ├── Kemtrak.jnlp
│ │ │ └── Kemtrak_javaws.jnlp
│ │ ├── srcs
│ │ │ ├── Kemtrak.java
│ │ │ └── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ └── testcases
│ │ │ └── KemtrakTests.java
│ ├── LoadResources
│ │ ├── resources
│ │ │ ├── LoadResources1.jnlp
│ │ │ ├── LoadResources2.jnlp
│ │ │ ├── LoadResourcesApplet1.jnlp
│ │ │ └── LoadResourcesApplet2.jnlp
│ │ ├── srcs
│ │ │ ├── LoadResources.java
│ │ │ ├── LoadResourcesPackaged.java
│ │ │ └── some.file
│ │ └── testcases
│ │ │ └── LoadResourcesTest.java
│ ├── MissingJar
│ │ ├── resources
│ │ │ ├── MissingJar.jnlp
│ │ │ ├── MissingJar2.jnlp
│ │ │ ├── MissingJar3.jnlp
│ │ │ └── MissingJar4.jnlp
│ │ ├── srcs
│ │ │ └── MissingJar.java
│ │ └── testcases
│ │ │ └── MissingJarTest.java
│ ├── MultiJar-NoSignedJnlp
│ │ ├── resources
│ │ │ └── MainJarWithoutSignedJnlp.jnlp
│ │ └── srcs
│ │ │ └── SimpleApplication.java
│ ├── MultiJar-SignedJnlpApplication
│ │ ├── resources
│ │ │ ├── MainJarWithMatchingSignedJnlpApplication.jnlp
│ │ │ └── MainJarWithUnmatchingSignedJnlpApplication.jnlp
│ │ ├── srcs
│ │ │ ├── JNLP-INF
│ │ │ │ └── APPLICATION.jnlp
│ │ │ └── SignedJnlpApplication.java
│ │ └── testcases
│ │ │ └── MultiJarSignedJnlpTest.java
│ ├── MultiJar-SignedJnlpTemplate
│ │ ├── resources
│ │ │ ├── MainJarWithMatchingSignedJnlpTemplate.jnlp
│ │ │ └── MainJarWithUnmatchingSignedJnlpTemplate.jnlp
│ │ └── srcs
│ │ │ ├── JNLP-INF
│ │ │ └── APPLICATION_TEMPLATE.jnlp
│ │ │ └── SignedJnlpTemplate.java
│ ├── ReadPropertiesBySignedHack
│ │ ├── resources
│ │ │ └── ReadPropertiesBySignedHack.jnlp
│ │ ├── srcs
│ │ │ └── ReadPropertiesBySignedHack.java
│ │ └── testcases
│ │ │ └── ReadPropertiesBySignedHackTest.java
│ ├── ReadPropertiesSigned
│ │ ├── README
│ │ ├── resources
│ │ │ ├── ReadPropertiesSigned1.jnlp
│ │ │ └── ReadPropertiesSigned2.jnlp
│ │ ├── srcs
│ │ │ └── ReadPropertiesSigned.java
│ │ └── testcases
│ │ │ └── ReadPropertiesSignedTest.java
│ ├── RunInSandbox
│ │ ├── resources
│ │ │ ├── RunInSandbox.html
│ │ │ ├── RunInSandboxApplet.jnlp
│ │ │ ├── RunInSandboxApplication.jnlp
│ │ │ └── RunInSandboxJnlpHref.html
│ │ ├── srcs
│ │ │ └── RunInSandbox.java
│ │ └── testcases
│ │ │ └── RunInSandboxTest.java
│ ├── SOPBypassSigned
│ │ └── srcs
│ │ │ └── SOPBypassSigned.java
│ ├── SandboxSignedAllPerm
│ │ ├── resources
│ │ │ ├── SandboxSignedAllPerm.html
│ │ │ ├── SandboxSignedAllPerm.jnlp
│ │ │ ├── SandboxSignedAllPerm_applet.jnlp
│ │ │ ├── SandboxSignedAllPerm_applet_security.jnlp
│ │ │ └── SandboxSignedAllPerm_security.jnlp
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ │ └── SandboxSignedAllPerm.java
│ │ └── testcases
│ │ │ └── SandboxSignedAllPermTest.java
│ ├── SandboxSignedInvalid
│ │ ├── resources
│ │ │ ├── SandboxSignedInvalid.html
│ │ │ ├── SandboxSignedInvalid.jnlp
│ │ │ ├── SandboxSignedInvalid_applet.jnlp
│ │ │ ├── SandboxSignedInvalid_applet_security.jnlp
│ │ │ └── SandboxSignedInvalid_security.jnlp
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ │ └── SandboxSignedInvalid.java
│ │ └── testcases
│ │ │ └── SandboxSignedInvalidTest.java
│ ├── SandboxSignedMissing
│ │ ├── resources
│ │ │ ├── SandboxSignedMissing.html
│ │ │ ├── SandboxSignedMissing.jnlp
│ │ │ ├── SandboxSignedMissing_applet.jnlp
│ │ │ ├── SandboxSignedMissing_applet_security.jnlp
│ │ │ └── SandboxSignedMissing_security.jnlp
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ │ └── SandboxSignedMissing.java
│ │ └── testcases
│ │ │ ├── SandboxSignedMissingTest.java
│ │ │ └── SandboxSignedMissingTestHighSecurity.java
│ ├── SandboxSignedSandbox
│ │ ├── resources
│ │ │ ├── SandboxSignedSandbox.html
│ │ │ ├── SandboxSignedSandbox.jnlp
│ │ │ ├── SandboxSignedSandbox_applet.jnlp
│ │ │ ├── SandboxSignedSandbox_applet_security.jnlp
│ │ │ └── SandboxSignedSandbox_security.jnlp
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ │ └── SandboxSignedSandbox.java
│ │ └── testcases
│ │ │ └── SandboxSignedSandboxTest.java
│ ├── SavingCookies
│ │ ├── resources
│ │ │ ├── CheckCookie.html
│ │ │ ├── CheckCookieAndGotoClear.html
│ │ │ ├── ClearPersistentCookie.html
│ │ │ ├── SavePersistentCookie.html
│ │ │ ├── SavePersistentCookieAndGotoCheck.html
│ │ │ ├── SaveSessionCookie.html
│ │ │ └── SaveSessionCookieAndGotoCheck.html
│ │ ├── srcs
│ │ │ ├── CheckingCookies.java
│ │ │ └── SavingCookies.java
│ │ └── testcases
│ │ │ └── SavingCookiesTests.java
│ ├── ShowDocument
│ │ ├── resources
│ │ │ ├── ShowDocumentApplet.jnlp
│ │ │ ├── ShowDocumentMain.jnlp
│ │ │ └── document.txt
│ │ ├── srcs
│ │ │ └── ShowDocument.java
│ │ └── testcases
│ │ │ └── ShowDocumentTest.java
│ ├── SignedAppletManifestSpecifiesSandbox
│ │ ├── resources
│ │ │ ├── SignedAppletManifestSpecifiesSandbox.html
│ │ │ ├── SignedAppletManifestSpecifiesSandboxApplet.jnlp
│ │ │ ├── SignedAppletManifestSpecifiesSandboxApplication.jnlp
│ │ │ └── SignedAppletManifestSpecifiesSandboxJnlpHref.html
│ │ ├── srcs
│ │ │ ├── META-INF
│ │ │ │ └── MANIFEST.MF
│ │ │ └── SignedAppletManifestSpecifiesSandbox.java
│ │ └── testcases
│ │ │ └── SignedAppletManifestSpecifiesSandboxTests.java
│ ├── SignedJarResource
│ │ ├── resources
│ │ │ ├── SignedJarExtension.jnlp
│ │ │ └── SignedJarResource.jnlp
│ │ └── srcs
│ │ │ └── SignedJarResource.java
│ ├── SignedJnlpApplication
│ │ ├── resources
│ │ │ ├── SignedJnlpApplication1.jnlp
│ │ │ ├── SignedJnlpApplication2.jnlp
│ │ │ └── SignedJnlpApplication3.jnlp
│ │ ├── srcs
│ │ │ ├── JNLP-INF
│ │ │ │ └── APPLICATION.jnlp
│ │ │ └── SignedJnlpApplication.java
│ │ └── testcases
│ │ │ └── SignedJnlpApplicationTest.java
│ ├── SignedJnlpCaseTestOne
│ │ ├── resources
│ │ │ ├── SignedJnlpCaseTestOne1.jnlp
│ │ │ └── SignedJnlpCaseTestOne2.jnlp
│ │ ├── srcs
│ │ │ ├── JNLP-INF
│ │ │ │ └── aPpLiCaTioN.jnlp
│ │ │ └── SignedJnlpCase.java
│ │ └── testcases
│ │ │ └── SignedJnlpCaseOneTest.java
│ ├── SignedJnlpCaseTestTwo
│ │ ├── resources
│ │ │ ├── SignedJnlpCaseTestTwo1.jnlp
│ │ │ └── SignedJnlpCaseTestTwo2.jnlp
│ │ ├── srcs
│ │ │ ├── JNLP-INF
│ │ │ │ └── aPpLiCaTiOn_tEmPlAte.jnlp
│ │ │ └── SignedJnlpCase.java
│ │ └── testcases
│ │ │ └── SignedJnlpCaseTwoTest.java
│ ├── SignedJnlpResource
│ │ ├── resources
│ │ │ ├── MatchingSignedJnlpExtension.jnlp
│ │ │ └── UnmatchingSignedJnlpExtension.jnlp
│ │ └── srcs
│ │ │ ├── JNLP-INF
│ │ │ └── APPLICATION_TEMPLATE.jnlp
│ │ │ └── SignedJnlpResource.java
│ ├── SignedJnlpTemplate
│ │ ├── resources
│ │ │ ├── SignedJnlpTemplate1.jnlp
│ │ │ ├── SignedJnlpTemplate2.jnlp
│ │ │ └── SignedJnlpTemplate3.jnlp
│ │ ├── srcs
│ │ │ ├── JNLP-INF
│ │ │ │ └── APPLICATION_TEMPLATE.jnlp
│ │ │ └── SignedJnlpTemplate.java
│ │ └── testcases
│ │ │ └── SignedJnlpTemplateTest.java
│ ├── SimpletestSigned1
│ │ ├── resources
│ │ │ └── SimpletestSigned1.jnlp
│ │ └── srcs
│ │ │ └── SimpletestSigned1.java
│ ├── Spaces can be everywhere signed
│ │ ├── resources
│ │ │ ├── NotOnly spaces can kill ěščřž too signed.jnlp
│ │ │ ├── Spaces can be everywhere1 signed.jnlp
│ │ │ ├── Spaces can be everywhere2 signed.jnlp
│ │ │ ├── SpacesCanBeEverywhere1signed.jnlp
│ │ │ └── spaces applet Tests signed.html
│ │ ├── srcs
│ │ │ └── SpacesCanBeEverywhereSigned.java
│ │ └── testcases
│ │ │ └── SpacesCanBeEverywhereTestsSigned.java
│ ├── jcalendar
│ │ └── srcs
│ │ │ └── jcalendar.java
│ └── jsengineSigned
│ │ ├── resources
│ │ ├── jsengineAppletSigned.html
│ │ ├── jsengineAppletSigned.jnlp
│ │ └── jsengineSigned.jnlp
│ │ ├── srcs
│ │ ├── jsengineAppletSigned.java
│ │ └── jsengineSigned.java
│ │ └── testcases
│ │ └── jsengineSignedTest.java
│ ├── signed2
│ ├── AppletTestSigned2
│ │ └── srcs
│ │ │ └── AppletTestSigned2.java
│ ├── MultipleSignaturesTest
│ │ ├── resources
│ │ │ ├── MultipleSignaturesTest.html
│ │ │ ├── MultipleSignaturesTest1.jnlp
│ │ │ ├── MultipleSignaturesTest1_requesting.jnlp
│ │ │ ├── MultipleSignaturesTest2.jnlp
│ │ │ └── MultipleSignaturesTestUsesPermissions.html
│ │ ├── srcs
│ │ │ └── somecrazytestpackage
│ │ │ │ └── MultipleSignaturesTest.java
│ │ └── testcases
│ │ │ └── MultipleSignaturesTestTests.java
│ └── MultipleSignaturesTestSamePackage
│ │ ├── resources
│ │ ├── MultipleSignaturesTest1_SamePackage.jnlp
│ │ ├── MultipleSignaturesTest1_SamePackage_requesting.jnlp
│ │ ├── MultipleSignaturesTest2_SamePackage.jnlp
│ │ └── MultipleSignaturesTest_SamePackage.html
│ │ ├── srcs
│ │ └── MultipleSignaturesTestSamePackage.java
│ │ └── testcases
│ │ └── MultipleSignaturesTestTestsSamePackage.java
│ └── simple
│ ├── AWTCommonResourcesOnly
│ └── resources
│ │ └── marker.png
│ ├── AbsolutePathsAndQueryStrings
│ └── resources
│ │ ├── AbsolutePathsAndQueryStrings.html
│ │ └── AbsolutePathsAndQueryStrings.jnlp
│ ├── AccessClassInPackage
│ ├── resources
│ │ ├── AccessClassInPackageJAVAXJNLP.jnlp
│ │ ├── AccessClassInPackageNETSF.jnlp
│ │ ├── AccessClassInPackageSELF.jnlp
│ │ └── AccessClassInPackageSUNSEC.jnlp
│ ├── srcs
│ │ └── AccessClassInPackage.java
│ └── testcases
│ │ └── AccessClassInPackageTest.java
│ ├── AddShutdownHook
│ ├── resources
│ │ ├── AddShutdownHook.html
│ │ ├── AddShutdownHook.jnlp
│ │ └── AddShutdownHook_wrong.html
│ ├── srcs
│ │ └── AddShutdownHook.java
│ └── testcases
│ │ ├── AddShutdownHookTest.java
│ │ └── HangFirefoxTests.java
│ ├── AllStackTraces
│ ├── resources
│ │ └── AllStackTraces.jnlp
│ ├── srcs
│ │ └── AllStackTraces.java
│ └── testcases
│ │ └── AllStackTracesTest.java
│ ├── AppletBaseURLTest
│ ├── resources
│ │ ├── AppletBaseURLTest.html
│ │ ├── AppletBaseURLTest.jnlp
│ │ └── AppletJNLPHrefBaseURLTest.html
│ ├── srcs
│ │ └── AppletBaseURL.java
│ └── testcases
│ │ └── AppletBaseURLTest.java
│ ├── AppletJsAppletDeadlock
│ ├── resources
│ │ └── AppletJsAppletDeadlock.html
│ ├── srcs
│ │ └── AppletJsAppletDeadlock.java
│ └── testcases
│ │ └── AppletJsAppletDeadlockTest.java
│ ├── AppletReadsInvalidJar
│ ├── resources
│ │ ├── AppletReadsInvalidJar.html
│ │ ├── AppletReadsInvalidJar.jnlp
│ │ └── NOT_A_VALID_JAR.jar
│ ├── srcs
│ │ └── Valid.java
│ └── testcases
│ │ └── AppletReadsInvalidJarTests.java
│ ├── AppletSharedClassLoader
│ ├── resources
│ │ ├── LaunchSharedClassLoaderApplet-reader1-writer1.html
│ │ ├── LaunchSharedClassLoaderApplet-reader1-writer2.html
│ │ ├── LaunchSharedClassLoaderApplet-reader1.html
│ │ ├── LaunchSharedClassLoaderApplet-reader2.html
│ │ ├── LaunchSharedClassLoaderApplet-writer1.html
│ │ ├── LaunchSharedClassLoaderApplet-writer2.html
│ │ ├── LaunchSharedClassLoaderApplet2-reader1-writer1.html
│ │ ├── LaunchSharedClassLoaderApplet2-reader1-writer2.html
│ │ ├── LaunchSharedClassLoaderApplet2-reader1.html
│ │ ├── LaunchSharedClassLoaderApplet2-reader2.html
│ │ ├── LaunchSharedClassLoaderApplet2-writer1.html
│ │ └── LaunchSharedClassLoaderApplet2-writer2.html
│ ├── srcs
│ │ ├── SharedClassLoaderApplet1.java
│ │ ├── SharedClassLoaderApplet2.java
│ │ └── SharedSecret.java
│ └── testcases
│ │ ├── SharedClassLoaderApplet_WrittenCompleteCodeBaseTest.java
│ │ ├── SharedClassLoaderApplet_WrittenPartialStubCodeBaseTest.java
│ │ └── SharedClassLoaderApplet_dotCodeBaseTest.java
│ ├── AppletTagWithMissingCodeAttribute
│ ├── resources
│ │ ├── AppletJnlpWithMainClass.jnlp
│ │ └── AppletTagWithMissingCodeAttribute.html
│ └── testcases
│ │ └── AppletTagWithMissingCodeAttribute.java
│ ├── AppletTakesLastParam
│ ├── resources
│ │ ├── appletTakesLastParam.html
│ │ └── appletTakesLastParam.jnlp
│ ├── srcs
│ │ └── AppletTakesLastParam.java
│ └── testcases
│ │ └── AppletTakesLastParamTests.java
│ ├── AppletTest
│ ├── resources
│ │ ├── AppletTest.jnlp
│ │ ├── appletAutoTests.html
│ │ ├── appletAutoTests2.html
│ │ ├── appletViewTest.html
│ │ ├── appletZeroH.html
│ │ ├── appletZeroW.html
│ │ ├── appletZeroWH.html
│ │ └── errorAppletAutoTests.html
│ ├── srcs
│ │ ├── AppletErrorTest.java
│ │ └── AppletTest.java
│ └── testcases
│ │ └── AppletTestTests.java
│ ├── CheckServices
│ ├── resources
│ │ ├── CheckPluginServices.html
│ │ └── CheckServices.jnlp
│ ├── srcs
│ │ └── CheckServices.java
│ └── testcases
│ │ └── CheckServicesTests.java
│ ├── ClipboardContent
│ ├── resources
│ │ ├── ClipboardContentCopy1.jnlp
│ │ ├── ClipboardContentCopy2.jnlp
│ │ ├── ClipboardContentPaste1.jnlp
│ │ └── ClipboardContentPaste2.jnlp
│ ├── srcs
│ │ └── ClipboardContent.java
│ └── testcases
│ │ └── ClipboardContentTests.java
│ ├── CodeBaseManifestEntryUnsignedMatching
│ ├── resources
│ │ ├── CodeBaseManifestEntryUnsignedMatching.html
│ │ ├── CodeBaseManifestEntryUnsignedMatching.jnlp
│ │ ├── CodeBaseManifestEntryUnsignedMatchingApplet.jnlp
│ │ └── CodeBaseManifestEntryUnsignedMatchingJnlp.html
│ └── srcs
│ │ ├── CodeBaseManifestEntryUnsignedMatching.java
│ │ └── META-INF
│ │ └── MANIFEST.MF
│ ├── CodeBaseManifestEntryUnsignedNotMatching
│ ├── resources
│ │ ├── CodeBaseManifestEntryUnsignedNotMatching.html
│ │ ├── CodeBaseManifestEntryUnsignedNotMatching.jnlp
│ │ ├── CodeBaseManifestEntryUnsignedNotMatchingApplet.jnlp
│ │ └── CodeBaseManifestEntryUnsignedNotMatchingJnlp.html
│ └── srcs
│ │ ├── CodeBaseManifestEntryUnsignedNotMatching.java
│ │ └── META-INF
│ │ └── MANIFEST.MF
│ ├── CodebasesAtts
│ ├── resources
│ │ ├── CodebasesAtts.html.in
│ │ ├── CodebasesAttsApp.jnlp.in
│ │ ├── CodebasesAttsApplet.jnlp.in
│ │ └── CodebasesAttsJnlpHref.html.in
│ ├── srcs
│ │ └── CodebasesAtts.java
│ └── testcases
│ │ ├── CodebasesAttsDialogsTest1.java
│ │ ├── CodebasesAttsNoDialogsTest1.java
│ │ ├── CodebasesAttsNoDialogsTest2.java
│ │ └── CodebasesAttsNoDialogsTest3.java
│ ├── CountingApplet1
│ ├── resources
│ │ ├── ParallelAppletsTest_1EE_x_2s.html
│ │ ├── ParallelAppletsTest_1_x_1.html
│ │ ├── ParallelAppletsTest_1_x_2.html
│ │ ├── ParallelAppletsTest_1_x_2EE.html
│ │ ├── ParallelAppletsTest_1_x_2e.html
│ │ ├── ParallelAppletsTest_1_x_2sk.html
│ │ ├── ParallelAppletsTest_1e_x_2s.html
│ │ ├── ParallelAppletsTest_1k_x_2.html
│ │ ├── ParallelAppletsTest_1s_x_2.html
│ │ ├── ParallelAppletsTest_1s_x_2s.html
│ │ └── ParallelAppletsTest_1s_x_2ss.html
│ ├── srcs
│ │ └── CountingApplet1.java
│ └── testcases
│ │ └── ParallelAppletsTest.java
│ ├── CountingApplet2
│ └── srcs
│ │ └── CountingApplet2.java
│ ├── CreateClassLoader
│ ├── resources
│ │ └── CreateClassLoader.jnlp
│ ├── srcs
│ │ └── CreateClassLoader.java
│ └── testcases
│ │ └── CreateClassLoaderTest.java
│ ├── CustomPolicies
│ ├── resources
│ │ ├── CustomPolicies.html
│ │ ├── CustomPoliciesApplet.jnlp
│ │ ├── CustomPoliciesApplication.jnlp
│ │ └── CustomPoliciesJnlpHref.html
│ ├── srcs
│ │ └── CustomPolicies.java
│ └── testcases
│ │ └── CustomPoliciesTest.java
│ ├── DocumentBaseEncoding
│ ├── resources
│ │ └── Document Base Encoding.html
│ ├── srcs
│ │ └── DocumentBaseEncoding.java
│ └── testcases
│ │ └── DocumentBaseEncodingTests.java
│ ├── DownloadService2
│ ├── resources
│ │ ├── DownloadService.jnlp
│ │ └── DownloadService2.jnlp
│ ├── srcs
│ │ ├── DownloadService.java
│ │ └── DownloadService2.java
│ └── testcases
│ │ └── DownloadService2Test.java
│ ├── EmbeddedJnlpInApplet
│ ├── resources
│ │ ├── EmbeddedJnlp.jnlp
│ │ ├── EmbeddedJnlpInAppletNoCodebase.html
│ │ ├── EmbeddedJnlpInAppletWithDotCodebase.html
│ │ └── JnlpInApplet.html
│ ├── srcs
│ │ └── EmbeddedJnlp.java
│ └── testcases
│ │ └── EmbeddedJnlpInAppletTest.java
│ ├── EntryPointUnsignedSingleInvalid
│ ├── resources
│ │ ├── EntryPointUnsignedSingleInvalid.html
│ │ ├── EntryPointUnsignedSingleInvalid.jnlp
│ │ ├── EntryPointUnsignedSingleInvalid_applet.jnlp
│ │ ├── EntryPointUnsignedSingleInvalid_applet_security.jnlp
│ │ └── EntryPointUnsignedSingleInvalid_security.jnlp
│ ├── srcs
│ │ ├── EntryPointUnsignedSingleInvalid.java
│ │ └── META-INF
│ │ │ └── MANIFEST.MF
│ └── testcases
│ │ └── EntryPointUnsignedSingleInvalidTest.java
│ ├── FakeCodebase
│ ├── resources
│ │ ├── FakeCodebase.html.in
│ │ ├── FakeCodebase.jnlp.in
│ │ ├── OriginalCodebase.html
│ │ └── OriginalCodebase.jnlp
│ ├── srcs
│ │ └── FakeCodebase.java
│ └── testcases
│ │ └── FakeCodebaseTests.java
│ ├── GeneratedId
│ ├── resources
│ │ └── GeneratedId.jnlp
│ ├── srcs
│ │ └── GeneratedId.java
│ └── testcases
│ │ └── GeneratedIdTest.java
│ ├── Http511
│ ├── resources
│ │ ├── Http511.html
│ │ ├── Http511.jnlp
│ │ ├── Http511_applet.jnlp
│ │ └── Http511_href.html
│ ├── srcs
│ │ └── Http511.java
│ └── testcases
│ │ └── Http511Test.java
│ ├── IcoAccess
│ ├── resources
│ │ ├── IcoAccess.html
│ │ ├── IcoAccess.ico
│ │ ├── IcoAccess.jnlp
│ │ └── IcoAccess.png
│ ├── srcs
│ │ └── IcoAccess.java
│ └── testcases
│ │ └── IcoAccessTest.java
│ ├── InformationTitleVendorParser
│ ├── resources
│ │ ├── InformationParser.jnlp
│ │ ├── TitleParser.jnlp
│ │ ├── TitleVendorParser.jnlp
│ │ └── VendorParser.jnlp
│ └── testcases
│ │ └── InformationTitleVendorParserTest.java
│ ├── JSObjectFromEval
│ ├── resources
│ │ ├── JSObjectFromEval.html
│ │ └── JSObjectFromEval.js
│ ├── srcs
│ │ └── JSObjectFromEval.java
│ └── testcases
│ │ └── JSObjectFromEvalTest.java
│ ├── JSObjectWithoutToString
│ ├── resources
│ │ ├── JSObjectWithoutToString.html
│ │ └── JSObjectWithoutToString.js
│ ├── srcs
│ │ └── JSObjectWithoutToString.java
│ └── testcases
│ │ └── JSObjectWithoutToStringTest.java
│ ├── JSToJFuncParam
│ ├── resources
│ │ ├── JSToJFuncParam.html
│ │ ├── JSToJava_FuncParam.js
│ │ └── jstoj-funcparam.jnlp
│ ├── srcs
│ │ └── JSToJFuncParam.java
│ └── testcases
│ │ └── JSToJFuncParamTest.java
│ ├── JSToJFuncResol
│ ├── resources
│ │ ├── JSToJFuncResol.html
│ │ ├── JSToJava_FuncResol.js
│ │ └── jstoj-funcresol.jnlp
│ ├── srcs
│ │ └── JSToJFuncResol.java
│ └── testcases
│ │ └── JSToJFuncResolTest.java
│ ├── JSToJFuncReturn
│ ├── resources
│ │ ├── JSToJFuncReturn.html
│ │ ├── JSToJava_FuncReturn.js
│ │ └── jstoj-funcreturn.jnlp
│ ├── srcs
│ │ └── JSToJFuncReturn.java
│ └── testcases
│ │ └── JSToJFuncReturnTest.java
│ ├── JSToJGet
│ ├── resources
│ │ ├── JSToJGet.html
│ │ ├── JSToJ_auxiliary.js
│ │ ├── JSToJava_Get.js
│ │ └── jstoj-get.jnlp
│ ├── srcs
│ │ └── JSToJGet.java
│ └── testcases
│ │ └── JSToJGetTest.java
│ ├── JSToJSet
│ ├── resources
│ │ ├── JSToJSet.html
│ │ ├── JSToJava_Set.js
│ │ └── jstoj-set.jnlp
│ ├── srcs
│ │ └── JSToJSet.java
│ └── testcases
│ │ └── JSToJSetTest.java
│ ├── JSToJTypeConv
│ ├── resources
│ │ ├── JSToJTypeConv.html
│ │ ├── JSToJava_TypeConv.js
│ │ └── jstoj-typeconv.jnlp
│ ├── srcs
│ │ └── JSToJTypeConv.java
│ └── testcases
│ │ └── JSToJTypeConvTest.java
│ ├── JToJSString
│ ├── resources
│ │ ├── JSTest.js
│ │ ├── JToJSString.html
│ │ ├── JToJSString.js
│ │ ├── JToJSStringApplet.jnlp
│ │ └── JToJSStringJnlpApplet.html
│ ├── srcs
│ │ └── JToJSString.java
│ └── testcases
│ │ └── JToJSStringTest.java
│ ├── JavascriptFuncParam
│ ├── resources
│ │ ├── JavascriptFuncParam.html
│ │ ├── JavascriptFuncParam.js
│ │ └── javascript-funcparam.jnlp
│ ├── srcs
│ │ └── JavascriptFuncParam.java
│ └── testcases
│ │ └── JavascriptFuncParamTest.java
│ ├── JavascriptFuncReturn
│ ├── resources
│ │ ├── JavascriptFuncReturn.html
│ │ ├── JavascriptFuncReturn.jnlp
│ │ └── JavascriptFuncReturn.js
│ ├── srcs
│ │ └── JavascriptFuncReturn.java
│ └── testcases
│ │ └── JavascriptFuncReturnTest.java
│ ├── JavascriptGet
│ ├── resources
│ │ ├── JavascriptGet.html
│ │ ├── Javascript_Get.js
│ │ └── javascript-get.jnlp
│ ├── srcs
│ │ └── JavascriptGet.java
│ └── testcases
│ │ └── JavascriptGetTest.java
│ ├── JavascriptSet
│ ├── resources
│ │ ├── JavascriptSet.html
│ │ ├── Javascript_Set.js
│ │ └── javascript-set.jnlp
│ ├── srcs
│ │ └── JavascriptSet.java
│ └── testcases
│ │ └── JavascriptSetTest.java
│ ├── JavascriptURLProtocol
│ ├── resources
│ │ ├── JavascriptProtocol.html
│ │ └── JavascriptProtocol.js
│ ├── srcs
│ │ └── JavascriptProtocol.java
│ └── testcases
│ │ └── JavascriptProtocolTest.java
│ ├── JavawsAWTRobotFindsButton
│ ├── resources
│ │ └── javaws-awtrobot-finds-button.jnlp
│ ├── srcs
│ │ └── JavawsAWTRobotFindsButton.java
│ └── testcases
│ │ ├── JavawsAWTRobotFindsButtonTest.java
│ │ └── buttonA.png
│ ├── JavawsAWTRobotUsageSample
│ ├── resources
│ │ ├── AppletAWTRobotUsageSample.html
│ │ └── javaws-awtrobot-usage-sample.jnlp
│ ├── srcs
│ │ └── JavawsAWTRobotUsageSample.java
│ └── testcases
│ │ ├── AppletAWTRobotUsageSampleTest.java
│ │ └── JavawsAWTRobotUsageSampleTest.java
│ ├── JnlpHrefAttribute
│ ├── resources
│ │ ├── JnlpHrefAttribute.html
│ │ └── JnlpHrefAttribute.jnlp
│ ├── srcs
│ │ └── JnlpHrefAttribute.java
│ └── testcases
│ │ └── JnlpHrefAttributeTest.java
│ ├── LocalesTest
│ └── testcases
│ │ └── LocalesTestTest.java
│ ├── LocalisedInformationElement
│ ├── resources
│ │ ├── LocalisedInformationElement1.jnlp
│ │ ├── LocalisedInformationElement2.jnlp
│ │ ├── LocalisedInformationElement3.jnlp
│ │ ├── LocalisedInformationElement4.jnlp
│ │ └── LocalisedInformationElement_noLoc.jnlp
│ ├── srcs
│ │ └── LocalisedInformationElement.java
│ └── testcases
│ │ └── LocalisedInformationElementTest.java
│ ├── ManifestedJar1
│ ├── resources
│ │ ├── ManifestedJar-1main2mainAppDesc.jnlp
│ │ ├── ManifestedJar-1main2mainNoAppDesc.jnlp
│ │ ├── ManifestedJar-1main2nothingNoAppDesc.jnlp
│ │ ├── ManifestedJar-1mainHaveAppDesc.jnlp
│ │ ├── ManifestedJar-1mainNoAppDesc.jnlp
│ │ ├── ManifestedJar-1noAppDesc.jnlp
│ │ ├── ManifestedJar-1noAppDescAtAll.jnlp
│ │ ├── ManifestedJar-1nothing2nothingAppDesc.jnlp
│ │ └── ManifestedJar-1nothing2nothingNoAppDesc.jnlp
│ ├── srcs
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── ManifestedJar1.java
│ └── testcases
│ │ └── ManifestedJar1Test.java
│ ├── ManifestedJar2
│ └── srcs
│ │ ├── META-INF
│ │ └── MANIFEST.MF
│ │ └── ManifestedJar2.java
│ ├── ParametrizedJarUrl
│ ├── resources
│ │ ├── ParametrizedJarAppletUrl.jnlp
│ │ ├── ParametrizedJarAppletUrl2.jnlp
│ │ ├── ParametrizedJarAppletUrlSigned.jnlp
│ │ ├── ParametrizedJarAppletUrlSigned2.jnlp
│ │ ├── ParametrizedJarUrl.html
│ │ ├── ParametrizedJarUrl1.jnlp
│ │ ├── ParametrizedJarUrl2.jnlp
│ │ ├── ParametrizedJarUrlSigned.html
│ │ ├── ParametrizedJarUrlSigned1.jnlp
│ │ └── ParametrizedJarUrlSigned2.jnlp
│ └── testcases
│ │ └── ParametrizedJarUrlTests.java
│ ├── ReadEnvironment
│ ├── resources
│ │ └── ReadEnvironment.jnlp
│ ├── srcs
│ │ └── ReadEnvironment.java
│ └── testcases
│ │ └── ReadEnvironmentTest.java
│ ├── ReadProperties
│ ├── resources
│ │ ├── ReadProperties1.jnlp
│ │ └── ReadProperties2.jnlp
│ ├── srcs
│ │ └── ReadProperties.java
│ └── testcases
│ │ └── ReadPropertiesTest.java
│ ├── RedirectStreams
│ ├── resources
│ │ └── RedirectStreams.jnlp
│ ├── srcs
│ │ └── RedirectStreams.java
│ └── testcases
│ │ └── RedirectStreamsTest.java
│ ├── ReplaceSecurityManager
│ ├── resources
│ │ └── ReplaceSecurityManager.jnlp
│ ├── srcs
│ │ └── ReplaceSecurityManager.java
│ └── testcases
│ │ └── ReplaceSecurityManagerTest.java
│ ├── ResizeApplet
│ ├── resources
│ │ └── ResizeApplet.html
│ ├── srcs
│ │ └── ResizeApplet.java
│ └── testcases
│ │ └── ResizeAppletTests.java
│ ├── SOPBypass
│ ├── resources
│ │ ├── SOPBypass.html
│ │ ├── SOPBypass.jnlp
│ │ ├── SOPBypassSigned.html
│ │ └── SOPBypassSigned.jnlp
│ ├── srcs
│ │ └── SOPBypass.java
│ └── testcases
│ │ └── sopbypasstests
│ │ ├── SOPBypassBeforeAndAfterChunks.java
│ │ ├── SOPBypassHtmlAppletTest.java
│ │ ├── SOPBypassJnlpAppletTest.java
│ │ ├── SOPBypassJnlpAppletTestWithHtmlSwitch.java
│ │ ├── SOPBypassSignedHtmlAppletTest.java
│ │ ├── SOPBypassSignedJnlpAppletTest.java
│ │ ├── SOPBypassSignedJnlpAppletTestWithHtmlSwitch.java
│ │ └── SOPBypassUtil.java
│ ├── SandboxUnsignedAllPerm
│ ├── resources
│ │ ├── SandboxUnsignedAllPerm.html
│ │ ├── SandboxUnsignedAllPerm.jnlp
│ │ ├── SandboxUnsignedAllPerm_applet.jnlp
│ │ ├── SandboxUnsignedAllPerm_applet_security.jnlp
│ │ └── SandboxUnsignedAllPerm_security.jnlp
│ ├── srcs
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── SandboxUnsignedAllPerm.java
│ └── testcases
│ │ └── SandboxUnsignedAllPermTest.java
│ ├── SandboxUnsignedInvalid
│ ├── resources
│ │ ├── SandboxUnsignedInvalid.html
│ │ ├── SandboxUnsignedInvalid.jnlp
│ │ ├── SandboxUnsignedInvalid_applet.jnlp
│ │ ├── SandboxUnsignedInvalid_applet_security.jnlp
│ │ └── SandboxUnsignedInvalid_security.jnlp
│ ├── srcs
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── SandboxUnsignedInvalid.java
│ └── testcases
│ │ └── SandboxUnsignedInvalidTest.java
│ ├── SandboxUnsignedMissing
│ ├── resources
│ │ ├── SandboxUnsignedMissing.html
│ │ ├── SandboxUnsignedMissing.jnlp
│ │ ├── SandboxUnsignedMissing_applet.jnlp
│ │ ├── SandboxUnsignedMissing_applet_security.jnlp
│ │ └── SandboxUnsignedMissing_security.jnlp
│ ├── srcs
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── SandboxUnsignedMissing.java
│ └── testcases
│ │ ├── SandboxUnsignedMissingTest.java
│ │ └── SandboxUnsignedMissingTestHighSecurity.java
│ ├── SandboxUnsignedSandbox
│ ├── resources
│ │ ├── SandboxUnsignedSandbox.html
│ │ ├── SandboxUnsignedSandbox.jnlp
│ │ ├── SandboxUnsignedSandbox_applet.jnlp
│ │ ├── SandboxUnsignedSandbox_applet_security.jnlp
│ │ └── SandboxUnsignedSandbox_security.jnlp
│ ├── srcs
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── SandboxUnsignedSandbox.java
│ └── testcases
│ │ └── SandboxUnsignedSandboxTest.java
│ ├── SetContextClassLoader
│ ├── resources
│ │ └── SetContextClassLoader.jnlp
│ ├── srcs
│ │ └── SetContextClassLoader.java
│ └── testcases
│ │ └── SetContextClassLoaderTest.java
│ ├── SimpleApplet
│ └── srcs
│ │ └── SimpleApplet.java
│ ├── SingleInstanceServiceTest
│ ├── resources
│ │ ├── SingleInstanceTest.jnlp
│ │ ├── SingleInstanceTestWS.jnlp
│ │ ├── SingleInstanceTest_clasical.html
│ │ └── SingleInstanceTest_jnlpHref.html
│ ├── srcs
│ │ └── SingleInstanceChecker.java
│ └── testcases
│ │ └── SingleInstanceTest.java
│ ├── Spaces can be everywhere
│ ├── resources
│ │ ├── NotOnly spaces can kill ěščřž too.jnlp
│ │ ├── Spaces can be everywhere1.jnlp
│ │ ├── Spaces can be everywhere2.jnlp
│ │ ├── SpacesCanBeEverywhere1.jnlp
│ │ └── spaces applet Tests.html
│ ├── srcs
│ │ └── SpacesCanBeEverywhere.java
│ └── testcases
│ │ └── SpacesCanBeEverywhereTests.java
│ ├── StripHttpPathParams
│ ├── resources
│ │ ├── StripHttpPathParams.html
│ │ └── StripHttpPathParams.jnlp
│ ├── srcs
│ │ └── StripHttpPathParams.java
│ └── testcases
│ │ └── StripHttpPathParamsTest.java
│ ├── UnicodeLineBreak
│ ├── resources
│ │ └── UnicodeLineBreak.html
│ ├── srcs
│ │ └── UnicodeLineBreak.java
│ └── testcases
│ │ └── UnicodeLineBreakTests.java
│ ├── UnsignedJnlpApplication
│ ├── resources
│ │ ├── UnsignedJnlpApplication1.jnlp
│ │ ├── UnsignedJnlpApplication2.jnlp
│ │ └── UnsignedJnlpApplication3.jnlp
│ ├── srcs
│ │ ├── JNLP-INF
│ │ │ └── APPLICATION.jnlp
│ │ └── UnsignedJnlpApplication.java
│ └── testcases
│ │ └── UnsignedJnlpApplicationTest.java
│ ├── UnsignedJnlpTemplate
│ ├── resources
│ │ ├── UnsignedJnlpTemplate1.jnlp
│ │ ├── UnsignedJnlpTemplate2.jnlp
│ │ └── UnsignedJnlpTemplate3.jnlp
│ ├── srcs
│ │ ├── JNLP-INF
│ │ │ └── APPLICATION_TEMPLATE.jnlp
│ │ └── UnsignedJnlpTemplate.java
│ └── testcases
│ │ └── UnsignedJnlpTemplateTest.java
│ ├── VersionedJar__V1
│ ├── resources
│ │ ├── VersionedJarDisabled.jnlp
│ │ └── VersionedJarEnabled.jnlp
│ ├── srcs
│ │ └── VersionedJar.java
│ └── testcases
│ │ └── VersionedJarTest.java
│ ├── deadlocktest
│ ├── resources
│ │ ├── deadlocktest.jnlp
│ │ └── deadlocktest_1.jnlp
│ ├── srcs
│ │ └── DeadlockTest.java
│ └── testcases
│ │ └── DeadLockTestTest.java
│ ├── encodingTests
│ ├── resources
│ │ ├── encodingTest1-ISO88592.jnlp
│ │ ├── encodingTest1-UTF8.jnlp
│ │ ├── encodingTest2-ISO88592.jnlp
│ │ ├── encodingTest2-UTF8.jnlp
│ │ ├── encodingTest3-ISO88592.jnlp
│ │ ├── encodingTest3-UTF8.jnlp
│ │ ├── encodingTest4-ISO88592.html
│ │ ├── encodingTest4-UTF8.html
│ │ ├── encodingTest5-ISO88592.jnlp
│ │ └── encodingTest5-UTF8.jnlp
│ ├── srcs
│ │ └── EncodingTest.java
│ └── testcases
│ │ └── EncodingTestTest.java
│ ├── jsengine
│ ├── resources
│ │ ├── jsengine.jnlp
│ │ ├── jsengineApplet.html
│ │ └── jsengineApplet.jnlp
│ ├── srcs
│ │ ├── jsengine.java
│ │ └── jsengineApplet.java
│ └── testcases
│ │ └── jsengineTest.java
│ ├── simpletest1
│ ├── resources
│ │ ├── favicon.ico
│ │ ├── netxPlugin.png
│ │ ├── simpletest1.jnlp
│ │ ├── simpletestCustomSplash.jnlp
│ │ ├── simpletestMegaSlow.jnlp
│ │ ├── simpletestSlow.jnlp
│ │ ├── simpletestSlowBrokenCustomSplash.jnlp
│ │ └── simpletestSlowSlowCustomSplash.jnlp
│ ├── srcs
│ │ └── SimpleTest1.java
│ └── testcases
│ │ ├── SimpleTest1CountRequests.java
│ │ ├── SimpleTest1Test.java
│ │ ├── SimpleTestDefaultRedirects.java
│ │ └── XDGspecificationTests.java
│ └── simpletest2
│ ├── resources
│ └── simpletest2.jnlp
│ ├── srcs
│ └── SimpleTest2.java
│ └── testcases
│ └── SimpleTest2Test.java
├── integration
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── net
│ │ │ └── adoptopenjdk
│ │ │ └── icedteaweb
│ │ │ └── integration
│ │ │ ├── IntegrationTest.java
│ │ │ ├── ItwLauncher.java
│ │ │ ├── MapBuilder.java
│ │ │ ├── TemporaryItwHome.java
│ │ │ ├── WireMockConfigBuilder.java
│ │ │ └── serversetup
│ │ │ ├── GetRequestConfigBuilder1.java
│ │ │ ├── GetRequestConfigBuilder2.java
│ │ │ ├── HeadRequestConfigBuilder1.java
│ │ │ ├── HeadRequestConfigBuilder2.java
│ │ │ ├── HeadRequestConfigBuilder3.java
│ │ │ ├── JnlpServer1.java
│ │ │ ├── JnlpServer2.java
│ │ │ └── ResourceServer.java
│ └── resources
│ │ └── javaws.ico
│ └── test
│ ├── java
│ └── net
│ │ └── adoptopenjdk
│ │ └── icedteaweb
│ │ └── integration
│ │ ├── common
│ │ └── ManagedApplicationFileWriter.java
│ │ ├── reproducers
│ │ ├── appletDescMainClassWithClass
│ │ │ ├── AppletDescMainClassWithClass1Test.java
│ │ │ ├── AppletDescMainClassWithClass2Test.java
│ │ │ ├── applications
│ │ │ │ └── AppletDescMainClassWithClass.java
│ │ │ └── jnlps
│ │ │ │ ├── AppletDescMainClassWithClass1.jnlp
│ │ │ │ └── AppletDescMainClassWithClass2.jnlp
│ │ ├── extensionresources
│ │ │ ├── ManagedApplicationWithExtensionResourceStartedTest.java
│ │ │ ├── applications
│ │ │ │ └── ExtensionResourceManagedApplication.java
│ │ │ └── jnlps
│ │ │ │ ├── ComponentExtension.jnlp
│ │ │ │ └── ManagedApplicationWithExtensionResource.jnlp
│ │ ├── missingCodebases
│ │ │ ├── MissingCodebases0Test.java
│ │ │ ├── MissingCodebases11Test.java
│ │ │ ├── MissingCodebases1Test.java
│ │ │ ├── MissingCodebases22Test.java
│ │ │ ├── MissingCodebases2Test.java
│ │ │ ├── MissingCodebases33Test.java
│ │ │ ├── MissingCodebases3Test.java
│ │ │ ├── MissingCodebasesH0Test.java
│ │ │ ├── MissingCodebasesH11Test.java
│ │ │ ├── MissingCodebasesH1Test.java
│ │ │ ├── MissingCodebasesH22Test.java
│ │ │ ├── MissingCodebasesH2Test.java
│ │ │ ├── MissingCodebasesH33Test.java
│ │ │ ├── MissingCodebasesH3Test.java
│ │ │ ├── applications
│ │ │ │ └── MissingCodebases.java
│ │ │ └── jnlps
│ │ │ │ ├── MissingCodebases0.jnlp
│ │ │ │ ├── MissingCodebases1.jnlp
│ │ │ │ ├── MissingCodebases11.jnlp
│ │ │ │ ├── MissingCodebases2.jnlp
│ │ │ │ ├── MissingCodebases22.jnlp
│ │ │ │ ├── MissingCodebases3.jnlp
│ │ │ │ ├── MissingCodebases33.jnlp
│ │ │ │ ├── MissingCodebasesH0.jnlp
│ │ │ │ ├── MissingCodebasesH1.jnlp
│ │ │ │ ├── MissingCodebasesH11.jnlp
│ │ │ │ ├── MissingCodebasesH2.jnlp
│ │ │ │ ├── MissingCodebasesH22.jnlp
│ │ │ │ ├── MissingCodebasesH3.jnlp
│ │ │ │ └── MissingCodebasesH33.jnlp
│ │ └── progressclass
│ │ │ ├── ManagedApplicationWithProgressClassTest.java
│ │ │ ├── applications
│ │ │ └── ProgressClassManagedApplication.java
│ │ │ └── jnlps
│ │ │ └── ManagedApplicationWithProgressClass.jnlp
│ │ └── testcase1
│ │ ├── JvmArgumentsPassedTest.java
│ │ ├── ManagedApplicationStartedTest.java
│ │ ├── ManagedApplicationStartedWithoutHeadTest.java
│ │ ├── ManagedApplicationSystemEnvironmentTest.java
│ │ ├── SplashScreenIconTest.java
│ │ ├── SystemPropertiesSetTest.java
│ │ ├── applications
│ │ ├── SecureJavaApplication.java
│ │ └── SimpleJavaApplication.java
│ │ ├── jnlps
│ │ ├── SimpleJavaApplication.jnlp
│ │ ├── SimpleJavaApplicationWithArguments.jnlp
│ │ ├── SimpleJavaApplicationWithProperties.jnlp
│ │ └── SimpleJavaApplicationWithSplash.jnlp
│ │ └── resources
│ │ └── javaws.png
│ └── resources
│ └── simplelogger.properties
├── jnlp-api
├── pom.xml
└── src
│ └── main
│ └── java
│ └── javax
│ └── jnlp
│ ├── BasicService.java
│ ├── ClipboardService.java
│ ├── DownloadService.java
│ ├── DownloadService2.java
│ ├── DownloadServiceListener.java
│ ├── ExtendedService.java
│ ├── ExtensionInstallerService.java
│ ├── FileContents.java
│ ├── FileOpenService.java
│ ├── FileSaveService.java
│ ├── IntegrationService.java
│ ├── JNLPRandomAccessFile.java
│ ├── PersistenceService.java
│ ├── PrintService.java
│ ├── ServiceManager.java
│ ├── ServiceManagerStub.java
│ ├── SingleInstanceListener.java
│ ├── SingleInstanceService.java
│ └── UnavailableServiceException.java
├── launchers
├── build.sh
├── completion.in
│ ├── itweb-settings.bash.in
│ ├── javaws.bash.in
│ └── policyeditor.bash.in
├── configure.sh
├── itw-modularjdk.args
├── javaws.ico
├── javaws.png
├── metadata
│ └── icedtea-web-javaws.appdata.xml
├── pom.xml
├── rust-launcher
│ ├── Cargo.toml
│ └── src
│ │ ├── dirs_paths_helper.rs
│ │ ├── hardcoded_paths.rs
│ │ ├── jars_helper.rs
│ │ ├── log_helper.rs
│ │ ├── main.rs
│ │ ├── os_access.rs
│ │ ├── property.rs
│ │ ├── property_from_file.rs
│ │ ├── property_from_files_resolver.rs
│ │ └── utils.rs
├── shell-launcher
│ ├── launchers.bat.in
│ └── launchers.sh.in
├── utils.sh
├── win-installer
│ ├── LICENSE.rtf
│ ├── greetings_banner.bmp
│ ├── icon.ico
│ ├── installer.json.in
│ └── top_banner.bmp
└── xdesktop.in
│ ├── itweb-settings.desktop.in
│ ├── javaws.desktop.in
│ └── policyeditor.desktop.in
├── pom.xml
├── test-extensions
├── pom.xml
└── src
│ └── main
│ └── java
│ └── net
│ └── adoptopenjdk
│ └── icedteaweb
│ └── testing
│ ├── AnnotationConditionChecker.java
│ ├── AsyncCall.java
│ ├── ClosingListener.java
│ ├── ContentReader.java
│ ├── ContentReaderListener.java
│ ├── LogItem.java
│ ├── LoggingBottleneck.java
│ ├── ProcessAssassin.java
│ ├── ProcessResult.java
│ ├── ProcessWrapper.java
│ ├── ServerAccess.java
│ ├── ServerLauncher.java
│ ├── TestsLogs.java
│ ├── ThreadedProcess.java
│ ├── TinyHttpdImpl.java
│ ├── annotations
│ ├── Bug.java
│ ├── KnownToFail.java
│ ├── NeedsDisplay.java
│ ├── Remote.java
│ ├── TestInBrowsers.java
│ └── WindowsIssue.java
│ ├── awt
│ ├── AWTFrameworkException.java
│ ├── AWTHelper.java
│ └── MouseActions.java
│ ├── browsertesting
│ ├── Browser.java
│ ├── BrowserFactory.java
│ ├── BrowserTest.java
│ ├── BrowserTestRunner.java
│ ├── Browsers.java
│ ├── ReactingProcess.java
│ └── browsers
│ │ ├── Chrome.java
│ │ ├── Chromium.java
│ │ ├── Epiphany.java
│ │ ├── Firefox.java
│ │ ├── LinuxBrowser.java
│ │ ├── Midory.java
│ │ ├── MozillaFamilyLinuxBrowser.java
│ │ ├── Opera.java
│ │ └── firefox
│ │ └── FirefoxProfilesOperator.java
│ ├── closinglisteners
│ ├── CountingClosingListener.java
│ ├── Rule.java
│ ├── RulesFollowingClosingListener.java
│ └── StringRule.java
│ ├── tools
│ └── CodeSignerCreator.java
│ └── util
│ ├── CacheTestUtils.java
│ └── FileTestUtils.java
└── xml-parser
├── pom.xml
└── src
├── main
└── java
│ └── net
│ └── adoptopenjdk
│ └── icedteaweb
│ └── xmlparser
│ ├── MalformedXMLParser.java
│ ├── NodeUtils.java
│ ├── ParseException.java
│ ├── ParserType.java
│ ├── XMLParser.java
│ ├── XMLSanitizer.java
│ ├── XmlNode.java
│ ├── XmlNodeImpl.java
│ ├── XmlParserFactory.java
│ └── XmlStreamReader.java
└── test
├── java
└── net
│ └── adoptopenjdk
│ └── icedteaweb
│ └── xmlparser
│ ├── ParserMalformedXmlTest.java
│ ├── XMLSanitizerTest.java
│ └── XmlStreamReaderTest.java
└── resources
└── jnlps
├── EFBBBF.jnlp
└── basic.jnlp
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Declare files that will always have LF line endings on checkout.
2 | *.sh eol=lf
3 |
4 | # Declare files that will always have CRLF line endings on checkout.
5 | *.bat text eol=crlf
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | # See for why we need this blank file https://stackoverflow.com/a/65389878
2 | # This placeholder is used to trigger the actual 1.8 build workflow at https://github.com/AdoptOpenJDK/IcedTea-Web/blob/1.8/.github/workflows/build.yml
3 |
4 | # Steps to run
5 | # Go to Actions, select Build ITW 1.8.x and run workflow with Use workflow from set to 1.8
6 |
7 | name: Build ITW 1.8.x
8 |
9 | on:
10 | workflow_dispatch:
11 |
12 | jobs:
13 | test:
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Show environment
17 | run: env | grep ^GITHUB
18 | - name: Show ref v1
19 | run: echo "===============> Version from $GITHUB_REF"
20 |
--------------------------------------------------------------------------------
/.github/workflows/maven.yml:
--------------------------------------------------------------------------------
1 | # This workflow will build a Java project with Maven
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3 |
4 | name: Java CI with Maven
5 |
6 | on:
7 | push:
8 | branches: [ master ]
9 | pull_request:
10 | branches: [ master ]
11 |
12 | jobs:
13 | build:
14 |
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - name: Checkout Project
19 | uses: actions/checkout@v2
20 | - name: Set up JDK 1.8
21 | uses: actions/setup-java@v1
22 | with:
23 | java-version: 1.8
24 | - name: Build with Maven
25 | uses: GabrielBB/xvfb-action@v1
26 | with:
27 | run: mvn clean verify
28 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .classpath
3 | .idea
4 | .project
5 | .settings/
6 | *.iml
7 | **/target
8 | **/dependency-reduced-pom.xml
9 |
10 | launchers/build.log
11 | launchers/rust-launcher/Cargo.lock
12 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to IcedTeaWeb
2 |
3 | As an open source project, IcedTeaWeb welcomes contributions of many forms.
4 |
5 | ## Bug reporting
6 |
7 | Please use the [issue tracker on GitHub][1].
8 |
9 | Please make sure to check these notes whenever you create an issue for IcedTeaWeb:
10 | - If you are not using the latest version of IcedTeaWeb please add the used version in the description
11 | - Please give us some information about the infrastructure that you are using. Examples: AdoptOpenJDK Version 11.0.2 on Win10
12 | - In case of an error / bug it's always helpful to add the error log
13 |
14 | [1]: https://github.com/AdoptOpenJDK/icedtea-web/issues
15 |
16 | ## Patches submission
17 |
18 | Patches are welcome as [pull requests on GitHub][2]
19 |
20 | [2]: https://github.com/AdoptOpenJDK/icedtea-web/pulls
21 |
--------------------------------------------------------------------------------
/LICENCE_DETAILS.md:
--------------------------------------------------------------------------------
1 | # Licence details:
2 | All newest files, unless claiming differently and all files inherited from GNU Classpath (mostly base of plugin) are GPL+Exceptions
3 | NetX code is GPL and LGPL only.
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | We currently support the following versions with security updates.
6 |
7 | | Version | Supported |
8 | | ------- | ------------------ |
9 | | 1.x.x | :x: |
10 | | 2.x.x | :white_check_mark: |
11 | | 3.x.x | :white_check_mark: |
12 |
13 | ## Reporting a Vulnerability
14 |
15 | Please report vulnerabilities to [security@adoptopenjdk.net](security@adoptopenjdk.net).
16 |
17 | A member of the security team will respond within 48 hours with details on how to proceed including whether or not the vulnerability was accepted, declined or requires further investigation.
18 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/CollectionUtils.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb;
2 |
3 | import java.util.Collection;
4 |
5 | /**
6 | * Helper methods around collections and arrays.
7 | */
8 | public class CollectionUtils {
9 |
10 | public static boolean isNullOrEmpty(Collection> c) {
11 | return c == null || c.isEmpty();
12 | }
13 |
14 | public static boolean isNullOrEmpty(Object[] a) {
15 | return a == null || a.length == 0;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/IcedTeaWebConstants.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb;
2 |
3 | public interface IcedTeaWebConstants {
4 |
5 | /**
6 | * Used as default message when logging exception.
7 | * Should be removed in future since each logger call should have a message that describes the error.
8 | */
9 | @Deprecated
10 | String DEFAULT_ERROR_MESSAGE = "ERROR";
11 |
12 | String DOUBLE_QUOTE = "\"";
13 |
14 | String JAVAWS = "javaws";
15 | String ITWEB_SETTINGS = "itweb-settings";
16 | String POLICY_EDITOR = "policyeditor";
17 |
18 | String ICEDTEA_WEB_SPLASH = "ICEDTEA_WEB_SPLASH";
19 | String NO_SPLASH = "none";
20 | }
21 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/OutputUtils.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb;
2 |
3 | import java.io.PrintWriter;
4 | import java.io.StringWriter;
5 |
6 | public class OutputUtils {
7 | public static String exceptionToString(final Throwable throwable) {
8 | if (throwable == null) {
9 | return null;
10 | }
11 | final StringWriter sw = new StringWriter();
12 | final PrintWriter pw = new PrintWriter(sw, true);
13 | throwable.printStackTrace(pw);
14 | return sw.getBuffer().toString();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/commandline/NumberOfArguments.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.commandline;
2 |
3 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
4 |
5 | public enum NumberOfArguments {
6 | NONE("NOAnone"),
7 | ONE("NOAone"),
8 | ONE_OR_MORE("NOAonemore"),
9 | NONE_OR_ONE("NOAnonorone"),
10 | EVEN_NUMBER_SUPPORTS_EQUALS_CHAR("NOAevennumber");
11 |
12 | final String messageKey;
13 |
14 | NumberOfArguments(String messageKey) {
15 | this.messageKey = messageKey;
16 | }
17 |
18 | public String getMessage() {
19 | return R(messageKey);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/http/CloseableHttpConnection.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.http;
2 |
3 | import java.io.Closeable;
4 | import java.io.IOException;
5 | import java.net.HttpURLConnection;
6 |
7 | /**
8 | * {@link Closeable} wrapper around a {@link HttpURLConnection}.
9 | *
10 | * Only the needed methods of HttpURLConnection are exposed.
11 | *
12 | * Closing the connection will trigger a disconnect on the underlying HttpUrlConnection
13 | */
14 | public class CloseableHttpConnection extends CloseableConnection {
15 | private final HttpURLConnection delegate;
16 |
17 | CloseableHttpConnection(final HttpURLConnection delegate) {
18 | super(delegate);
19 | this.delegate = delegate;
20 | }
21 |
22 | /**
23 | * triggers {@link HttpURLConnection#disconnect()}.
24 | */
25 | @Override
26 | public void close() {
27 | delegate.disconnect();
28 | }
29 |
30 | /**
31 | * delegates to {@link HttpURLConnection#getResponseCode()}
32 | */
33 | public int getResponseCode() throws IOException {
34 | return delegate.getResponseCode();
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/http/HttpMethod.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.http;
2 |
3 | /**
4 | * An enumeration of the most commonly used methods for HTTP as supported by
5 | * {@link java.net.HttpURLConnection#setRequestMethod(java.lang.String) }.
6 | */
7 | public enum HttpMethod {
8 | GET,
9 | HEAD,
10 |
11 | // The following methods are currently not used
12 |
13 | // POST,
14 | // PUT,
15 | // OPTIONS,
16 | // DELETE,
17 | // TRACE,
18 | }
19 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/i18n/SupportedLanguages.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.i18n;
2 |
3 | import java.util.Locale;
4 |
5 | public enum SupportedLanguages {
6 | ENGLISH("en"),
7 | CZECH("cs"),
8 | GERMAN("de"),
9 | POLISH("pl");
10 |
11 | private Locale locale;
12 |
13 | SupportedLanguages(String language) {
14 | try {
15 | this.locale = new Locale(language);
16 | } catch (Exception ex) {
17 | throw new IllegalStateException("Unknown language.");
18 | }
19 | }
20 |
21 | public Locale getLocale() {
22 | return this.locale;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/icon/IconConstants.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.icon;
2 |
3 | public interface IconConstants {
4 |
5 | String IMAGE_VND_MICROSOFT_ICON = "image/vnd.microsoft.icon";
6 |
7 | String ICO = "ico";
8 |
9 | String ICO_CAMELCASE = "Ico";
10 |
11 | String ICO_UPPERCASE = "ICO";
12 |
13 | String IMAGE_X_ICON = "image/x-icon";
14 | }
15 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/os/OsUtil.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.os;
2 |
3 | import net.adoptopenjdk.icedteaweb.JavaSystemProperties;
4 |
5 | /**
6 | * Copied from RICO (https://github.com/rico-projects/rico)
7 | */
8 | public class OsUtil {
9 |
10 | private static final String WIN = "win";
11 |
12 | private static final String LINUX = "linux";
13 |
14 | /**
15 | * Returns {@code true} if we are on windows.
16 | *
17 | * @return {@code true} if we are on windows.
18 | */
19 | public static boolean isWindows() {
20 | return isOs(WIN);
21 | }
22 |
23 | public static boolean isLinux() {
24 | return isOs(LINUX);
25 | }
26 |
27 | private static boolean isOs(String osName) {
28 | String operSys = JavaSystemProperties.getOsName().toLowerCase();
29 | return (operSys.contains(osName));
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/common/src/main/java/net/adoptopenjdk/icedteaweb/ui/swing/dialogresults/Primitive.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.ui.swing.dialogresults;
2 |
3 | public enum Primitive {
4 |
5 | YES(0), NO(1), CANCEL(2), SANDBOX(2), SKIP(0);
6 |
7 | private final int legacyButton;
8 |
9 | Primitive(int legacyButton) {
10 | this.legacyButton = legacyButton;
11 | }
12 |
13 | public int getLegacyButton() {
14 | return legacyButton;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/common/src/main/resources/net/adoptopenjdk/icedteaweb/i18n/Messages_en.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/common/src/main/resources/net/adoptopenjdk/icedteaweb/i18n/Messages_en.properties
--------------------------------------------------------------------------------
/common/src/test/java/net/adoptopenjdk/icedteaweb/jnlp/version/VersionSeparator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.jnlp.version;
2 |
3 | /**
4 | * Enum of all separators as defined for {@link VersionRange}s and {@link VersionString}s as defined
5 | * by JSR-56 Specification, Appendix A.
6 | */
7 | public enum VersionSeparator {
8 | DOT("."),
9 | MINUS("-"),
10 | UNDERSCORE("_"),
11 | SPACE(" ");
12 |
13 | private String symbol;
14 |
15 | VersionSeparator(final String symbol) {
16 | this.symbol = symbol;
17 | }
18 |
19 | public String symbol() {
20 | return symbol;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/common/src/test/resources/net/adoptopenjdk/icedteaweb/i18n/res1.properties:
--------------------------------------------------------------------------------
1 | foo=11
2 | bar=11
3 |
--------------------------------------------------------------------------------
/common/src/test/resources/net/adoptopenjdk/icedteaweb/i18n/res2.properties:
--------------------------------------------------------------------------------
1 | bar=22
2 | baz=22
3 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/CacheFileInfo.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel;
2 |
3 | import net.adoptopenjdk.icedteaweb.resources.cache.ResourceInfo;
4 |
5 | import java.io.File;
6 | import java.util.Date;
7 |
8 | public interface CacheFileInfo {
9 |
10 | ResourceInfo getInfoFile();
11 |
12 | File getParentFile();
13 |
14 | String getProtocol();
15 |
16 | String getDomain();
17 |
18 | long getSize();
19 |
20 | Date getLastModified();
21 |
22 | String getJnlpPath();
23 |
24 | long getDownloadedAt();
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/CacheIdInfo.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * ID for locating resources in the cache either by domain or jnlp-path.
7 | */
8 | public interface CacheIdInfo {
9 |
10 | enum CacheIdType {
11 | DOMAIN, JNLP_PATH
12 | }
13 |
14 | String getId();
15 | CacheIdType getType();
16 | List getFileInfos();
17 | }
18 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/ControlPanelStyle.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel;
2 |
3 | import javax.swing.JPanel;
4 | import java.awt.Image;
5 | import java.util.List;
6 |
7 | /**
8 | * Provides branding for the control panel dialog
9 | */
10 | public interface ControlPanelStyle {
11 |
12 | /**
13 | * Returns the dialog title
14 | * @return dialog title
15 | */
16 | String getDialogTitle();
17 |
18 | /**
19 | * Returns a new header instance for the dialog
20 | * @return header instance
21 | */
22 | JPanel createHeader();
23 |
24 | /**
25 | * Returns a list of icons that can be used as dialog icons
26 | * @return list of icons
27 | */
28 | List extends Image> getDialogIcons();
29 |
30 | /**
31 | * Returns true if the panel with the given unique name should be displayed in the control panel
32 | * @param panelName the unique panel name
33 | * @return true if the panel should be displayed
34 | */
35 | default boolean isPanelActive(final String panelName) {
36 | return true;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/AboutPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.AboutPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class AboutPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "AboutPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabAbout");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 10;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new AboutPanel();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/CacheSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.TemporaryInternetFilesPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class CacheSettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "TemporaryInternetFilesPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabCache");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 15;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new TemporaryInternetFilesPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/CertificatesSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.certificateviewer.CertificatePane;
4 | import net.adoptopenjdk.icedteaweb.client.controlpanel.NamedBorderPanel;
5 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
6 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
7 |
8 | import javax.swing.JComponent;
9 | import javax.swing.JPanel;
10 | import java.awt.BorderLayout;
11 |
12 | public class CertificatesSettingsPanelProvider implements ControlPanelProvider {
13 |
14 | public static final String NAME = "CertificatePane";
15 |
16 | @Override
17 | public String getName() {
18 | return NAME;
19 | }
20 |
21 | @Override
22 | public String getTitle() {
23 | return Translator.R("CPTabCertificate");
24 | }
25 |
26 | @Override
27 | public int getOrder() {
28 | return 20;
29 | }
30 |
31 | @Override
32 | public JComponent createPanel(final DeploymentConfiguration config) {
33 | JPanel p = new NamedBorderPanel(getName(), new BorderLayout());
34 | p.add(new CertificatePane(null), BorderLayout.CENTER);
35 | return p;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/ControlPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
4 |
5 | import javax.swing.JComponent;
6 |
7 | public interface ControlPanelProvider {
8 |
9 | String getTitle();
10 |
11 | String getName();
12 |
13 | int getOrder();
14 |
15 | JComponent createPanel(DeploymentConfiguration config);
16 |
17 | default boolean isActive(final DeploymentConfiguration config) {
18 | return true;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/DebugSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.DebuggingPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class DebugSettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "DebuggingPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabDebugging");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 30;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new DebuggingPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/DesktopSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.DesktopShortcutPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class DesktopSettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "DesktopShortcutPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabDesktopIntegration");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 40;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new DesktopShortcutPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/JvmSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.JVMPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class JvmSettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "JVMPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabJVMSettings");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 50;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new JVMPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/NetworkSettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.NetworkSettingsPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class NetworkSettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "NetworkSettingsPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabNetwork");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 60;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new NetworkSettingsPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/PolicySettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.PolicyPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class PolicySettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "PolicyPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabPolicy");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 80;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new PolicyPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/SecuritySettingsPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.SecuritySettingsPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class SecuritySettingsPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "SecuritySettingsPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabSecurity");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 70;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new SecuritySettingsPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/ServerWhitelistPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.panels.ServerWhitelistPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 |
7 | import javax.swing.JComponent;
8 |
9 | public class ServerWhitelistPanelProvider implements ControlPanelProvider {
10 |
11 | public static final String NAME = "ServerWhitelistPanel";
12 |
13 | @Override
14 | public String getName() {
15 | return NAME;
16 | }
17 |
18 | @Override
19 | public String getTitle() {
20 | return Translator.R("CPTabServerWhitelist");
21 | }
22 |
23 | @Override
24 | public int getOrder() {
25 | return 100;
26 | }
27 |
28 | @Override
29 | public JComponent createPanel(final DeploymentConfiguration config) {
30 | return new ServerWhitelistPanel(config);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/controlpanel/panels/provider/UnsignedAppletsTrustingListPanelProvider.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider;
2 |
3 | import net.adoptopenjdk.icedteaweb.client.controlpanel.UnsignedAppletsTrustingListPanel;
4 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
5 | import net.sourceforge.jnlp.config.DeploymentConfiguration;
6 | import net.sourceforge.jnlp.config.PathsAndFiles;
7 |
8 | import javax.swing.JComponent;
9 |
10 | public class UnsignedAppletsTrustingListPanelProvider implements ControlPanelProvider {
11 |
12 | public static final String NAME = "UnsignedAppletsTrustingListPanel";
13 |
14 | @Override
15 | public String getName() {
16 | return NAME;
17 | }
18 |
19 | @Override
20 | public String getTitle() {
21 | return Translator.R("APPEXTSECControlPanelExtendedAppletSecurityTitle");
22 | }
23 |
24 | @Override
25 | public int getOrder() {
26 | return 90;
27 | }
28 |
29 | @Override
30 | public JComponent createPanel(final DeploymentConfiguration config) {
31 | return new UnsignedAppletsTrustingListPanel(PathsAndFiles.APPLET_TRUST_SETTINGS_SYS.getFile(), PathsAndFiles.APPLET_TRUST_SETTINGS_USER.getFile(), config);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/client/parts/downloadindicator/DummyDownloadIndicator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.client.parts.downloadindicator;
2 |
3 | import javax.jnlp.DownloadServiceListener;
4 | import java.net.URL;
5 |
6 | public class DummyDownloadIndicator implements DownloadIndicator {
7 |
8 | @Override
9 | public DownloadServiceListener getListener(final String downloadName, final URL[] resources) {
10 | return new DownloadServiceListener() {
11 | @Override
12 | public void progress(final URL url, final String s, final long l, final long l1, final int i) {}
13 |
14 | @Override
15 | public void validating(final URL url, final String s, final long l, final long l1, final int i) {}
16 |
17 | @Override
18 | public void upgradingArchive(final URL url, final String s, final int i, final int i1) {}
19 |
20 | @Override
21 | public void downloadFailed(final URL url, final String s) {}
22 | };
23 | }
24 |
25 | @Override
26 | public void disposeListener(final DownloadServiceListener listener) {}
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/ConfigType.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config;
2 |
3 | public enum ConfigType {
4 | SYSTEM, USER
5 | }
6 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/Target.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config;
2 |
3 | public enum Target {
4 | JAVAWS, PLUGIN, ITWEB_SETTINGS, POLICY_EDITOR
5 | }
6 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/BooleanValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import java.util.Locale;
4 |
5 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
6 |
7 | /**
8 | * Checks if a value is a valid boolean
9 | */
10 | public class BooleanValidator implements ValueValidator {
11 |
12 | @Override
13 | public void validate(final Object value) throws IllegalArgumentException {
14 | if(value instanceof Boolean) {
15 | return;
16 | }
17 | if (value instanceof String) {
18 | final String lower = ((String) value).toLowerCase(Locale.ENGLISH);
19 | if (lower.equals(Boolean.TRUE.toString())
20 | || (lower.equals(Boolean.FALSE.toString()))) {
21 | return;
22 | }
23 | }
24 | throw new IllegalArgumentException("Not a boolean value: " + value);
25 | }
26 |
27 | @Override
28 | public String getPossibleValues() {
29 | return R("VVPossibleBooleanValues", Boolean.TRUE.toString(), Boolean.FALSE.toString());
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/FilePathValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import java.io.File;
4 |
5 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
6 |
7 | /**
8 | * Checks if a value is a valid file path (not a valid file!). The actual
9 | * file may or may not exist
10 | */
11 | //package private for testing purposes
12 | public class FilePathValidator implements ValueValidator {
13 |
14 | @Override
15 | public void validate(final Object value) throws IllegalArgumentException {
16 | if (value == null) {
17 | return;
18 | }
19 |
20 | if (!(value instanceof String)) {
21 | throw new IllegalArgumentException("Value should be string!");
22 | }
23 |
24 | final String possibleFile = (String) value;
25 |
26 | if (!new File(possibleFile).isAbsolute()) {
27 | throw new IllegalArgumentException("File must be absolute");
28 | }
29 |
30 | }
31 |
32 | @Override
33 | public String getPossibleValues() {
34 | return R("VVPossibleFileValues");
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/NotBlankValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import net.adoptopenjdk.icedteaweb.StringUtils;
4 |
5 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
6 |
7 | /**
8 | * Checks that the value is not null or blank
9 | */
10 | public class NotBlankValidator implements ValueValidator {
11 |
12 | @Override
13 | public void validate(final Object value) throws IllegalArgumentException {
14 | if (!(value instanceof String)) {
15 | throw new IllegalArgumentException("Must be a string");
16 | }
17 |
18 | if (StringUtils.isBlank((String) value)) {
19 | throw new IllegalArgumentException("Must not be blank");
20 | }
21 | }
22 |
23 | @Override
24 | public String getPossibleValues() {
25 | return R("VVAnyNonBlankString");
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/PortValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | /**
4 | * Checks that the value is a valid port.
5 | */
6 | public class PortValidator extends RangedIntegerValidator {
7 |
8 | private static final int HIGHEST_PORT = 65535;
9 | private static final int LOWEST_PORT = 0;
10 |
11 | public PortValidator() {
12 | super(LOWEST_PORT, HIGHEST_PORT);
13 | }
14 |
15 | @Override
16 | public void validate(final Object value) throws IllegalArgumentException {
17 | if (value == null) {
18 | return; // null for a port tells ITW to use the default port
19 | }
20 | super.validate(value);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/RustCpValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
4 |
5 | public class RustCpValidator implements ValueValidator {
6 |
7 |
8 | @Override
9 | public void validate(final Object value) throws IllegalArgumentException {
10 | //can't be wrong...
11 | //but we need that getPossibleValues description
12 | }
13 |
14 |
15 | @Override
16 | public String getPossibleValues() {
17 | return R("VVRustCpModifiers");
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/StringValueValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import java.util.Arrays;
4 |
5 | /**
6 | * Checks that the value is one of the acceptable String values
7 | */
8 | public class StringValueValidator implements ValueValidator {
9 |
10 | private final String[] options;
11 |
12 | public StringValueValidator(final String[] acceptableOptions) {
13 | options = acceptableOptions;
14 | }
15 |
16 | @Override
17 | public void validate(final Object value) throws IllegalArgumentException {
18 | if (!(value instanceof String)) {
19 | throw new IllegalArgumentException("Must be a string");
20 | }
21 |
22 | String stringVal = (String) value;
23 | boolean found = false;
24 | for (String knownVal : options) {
25 | if (knownVal.equals(stringVal)) {
26 | found = true;
27 | break;
28 | }
29 | }
30 |
31 | if (!found) {
32 | throw new IllegalArgumentException("Not a valid value: " + value);
33 | }
34 | }
35 |
36 | @Override
37 | public String getPossibleValues() {
38 | return Arrays.toString(options);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/config/validators/UrlValidator.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.config.validators;
2 |
3 | import java.net.URL;
4 |
5 | import static net.adoptopenjdk.icedteaweb.i18n.Translator.R;
6 |
7 | /**
8 | * Checks that the value is a URL
9 | */
10 | public class UrlValidator implements ValueValidator {
11 |
12 | @Override
13 | public void validate(final Object value) throws IllegalArgumentException {
14 | if (value == null) {
15 | return;
16 | }
17 | try {
18 | new URL((String) value);
19 | } catch (final Exception e) {
20 | throw new IllegalArgumentException("Not a valid URL", e);
21 | }
22 | }
23 |
24 | @Override
25 | public String getPossibleValues() {
26 | return R("VVPossibleUrlValues");
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/jnlp/element/EntryPoint.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.jnlp.element;
2 |
3 | /**
4 | * Provides access to the main entry point where to start a program's execution.
5 | *
6 | * Name inspired by https://en.wikipedia.org/wiki/Entry_point
7 | */
8 | public interface EntryPoint {
9 | /**
10 | * For Java applications this method returns the name of the class containing the public static
11 | * void main(String[]) method. The name and/or meaning may vary as is appropriate for other types
12 | * of applications.
13 | *
14 | * For Java this attribute can be omitted if the main class can be found from the Main-Class manifest entry
15 | * in the main JAR file.
16 | *
17 | * @return the fully qualified name of the main entry point where to start a program's execution
18 | */
19 | String getMainClass();
20 | }
21 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/manifest/ManifestBoolean.java:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2019 Karakun AG
2 | //
3 | // This library is free software; you can redistribute it and/or
4 | // modify it under the terms of the GNU Lesser General Public
5 | // License as published by the Free Software Foundation; either
6 | // version 2.1 of the License, or (at your option) any later version.
7 | //
8 | // This library is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 | // Lesser General Public License for more details.
12 | //
13 | // You should have received a copy of the GNU Lesser General Public
14 | // License along with this library; if not, write to the Free Software
15 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16 |
17 | package net.adoptopenjdk.icedteaweb.manifest;
18 |
19 | public enum ManifestBoolean {
20 | TRUE, FALSE, UNDEFINED
21 | }
22 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/proxy/ie/RegistryValue.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.proxy.ie;
2 |
3 | import java.util.Objects;
4 |
5 | public class RegistryValue {
6 |
7 | private final String name;
8 |
9 | private final RegistryValueType type;
10 |
11 | private final String value;
12 |
13 | public RegistryValue(final String name, final RegistryValueType type, final String value) {
14 | this.name = name;
15 | this.type = type;
16 | this.value = value;
17 | }
18 |
19 | public String getName() {
20 | return name;
21 | }
22 |
23 | public RegistryValueType getType() {
24 | return type;
25 | }
26 |
27 | public String getValue() {
28 | return value;
29 | }
30 |
31 | public boolean getValueAsBoolean() {
32 | if (type != RegistryValueType.REG_DWORD) {
33 | throw new IllegalStateException("Can not extract boolean value for value type " + type);
34 | }
35 | return Objects.equals(value, "0x1");
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/proxy/ie/RegistryValueType.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.proxy.ie;
2 |
3 | public enum RegistryValueType {
4 | REG_BINARY,
5 | REG_DWORD,
6 | REG_DWORD_LITTLE_ENDIAN,
7 | REG_DWORD_BIG_ENDIAN,
8 | REG_EXPAND_SZ,
9 | REG_LINK,
10 | REG_MULTI_SZ,
11 | REG_NONE,
12 | REG_QWORD,
13 | REG_QWORD_LITTLE_ENDIAN,
14 | REG_SZ,
15 | }
16 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/proxy/ie/WindowsProxyConstants.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.proxy.ie;
2 |
3 | public interface WindowsProxyConstants {
4 |
5 | String PROXY_REGISTRY_KEY = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
6 |
7 | String PROXY_SERVER_REGISTRY_VAL = "ProxyServer";
8 |
9 | String PROXY_SERVER_OVERRIDE_VAL = "ProxyOverride";
10 |
11 | String PROXY_ENABLED_VAL = "ProxyEnable";
12 |
13 | String AUTO_CONFIG_URL_VAL = "AutoConfigURL";
14 | }
15 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/JnlpDownloadProtocolConstants.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources;
2 |
3 | /**
4 | * ...
5 | */
6 | public interface JnlpDownloadProtocolConstants {
7 | String ACCEPT_ENCODING_HEADER = "Accept-Encoding";
8 | String CONTENT_ENCODING_HEADER = "Content-Encoding";
9 | String CONTENT_TYPE_HEADER = "Content-Type";
10 | String LAST_MODIFIED_HEADER = "Last-Modified";
11 |
12 | String VERSION_ID_HEADER = "x-java-jnlp-version-id";
13 |
14 | String ERROR_MIME_TYPE = "application/x-java-jnlp-error";
15 | String JAR_DIFF_MIME_TYPE = "application/x-java-archive-dif";
16 |
17 | String PACK_200_OR_GZIP = "pack200-gzip, gzip";
18 | String INVALID_HTTP_RESPONSE = "Invalid Http response";
19 |
20 | String VERSION_ID_QUERY_PARAM = "version-id";
21 | String CURRENT_VERSION_ID_QUERY_PARAM = "current-version-id";
22 |
23 | String VERSION_PREFIX = "__V";
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/ResourceStatus.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources;
2 |
3 | public enum ResourceStatus {
4 | INCOMPLETE,
5 | DOWNLOADED,
6 | ERROR;
7 |
8 | private final String shortName;
9 |
10 | ResourceStatus() {
11 | shortName = name().substring(0,1);
12 | }
13 |
14 | public String getShortName() {
15 | return shortName;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/cache/DownloadInfo.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.cache;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionId;
4 |
5 | import java.net.URL;
6 |
7 | public class DownloadInfo {
8 |
9 | private final CacheKey key;
10 |
11 | private final long lastModified;
12 | private final long downloadedAt;
13 |
14 | public DownloadInfo(URL resourceHref, VersionId version, long lastModified) {
15 | this.key = new CacheKey(resourceHref, version);
16 |
17 | this.lastModified = lastModified;
18 | this.downloadedAt = System.currentTimeMillis();
19 | }
20 |
21 | CacheKey getCacheKey() {
22 | return key;
23 | }
24 |
25 | long getLastModified() {
26 | return lastModified;
27 | }
28 |
29 | long getDownloadedAt() {
30 | return downloadedAt;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/cache/ResourceInfo.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.cache;
2 |
3 | /**
4 | * Information about a resource.
5 | */
6 | public interface ResourceInfo {
7 | /**
8 | * @return the cache key of the resource
9 | */
10 | CacheKey getCacheKey();
11 |
12 | /**
13 | * @return the size of the resource in bytes
14 | */
15 | long getSize();
16 |
17 | /**
18 | * @return the last time this resource was modified (in Java millis)
19 | */
20 | long getLastModified();
21 |
22 | /**
23 | * @return the last time the resource was downloaded (in Java millis)
24 | */
25 | long getDownloadedAt();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/downloader/DownloadDetails.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.downloader;
2 |
3 | import java.io.InputStream;
4 | import java.net.URL;
5 |
6 | /**
7 | * ...
8 | */
9 | class DownloadDetails {
10 | final URL downloadFrom;
11 | final CountingInputStream inputStream;
12 | final String contentType;
13 | final String contentEncoding;
14 | final String version;
15 | final long lastModified;
16 | final long totalSize;
17 |
18 | DownloadDetails(URL downloadFrom, CountingInputStream inputStream, String contentType, String contentEncoding, String version, long lastModified, long totalSize) {
19 | this.downloadFrom = downloadFrom;
20 | this.inputStream = inputStream;
21 | this.contentType = contentType;
22 | this.contentEncoding = contentEncoding;
23 | this.version = version;
24 | this.lastModified = lastModified;
25 | this.totalSize = totalSize;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/downloader/NotUnpacker.java:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2019 Karakun AG
2 | //
3 | // This library is free software; you can redistribute it and/or
4 | // modify it under the terms of the GNU Lesser General Public
5 | // License as published by the Free Software Foundation; either
6 | // version 2.1 of the License, or (at your option) any later version.
7 | //
8 | // This library is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 | // Lesser General Public License for more details.
12 | //
13 | // You should have received a copy of the GNU Lesser General Public
14 | // License along with this library; if not, write to the Free Software
15 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16 |
17 | package net.adoptopenjdk.icedteaweb.resources.downloader;
18 |
19 | import java.io.InputStream;
20 |
21 | /**
22 | * NoOp unpacker which returns the input unchanged.
23 | */
24 | public class NotUnpacker implements StreamUnpacker {
25 | @Override
26 | public InputStream unpack(InputStream input) {
27 | return input;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/downloader/ResourceDownloader.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.downloader;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionString;
4 | import net.adoptopenjdk.icedteaweb.resources.Resource;
5 |
6 | import java.net.URL;
7 | import java.util.List;
8 |
9 | public interface ResourceDownloader {
10 |
11 | static ResourceDownloader of(Resource resource, List downloadUrls) {
12 | final VersionString version = resource.getRequestVersion();
13 | if (version == null) {
14 | return new UnversionedResourceDownloader(resource, downloadUrls);
15 | }
16 | if (version.isExactVersion()) {
17 | return new ExactVersionedResourceDownloader(resource, downloadUrls);
18 | } else {
19 | return new RangeVersionedResourceDownloader(resource, downloadUrls);
20 | }
21 | }
22 |
23 | Resource download();
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/downloader/UnversionedResourceDownloader.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.downloader;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionId;
4 | import net.adoptopenjdk.icedteaweb.resources.Resource;
5 | import net.adoptopenjdk.icedteaweb.resources.cache.Cache;
6 |
7 | import java.net.URL;
8 | import java.util.List;
9 |
10 | /**
11 | * ...
12 | */
13 | class UnversionedResourceDownloader extends BaseResourceDownloader {
14 | UnversionedResourceDownloader(Resource resource, List downloadUrls) {
15 | super(resource, downloadUrls);
16 | }
17 |
18 | @Override
19 | protected VersionId getVersion(URL downloadFrom, String versionHeaderValue) {
20 | return null;
21 | }
22 |
23 | @Override
24 | protected boolean isUpToDate(URL resourceHref, VersionId version, long lastModified) {
25 | if (!Cache.isCached(resourceHref, null)) {
26 | return false;
27 | }
28 |
29 | final boolean upToDate = Cache.isUpToDate(resourceHref, null, lastModified);
30 | if (!upToDate || resource.forceUpdateRequested()) {
31 | invalidateExistingEntryInCache(null);
32 | }
33 | return upToDate;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/initializer/InitializationResult.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.initializer;
2 |
3 | import java.net.URL;
4 | import java.util.ArrayList;
5 | import java.util.Arrays;
6 | import java.util.Collections;
7 | import java.util.List;
8 |
9 | public class InitializationResult {
10 |
11 | private final List urls;
12 |
13 | InitializationResult(List urls) {
14 | this.urls = Collections.unmodifiableList(new ArrayList<>(urls));
15 | }
16 |
17 | InitializationResult(URL... urls) {
18 | this.urls = Collections.unmodifiableList(Arrays.asList(urls));
19 | }
20 |
21 | public boolean needsDownload() {
22 | return !urls.isEmpty();
23 | }
24 |
25 | public List getDownloadUrls() {
26 | return urls;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/net/adoptopenjdk/icedteaweb/resources/initializer/ResourceInitializer.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources.initializer;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionString;
4 | import net.adoptopenjdk.icedteaweb.resources.Resource;
5 | import net.sourceforge.jnlp.runtime.JNLPRuntime;
6 |
7 | public interface ResourceInitializer {
8 |
9 | static ResourceInitializer of(final Resource resource) {
10 | if (JNLPRuntime.isOfflineForced()) {
11 | return new OfflineResourceInitializer(resource);
12 | }
13 |
14 | final VersionString requestVersion = resource.getRequestVersion();
15 | if (requestVersion == null) {
16 | return new UnversionedResourceInitializer(resource);
17 | }
18 |
19 | if (requestVersion.isExactVersion()) {
20 | return new ExactVersionedResourceInitializer(resource);
21 | } else {
22 | return new RangeVersionedResourceInitializer(resource);
23 | }
24 | }
25 |
26 | InitializationResult init();
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/config/DefaultsProvider.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.config;
2 |
3 | import net.adoptopenjdk.icedteaweb.config.validators.ValueValidator;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * Provider for Default settings.
9 | *
10 | * This can be used by extensions to register their own default settings.
11 | */
12 | public interface DefaultsProvider {
13 |
14 | /**
15 | * Default settings from extensions of ITW
16 | *
17 | * @return default settings
18 | * @implNote use {@link Setting#createDefault(String, String, ValueValidator)} to create default settings.
19 | */
20 | List getDefaults();
21 | }
22 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/config/DirectoryValidator.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/java/net/sourceforge/jnlp/config/DirectoryValidator.java
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/ProxyConstants.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy;
2 |
3 | public interface ProxyConstants {
4 |
5 | String HTTP_SCHEMA = "http";
6 |
7 | String HTTPS_SCHEMA = "https";
8 |
9 | String FTP_SCHEMA = "ftp";
10 |
11 | String SOCKET_SCHEMA = "socket";
12 |
13 | /** The default port to use as a fallback. Currently squid's default port */
14 | int FALLBACK_PROXY_PORT = 3128;
15 | }
16 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/ProxyType.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy;
2 |
3 | import java.util.stream.Stream;
4 |
5 | public enum ProxyType {
6 |
7 | PROXY_TYPE_UNKNOWN(-1),
8 | PROXY_TYPE_NONE(0),
9 | PROXY_TYPE_MANUAL(1),
10 | PROXY_TYPE_AUTO(2),
11 | PROXY_TYPE_BROWSER(3),
12 | PROXY_TYPE_SYSTEM(4),
13 | ;
14 |
15 | private final int configValue;
16 |
17 | ProxyType(final int configValue) {
18 | this.configValue = configValue;
19 | }
20 |
21 | public int getConfigValue() {
22 | return configValue;
23 | }
24 |
25 | public static ProxyType getForConfigValue(final int value) {
26 | final ProxyType result = Stream.of(ProxyType.values())
27 | .filter(t -> value == t.getConfigValue())
28 | .findFirst()
29 | .orElse(PROXY_TYPE_UNKNOWN);
30 |
31 | if (result == PROXY_TYPE_SYSTEM) {
32 | return PROXY_TYPE_UNKNOWN; // fallback until system is supported
33 | }
34 |
35 | return result;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/browser/FirefoxConstants.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy.browser;
2 |
3 | public interface FirefoxConstants {
4 |
5 | String PROXY_TYPE_PROPERTY_NAME = "network.proxy.type";
6 |
7 | String SHARE_SETTINGS_PROPERTY_NAME = "network.proxy.share_proxy_settings";
8 |
9 | String AUTO_CONFIG_URL_PROPERTY_NAME = "network.proxy.autoconfig_url";
10 |
11 | String HTTP_PROPERTY_NAME = "network.proxy.http";
12 |
13 | String HTTP_PORT_PROPERTY_NAME = "network.proxy.http_port";
14 |
15 | String SSL_PROPERTY_NAME = "network.proxy.ssl";
16 |
17 | String SSL_PORT_PROPERTY_NAME = "network.proxy.ssl_port";
18 |
19 | String FTP_PROPERTY_NAME = "network.proxy.ftp";
20 |
21 | String FTP_PORT_PROPERTY_NAME = "network.proxy.ftp_port";
22 |
23 | String SOCKS_PROPERTY_NAME = "network.proxy.socks";
24 |
25 | String SOCKS_PORT_PROPERTY_NAME = "network.proxy.socks_port";
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/browser/FirefoxProxyType.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy.browser;
2 |
3 | import java.util.stream.Stream;
4 |
5 | public enum FirefoxProxyType {
6 |
7 | FF_PROXY_TYPE_NONE(0),
8 | FF_PROXY_TYPE_MANUAL(1),
9 | FF_PROXY_TYPE_PAC(2),
10 | FF_PROXY_TYPE_AUTO(4),
11 | FF_PROXY_TYPE_SYSTEM(5);
12 |
13 | private final int configValue;
14 |
15 | FirefoxProxyType(final int configValue) {
16 | this.configValue = configValue;
17 | }
18 |
19 | public int getConfigValue() {
20 | return configValue;
21 | }
22 |
23 | public static FirefoxProxyType getForConfigValue(final int value) {
24 | return Stream.of(FirefoxProxyType.values())
25 | .filter(t -> value == t.getConfigValue())
26 | .findFirst()
27 | .orElse(FF_PROXY_TYPE_NONE);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/browser/PreferencesParser.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy.browser;
2 |
3 | import java.io.IOException;
4 | import java.util.Map;
5 |
6 | /**
7 | * ...
8 | */
9 | interface PreferencesParser {
10 | void parse() throws IOException;
11 | Map getPreferences();
12 | }
13 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/proxy/pac/PacConstants.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.proxy.pac;
2 |
3 | public interface PacConstants {
4 |
5 | String DIRECT = "DIRECT";
6 |
7 | String SOCKS = "SOCKS";
8 |
9 | String PROXY = "PROXY";
10 | }
11 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/runtime/AppContextFactory.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.runtime;
2 |
3 | import net.sourceforge.jnlp.runtime.classloader.DelegatingClassLoader;
4 | import sun.awt.SunToolkit;
5 |
6 | public class AppContextFactory {
7 | public static void createNewAppContext() {
8 | //set temporary classloader for EventQueue initialization
9 | //already a call to AppContext.getAppContext(...) initializes the EventQueue.class
10 | ClassLoader originalLoader = Thread.currentThread().getContextClassLoader();
11 | try {
12 | DelegatingClassLoader delegatingLoader = DelegatingClassLoader.getInstance();
13 | delegatingLoader.setClassLoader(originalLoader);
14 |
15 | Thread.currentThread().setContextClassLoader(delegatingLoader);
16 | SunToolkit.createNewAppContext();
17 | }finally {
18 | //restore original classloader
19 | Thread.currentThread().setContextClassLoader(originalLoader);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/runtime/EnvironmentPrinter.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.runtime;
2 |
3 | import net.adoptopenjdk.icedteaweb.JavaSystemProperties;
4 | import net.adoptopenjdk.icedteaweb.logging.Logger;
5 | import net.adoptopenjdk.icedteaweb.logging.LoggerFactory;
6 |
7 | import java.util.Arrays;
8 |
9 | public class EnvironmentPrinter {
10 |
11 | private static final Logger LOG = LoggerFactory.getLogger(EnvironmentPrinter.class);
12 |
13 | public static void logEnvironment(final String[] args) {
14 | LOG.info("OpenWebStartLauncher called with args: {}.", Arrays.toString(args));
15 | LOG.info("OS: {}", JavaSystemProperties.getOsName());
16 | LOG.info("Java Runtime {}-{}", JavaSystemProperties.getJavaVendor(), JavaSystemProperties.getJavaVersion());
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/runtime/ForkingStrategy.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.runtime;
2 |
3 | import net.sourceforge.jnlp.JNLPFile;
4 |
5 | public enum ForkingStrategy {
6 |
7 | IF_JNLP_REQUIRES {
8 | public boolean needsToFork(JNLPFile file) {
9 | return file.needsNewVM();
10 | }
11 | },
12 |
13 | NEVER {
14 | public boolean needsToFork(JNLPFile file) {
15 | return false;
16 | }
17 | },
18 |
19 | ALWAYS {
20 | public boolean needsToFork(JNLPFile file) {
21 | return true;
22 | }
23 |
24 | @Override
25 | public boolean mayRunManagedApplication() {
26 | return false;
27 | }
28 | },
29 |
30 | ;
31 |
32 | public abstract boolean needsToFork(JNLPFile file);
33 |
34 | public boolean mayRunManagedApplication() {
35 | return true;
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/runtime/MenuAndDesktopIntegration.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.runtime;
2 |
3 | import net.sourceforge.jnlp.JNLPFile;
4 |
5 | /**
6 | * ...
7 | */
8 | public interface MenuAndDesktopIntegration {
9 |
10 | /**
11 | * Creates menu and desktop entries if required by the jnlp file or settings
12 | */
13 | void addMenuAndDesktopEntries(JNLPFile file);
14 | }
15 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/security/AccessType.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.security;
2 |
3 | /**
4 | * The types of access which may need user permission.
5 | */
6 | public enum AccessType {
7 |
8 | READ_WRITE_FILE,
9 | READ_FILE,
10 | WRITE_FILE,
11 | CREATE_DESKTOP_SHORTCUT,
12 | CLIPBOARD_READ,
13 | CLIPBOARD_WRITE,
14 | PRINTER,
15 | NETWORK,
16 | VERIFIED,
17 | UNVERIFIED,
18 | PARTIALLY_SIGNED,
19 | UNSIGNED, /* requires confirmation with 'high-security' setting */
20 | SIGNING_ERROR
21 | }
22 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/IpUtil.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util;
2 |
3 | import inet.ipaddr.HostName;
4 | import net.adoptopenjdk.icedteaweb.StringUtils;
5 |
6 | import java.net.URI;
7 | import java.net.URL;
8 |
9 | public class IpUtil {
10 | public static boolean isLocalhostOrLoopback(final URL url) {
11 | return isLocalhostOrLoopback(url.getHost());
12 | }
13 |
14 | public static boolean isLocalhostOrLoopback(final URI uri) {
15 | return isLocalhostOrLoopback(uri.getHost());
16 | }
17 |
18 | /**
19 | * @param host host string to verify
20 | * @return true if the given host string is blank or represents or resolves to the hostname or the IP address
21 | * of localhost or the loopback address.
22 | */
23 | static boolean isLocalhostOrLoopback(final String host) {
24 | if (StringUtils.isBlank(host)) {
25 | return true; // java.net.InetAddress.getByName(host).isLoopbackAddress() returns true
26 | }
27 | final HostName hostName = new HostName(host);
28 | return hostName.resolvesToSelf();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/ShortcutCreationOptions.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.element.information.ShortcutDesc;
4 |
5 | import java.util.Objects;
6 | import java.util.Optional;
7 | import java.util.stream.Stream;
8 |
9 | public enum ShortcutCreationOptions {
10 |
11 | CREATE_NEVER(ShortcutDesc.CREATE_NEVER),
12 | CREATE_ALWAYS(ShortcutDesc.CREATE_ALWAYS),
13 | CREATE_ASK_USER(ShortcutDesc.CREATE_ASK_USER),
14 | CREATE_ASK_USER_IF_HINTED(ShortcutDesc.CREATE_ASK_USER_IF_HINTED),
15 | CREATE_ALWAYS_IF_HINTED(ShortcutDesc.CREATE_ALWAYS_IF_HINTED);
16 |
17 |
18 | private final String configName;
19 |
20 | ShortcutCreationOptions(final String configName) {
21 | this.configName = configName;
22 | }
23 |
24 | public String getConfigName() {
25 | return configName;
26 | }
27 |
28 | public static Optional forConfigName(final String configName) {
29 | return Stream.of(values())
30 | .filter(v -> Objects.equals(configName, v.getConfigName()))
31 | .findFirst();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/logging/OutputControllerLevel.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util.logging;
2 |
3 | /**
4 | * Log levels for ITW internal logging.
5 | */
6 | public enum OutputControllerLevel {
7 |
8 | ERROR,
9 | WARN,
10 | INFO,
11 | DEBUG,
12 |
13 | ;
14 |
15 | private final String displayName = (name() + " ").substring(0,5);
16 |
17 | public boolean printToOutStream() {
18 | return this == INFO || this == DEBUG || this == WARN;
19 | }
20 |
21 | public boolean printToErrStream() {
22 | return this == ERROR || this == WARN;
23 | }
24 |
25 | public String display() {
26 | return displayName;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/whitelist/UnparsableWhitelistEntry.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util.whitelist;
2 |
3 | import net.adoptopenjdk.icedteaweb.i18n.Translator;
4 |
5 | import java.net.URL;
6 |
7 | /**
8 | * An entry where it was not possible to parse protocol, host and port.
9 | */
10 | class UnparsableWhitelistEntry implements WhitelistEntry {
11 |
12 | private final String rawWhitelistEntry;
13 |
14 | UnparsableWhitelistEntry(final String rawWhitelistEntry) {
15 | this.rawWhitelistEntry = rawWhitelistEntry;
16 | }
17 |
18 | @Override
19 | public boolean matches(final URL url) {
20 | return false;
21 | }
22 |
23 | @Override
24 | public boolean isValid() {
25 | return false;
26 | }
27 |
28 | @Override
29 | public String getRawWhitelistEntry() {
30 | return rawWhitelistEntry;
31 | }
32 |
33 | @Override
34 | public String getEffectiveWhitelistEntry() {
35 | return "";
36 | }
37 |
38 | @Override
39 | public String getErrorMessage() {
40 | return Translator.R("WleUnparseableEntry");
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/whitelist/WhitelistEntry.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util.whitelist;
2 |
3 | import java.net.URL;
4 |
5 | /**
6 | * A single entry in the URL whitelist.
7 | */
8 | public interface WhitelistEntry {
9 |
10 | static WhitelistEntry parse(String rawEntry) {
11 | return WhiteListEntryParser.parse(rawEntry);
12 | }
13 |
14 | boolean matches(URL url);
15 |
16 | boolean isValid();
17 |
18 | String getRawWhitelistEntry();
19 |
20 | String getEffectiveWhitelistEntry();
21 |
22 | String getErrorMessage();
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/net/sourceforge/jnlp/util/whitelist/WhitelistEntryPart.java:
--------------------------------------------------------------------------------
1 | package net.sourceforge.jnlp.util.whitelist;
2 |
3 | import java.net.URL;
4 |
5 | /**
6 | * A part of a parsed whitelist entry.
7 | */
8 | abstract class WhitelistEntryPart {
9 |
10 | private final boolean valid;
11 | private final String effective;
12 | private final String error;
13 |
14 | WhitelistEntryPart(final boolean valid, final String effective, final String error) {
15 | this.valid = valid;
16 | this.effective = effective;
17 | this.error = error;
18 | }
19 |
20 | abstract boolean matches(URL url);
21 |
22 | boolean isValid() {
23 | return valid;
24 | }
25 |
26 | String effective() {
27 | return effective;
28 | }
29 |
30 | String error() {
31 | return error;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/resources/META-INF/services/net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.ControlPanelProvider:
--------------------------------------------------------------------------------
1 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.DebugSettingsPanelProvider
2 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.DesktopSettingsPanelProvider
3 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.JvmSettingsPanelProvider
4 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.NetworkSettingsPanelProvider
5 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.PolicySettingsPanelProvider
6 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.SecuritySettingsPanelProvider
7 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.UnsignedAppletsTrustingListPanelProvider
8 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.AboutPanelProvider
9 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.CacheSettingsPanelProvider
10 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.CertificatesSettingsPanelProvider
11 | net.adoptopenjdk.icedteaweb.client.controlpanel.panels.provider.ServerWhitelistPanelProvider
12 |
--------------------------------------------------------------------------------
/core/src/main/resources/javaws_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/javaws_splash.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/build.properties:
--------------------------------------------------------------------------------
1 | rhino.available=true
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/hideDownloadDetails.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/hideDownloadDetails.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/info-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/info-small.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/install.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/install.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/itw_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/itw_logo.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/jamIcon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/jamIcon.jpg
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/netx-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/netx-icon.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/question.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/question.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/showDownloadDetails.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/showDownloadDetails.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/warn16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/warn16.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/warning-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/warning-small.png
--------------------------------------------------------------------------------
/core/src/main/resources/net/sourceforge/jnlp/resources/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/main/resources/net/sourceforge/jnlp/resources/warning.png
--------------------------------------------------------------------------------
/core/src/test/java/net/adoptopenjdk/icedteaweb/jnlp/element/application/ApplicationDescTest.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.jnlp.element.application;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.MatcherAssert.assertThat;
6 | import static org.hamcrest.Matchers.arrayContaining;
7 |
8 | public class ApplicationDescTest {
9 |
10 | @Test
11 | public void canAddArguments() {
12 | // arrange
13 | final ApplicationDesc applicationDesc = new ApplicationDesc("mainClass", new String[0]);
14 |
15 | // act
16 | applicationDesc.addArgument("someArg");
17 |
18 | // assert
19 | assertThat(applicationDesc.getArguments(), arrayContaining("someArg"));
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/test/java/net/adoptopenjdk/icedteaweb/jnlp/element/information/DescriptionKindTest.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.jnlp.element.information;
2 |
3 | import org.junit.Assert;
4 | import org.junit.Test;
5 |
6 | import static org.junit.Assert.*;
7 |
8 | public class DescriptionKindTest {
9 | @Test
10 | public void getValue() {
11 | Assert.assertEquals("one-line", DescriptionKind.ONE_LINE.getValue());
12 | Assert.assertEquals("short", DescriptionKind.SHORT.getValue());
13 | Assert.assertEquals("tooltip", DescriptionKind.TOOLTIP.getValue());
14 | Assert.assertEquals("default", DescriptionKind.DEFAULT.getValue());
15 | }
16 |
17 | @Test
18 | public void testFromString() {
19 | Assert.assertEquals(DescriptionKind.ONE_LINE, DescriptionKind.fromString("one-line"));
20 | Assert.assertEquals(DescriptionKind.SHORT, DescriptionKind.fromString("short"));
21 | Assert.assertEquals(DescriptionKind.TOOLTIP, DescriptionKind.fromString("tooltip"));
22 | Assert.assertEquals(DescriptionKind.DEFAULT, DescriptionKind.fromString("default"));
23 | }
24 |
25 | @Test(expected = IllegalArgumentException.class)
26 | public void testFromStringWithUnknownEnumValue() {
27 | DescriptionKind.fromString("unknown");
28 | }
29 | }
--------------------------------------------------------------------------------
/core/src/test/java/net/adoptopenjdk/icedteaweb/resources/ResourceFactory.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.resources;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionString;
4 | import net.sourceforge.jnlp.DownloadOptions;
5 |
6 | import java.net.URL;
7 |
8 | /**
9 | * Factory to allow creating {@link Resource Resources} outside of its package for testing purposes.
10 | */
11 | public class ResourceFactory {
12 | public static Resource createResource(final URL location, final VersionString requestVersion, final DownloadOptions downloadOptions, final UpdatePolicy updatePolicy) {
13 | return Resource.createOrGetResource(location, requestVersion, downloadOptions, updatePolicy);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/core/src/test/java/net/adoptopenjdk/icedteaweb/testing/util/NonWindowsLockableFile.java:
--------------------------------------------------------------------------------
1 |
2 | package net.adoptopenjdk.icedteaweb.testing.util;
3 |
4 | import net.adoptopenjdk.icedteaweb.JavaSystemProperties;
5 | import net.adoptopenjdk.icedteaweb.lockingfile.WindowsLockableFileTest;
6 | import org.junit.AfterClass;
7 | import org.junit.BeforeClass;
8 |
9 | import static net.adoptopenjdk.icedteaweb.JavaSystemPropertiesConstants.OS_NAME;
10 |
11 | /**
12 | *
13 | * @author jvanek
14 | */
15 | public class NonWindowsLockableFile extends WindowsLockableFileTest {
16 |
17 | private static String os;
18 |
19 | @BeforeClass
20 | public static void smuggleOs() {
21 | os = JavaSystemProperties.getOsName();
22 | System.setProperty(OS_NAME, "No Microsoft OS for itw");
23 | }
24 |
25 | @AfterClass
26 | public static void restoreOs() {
27 | System.setProperty(OS_NAME, os);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon1.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon2.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon2.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon3.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon3.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon4.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon4.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon5.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon5.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon6.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/favicon6.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-bmp-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-bmp-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-bmp-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-bmp-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-png-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-png-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-png-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico1-png-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-bmp-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-bmp-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-bmp-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-bmp-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-png-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-png-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-png-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico24-png-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-bmp-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-bmp-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-bmp-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-bmp-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-png-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-png-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-png-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico32-png-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-bmp-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-bmp-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-bmp-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-bmp-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-png-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-png-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-png-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico4-png-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-bmp-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-bmp-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-bmp-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-bmp-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-png-noTrans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-png-noTrans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-png-trans.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/icon/resources/ico8-png-trans.ico
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-1-to-2.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-1-to-2.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-2-to-3.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-2-to-3.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-3-to-4.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-3-to-4.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-4-to-5.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-4-to-5.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-5-to-6.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-5-to-6.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-6-to-7.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-6-to-7.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-7-to-8.jardiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/diff-7-to-8.jardiff
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-1.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-2.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-3.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-4.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-5.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-6.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-7.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-7.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-8.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/adoptopenjdk/icedteaweb/resources/jardiff/version-8.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application0.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | random tag test
10 | ]]>
11 |
12 |
13 | Sample Test
14 | RedHat
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application2.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | RedHat
9 | Sample Test
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application3.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Sample Test
6 | RedHat
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application4.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | *
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application5.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application6.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application7.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/application/application8.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample
5 | RedHat
6 | This is a sample to test a bug
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/awt/imagesearch/marker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/sourceforge/jnlp/awt/imagesearch/marker.png
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/launchApp.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 | Sample Test
9 | RedHat
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/minimal.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Parsing Test
5 | IcedTea
6 |
7 |
8 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/minimalWithHref.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Parsing Test
5 | IcedTea
6 |
7 |
8 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/j1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/sourceforge/jnlp/runtime/j1.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1965Nemzeti Ado- es Vamhivatal
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/pf.jar-orig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/core/src/test/resources/net/sourceforge/jnlp/runtime/pf.jar-orig
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/test.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test
5 | IcedTea-Web
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/up.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1965Nemzeti Ado- es Vamhivatal
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/runtime/upEncoded.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1965Nemzeti Ado- es Vamhivatal
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template0.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 | Sample Test
9 | RedHat
10 |
11 |
12 |
13 |
14 |
15 | random tag test
18 | ]]>
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template2.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | *
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template3.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | RedHat
9 | Sample Test
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template4.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | *
5 | *
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template5.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | *
10 | *
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | main-class='*' />
23 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template6.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test Sample
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template7.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template8.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample Test
5 | RedHat
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/core/src/test/resources/net/sourceforge/jnlp/templates/template9.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sample
5 | RedHat
6 | This is a sample to test a bug
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/integration-tests/report-styles/output.css:
--------------------------------------------------------------------------------
1 | div.space-line { clear: both; margin: 0; padding: 0; width: auto;}
2 | div.classa { border: thin solid black; padding: 5px; margin: 5px;}
3 | div.method {border: thin solid black; padding: 5px; margin: 5px;}
4 | div.output { border: thin solid black; padding: 5px; margin: 5px; float: left; display: inline; width:30%; overflow-x: scroll}
5 | div.item {border-bottom: thin solid black; border-top: thin solid black; border-left: thin solid black; padding: 5px; margin: 5px;}
6 | div.stamp { border: thin solid black; padding: 5px; margin: 5px;}
7 | div.fulltrace {border-bottom: thin solid black; border-top: thin solid black; border-left: thin solid black; padding: 5px; margin: 5px;}
8 |
--------------------------------------------------------------------------------
/integration-tests/report-styles/report.css:
--------------------------------------------------------------------------------
1 | div.passed {background-color:green;height:auto }
2 | div.failed {background-color:red ;height:auto}
3 | div.ignored {background-color:yellow ;height:auto}
4 |
5 | div.clazz {display:inline }
6 | div.method {display:inline }
7 |
8 | div.result {display:block; border: thin solid black ;height:auto}
9 | div.status {display:inline; }
10 | div.wtrace {display:inline; border: thin solid black; float: right;height:auto}
11 | div.theader {display:block; border: thin solid black}
12 | div.trace {display:block; border: thin solid black}
13 |
14 | div.space-line { clear: both; margin: 0; padding: 0; width: auto;}
15 |
16 | div.tablee {width:200px; border: thin solid black; }
17 | div.row { border: thin solid black; }
18 | div.cell1 {display:inline; float: left;height:auto}
19 | div.cell2 {display:inline; float: right;height:auto}
20 |
21 | a.classSumaryName{font-weight:bold}
22 |
23 | a.logLink:link {color: black}
24 | a.logLink:active {color: black; }
25 | a.logLink:visited {color: black;}
26 | a.logLink:hover {color: black;font-weight: bolder;}
27 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/AppletExtendsFromOutsideJar/README:
--------------------------------------------------------------------------------
1 | This reproducer encapsulates PR920.
2 | A LinkageError occurs, complaining of duplicate class definition, when an extended class outside of a jar references a common class with its parent class. The common class attempts to load twice.
3 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=AppletExtendsFromOutsideJar
2 |
3 | SRC_FILES=AppletReferenceInSameJar.java AppletReferenceOutOfJar.java Referenced.java
4 | JAR_FILES=AppletReferenceInSameJar.class Referenced.class
5 | OUTER_FILE=AppletReferenceOutOfJar.class
6 |
7 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
8 | JAVAC=$(EXPORTED_JAVAC)
9 | JAR=$(EXPORTED_JAR)
10 |
11 | ifeq ($(OS), Windows_NT)
12 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
13 | else
14 | TMPDIR:=$(shell mktemp -d)
15 | endif
16 |
17 | prepare-reproducer:
18 | echo PREPARING REPRODUCER $(TESTNAME) in $(TMPDIR)
19 |
20 | $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES)
21 |
22 | cd $(TMPDIR); \
23 | $(JAR) cvf $(TESTNAME).jar $(JAR_FILES); \
24 | mv $(OUTER_FILE) $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
25 | mv $(TESTNAME).jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR);
26 |
27 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR)
28 | rm -rf $(TMPDIR)
29 |
30 | clean-reproducer:
31 | echo NOTHING TO CLEAN FOR $(TESTNAME)
32 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=AppletFolderInArchiveTag
2 | ARCHIVE_TEST_FOLDER=archive_tag_folder_test
3 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
4 | DEPLOY_SUBDIR=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/$(ARCHIVE_TEST_FOLDER)
5 | INDEX_HTML_BODY="Required to recognize folder structure
"
6 |
7 | prepare-reproducer:
8 | echo PREPARING REPRODUCER $(TESTNAME)
9 | mkdir -p $(DEPLOY_SUBDIR)
10 | echo $(INDEX_HTML_BODY) > $(DEPLOY_SUBDIR)/index.html
11 | $(EXPORTED_JAVAC) -classpath $(JAVAC_CLASSPATH) -d $(DEPLOY_SUBDIR) $(TESTNAME).java
12 | echo PREPARED REPRODUCER $(TESTNAME)
13 |
14 | clean-reproducer:
15 | echo CLEANING REPRODUCER $(TESTNAME)
16 | rm -rf $(DEPLOY_SUBDIR)
17 | echo CLEANED REPRODUCER $(TESTNAME)
18 |
19 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=ExtensionJnlpsInApplet
2 |
3 | SRC_FILES=ExtensionJnlpHelper.java ExtensionJnlpTestApplet.java
4 | RESOURCE_FILES=ExtensionJnlpTest.html ExtensionJnlpTestApplet.jnlp ExtensionJnlpHelper.jnlp
5 | ENTRYPOINT_CLASSES=ExtensionJnlpHelper ExtensionJnlpTestApplet
6 |
7 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
8 | JAVAC=$(EXPORTED_JAVAC)
9 | JAR=$(EXPORTED_JAR)
10 |
11 | ifeq ($(OS), Windows_NT)
12 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
13 | else
14 | TMPDIR:=$(shell mktemp -d)
15 | endif
16 |
17 | prepare-reproducer:
18 | echo PREPARING REPRODUCER $(TESTNAME)
19 |
20 | $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES)
21 |
22 | cd ../resources; \
23 | cp $(RESOURCE_FILES) $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
24 | cd -; \
25 | ls; \
26 | for CLASS in $(ENTRYPOINT_CLASSES); \
27 | do \
28 | cd $(TMPDIR); \
29 | $(JAR) cfe "$$CLASS.jar" "$$CLASS" "$$CLASS.class"; \
30 | cd -;\
31 | mv $(TMPDIR)/"$$CLASS.jar" $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
32 | done; \
33 |
34 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR)
35 | rm -rf $(TMPDIR)
36 |
37 | clean-reproducer:
38 | echo NOTHING TO CLEAN FOR $(TESTNAME)
39 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/GifarCreator/srcs/Makefile:
--------------------------------------------------------------------------------
1 | DEPLOY_SUBDIR=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)
2 | GIF=$(DEPLOY_SUBDIR)/happyNonAnimated.gif
3 | JAR=$(DEPLOY_SUBDIR)/GifarBase.jar
4 | RESULT1=$(DEPLOY_SUBDIR)/Gifar.jar
5 | RESULT2=$(DEPLOY_SUBDIR)/Gifar.gif
6 |
7 | #this is dependent on reproducers/signed/GifarBase
8 |
9 | prepare-reproducer:
10 | cat $(GIF) > $(RESULT1)
11 | cat $(JAR) >> $(RESULT1)
12 | cp $(RESULT1) $(RESULT2)
13 |
14 | clean-reproducer:
15 | rm -rf $(RESULT1)
16 | rm -rf $(RESULT2)
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JNLPClassLoaderDeadlock/resources/JNLPClassLoaderDeadlock.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_1.java:
--------------------------------------------------------------------------------
1 | import java.applet.Applet;
2 |
3 | public class JNLPClassLoaderDeadlock_1 extends Applet {
4 |
5 | @Override
6 | public void init() {
7 | System.out.println("JNLPClassLoaderDeadlock_1 applet initialized");
8 | final String version = System.getProperty("java.version") + " (" + System.getProperty("java.vm.version") + ")";
9 | final String vendor = System.getProperty("java.vendor");
10 | final TextField tf = new TextField(40);
11 | tf.setText(version + " -- " + vendor);
12 | tf.setEditable(false);
13 | tf.setBackground(Color.white);
14 | setBackground(Color.white);
15 | add(tf);
16 | System.out.println("JNLPClassLoaderDeadlock_1 applet finished");
17 | }
18 |
19 | public static void main(String[] args) {
20 | new JNLPClassLoaderDeadlock_1().init();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=JNLPClassLoaderDeadlock
2 |
3 | SRC_FILES=JNLPClassLoaderDeadlock_1.java JNLPClassLoaderDeadlock_2.java
4 | RESOURCE_FILES=JNLPClassLoaderDeadlock.html
5 | ENTRYPOINT_CLASSES=JNLPClassLoaderDeadlock_1 JNLPClassLoaderDeadlock_2
6 |
7 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
8 | JAVAC=$(EXPORTED_JAVAC)
9 | JAR=$(EXPORTED_JAR)
10 |
11 | ifeq ($(OS), Windows_NT)
12 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
13 | else
14 | TMPDIR:=$(shell mktemp -d)
15 | endif
16 |
17 | prepare-reproducer:
18 | echo PREPARING REPRODUCER $(TESTNAME)
19 |
20 | $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES)
21 |
22 | cd ../resources; \
23 | cp $(RESOURCE_FILES) $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
24 | cd -; \
25 | for CLASS in $(ENTRYPOINT_CLASSES); \
26 | do \
27 | mv $(TMPDIR)/"$$CLASS.class" $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
28 | done; \
29 |
30 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR)
31 | rm -rf $(TMPDIR)
32 |
33 | clean-reproducer:
34 | echo NOTHING TO CLEAN FOR $(TESTNAME)
35 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/resources/JavaFx.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/custom/JavaFx/resources/JavaFx.jar
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/resources/JavaFx.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaFx
5 | ITW
6 | JavaFx
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/srcs/Controller.java:
--------------------------------------------------------------------------------
1 | import javafx.fxml.FXML;
2 | import javafx.scene.text.Text;
3 |
4 | public class Controller {
5 | @FXML private Text text;
6 |
7 | @FXML
8 | public void onPressButton() {
9 | text.setVisible(true);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/srcs/Main.java:
--------------------------------------------------------------------------------
1 | import javafx.application.Application;
2 | import javafx.fxml.FXMLLoader;
3 | import javafx.scene.Parent;
4 | import javafx.scene.Scene;
5 | import javafx.stage.Stage;
6 |
7 | public class Main extends Application {
8 |
9 | @Override
10 | public void start(Stage primaryStage) throws Exception {
11 | Parent root = FXMLLoader.load(getClass().getResource("helloworld.fxml"));
12 | primaryStage.setTitle("Hello World");
13 | primaryStage.setScene(new Scene(root, 500, 200));
14 | primaryStage.show();
15 | System.out.println("jnlp-javafx started");
16 | System.out.println("jnlp-javafx can be terminated");
17 | }
18 |
19 |
20 | public static void main(String[] args) {
21 | launch(args);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=JavaFx
2 |
3 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
4 | JAVAC=$(EXPORTED_JAVAC)
5 | JAR=$(EXPORTED_JAR)
6 | JARSIGNER=$(EXPORTED_JARSIGNER)
7 |
8 | ifeq ($(OS), Windows_NT)
9 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
10 | else
11 | TMPDIR:=$(shell mktemp -d)
12 | endif
13 |
14 | prepare-reproducer:
15 | echo PREPARING REPRODUCER $(TESTNAME)
16 | #this test contains prebuild binary, as javafx, when installed on computer, preven ITW from building
17 | #due to JSObject differennt implementation
18 | #$(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) Controller.java Main.java; \
19 | #cp helloworld.fxml $(TMPDIR) ; \
20 | #pushd $(TMPDIR); \
21 | #$(JAR) cf $(TESTNAME).jar *.class *.fxml; \
22 | #popd
23 | #cp $(TMPDIR)/$(TESTNAME).jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
24 | cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
25 | rm -rf $(TMPDIR); \
26 | echo PREPARED REPRODUCER $(TESTNAME); \
27 |
28 | clean-reproducer:
29 | echo NOTHING TO CLEAN FOR $(TESTNAME)
30 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/JavaFx/srcs/helloworld.fxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
11 |
14 |
17 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/MixedSigningAndTrustedOnly/srcs/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Trusted-only: true
2 | Application-Name: MixedSigningAndTrustedOnly
3 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/NoClassDeff/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=NoClassDeff
2 |
3 | SRC_FILES=NoClassDeff
4 | ENTRYPOINT_CLASSES=NoClassDeff
5 |
6 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
7 | JAVAC=$(EXPORTED_JAVAC)
8 | JAR=$(EXPORTED_JAR)
9 |
10 | ifeq ($(OS), Windows_NT)
11 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
12 | else
13 | TMPDIR:=$(shell mktemp -d)
14 | endif
15 |
16 | prepare-reproducer:
17 | echo PREPARING REPRODUCER $(TESTNAME);
18 | pwd;
19 | ls ;
20 | $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) *.java;
21 | #now the hack, remove inner class so we can later die on CNFE or NCDFE
22 | ls $(TMPDIR)/
23 | rm $(TMPDIR)/*\$$* ;
24 | ls $(TMPDIR)/
25 | cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
26 | for CLASS in $(ENTRYPOINT_CLASSES); \
27 | do \
28 | cd $(TMPDIR); \
29 | $(JAR) cfe "$$CLASS.jar" "$$CLASS" "$$CLASS.class"; \
30 | cd -;\
31 | mv $(TMPDIR)/"$$CLASS.jar" $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
32 | done; \
33 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR) ; \
34 | rm -rf $(TMPDIR)
35 |
36 | clean-reproducer:
37 | echo NOTHING TO CLEAN FOR $(TESTNAME)
38 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/PackGZip/resources/PackGZipApplet.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/PackGZip/resources/PackGZipJNLP.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/PackGZip/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=PackGZip
2 |
3 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
4 | JAVAC=$(EXPORTED_JAVAC)
5 | JAR=$(EXPORTED_JAR)
6 | JARSIGNER=$(EXPORTED_JARSIGNER)
7 | PACKER=$(EXPORTED_PACK200)
8 |
9 | ifeq ($(OS), Windows_NT)
10 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
11 | else
12 | TMPDIR:=$(shell mktemp -d)
13 | endif
14 |
15 | prepare-reproducer:
16 | echo PREPARING REPRODUCER $(TESTNAME)
17 |
18 | $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(TESTNAME).java; \
19 |
20 | cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
21 |
22 | cd $(TMPDIR); \
23 | $(JAR) cf $(TESTNAME).jar $(TESTNAME).class; \
24 | cd $(TMPDIR); \
25 | $(PACKER) $(TESTNAME).jar.pack.gz $(TESTNAME).jar; \
26 | cp $(TMPDIR)/$(TESTNAME).jar.pack.gz $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \
27 |
28 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \
29 | rm -rf $(TMPDIR); \
30 |
31 | clean-reproducer:
32 | echo NOTHING TO CLEAN FOR $(TESTNAME)
33 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF.1:
--------------------------------------------------------------------------------
1 | Permissions: sandbox
2 | Application-Library-Allowable-Codebase: http://localhost
3 | Application-Name: PartiallySignedAppletManifestSpecifiesSandbox
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/PartiallySignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF.2:
--------------------------------------------------------------------------------
1 | Permissions: all-permissions
2 | Application-Library-Allowable-Codebase: http://localhost
3 | Application-Name: PartiallySignedAppletManifestSpecifiesSandbox
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=SignedAppletExternalMainClass
2 |
3 | JARSIGNER=$(EXPORTED_JARSIGNER)
4 | JAVAC=$(EXPORTED_JAVAC)
5 | JAR=$(EXPORTED_JAR)
6 |
7 | ifeq ($(OS), Windows_NT)
8 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
9 | else
10 | TMPDIR:=$(shell mktemp -d)
11 | endif
12 |
13 | prepare-reproducer:
14 | echo PREPARING REPRODUCER $(TESTNAME) in $(TMPDIR)
15 |
16 | $(JAVAC) -d $(TMPDIR) $(TESTNAME).java $(TESTNAME)Helper.java
17 |
18 | cd $(TMPDIR) ; \
19 | $(JAR) cvf $(TESTNAME)Helper.jar $(TESTNAME)Helper.class ; \
20 | $(EXPORTED_JARSIGNER) -keystore $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass $(PRIVATE_KEYSTORE_PASS) \
21 | -keypass $(PRIVATE_KEYSTORE_PASS) "$(TMPDIR)/$(TESTNAME)Helper.jar" $(TEST_CERT_ALIAS)_signed ; \
22 |
23 | cd $(TMPDIR); \
24 | mv $(TESTNAME).class $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ; \
25 | mv $(TESTNAME)Helper.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ;
26 |
27 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR)
28 | rm -rf $(TMPDIR)
29 |
30 | clean-reproducer:
31 | echo NOTHING TO CLEAN FOR $(TESTNAME)
32 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/TrustedOnlyAttribute/srcs/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Trusted-Only: true
2 | Application-Name: TrustedOnlyAttribute
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/TrustedOnlyAttribute/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=TrustedOnlyAttribute
2 |
3 | JARSIGNER=$(EXPORTED_JARSIGNER)
4 | JAVAC=$(EXPORTED_JAVAC)
5 | JAR=$(EXPORTED_JAR)
6 |
7 | ifeq ($(OS), Windows_NT)
8 | TMPDIR:=$(shell cygpath -p -m $(shell mktemp -d))
9 | else
10 | TMPDIR:=$(shell mktemp -d)
11 | endif
12 |
13 | prepare-reproducer:
14 | echo PREPARING REPRODUCER $(TESTNAME) in $(TMPDIR)
15 |
16 | cp MANIFEST.MF $(TMPDIR) ; \
17 | $(JAVAC) -d $(TMPDIR) $(TESTNAME).java ; \
18 |
19 | cd $(TMPDIR) ; \
20 | $(JAR) cvfm $(TESTNAME)Signed.jar MANIFEST.MF $(TESTNAME).class ; \
21 | $(JAR) cvfm $(TESTNAME)Unsigned.jar MANIFEST.MF $(TESTNAME).class ; \
22 | $(EXPORTED_JARSIGNER) -keystore $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass $(PRIVATE_KEYSTORE_PASS) \
23 | -keypass $(PRIVATE_KEYSTORE_PASS) "$(TMPDIR)/$(TESTNAME)Signed.jar" $(TEST_CERT_ALIAS)_signed ; \
24 |
25 | cd $(TMPDIR); \
26 | mv $(TESTNAME)Signed.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ; \
27 | mv $(TESTNAME)Unsigned.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ; \
28 |
29 | echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR)
30 | rm -rf $(TMPDIR)
31 |
32 | clean-reproducer:
33 | echo NOTHING TO CLEAN FOR $(TESTNAME)
34 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/UnsignedContentInMETAINF/srcs/META-INF/unsigned_file_in_metainf:
--------------------------------------------------------------------------------
1 | This is an unsigned file to be placed in the META-INF/ folder of the copied jar.
2 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile:
--------------------------------------------------------------------------------
1 | TESTNAME=UnsignedContentInMETAINF
2 | JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar
3 | DEPLOY_DIR=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)
4 | JAVAC=$(EXPORTED_JAVAC)
5 | JAR=$(EXPORTED_JAR)
6 | ABS_SRC_PATH=$(REPRODUCERS_TESTS_SRCDIR)/custom/$(TESTNAME)/srcs
7 |
8 | prepare-reproducer:
9 | echo PREPARING REPRODUCER $(TESTNAME)
10 | echo "USING ABSPATH = " $(ABS_SRC_PATH)
11 | cp $(DEPLOY_DIR)/ReadPropertiesSigned.jar $(DEPLOY_DIR)/UnsignedContentInMETAINF.jar
12 | # Place an unsigned file in the META-INF folder
13 | cd $(ABS_SRC_PATH)
14 | $(JAR) uf $(DEPLOY_DIR)/UnsignedContentInMETAINF.jar META-INF/
15 | echo PREPARED REPRODUCER $(TESTNAME)
16 |
17 | clean-reproducer:
18 | echo CLEANING REPRODUCER $(TESTNAME)
19 | rm -f UnsignedContentInMETAINF.jar
20 | echo CLEANED REPRODUCER $(TESTNAME)
21 |
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/custom/remote/srcs/Makefile:
--------------------------------------------------------------------------------
1 | prepare-reproducer:
2 | echo "Nothing to do to prepare remote reproducers now"
3 |
4 | clean-reproducer:
5 | echo "Nothing to do to clean remote reproducers now"
6 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Just prints out "Good simple javaws exapmle" using reflection call from CacheReproducer.jar SimpletestSigned1.jar
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Just prints out "Good simple javaws exapmle" using reflection call from CacheReproducer.jar SimpletestSigned1.jar
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Just prints out "Good simple javaws exapmle" using reflection call from CacheReproducer.jar SimpletestSigned1.jar
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Just prints out "Good simple javaws exapmle" using reflection call from CacheReproducer.jar SimpletestSigned1.jar
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ClasspathManifestTest/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path: Classpath/Manifest/Test/Helper.jar
3 | Application-Name: ClasspathManifestTest
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Codebase: http://localhost https://localhost
3 | Application-Name: CodeBaseManifestEntrySignedMatching
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Codebase: somthingWhatShould mustNeverMatch
3 | Application-Name: CodeBaseManifestEntrySignedNotMatching
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EmptySignedJar/srcs/META-INF/empty_file:
--------------------------------------------------------------------------------
1 | This is an empty file.
2 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleBothInvalid/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: SomeDifferentMainClass AnotherDifferentMainClass
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleBothOk/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: EntryPointSignedSingleBothOk2 EntryPointSignedSingleBothOk1
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleFirstInvalidSecondOk/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: SomeDifferentMainClass EntryPointSignedSingleFirstInvalidSecondOk
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleInvalid/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: SomeDifferentMainClass
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleOk/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: EntryPointSignedSingleOk
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/EntryPointSignedSingleSecondInvalidFirstOk/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: EntryPointSignedSingleSecondInvalidFirstOk SomeDifferentMainClass
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/GifarBase/resources/happyNonAnimated.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/signed/GifarBase/resources/happyNonAnimated.gif
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/Kemtrakpro/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Created-By: 1.6.0 (Sun Microsystems Inc.)
3 | Permissions: all-permissions
4 | Trusted-Only: true
5 | Application-Name: Kemtrak
6 | Main-Class: Kemtrak
7 | Class-path: jcalendar.jar
8 | Codebase: *
9 | Application-Library-Allowable-Codebase: *
10 |
11 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/LoadResources/srcs/some.file:
--------------------------------------------------------------------------------
1 | some text
2 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/MissingJar/resources/MissingJar.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | test MissingJar
7 | IcedTea
8 |
9 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/MissingJar/resources/MissingJar2.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | test MissingJar
7 | IcedTea
8 |
9 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/MissingJar/resources/MissingJar3.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | test MissingJar
7 | IcedTea
8 |
9 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/MissingJar/resources/MissingJar4.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | test MissingJar
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | read properties using System.getenv()
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 | user.name
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ReadPropertiesSigned/README:
--------------------------------------------------------------------------------
1 | This test is relied on by custom/MultipleSignaturesPerJar.
2 | Any changes to this reproducer may require updates there.
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | read properties using System.getenv()
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 | user.name
14 |
15 |
16 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | read properties using System.getenv()
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 | user.name
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/RunInSandbox/srcs/RunInSandbox.java:
--------------------------------------------------------------------------------
1 | import java.applet.Applet;
2 |
3 | public class RunInSandbox extends Applet {
4 |
5 | @Override
6 | public void start() {
7 | System.out.println("RunInSandbox read: " + read("user.home"));
8 | System.out.println("*** APPLET FINISHED ***");
9 | }
10 |
11 | public static void main(String[] args) {
12 | new RunInSandbox().start();
13 | System.exit(0);
14 | }
15 |
16 | private String read(String key) {
17 | try {
18 | return System.getProperty(key);
19 | } catch (Exception e) {
20 | return e.toString();
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/SandboxSignedAllPerm/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: all-permissions
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/SandboxSignedInvalid/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: invalidValue
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/SandboxSignedMissing/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/SandboxSignedSandbox/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: sandbox
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/ShowDocument/resources/document.txt:
--------------------------------------------------------------------------------
1 | document appears!
2 | Good.
3 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/signed/SignedAppletManifestSpecifiesSandbox/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: sandbox
3 | Application-Library-Allowable-Codebase: http://localhost
4 | Application-Name: SignedAppletManifestSpecifiesSandbox
5 |
6 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/AWTCommonResourcesOnly/resources/marker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/AWTCommonResourcesOnly/resources/marker.png
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | test adding shutdown hooks
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/AllStackTraces/resources/AllStackTraces.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Test Thread.getAllStackTraces
7 | IcedTea
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Codebase: http://localhost https://localhost
3 | Application-Name: CodeBaseManifestEntryUnsignedMatching
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Codebase: somthingWhatShould mustNeverMatch
3 | Application-Name: CodeBaseManifestEntryUnsignedNotMatching
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/CustomPolicies/srcs/CustomPolicies.java:
--------------------------------------------------------------------------------
1 | import java.applet.Applet;
2 | import java.security.AccessControlException;
3 |
4 | public class CustomPolicies extends Applet {
5 |
6 | @Override
7 | public void start() {
8 | System.out.println("CustomPolicies applet read: " + read("user.home"));
9 | System.exit(0);
10 | }
11 |
12 | private String read(String key) {
13 | try {
14 | return System.getProperty(key);
15 | } catch (AccessControlException ace) {
16 | return ace.toString();
17 | }
18 | }
19 |
20 | public static void main(String[] args) {
21 | new CustomPolicies().start();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/EntryPointUnsignedSingleInvalid/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Entry-Point: SomeDifferentMainClass
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/FakeCodebase/resources/FakeCodebase.jnlp.in:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | OriginalCodebase FakeCodebase
6 | IcedTea
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/FakeCodebase/resources/OriginalCodebase.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | OriginalCodebase FakeCodebase
6 | IcedTea
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/IcoAccess/resources/IcoAccess.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/IcoAccess/resources/IcoAccess.ico
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/IcoAccess/resources/IcoAccess.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/IcoAccess/resources/IcoAccess.png
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js:
--------------------------------------------------------------------------------
1 | function attemptJSObjectFromEvalTest() {
2 | var obj;
3 |
4 | applet.output("*** Test JSObject from JS ***");
5 |
6 | applet.output("JS create");
7 | obj = new Object();
8 | applet.output("Java set");
9 | applet.setJSMember(obj, "test", 0);
10 | applet.output("obj.test = " + obj.test);
11 |
12 | applet.output("*** Test JSObject from Java ***");
13 |
14 | applet.output("Java create");
15 | obj = applet.newJSObject();
16 | applet.output("Java set");
17 | applet.setJSMember(obj, "test", 0);
18 | applet.output("obj.test = " + obj.test);
19 |
20 | applet.output("*** APPLET FINISHED ***"); // We're done here
21 | }
22 |
23 | doTest(attemptJSObjectFromEvalTest, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Function return values
5 | from applet
6 |
7 |
8 |
9 |
10 |
11 | The JSObjectWithoutToString html page
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js:
--------------------------------------------------------------------------------
1 | function attemptToStringTest() {
2 | var null_obj = Object.create(null);
3 | applet.callJSToString(null_obj);
4 | }
5 |
6 | doTest(attemptToStringTest, applet);
7 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSObjectWithoutToString/srcs/JSObjectWithoutToString.java:
--------------------------------------------------------------------------------
1 | import netscape.javascript.JSObject;
2 |
3 | import java.applet.Applet;
4 |
5 | public class JSObjectWithoutToString extends Applet {
6 |
7 | public void callJSToString(JSObject jso) {
8 | System.out.println(jso.toString());
9 | System.out.println("*** APPLET FINISHED ***");
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - function parameter
5 | conversion
6 |
7 |
8 |
9 |
10 |
11 | The JSToJFuncParam html page
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js:
--------------------------------------------------------------------------------
1 | //dummy javascript class whose instance is passed as JSObject parameter:
2 | function JSCar(mph, color) {
3 | this.mph = mph;
4 | this.color = color;
5 | }
6 |
7 | // the main routine used for all tests:
8 | function attemptFuncParamTests() {
9 | var urlArgs = document.URL.split("?");
10 | var testParams = urlArgs[1].split(";");
11 |
12 | var func = testParams[0];
13 | var value = decodeURIComponent(testParams[1]);
14 | notice.innerHTML = notice.innerHTML + func + " " + value;
15 |
16 | eval('applet.' + func + '(' + value + ')');
17 |
18 | applet.writeAfterTest();
19 | }
20 |
21 | doTest(attemptFuncParamTests, applet);
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JavaScript to Java LiveConnect - FuncParam
6 | IcedTea
7 |
8 | LiveConnect - tests for function parameter conversion when calling Java from JS.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncResol/resources/JSToJFuncResol.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - FuncResol values from
5 | applet
6 |
7 |
8 |
9 |
10 |
11 | The JSToJFuncResol html page
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncResol/resources/JSToJava_FuncResol.js:
--------------------------------------------------------------------------------
1 | function attemptFuncResolTests() {
2 | var urlArgs = document.URL.split("?");
3 | var testParams = urlArgs[1].split(";");
4 | var func = testParams[0];
5 | var value = decodeURIComponent(testParams[1]);
6 |
7 | eval('applet.' + func + '(' + value + ')');
8 | applet.writeAfterTests();
9 | }
10 |
11 | doTest(attemptFuncResolTests, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JavaScript to Java LiveConnect - FuncResol
6 | IcedTea
7 |
8 | LiveConnect - tests for overloaded function resolution when calling Java functions from JS.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncReturn/resources/JSToJFuncReturn.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Function return values
5 | from applet
6 |
7 |
8 |
9 |
10 |
11 | The JSToJFuncReturn html page
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncReturn/resources/JSToJava_FuncReturn.js:
--------------------------------------------------------------------------------
1 | function attemptFuncReturnTests() {
2 | var urlArgs = document.URL.split("?");
3 |
4 | var method = urlArgs[1];
5 |
6 | eval('var value = applet.' + method + '()');
7 |
8 | var checked_string = typeof (value) + ' ';
9 | if (method === '_JSObject') {
10 | checked_string = checked_string + value.key1;
11 | } else {
12 | checked_string = checked_string + value;
13 | }
14 |
15 | applet.printStringAndFinish(checked_string);
16 | }
17 |
18 | doTest(attemptFuncReturnTests, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJFuncReturn/resources/jstoj-funcreturn.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JavaScript to Java LiveConnect - FuncReturn
6 | RedHat
7 |
8 | LiveConnect - tests to process various return types from Java side function calls.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJGet/resources/JSToJGet.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Get values from applet
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | The JSToJGet html page
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJGet/resources/jstoj-get.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Get
5 | RedHat
6 |
7 | LiveConnect - tests for getting members from Java side.
8 |
9 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJSet/resources/JSToJSet.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Set values from applet
5 |
6 |
7 |
8 |
9 |
10 | The JSToJSet html page
11 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJSet/resources/jstoj-set.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Set
5 | RedHat
6 |
7 | LiveConnect - tests for setting members on Java side.
8 |
9 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJTypeConv/resources/JSToJTypeConv.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JavaScript to Java LiveConnect - Types Conversion
5 |
6 |
7 |
8 |
9 |
10 | The JSToJTypeConv html page
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJTypeConv/resources/JSToJava_TypeConv.js:
--------------------------------------------------------------------------------
1 | function attemptTypeConvTests() {
2 |
3 | var urlArgs = document.URL.split("?");
4 | var testParams = urlArgs[1].split(";");
5 |
6 | var field = testParams[0];
7 | var value = decodeURIComponent(testParams[1]);
8 |
9 | eval('applet.' + field + '=' + value);
10 | applet.printNewValueAndFinish(field);
11 |
12 | }
13 |
14 | doTest(attemptTypeConvTests, applet);
15 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JavaScript to Java LiveConnect - TypeConv
6 | IcedTea
7 |
8 | LiveConnect - tests for data type conversion from JS to Java variables.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JToJSString/resources/JSTest.js:
--------------------------------------------------------------------------------
1 | function doTest(funcCallback, applet) {
2 | if (applet.init != null) {
3 | funcCallback();
4 | } else {
5 | setTimeout(function(){doTest(funcCallback, applet)}, 100);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Java JavaScript LiveConnect - Function Parameters
5 |
6 |
7 |
8 |
9 |
10 | The JToJSFuncParam html page
11 |
12 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.js:
--------------------------------------------------------------------------------
1 | function JJSParameterTypeFunc(type_parameter, js_str_param) {
2 | var str = "Call with " + type_parameter.toString() + ":"
3 | + typeof (type_parameter) + " from J";
4 | applet.printOut(str);
5 |
6 | var value = eval(js_str_param);
7 | JSSubFunc(value);
8 | }
9 |
10 | function JSSubFunc(type_parameter) {
11 | var str = "Call with " + type_parameter.toString() + ":"
12 | + typeof (type_parameter) + " from JS";
13 | applet.printOut(str);
14 | }
15 |
16 | function attemptFuncParamTest() {
17 | var urlArgs = document.URL.split("?");
18 | var func = urlArgs[1];
19 |
20 | applet[func]();
21 | applet.printOut("afterTests");
22 | }
23 |
24 | doTest(attemptFuncParamTest, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Java to JavaScript LiveConnect - FuncParam
6 | IcedTea
7 |
8 | LiveConnect - tests for parameter conversion between Java and JavaScript.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Java JavaScript LiveConnect - Function Return types
5 |
6 |
7 |
8 |
9 |
10 | The JToJSFuncReturn html page
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Java to JavaScript LiveConnect - FuncReturn
5 | IcedTea
6 |
7 | LiveConnect - tests for returning different types of values when calling JS function from Java.
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.js:
--------------------------------------------------------------------------------
1 | function doJToJSFuncReturnTests(){
2 | var urlArgs = document.URL.split("?");
3 | value = eval(decodeURIComponent(urlArgs[1]));
4 |
5 | applet.jCallJSFunction();
6 |
7 | applet.writeAfterTests();
8 | }
9 |
10 | function jsReturningFunction(){
11 | return value;
12 | }
13 |
14 | var value;
15 |
16 | doTest(doJToJSFuncReturnTests, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Java JavaScript LiveConnect - Get values from applet
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | The JToJSGet html page
13 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptGet/resources/Javascript_Get.js:
--------------------------------------------------------------------------------
1 | function doJToJSGetTests() {
2 | var urlArgs = document.URL.split("?");
3 | var testParams = urlArgs[1].split(";");
4 | var func = testParams[0];
5 | var value = decodeURIComponent(testParams[1]);
6 |
7 | eval('jsvar=' + value);
8 | eval('applet.' + func + '()');
9 |
10 | applet.writeAfterTests();
11 | }
12 |
13 | var jsvar;
14 |
15 | doTest(doJToJSGetTests, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Java to JavaScript LiveConnect - Get
6 | IcedTea
7 |
8 | LiveConnect - tests for reading JavaScript values from Java.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Java JavaScript LiveConnect - Set values from applet
5 |
6 |
7 |
8 |
9 |
10 | The JToJSSet html page
11 |
12 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptSet/resources/Javascript_Set.js:
--------------------------------------------------------------------------------
1 | var setvar;
2 |
3 | function doJToJSSetTests() {
4 | var urlArgs = document.URL.split("?");
5 | var func = urlArgs[1];
6 |
7 | // pre-initialization of arrays
8 | if (func === "jjsSet1DArray") {
9 | setvar = new Array();
10 | } else if (func === "jjsSet2DArray") {
11 | setvar = new Array();
12 | setvar[1] = new Array();
13 | }
14 |
15 | // calling the applet function
16 | eval('applet.' + func + '()');
17 |
18 | // preparing jsvar value string for output
19 | if (func === "jjsSet1DArray") {
20 | str = "" + setvar[1];
21 | } else if (func === "jjsSet2DArray") {
22 | str = "" + setvar[1][1];
23 | } else if (func === "jjsSetObject") {
24 | str = setvar.toString();
25 | } else {
26 | var str = "" + setvar;
27 | }
28 |
29 | applet.printStrAndFinish(str);
30 | }
31 |
32 | doTest(doJToJSSetTests, applet);
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Java to JavaScript LiveConnect - Set
6 | IcedTea
7 |
8 | LiveConnect - tests for setting JS values from Java.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js:
--------------------------------------------------------------------------------
1 | function runSomeJS() {
2 | applet.print("Javascript URL string was evaluated.")
3 | applet.state = "HasRun";
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java:
--------------------------------------------------------------------------------
1 | import java.applet.Applet;
2 | import java.net.URL;
3 |
4 | public class JavascriptProtocol extends Applet {
5 | public String state = "HasntRun";
6 | @Override
7 | public void start() {
8 | try {
9 | getAppletContext().showDocument(new URL("javascript:runSomeJS()"));
10 | System.out.println("State after showDocument was " + state);
11 | } catch (Exception e) {
12 | e.printStackTrace();
13 | }
14 | System.out.println("*** APPLET FINISHED ***");
15 | }
16 | // Utility for JS side
17 | public void print(String s) {
18 | System.out.println(s);
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/buttonA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/buttonA.png
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/JnlpHrefAttribute/resources/JnlpHrefAttribute.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Main-Class: ManifestedJar1
3 | Application-Name: ManifestedJar1
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Main-Class: ManifestedJar2
3 | Application-Name: ManifestedJar2
4 |
5 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/SandboxUnsignedAllPerm/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: all-permissions
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/SandboxUnsignedInvalid/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: invalidValue
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/SandboxUnsignedMissing/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 |
3 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/SandboxUnsignedSandbox/srcs/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Permissions: sandbox
3 |
4 |
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/encodingTests/resources/encodingTest4-ISO88592.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/encodingTests/resources/encodingTest4-ISO88592.html
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/simpletest1/resources/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/simpletest1/resources/favicon.ico
--------------------------------------------------------------------------------
/integration-tests/reproducers/simple/simpletest1/resources/netxPlugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration-tests/reproducers/simple/simpletest1/resources/netxPlugin.png
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/MapBuilder.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration;
2 |
3 | import java.util.HashMap;
4 | import java.util.Map;
5 |
6 | /**
7 | * Builder for fluent construction of {@code Map}.
8 | */
9 | public class MapBuilder {
10 |
11 | public static MapBuilder replace(String nextKey) {
12 | return new MapBuilder(nextKey);
13 | }
14 |
15 | private final Map map = new HashMap<>();
16 |
17 | private String nextKey;
18 |
19 | private MapBuilder(String nextKey) {
20 | this.nextKey = nextKey;
21 | }
22 |
23 | public MapBuilder and(String nextKey) {
24 | this.nextKey = nextKey;
25 | return this;
26 | }
27 |
28 | public MapBuilder with(int value) {
29 | return with(Integer.toString(value));
30 | }
31 |
32 | public MapBuilder with(Class> value) {
33 | return with(value.getName());
34 | }
35 |
36 | public MapBuilder with(String value) {
37 | map.put(nextKey, value);
38 | return this;
39 | }
40 |
41 | public Map build() {
42 | return map;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/GetRequestConfigBuilder1.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import java.time.ZonedDateTime;
4 |
5 | /**
6 | * ...
7 | */
8 | public interface GetRequestConfigBuilder1 {
9 | GetRequestConfigBuilder2 returnsNotFound();
10 |
11 | GetRequestConfigBuilder2 returnsServerError();
12 |
13 | GetRequestConfigBuilder2 lastModifiedAt(ZonedDateTime lastModified);
14 |
15 | GetRequestConfigBuilder2 withoutLastModificationDate();
16 | }
17 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/GetRequestConfigBuilder2.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import com.github.tomakehurst.wiremock.http.HttpHeader;
4 |
5 | import java.io.IOException;
6 |
7 | /**
8 | * ...
9 | */
10 | public interface GetRequestConfigBuilder2 {
11 | GetRequestConfigBuilder2 additionalHeader(HttpHeader header);
12 |
13 | HeadRequestConfigBuilder1 servingExtensionJnlp(String jnlpFileName) throws IOException;
14 |
15 | ResourceServer servingResource(String resourceFileName) throws IOException;
16 |
17 | String getHttpUrl() throws IOException;
18 | }
19 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/HeadRequestConfigBuilder1.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | /**
4 | * ...
5 | */
6 | public interface HeadRequestConfigBuilder1 {
7 | HeadRequestConfigBuilder2 withHeadRequest();
8 | }
9 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/HeadRequestConfigBuilder2.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import java.time.ZonedDateTime;
4 |
5 | /**
6 | * ...
7 | */
8 | public interface HeadRequestConfigBuilder2 {
9 | HeadRequestConfigBuilder3 returnsNotFound();
10 |
11 | HeadRequestConfigBuilder3 returnsServerError();
12 |
13 | HeadRequestConfigBuilder3 lastModifiedAt(ZonedDateTime lastModified);
14 |
15 | HeadRequestConfigBuilder3 withoutLastModificationDate();
16 | }
17 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/HeadRequestConfigBuilder3.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import com.github.tomakehurst.wiremock.http.HttpHeader;
4 |
5 | /**
6 | * ...
7 | */
8 | public interface HeadRequestConfigBuilder3 {
9 | HeadRequestConfigBuilder3 additionalHeader(HttpHeader header);
10 |
11 | GetRequestConfigBuilder1 withGetRequest();
12 | }
13 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/JnlpServer1.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import java.io.IOException;
4 |
5 | /**
6 | * ...
7 | */
8 | public interface JnlpServer1 {
9 | JnlpServer2 servingJnlp(String jnlpFileName) throws IOException;
10 | }
11 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/JnlpServer2.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | /**
4 | * ...
5 | */
6 | public interface JnlpServer2 {
7 | HeadRequestConfigBuilder1 withMainClass(Class> mainClass);
8 | }
9 |
--------------------------------------------------------------------------------
/integration/src/main/java/net/adoptopenjdk/icedteaweb/integration/serversetup/ResourceServer.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.serversetup;
2 |
3 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionId;
4 | import net.adoptopenjdk.icedteaweb.jnlp.version.VersionString;
5 |
6 | /**
7 | * ...
8 | */
9 | public interface ResourceServer {
10 | HeadRequestConfigBuilder1 withoutVersion();
11 |
12 | HeadRequestConfigBuilder1 withVersion(VersionId versionId);
13 |
14 | HeadRequestConfigBuilder1 withVersion(VersionString requestedVersion, VersionId versionId);
15 | }
16 |
--------------------------------------------------------------------------------
/integration/src/main/resources/javaws.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration/src/main/resources/javaws.ico
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/reproducers/appletDescMainClassWithClass/applications/AppletDescMainClassWithClass.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.reproducers.appletDescMainClassWithClass.applications;
2 |
3 | import java.applet.Applet;
4 |
5 | public class AppletDescMainClassWithClass extends Applet {
6 |
7 | public static String ID = "AppletDescMainClassWithClass";
8 |
9 | public void init() {
10 | System.out.println("init AppletDescMainClassWithClass");
11 | try {
12 | // writeFile(ID, writer -> writer.write("init AppletDescMainClassWithClass"));
13 | } catch (Exception ex) {
14 | throw new RuntimeException(ex);
15 | }
16 | }
17 |
18 | public void start() {
19 | System.out.println("start AppletDescMainClassWithClass");
20 | try {
21 | // writeFile(ID , writer -> writer.write("start AppletDescMainClassWithClass"));
22 | } catch (Exception ex) {
23 | throw new RuntimeException(ex);
24 | }
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/reproducers/extensionresources/jnlps/ComponentExtension.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Simple Component Extension
5 | IcedTea
6 | This is a simple component extension
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/reproducers/extensionresources/jnlps/ManagedApplicationWithExtensionResource.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Managed Application With Extension Resource
5 | IcedTea
6 | This is a managed application with extension resource
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/reproducers/missingCodebases/applications/MissingCodebases.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.integration.reproducers.missingCodebases.applications;
2 |
3 | import java.applet.Applet;
4 |
5 |
6 | public class MissingCodebases extends Applet {
7 |
8 | public static String ID = "MissingCodebases";
9 |
10 | public static void main(String... args) {
11 | System.out.println("main MissingCodebases");
12 | }
13 |
14 | public void init() {
15 | System.out.println("init MissingCodebases");
16 | try {
17 | // writeFile(ID, writer -> writer.write("init MissingCodebases"));
18 | } catch (Exception ex) {
19 | throw new RuntimeException(ex);
20 | }
21 | }
22 |
23 | public void start() {
24 | System.out.println("start MissingCodebases");
25 | try {
26 | // writeFile(ID , writer -> writer.write("start MissingCodebases"));
27 | } catch (Exception ex) {
28 | throw new RuntimeException(ex);
29 | }
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/reproducers/progressclass/jnlps/ManagedApplicationWithProgressClass.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Simple Java Application
5 | IcedTea
6 | This is a simple java application
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/testcase1/jnlps/SimpleJavaApplication.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Simple Java Application
5 | IcedTea
6 | This is a simple java application
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/testcase1/jnlps/SimpleJavaApplicationWithArguments.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Simple Java Application
5 | IcedTea
6 | This is a simple java application with arguments
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | argument1
18 | argument2 with spaces
19 |
20 |
21 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/testcase1/jnlps/SimpleJavaApplicationWithSplash.jnlp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Simple Java Application
5 | IcedTea
6 | This is a simple java application
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/testcase1/resources/javaws.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/integration/src/test/java/net/adoptopenjdk/icedteaweb/integration/testcase1/resources/javaws.png
--------------------------------------------------------------------------------
/integration/src/test/resources/simplelogger.properties:
--------------------------------------------------------------------------------
1 | org.slf4j.simpleLogger.defaultLogLevel=info
2 | #org.slf4j.simpleLogger.showThreadName=false
3 | #org.slf4j.simpleLogger.logFile=log.txt
4 |
--------------------------------------------------------------------------------
/jnlp-api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 |
8 | net.adoptopenjdk
9 | icedtea-web-parent
10 | 2.0.0-SNAPSHOT
11 | ../
12 |
13 |
14 | jnlp-api
15 | JNLP API
16 | Service interfaces according to JNLP API Reference, v1.0.
17 |
18 |
19 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/BasicService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface BasicService {
4 |
5 | public java.net.URL getCodeBase();
6 |
7 | public boolean isOffline();
8 |
9 | public boolean showDocument(java.net.URL url);
10 |
11 | public boolean isWebBrowserSupported();
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/ClipboardService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface ClipboardService {
4 |
5 | public java.awt.datatransfer.Transferable getContents();
6 |
7 | public void setContents(java.awt.datatransfer.Transferable contents);
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/DownloadServiceListener.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface DownloadServiceListener {
4 |
5 | public void progress(java.net.URL url, java.lang.String version, long readSoFar, long total, int overallPercent);
6 |
7 | public void validating(java.net.URL url, java.lang.String version, long entry, long total, int overallPercent);
8 |
9 | public void upgradingArchive(java.net.URL url, java.lang.String version, int patchPercent, int overallPercent);
10 |
11 | public void downloadFailed(java.net.URL url, java.lang.String version);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/ExtensionInstallerService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface ExtensionInstallerService {
4 |
5 | public java.lang.String getInstallPath();
6 |
7 | public java.lang.String getExtensionVersion();
8 |
9 | public java.net.URL getExtensionLocation();
10 |
11 | public void hideProgressBar();
12 |
13 | public void hideStatusWindow();
14 |
15 | public void setHeading(java.lang.String heading);
16 |
17 | public void setStatus(java.lang.String status);
18 |
19 | public void updateProgress(int value);
20 |
21 | public void installSucceeded(boolean needsReboot);
22 |
23 | public void installFailed();
24 |
25 | public void setJREInfo(java.lang.String platformVersion, java.lang.String jrePath);
26 |
27 | public void setNativeLibraryInfo(java.lang.String path);
28 |
29 | public java.lang.String getInstalledJRE(java.net.URL url, java.lang.String version);
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/FileContents.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface FileContents {
4 |
5 | public java.lang.String getName() throws java.io.IOException;
6 |
7 | public java.io.InputStream getInputStream() throws java.io.IOException;
8 |
9 | public java.io.OutputStream getOutputStream(boolean overwrite) throws java.io.IOException;
10 |
11 | public long getLength() throws java.io.IOException;
12 |
13 | public boolean canRead() throws java.io.IOException;
14 |
15 | public boolean canWrite() throws java.io.IOException;
16 |
17 | public JNLPRandomAccessFile getRandomAccessFile(java.lang.String mode) throws java.io.IOException;
18 |
19 | public long getMaxLength() throws java.io.IOException;
20 |
21 | public long setMaxLength(long maxlength) throws java.io.IOException;
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/FileOpenService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface FileOpenService {
4 |
5 | public FileContents openFileDialog(java.lang.String pathHint, java.lang.String[] extensions) throws java.io.IOException;
6 |
7 | public FileContents[] openMultiFileDialog(java.lang.String pathHint, java.lang.String[] extensions) throws java.io.IOException;
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/FileSaveService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface FileSaveService {
4 |
5 | public FileContents saveFileDialog(java.lang.String pathHint, java.lang.String[] extensions, java.io.InputStream stream, java.lang.String name) throws java.io.IOException;
6 |
7 | public FileContents saveAsFileDialog(java.lang.String pathHint, java.lang.String[] extensions, FileContents contents) throws java.io.IOException;
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/IntegrationService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface IntegrationService {
4 |
5 | public boolean hasAssociation(java.lang.String mimeType, java.lang.String[] extensions);
6 |
7 | public boolean hasDesktopShortcut();
8 |
9 | public boolean hasMenuShortcut();
10 |
11 | public boolean removeAssociation(java.lang.String mimeType, java.lang.String[] extensions);
12 |
13 | public boolean removeShortcuts();
14 |
15 | public boolean requestAssociation(java.lang.String mimeType, java.lang.String[] extensions);
16 |
17 | public boolean requestShortcut(boolean onDesktop, boolean inMenu, java.lang.String subMenu);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/PersistenceService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface PersistenceService {
4 |
5 | public static final int CACHED = 0;
6 | public static final int TEMPORARY = 1;
7 | public static final int DIRTY = 2;
8 |
9 | public long create(java.net.URL url, long maxsize) throws java.net.MalformedURLException, java.io.IOException;
10 |
11 | public FileContents get(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException, java.io.FileNotFoundException;
12 |
13 | public void delete(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException;
14 |
15 | public java.lang.String[] getNames(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException;
16 |
17 | public int getTag(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException;
18 |
19 | public void setTag(java.net.URL url, int tag) throws java.net.MalformedURLException, java.io.IOException;
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/PrintService.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface PrintService {
4 |
5 | public java.awt.print.PageFormat getDefaultPage();
6 |
7 | public java.awt.print.PageFormat showPageFormatDialog(java.awt.print.PageFormat page);
8 |
9 | public boolean print(java.awt.print.Pageable document);
10 |
11 | public boolean print(java.awt.print.Printable painter);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/ServiceManagerStub.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public interface ServiceManagerStub {
4 |
5 | public java.lang.Object lookup(java.lang.String name) throws UnavailableServiceException;
6 |
7 | public java.lang.String[] getServiceNames();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/jnlp-api/src/main/java/javax/jnlp/UnavailableServiceException.java:
--------------------------------------------------------------------------------
1 | package javax.jnlp;
2 |
3 | public class UnavailableServiceException extends Exception {
4 |
5 | public UnavailableServiceException() {
6 | super();
7 | }
8 |
9 | public UnavailableServiceException(java.lang.String message) {
10 | super(message);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/launchers/completion.in/itweb-settings.bash.in:
--------------------------------------------------------------------------------
1 | _itwebsettings()
2 | {
3 | local cur prev opts base
4 | cur="${COMP_WORDS[COMP_CWORD]}"
5 | prev="${COMP_WORDS[COMP_CWORD-1]}"
6 |
7 | # Icedtea-web settings Options
8 | opts="@OPTIONS@"
9 |
10 | COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
11 | return 0
12 | }
13 | complete -F _itwebsettings itweb-settings
14 |
--------------------------------------------------------------------------------
/launchers/completion.in/javaws.bash.in:
--------------------------------------------------------------------------------
1 | _javaws()
2 | {
3 | local cur prev opts base
4 | cur="${COMP_WORDS[COMP_CWORD]}"
5 | prev="${COMP_WORDS[COMP_CWORD-1]}"
6 |
7 | # JavaWs Options
8 | opts="@OPTIONS@"
9 | if [[ $prev == *"-jnlp" || $prev == *"-html" ]] ; then
10 | COMPREPLY=($(compgen -f -X "!*" -- ${cur}))
11 | if [ -d "$COMPREPLY" ] ; then
12 | COMPREPLY="$COMPREPLY/"
13 | fi
14 | return 0
15 | fi
16 | if [[ $cur == "" ]] ; then
17 | COMPREPLY=($(compgen -W "aa_file_or_url ${opts} zz_file_or_url" -- ${cur}))
18 | return 0
19 | fi
20 | if [[ $cur == "-"* ]] ; then
21 | COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
22 | return 0
23 | else
24 | COMPREPLY=($(compgen -f -X "!*" -- ${cur}))
25 | if [ -d "$COMPREPLY" ] ; then
26 | COMPREPLY="$COMPREPLY/"
27 | fi
28 | return 0
29 | fi
30 | }
31 | complete -F _javaws javaws
32 |
--------------------------------------------------------------------------------
/launchers/completion.in/policyeditor.bash.in:
--------------------------------------------------------------------------------
1 | _policyeditor()
2 | {
3 | local cur prev opts base
4 | cur="${COMP_WORDS[COMP_CWORD]}"
5 | prev="${COMP_WORDS[COMP_CWORD-1]}"
6 |
7 | # PolicyEditor Options
8 | opts="@OPTIONS@"
9 |
10 | COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
11 | return 0
12 | }
13 | complete -F _policyeditor policyeditor
14 |
--------------------------------------------------------------------------------
/launchers/javaws.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/launchers/javaws.ico
--------------------------------------------------------------------------------
/launchers/javaws.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/launchers/javaws.png
--------------------------------------------------------------------------------
/launchers/rust-launcher/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "launcher"
3 | version = "2.0.0"
4 | authors = ["https://github.com/AdoptOpenJDK/icedtea-web/graphs/contributors"]
5 |
6 | [dependencies]
7 | [target.'cfg(windows)'.dependencies]
8 | dunce = "1.0.0"
9 |
--------------------------------------------------------------------------------
/launchers/win-installer/greetings_banner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/launchers/win-installer/greetings_banner.bmp
--------------------------------------------------------------------------------
/launchers/win-installer/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/launchers/win-installer/icon.ico
--------------------------------------------------------------------------------
/launchers/win-installer/top_banner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdoptOpenJDK/IcedTea-Web/66422421d703566dd4f4b2b098ad25ae536fd369/launchers/win-installer/top_banner.bmp
--------------------------------------------------------------------------------
/launchers/xdesktop.in/itweb-settings.desktop.in:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=IcedTea-Web Control Panel
3 | Name[de]=IcedTea-Web Systemsteuerung
4 | Name[pl]=Panel sterowania IcedTea-Web
5 | Name[cs]=Ovládací panel IcedTea-Web
6 | GenericName=Control Panel
7 | Comment=Configure IcedTea-Web (javaws and plugin)
8 | Comment[de]=Konfiguriert IcedTea-Web (javaws und Plug-in)
9 | Comment[pl]=Konfiguruj IcedTea-Web (javaws i wtyczkę)
10 | Comment[cs]=Konfigurace aplikace IcedTea-Web (javaws a zásuvný modul)
11 | Exec=PATH_TO_ITWEB_SETTINGS
12 | Icon=javaws
13 | Terminal=false
14 | Type=Application
15 | Categories=Settings;
16 | Keywords=IcedTea;IcedTea-Web;java;javaws;web;start;webstart;jnlp;
17 |
--------------------------------------------------------------------------------
/launchers/xdesktop.in/javaws.desktop.in:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=IcedTea Web Start
3 | GenericName=Java Web Start
4 | Comment=IcedTea Application Launcher
5 | Exec=PATH_TO_JAVAWS %u
6 | Icon=javaws
7 | Terminal=false
8 | Type=Application
9 | NoDisplay=true
10 | Categories=Network;WebBrowser;
11 | MimeType=application/x-java-jnlp-file;x-scheme-handler/jnlp;x-scheme-handler/jnlps
12 |
--------------------------------------------------------------------------------
/launchers/xdesktop.in/policyeditor.desktop.in:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=IcedTea-Web Policy Editor
3 | GenericName=Policy Tool
4 | Comment=Edit Java Applet policy and permission settings
5 | Exec=PATH_TO_POLICYEDITOR
6 | Icon=javaws
7 | Terminal=false
8 | Type=Application
9 | Categories=Settings;
10 | Keywords=IcedTea;IcedTea-Web;java;javaws;web;start;webstart;jnlp;
11 |
--------------------------------------------------------------------------------
/xml-parser/src/main/java/net/adoptopenjdk/icedteaweb/xmlparser/ParserType.java:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2001-2003 Jon A. Maxwell (JAM)
2 | //
3 | // This library is free software; you can redistribute it and/or
4 | // modify it under the terms of the GNU Lesser General Public
5 | // License as published by the Free Software Foundation; either
6 | // version 2.1 of the License, or (at your option) any later version.
7 | //
8 | // This library is distributed in the hope that it will be useful,
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 | // Lesser General Public License for more details.
12 | //
13 | // You should have received a copy of the GNU Lesser General Public
14 | // License along with this library; if not, write to the Free Software
15 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16 |
17 | package net.adoptopenjdk.icedteaweb.xmlparser;
18 |
19 | public enum ParserType {
20 | MALFORMED, NORMAL
21 | }
22 |
--------------------------------------------------------------------------------
/xml-parser/src/main/java/net/adoptopenjdk/icedteaweb/xmlparser/XmlNode.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.xmlparser;
2 |
3 | import java.util.List;
4 |
5 | public interface XmlNode {
6 |
7 | XmlNode getFirstChild();
8 |
9 | XmlNode getNextSibling();
10 |
11 | String getNodeValue();
12 |
13 | XmlNode[] getChildNodes();
14 |
15 | List getAttributeNames();
16 |
17 | String getAttribute(String name);
18 |
19 | List getChildren(final String name);
20 |
21 | String getNodeName();
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/xml-parser/src/main/java/net/adoptopenjdk/icedteaweb/xmlparser/XmlParserFactory.java:
--------------------------------------------------------------------------------
1 | package net.adoptopenjdk.icedteaweb.xmlparser;
2 |
3 | import static net.adoptopenjdk.icedteaweb.xmlparser.ParserType.MALFORMED;
4 |
5 | public class XmlParserFactory {
6 |
7 | /**
8 | * @return a parser implementation for the given parser type.
9 | */
10 | public static XMLParser getParser(ParserType parserToUse) {
11 | ParseException.setUsed(parserToUse);
12 | return parserToUse == MALFORMED ? new MalformedXMLParser() : new XMLParser();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------