Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Master issue] Prepare eXist 5.3.0 stable release #3914

Closed
31 of 38 tasks
joewiz opened this issue Jun 2, 2021 · 30 comments · May be fixed by #3962
Closed
31 of 38 tasks

[Master issue] Prepare eXist 5.3.0 stable release #3914

joewiz opened this issue Jun 2, 2021 · 30 comments · May be fixed by #3962

Comments

@joewiz
Copy link
Member

joewiz commented Jun 2, 2021

Finally:

Open Issue

  • push 5.3.0 to master
  • Go to GitHub and move all issues and PRs which are still open for the release milestone to the next release milestone and close the milestones 5.3.0 and 5.2.1
  • merge open PR and release crypto-lib 6.0.0
  • update homebrew
  • publish updated “howto release” document [doc] update versioning and release guide #3962
  • Github-release-plugin: fix link to release notes and improve layout
  • Wikipedia page: Lars asked someone from outside the community to update it. This might take a moment.

Note: Tasks marked with * are drawn from @adamretter's list from Slack.

@joewiz
Copy link
Member Author

joewiz commented Jun 2, 2021

Now updated with entries for reviewing and merging the crypto lib package, and publishing it to the public-repo.

@joewiz joewiz added this to the eXist-5.3.0 milestone Jun 2, 2021
@line-o
Copy link
Member

line-o commented Jun 3, 2021

Crypto lib needs to wait for 5.3.0 to be released - so technically we should mention this ticket over in the crypto lib PR and not the other way around. Do you agree @joewiz ?

@line-o
Copy link
Member

line-o commented Jun 3, 2021

I think Security - core+Saxon - XXE to RFI in fn:doc etc* is already addressed here
[bugfix] Change XML processing defaults for v6.0.0 by dizzzz · Pull Request #3836 · eXist-db/exist
So the question is wether to accept this for security reasons even if it might affect users of the database.

@line-o line-o pinned this issue Jun 3, 2021
@joewiz
Copy link
Member Author

joewiz commented Jun 3, 2021

@line-o Ah, I didn't realize the crypto lib's new version had to come after the release of eXist 5.3.0. Since the crypto lib's release is an important aspect of the eXist 5.3.0 release, I think it's worth keeping a checkbox here. How about if I move that to-do item to the "Finally" section?

@joewiz
Copy link
Member Author

joewiz commented Jun 3, 2021

@line-o Regarding the briefly worded "core+saxon" item, I agree that #3836 addresses the XXE issue, but it doesn't address the RFI issue. That topic came up only in the Community Call on May 10:

Functions that can be used to perform external HTTP requests, e.g.: doc(). May need to institute a whitelist/blacklist, or disable external HTTP requests by default. Could be a configuration option—off by default in 5.3.0 but on by default in 6.0.0.

  • doc, doc-available, json-doc, unparsed-text, unparsed-text-lines
  • EXPath HTTP client
  • xinclude
  • transform:transform

AR: Suggests we solve these before the forthcoming release.

This deserves its own issue, but the idea is that eXist allows guest users to trigger HTTP requests for remote files (RFI), and the configuration option envisioned here would add a condition to all functions like doc(), limiting the ability to perform HTTP requests. Perhaps the time is right for me to open an issue for further discussion of this?

Update: Issue added: #3927.

@line-o
Copy link
Member

line-o commented Jun 3, 2021

@joewiz re: crypto lib checkbox in Finally is good.

@line-o
Copy link
Member

line-o commented Jun 3, 2021

@joewiz regarding the introduction of new configuration option to address RFI for guest users: That deserves its separate issue, yes.

@line-o
Copy link
Member

line-o commented Jun 4, 2021

CVE-2019-17570 addresses malicious XML-RPC servers. In our scenario this is existdb itself which we ultimately trust as it is under our control, correct?

@adamretter
Copy link
Contributor

CVE-2019-17570

I fixed this on in FusionDB previously. You basically have to host patched versions of the Apache XML-RPC Jars

@line-o
Copy link
Member

line-o commented Jun 4, 2021

Is Apache XML-RPC used as a client in exist-db or as a server?

@line-o
Copy link
Member

line-o commented Jun 4, 2021

I would like to drop #3738 from the list as it introduces a breaking change (order of application of map:merge).

@joewiz
Copy link
Member Author

joewiz commented Jun 4, 2021

Indeed, #3738 is labelled as bound for 6.0.0. Ok to remove it from this list, @adamretter?

@joewiz
Copy link
Member Author

joewiz commented Jun 4, 2021

I've split the "Update core apps to use templating v1.0.0 and remove all dependencies on shared-resources" into two separate checklist sets. This way we can track which apps have met each threshold.

@adamretter
Copy link
Contributor

Is Apache XML-RPC used as a client in exist-db or as a server?

Both of course! eXist-db provides an XML-RPC API, and the XML:DB API also is implemented atop XML-RPC. The Java Admin Client is an XML-RPC client as are some of the functions in the XQuery XMLDB Extension module

@adamretter
Copy link
Contributor

Indeed, #3738 is labelled as bound for 6.0.0. Ok to remove it from this list, @adamretter?

@joewiz No, it needs to be split into two parts. The parts for 5.3.0 and the parts for 6.0.0. I will try and do that over the weekend if I can find the time.

@joewiz
Copy link
Member Author

joewiz commented Jun 6, 2021

We may want to pause on merging the PRs involving updating the core apps to use the new templating module until #3918 is resolved. The lib:parse-params templating function is affected by this issue.

@joewiz
Copy link
Member Author

joewiz commented Jun 7, 2021

Thanks to Wolfgang’s release of templating v1.0.2, which sidesteps the performance issue in #3918, the work on migrating core apps to templating and toward removing shared-resources from them can continue.

These PRs are ready for review & merge so far:

@joewiz
Copy link
Member Author

joewiz commented Jun 7, 2021

FYI, someone checked doc and fundocs as having had their dependencies on shared-resources removed, but this is incorrect. The PRs above only switched to the new templating library; they did not fully remove shared-resources dependencies.

@line-o
Copy link
Member

line-o commented Jun 7, 2021

Oh, sorry! That was me.

@duncdrum
Copy link
Contributor

duncdrum commented Jun 8, 2021

@joewiz Docs have had their non templating dependency on shared resources removed about 2years ago, unless someone added them back in or I missed something

@joewiz
Copy link
Member Author

joewiz commented Jun 8, 2021

@duncdrum Yes, you were right! It was still listed as a dependency in pom.xml and xar-assembly.xml and a couple of references lingered, but there were no substantive dependencies, so it was easy to pull those out. Thanks!

@joewiz
Copy link
Member Author

joewiz commented Jun 11, 2021

The first app without shared-resources from the list above is now published - markdown v0.7.0 - to GitHub Releases and public-repo.

Status of the other core apps being tracked in this master issue:

  • documentation has an approved PR #626 removing shared-resources, which passes tests locally but fails in the CI environment for unknown reasons. Attempts at resolving CI issues are in progress in #638. The repo also has 5 open security issues, but because of dependencies on old libraries (see #602 about one of these), we aren't able to advance to the newer versions that resolve the security issues. If these PRs' issues can't be resolved, we will have to release with the continued dependency on shared-resources, since at least the master branch is passing CI.
  • eXide has a WIP PR #309 that comprehensively removes shared-resources. The only remaining problem is a regression preventing users from renaming resources.
  • fundocs has a merged PR #41 that switches to templating, but so far we have no PR removing the remaining references to shared-resources—namely, jquery and eXist CSS.
  • monex has a merged PR #153 that switches to templating, but so far we have no PR removing the remaining references to shared-resources—namely, ace, bootstrap, jquery, eXist CSS, eXist icon, eXist favicon.

@joewiz
Copy link
Member Author

joewiz commented Jun 11, 2021

As promised, I added an issue to track the feature to prevent eXist from making external HTTP requests: #3927. I've added the link to the master description above too.

@line-o
Copy link
Member

line-o commented Jun 17, 2021

@joewiz I'll add eXist-db/monex#155 to monex

@line-o
Copy link
Member

line-o commented Jun 18, 2021

next one on the menu is fundocs: any takers?
eXist-db/function-documentation#42

@line-o
Copy link
Member

line-o commented Jun 20, 2021

New versions of monex and eXide are available in the public repository.

@line-o
Copy link
Member

line-o commented Jun 20, 2021

All core apps are now released and available in the public package repository.
The PR to update the bundled libraries and apps will be opened tomorrow.

@line-o
Copy link
Member

line-o commented Jun 21, 2021

When #3939 is applied shared-resources and markdown are no longer bundled with existdb

@joewiz
Copy link
Member Author

joewiz commented Jul 5, 2021

I just unchecked "Update exist-db.org with eXist 5.3.0 and updated core apps" as it appears exist-db.org is still running 5.1.1.

@joewiz
Copy link
Member Author

joewiz commented Aug 9, 2021

All incomplete tasks have been accounted for in the new master issue. Work on these should continue there. #3968

@joewiz joewiz closed this as completed Aug 9, 2021
@joewiz joewiz unpinned this issue Aug 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants