!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/share/system-config-nfs/   drwxr-xr-x
Free 3.9 GB of 27.03 GB (14.43%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     nfsServerSettings.py (3.87 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
## nfsServerSettings.py - Code for dealing with /etc/sysconfig/nfs
##                        in system-config-nfs
## Copyright (C) 2005 Red Hat, Inc.
## Copyright (C) 2005 Nils Philippsen <nphilipp@redhat.com>

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

import os
import re

from rhpl.translate import _, N_
import rhpl.translate as translate
translate.textdomain ("system-config-nfs")

class varNotKnown (Exception):
    pass

class varValueFound (Exception):
    pass

class nfsServerSettings:
    filename = '/etc/sysconfig/nfs'
    knownvars = ['LOCKD_TCPPORT', 'LOCKD_UDPPORT', 'MOUNTD_PORT', 'STATD_PORT']
    name_value_re = re.compile ('^(?P<varname>[A-Za-z_][A-Za-z0-9_]*)=(?P<varvalue>.*)$')

    def __init__ (self):
        self.read ()

    def read (self):
        self.lines = []

        try:
            f = open (self.filename, 'r')
            if f:
                line = None
                while True:
                    
                    line = f.readline ()
                    if line == '':
                        break
                    line = line.strip ()
                    try:
                        m = self.name_value_re.match (line)
                        if m:
                            varname = m.group ('varname')
                            varvalue = m.group ('varvalue')
                            if varname in self.knownvars:
                                self.lines.append ([varname, varvalue])
                                raise varValueFound ()
                        self.lines.append (line)
                    except varValueFound:
                        pass
                f.close ()
        except IOError:
            pass

    def __str__ (self):
        s = ''
        for line in self.lines:
            if isinstance (line, str):
                s += line + '\n'
            elif isinstance (line, list):
                s += "%s=%s\n" % (line[0], line[1])
            else:
                raise Exception ()
        return s

    def write (self):
        if os.access (self.filename, os.F_OK):
            os.rename (self.filename, self.filename + ".bak")
        else:
            if len (str (self)) == 0:
                # no need to write
                return

        f = open (self.filename, "w")
        f.write (str (self))
        f.close ()

    def set (self, name, value):
        found = False
        if name not in self.knownvars:
            raise varNotKnown (name)
        for line in self.lines:
            if isinstance (line, list):
                if line[0] == name:
                    line[1] = value
                    found = True
                    break
        if not found:
            self.lines.append ([name, value])

    def get (self, name):
        if name not in self.knownvars:
            raise varNotKnown (name)
        for line in self.lines:
            if isinstance (line, list):
                if line[0] == name:
                    return line[1]
        return None

    def unset (self, name):
        if name not in self.knownvars:
            raise varNotKnown (name)
        for i in range (len (self.lines)):
            if isinstance (self.lines[i], list):
                if self.lines[i][0] == name:
                    del (self.lines[i])
                    break

:: 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.0038 ]--