AWS API Dlang, hmac sha256 function.

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Oct 3 16:58:37 PDT 2015


On 04/10/15 2:31 AM, holo wrote:
> On Saturday, 3 October 2015 at 12:50:58 UTC, Rikki Cattermole wrote:
>> On 04/10/15 1:49 AM, holo wrote:
>>> On Saturday, 3 October 2015 at 12:22:11 UTC, Rikki Cattermole wrote:
>>>> On 04/10/15 1:09 AM, holo wrote:
>>>>> [...]
>>>>
>>>> By the looks of things the problem is with SHA256, I'm guessing it
>>>> doesn't have its block size defined.
>>>> https://github.com/D-Programming-Language/phobos/blob/master/std/digest/digest.d#L394
>>>>
>>>>
>>>> You'll also need to update sha.d as well. Otherwise it looks good.
>>>
>>> I updated sha.d and now im getting following error:
>>>
>>> $ ./app.d
>>> /usr/include/dlang/dmd/std/digest/sha.d(225): Error: pure function
>>> 'std.digest.sha.SHA!(512u, 160u).SHA.transform' cannot call impure
>>> function 'core.cpuid.ssse3'
>>> /usr/include/dlang/dmd/std/digest/digest.d(285): Error: template
>>> instance std.range.primitives.isOutputRange!(SHA!(512u, 160u),
>>> const(ubyte)[]) error instantiating
>>> /usr/include/dlang/dmd/std/digest/digest.d(851): instantiated from here:
>>> isDigest!(SHA!(512u, 160u))
>>> /usr/include/dlang/dmd/std/digest/sha.d(1179):        while looking for
>>> match for WrapperDigest!(SHA!(512u, 160u))
>>> Failed: ["dmd", "-v", "-o-", "./app.d", "-I."]
>>
>> And one more file (ssse3.d) needs to be updated.
>> You are going to be playing whack a mole I think for a while.
>
> I downloaded whole master branch phobos and tried to use it (changed
> path in dmd.conf), but there are missing much more files (i think that
> master branch is not ready yet). So i get back to my original library
> and tried to updated file you mention. But i can't find it (ssse3.d),
> its not appearing in my stable lib and even in that master-branch from
> zip file.

Apologies, I didn't see this till after I got to bed. It's core.cpuid 
not ssse3.d. It will be in druntime, not Phobos.


More information about the Digitalmars-d-learn mailing list