rgw: assumption of signed char
I'm testing ceph on an armhf based server. During compilation (from Debianized sources you provide), it turns out that in src/rgw/rgw_common.cc function url_decode(), there is an assumption that "char" is signed. That quite weird quirk is common to i386 and amd64, but on some other architectures, including arm*, "char" is unsigned.
A ham-fisted patch attached. I haven't actually tested it yet, but it compiles and looks kosher. In fact, the function above it, hex_to_num() has an obvious related bug in places where char is not unsigned (ie, not on arm), unless that data is validated somewhere else.