CasperSecurity

Current Path : /bin/X11/X11/
Upload File :
Current File : //bin/X11/X11/dpkg-vendor

#!/usr/bin/perl
#
# dpkg-vendor
#
# Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
# Copyright © 2009,2012 Guillem Jover <guillem@debian.org>
#
# 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, see <https://www.gnu.org/licenses/>.

use strict;
use warnings;

use Dpkg ();
use Dpkg::Gettext;
use Dpkg::ErrorHandling;
use Dpkg::Vendor qw(get_vendor_dir get_vendor_info get_current_vendor);

textdomain('dpkg-dev');

sub version {
    printf g_("Debian %s version %s.\n"), $Dpkg::PROGNAME, $Dpkg::PROGVERSION;

    printf g_('
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
');
}

sub usage {
    printf g_(
'Usage: %s [<option>...] [<command>]')
    . "\n\n" . g_(
'Commands:
  --is <vendor>           returns true if current vendor is <vendor>.
  --derives-from <vendor> returns true if current vendor derives from <vendor>.
  --query <field>         print the content of the vendor-specific field.
  --help                  show this help message.
  --version               show the version.')
    . "\n\n" . g_(
'Options:
  --vendor <vendor>       assume <vendor> is the current vendor.')
    . "\n", $Dpkg::PROGNAME;
}

my ($vendor, $param, $action);

while (@ARGV) {
    $_ = shift(@ARGV);
    if (m/^--vendor$/) {
        $vendor = shift(@ARGV);
        usageerr(g_('%s needs a parameter'), $_) unless defined $vendor;
    } elsif (m/^--(is|derives-from|query)$/) {
        usageerr(g_('two commands specified: --%s and --%s'), $1, $action)
            if defined($action);
        $action = $1;
        $param = shift(@ARGV);
        usageerr(g_('%s needs a parameter'), $_) unless defined $param;
    } elsif (m/^-(?:\?|-help)$/) {
        usage();
        exit 0;
    } elsif (m/^--version$/) {
        version();
        exit 0;
    } else {
        usageerr(g_("unknown option '%s'"), $_);
    }
}

usageerr(g_('need an action option')) unless defined($action);

# Uses $ENV{DEB_VENDOR} if set
$vendor //= get_current_vendor();

my $info = get_vendor_info($vendor);
unless (defined($info)) {
    error(g_("vendor %s doesn't exist in %s"), $vendor || 'default',
          get_vendor_dir());
}

if ($action eq 'is') {

    exit(0) if lc($param) eq lc($info->{'Vendor'});
    exit(1);

} elsif ($action eq 'derives-from') {

    exit(0) if lc($param) eq lc($info->{'Vendor'});
    while (defined($info) && exists $info->{'Parent'}) {
        $info = get_vendor_info($info->{'Parent'});
        exit(0) if lc($param) eq lc($info->{'Vendor'});
    }
    exit(1);

} elsif ($action eq 'query') {

    if (exists $info->{$param}) {
        print $info->{$param} . "\n";
        exit(0);
    } else {
        exit(1);
    }

}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY