projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
44fb061
)
Use normal escape routines, and not special ones.
author
Alan T. DeKok
<aland@freeradius.org>
Wed, 14 Sep 2016 15:03:06 +0000
(11:03 -0400)
committer
Alan T. DeKok
<aland@freeradius.org>
Wed, 14 Sep 2016 15:03:06 +0000
(11:03 -0400)
src/modules/rlm_linelog/rlm_linelog.c
patch
|
blob
|
history
diff --git
a/src/modules/rlm_linelog/rlm_linelog.c
b/src/modules/rlm_linelog/rlm_linelog.c
index
c3bc263
..
3d4219c
100644
(file)
--- a/
src/modules/rlm_linelog/rlm_linelog.c
+++ b/
src/modules/rlm_linelog/rlm_linelog.c
@@
-162,10
+162,6
@@
static size_t linelog_escape_func(UNUSED REQUEST *request,
char *out, size_t outlen, char const *in,
UNUSED void *arg)
{
char *out, size_t outlen, char const *in,
UNUSED void *arg)
{
- const char *p = in;
- char *q = out;
- size_t freespace = outlen;
-
if (outlen == 0) return 0;
if (outlen == 1) {
if (outlen == 0) return 0;
if (outlen == 1) {
@@
-173,63
+169,7
@@
static size_t linelog_escape_func(UNUSED REQUEST *request,
return 0;
}
return 0;
}
- while (*p) {
- int sp;
- size_t len;
-
- if (freespace < 2) break;
-
- switch (*p) {
- case '\r':
- sp = 'r';
- break;
-
- case '\n':
- sp = 'n';
- break;
-
- case '\t':
- sp = 't';
- break;
-
- case '\\':
- sp = '\\';
- break;
-
- default:
- sp = 0;
- break;
- }
-
- if (sp) {
- if (freespace < 3) break;
-
- *q++ = '\\';
- *q++ = sp;
- freespace -= 2;
- p++;
- continue;
- }
-
- if (*p >= ' ') {
- *(q++) = *(p++);
- freespace--;
- continue;
- }
-
- if (freespace < 5) break;
-
- snprintf(q, freespace, "\\%03o", (uint8_t) *p);
-
- len = strlen(q);
- freespace -= len;
- p++;
- q += len;
- }
-
- *q = '\0';
-
- return q - out;
+ return fr_prints(out, outlen, in, -1, 0);
}
static rlm_rcode_t CC_HINT(nonnull) mod_do_linelog(void *instance, REQUEST *request)
}
static rlm_rcode_t CC_HINT(nonnull) mod_do_linelog(void *instance, REQUEST *request)