[Openswan dev] [Openswan Users] Possible bug?

David McCullough david_mccullough at mcafee.com
Thu Mar 18 06:27:58 EDT 2010


Jivin Hansjörg Pfister lays it down ...
> 
> Hi,
> 
> may be there's a bug in pluto:
> 
> In ikev1_quick.c (2.6.24) you'll find the following at line 1972:
> 
> 	 if (st->st_pfs_group != NULL) {
> 		e = build_ke(&qke->qke_pcrc, st, st->st_pfs_group, ci);
> 	    } else {
> 		e = build_nonce(&qke->qke_pcrc, st, ci);
> 	    }
> 	
> 	    passert(st->st_connection != NULL);      <- this condition may be
> sometimes true because:
> 
> in build_nonce there is at line 248:
> 
> event_schedule(EVENT_CRYPTO_FAILED, EVENT_CRYPTO_FAILED_DELAY, st);
> 
> this event will delete st_connection!
> Same in build_ke!

This is ok,  event_schedule schedules the event for later.  Since pluto is
single threaded and the event will trigger later in the event loop,
st->st_connection will be still valid after returning from
build_nonce/build_ke.

Cheers,
Davidm

-- 
David McCullough,      david_mccullough at mcafee.com,  Ph:+61 734352815
McAfee - SnapGear      http://www.mcafee.com         http://www.uCdot.org


More information about the Dev mailing list