Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHNEV5Q7JXhHkxqyWWrrPZmx--GECAgpCnsnfJY4foiCh4JpiQ@mail.gmail.com>
Date: Mon, 4 May 2015 09:24:25 -0400
From: Mathieu Laprise <mathlaprise@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: [Johnny] Task 1.4.2 fork and OpenMP

Shinnok,


> Is it my understanding that the fix Solar committed allows for both
> pre-patch and post-patch JtR's to be handled in the same manner without us
> discriminating JtR versions in Johnny yet?
>

I think yes. For pre-patch, Johnny will send signal sigterm to all the
children. For post-patch,Johnny will also send sigterm to anyone in the
process group and JtR will forward signal to children if they are still
alive. In the worse case, I don't think that children receiving two sigterm
in a row is gonna make any problems ?

If yes, Mathieu, I think you need to change your override of
> JohnProcess::terminate() to not send SIGTERM twice in the OS_FORK
> case(looking over your Github branch). Also you should use Q_OS_ defines to
> probe for OS'es instead of GCC builtins(or otherwise)?


1) Okay, for define, I'll use Q_OS_UNIX instead of gcc. 2) Does JtR --fork
works on OS X too since it's based on unix? 3) Do you mean
 void JohnProcess::terminate()
{
#if OS_FORK
    if(processId() != 0)
    {
        ::kill(-processId(),SIGTERM);
    }

*+ #else*

*    QProcess::terminate();*
*#endif*
}

 or find a way to detect version number of john

 void JohnProcess::terminate()
{
#if OS_FORK
    if(processId() != 0 && version <= pre_patch_version)
    {
        ::kill(-processId(),SIGTERM);
    }

*#else*

*    QProcess::terminate();*
*#endif*
}

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.