|
@@ -70,9 +70,15 @@ static const char *arbitrary_fields[] = {
|
|
|
NULL
|
|
NULL
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+static const char *private_prefix = "Private-";
|
|
|
|
|
+
|
|
|
static int known_arbitrary_field(const struct arbitraryfield *field) {
|
|
static int known_arbitrary_field(const struct arbitraryfield *field) {
|
|
|
const char **known;
|
|
const char **known;
|
|
|
|
|
|
|
|
|
|
+ /* Always accept fields starting with a private field prefix. */
|
|
|
|
|
+ if (strncasecmp(field->name, private_prefix, strlen(private_prefix)) == 0)
|
|
|
|
|
+ return 1;
|
|
|
|
|
+
|
|
|
for (known= arbitrary_fields; *known; known++)
|
|
for (known= arbitrary_fields; *known; known++)
|
|
|
if (strcasecmp(field->name, *known) == 0)
|
|
if (strcasecmp(field->name, *known) == 0)
|
|
|
return 1;
|
|
return 1;
|