diff options
Diffstat (limited to 'source3/web')
-rw-r--r-- | source3/web/cgi.c | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/source3/web/cgi.c b/source3/web/cgi.c index 97dac86668..874447359b 100644 --- a/source3/web/cgi.c +++ b/source3/web/cgi.c @@ -248,174 +248,6 @@ char *cgi_variable(char *name) } /*************************************************************************** -return a particular cgi variable - ***************************************************************************/ -char *cgi_vnum(int i, char **name) -{ - if (i < 0 || i >= num_variables) return NULL; - *name = variables[i].name; - return variables[i].value; -} - -/*************************************************************************** - return the value of a CGI boolean variable. - ***************************************************************************/ -int cgi_boolean(char *name, int def) -{ - char *p = cgi_variable(name); - - if (!p) return def; - - return strcmp(p, "1") == 0; -} - -/*************************************************************************** -like strdup() but quotes < > and & - ***************************************************************************/ -char *quotedup(char *s) -{ - int i, n=0; - int len; - char *ret; - char *d; - - if (!s) return strdup(""); - - len = strlen(s); - - for (i=0;i<len;i++) - if (s[i] == '<' || s[i] == '>' || s[i] == '&') - n++; - - ret = malloc(len + n*6 + 1); - - if (!ret) return NULL; - - d = ret; - - for (i=0;i<len;i++) { - switch (s[i]) { - case '<': - safe_strcpy(d, "<", len + n*6 - (d - ret)); - d += 4; - break; - - case '>': - safe_strcpy(d, ">", len + n*6 - (d - ret)); - d += 4; - break; - - case '&': - safe_strcpy(d, "&", len + n*6 - (d - ret)); - d += 5; - break; - - default: - *d++ = s[i]; - } - } - - *d = 0; - - return ret; -} - - -/*************************************************************************** -like strdup() but quotes a wide range of characters - ***************************************************************************/ -char *urlquote(char *s) -{ - int i, n=0; - int len; - char *ret; - char *d; - char *qlist = "\"\n\r'&<> \t+;"; - - if (!s) return strdup(""); - - len = strlen(s); - - for (i=0;i<len;i++) - if (strchr(qlist, s[i])) n++; - - ret = malloc(len + n*2 + 1); - - if (!ret) return NULL; - - d = ret; - - for (i=0;i<len;i++) { - if (strchr(qlist,s[i])) { - slprintf(d, len + n*2 - (d - ret), "%%%02X", (int)s[i]); - d += 3; - } else { - *d++ = s[i]; - } - } - - *d = 0; - - return ret; -} - - -/*************************************************************************** -like strdup() but quotes " characters - ***************************************************************************/ -char *quotequotes(char *s) -{ - int i, n=0; - int len; - char *ret; - char *d; - - if (!s) return strdup(""); - - len = strlen(s); - - for (i=0;i<len;i++) - if (s[i] == '"') - n++; - - ret = malloc(len + n*6 + 1); - - if (!ret) return NULL; - - d = ret; - - for (i=0;i<len;i++) { - switch (s[i]) { - case '"': - safe_strcpy(d, """, len + n*6 - (d - ret)); - d += 6; - break; - - default: - *d++ = s[i]; - } - } - - *d = 0; - - return ret; -} - - -/*************************************************************************** -quote spaces in a buffer - ***************************************************************************/ -void quote_spaces(char *buf) -{ - while (*buf) { - if (*buf == ' ') *buf = '+'; - buf++; - } -} - - - -/*************************************************************************** tell a browser about a fatal error in the http processing ***************************************************************************/ static void cgi_setup_error(char *err, char *header, char *info) |