public function parseServerFirstMessage($msg)
    {
        $i = $r = $s = false;

        foreach (explode(',', $msg) as $val) {
            list($attr, $aval) = array_map('trim', explode('=', $val, 2));

            switch ($attr) {
            case 'i':
                $this->_iterations = intval($aval);
                $i = true;
                break;

            case 'r':
                /* Beginning of server-provided nonce MUST be the same as the
                 * nonce we provided. */
                if (strpos($aval, $this->_nonce) !== 0) {
                    return false;
                }
                $this->_nonce = $aval;
                $r = true;
                break;

            case 's':
                $this->_salt = base64_decode($aval);
                $s = true;
                break;
            }
        }

        if ($i && $r && $s) {
            $this->_authmsg .= ',' . $msg;
            return true;
        }

        return false;
    }
public function parseServerFirstMessage($msg)
    {
        $i = $r = $s = false;

        foreach (explode(',', $msg) as $val) {
            list($attr, $aval) = array_map('trim', explode('=', $val, 2));

            switch ($attr) {
            case 'i':
                $this->_iterations = intval($aval);
                $i = true;
                break;

            case 'r':
                /* Beginning of server-provided nonce MUST be the same as the
                 * nonce we provided. */
                if (strpos($aval, $this->_nonce) !== 0) {
                    return false;
                }
                $this->_nonce = $aval;
                $r = true;
                break;

            case 's':
                $this->_salt = base64_decode($aval);
                $s = true;
                break;
            }
        }

        if ($i && $r && $s) {
            $this->_authmsg .= ',' . $msg;
            return true;
        }

        return false;
    }
public function parseServerFirstMessage ( $ msg ) { $ i = $ r = $ s = false ; foreach ( explode ( ',' , $ msg ) as $ val ) { list ( $ attr , $ aval ) = array_map ( 'trim' , explode ( '=' , $ val , 2 ) ) ; switch ( $ attr ) { case 'i' : $ this -> _iterations = intval ( $ aval ) ; $ i = true ; break ; case 'r' : /* Beginning of server-provided nonce MUST be the same as the
                 * nonce we provided. */ if ( strpos ( $ aval , $ this -> _nonce ) !== 0 ) { return false ; } $ this -> _nonce = $ aval ; $ r = true ; break ; case 's' : $ this -> _salt = base64_decode ( $ aval ) ; $ s = true ; break ; } } if ( $ i && $ r && $ s ) { $ this -> _authmsg .= ',' . $ msg ; return true ; } return false ; }
Process the initial server message response.

@param string $msg  Initial server response.

@return boolean  False if authentication failed at this stage.
Process the initial server message response .