chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journal: also consider audit fields with '-' valid
[elogind.git]
/
src
/
journal
/
journald-audit.c
diff --git
a/src/journal/journald-audit.c
b/src/journal/journald-audit.c
index ba8a1ae8bdbea58f6a700eb6b88002766110a8d7..76f6f3fbde6d1da080d47dedbf5d00cea99818a2 100644
(file)
--- a/
src/journal/journald-audit.c
+++ b/
src/journal/journald-audit.c
@@
-172,7
+172,7
@@
static int map_generic_field(const char *prefix, const char **p, struct iovec **
if (!((*e >= 'a' && *e <= 'z') ||
(*e >= 'A' && *e <= 'Z') ||
(*e >= '0' && *e <= '9') ||
if (!((*e >= 'a' && *e <= 'z') ||
(*e >= 'A' && *e <= 'Z') ||
(*e >= '0' && *e <= '9') ||
-
(*e == '_')
))
+
*e == '_' || *e == '-'
))
return 0;
}
return 0;
}
@@
-182,8
+182,18
@@
static int map_generic_field(const char *prefix, const char **p, struct iovec **
c = alloca(strlen(prefix) + (e - *p) + 2);
t = stpcpy(c, prefix);
c = alloca(strlen(prefix) + (e - *p) + 2);
t = stpcpy(c, prefix);
- for (f = *p; f < e; f++)
- *(t++) = *f >= 'a' && *f <= 'z' ? ((*f - 'a') + 'A') : *f;
+ for (f = *p; f < e; f++) {
+ char x;
+
+ if (*f >= 'a' && *f <= 'z')
+ x = (*f - 'a') + 'A'; /* uppercase */
+ else if (*f == '-')
+ x = '_'; /* dashes → underscores */
+ else
+ x = *f;
+
+ *(t++) = x;
+ }
strcpy(t, "=");
e ++;
strcpy(t, "=");
e ++;