__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# -*- coding: utf-8 -*-
#
# (c) Copyright 2015 HP 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: Amarnath Chitumalla, Sanjay Kumar
#
#Global imports
import os
import stat
import datetime
#Local imports
from base.codes import *
from base.strings import *
from base import utils
from base import os_utils
from base.g import *
from subprocess import Popen, PIPE
class DigiSign_Verification(object):
def __init__(self):
pass
def validate(self):
pass
class GPG_Verification(DigiSign_Verification):
def __init__(self):
self.__gpg = utils.which('gpg',True)
sts, self.__hplipdir = os_utils.getHPLIPDir()
self.__gpg_dir = os.path.join(self.__hplipdir, ".gnupg")
#Make sure gpg directory is present. GPG keys will be retrieved here from the key server
if not os.path.exists(self.__gpg_dir):
try:
os.mkdir(self.__gpg_dir, 0o755)
except OSError:
log.error("Failed to create %s" % self.__gpg_dir)
self.__change_owner()
def __change_owner(self, Recursive = False):
try:
os.umask(0)
s = os.stat(self.__hplipdir)
os_utils.changeOwner(self.__gpg_dir, s[stat.ST_UID], s[stat.ST_GID], Recursive)
except OSError:
log.error("Failed to Change ownership of %s" %self.__gpg_dir)
def __gpg_check(self, hplip_package, hplip_digsig):
cmd = '%s --homedir %s -no-permission-warning --verify %s %s' % (self.__gpg, self.__gpg_dir, hplip_digsig, hplip_package)
log.debug("Verifying file %s : cmd = [%s]" % (hplip_package,cmd))
status, output = utils.run(cmd)
log.debug("%s status: %d output:%s" % (self.__gpg, status,output))
return status
def __acquire_gpg_key(self):
cmd = '%s --homedir %s --no-permission-warning --import %s' \
% (self.__gpg, self.__gpg_dir, "/usr/share/hplip/signing-key.asc")
log.info("Importing digital key")
status, output = utils.run(cmd)
log.debug(output)
self.__change_owner(True)
return status
def validate(self, hplip_package, hplip_digsig):
log.debug("Validating %s with %s signature file" %(hplip_package, hplip_digsig))
if not self.__gpg:
return ERROR_GPG_CMD_NOT_FOUND, queryString(ERROR_GPG_CMD_NOT_FOUND)
if not os.path.exists(hplip_package):
return ERROR_FILE_NOT_FOUND, queryString(ERROR_FILE_NOT_FOUND, 0, hplip_package)
if not os.path.exists(hplip_digsig):
return ERROR_DIGITAL_SIGN_NOT_FOUND, queryString(ERROR_DIGITAL_SIGN_NOT_FOUND, 0, hplip_digsig)
status = self.__acquire_gpg_key()
if status != 0:
return ERROR_UNABLE_TO_RECV_KEYS, queryString(ERROR_UNABLE_TO_RECV_KEYS)
status = self.__gpg_check(hplip_package, hplip_digsig)
if status != 0:
return ERROR_DIGITAL_SIGN_BAD, queryString(ERROR_DIGITAL_SIGN_BAD, 0, hplip_package)
else:
return ERROR_SUCCESS, ""
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| pexpect | Folder | 0755 |
|
|
| CdmWifi.py | File | 13.85 KB | 0644 |
|
| LedmWifi.py | File | 30.33 KB | 0644 |
|
| __init__.py | File | 826 B | 0644 |
|
| avahi.py | File | 3.01 KB | 0644 |
|
| codes.py | File | 30.63 KB | 0644 |
|
| device.py | File | 97.95 KB | 0644 |
|
| dime.py | File | 3.3 KB | 0644 |
|
| exif.py | File | 35.17 KB | 0644 |
|
| g.py | File | 14.57 KB | 0644 |
|
| imageprocessing.py | File | 35.33 KB | 0644 |
|
| imagesize.py | File | 5.75 KB | 0644 |
|
| ldif.py | File | 16.33 KB | 0644 |
|
| local.py | File | 2.36 KB | 0644 |
|
| logger.py | File | 18.06 KB | 0644 |
|
| magic.py | File | 63.2 KB | 0644 |
|
| maint.py | File | 58.36 KB | 0644 |
|
| mdns.py | File | 10.05 KB | 0644 |
|
| mfpdtf.py | File | 17.34 KB | 0644 |
|
| models.py | File | 19.16 KB | 0644 |
|
| module.py | File | 28.49 KB | 0644 |
|
| os_utils.py | File | 2.28 KB | 0644 |
|
| password.py | File | 11.43 KB | 0644 |
|
| pkit.py | File | 11.45 KB | 0644 |
|
| pml.py | File | 26.46 KB | 0644 |
|
| queues.py | File | 16.37 KB | 0644 |
|
| services.py | File | 9.74 KB | 0644 |
|
| six.py | File | 22.32 KB | 0644 |
|
| sixext.py | File | 5.78 KB | 0644 |
|
| slp.py | File | 5.8 KB | 0644 |
|
| smart_install.py | File | 11.55 KB | 0644 |
|
| status.py | File | 89.17 KB | 0644 |
|
| strings.py | File | 28.21 KB | 0644 |
|
| tui.py | File | 13.79 KB | 0644 |
|
| utils.py | File | 80.24 KB | 0644 |
|
| validation.py | File | 3.68 KB | 0644 |
|
| vcard.py | File | 43.7 KB | 0644 |
|
| wifi.py | File | 22.25 KB | 0644 |
|