[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1002595: debbugs: get_bug_log can incorrectly return an e-mail body with xsi:type="xsd:long"



On 25 Dec 2021 Mike Frysinger wrote:
> On Sat, 25 Dec 2021 01:26:00 -0500, Mike Frysinger wrote:
> > I get that that bug report has a lot of spam, but debbugs prob shouldn't
> > ever return a <body> with xsi:type other than xsd:long.
> 
> err, obviously I meant <body> should always have xsi:type of *xsd:string*

Spent some time looking into this. I don't think this is easy.

The type of the transmitted data is determined automatically by Perl;
how it does that is described here:
https://manpages.debian.org/bullseye/libsoap-lite-perl/SOAP::Serializer.3pm.en.html#AUTOTYPING
https://manpages.debian.org/bullseye/libsoap-lite-perl/SOAP::Lite.3pm.en.html#TROUBLESHOOTING

Debbugs already disables some of the possible types around here:
https://salsa.debian.org/debbugs-team/debbugs/-/blob/master/cgi/soap.cgi#L49
I suspect it should not disable the auto-detection completely because at
least some of the remaining types are actually needed. This means there
will always remain corner cases where it guesses wrong.

Being prepared for this on the client side is a good idea.
Python-debianbts solves the problem in get_bug_log() by (mostly)
ignoring the xsi:type for message bodies and always converting them to
string.


Reply to: