mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 14:00:56 +01:00
Replace Remarkup calls to PhabricatorHash::digest()
with SHA256
Summary: Ref T12509. Many of the calls to HMAC+SHA1 are just to compute cachekeys for remarkup objects. Make these use HMAC+SHA256 instead. There is no downside to swapping these since they just cause a cache miss in the worst case. I also plan to get rid of `PhabricatorMarkupInterface` eventually, but this doesn't go that far. Test Plan: Browsed some different types of documents (tasks, legalpad documents, phame blogs / posts, pholio mocks, etc). Reviewers: chad Reviewed By: chad Maniphest Tasks: T12509 Differential Revision: https://secure.phabricator.com/D17631
This commit is contained in:
parent
d450a08890
commit
3a3626834e
13 changed files with 41 additions and 32 deletions
|
@ -1182,9 +1182,8 @@ final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO
|
|||
* @task markup
|
||||
*/
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
$id = $this->getID();
|
||||
return "calendar:T{$id}:{$field}:{$hash}";
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -260,8 +260,8 @@ final class DifferentialInlineComment
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
// We can't use ID because synthetic comments don't have it.
|
||||
return 'DI:'.PhabricatorHash::digest($this->getContent());
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function newMarkupEngine($field) {
|
||||
|
|
|
@ -39,8 +39,8 @@ final class LegalpadDocumentBody extends LegalpadDAO
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
return 'LEGB:'.$hash;
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function newMarkupEngine($field) {
|
||||
|
|
|
@ -301,9 +301,8 @@ final class ManiphestTask extends ManiphestDAO
|
|||
* @task markup
|
||||
*/
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
$id = $this->getID();
|
||||
return "maniphest:T{$id}:{$field}:{$hash}";
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -289,8 +289,8 @@ final class PhameBlog extends PhameDAO
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
return $this->getPHID().':'.$field.':'.$hash;
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -241,8 +241,8 @@ final class PhamePost extends PhameDAO
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
return $this->getPHID().':'.$field.':'.$hash;
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function newMarkupEngine($field) {
|
||||
|
|
|
@ -84,8 +84,8 @@ final class PholioImage extends PholioDAO
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
return 'M:'.$hash;
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function newMarkupEngine($field) {
|
||||
|
|
|
@ -217,8 +217,8 @@ final class PholioMock extends PholioDAO
|
|||
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
return 'M:'.$hash;
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function newMarkupEngine($field) {
|
||||
|
|
|
@ -68,12 +68,8 @@ final class PhrictionContent extends PhrictionDAO
|
|||
* @task markup
|
||||
*/
|
||||
public function getMarkupFieldKey($field) {
|
||||
if ($this->shouldUseMarkupCache($field)) {
|
||||
$id = $this->getID();
|
||||
} else {
|
||||
$id = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
}
|
||||
return "phriction:{$field}:{$id}";
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -136,9 +136,8 @@ final class PonderAnswer extends PonderDAO
|
|||
// Markup interface
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
$id = $this->getID();
|
||||
return "ponder:A{$id}:{$field}:{$hash}";
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function getMarkupText($field) {
|
||||
|
|
|
@ -155,9 +155,8 @@ final class PonderQuestion extends PonderDAO
|
|||
// Markup interface
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||||
$id = $this->getID();
|
||||
return "ponder:Q{$id}:{$field}:{$hash}";
|
||||
$content = $this->getMarkupText($field);
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
public function getMarkupText($field) {
|
||||
|
|
|
@ -236,12 +236,14 @@ abstract class ReleephFieldSpecification
|
|||
}
|
||||
|
||||
final public function getMarkupFieldKey($field) {
|
||||
return sprintf(
|
||||
$content = sprintf(
|
||||
'%s:%s:%s:%s',
|
||||
$this->getReleephRequest()->getPHID(),
|
||||
$this->getStorageKey(),
|
||||
$field,
|
||||
PhabricatorHash::digest($this->getMarkupText($field)));
|
||||
$this->getMarkupText($field));
|
||||
|
||||
return PhabricatorMarkupEngine::digestRemarkupContent($this, $content);
|
||||
}
|
||||
|
||||
final public function newMarkupEngine($field) {
|
||||
|
|
|
@ -694,4 +694,19 @@ final class PhabricatorMarkupEngine extends Phobject {
|
|||
->execute();
|
||||
}
|
||||
|
||||
public static function digestRemarkupContent($object, $content) {
|
||||
$parts = array();
|
||||
$parts[] = get_class($object);
|
||||
|
||||
if ($object instanceof PhabricatorLiskDAO) {
|
||||
$parts[] = $object->getID();
|
||||
}
|
||||
|
||||
$parts[] = $content;
|
||||
|
||||
$message = implode("\n", $parts);
|
||||
|
||||
return PhabricatorHash::digestWithNamedKey($message, 'remarkup');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue