--- /dev/null
+ o Minor bugfixes
+ - Only limit the lengths of single HS descriptors, even when
+ multiple HS descriptors are published to an HSDir relay in a
+ single POST operation. Fixes bug 2948; bugfix on 0.2.1.5-alpha.
+ Found by hsdir.
+
+
else
eos = eos + 1;
/* Check length. */
- if (strlen(desc) > REND_DESC_MAX_SIZE) {
+ if (eos-desc > REND_DESC_MAX_SIZE) {
/* XXX023 If we are parsing this descriptor as a server, this
* should be a protocol warning. */
log_warn(LD_REND, "Descriptor length is %i which exceeds "
"maximum rendezvous descriptor size of %i bytes.",
- (int)strlen(desc), REND_DESC_MAX_SIZE);
+ (int)(eos-desc), REND_DESC_MAX_SIZE);
goto err;
}
/* Tokenize descriptor. */