Hey Levente, I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? Kindly, Robert |
Hi Robert, Le sam. 28 mars 2020 à 13:44, Robert via Squeak-dev <[hidden email]> a écrit :
What makes you think so? If you open an issue on github, provide a failing test case, then I see no reason why they would not fix it. However, it might be that they are not interested at all in Cryptography package because they already forked it twice. The first fork was on SmalltalkHub, because they did not consider squeaksource as reliable (which was once not entirely false). Rather than collaborating, their primary reaction is always to fork. It avoids making trade offs, they don't like the IDEA of trade offs ;). They also don't want to depend too much on a something that they can't control, it's seen as a weakness. Then they re-forked to github using new Tonel format. The new fork is legitimated by the migration to new tools. So good luck if you want to sell them the updated package.
Is it really worth it? IMO, no in the context I gave above! If it's really important for you, try to have some fix integrated in Pharo.
|
In reply to this post by Squeak - Dev mailing list
Hi Robert,
No, it's not a VM bug. My analysis I sent to you earlier is correct. It's that in Pharo DoubleWordArray is a variableWordSubclass instead of a variableDoubleWordSubclass. The latter is not available in Pharo. Here's the link to the issue they created based on my analysis you sent to them: https://github.com/pharo-project/pharo/issues/5956 In theory, yes, it would be possible to rewrite SHA-512 and its related hash functions to avoid using DoubleWordArray, but I see no value in doing that. Pharo simply failed to properly integrate DoubleWordArray. It's there but it's disfunctional. Just wait until they fix it. Levente P.S.: This is pretty much off topic on squeak-dev. On Sat, 28 Mar 2020, Robert wrote: > Hey Levente, > > I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? > > Kindly, > Robert > > |
On 3/28/20 10:16 AM, Levente Uzonyi wrote: > Hi Robert, > > No, it's not a VM bug. My analysis I sent to you earlier is correct. It's > that in Pharo DoubleWordArray is a variableWordSubclass instead of a > variableDoubleWordSubclass. The latter is not available in Pharo. > Here's the link to the issue they created based on my analysis you sent > to them: https://github.com/pharo-project/pharo/issues/5956 Alright, I shared this analysis with Pharo's Discord channel. I must have missed the discussion of the #variableDoubleWordSubclass:. > In theory, yes, it would be possible to rewrite SHA-512 and its related > hash functions to avoid using DoubleWordArray, but I see no value in doing > that. The value would be Crypto operational in Pharo. And all that follows from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you to make these changes, please? I see this as more likely than Pharo accommodating #variableDoubleWordSubclass:. And other Smalltalks... k, r > Pharo simply failed to properly integrate DoubleWordArray. It's there but > it's disfunctional. Just wait until they fix it. > > > Levente > > P.S.: This is pretty much off topic on squeak-dev. > > On Sat, 28 Mar 2020, Robert wrote: > >> Hey Levente, >> >> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >> >> Kindly, >> Robert >> >> Kindly, Robert |
Hey Levente,
In order to get Crypto running in Pharo, I will split the HashingPluginSupport code into a separate package, which Pharo will not load, but Squeak will. k, r On 3/28/20 10:26 AM, Robert wrote: > > On 3/28/20 10:16 AM, Levente Uzonyi wrote: >> Hi Robert, >> >> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >> variableDoubleWordSubclass. The latter is not available in Pharo. >> Here's the link to the issue they created based on my analysis you sent >> to them: https://github.com/pharo-project/pharo/issues/5956 > Alright, I shared this analysis with Pharo's Discord channel. I must > have missed the discussion of the #variableDoubleWordSubclass:. > >> In theory, yes, it would be possible to rewrite SHA-512 and its related >> hash functions to avoid using DoubleWordArray, but I see no value in doing >> that. > The value would be Crypto operational in Pharo. And all that follows > from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you > to make these changes, please? I see this as more likely than Pharo > accommodating #variableDoubleWordSubclass:. And other Smalltalks... > > k, r > >> Pharo simply failed to properly integrate DoubleWordArray. It's there but >> it's disfunctional. Just wait until they fix it. >> >> >> Levente >> >> P.S.: This is pretty much off topic on squeak-dev. >> >> On Sat, 28 Mar 2020, Robert wrote: >> >>> Hey Levente, >>> >>> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >>> >>> Kindly, >>> Robert >>> >>> Kindly, Robert |
Hi Robert,
Please don't mess up the code just because of Pharo. They'll eventually fix DoubleWordArray, but that doesn't mean the code will work at all on Pharo. Levente On Sat, 28 Mar 2020, Robert wrote: > Hey Levente, > > In order to get Crypto running in Pharo, I will split the > HashingPluginSupport code into a separate package, which Pharo will not > load, but Squeak will. > > k, r > > On 3/28/20 10:26 AM, Robert wrote: >> >> On 3/28/20 10:16 AM, Levente Uzonyi wrote: >>> Hi Robert, >>> >>> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >>> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >>> variableDoubleWordSubclass. The latter is not available in Pharo. >>> Here's the link to the issue they created based on my analysis you sent >>> to them: https://github.com/pharo-project/pharo/issues/5956 >> Alright, I shared this analysis with Pharo's Discord channel. I must >> have missed the discussion of the #variableDoubleWordSubclass:. >> >>> In theory, yes, it would be possible to rewrite SHA-512 and its related >>> hash functions to avoid using DoubleWordArray, but I see no value in doing >>> that. >> The value would be Crypto operational in Pharo. And all that follows >> from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you >> to make these changes, please? I see this as more likely than Pharo >> accommodating #variableDoubleWordSubclass:. And other Smalltalks... >> >> k, r >> >>> Pharo simply failed to properly integrate DoubleWordArray. It's there but >>> it's disfunctional. Just wait until they fix it. >>> >>> >>> Levente >>> >>> P.S.: This is pretty much off topic on squeak-dev. >>> >>> On Sat, 28 Mar 2020, Robert wrote: >>> >>>> Hey Levente, >>>> >>>> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >>>> >>>> Kindly, >>>> Robert >>>> >>>> > -- > Kindly, > Robert > > > |
Hi Levente, Squeak... I went ahead and split off the plugin hashing code and loaded
with and without in Squeak. #CryptoGreen. This loads it all. The
specific versions for Squeak are below the Pharo section. Note: if
you loaded the hashing plugins support then remove it the
HashFunction class>>#newHash methods are ripped away by the
plugin code. So if you load hashing plugins then remove it you
will need to reload the CryptographyHashing package for green. Installer ss Pharo... Here is a script to load all packages in Pharo, without Hashing plugins support. Unfortunately there are many errors: red and yellow. :( Crypto used to run on Pharo. Sad. Gofer new squeaksource: 'Registers'; package: 'Registers-Core';
load. Squeak versions... Here are the versions, in Squeak, without SSL: On 3/28/20 11:54 AM, Levente Uzonyi
wrote:
Hi Robert, Please don't mess up the code just because of Pharo. They'll eventually fix DoubleWordArray, but that doesn't mean the code will work at all on Pharo. Levente On Sat, 28 Mar 2020, Robert wrote:Hey Levente, In order to get Crypto running in Pharo, I will split the HashingPluginSupport code into a separate package, which Pharo will not load, but Squeak will. k, r On 3/28/20 10:26 AM, Robert wrote:On 3/28/20 10:16 AM, Levente Uzonyi wrote:Hi Robert, No, it's not a VM bug. My analysis I sent to you earlier is correct. It's that in Pharo DoubleWordArray is a variableWordSubclass instead of a variableDoubleWordSubclass. The latter is not available in Pharo. Here's the link to the issue they created based on my analysis you sent to them: https://github.com/pharo-project/pharo/issues/5956Alright, I shared this analysis with Pharo's Discord channel. I must have missed the discussion of the #variableDoubleWordSubclass:.In theory, yes, it would be possible to rewrite SHA-512 and its related hash functions to avoid using DoubleWordArray, but I see no value in doing that.The value would be Crypto operational in Pharo. And all that follows from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you to make these changes, please? I see this as more likely than Pharo accommodating #variableDoubleWordSubclass:. And other Smalltalks... k, rPharo simply failed to properly integrate DoubleWordArray. It's there but it's disfunctional. Just wait until they fix it. Levente P.S.: This is pretty much off topic on squeak-dev. On Sat, 28 Mar 2020, Robert wrote:Hey Levente, I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? Kindly, Robert-- Kindly, Robert -- Kindly, Robert |
In reply to this post by Squeak - Dev mailing list
Hi Robert
On Sat, 28 Mar 2020, Robert wrote: > > On 3/28/20 10:16 AM, Levente Uzonyi wrote: >> Hi Robert, >> >> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >> variableDoubleWordSubclass. The latter is not available in Pharo. >> Here's the link to the issue they created based on my analysis you sent >> to them: https://github.com/pharo-project/pharo/issues/5956 > > Alright, I shared this analysis with Pharo's Discord channel. I must > have missed the discussion of the #variableDoubleWordSubclass:. > >> In theory, yes, it would be possible to rewrite SHA-512 and its related >> hash functions to avoid using DoubleWordArray, but I see no value in doing >> that. > > The value would be Crypto operational in Pharo. And all that follows Pharo is a moving target and it keeps breaking stuff all the time. > from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you > to make these changes, please? I see this as more likely than Pharo > accommodating #variableDoubleWordSubclass:. And other Smalltalks... I've attached a changeset. If you load it before the Cryptography packages, CryptographyHashing will work in Pharo 8 and in the current Pharo 9 alpha. Some tests will fail, because random strings are generated with the Random class, which is different in Squeak and Pharo but still, everything will work. Levente > > k, r > >> Pharo simply failed to properly integrate DoubleWordArray. It's there but >> it's disfunctional. Just wait until they fix it. >> >> >> Levente >> >> P.S.: This is pretty much off topic on squeak-dev. >> >> On Sat, 28 Mar 2020, Robert wrote: >> >>> Hey Levente, >>> >>> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >>> >>> Kindly, >>> Robert >>> >>> > -- > Kindly, > Robert > > > Pharo-DoubleWordArray-patch.cs (5K) Download Attachment |
In reply to this post by Squeak - Dev mailing list
Hi Robert,
Well, I just asked you not to do it. It's not worth it. Levente On Sat, 28 Mar 2020, Robert wrote: > > Hi Levente, > > Squeak... > > I went ahead and split off the plugin hashing code and loaded with and without in Squeak. #CryptoGreen. This loads it all. The specific versions for Squeak are below the Pharo section. Note: if you loaded the hashing plugins support then remove it the HashFunction class>>#newHash methods are ripped away by the > plugin code. So if you load hashing plugins then remove it you will need to reload the CryptographyHashing package for green. > > Installer ss project: 'Cryptography'; install: 'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'; install: 'SSLLoader'. > > Pharo... > > Here is a script to load all packages in Pharo, without Hashing plugins support. Unfortunately there are many errors: red and yellow. :( Crypto used to run on Pharo. Sad. > > Gofer new squeaksource: 'Registers'; package: 'Registers-Core'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCore'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyHashing'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1'; load. Gofer new > squeaksource: 'Cryptography'; package: 'CryptographyRandom'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphers'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignatures'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchange'; load. Gofer > new squeaksource: 'Cryptography'; package: 'CryptographyArchive'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyX509'; load. Gofer new squeaksource: 'Registers'; package: 'Registers-Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCoreTests'; load. Gofer new > squeaksource: 'Cryptography'; package: 'CryptographyHashingTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyRandomTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphersTests'; > load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignaturesTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchangeTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyArchiveTests'; load. Gofer new squeaksource: 'Cryptography'; package: > 'CryptographyX509Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'ThunkStack'; load. Gofer new squeaksource: 'Cryptography'; package: 'ParrotTalk'; load. > > Squeak versions... > > Here are the versions, in Squeak, without SSL: Installer ss project: 'Registers'; install: 'Registers-Core-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCore-ul.7'; install: 'CryptographyHashing-rww.26'; install: 'CryptographyHashingPluginSupport-rww.1'; install: > 'CryptographyASN1-rww.7'; install: 'CryptographyRandom-ul.13'; install: 'CryptographyCiphers-rww.20'; install: 'CryptographySignatures-ul.17'; install: 'CryptographyKeyExchange-rww.14'; install: 'CryptographyArchive-ul.18'; install: 'CryptographyX509-ul.15'. Installer ss project: > 'Registers'; install: 'Registers-Tests-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCoreTests-rww.1'; install: 'CryptographyHashingTests-rww.3'; install: 'CryptographyHashingPluginSupportTests-rww.1'; install: 'CryptographyASN1Tests-rww.1'; install: > 'CryptographyRandomTests-rww.1'; install: 'CryptographyCiphersTests-rww.1'; install: 'CryptographySignaturesTests-rww.1'; install: 'CryptographyKeyExchangeTests-rww.1'; install: 'CryptographyArchiveTests-rww.1'; install: 'CryptographyX509Tests-rww.1'. Installer ss project: 'Cryptography'; > install: 'ThunkStack-rww.12'; install: 'ParrotTalk-rww.48'. > > On 3/28/20 11:54 AM, Levente Uzonyi wrote: > > Hi Robert, > > Please don't mess up the code just because of Pharo. They'll eventually > fix DoubleWordArray, but that doesn't mean the code will work at all on > Pharo. > > Levente > > On Sat, 28 Mar 2020, Robert wrote: > > Hey Levente, > > In order to get Crypto running in Pharo, I will split the > HashingPluginSupport code into a separate package, which Pharo will not > load, but Squeak will. > > k, r > > On 3/28/20 10:26 AM, Robert wrote: > > On 3/28/20 10:16 AM, Levente Uzonyi wrote: > > Hi Robert, > > No, it's not a VM bug. My analysis I sent to you earlier is correct. It's > that in Pharo DoubleWordArray is a variableWordSubclass instead of a > variableDoubleWordSubclass. The latter is not available in Pharo. > Here's the link to the issue they created based on my analysis you sent > to them: https://github.com/pharo-project/pharo/issues/5956 > > Alright, I shared this analysis with Pharo's Discord channel. I must > have missed the discussion of the #variableDoubleWordSubclass:. > > In theory, yes, it would be possible to rewrite SHA-512 and its related > hash functions to avoid using DoubleWordArray, but I see no value in doing > that. > > The value would be Crypto operational in Pharo. And all that follows > from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you > to make these changes, please? I see this as more likely than Pharo > accommodating #variableDoubleWordSubclass:. And other Smalltalks... > > k, r > > Pharo simply failed to properly integrate DoubleWordArray. It's there but > it's disfunctional. Just wait until they fix it. > > > Levente > > P.S.: This is pretty much off topic on squeak-dev. > > On Sat, 28 Mar 2020, Robert wrote: > > Hey Levente, > > I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? > > Kindly, > Robert > > > -- > Kindly, > Robert > > > > -- > Kindly, > Robert > > |
In reply to this post by Levente Uzonyi
Thanks, I'll try it out.
On 3/28/20 12:12 PM, Levente Uzonyi wrote: > Hi Robert > > On Sat, 28 Mar 2020, Robert wrote: > >> On 3/28/20 10:16 AM, Levente Uzonyi wrote: >>> Hi Robert, >>> >>> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >>> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >>> variableDoubleWordSubclass. The latter is not available in Pharo. >>> Here's the link to the issue they created based on my analysis you sent >>> to them: https://github.com/pharo-project/pharo/issues/5956 >> Alright, I shared this analysis with Pharo's Discord channel. I must >> have missed the discussion of the #variableDoubleWordSubclass:. >> >>> In theory, yes, it would be possible to rewrite SHA-512 and its related >>> hash functions to avoid using DoubleWordArray, but I see no value in doing >>> that. >> The value would be Crypto operational in Pharo. And all that follows > Fixing DoubleWordArray in Pharo alone won't make the packages operational. > Pharo is a moving target and it keeps breaking stuff all the time. > >> from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you >> to make these changes, please? I see this as more likely than Pharo >> accommodating #variableDoubleWordSubclass:. And other Smalltalks... > I've attached a changeset. If you load it before the Cryptography > packages, CryptographyHashing will work in Pharo 8 and in the current > Pharo 9 alpha. Some tests will fail, because random strings are generated > with the Random class, which is different in Squeak and Pharo but still, > everything will work. > > > Levente > >> k, r >> >>> Pharo simply failed to properly integrate DoubleWordArray. It's there but >>> it's disfunctional. Just wait until they fix it. >>> >>> >>> Levente >>> >>> P.S.: This is pretty much off topic on squeak-dev. >>> >>> On Sat, 28 Mar 2020, Robert wrote: >>> >>>> Hey Levente, >>>> >>>> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >>>> >>>> Kindly, >>>> Robert >>>> >>>> >> -- >> Kindly, >> Robert >> >> > > -- Kindly, Robert |
In reply to this post by Levente Uzonyi
I had already done the work when I saw your post here. I may rewind.
On 3/28/20 12:14 PM, Levente Uzonyi wrote: > Hi Robert, > > Well, I just asked you not to do it. It's not worth it. > > > Levente > > On Sat, 28 Mar 2020, Robert wrote: > >> Hi Levente, >> >> Squeak... >> >> I went ahead and split off the plugin hashing code and loaded with and without in Squeak. #CryptoGreen. This loads it all. The specific versions for Squeak are below the Pharo section. Note: if you loaded the hashing plugins support then remove it the HashFunction class>>#newHash methods are ripped away by the >> plugin code. So if you load hashing plugins then remove it you will need to reload the CryptographyHashing package for green. >> >> Installer ss project: 'Cryptography'; install: 'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'; install: 'SSLLoader'. >> >> Pharo... >> >> Here is a script to load all packages in Pharo, without Hashing plugins support. Unfortunately there are many errors: red and yellow. :( Crypto used to run on Pharo. Sad. >> >> Gofer new squeaksource: 'Registers'; package: 'Registers-Core'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCore'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyHashing'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1'; load. Gofer new >> squeaksource: 'Cryptography'; package: 'CryptographyRandom'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphers'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignatures'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchange'; load. Gofer >> new squeaksource: 'Cryptography'; package: 'CryptographyArchive'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyX509'; load. Gofer new squeaksource: 'Registers'; package: 'Registers-Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCoreTests'; load. Gofer new >> squeaksource: 'Cryptography'; package: 'CryptographyHashingTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyRandomTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphersTests'; >> load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignaturesTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchangeTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyArchiveTests'; load. Gofer new squeaksource: 'Cryptography'; package: >> 'CryptographyX509Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'ThunkStack'; load. Gofer new squeaksource: 'Cryptography'; package: 'ParrotTalk'; load. >> >> Squeak versions... >> >> Here are the versions, in Squeak, without SSL: Installer ss project: 'Registers'; install: 'Registers-Core-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCore-ul.7'; install: 'CryptographyHashing-rww.26'; install: 'CryptographyHashingPluginSupport-rww.1'; install: >> 'CryptographyASN1-rww.7'; install: 'CryptographyRandom-ul.13'; install: 'CryptographyCiphers-rww.20'; install: 'CryptographySignatures-ul.17'; install: 'CryptographyKeyExchange-rww.14'; install: 'CryptographyArchive-ul.18'; install: 'CryptographyX509-ul.15'. Installer ss project: >> 'Registers'; install: 'Registers-Tests-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCoreTests-rww.1'; install: 'CryptographyHashingTests-rww.3'; install: 'CryptographyHashingPluginSupportTests-rww.1'; install: 'CryptographyASN1Tests-rww.1'; install: >> 'CryptographyRandomTests-rww.1'; install: 'CryptographyCiphersTests-rww.1'; install: 'CryptographySignaturesTests-rww.1'; install: 'CryptographyKeyExchangeTests-rww.1'; install: 'CryptographyArchiveTests-rww.1'; install: 'CryptographyX509Tests-rww.1'. Installer ss project: 'Cryptography'; >> install: 'ThunkStack-rww.12'; install: 'ParrotTalk-rww.48'. >> >> On 3/28/20 11:54 AM, Levente Uzonyi wrote: >> >> Hi Robert, >> >> Please don't mess up the code just because of Pharo. They'll eventually >> fix DoubleWordArray, but that doesn't mean the code will work at all on >> Pharo. >> >> Levente >> >> On Sat, 28 Mar 2020, Robert wrote: >> >> Hey Levente, >> >> In order to get Crypto running in Pharo, I will split the >> HashingPluginSupport code into a separate package, which Pharo will not >> load, but Squeak will. >> >> k, r >> >> On 3/28/20 10:26 AM, Robert wrote: >> >> On 3/28/20 10:16 AM, Levente Uzonyi wrote: >> >> Hi Robert, >> >> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >> variableDoubleWordSubclass. The latter is not available in Pharo. >> Here's the link to the issue they created based on my analysis you sent >> to them: https://github.com/pharo-project/pharo/issues/5956 >> >> Alright, I shared this analysis with Pharo's Discord channel. I must >> have missed the discussion of the #variableDoubleWordSubclass:. >> >> In theory, yes, it would be possible to rewrite SHA-512 and its related >> hash functions to avoid using DoubleWordArray, but I see no value in doing >> that. >> >> The value would be Crypto operational in Pharo. And all that follows >> from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you >> to make these changes, please? I see this as more likely than Pharo >> accommodating #variableDoubleWordSubclass:. And other Smalltalks... >> >> k, r >> >> Pharo simply failed to properly integrate DoubleWordArray. It's there but >> it's disfunctional. Just wait until they fix it. >> >> >> Levente >> >> P.S.: This is pretty much off topic on squeak-dev. >> >> On Sat, 28 Mar 2020, Robert wrote: >> >> Hey Levente, >> >> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >> >> Kindly, >> Robert >> >> >> -- >> Kindly, >> Robert >> >> >> >> -- >> Kindly, >> Robert >> >> Kindly, Robert |
In reply to this post by Levente Uzonyi
I just rolled it all back. hashing-rww.24 and HashingTests-rww.2 are
once again the latest versions. k, r On 3/28/20 12:14 PM, Levente Uzonyi wrote: > Hi Robert, > > Well, I just asked you not to do it. It's not worth it. > > > Levente > > On Sat, 28 Mar 2020, Robert wrote: > >> Hi Levente, >> >> Squeak... >> >> I went ahead and split off the plugin hashing code and loaded with and without in Squeak. #CryptoGreen. This loads it all. The specific versions for Squeak are below the Pharo section. Note: if you loaded the hashing plugins support then remove it the HashFunction class>>#newHash methods are ripped away by the >> plugin code. So if you load hashing plugins then remove it you will need to reload the CryptographyHashing package for green. >> >> Installer ss project: 'Cryptography'; install: 'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'; install: 'SSLLoader'. >> >> Pharo... >> >> Here is a script to load all packages in Pharo, without Hashing plugins support. Unfortunately there are many errors: red and yellow. :( Crypto used to run on Pharo. Sad. >> >> Gofer new squeaksource: 'Registers'; package: 'Registers-Core'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCore'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyHashing'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1'; load. Gofer new >> squeaksource: 'Cryptography'; package: 'CryptographyRandom'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphers'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignatures'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchange'; load. Gofer >> new squeaksource: 'Cryptography'; package: 'CryptographyArchive'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyX509'; load. Gofer new squeaksource: 'Registers'; package: 'Registers-Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCoreTests'; load. Gofer new >> squeaksource: 'Cryptography'; package: 'CryptographyHashingTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyRandomTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphersTests'; >> load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignaturesTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchangeTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyArchiveTests'; load. Gofer new squeaksource: 'Cryptography'; package: >> 'CryptographyX509Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'ThunkStack'; load. Gofer new squeaksource: 'Cryptography'; package: 'ParrotTalk'; load. >> >> Squeak versions... >> >> Here are the versions, in Squeak, without SSL: Installer ss project: 'Registers'; install: 'Registers-Core-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCore-ul.7'; install: 'CryptographyHashing-rww.26'; install: 'CryptographyHashingPluginSupport-rww.1'; install: >> 'CryptographyASN1-rww.7'; install: 'CryptographyRandom-ul.13'; install: 'CryptographyCiphers-rww.20'; install: 'CryptographySignatures-ul.17'; install: 'CryptographyKeyExchange-rww.14'; install: 'CryptographyArchive-ul.18'; install: 'CryptographyX509-ul.15'. Installer ss project: >> 'Registers'; install: 'Registers-Tests-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCoreTests-rww.1'; install: 'CryptographyHashingTests-rww.3'; install: 'CryptographyHashingPluginSupportTests-rww.1'; install: 'CryptographyASN1Tests-rww.1'; install: >> 'CryptographyRandomTests-rww.1'; install: 'CryptographyCiphersTests-rww.1'; install: 'CryptographySignaturesTests-rww.1'; install: 'CryptographyKeyExchangeTests-rww.1'; install: 'CryptographyArchiveTests-rww.1'; install: 'CryptographyX509Tests-rww.1'. Installer ss project: 'Cryptography'; >> install: 'ThunkStack-rww.12'; install: 'ParrotTalk-rww.48'. >> >> On 3/28/20 11:54 AM, Levente Uzonyi wrote: >> >> Hi Robert, >> >> Please don't mess up the code just because of Pharo. They'll eventually >> fix DoubleWordArray, but that doesn't mean the code will work at all on >> Pharo. >> >> Levente >> >> On Sat, 28 Mar 2020, Robert wrote: >> >> Hey Levente, >> >> In order to get Crypto running in Pharo, I will split the >> HashingPluginSupport code into a separate package, which Pharo will not >> load, but Squeak will. >> >> k, r >> >> On 3/28/20 10:26 AM, Robert wrote: >> >> On 3/28/20 10:16 AM, Levente Uzonyi wrote: >> >> Hi Robert, >> >> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >> variableDoubleWordSubclass. The latter is not available in Pharo. >> Here's the link to the issue they created based on my analysis you sent >> to them: https://github.com/pharo-project/pharo/issues/5956 >> >> Alright, I shared this analysis with Pharo's Discord channel. I must >> have missed the discussion of the #variableDoubleWordSubclass:. >> >> In theory, yes, it would be possible to rewrite SHA-512 and its related >> hash functions to avoid using DoubleWordArray, but I see no value in doing >> that. >> >> The value would be Crypto operational in Pharo. And all that follows >> from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you >> to make these changes, please? I see this as more likely than Pharo >> accommodating #variableDoubleWordSubclass:. And other Smalltalks... >> >> k, r >> >> Pharo simply failed to properly integrate DoubleWordArray. It's there but >> it's disfunctional. Just wait until they fix it. >> >> >> Levente >> >> P.S.: This is pretty much off topic on squeak-dev. >> >> On Sat, 28 Mar 2020, Robert wrote: >> >> Hey Levente, >> >> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >> >> Kindly, >> Robert >> >> >> -- >> Kindly, >> Robert >> >> >> >> -- >> Kindly, >> Robert >> >> Kindly, Robert |
Thanks!
Levente On Sat, 28 Mar 2020, Robert wrote: > I just rolled it all back. hashing-rww.24 and HashingTests-rww.2 are > once again the latest versions. > > k, r > > On 3/28/20 12:14 PM, Levente Uzonyi wrote: >> Hi Robert, >> >> Well, I just asked you not to do it. It's not worth it. >> >> >> Levente >> >> On Sat, 28 Mar 2020, Robert wrote: >> >>> Hi Levente, >>> >>> Squeak... >>> >>> I went ahead and split off the plugin hashing code and loaded with and without in Squeak. #CryptoGreen. This loads it all. The specific versions for Squeak are below the Pharo section. Note: if you loaded the hashing plugins support then remove it the HashFunction class>>#newHash methods are ripped away by the >>> plugin code. So if you load hashing plugins then remove it you will need to reload the CryptographyHashing package for green. >>> >>> Installer ss project: 'Cryptography'; install: 'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'; install: 'SSLLoader'. >>> >>> Pharo... >>> >>> Here is a script to load all packages in Pharo, without Hashing plugins support. Unfortunately there are many errors: red and yellow. :( Crypto used to run on Pharo. Sad. >>> >>> Gofer new squeaksource: 'Registers'; package: 'Registers-Core'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCore'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyHashing'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1'; load. Gofer new >>> squeaksource: 'Cryptography'; package: 'CryptographyRandom'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphers'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignatures'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchange'; load. Gofer >>> new squeaksource: 'Cryptography'; package: 'CryptographyArchive'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyX509'; load. Gofer new squeaksource: 'Registers'; package: 'Registers-Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCoreTests'; load. Gofer new >>> squeaksource: 'Cryptography'; package: 'CryptographyHashingTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyASN1Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyRandomTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyCiphersTests'; >>> load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographySignaturesTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyKeyExchangeTests'; load. Gofer new squeaksource: 'Cryptography'; package: 'CryptographyArchiveTests'; load. Gofer new squeaksource: 'Cryptography'; package: >>> 'CryptographyX509Tests'; load. Gofer new squeaksource: 'Cryptography'; package: 'ThunkStack'; load. Gofer new squeaksource: 'Cryptography'; package: 'ParrotTalk'; load. >>> >>> Squeak versions... >>> >>> Here are the versions, in Squeak, without SSL: Installer ss project: 'Registers'; install: 'Registers-Core-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCore-ul.7'; install: 'CryptographyHashing-rww.26'; install: 'CryptographyHashingPluginSupport-rww.1'; install: >>> 'CryptographyASN1-rww.7'; install: 'CryptographyRandom-ul.13'; install: 'CryptographyCiphers-rww.20'; install: 'CryptographySignatures-ul.17'; install: 'CryptographyKeyExchange-rww.14'; install: 'CryptographyArchive-ul.18'; install: 'CryptographyX509-ul.15'. Installer ss project: >>> 'Registers'; install: 'Registers-Tests-ul.1'. Installer ss project: 'Cryptography'; install: 'CryptographyCoreTests-rww.1'; install: 'CryptographyHashingTests-rww.3'; install: 'CryptographyHashingPluginSupportTests-rww.1'; install: 'CryptographyASN1Tests-rww.1'; install: >>> 'CryptographyRandomTests-rww.1'; install: 'CryptographyCiphersTests-rww.1'; install: 'CryptographySignaturesTests-rww.1'; install: 'CryptographyKeyExchangeTests-rww.1'; install: 'CryptographyArchiveTests-rww.1'; install: 'CryptographyX509Tests-rww.1'. Installer ss project: 'Cryptography'; >>> install: 'ThunkStack-rww.12'; install: 'ParrotTalk-rww.48'. >>> >>> On 3/28/20 11:54 AM, Levente Uzonyi wrote: >>> >>> Hi Robert, >>> >>> Please don't mess up the code just because of Pharo. They'll eventually >>> fix DoubleWordArray, but that doesn't mean the code will work at all on >>> Pharo. >>> >>> Levente >>> >>> On Sat, 28 Mar 2020, Robert wrote: >>> >>> Hey Levente, >>> >>> In order to get Crypto running in Pharo, I will split the >>> HashingPluginSupport code into a separate package, which Pharo will not >>> load, but Squeak will. >>> >>> k, r >>> >>> On 3/28/20 10:26 AM, Robert wrote: >>> >>> On 3/28/20 10:16 AM, Levente Uzonyi wrote: >>> >>> Hi Robert, >>> >>> No, it's not a VM bug. My analysis I sent to you earlier is correct. It's >>> that in Pharo DoubleWordArray is a variableWordSubclass instead of a >>> variableDoubleWordSubclass. The latter is not available in Pharo. >>> Here's the link to the issue they created based on my analysis you sent >>> to them: https://github.com/pharo-project/pharo/issues/5956 >>> >>> Alright, I shared this analysis with Pharo's Discord channel. I must >>> have missed the discussion of the #variableDoubleWordSubclass:. >>> >>> In theory, yes, it would be possible to rewrite SHA-512 and its related >>> hash functions to avoid using DoubleWordArray, but I see no value in doing >>> that. >>> >>> The value would be Crypto operational in Pharo. And all that follows >>> from that (ParrotTalk, SSL, SSH, Signal, Raven). Is it possible for you >>> to make these changes, please? I see this as more likely than Pharo >>> accommodating #variableDoubleWordSubclass:. And other Smalltalks... >>> >>> k, r >>> >>> Pharo simply failed to properly integrate DoubleWordArray. It's there but >>> it's disfunctional. Just wait until they fix it. >>> >>> >>> Levente >>> >>> P.S.: This is pretty much off topic on squeak-dev. >>> >>> On Sat, 28 Mar 2020, Robert wrote: >>> >>> Hey Levente, >>> >>> I dug a little deeper into the Pharo issue with Cryptography and it IS a VM issue, I think. Primitive 61 is failing in DoubleWordArray>>#at:put:. Pharo seems totally uninterested in fixing this so I wanted to ask you, is there any way Cryptography can avoid reliance on DoubleWordArray? >>> >>> Kindly, >>> Robert >>> >>> >>> -- >>> Kindly, >>> Robert >>> >>> >>> >>> -- >>> Kindly, >>> Robert >>> >>> > -- > Kindly, > Robert > > > |
Free forum by Nabble | Edit this page |