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:25.72 GB of 70.42 GB (36.52%)
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/ maildrop/ - drwxrwxrwx

Directory:
Viewing file:     recipenode.h (3.5 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef recipenode_h
#define    recipenode_h


#include    "buffer.h"
class Recipe;

/////////////////////////////////////////////////////////////////////////////
//
// RecipeNode class - one "clause" in a recipe file, such as an "if"
// statement, or an expression.
//
// All RecipeNodes which represent a single recipe file are linked in a
// doubly-linked list anchored in their Recipe object.
//
// The RecipeNodes are arranged in a hierarchical format:
//
// prevNode/nextNode is the doubly-linked list anchored in the Recipe
// object.  All RecipeNodes dynamically allocated by the Recipe class
// are on this list.
//
// firstChild/lastChild is a doubly-linked list of RecipeNodes that are
// considered descendants of this node.  For example, a node that
// represents an "||" (logical or operation) will have two descendants,
// the left side, and the right side, of the expression.  This RecipeNode
// itself is on the descendant list of its parent.  All descendants of
// a RecipeNode have the parentNode pointer point to this RecipeNode.
// prevSibling/nextSibling is a doubly-linked list of all descendants of
// a single RecipeNode.
//
// This provides a generic linkage that is used to built a hierarchy that
// represents the logical layout of a recipe file.  The remaining fields
// store information pertaining to each individual kind of a RecipeNode
// object.  The nodeType field designates what kind of a RecipeNode object
// this is, which remaining fields are used depends on the nodeType field.
//
// The Recipe class calls the Evaluate() function of the first RecipeNode
// that represents that entire recipe file.  The set of Evaluate() functions
// are logically involved to actually execute the given recipe file.
//
/////////////////////////////////////////////////////////////////////////////

class RecipeNode {
    RecipeNode *prevNode, *nextNode;    // List of all nodes in
                        // this recipe.

    RecipeNode *parentNode;            // Parent of this node.
    RecipeNode *prevSibling, *nextSibling;    // Siblings of this node.
    RecipeNode *firstChild, *lastChild;    // Its own children.

    Buffer    str;
    int    linenum;

    void dollarexpand(Recipe &, Buffer &);
    int dollarexpand(Recipe &, Buffer &, int);

public:
    friend class Recipe;

    enum RecipeNodeType {
        statementlist,
        assignment,
        qstring,
        sqstring,
        btstring,
        regexpr,
        add,
        subtract,
        multiply,
        divide,
        lessthan,
        lessthanoreq,
        greaterthan,
        greaterthanoreq,
        equal,
        notequal,
        concat,
        logicalor,
        logicaland,
        bitwiseor,
        bitwiseand,
        logicalnot,
        bitwisenot,
        strlessthan,
        strlessthanoreq,
        strgreaterthan,
        strgreaterthanoreq,
        strequal,
        strnotequal,
        strlength,
        strsubstr,
        strregexp,
        ifelse,
        whileloop,
        deliver,
        delivercc,
        exception,
        echo,
        xfilter,
        dotlock,
        flock,
        logfile,
        log,
        include,
        exit,
        foreach,
        getaddr,
        lookup,
        escape,
        to_lower,
        to_upper,
        hasaddr,
        gdbmopen,
        gdbmclose,
        gdbmfetch,
        gdbmstore,
        timetoken,
        importtoken,
        unset
        } nodeType;

    RecipeNode(RecipeNodeType);
    ~RecipeNode()                    {}
    void    Evaluate(Recipe &, Buffer &);
private:
    void    AppendSibling(RecipeNode *);
    void    EvaluateString(Recipe &r, Buffer &b);

    void EvaluateStrRegExp(Recipe &, Buffer &, Buffer *);
    void EvaluateRegExp(Recipe &, Buffer &, Buffer *);
static    void    ParseRegExp(const Buffer &, Buffer &, Buffer &);
static    int    boolean(const Buffer &);

    void rfc822getaddr(Buffer &);
    int rfc822hasaddr(Buffer &);
    int rfc822hasaddr(const char *, Buffer &);
    void SpecialEscape(Buffer &);
    int dolookup(Buffer &, Buffer &, Buffer &);
    } ;
#endif
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.2936 seconds