On 11 Jun 2010 at 1:32, Nicolás wrote:
> On 6/11/10, David Anderson <[email protected]> wrote:
> > Josef W. Segur wrote:
> >> While researching a related issue, I noted that handle_results() in
> >> the trunk sched_result.cpp seems to be set to call got_bad_result()
> >> without checking if the exit code indicates the project has cancelled
> >> the task, etc.
> >
> > That's actually on purpose; consecutive_valid is used in
> > the cherry-picking defense mechanism, and bad guys can fake exit codes.
>
> Isn't there a way to know if a result was aborted by the server
> without using any client-provided information?
>
> --
> Nicolas
The WORKUNIT error_mask would have the WU_ERROR_CANCELLED bit set for an
unconditional server abort, or the canonical_resultid would be non-zero
for an "abort if not started" case. Neither of those guarantees that the
abort was actually sent to the host, but I think they could be considered
enough evidence not to punish the host. Lacking either of those, there's
the opportunity to really punish a host sending fake -221 exit codes by
immediately reducing its quota to 1 or similar.
Whether the query cost is excessive I cannot judge.
--
Joe
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.