I checked in the following: 1) After downloading the projects list, do a sanity check (look for </project>). If missing, ignore the file, and retry in 1 day. As far as I know, this is the only file that the client wasn't parsing; it just passed it straight through to the manager.
2) I fixed the new XML parser (which is used for pretty much everything except client_state.xml) so that it accepts <foo /> (or any number of white space chars between "foo" and "/"). I fixed the old XML parser so that it accepts <foo /> with one space; making it more general would be hard. - David Richard Haselgrove wrote: > The trouble with this is that it would require new server code to > generate/insert the bytecount or checksum - which means that validation > can't be done for projects with legacy servers. And there are a lot of those > around - there's a current bug report that the Einstein server code is too > old to handle BOINC-wide team updates (not a great loss, IMHO). > > The advantage of pre-parsing a tmp (or _next, to continue the client_state > analogy) file is that the parse code already exists: it just needs > re-arranging and re-packaging to avoid updating the data in memory too soon, > and return an acceptable/unacceptable flag at the end. Oh, and a failure > report (if applicable) in the message log, please. > > I think this approach should be adopted for *all* BOINC housekeeping files > (the ones downloaded from project servers), not just the all_projects_list > that prompted this discussion. > > And while we're on the subject, a pet peeve of mine: > > Could BOINC be trained to accept the constructs > > <executable /> > <main_program /> > > (and other self-closing tags) with spaces as valid synonyms for > > <executable/> > <main_program/> > > (without spaces), please - we keep getting compatibility problems with other > XML editors / renderers. No names, no pack drill. _______________________________________________ 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.
