original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: Process the initial server message response.
  
  @param string $msg  Initial server response.
  
  @return boolean  False if authentication failed at this stage.
docstring_tokens: Process the initial server message response .