⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.124
Server IP:
50.28.103.30
Server:
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
server
/
nginx
/
src
/
openssl
/
test
/
recipes
/
View File Name :
15-test_out_option.t
#! /usr/bin/env perl # Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html use strict; use warnings; use File::Spec; use OpenSSL::Test qw/:DEFAULT srctop_file/; use OpenSSL::Test::Utils; setup("test_out_option"); plan tests => 4; # Test 1 SKIP: { # Paths that should generate failure when trying to write to them. # Directories are a safe bet for failure on most platforms. # Notably, this isn't true on OpenVMS, as a default file name is # appended under the hood when trying to "write" to a directory spec. # From observation, that file is '.' (i.e. a file with no file name # and no extension), so '[]' gets translated to '[].' skip 'Directories become writable files on OpenVMS', 1 if $^O eq 'VMS'; # Note that directories must end with a slash here, because of how # File::Spec massages them into directory specs on some platforms. my $path = File::Spec->canonpath('./'); ok(!run(app([ 'openssl', 'rand', '-out', $path, '1'])), "invalid output path: $path"); } # Test 2 { my $path = File::Spec->canonpath('randomname.bin'); ok(run(app([ 'openssl', 'rand', '-out', $path, '1'])), "valid output path: $path"); } # Test 3 { # Test for trying to create a file in a non-exist directory my $rand_path = ""; do { my @chars = ("A".."Z", "a".."z", "0".."9"); $rand_path .= $chars[rand @chars] for 1..32; } while (-d File::Spec->catdir('.', $rand_path)); $rand_path .= "/randomname.bin"; my $path = File::Spec->canonpath($rand_path); ok(!run(app([ 'openssl', 'rand', '-out', $path, '1'])), "invalid output path: $path"); } # Test 4 SKIP: { skip "It's not safe to use perl's idea of the NULL device in an explicitly cross compiled build", 1 unless (config('CROSS_COMPILE') // '') eq ''; my $path = File::Spec->canonpath(File::Spec->devnull()); ok(run(app([ 'openssl', 'rand', '-out', $path, '1'])), "valid output path: $path"); } # Cleanup END { unlink 'randomname.bin' if -f 'randomname.bin'; }