main routine
(obj)
| 12 | import sys |
| 13 | |
| 14 | def toc(obj): |
| 15 | """ main routine """ |
| 16 | |
| 17 | print(""" |
| 18 | #ifndef LIBINJECTION_SQLI_DATA_H |
| 19 | #define LIBINJECTION_SQLI_DATA_H |
| 20 | |
| 21 | #include "libinjection.h" |
| 22 | #include "libinjection_sqli.h" |
| 23 | |
| 24 | typedef struct { |
| 25 | const char *word; |
| 26 | char type; |
| 27 | } keyword_t; |
| 28 | |
| 29 | static size_t parse_money(sfilter * sf); |
| 30 | static size_t parse_other(sfilter * sf); |
| 31 | static size_t parse_white(sfilter * sf); |
| 32 | static size_t parse_operator1(sfilter *sf); |
| 33 | static size_t parse_char(sfilter *sf); |
| 34 | static size_t parse_hash(sfilter *sf); |
| 35 | static size_t parse_dash(sfilter *sf); |
| 36 | static size_t parse_slash(sfilter *sf); |
| 37 | static size_t parse_backslash(sfilter * sf); |
| 38 | static size_t parse_operator2(sfilter *sf); |
| 39 | static size_t parse_string(sfilter *sf); |
| 40 | static size_t parse_word(sfilter * sf); |
| 41 | static size_t parse_var(sfilter * sf); |
| 42 | static size_t parse_number(sfilter * sf); |
| 43 | static size_t parse_tick(sfilter * sf); |
| 44 | static size_t parse_ustring(sfilter * sf); |
| 45 | static size_t parse_qstring(sfilter * sf); |
| 46 | static size_t parse_nqstring(sfilter * sf); |
| 47 | static size_t parse_xstring(sfilter * sf); |
| 48 | static size_t parse_bstring(sfilter * sf); |
| 49 | static size_t parse_estring(sfilter * sf); |
| 50 | static size_t parse_bword(sfilter * sf); |
| 51 | """) |
| 52 | |
| 53 | # |
| 54 | # Mapping of character to function |
| 55 | # |
| 56 | fnmap = { |
| 57 | 'CHAR_WORD' : 'parse_word', |
| 58 | 'CHAR_WHITE': 'parse_white', |
| 59 | 'CHAR_OP1' : 'parse_operator1', |
| 60 | 'CHAR_UNARY': 'parse_operator1', |
| 61 | 'CHAR_OP2' : 'parse_operator2', |
| 62 | 'CHAR_BANG' : 'parse_operator2', |
| 63 | 'CHAR_BACK' : 'parse_backslash', |
| 64 | 'CHAR_DASH' : 'parse_dash', |
| 65 | 'CHAR_STR' : 'parse_string', |
| 66 | 'CHAR_HASH' : 'parse_hash', |
| 67 | 'CHAR_NUM' : 'parse_number', |
| 68 | 'CHAR_SLASH': 'parse_slash', |
| 69 | 'CHAR_SEMICOLON' : 'parse_char', |
| 70 | 'CHAR_COMMA': 'parse_char', |
| 71 | 'CHAR_LEFTPARENS': 'parse_char', |