ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:26.04 GB of 70.42 GB (36.98%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ courier-0.66.1/ cgi/ - drwxrwxrwx

Directory:
Viewing file:     cgiselect.c (2.57 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
** Copyright 2007 Double Precision, Inc.
** See COPYING for distribution information.
*/

/*
*/

#include    "cgi.h"
#include    <stdio.h>
#include    <string.h>
#include    <stdlib.h>
#include    <ctype.h>

static void do_cgi_select(const char *name,
              const char *optvalues,
              const char *optlabels,
              const char *default_value,
              size_t list_size,
              const char *flags,

              void (*output_func)(const char *, size_t, void *),
              void *output_arg)
{
    (*output_func)("<select name='", 0, output_arg);
    (*output_func)(name, 0, output_arg);
    (*output_func)("'", 0, output_arg);

    if (strchr(flags, 'm'))
        (*output_func)(" multiple='multiple'", 0, output_arg);
    if (strchr(flags, 'd'))
        (*output_func)(" disabled='disabled'", 0, output_arg);

    (*output_func)("'>", 0, output_arg);

    if (!optvalues)
        optvalues="";

    while (*optlabels)
    {
        const char *label_start=optlabels;
        const char *value_start=optvalues;

        while (*optlabels)
        {
            if (*optlabels == '\n')
                break;
            ++optlabels;
        }

        while (*optvalues)
        {
            if (*optvalues == '\n')
                break;
            ++optvalues;
        }

        (*output_func)("<option", 0, output_arg);

        if (*value_start)
        {
            if (default_value &&
                optvalues - value_start == strlen(default_value) &&
                strncmp(value_start, default_value,
                    optvalues-value_start) == 0)
            {
                (*output_func)(" selected='selected'", 0,
                           output_arg);
            }

            (*output_func)(" value='", 0, output_arg);
            (*output_func)(value_start, optvalues-value_start,
                       output_arg);
            (*output_func)("'", 0, output_arg);
        }
        (*output_func)(">", 0, output_arg);
        (*output_func)(label_start, optlabels-label_start, output_arg);
        (*output_func)("</option>", 0, output_arg);
        if (*optlabels)
            ++optlabels;
        if (*optvalues)
            ++optvalues;
    }

    (*output_func)("</select>", 0, output_arg);
}

static void cnt_bytes(const char *str, size_t cnt, void *arg)
{
    if (!cnt)
        cnt=strlen(str);

    *(size_t *)arg += cnt;
}

static void save_bytes(const char *str, size_t cnt, void *arg)
{
    char **p=(char **)arg;

    if (!cnt)
        cnt=strlen(str);

    memcpy(*p, str, cnt);
    *p += cnt;
}

char *cgi_select(const char *name,
         const char *optvalues,
         const char *optlabels,
         const char *default_value,
         size_t list_size,
         const char *flags)
{
    size_t cnt=1;
    char *buf;
    char *ptr;

    if (!flags)
        flags="";

    do_cgi_select(name, optvalues, optlabels, default_value,
              list_size, flags, cnt_bytes, &cnt);

    buf=malloc(cnt);

    if (!buf)
        return NULL;

    ptr=buf;
    do_cgi_select(name, optvalues, optlabels, default_value,
              list_size, flags, save_bytes, &ptr);
    *ptr=0;
    return buf;
}
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.2526 seconds