sslp should be empty, except for windows.

(Actually, that could be expressed more simply but hopefully it's
clear enough this way?)

Thanks,

-- 
Raul

On Sat, Sep 6, 2014 at 1:55 PM, 'Pascal Jasmin' via Programming
<programm...@jsoftware.com> wrote:
> with that info, I've changed 2 lines on wiki:
> sslp =: IFWIN pick ''; '/',~ jpath '~bin'  NB. with J802.  cut this line if 
> you wish to point to downloaded folder
> OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. <UNAME_z_) pick 
> 'libeay32.dll '; (2 $ <'libssl.so.1.0.0 '),  (2 $ <'/usr/lib/libssl.dylib ')
>
>
>
> ----- Original Message -----
> From: bill lam <bbill....@gmail.com>
> To: programm...@jsoftware.com
> Cc:
> Sent: Saturday, September 6, 2014 1:44 PM
> Subject: Re: [Jprogramming] md5 is not md5
>
> This is multi-arch. if we just use the bare file name,
>
> OPENSSL=: 'libssl.so.1.0.0'
>
> it will work on 32-bit and 64-bit, and also
> works for 32-bit process on 64-bit host.
>
> should also works on raspi even the prefix would be
> /lib/arm-linux-gnueabihf/
>
> all J8 addons use this scheme for shared objects.
>
> Сб, 06 сен 2014, Raul Miller написал(а):
>> This works on that machine:
>>
>>    OPENSSL=: '/lib/x86_64-linux-gnu/libssl.so.1.0.0'
>>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
>> *c')  ssl  NB. SHA256 i *c l *c' ssl
>>    s256=: 3 : 0
>>       sslSha256 (y);(#y);md=. 32#' '
>>       md
>>    )
>>    hexhash =: ( [: ,@:hfd a.i.])@:
>>
>>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
>> d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
>>
>> However, if I try
>>    OPENSSL=:'libssl.so'
>>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
>> *c')  ssl  NB. SHA256 i *c l *c' ssl
>>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
>> |domain error: cd
>>
>> Similarly:
>>    OPENSSL=:'/usr/lib/libssl.so'
>>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
>> *c')  ssl  NB. SHA256 i *c l *c' ssl
>>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
>> |domain error: cd
>>
>> Speaking more generally, the motivation behind having the very
>> specific /lib/x86_64-linux-gnu/libssl.so.1.0.0 is so that the 64 bit
>> code and the 32 bit code can coexist, and the reason for not
>> supporting the more generic /usr/lib/libssl.so is so that there's a
>> clean separation between these two mechanisms. It's a bit ugly, but so
>> is the underlying cpu architecture.
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>> On Sat, Sep 6, 2014 at 12:49 PM, 'Pascal Jasmin' via Programming
>> <programm...@jsoftware.com> wrote:
>> > sorry about domain error, fixed on wiki, changing line to:
>> >
>> > OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. <UNAME_z_) 
>> > pick 'libeay32.dll '; (2 $ <'libssl.so '),  (2 $ <'libssl.dylib ')
>> >
>> > basically, OPENSSL should be set to: (based on your distribution)
>> >
>> >    OPENSSL
>> > /lib/x86_64-linux-gnu/libssl.so.1.0.0
>> >
>> > my understanding of linux is that libssl.so will find the latest version.
>> > No idea how standard '/lib/x86_64-linux-gnu/' is, but that is what you 
>> > want assigned in the sslp =: line.  Perhaps you want to also add an IF64 
>> > line for your other system
>> >
>> >
>> > ----- Original Message -----
>> > From: Raul Miller <rauldmil...@gmail.com>
>> > To: Programming forum <programm...@jsoftware.com>
>> > Cc:
>> > Sent: Saturday, September 6, 2014 12:12 PM
>> > Subject: Re: [Jprogramming] md5 is not md5
>> >
>> >    IFIOS
>> > 0
>> >    UNAME_z_
>> > Linux
>> >    sslp =: IFWIN pick '/usr/lib/';'D:\OpenSSL-Win64\bin\'
>> >    sslp
>> > /usr/lib/
>> >
>> > Looking closer, I'm thinking you probably want
>> > /lib/x86_64-linux-gnu/libssl.so.1.0.0 rather than /usr/lib/libssl.so
>> > (which does not exist).
>> >
>> > That said, the domain error is because you are trying to compute this 
>> > result:
>> >
>> >    '/usr/lib/',2$<'libssl.so'
>> >
>> > Thanks,
>> >
>> > --
>> > Raul
>> >
>> > On Sat, Sep 6, 2014 at 12:02 PM, 'Pascal Jasmin' via Programming
>> > <programm...@jsoftware.com> wrote:
>> >> what is sslp defined as?
>> >>
>> >> Is it possible IFIOS is not defined?  or less likely UNAME_z_?
>> >>
>> >>
>> >> ----- Original Message -----
>> >> From: Raul Miller <rauldmil...@gmail.com>
>> >> To: Programming forum <programm...@jsoftware.com>
>> >> Cc:
>> >> Sent: Saturday, September 6, 2014 11:57 AM
>> >> Subject: Re: [Jprogramming] md5 is not md5
>> >>
>> >> Here's what happens if I use that code and only extract hexhash from
>> >> the top (instead of simply incorporating both blocks of code):
>> >>
>> >>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
>> >> |value error: sslSha256
>> >> |       sslSha256(y);(#y);md=.32#' '
>> >>
>> >> So, ok, what's wrong with sslSha256?
>> >>
>> >>    sslSha256
>> >> |value error: sslSha256
>> >>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
>> >> *c')  ssl  NB. SHA256 i *c l *c' ssl
>> >> |value error: OPENSSL
>> >> |   (    OPENSSL,m)&cd
>> >>
>> >> So, ok, what's wrong with OPENSSL?
>> >>
>> >>    OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i.
>> >> <UNAME_z_) pick 'libeay32.dll '; (2 $ <'libssl.so ');  (2 $
>> >> <'libssl.dylib ')
>> >> |domain error
>> >> |   OPENSSL=:sslp    ,(IFIOS+(;:'Win Linux Android
>> >> Darwin')i.<UNAME_z_)pick'libeay32.dll ';(2$<'libssl.so
>> >> ');(2$<'libssl.dylib ')
>> >>
>> >> In other words, I was just copying and pasting your code into
>> >> jconsole, rather than defining a script and attempting to debug it.
>> >>
>> >> I recall doing that earlier and finding an issue with libssl which I
>> >> was not prepared to deal with.
>> >>
>> >> Thanks,
>> >>
>> >> --
>> >> Raul
>> >>
>> >> On Sat, Sep 6, 2014 at 11:52 AM, 'Pascal Jasmin' via Programming
>> >> <programm...@jsoftware.com> wrote:
>> >>> You did not go far enough down the page :P  CryptAcquireContext is only 
>> >>> used in the MSFT binding not openssl binding
>> >>>
>> >>>
>> >>> ----- Original Message -----
>> >>> From: Raul Miller <rauldmil...@gmail.com>
>> >>> To: Programming forum <programm...@jsoftware.com>
>> >>> Cc:
>> >>> Sent: Saturday, September 6, 2014 11:49 AM
>> >>> Subject: Re: [Jprogramming] md5 is not md5
>> >>>
>> >>> I used the code from the bottom of the page.
>> >>>
>> >>> Quite possibly I should have used it differently, but that's a different 
>> >>> issue.
>> >>>
>> >>> Thanks,
>> >>>
>> >>> --
>> >>> Raul
>> >>>
>> >>>
>> >>> On Sat, Sep 6, 2014 at 11:46 AM, 'Pascal Jasmin' via Programming
>> >>> <programm...@jsoftware.com> wrote:
>> >>>> You are using the wrong code.  That is indeed windows specific 
>> >>>> bindings.  The openssl bindings are at the bottom of the page.  Though 
>> >>>> you may want to pick up hexhash definition from the top section.
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> ----- Original Message -----
>> >>>> From: Raul Miller <rauldmil...@gmail.com>
>> >>>> To: Programming forum <programm...@jsoftware.com>
>> >>>> Cc:
>> >>>> Sent: Saturday, September 6, 2014 11:41 AM
>> >>>> Subject: Re: [Jprogramming] md5 is not md5
>> >>>>
>> >>>> I tried your code at
>> >>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows
>> >>>>
>> >>>>    sha256 hexhash 'The quick brown fox jumps over the lazy dog'
>> >>>> |domain error: cd
>> >>>> |       
>> >>>> CryptAcquireContext(aProv=.,_1);(<0);(<0);PROV_RSA_AES;CRYPT_VERIFYCONTEXT
>> >>>>
>> >>>> Meanwhile, what I have works for me.
>> >>>>
>> >>>> Specifically, I built libmd5.so using
>> >>>> https://github.com/rdm/libmd5.so, copied it into the directory
>> >>>> /home/ubuntu/bin/ and then used, from in J:
>> >>>>
>> >>>> md5raw=: '/home/ubuntu/bin/libmd5-64.so MD5String > l *c l'&(15!:0)@(; 
>> >>>> #)
>> >>>> md5=: 3 :',tolower hfd a.i. 15!:1 (md5raw y),0 16 2'
>> >>>>
>> >>>> Now... since I need both 32 bit J (to parse xml using xml/sax -
>> >>>> apparently that only works on 32 bit j602) and 64 bit J (to deal with
>> >>>> more data than will fit in a 32 bit process), I'm having to have two
>> >>>> copies of libmd5.so - one for each instance of J. But I can live with
>> >>>> that.
>> >>>>
>> >>>> Thanks,
>> >>>>
>> >>>> --
>> >>>> Raul
>> >>>>
>> >>>>
>> >>>> On Sat, Sep 6, 2014 at 11:23 AM, 'Pascal Jasmin' via Programming
>> >>>> <programm...@jsoftware.com> wrote:
>> >>>>> the code was tested at one point on mac.  There is an attempt in the 
>> >>>>> definitions (at bottom of page only) to link on linux.  assumes 
>> >>>>> /usr/lib/libssl.so .  Should work? or few changes needed to work on 
>> >>>>> linux?
>> >>>>>
>> >>>>>
>> >>>>> ----- Original Message -----
>> >>>>> From: Raul Miller <rauldmil...@gmail.com>
>> >>>>> To: Programming forum <programm...@jsoftware.com>
>> >>>>> Cc:
>> >>>>> Sent: Saturday, September 6, 2014 11:11 AM
>> >>>>> Subject: Re: [Jprogramming] md5 is not md5
>> >>>>>
>> >>>>> I can't use your implementation, since I'm not running this on windows.
>> >>>>>
>> >>>>> That said, I've got a fix for my code.
>> >>>>>
>> >>>>> That said, I do not have a fix for the portable code in 
>> >>>>> convert/misc/md5.
>> >>>>>
>> >>>>> The first thing which would need to be fixed there are the uses of 32
>> >>>>> b. and 33 b. (in the definitions of sh_pcrypt_ and rot_pcrypt_) but
>> >>>>> oddly enough that does not seem to be  sufficient. It's not obvious to
>> >>>>> me what else needs to be fixed, and right now I am feeling too
>> >>>>> impatient to isolate the problem.
>> >>>>>
>> >>>>> Thanks,
>> >>>>>
>> >>>>> --
>> >>>>> Raul
>> >>>>>
>> >>>>>
>> >>>>> On Sat, Sep 6, 2014 at 10:55 AM, 'Pascal Jasmin' via Programming
>> >>>>> <programm...@jsoftware.com> wrote:
>> >>>>>> It was written and tested for 32 bits.  J7-64 also gives the wrong 
>> >>>>>> answer.
>> >>>>>>
>> >>>>>> At the bottom of this page there are openssl bindings to similar 
>> >>>>>> hashes.  
>> >>>>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows
>> >>>>>>
>> >>>>>> all the bound hashes are the same speed when called, but I added an 
>> >>>>>> md5 implementation this morning.  IIRC it is over 1000 times faster 
>> >>>>>> than the J code.
>> >>>>>>
>> >>>>>> I possibly made the unpopular design decision to split out the 
>> >>>>>> formatting of the hash and keep it raw binary.  There is a 5x 
>> >>>>>> performance benefit for doing so.
>> >>>>>>
>> >>>>>> the fastest conversion (but takes more space than binary) is
>> >>>>>>
>> >>>>>>   listhash =: (a. i. ])@:
>> >>>>>>
>> >>>>>> or:
>> >>>>>> a. i.  md5 'example'
>> >>>>>>
>> >>>>>> If you are having any problems with the library, the source is likely 
>> >>>>>> in the first 3 lines.  I didn't test with 32 bits, but any problems 
>> >>>>>> there are likely solveable.
>> >>>>>>
>> >>>>>>
>> >>>>>> ----- Original Message -----
>> >>>>>> From: Raul Miller <rauldmil...@gmail.com>
>> >>>>>> To: Programming forum <programm...@jsoftware.com>
>> >>>>>> Cc:
>> >>>>>> Sent: Saturday, September 6, 2014 9:10 AM
>> >>>>>> Subject: [Jprogramming] md5 is not md5
>> >>>>>>
>> >>>>>> j602:
>> >>>>>>
>> >>>>>>    load'convert/misc/md5'
>> >>>>>>    md5 'example'
>> >>>>>> 1a79a4d60de6718e8e5b326e338ae533
>> >>>>>>
>> >>>>>> j64-802:
>> >>>>>>
>> >>>>>>    load'convert/misc/md5'
>> >>>>>>    md5 'example'
>> >>>>>> 64a9df64d8defee229d86709a425ea7a
>> >>>>>>
>> >>>>>> This is a problem...
>> >>>>>>
>> >>>>>> ==
>> >>>>>> Raul
>> >>>>>> ----------------------------------------------------------------------
>> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>
>> >>
>> >>
>> >>>>
>> >>>>
>> >>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>>
>> >>>>>> ----------------------------------------------------------------------
>> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >
>> >
>> >
>> >>>
>> >>>
>> >>>
>> >>>>> ----------------------------------------------------------------------
>> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>>>>
>> >>>>> ----------------------------------------------------------------------
>> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>>> ----------------------------------------------------------------------
>> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>>>
>> >>>> ----------------------------------------------------------------------
>> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>> ----------------------------------------------------------------------
>> >>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>>
>> >>> ----------------------------------------------------------------------
>> >>> For information about J forums see http://www.jsoftware.com/forums.htm
>> >> ----------------------------------------------------------------------
>> >> For information about J forums see http://www.jsoftware.com/forums.htm
>> >>
>> >> ----------------------------------------------------------------------
>> >> For information about J forums see http://www.jsoftware.com/forums.htm
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> >
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
>
>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to