-
Notifications
You must be signed in to change notification settings - Fork 102
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
State of jasper #208
Comments
@jubalh I agree, and I have just started the process of dropping jasper from Gentoo. Consumers should move to openjpeg-2, which is maintained. Thanks for the wake up call. |
Add pkg-config to USE_TOOLS to ensure openjpeg gets detected properly. See jasper-software/jasper#208 bump PKGREVISION
@SoapGentoo But, you masked media-libs/jasper without fixing ebuilds that depend on jasper.
|
Which should be reported on the Gentoo bugzilla or directly fixed in their tree. But not reported here :-) |
@jubalh @SoapGentoo I am sorry for the situation with JasPer, but I have no one to help me with the project and I also have no funding for this project either. Moreover, I do not do any research work related to JPEG 2000. Although I have been told by many people that they find JasPer useful in their commercial products, no company wants to actually provide funding for the maintenance/development of the code. So, I just do the best that I can (in my own extremely limited spare time), which is admittedly not very satisfactory. But I don't see any alternatives, unless someone can provide support for this project. |
@SoapGentoo that would be a great plan. |
Gentoo has removed jasper two weeks ago. |
@SoapGentoo an unfortunate necessity I imagine. Just a pity. I just wish someone could pick it up, fork it and provide the necessary patches as many things still rely on jasper. |
It's not just about picking it up. Finding solutions for some of the issues is not easy. |
Then it's about getting downstream projects moving on from abandoned software. |
Which is what we are doing here since a few weeks ;-) You are late to the party ;) |
Thank you then for writing to them all. |
Do you mind linking the issues? |
Some of them have issues in the projects bugtrackers others were communicated via private mail. Usually I documented there the link to the bugtrackers. But if it was a private mail I only made a private comment which not everybody can read. |
Many memory issues remain unfixed or partially fixed: CVE-2018-18873 CVE-2018-19539 CVE-2018-19540 CVE-2018-19541 CVE-2018-9252 CVE-2018-19542 CVE-2018-19543 CVE-2018-20570 CVE-2018-20584 CVE-2018-20622 CVE-2018-9252 Debian/Ubuntu, OpenSuSE and Gentoo removed it entirely. See: jasper-software/jasper#208
unmaintained, lots of CVEs, follow Debian, Gentoo et all, jasper-software/jasper#208 gegl, libraw, opencv rebuild without it imagemagick also updated to 6.9.10.75 graphicsmagick added libwebp youtube-dl 2019.11.28
We are making progress. Two months ago openSUSE removed Jasper from its repositories too. Today OpenCV merged a patch to use OpenJPEG instead of Jasper for JPEG2000 support. Nevertheless I opened another pull request which fixes CVE-2018-9154. @mdadams would you consider taking a look at merging them? |
So I would like to try it on more time. Do you think we can work together here to improve the state of the project? If even more people would like to joind or you don't want any responsibility at all or don't want to host it on your private account we could also create an organization on GitHub and transfer the repository there. If you send us the source for the website currently hosted at https://www.ece.uvic.ca/~frodo/jasper/ we could also use GitHub Pages to host the site on GitHub. With more people spending time on this there is a better chance that this thing keeps on going. |
@mdadams another week has passed. While I totally get that you probably are quite busy, I absolutely don't get why you won't allow the project to live without need of you immediate action. Yes, you created the All CVEs (and more) got fixed. Code got cleaned up pretty nicely. We tried to organize and comment on existing issues, making all the work transparent and easy to follow. So all the technical work is done. But more organizational work is needed. We would still like to help here, but you mentioned your opposition of our fork. Saying it needs to be done in a way that you feel comfortable with. Well, I'm not sure what you are comfortable with and with what not. I only see that you cling to this project in a way blocking all progress. Let us just take the easiest route now: This means the least amount of work for you. And the quickest way to a new JasPer for the rest of the world ;) |
@mdadams please make jasper usable for the community by transferring it. Otherwise more and more distributions and packagers will remove it from their repositories. |
If it won't be transferred soonish we will just start creating releases (and continue maintaining) at our fork: https://github.com/jasper-maint/jasper In that scenario openSUSE will definitely switch to that fork. |
@mdadams I hope you can find some time to respond. If you won't respond within a week we will:
|
I say 2.0.17, because the release is supposed to be an ABI-compatible drop-in for 2.0.16. |
Agreed. Though in the past it seems .so name bump and ABI incompatibly wasn't related (although of course it should) ;) https://abi-laboratory.pro/index.php?view=timeline&l=jasper |
@MaxKellermann and @jubalh |
@mdadams I answered to all your mails now but didn't get any reply. If we want to merge the project together we should be quick. Otherwise people create PRs to one or the other and things might diverge.. For example you received: #218 And since you last reviewed our changes I also merged: jasper-maint/jasper#44 So please let's hurry to come to a conclusion together. Like I wrote in the mail your changes in 3b9c307 are not good. Also then just tagging a release without clearing up the state of the project and not having a proper changelog is also not good in my opinion. You mentioned that you merged all our changes but two into that commit. It's very hard to find out which these were. So please now do this.
Then we can discuss how we will go about the ChangeLog. Since this release fixes all known CVEs for JasPer it's important to highlight this to the user. If you are not that familiar with git, please tell me the two commits you don't like. Give me write access to this repo and I'll do it for you. |
@jubalh, @MaxKellermann: I see the version 2.0.17 was released (from a local jasper-maint branch, not master) with all commits from jasper-maint/jasper repository and two commits on top. Now we have official release which includes all your hard work. |
@jubalh, @MaxKellermann thank you for great work! |
In terms of compliance with the international standard, PR jasper-maint/jasper#45 is very important. Now the JPEG group is looking for a long-term way how to maintain reference software packages. Depending on future discussions and if Jasper does not comply with the standard, it may become necessary to drop Jasper from the official reference software. |
@mdadams good! The work on the now new 08db440 could have been done in two commits and using git revert. But its no big deal. I think we should wait with tagging until we are sure all is fine in general :-)
I also think we should tag on master only :-)
Yep! We won't forget to review/merge it.
I think slowly we are gaining ground and JasPer will survive. Which means we will try to comply with the standard and will review pull requests (once all the current confusion has settled). So no worries :-) |
Read #208 for details. Unfortunately 2.0.17 was released on a branch. Later the branch was removed and the 2.0.17 tag was placed on another commit and branch. This resulted in various distros who pulled the tarball at different times two have different jasper versions for 2.0.17. https://repology.org/project/jasper/versions shows that some even have a 2.0.18. To reduce all this confusion I will release 2.0.19 now. With a clean changelog referencing what @MaxKellermann and @jubalh (me) did on our fork at jasper-maint. If we want to revert things later or improve the changelog this can be easily done on master ontop of this. But I feel we need this release to reduce the confusion and put the project on a clear track again.
I merged all our commits (as of today) from https://github.com/jasper-maint/jasper to the master branch of https://github.com/jasper-software/jasper. I then reverted the note about the fork in the README: f74f882 Added a (not the nicest) changelog: eaa7abb containing mentions of all the CVEs we fixed. And I bumpbed the version to 2.0.19 and tagged it: 7d8cfd8 My goal is now to move jasper-maint/jasper#45 from jasper-maint to jasper-software. Then I plan to archive/disable pull requests/issues on jasper-maint and add a note that we merged here in jasper-software with the original author. I hope this reduced confusion for users. https://repology.org/project/jasper/versions shows that distributions also are confused already. Slackware and CRUX already use a 2.0.18. We need to align all this and make it more visible to users whats going on behind the scenes. So I took the liberty to do the changes mentioned above. @mdadams you told us you wanted to review our changes first before merging them on master. But the confusion that we now have needed correction. This is why I did the above steps. Otherwise we end up in a huge confused mess. You can still review all our changes and then use I hope now all projects switch to 2.0.19 and we can continue to work all together on JasPer. |
@thoger maybe you can inform the Fedora/RedHat maintainer Submission to add JasPer 2.0.19 again to the official openSUSE repo. I informed Digikam that there is no need to replace JasPer anymore. |
@jubalh thanks, I'll look into readding jasper back to Gentoo. |
@jubalh Impressive work you have done here. Thank you! |
@jubalh and @MaxKellermann: I'm sorry about the tag issue. This was my fault. Since 2.0.17 was used to tag different commits at different points in time, it might be best to delete this tag because any references to it might not really be referencing what people think it references. At least if the tag were deleted, people would know that something is wrong, rather than unknowingly referencing the wrong commit. |
@jubalh: Okay, I understand your rationale for merging the changes now. It makes sense, given the circumstances. I'm sorry for the botched 2.0.17 tag. I can review the merged changes after the fact. Perhaps, merging sooner will also help to consolidate the various JasPer efforts more quickly, which would only be a good thing. |
Oh damn I missed this issue's birthday, happy birthday issue for 26 days ago! |
All our fixes and improvements have been merged from jasper-maint/jasper into jasper-software/jasper. The last pull request moved from jasper-maint/jasper#45 to #221 for further review and discussion. I put a note in the about section at https://github.com/jasper-maint/jasper and archived the repository. Current state of this project:
|
The 2.0.17 is already release in some distros. Please don't simply delete a tag or do things like re-tagging. If you want to correct this please release an appropriate followup version 2.0.18. |
@anthraxx maybe you can start by at least reading the last couple of comments in this thread... |
@jubalh I'm following the whole thread in fact since it has been born. I'm just saying its in my humble opinion not a good idea to delete tags. It can be annotated in the release description that its a broken version or something. |
@anthraxx You are saying what we have said since many comments. Plus the addition to not delete the tag. |
@jubalh I think you are not really reading it in a way it was meant -- and/or maybe I just wrote it badly in a non unambiguous way. That was meant as an example what should be done instead of re-tagging. Yes, it may have been just a +1, but I wanted to add a written feedback from another distro packager, consider it more like a +1 ACK but with the difference I would not delete tags even if they are faulty. |
Buildroot has been updated to 2.0.19 too: buildroot/buildroot@d0f7b24 |
Debian and Ubuntu dropped jasper from their repositories in 2016 because of the security issues.
In 2018 there were several more CVEs discovered.
They have been submitted in one bug report and some of them as individual bugreports.
An effort was made in fixing these bug via a pull request which did not receive any feedback since Oct 6, 2017 to this day. I commented on it to ping the maintainer, no respone.
However one of the commits that were included in that PR were by hand again without mentioning the original commit/author: 573a6e4. The coresponding issue #142 was also not closed.
Later another effort was made by posting fixes to several of the bugs here, located on gist.github.com.
AFAIK it were the patches used by the Debian LTS team.
They also received no feedback.
I asked the maintainer what was the reason for this, and he replied that he has limited time. Which is understandable of course. And that some pull requests are not real fixes but only mask the problem. Which is also fine but would be good to have commented on publicly on the pull request since now he himself didn't remember which PRs were the faulty ones.
I created pull request #197 #198 #199 so that it is easier for the jasper maintainer to just merge them and not have to go through the pastes. #200 was opened as a better solution for one of them.
CVE-2017-13748 was adressed in #159 in 2017. CVE-2018-9055 was adressed in #204 in 2019. Some more fixes in #158.
Neither received any feedback.
Today there are 56 open issues, and 7 open pull requests.
openSUSE ships 2.0.16 with a few patches for CVEs on top.
Fedora ships 2.014 with some patches for CVEs but not fixing all the ones that have fixes available.
Debian and Ubuntu removed jasper.
Gentoo ships 2.0.16 with no patches.
Arch ships 2.0.16 with one patch.
With 2.0.16 (12 March 2019) the tarball was not put to the usual location, the changelog and website were not updated. Website still mentions JasPer 2.0.14 (2017) as latest release. See #202 for the report.
Having limited time for an open source project is fine and understandable. But I think some parts of how things were handled could have been done better. I also think that it seems like at one point there were several people trying to help and contribute to jasper but stopped doing so because there was no reaction to their efforts.
I asked several months ago if it would be possible to at least now add more maintainers to the project. People who are still interested in helping jasper. Or assign some students from University of Victoria for this task. Even if not for active development/bug fixing then at least for sorting issues and taking care of pull requests but did not get a reply to this.
So currently openSUSE is also trying to reduce dependencies on jasper, and might drop jasper from its repos too.
My strategy was to try to help revive jasper, commenting on issues and creating pull requests.
Now I'm trying to convince other projects that rely on JasPer for JPEG-2000 support to switch to openjpeg which seems currently to be better maintained, so that when we remove jasper we don't loose JPEG-2000 support in those programs. Debian people did this for DigiKam in the past too. I'm also changing openSUSE packages that can choose between the two to use openjpeg instead.
An alternative would be that upstream decides to add more maintainers and fixes bugs or that the community forks jasper and merges the current pull requests and tries to fix more.
I'm creating this issue in hope of finding more people interested in jasper so that we could find a solution together.
The text was updated successfully, but these errors were encountered: