Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.129.71.13
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/2/root/proc/3/root/lib/python3/dist-packages/passlib/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/2/root/proc/3/root/lib/python3/dist-packages/passlib/tests/test_hosts.py
"""test passlib.hosts"""
#=============================================================================
# imports
#=============================================================================
from __future__ import with_statement
# core
import logging; log = logging.getLogger(__name__)
# site
# pkg
from passlib import hosts, hash as hashmod
from passlib.utils import unix_crypt_schemes
from passlib.tests.utils import TestCase
# module

#=============================================================================
# test predefined app contexts
#=============================================================================
class HostsTest(TestCase):
    """perform general tests to make sure contexts work"""
    # NOTE: these tests are not really comprehensive,
    #       since they would do little but duplicate
    #       the presets in apps.py
    #
    #       they mainly try to ensure no typos
    #       or dynamic behavior foul-ups.

    def check_unix_disabled(self, ctx):
        for hash in [
            "",
            "!",
            "*",
            "!$1$TXl/FX/U$BZge.lr.ux6ekjEjxmzwz0",
        ]:
            self.assertEqual(ctx.identify(hash), 'unix_disabled')
            self.assertFalse(ctx.verify('test', hash))

    def test_linux_context(self):
        ctx = hosts.linux_context
        for hash in [
            ('$6$rounds=41128$VoQLvDjkaZ6L6BIE$4pt.1Ll1XdDYduEwEYPCMOBiR6W6'
                'znsyUEoNlcVXpv2gKKIbQolgmTGe6uEEVJ7azUxuc8Tf7zV9SD2z7Ij751'),
            ('$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGny'
                 'xDGgMlDcOsfaI17'),
            '$1$TXl/FX/U$BZge.lr.ux6ekjEjxmzwz0',
            'kAJJz.Rwp0A/I',
        ]:
            self.assertTrue(ctx.verify("test", hash))
        self.check_unix_disabled(ctx)

    def test_bsd_contexts(self):
        for ctx in [
            hosts.freebsd_context,
            hosts.openbsd_context,
            hosts.netbsd_context,
        ]:
            for hash in [
                '$1$TXl/FX/U$BZge.lr.ux6ekjEjxmzwz0',
                'kAJJz.Rwp0A/I',
            ]:
                self.assertTrue(ctx.verify("test", hash))
            h1 = "$2a$04$yjDgE74RJkeqC0/1NheSSOrvKeu9IbKDpcQf/Ox3qsrRS/Kw42qIS"
            if hashmod.bcrypt.has_backend():
                self.assertTrue(ctx.verify("test", h1))
            else:
                self.assertEqual(ctx.identify(h1), "bcrypt")
            self.check_unix_disabled(ctx)

    def test_host_context(self):
        ctx = getattr(hosts, "host_context", None)
        if not ctx:
            return self.skipTest("host_context not available on this platform")

        # validate schemes is non-empty,
        # and contains unix_disabled + at least one real scheme
        schemes = list(ctx.schemes())
        self.assertTrue(schemes, "appears to be unix system, but no known schemes supported by crypt")
        self.assertTrue('unix_disabled' in schemes)
        schemes.remove("unix_disabled")
        self.assertTrue(schemes, "should have schemes beside fallback scheme")
        self.assertTrue(set(unix_crypt_schemes).issuperset(schemes))

        # check for hash support
        self.check_unix_disabled(ctx)
        for scheme, hash in [
            ("sha512_crypt", ('$6$rounds=41128$VoQLvDjkaZ6L6BIE$4pt.1Ll1XdDYduEwEYPCMOBiR6W6'
                'znsyUEoNlcVXpv2gKKIbQolgmTGe6uEEVJ7azUxuc8Tf7zV9SD2z7Ij751')),
            ("sha256_crypt", ('$5$rounds=31817$iZGmlyBQ99JSB5n6$p4E.pdPBWx19OajgjLRiOW0itGny'
                 'xDGgMlDcOsfaI17')),
            ("md5_crypt", '$1$TXl/FX/U$BZge.lr.ux6ekjEjxmzwz0'),
            ("des_crypt", 'kAJJz.Rwp0A/I'),
        ]:
            if scheme in schemes:
                self.assertTrue(ctx.verify("test", hash))

#=============================================================================
# eof
#=============================================================================

Anon7 - 2022
AnonSec Team