!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/bin/X11/./../../share/doc/MySQL-python-1.2.0/../dos2unix-3.1/../tux-3.2.18/   drwxr-xr-x
Free 4.9 GB of 27.03 GB (18.11%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     demo3.c (1.7 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
* demo3.c: sample event-driven module showing how to
*          handle postponed requests.
*/

#include <unistd.h>

#include "tuxmodule.h"

#ifdef TUXAPI_declare
TUXAPI_declare;
#endif

#define REPLY_HEADER "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n"
#define REPLY_HEADER_LEN (sizeof(REPLY_HEADER)-1)
#define QUERY_ERROR "no query string.\n"
#define QUERY_ERROR_LEN (sizeof(QUERY_ERROR)-1)
#define ERROR "GET_OBJECT error.\n"
#define ERROR_LEN (sizeof(ERROR)-1)

int TUXAPI_handle_events (user_req_t *req)
{
    int ret = TUX_RETURN_USERSPACE_REQUEST;

    switch (req->event) {
        /*
         * A new request starts with event code 0.
         */
        case 0:
                write (req->sock, REPLY_HEADER, REPLY_HEADER_LEN);
            req->http_status = 200;
            if (!req->query[0]) {
                    write (req->sock, QUERY_ERROR, QUERY_ERROR_LEN);
                goto abort;
            }

            /*
             * set req->objectname is to the requested object
             * in the query string. This simulates
             * simple static GETs.
             */
            strcpy(req->objectname, req->query);

            req->event = 1;
            ret = tux(TUX_ACTION_GET_OBJECT, req);
            if (ret < 0 || req->error) {
                    write (req->sock, ERROR, ERROR_LEN);
                goto abort;
            }
            break;

        case 1:
        {
            int pid;

            if (req->error) {
                    write (req->sock, ERROR, ERROR_LEN);
                goto abort;
            }
            req->event = 2;
            ret = tux(TUX_ACTION_POSTPONE_REQ, req);
            pid = fork();
            if (!pid) {
                sleep(3);
                ret = tux(TUX_ACTION_CONTINUE_REQ,
                    (user_req_t *)req->sock);
                exit(0);
            }
            ret = tux(TUX_ACTION_EVENTLOOP, req);
            break;
        }
        case 2:
            req->event = 3;
            ret = tux(TUX_ACTION_SEND_OBJECT, req);
            break;

        case 3:
abort:
            ret = tux(TUX_ACTION_FINISH_CLOSE_REQ, req);
            break;
    }
    return ret;
}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0034 ]--