public function sendMsg(Msg $msg) { $rid = (string) Uuid::uuid4(); $this->requestAdd('msg', $rid, array('msg' => $msg)); $data = array('rid' => $rid, 'version' => $msg->getVersion(), 'id' => $msg->getId(), 'srcNodeId' => $msg->getSrcNodeId(), 'srcSslKeyPub' => base64_encode($msg->getSrcSslKeyPub()), 'srcUserNickname' => $msg->getSrcUserNickname(), 'dstNodeId' => $msg->getDstNodeId(), 'body' => $msg->getBody(), 'password' => $msg->getPassword(), 'checksum' => $msg->getChecksum(), 'relayCount' => (int) $msg->getRelayCount() + 1, 'timeCreated' => (int) $msg->getTimeCreated(), 'hashcash' => $this->hashcashMint(static::HASHCASH_BITS_MAX)); return $this->dataSend($this->msgCreate('msg', $data)); }
/** * @dataProvider providerEncryption */ public function testEncryption($srcUserNickname, $subject, $text, $ignore) { $msg = new Msg(); $msg->setVersion(1); $msg->setId('cafed00d-2131-4159-8e11-0b4dbadb1738'); $msg->setSrcNodeId('cafed00d-2331-4159-8e11-0b4dbadb1738'); $msg->setSrcSslKeyPub(static::SRC1_SSL_KEY_PUB); $msg->setSrcUserNickname($srcUserNickname); $msg->setDstNodeId('cafed00d-2431-4159-8e11-0b4dbadb1738'); $msg->setDstSslPubKey(static::DST1_SSL_KEY_PUB); $msg->setSubject($subject); $msg->setText($text); $msg->setSslKeyPrv(static::SRC1_SSL_KEY_PRV, static::SSL_KEY_PRV_PASS); $msg->setIgnore($ignore); $this->assertTrue($msg->encrypt()); $body = $msg->getBody(); $timeCreated = $msg->getTimeCreated(); $password = $msg->getPassword(); $checksum = $msg->getChecksum(); $msg = new Msg(); $msg->setVersion(1); $msg->setId('cafed00d-2131-4159-8e11-0b4dbadb1738'); $msg->setSrcNodeId('cafed00d-2331-4159-8e11-0b4dbadb1738'); $msg->setBody($body); $msg->setSrcSslKeyPub(static::SRC1_SSL_KEY_PUB); $msg->setDstSslPubKey(static::DST1_SSL_KEY_PUB); $msg->setSslKeyPrv(static::DST1_SSL_KEY_PRV, static::SSL_KEY_PRV_PASS); $msg->setDstNodeId('cafed00d-2431-4159-8e11-0b4dbadb1738'); $msg->setTimeCreated($timeCreated); $msg->setPassword($password); $msg->setChecksum($checksum); $textDecrypted = $msg->decrypt(); $this->assertEquals($subject, $msg->getSubject()); $this->assertEquals($text, $textDecrypted); $this->assertEquals($text, $msg->getText()); $this->assertEquals($srcUserNickname, $msg->getSrcUserNickname()); $this->assertEquals($ignore, $msg->getIgnore()); }
public function imapMailAdd(Msg $msg) { if ($this->getKernel() && $this->getKernel()->getIpcImapConnection()) { $version = $msg->getVersion(); $id = $msg->getId(); $srcNodeId = $msg->getSrcNodeId(); $srcUserNickname = $msg->getSrcUserNickname(); $dstNodeId = $msg->getDstNodeId(); $subject = $msg->getSubject(); $text = $msg->getText(); $checksum = $msg->getChecksum(); $relayCount = $msg->getRelayCount(); $encryptionMode = $msg->getEncryptionMode(); $status = $msg->getStatus(); $timeCreated = $msg->getTimeCreated(); $timeReceived = $msg->getTimeReceived(); $args = array(); $args[] = $version; $args[] = $id; $args[] = $srcNodeId; $args[] = $srcUserNickname; $args[] = $dstNodeId; $args[] = $subject; $args[] = $text; $args[] = $checksum; $args[] = $relayCount; $args[] = $encryptionMode; $args[] = $status; $args[] = $timeCreated; $args[] = $timeReceived; $this->getKernel()->getIpcImapConnection()->execAsync('mailAdd', $args); } }