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:24.86 GB of 70.42 GB (35.31%)
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/ - drwxrwxrwx

Directory:
Viewing file:     submit.h (3.92 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
** Copyright 1998 - 2001 Double Precision, Inc.
** See COPYING for distribution information.
*/

#ifndef    submit_h
#define    submit_h

#include    "afx.h"
#include    "dbobj.h"
#include    "courier.h"
#if    HAVE_SYS_STAT_H
#include    <sys/stat.h>
#endif
#if    HAVE_UNISTD_H
#include    <unistd.h>
#endif
#include    <fstream>
#include    <time.h>

#include    <list>
#include    <string>
#include    <set>

/////////////////////////////////////////////////////////////////////////////
//
// The SubmitFile class creates one or more control files in
// ${localstatedir}/tmp.
//
// The drudge work in submit.C calculates the actual sender/recipients,
// including aliases.dat lookups, and we get a raw list of addresses
//
// The SubmitFile class is implemented in submit2.C
//
// void Sender(const char *sender, const char *envid, char dsnformat)
//        - specifies envelope sender 'envid', and dsn format 'dsnformat'
// int ChkRecipient(const char *) - returns non-zero if this is a duplicate
//                 recipient, zero if not.
//
// void AddReceipient(const char *recipient, const char *orecipient,
//        const char *dsn, int isalias)
//                                - records recipient address 'recipient',
//                  which is original recipient 'orecipient',
//                                with delivery status notifications set to
//                  'dsn'.  'isalias' is non zero if this is
//                  a local alias, in which case the recipient
//                  is immediately marked as being received.
// void ReceipientFilter(struct rw_transport *module,
//        const char *host,
//        const char *address);
//                - After the message is received, it can be
//                optionally spam filtered.  Record recipient
//                information now, and then run each individual
//                recipient address's filter later.
//                ReceipientFilter supplies the recipient info
//                for the last address called to AddReceipient.
//                Addresses resulting from alias expansion are
//                not filtered.
//
// void interrupt() - should be called if process receives an interrupt.
//                    interrupt() deletes any temporary files that were created.
//
/////////////////////////////////////////////////////////////////////////////

struct    rfc2045;
struct    rw_transport;

class RcptFilterInfo {
public:
    unsigned num_control_file;
    unsigned num_receipient;

    struct rw_transport *driver;
    std::string host;
    std::string address;
    unsigned rcptnum;
} ;

class SubmitFile {
private:

static    SubmitFile *current_submit_file;

    unsigned num_control_files_created;

    std::string name1stctlfile();
    std::string namefile(const char *, unsigned n);

 public:
    std::set<std::string> all_files;
 private:
    unsigned    rcptcount;
    afxopipestream    ctlfile;
    afxiopipestream    datfile;
    ino_t        ctlinodenum;
    ino_t        ctlpid;
    time_t        ctltimestamp;
    std::string    basemsgid;

    struct        rfc2045 *rwrfcptr;
    const char     *frommta;
    unsigned long    bytecount;
    unsigned long    sizelimit;
    int        diskfull;
    unsigned    diskspacecheck;
    std::string    sender, envid, dsnformat;
    std::string    receipient;
    std::set<std::string> addrlist_map;
    DbObj                    addrlist_gdbm;

    std::list<RcptFilterInfo> rcptfilterlist;
    std::fstream    rcptfilterlist_file;

    const char *sending_module;

    void    openctl();
    void    closectl();
public:
    SubmitFile();
    ~SubmitFile();

    std::string QueueID();
    void SendingModule(const char *p) {sending_module=p;}
    void Sender(const char *, const char *, const char *, char);
    int ChkRecipient(const char *);
    void AddReceipient(const char *, const char *, const char *, int);

    void ReceipientFilter(struct rw_transport *,
            const char *,
            const char *,
            unsigned);

    void MessageStart();
    void Message(const char *);
    int MessageEnd(unsigned, int, int);

    static std::string get_msgid_for_filtering(unsigned, void *);

static    void interrupt();
static    void trapsignals();


private:
    int datafilter(const char *, unsigned, const char *);

    void do_datafilter( unsigned &, int &, int,
                struct rw_transport *, std::string, std::string, unsigned,

                unsigned, unsigned, const char *, unsigned nrcpts);
} ;

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