projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fba5241
)
Fixed parsing of message-id angle brackets
author
Art Cancro
<ajc@citadel.org>
Fri, 12 Apr 2024 16:15:57 +0000
(09:15 -0700)
committer
Art Cancro
<ajc@citadel.org>
Fri, 12 Apr 2024 16:15:57 +0000
(09:15 -0700)
citadel/server/internet_addressing.c
patch
|
blob
|
history
diff --git
a/citadel/server/internet_addressing.c
b/citadel/server/internet_addressing.c
index 09d7fd1315a1ad7b380e84e5c3a644597872dd39..746bed1a0fb86d3c56bb6ec1843d3704f14eb5a1 100644
(file)
--- a/
citadel/server/internet_addressing.c
+++ b/
citadel/server/internet_addressing.c
@@
-887,26
+887,19
@@
int convert_field(struct CtdlMessage *msg, const char *beg, const char *end) {
syslog(LOG_WARNING, "internet_addressing: duplicate message id");
}
else {
syslog(LOG_WARNING, "internet_addressing: duplicate message id");
}
else {
- char *pValue;
- long pValueLen;
-
- pValue = value;
- pValueLen = valuelen;
- // Strip angle brackets
- while (haschar(pValue, '<') > 0) {
- pValue ++;
- pValueLen --;
- }
-
- for (i = 0; i <= pValueLen; ++i)
- if (pValue[i] == '>') {
- pValueLen = i;
- break;
+ char *pvalue = value; // strip out angle brackets
+ char *ptr = pvalue;
+ while (*ptr) {
+ if (*ptr == '<') {
+ pvalue = ptr + 1;
}
}
-
- CM_SetField(msg, emessageId, pValue);
+ if (*ptr == '>') {
+ *ptr = 0;
+ }
+ ++ptr;
+ }
+ CM_SetField(msg, emessageId, pvalue);
}
}
-
processed = 1;
}
processed = 1;
}