!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/bin/X11/./../../lib/evolution-openldap/../python2.4/site-packages/Ft/Server/Common/   drwxr-xr-x
Free 5.02 GB of 27.03 GB (18.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Util.py (5.54 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
########################################################################
# $Header: /var/local/cvsroot/4Suite/Ft/Server/Common/Util.py,v 1.17 2005/03/28 10:59:01 mbrown Exp $
"""
Common (client and server) utilities for repo code

Copyright 2004 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
"""

from Ft.Lib.Uri import PercentEncode
from Ft.Server import FTSS_URI_SCHEME, RESERVED_NAMESPACE

try:
    import os
    if os.name == 'posix':
        imt_file_paths = ['/etc/mime.types',
                          '/usr/local/etc/mime.types',
                          '/usr/local/apache/conf/mime.types',
                          '/etc/httpd/conf/mime.types',
                         ]
   elif os.name == 'nt':
        #FIXME: use registry, pending outcome of
        # http://sourceforge.net/tracker/index.php?func=detail&aid=977553&group_id=5470&atid=305470
        ds = os.environ.get('SystemDrive', 'C:')
        imt_file_paths = [r'%s\Program Files\Apache Group\Apache2\conf\mime.types' % ds,
                          r'%s\Program Files\Apache Group\Apache\conf\mime.types' % ds,
                         ]
        del ds
    else:
        imt_file_paths = []
    found_imts = 0
    for imt_file_path in imt_file_paths:
        if os.access(imt_file_path, os.R_OK):
            found_imts = 1
            break
    if not found_imts:
        raise
    IMT_MAP = {}
    imt_file = open(imt_file_path, 'r')
    #print "IMTs read from %s" % imt_file_path
    for line in imt_file.readlines():
        if line[0] == '#':
            continue
        splitl = line.split()
        if len(splitl) < 2:
            continue
        imt = splitl[0]
        for ext in splitl[1:]:
            IMT_MAP[ext] = imt
    del found_imts, os, imt_file_paths
    del imt_file_path, imt_file, line, splitl, imt, ext
except:
    IMT_MAP = {
        '.xml' : 'text/xml',
        '.xsl' : 'text/xml',
       '.xslt': 'text/xml',
        '.rdf' : 'text/xml',

        '.htm' : 'text/html',
        '.html': 'text/html',
        '.xhtml': 'text/html',

        '.gif' : 'image/gif',
        '.png' : 'image/png',
        '.jpg' : 'image/jpeg',
        '.jpeg': 'image/jpeg',
        '.svg' : 'image/svg',
#        '': '',
        }

#Get user's namespace mappings
from Ft.Xml import Domlette
from Ft.Xml import XPath

DASHBOARD_NS = "http://chimezie.ogbuji.net/4ss/tools/dashboard/schema#"

NSM_NSM = {'fres': RESERVED_NAMESPACE}

PREFIXES = XPath.Compile("/fres:NsMappings/fres:NsMapping/Prefix/text()")
URIS = XPath.Compile("/fres:NsMappings/fres:NsMapping/Uri/text()")

def GetUserNsMappings(repo, baseMappings=None):
    ns_map = baseMappings and baseMappings.copy() or {}
    model = repo.getModel()
    username = repo.getCurrentUser()
    if not username: return {}
    user = username.getAbsolutePathAsUri()
    stmts = model.complete(user, DASHBOARD_NS+"ns-mappings", None)
    if stmts:
        nsm_res = repo.fetchResource(stmts[0].object)
        content = nsm_res.getContent()
        nsm_doc = Domlette.NonvalidatingReader.parseString(
            content, stmts[0].object
            )
        con = XPath.Context.Context(nsm_doc, processorNss=NSM_NSM)
        prefixes = PREFIXES.evaluate(con)
        uris = URIS.evaluate(con)
        #FIXME: Dangerous under arcane conditions where processor
        #Divides elements into multiple text children
        #FIXME: Also relies on ordering of node sets
        for i in xrange(len(prefixes)):
            ns_map[prefixes[i].data] = uris[i].data
    return ns_map


def RepoPathToUri(path):
    """
    Converts an absolute repo path, given as a string or instance of
    Ft.Server.Server.Drivers.PathImp.Path, to a URI of the %s
    scheme. If the path is not a Unicode string, it is assumed to be
    UTF-8 encoded.
    """ % FTSS_URI_SCHEME
    if isinstance(path, str):
        path = unicode(path, 'utf-8')
    elif not isinstance(path, unicode):
        try:
            from Ft.Server.Server.Drivers import PathImp
            if isinstance(path, PathImp.Path):
                path = path.absolutePath
                if isinstance(path, str):
                    path = unicode(path, 'utf-8')
        except ImportError:
            #FIXME: Should be an error
            import sys; print >> sys.stderr, "Unable to import PathImp from Ft.Server.Server.Drivers"
            pass
    if not path or not path.startswith('/'):
        from Ft.Server.Server import FtServerServerException, Error
        raise FtServerServerException(
            Error.RELATIVE_PATH_FOR_FTSS_URI,
            path=path, ftssScheme=FTSS_URI_SCHEME)

    # when repo path strings use ';foo' parameters, we have to avoid
    # percent-encoding the ';' characters.
    path = '/'.join(map(lambda s: PercentEncode(s, encodeReserved=False, reservedChars=";="), path.split('/')))
    return '%s://%s' % (FTSS_URI_SCHEME, path)


def RepoUriToPath(uri):
    """
    Converts a URI of the %s scheme to an absolute repo path string.
    This function is less flexible than RepoPathToUri.  Suggested use
    if you have a path or URI you're unsure of is to first convert it
    to a sure repo URI using RepoPathToUri and then, if need be, get
    the equivalent path using this function.  e.g.:

    uri = RepoPathToUri(unknown)
    path = RepoUriToPath(uri)

    At which point you're sure uri is a repo URI and that path is
    a repo path
    """ % FTSS_URI_SCHEME
    if not uri.startswith(FTSS_URI_SCHEME + '//'):
        raise TypeError("Invalid argument for RepoUriToPath: %s"(str(uri)))
    return uri[len(FTSS_URI_SCHEME)+2:]


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0046 ]--