Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: http://bugs.gentoo.org/show_bug.cgi?id=247363 While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? - Bert - |
On Thu, May 27, 2010 at 7:37 PM, Bert Freudenberg <[hidden email]> wrote: > > Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: > > http://bugs.gentoo.org/show_bug.cgi?id=247363 > > While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? > They have a point there. Statically linked libraries are not really a problem for Windows and Mac, but you should expect similar reactions from other distributions in the future if it is not fixed. |
In my reading of this the issue is that these three libraries are used by the jpeg, gsm (sound), and RE plugins Instead of dynamically linking to the platform libraries we are compiled from older source which has security issues. jpeg libgsm pcre libmpeg3 This is not supported I would say you ditch it from the distribution. I would think then to comply you need a version of VMMaker and support files that dynamically link in the three libraries versus compiling our private copy of the source code. On 2010-05-27, at 1:05 PM, Geoffroy Couprie wrote: > > On Thu, May 27, 2010 at 7:37 PM, Bert Freudenberg <[hidden email]> wrote: >> >> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >> >> http://bugs.gentoo.org/show_bug.cgi?id=247363 >> >> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >> > > They have a point there. Statically linked libraries are not really a > problem for Windows and Mac, but you should expect similar reactions > from other distributions in the future if it is not fixed. =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== smime.p7s (3K) Download Attachment |
In reply to this post by Bert Freudenberg
On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: > > Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: > > http://bugs.gentoo.org/show_bug.cgi?id=247363 > > While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? > Here's my argument: These libraries are bundled, because Squeak VM could be built on a system which having no such libraries provided by default. To ensure bit-identical behavior on all platforms, Squeak developers cannot rely on a platform-specific versions of these libraries, because they can vary from one system to another. > - Bert - > > -- Best regards, Igor Stasenko AKA sig. |
On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko <[hidden email]> wrote: > > On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: >> >> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >> >> http://bugs.gentoo.org/show_bug.cgi?id=247363 >> >> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >> > Here's my argument: > > These libraries are bundled, because Squeak VM could be built on a > system which having no such libraries provided by default. > To ensure bit-identical behavior on all platforms, Squeak developers > cannot rely on a platform-specific versions of these libraries, > because they can vary from one system to another. > If they're not there by default, you can still link dynamically to the libraries and provide them with squeak. Also, if the libraries provided by the distribution have the same major version as the one you use, you can expect compatibility, and profit from the regular updates. |
Ok, really the reason why they are there is because 20 years back the libraries were not present on mac os 7.x, windows 95. So in order to build Squeak on those platforms, and other platforms that were not unix based we needed to compile everything from the original source code. Igor I doubt you can argue that Squeak needs a particular version of jpeg, RE, or gsm. Likely Squeak should be using the latest or approved platform versions because of security issues or other related bug fixes. On 2010-05-27, at 1:36 PM, Geoffroy Couprie wrote: > > On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko <[hidden email]> wrote: >> >> On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: >>> >>> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >>> >>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>> >>> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >>> >> Here's my argument: >> >> These libraries are bundled, because Squeak VM could be built on a >> system which having no such libraries provided by default. >> To ensure bit-identical behavior on all platforms, Squeak developers >> cannot rely on a platform-specific versions of these libraries, >> because they can vary from one system to another. >> > > If they're not there by default, you can still link dynamically to the > libraries and provide them with squeak. Also, if the libraries > provided by the distribution have the same major version as the one > you use, you can expect compatibility, and profit from the regular > updates. =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== smime.p7s (3K) Download Attachment |
In reply to this post by Geoffroy Couprie
On 27 May 2010 23:36, Geoffroy Couprie <[hidden email]> wrote: > > On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko <[hidden email]> wrote: >> >> On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: >>> >>> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >>> >>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>> >>> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >>> >> Here's my argument: >> >> These libraries are bundled, because Squeak VM could be built on a >> system which having no such libraries provided by default. >> To ensure bit-identical behavior on all platforms, Squeak developers >> cannot rely on a platform-specific versions of these libraries, >> because they can vary from one system to another. >> > > If they're not there by default, you can still link dynamically to the > libraries and provide them with squeak. Also, if the libraries > provided by the distribution have the same major version as the one > you use, you can expect compatibility, and profit from the regular > updates. > You seem misunderstood a key point there: bit-identical behavior. Which means that VM should provide same output on same input on all platforms. Chances that it will be so, when you using different versions of same library are pretty low. So, we can update the libraries, bundled with VM, but can't link with them dynamically, because this undermines the above. -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by johnmci
On 27 May 2010 23:42, John M McIntosh <[hidden email]> wrote: > > Ok, really the reason why they are there is because 20 years back the libraries were not present on mac os 7.x, windows 95. So in order to build > Squeak on those platforms, and other platforms that were not unix based we needed to compile everything from the original source code. > And what chances that on new/emerging OS you will have them by default? And what chances that even if they present, you won't have any problems linking dynamically with them? > Igor I doubt you can argue that Squeak needs a particular version of jpeg, RE, or gsm. Likely Squeak should be using the latest or approved platform versions > because of security issues or other related bug fixes. > Yes. I am picky. As well as they are. So, what? :) > > On 2010-05-27, at 1:36 PM, Geoffroy Couprie wrote: > >> >> On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko <[hidden email]> wrote: >>> >>> On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: >>>> >>>> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >>>> >>>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>>> >>>> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >>>> >>> Here's my argument: >>> >>> These libraries are bundled, because Squeak VM could be built on a >>> system which having no such libraries provided by default. >>> To ensure bit-identical behavior on all platforms, Squeak developers >>> cannot rely on a platform-specific versions of these libraries, >>> because they can vary from one system to another. >>> >> >> If they're not there by default, you can still link dynamically to the >> libraries and provide them with squeak. Also, if the libraries >> provided by the distribution have the same major version as the one >> you use, you can expect compatibility, and profit from the regular >> updates. > > -- > =========================================================================== > John M. McIntosh <[hidden email]> Twitter: squeaker68882 > Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com > =========================================================================== > > > > > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Igor Stasenko
I loves me my bit-identical computation, but statically linking to the same version of the library doesn't necessarily give it. For example, a video decoder may check hardware capabilities, and depending on what it finds decode the video on the GPU, using SSE, or just using the non-vector CPU instructions. There are some examples where we would make the case that the library needs to be statically linked in order to provide bit-identical computation(eg: fdlibm for Croquet math operations), but for things like JPEG I think that the argument is pretty weak. Cheers, Josh On May 27, 2010, at 1:42 PM, Igor Stasenko wrote: > > On 27 May 2010 23:36, Geoffroy Couprie <[hidden email]> wrote: >> >> On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko <[hidden email]> wrote: >>> >>> On 27 May 2010 20:37, Bert Freudenberg <[hidden email]> wrote: >>>> >>>> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >>>> >>>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>>> >>>> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >>>> >>> Here's my argument: >>> >>> These libraries are bundled, because Squeak VM could be built on a >>> system which having no such libraries provided by default. >>> To ensure bit-identical behavior on all platforms, Squeak developers >>> cannot rely on a platform-specific versions of these libraries, >>> because they can vary from one system to another. >>> >> >> If they're not there by default, you can still link dynamically to the >> libraries and provide them with squeak. Also, if the libraries >> provided by the distribution have the same major version as the one >> you use, you can expect compatibility, and profit from the regular >> updates. >> > > You seem misunderstood a key point there: bit-identical behavior. > Which means that VM should provide same output on same input on all platforms. > Chances that it will be so, when you using different versions of same > library are pretty low. > So, we can update the libraries, bundled with VM, but can't link with > them dynamically, > because this undermines the above. > > -- > Best regards, > Igor Stasenko AKA sig. |
On 5/27/2010 1:56 PM, Josh Gargus wrote: > > I loves me my bit-identical computation, but statically linking to the same version of the library doesn't necessarily give it. For example, a video decoder may check hardware capabilities, and depending on what it finds decode the video on the GPU, using SSE, or just using the non-vector CPU instructions. > > There are some examples where we would make the case that the library needs to be statically linked in order to provide bit-identical computation(eg: fdlibm for Croquet math operations), but for things like JPEG I think that the argument is pretty weak. Agreed. Cheers, - Andreas > Cheers, > Josh > > > On May 27, 2010, at 1:42 PM, Igor Stasenko wrote: > >> >> On 27 May 2010 23:36, Geoffroy Couprie<[hidden email]> wrote: >>> >>> On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko<[hidden email]> wrote: >>>> >>>> On 27 May 2010 20:37, Bert Freudenberg<[hidden email]> wrote: >>>>> >>>>> Squeak was recently removed from Gentoo Linux Ebuilds because of security issues in our bundled plugins: >>>>> >>>>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>>>> >>>>> While it is convenient for us to bundle external library sources, package maintainers do not like that practice. Is there anything we can realistically do about it? >>>>> >>>> Here's my argument: >>>> >>>> These libraries are bundled, because Squeak VM could be built on a >>>> system which having no such libraries provided by default. >>>> To ensure bit-identical behavior on all platforms, Squeak developers >>>> cannot rely on a platform-specific versions of these libraries, >>>> because they can vary from one system to another. >>>> >>> >>> If they're not there by default, you can still link dynamically to the >>> libraries and provide them with squeak. Also, if the libraries >>> provided by the distribution have the same major version as the one >>> you use, you can expect compatibility, and profit from the regular >>> updates. >>> >> >> You seem misunderstood a key point there: bit-identical behavior. >> Which means that VM should provide same output on same input on all platforms. >> Chances that it will be so, when you using different versions of same >> library are pretty low. >> So, we can update the libraries, bundled with VM, but can't link with >> them dynamically, >> because this undermines the above. >> >> -- >> Best regards, >> Igor Stasenko AKA sig. > |
On 28 May 2010 00:02, Andreas Raab <[hidden email]> wrote: > > On 5/27/2010 1:56 PM, Josh Gargus wrote: >> >> I loves me my bit-identical computation, but statically linking to the >> same version of the library doesn't necessarily give it. For example, a >> video decoder may check hardware capabilities, and depending on what it >> finds decode the video on the GPU, using SSE, or just using the non-vector >> CPU instructions. >> >> There are some examples where we would make the case that the library >> needs to be statically linked in order to provide bit-identical >> computation(eg: fdlibm for Croquet math operations), but for things like >> JPEG I think that the argument is pretty weak. > > Agreed. > I really don't wanna put that on flame. Just a single word, which could say more than rest of arguments: UUID plugin. > Cheers, > - Andreas > >> Cheers, >> Josh >> >> >> On May 27, 2010, at 1:42 PM, Igor Stasenko wrote: >> >>> >>> On 27 May 2010 23:36, Geoffroy Couprie<[hidden email]> wrote: >>>> >>>> On Thu, May 27, 2010 at 10:29 PM, Igor Stasenko<[hidden email]> >>>> wrote: >>>>> >>>>> On 27 May 2010 20:37, Bert Freudenberg<[hidden email]> wrote: >>>>>> >>>>>> Squeak was recently removed from Gentoo Linux Ebuilds because of >>>>>> security issues in our bundled plugins: >>>>>> >>>>>> http://bugs.gentoo.org/show_bug.cgi?id=247363 >>>>>> >>>>>> While it is convenient for us to bundle external library sources, >>>>>> package maintainers do not like that practice. Is there anything we can >>>>>> realistically do about it? >>>>>> >>>>> Here's my argument: >>>>> >>>>> These libraries are bundled, because Squeak VM could be built on a >>>>> system which having no such libraries provided by default. >>>>> To ensure bit-identical behavior on all platforms, Squeak developers >>>>> cannot rely on a platform-specific versions of these libraries, >>>>> because they can vary from one system to another. >>>>> >>>> >>>> If they're not there by default, you can still link dynamically to the >>>> libraries and provide them with squeak. Also, if the libraries >>>> provided by the distribution have the same major version as the one >>>> you use, you can expect compatibility, and profit from the regular >>>> updates. >>>> >>> >>> You seem misunderstood a key point there: bit-identical behavior. >>> Which means that VM should provide same output on same input on all >>> platforms. >>> Chances that it will be so, when you using different versions of same >>> library are pretty low. >>> So, we can update the libraries, bundled with VM, but can't link with >>> them dynamically, >>> because this undermines the above. >>> >>> -- >>> Best regards, >>> Igor Stasenko AKA sig. >> > -- Best regards, Igor Stasenko AKA sig. |
On 2010-05-27, at 2:06 PM, Igor Stasenko wrote: > > On 28 May 2010 00:02, Andreas Raab <[hidden email]> wrote: >> >> On 5/27/2010 1:56 PM, Josh Gargus wrote: >>> >>> I loves me my bit-identical computation, but statically linking to the >>> same version of the library doesn't necessarily give it. For example, a >>> video decoder may check hardware capabilities, and depending on what it >>> finds decode the video on the GPU, using SSE, or just using the non-vector >>> CPU instructions. >>> >>> There are some examples where we would make the case that the library >>> needs to be statically linked in order to provide bit-identical >>> computation(eg: fdlibm for Croquet math operations), but for things like >>> JPEG I think that the argument is pretty weak. >> >> Agreed. >> > > I really don't wanna put that on flame. > Just a single word, which could say more than rest of arguments: UUID plugin. > system library. The fact that the system library is broken on some versions of some platforms is of course an issue, but frankly it's an issue for all software that uses UUID on that platform. Also the behaviour of UUID is not bit identical on every platform the host operating system. Obviously this is the problem if you rely on the platform code to do the right thing, but you choice here is wanting to enable bit identical behaviour versus ensuring Squeak is put into various Linux distributions? -- =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== smime.p7s (3K) Download Attachment |
On 28 May 2010 00:11, John M McIntosh <[hidden email]> wrote: > > > On 2010-05-27, at 2:06 PM, Igor Stasenko wrote: > >> >> On 28 May 2010 00:02, Andreas Raab <[hidden email]> wrote: >>> >>> On 5/27/2010 1:56 PM, Josh Gargus wrote: >>>> >>>> I loves me my bit-identical computation, but statically linking to the >>>> same version of the library doesn't necessarily give it. For example, a >>>> video decoder may check hardware capabilities, and depending on what it >>>> finds decode the video on the GPU, using SSE, or just using the non-vector >>>> CPU instructions. >>>> >>>> There are some examples where we would make the case that the library >>>> needs to be statically linked in order to provide bit-identical >>>> computation(eg: fdlibm for Croquet math operations), but for things like >>>> JPEG I think that the argument is pretty weak. >>> >>> Agreed. >>> >> >> I really don't wanna put that on flame. >> Just a single word, which could say more than rest of arguments: UUID plugin. >> > > The UUID plugin does not contain the UUID source code, it's a library call and expect it to use the > system library. The fact that the system library is broken on some versions of some platforms is of course > an issue, but frankly it's an issue for all software that uses UUID on that platform. Also the behaviour of UUID is > not bit identical on every platform the host operating system. > > Obviously this is the problem if you rely on the platform code to do the right thing, but you choice here is > wanting to enable bit identical behaviour versus ensuring Squeak is put into various Linux distributions? > No, i consider my choice differently. One of the ways to ensure stability is to freeze the code. Then you don't have unexpected failures, because of newer version(s). That's maybe a major reason to statically link with bundled verisons of libraries, instead of dynamically. Including cases, where our intent to provide a bit-identical behavior. It is also about taking a responsibility. If you bundle library , then you are the only one, who responsible for making it work right. And if you linking against external library, then all you can do is to say: - sorry pal, your platform has broken XYZ, you can't use our software there.. > -- > =========================================================================== > John M. McIntosh <[hidden email]> Twitter: squeaker68882 > Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com > =========================================================================== > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Andreas.Raab
On Thu, May 27, 2010 at 02:02:51PM -0700, Andreas Raab wrote: > > On 5/27/2010 1:56 PM, Josh Gargus wrote: > > > >I loves me my bit-identical computation, but statically linking to the > >same version of the library doesn't necessarily give it. For example, a > >video decoder may check hardware capabilities, and depending on what it > >finds decode the video on the GPU, using SSE, or just using the non-vector > >CPU instructions. > > > >There are some examples where we would make the case that the library > >needs to be statically linked in order to provide bit-identical > >computation(eg: fdlibm for Croquet math operations), but for things like > >JPEG I think that the argument is pretty weak. > > Agreed. The concern raised by the Gentoo folks is entirely legitimate. John explained the historical reason for this, but the bottom line is that Gentoo is right and we should do something about it. This is on Mantis as http://bugs.squeak.org/view.php?id=7539 Dave |
Free forum by Nabble | Edit this page |