Example #1
0
 public static function streamFeatures($arr, $jaxl)
 {
     if (isset($arr["#"]["starttls"]) && $arr["#"]["starttls"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-tls") {
         if ($jaxl->openSSL) {
             XMPPSend::startTLS($jaxl);
         } else {
             $jaxl->log("[[XMPPGet]] OpenSSL extension required to proceed with TLS encryption");
             throw new JAXLException("[[XMPPGet]] OpenSSL extension required to proceed with TLS encryption");
             $jaxl->shutdown();
         }
     } else {
         if (isset($arr["#"]["mechanisms"]) && $arr["#"]["mechanisms"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-sasl") {
             $mechanism = array();
             foreach ($arr["#"]["mechanisms"][0]["#"]["mechanism"] as $row) {
                 $mechanism[] = $row["#"];
             }
             $jaxl->executePlugin('jaxl_get_auth_mech', $mechanism);
         } else {
             if (isset($arr["#"]["bind"]) && $arr["#"]["bind"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-bind") {
                 if (isset($arr["#"]["session"])) {
                     if (!isset($arr["#"]["session"][0]["#"]["optional"])) {
                         $jaxl->sessionRequired = true;
                     }
                 }
                 $jaxl->startBind();
             }
         }
     }
 }
Example #2
0
 public static function streamFeatures($arr, $jaxl)
 {
     if (isset($arr["#"]["starttls"]) && $arr["#"]["starttls"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-tls") {
         XMPPSend::startTLS($jaxl);
     } else {
         if (isset($arr["#"]["mechanisms"]) && $arr["#"]["mechanisms"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-sasl") {
             $mechanism = array();
             foreach ($arr["#"]["mechanisms"][0]["#"]["mechanism"] as $row) {
                 $mechanism[] = $row["#"];
             }
             JAXLPlugin::execute('jaxl_get_auth_mech', $mechanism, $jaxl);
         } else {
             if (isset($arr["#"]["bind"]) && $arr["#"]["bind"][0]["@"]["xmlns"] == "urn:ietf:params:xml:ns:xmpp-bind") {
                 $jaxl->sessionRequired = isset($arr["#"]["session"]);
                 $jaxl->startBind();
             }
         }
     }
 }