Changeset 7648
- Timestamp:
- 10/08/12 17:02:20 (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r7644 r7648 317 317 SRC-y += oscam-lock.c 318 318 SRC-y += oscam-log.c 319 SRC-y += oscam-log-reader.c 319 320 SRC-y += oscam-net.c 320 321 SRC-y += oscam-llist.c -
trunk/global-functions.h
r7647 r7648 139 139 140 140 #include "oscam-log.h" 141 #include "oscam-log-reader.h" 141 142 142 143 /* =========================== … … 146 147 extern int32_t card_write(struct s_reader * reader, const uchar *, const uchar *, uchar *, uint16_t *); 147 148 extern int32_t check_sct_len(const unsigned char *data, int32_t off); 148 extern void rdr_log(struct s_reader * reader, char *,...) __attribute__ ((format (printf, 2, 3)));149 extern void rdr_log_sensitive(struct s_reader * reader, char *,...) __attribute__ ((format (printf, 2, 3)));150 extern void rdr_debug_mask(struct s_reader * reader, uint16_t mask, char *fmt, ...) __attribute__ ((format (printf, 3, 4)));151 extern void rdr_debug_mask_sensitive(struct s_reader * reader, uint16_t mask, char *fmt, ...) __attribute__ ((format (printf, 3, 4)));152 extern void rdr_ddump_mask(struct s_reader * reader, uint16_t mask, const uint8_t * buf, int n, char *fmt, ...) __attribute__ ((format (printf, 5, 6)));153 149 extern void * start_cardreader(void *); 154 150 extern void reader_card_info(struct s_reader * reader); -
trunk/oscam-reader.c
r7644 r7648 9 9 #include "oscam-time.h" 10 10 #include "reader-common.h" 11 12 static char *debug_mask_txt(int mask) {13 switch (mask) {14 case D_EMM : return "EMM: ";15 case D_IFD : return "IFD: ";16 case D_TRACE : return "TRACE: ";17 case D_DEVICE : return "IO: ";18 default : return "";19 }20 }21 22 static char *reader_desc_txt(struct s_reader *reader) {23 if (reader->csystem.desc)24 return reader->csystem.desc;25 else if (reader->crdr.desc)26 return reader->crdr.desc;27 else if (reader->ph.desc)28 return reader->ph.desc;29 else30 return reader_get_type_desc(reader, 1);31 }32 33 static char *format_sensitive(char *result, int remove_sensitive) {34 // Filter sensitive information35 int i, n = strlen(result), p = 0;36 if (remove_sensitive) {37 int in_sens = 0;38 for (i = 0; i < n; i++) {39 switch(result[i]) {40 case '{': in_sens = 1; continue;41 case '}': in_sens = 0; break;42 }43 if (in_sens)44 result[i] = '#';45 }46 }47 // Filter sensitive markers48 for (i = 0; i < n; i++) {49 if (result[i] == '{' || result[i] == '}')50 continue;51 result[p++] = result[i];52 }53 result[p] = '\0';54 return result;55 }56 57 void rdr_log(struct s_reader * reader, char *fmt, ...) {58 char txt[256];59 va_list args;60 va_start(args, fmt);61 vsnprintf(txt, sizeof(txt), fmt, args);62 va_end(args);63 cs_log("%s [%s] %s", reader->label, reader_desc_txt(reader), txt);64 }65 66 void rdr_log_sensitive(struct s_reader * reader, char *fmt, ...) {67 char txt[256];68 va_list args;69 va_start(args, fmt);70 vsnprintf(txt, sizeof(txt), fmt, args);71 va_end(args);72 format_sensitive(txt, log_remove_sensitive);73 rdr_log(reader, "%s", txt);74 }75 76 void rdr_debug_mask(struct s_reader * reader, uint16_t mask, char *fmt, ...) {77 if (config_WITH_DEBUG()) {78 char txt[2048];79 va_list args;80 va_start(args, fmt);81 vsnprintf(txt, sizeof(txt), fmt, args);82 va_end(args);83 cs_debug_mask(mask, "%s [%s] %s%s", reader->label, reader_desc_txt(reader), debug_mask_txt(mask), txt);84 }85 }86 87 void rdr_debug_mask_sensitive(struct s_reader * reader, uint16_t mask, char *fmt, ...) {88 if (config_WITH_DEBUG()) {89 char txt[2048];90 va_list args;91 va_start(args, fmt);92 vsnprintf(txt, sizeof(txt), fmt, args);93 va_end(args);94 format_sensitive(txt, log_remove_sensitive);95 rdr_debug_mask(reader, mask, "%s", txt);96 }97 }98 99 void rdr_ddump_mask(struct s_reader * reader, uint16_t mask, const uint8_t * buf, int n, char *fmt, ...) {100 if (config_WITH_DEBUG()) {101 char txt[2048];102 va_list args;103 va_start(args, fmt);104 vsnprintf(txt, sizeof(txt), fmt, args);105 va_end(args);106 cs_ddump_mask(mask, buf, n, "%s [%s] %s%s", reader->label, reader_desc_txt(reader), debug_mask_txt(mask), txt);107 }108 }109 11 110 12 /**
Note:
See TracChangeset
for help on using the changeset viewer.