1 #define MODULE_LOG_PREFIX "reader"
6 #include "oscam-log-reader.h"
7 #include "oscam-reader.h"
9 extern int log_remove_sensitive
;
11 static char *debug_mask_txt(int mask
)
28 static const char *reader_desc_txt(struct s_reader
*reader
)
30 if(reader
->csystem
&& reader
->csystem
->desc
)
31 { return reader
->csystem
->desc
; }
32 else if(reader
->crdr
&& reader
->crdr
->desc
)
33 { return reader
->crdr
->desc
; }
34 else if(reader
->ph
.desc
)
35 { return reader
->ph
.desc
; }
37 { return reader_get_type_desc(reader
, 1); }
40 static char *format_sensitive(char *result
, int remove_sensitive
)
42 // Filter sensitive information
43 int i
, n
= strlen(result
), p
= 0;
47 for(i
= 0; i
< n
; i
++)
62 // Filter sensitive markers
63 for(i
= 0; i
< n
; i
++)
65 if(result
[i
] == '{' || result
[i
] == '}')
67 result
[p
++] = result
[i
];
73 void rdr_log(struct s_reader
*reader
, char *fmt
, ...)
78 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
80 cs_log("%s [%s] %s", reader
->label
, reader_desc_txt(reader
), txt
);
83 void rdr_log_sensitive(struct s_reader
*reader
, char *fmt
, ...)
88 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
90 format_sensitive(txt
, log_remove_sensitive
);
91 rdr_log(reader
, "%s", txt
);
94 void rdr_log_dbg(struct s_reader
*reader
, uint16_t mask
, char *fmt
, ...)
96 if(config_enabled(WITH_DEBUG
))
101 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
103 cs_log_dbg(mask
, "%s [%s] %s%s", reader
->label
, reader_desc_txt(reader
), debug_mask_txt(mask
), txt
);
107 void rdr_log_dbg_sensitive(struct s_reader
*reader
, uint16_t mask
, char *fmt
, ...)
109 if(config_enabled(WITH_DEBUG
))
114 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
116 format_sensitive(txt
, log_remove_sensitive
);
117 rdr_log_dbg(reader
, mask
, "%s", txt
);
121 void rdr_log_dump(struct s_reader
*reader
, const uint8_t *buf
, int n
, char *fmt
, ...)
126 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
128 cs_log_dump(buf
, n
, "%s [%s] %s", reader
->label
, reader_desc_txt(reader
), txt
);
131 void rdr_log_dump_dbg(struct s_reader
*reader
, uint16_t mask
, const uint8_t *buf
, int n
, char *fmt
, ...)
133 if(config_enabled(WITH_DEBUG
))
138 vsnprintf(txt
, sizeof(txt
), fmt
, args
);
140 cs_log_dump_dbg(mask
, buf
, n
, "%s [%s] %s%s", reader
->label
, reader_desc_txt(reader
), debug_mask_txt(mask
), txt
);