On Wed, Jun 20, 2012 at 1:05 PM, Stefan Sperling <stsp_at_elego.de> wrote:
> On Wed, Jun 20, 2012 at 07:12:43AM -0400, Greg Stein wrote:
>> Stefan: this should fix your "cat" problem. If the server is old, then
>> it reports the property as missing. We don't examine the specific
>> status results (tho we should, but then again: we don't talk to any
>> servers but our own), so we just see <S:sha1-checksum/> where it names
>> the property that was missing.
>> Basically: a backwards-compat bug where we failed to work against old
>> servers. Fixed. (and no, I won't point fingers at Ivan... oh. oops.
>> :-P )
> Thanks! I did try to debug this last night, and also found that the
> sha1 checksum was an empty string. I wasn't sure though wether we could
> treat NULL and the empty string equivalently. I believe I've seen code
> where NULL indicates properly deletion, but an empty string just sets the
> property to an empty value. Does this idiom not apply to ra_serf?
If you look at the entire XML response, it basically said "404 for the
sha1-checksum property". ra_serf does not examine the associated
status, so we just saw the mention of the property name, which
translates to the empty string. We *should* parse the status to
understand it is saying the property is not present, but that would be
lots of effort for little return.
(but yes: your NULL/empty understanding is correct and ra_serf doesn't
stray from that)
Received on 2012-06-20 19:31:38 CEST