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:20.05 GB of 70.42 GB (28.48%)
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/ courier/ libs/ - drwxrwxrwx

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


#include    "courier.h"
#include    "comctlfile.h"
#include    <string.h>
#include    <stdlib.h>

/* Determine if this recipient should be reported on */

const char *dsn_sender(struct ctlfile *ctf, unsigned i, int isdelayeddsn)
{
char    c=ctf->delstatus[i][0];
const char *p;
const char *sender=ctf->sender;

/* This msg just came back from the dsn module */

    if (c != COMCTLFILE_DELSUCCESS && !isdelayeddsn)
        c=COMCTLFILE_DELFAIL;
        /* Deferrals are treated as failures for final dsn */


    {
        static int bouncetoauth = -1;

        if (bouncetoauth < 0)
        {
            p=getenv("DSNTOAUTHADDR");

            bouncetoauth=p && *p == '0' ? 0:1;
        }

        if (bouncetoauth)
        {
            int i;

            i=ctlfile_searchfirst(ctf, COMCTLFILE_AUTHNAME);

            if (i >= 0 &&
                strchr(ctf->lines[i]+1, '@'))
            {
                sender=ctf->lines[i]+1;
            }
        }
    }

    /*
    ** An empty envelope sender always bounces failures to postmaster,
    ** doublebounce.
    */

    if (*sender == 0)
        return (!isdelayeddsn &&
            c == COMCTLFILE_DELFAIL &&
            (ctf->dsnreceipients[i] == 0 ||
            ctf->dsnreceipients[i][0] == 0 ||
            strchr(ctf->dsnreceipients[i], 'F'))
                ? "postmaster":0);

    if (strcmp(sender, TRIPLEBOUNCE) == 0)    return (0);

    switch (c)    {
    case COMCTLFILE_DELSUCCESS:
        if (isdelayeddsn)
            return (0);    /* This is a delayed DSN only */

        /*
        ** Only succesfull local deliveries or relays are ever
        ** reported.
        */

        for (p=ctf->delstatus[i]; *p; p++)
            if (*p == 'l' || *p == 'r')    break;
        if (!*p)    return (0);

        /*
        ** To report a success DSN, NOTIFY=SUCCESS must always be
        ** selected.
        */

        if (ctf->dsnreceipients[i] &&
            ctf->dsnreceipients[i][0] &&
            strchr(ctf->dsnreceipients[i], 'S'))
            break;
        return (0);

    case COMCTLFILE_DELFAIL:
        if (isdelayeddsn)
            return (0);    /* This is a delayed DSN only */

        /*
        ** Report failures unless NOTIFY was used, and FAILURE was
        ** NOT selected.
        */

        if (ctf->dsnreceipients[i] &&
            ctf->dsnreceipients[i][0] &&
            strchr(ctf->dsnreceipients[i], 'F') == 0)
            return (0);
        break;
    default:

        /* Delayed DSN */

        if (!isdelayeddsn)    return (0);

        if ( ctf->dsnreceipients[i] && ctf->dsnreceipients[i][0])
        {
        const char *p=ctf->dsnreceipients[i];

            for ( ; *p; p++)
            /*
            ** When NOTIFY was used, and DELAY was selected,
            ** always report.
            */
                if (*p == 'D')    break;

            if (!*p)    return (0);
        }
        else
        {
        static int defaultdelay = -1;

            if (defaultdelay < 0)
            {
                p=getenv(DSNDEFAULTNOTIFYDELAY);
                defaultdelay=p && *p == '0' ? 0:1;
            }
            if (defaultdelay)
                break;
            return (0);
        }
        break;
    }
    return (sender);
}
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.1776 seconds