OWASP / O-Saft

O-Saft - OWASP SSL advanced forensic tool
GNU General Public License v2.0
372 stars 97 forks source link

... deprecated syntax ... lib/OTrace.pm line 415, 416 #142

Closed EnDe closed 1 month ago

EnDe commented 1 month ago

as reported by @kylak in issue 137:

executed ?./o-saft.pl --version and got:

= Required (and used) Modules = = module name VERSION found in = ----------------------+--------+------------------------------------------ IO::Socket::INET 1.33 /usr/lib64/perl5/IO/Socket/INET.pm IO::Socket::SSL 1.94 /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm Time::Local 1.2300 /usr/share/perl5/vendor_perl/Time/Local.pm Net::DNS 0.72 /usr/lib64/perl5/vendor_perl/Net/DNS.pm Net::SSLeay 1.55 /usr/lib64/perl5/vendor_perl/Net/SSLeay.pm Ciphers 24.06.24 lib/Ciphers.pm OCfg 24.06.24 lib/OCfg.pm OData 24.06.24 lib/OData.pm ODoc 24.06.24 <<not loaded>> error_handler 24.01.24 lib/error_handler.pm SSLinfo 24.06.24 lib/SSLinfo.pm SSLhello 24.06.24 lib/SSLhello.pm OMan 24.06.24 <<not loaded>> OText 24.06.24 lib/OText.pm Having no space between pattern and following word is deprecated at lib/OTrace.pm line 415. Bareword found where operator expected at lib/OTrace.pm line 415, near "s/(}[;,])?\s*$//gn" Unquoted string "n" may clash with future reserved word at lib/OTrace.pm line 415. Having no space between pattern and following word is deprecated at lib/OTrace.pm line 416. Bareword found where operator expected at lib/OTrace.pm line 416, near "s/use\s*(strict|warnings);//gn" Unquoted string "n" may clash with future reserved word at lib/OTrace.pm line 416. syntax error at lib/OTrace.pm line 415, near "s/(}[;,])?\s*$//gn" syntax error at lib/OTrace.pm line 416, near "s/use\s*(strict|warnings);//gn" Execution of lib/OTrace.pm aborted due to compilation errors. OTrace <<not loaded>> OUsr 24.06.24 <<not loaded>> !!Hint: use '--v' to get list of all modules

EnDe commented 1 month ago

Bug in OTrace.pm which uses RegEx syntax supported by Perl > v5.22.0

EnDe commented 1 month ago

should be fixed in lib/OTrace.pm.

kylak commented 1 month ago

I updated lib/OTrace.pm and here is what I have now running ./o-saft.pl --version :

[...]
= Required (and used) Modules =
=   module name            VERSION  found in
=   ----------------------+--------+------------------------------------------
    IO::Socket::INET       1.33     /usr/lib64/perl5/IO/Socket/INET.pm
    IO::Socket::SSL        1.94     /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm
    Time::Local            1.2300   /usr/share/perl5/vendor_perl/Time/Local.pm
    Net::DNS               0.72     /usr/lib64/perl5/vendor_perl/Net/DNS.pm
    Net::SSLeay            1.94     /usr/local/lib64/perl5/Net/SSLeay.pm
    Ciphers                24.06.24 lib/Ciphers.pm
    OCfg                   24.06.24 lib/OCfg.pm
    OData                  24.06.24 lib/OData.pm
    ODoc                   24.06.24 <<not loaded>>
    error_handler          24.01.24 lib/error_handler.pm
    SSLinfo                24.06.24 lib/SSLinfo.pm
    SSLhello               24.06.24 lib/SSLhello.pm
    OMan                   24.06.24 <<not loaded>>
    OText                  24.06.24 lib/OText.pm
Can't exec "lib/OTrace.pm": Permission denied at ./o-saft.pl line 6194.
Use of uninitialized value $v in scalar chomp at ./o-saft.pl line 6196.
Use of uninitialized value $v in pattern match (m//) at ./o-saft.pl line 6197.
    OTrace                          <<not loaded>>
    OUsr                   24.06.24 <<not loaded>>
!!Hint: use '--v' to get list of all modules

Knowing that I have this same result for both ./o-saft.pl --version and sudo ./o-saft.pl --version.

EnDe commented 1 month ago

grrr, I hate git(hub), does not honor file bits properly ...

please do chmod 555 ./lib/OTrace.pm then error shoul go away

I've opened issue 143 for that.

EnDe commented 1 month ago

... and sudo ...

this tool works completely in user space, no root privileges required at all ;-)

kylak commented 1 month ago

Here what I have after having done the chmod :

[...]
= Required (and used) Modules =
=   module name            VERSION  found in
=   ----------------------+--------+------------------------------------------
    IO::Socket::INET       1.33     /usr/lib64/perl5/IO/Socket/INET.pm
    IO::Socket::SSL        1.94     /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm
    Time::Local            1.2300   /usr/share/perl5/vendor_perl/Time/Local.pm
    Net::DNS               0.72     /usr/lib64/perl5/vendor_perl/Net/DNS.pm
    Net::SSLeay            1.94     /usr/local/lib64/perl5/Net/SSLeay.pm
    Ciphers                24.06.24 lib/Ciphers.pm
    OCfg                   24.06.24 lib/OCfg.pm
    OData                  24.06.24 lib/OData.pm
    ODoc                   24.06.24 <<not loaded>>
    error_handler          24.01.24 lib/error_handler.pm
    SSLinfo                24.06.24 lib/SSLinfo.pm
    SSLhello               24.06.24 lib/SSLhello.pm
    OMan                   24.06.24 <<not loaded>>
    OText                  24.06.24 lib/OText.pm
    OTrace                 24.06.24 <<not loaded>>
    OUsr                   24.06.24 <<not loaded>>
!!Hint: use '--v' to get list of all modules
EnDe commented 1 month ago

ok, and what is the question with that?

kylak commented 1 month ago

There's none. It was simply to let you know the result (which is good I guess if <<not loaded>> is the normal/awaited statement).

EnDe commented 1 month ago

ok, I see the message needs to be improved;-)

EnDe commented 1 month ago

Message not loaded improved.