????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 216.73.216.116
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : 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,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/home/b8009/Python-3.6.3/Python/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/home/b8009/Python-3.6.3/Python/dynload_next.c
/* Support for dynamic loading of extension modules on Mac OS X
** All references to "NeXT" are for historical reasons.
*/

#include "Python.h"
#include "importdl.h"

#include <mach-o/dyld.h>

const char *_PyImport_DynLoadFiletab[] = {".so", NULL};

/*
** Python modules are Mach-O MH_BUNDLE files. The best way to load these
** is each in a private namespace, so you can load, say, a module bar and a
** module foo.bar. If we load everything in the global namespace the two
** initbar() symbols will conflict.
** However, it seems some extension packages depend upon being able to access
** each others' global symbols. There seems to be no way to eat our cake and
** have it, so the USE_DYLD_GLOBAL_NAMESPACE define determines which behaviour
** you get.
*/

#ifdef USE_DYLD_GLOBAL_NAMESPACE
#define LINKOPTIONS NSLINKMODULE_OPTION_BINDNOW|NSLINKMODULE_OPTION_RETURN_ON_ERROR
#else
#define LINKOPTIONS NSLINKMODULE_OPTION_BINDNOW| \
    NSLINKMODULE_OPTION_RETURN_ON_ERROR|NSLINKMODULE_OPTION_PRIVATE
#endif
dl_funcptr _PyImport_FindSharedFuncptr(const char *prefix,
                                       const char *shortname,
                                       const char *pathname, FILE *fp)
{
    dl_funcptr p = NULL;
    char funcname[258];
    NSObjectFileImageReturnCode rc;
    NSObjectFileImage image;
    NSModule newModule;
    NSSymbol theSym;
    const char *errString;
    char errBuf[512];

    PyOS_snprintf(funcname, sizeof(funcname), "_%.20s_%.200s", prefix, shortname);

#ifdef USE_DYLD_GLOBAL_NAMESPACE
    if (NSIsSymbolNameDefined(funcname)) {
        theSym = NSLookupAndBindSymbol(funcname);
        p = (dl_funcptr)NSAddressOfSymbol(theSym);
        return p;
    }
#endif
    rc = NSCreateObjectFileImageFromFile(pathname, &image);
    switch(rc) {
        default:
        case NSObjectFileImageFailure:
        case NSObjectFileImageFormat:
            /* for these a message is printed on stderr by dyld */
            errString = "Can't create object file image";
        break;
        case NSObjectFileImageSuccess:
            errString = NULL;
            break;
        case NSObjectFileImageInappropriateFile:
            errString = "Inappropriate file type for dynamic loading";
            break;
        case NSObjectFileImageArch:
            errString = "Wrong CPU type in object file";
            break;
        case NSObjectFileImageAccess:
            errString = "Can't read object file (no access)";
            break;
    }
    if (errString == NULL) {
        newModule = NSLinkModule(image, pathname, LINKOPTIONS);
        if (newModule == NULL) {
            int errNo;
            const char *fileName, *moreErrorStr;
            NSLinkEditErrors c;
            NSLinkEditError( &c, &errNo, &fileName, &moreErrorStr );
            PyOS_snprintf(errBuf, 512, "Failure linking new module: %s: %s",
                            fileName, moreErrorStr);
            errString = errBuf;
        }
    }
    if (errString != NULL) {
        PyErr_SetString(PyExc_ImportError, errString);
        return NULL;
    }
#ifdef USE_DYLD_GLOBAL_NAMESPACE
    if (!NSIsSymbolNameDefined(funcname)) {
        /* UnlinkModule() isn't implemented in current versions, but calling it does no harm */
        /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */
        PyErr_Format(PyExc_ImportError,
                         "Loaded module does not contain symbol %.200s",
                         funcname);
        return NULL;
    }
    theSym = NSLookupAndBindSymbol(funcname);
#else
    theSym = NSLookupSymbolInModule(newModule, funcname);
    if ( theSym == NULL ) {
        /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */
        PyErr_Format(PyExc_ImportError,
                         "Loaded module does not contain symbol %.200s",
                         funcname);
        return NULL;
    }
#endif
    p = (dl_funcptr)NSAddressOfSymbol(theSym);
    return p;
}

Youez - 2016 - github.com/yon3zu
LinuXploit