1*0b3fd2d3SAndreas Gohr<?php 2*0b3fd2d3SAndreas Gohr 3*0b3fd2d3SAndreas Gohr/** 4*0b3fd2d3SAndreas Gohr * This file is part of the FreeDSx SASL package. 5*0b3fd2d3SAndreas Gohr * 6*0b3fd2d3SAndreas Gohr * (c) Chad Sikorra <Chad.Sikorra@gmail.com> 7*0b3fd2d3SAndreas Gohr * 8*0b3fd2d3SAndreas Gohr * For the full copyright and license information, please view the LICENSE 9*0b3fd2d3SAndreas Gohr * file that was distributed with this source code. 10*0b3fd2d3SAndreas Gohr */ 11*0b3fd2d3SAndreas Gohr 12*0b3fd2d3SAndreas Gohrnamespace FreeDSx\Sasl\Mechanism; 13*0b3fd2d3SAndreas Gohr 14*0b3fd2d3SAndreas Gohruse FreeDSx\Sasl\Challenge\ChallengeInterface; 15*0b3fd2d3SAndreas Gohruse FreeDSx\Sasl\Security\SecurityLayerInterface; 16*0b3fd2d3SAndreas Gohruse FreeDSx\Sasl\SecurityStrength; 17*0b3fd2d3SAndreas Gohr 18*0b3fd2d3SAndreas Gohr/** 19*0b3fd2d3SAndreas Gohr * Common methods mechanisms must implement. 20*0b3fd2d3SAndreas Gohr * 21*0b3fd2d3SAndreas Gohr * @author Chad Sikorra <Chad.Sikorra@gmail.com> 22*0b3fd2d3SAndreas Gohr */ 23*0b3fd2d3SAndreas Gohrinterface MechanismInterface 24*0b3fd2d3SAndreas Gohr{ 25*0b3fd2d3SAndreas Gohr /** 26*0b3fd2d3SAndreas Gohr * Retrieve the registered name for this SASL mechanism. 27*0b3fd2d3SAndreas Gohr */ 28*0b3fd2d3SAndreas Gohr public function getName(): string; 29*0b3fd2d3SAndreas Gohr 30*0b3fd2d3SAndreas Gohr /** 31*0b3fd2d3SAndreas Gohr * Describes various security related aspects of the mechanism. 32*0b3fd2d3SAndreas Gohr */ 33*0b3fd2d3SAndreas Gohr public function securityStrength(): SecurityStrength; 34*0b3fd2d3SAndreas Gohr 35*0b3fd2d3SAndreas Gohr /** 36*0b3fd2d3SAndreas Gohr * Get the challenge object for this mechanism. 37*0b3fd2d3SAndreas Gohr */ 38*0b3fd2d3SAndreas Gohr public function challenge(): ChallengeInterface; 39*0b3fd2d3SAndreas Gohr 40*0b3fd2d3SAndreas Gohr /** 41*0b3fd2d3SAndreas Gohr * Get the security layer object for this mechanism. 42*0b3fd2d3SAndreas Gohr */ 43*0b3fd2d3SAndreas Gohr public function securityLayer(): SecurityLayerInterface; 44*0b3fd2d3SAndreas Gohr} 45