--- parser3/src/include/pa_string.h 2001/03/10 16:34:35 1.29 +++ parser3/src/include/pa_string.h 2001/03/14 08:50:01 1.35 @@ -1,9 +1,9 @@ /* Parser Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan + Author: Alexander Petrosyan (http://design.ru/paf) - $Id: pa_string.h,v 1.29 2001/03/10 16:34:35 paf Exp $ + $Id: pa_string.h,v 1.35 2001/03/14 08:50:01 paf Exp $ */ /* @@ -23,7 +23,7 @@ #define PA_STRING_H #ifdef HAVE_CONFIG_H -#include "pa_config.h" +# include "pa_config.h" #endif #include @@ -31,12 +31,20 @@ #include "pa_pool.h" #include "pa_types.h" +#define UNTAINT_TIMES_BIGGER 10 + #ifndef NO_STRING_ORIGIN -# define STRING_APPEND_PARAMS const char *src, size_t size, bool tainted, char *file, uint line +# define STRING_APPEND_PARAMS \ + const char *src, size_t size, \ + bool tainted, \ + const char *file, uint line # define APPEND(src, size, file, line) real_append(src, size, false, file, line) # define APPEND_TAINTED(src, size, file, line) real_append(src, size, true, file, line) #else -# define STRING_APPEND_PARAMS const char *src, size_t size, bool tainted +# define STRING_APPEND_PARAMS \ + const char *src, \ + size_t size, \ + bool tainted # define APPEND(src, size, file, line) real_append(src, size, false) # define APPEND_TAINTED(src, size, file, line) real_append(src, size, true) #endif @@ -50,6 +58,7 @@ public: }; enum Untaint_lang { + UNKNOWN=0, // when get by name fails NO, // clean YES, // tainted, untaint language as assigned later // untaint languages. assigned by ^untaint[lang]{...} @@ -57,9 +66,9 @@ public: // leave language built into string being appended // just a flag, that value not stored AS_IS, + TABLE, SQL, JS, - TABLE, HTML, HTML_TYPO }; @@ -84,7 +93,7 @@ public: } bool operator != (const String& src) const { return cmp(src)!=0; } - bool operator == (char* src) const; + bool operator == (const char* b_ptr) const; String& append(const String& src, Untaint_lang lang); uint hash_code() const;