Completed
Push — stable13 ( 080267...628a04 )
by
unknown
32:35 queued 15:53
created
lib/private/Security/CSP/ContentSecurityPolicyManager.php 2 patches
Indentation   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -27,48 +27,48 @@
 block discarded – undo
27 27
 use OCP\Security\IContentSecurityPolicyManager;
28 28
 
29 29
 class ContentSecurityPolicyManager implements IContentSecurityPolicyManager {
30
-	/** @var ContentSecurityPolicy[] */
31
-	private $policies = [];
30
+    /** @var ContentSecurityPolicy[] */
31
+    private $policies = [];
32 32
 
33
-	/** {@inheritdoc} */
34
-	public function addDefaultPolicy(EmptyContentSecurityPolicy $policy) {
35
-		$this->policies[] = $policy;
36
-	}
33
+    /** {@inheritdoc} */
34
+    public function addDefaultPolicy(EmptyContentSecurityPolicy $policy) {
35
+        $this->policies[] = $policy;
36
+    }
37 37
 
38
-	/**
39
-	 * Get the configured default policy. This is not in the public namespace
40
-	 * as it is only supposed to be used by core itself.
41
-	 *
42
-	 * @return ContentSecurityPolicy
43
-	 */
44
-	public function getDefaultPolicy() {
45
-		$defaultPolicy = new \OC\Security\CSP\ContentSecurityPolicy();
46
-		foreach($this->policies as $policy) {
47
-			$defaultPolicy = $this->mergePolicies($defaultPolicy, $policy);
48
-		}
49
-		return $defaultPolicy;
50
-	}
38
+    /**
39
+     * Get the configured default policy. This is not in the public namespace
40
+     * as it is only supposed to be used by core itself.
41
+     *
42
+     * @return ContentSecurityPolicy
43
+     */
44
+    public function getDefaultPolicy() {
45
+        $defaultPolicy = new \OC\Security\CSP\ContentSecurityPolicy();
46
+        foreach($this->policies as $policy) {
47
+            $defaultPolicy = $this->mergePolicies($defaultPolicy, $policy);
48
+        }
49
+        return $defaultPolicy;
50
+    }
51 51
 
52
-	/**
53
-	 * Merges the first given policy with the second one
54
-	 *
55
-	 * @param ContentSecurityPolicy $defaultPolicy
56
-	 * @param EmptyContentSecurityPolicy $originalPolicy
57
-	 * @return ContentSecurityPolicy
58
-	 */
59
-	public function mergePolicies(ContentSecurityPolicy $defaultPolicy,
60
-								  EmptyContentSecurityPolicy $originalPolicy) {
61
-		foreach((object)(array)$originalPolicy as $name => $value) {
62
-			$setter = 'set'.ucfirst($name);
63
-			if(is_array($value)) {
64
-				$getter = 'get'.ucfirst($name);
65
-				$currentValues = is_array($defaultPolicy->$getter()) ? $defaultPolicy->$getter() : [];
66
-				$defaultPolicy->$setter(array_values(array_unique(array_merge($currentValues, $value))));
67
-			} elseif (is_bool($value)) {
68
-				$defaultPolicy->$setter($value);
69
-			}
70
-		}
52
+    /**
53
+     * Merges the first given policy with the second one
54
+     *
55
+     * @param ContentSecurityPolicy $defaultPolicy
56
+     * @param EmptyContentSecurityPolicy $originalPolicy
57
+     * @return ContentSecurityPolicy
58
+     */
59
+    public function mergePolicies(ContentSecurityPolicy $defaultPolicy,
60
+                                    EmptyContentSecurityPolicy $originalPolicy) {
61
+        foreach((object)(array)$originalPolicy as $name => $value) {
62
+            $setter = 'set'.ucfirst($name);
63
+            if(is_array($value)) {
64
+                $getter = 'get'.ucfirst($name);
65
+                $currentValues = is_array($defaultPolicy->$getter()) ? $defaultPolicy->$getter() : [];
66
+                $defaultPolicy->$setter(array_values(array_unique(array_merge($currentValues, $value))));
67
+            } elseif (is_bool($value)) {
68
+                $defaultPolicy->$setter($value);
69
+            }
70
+        }
71 71
 
72
-		return $defaultPolicy;
73
-	}
72
+        return $defaultPolicy;
73
+    }
74 74
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 	 */
44 44
 	public function getDefaultPolicy() {
45 45
 		$defaultPolicy = new \OC\Security\CSP\ContentSecurityPolicy();
46
-		foreach($this->policies as $policy) {
46
+		foreach ($this->policies as $policy) {
47 47
 			$defaultPolicy = $this->mergePolicies($defaultPolicy, $policy);
48 48
 		}
49 49
 		return $defaultPolicy;
@@ -58,9 +58,9 @@  discard block
 block discarded – undo
58 58
 	 */
59 59
 	public function mergePolicies(ContentSecurityPolicy $defaultPolicy,
60 60
 								  EmptyContentSecurityPolicy $originalPolicy) {
61
-		foreach((object)(array)$originalPolicy as $name => $value) {
61
+		foreach ((object) (array) $originalPolicy as $name => $value) {
62 62
 			$setter = 'set'.ucfirst($name);
63
-			if(is_array($value)) {
63
+			if (is_array($value)) {
64 64
 				$getter = 'get'.ucfirst($name);
65 65
 				$currentValues = is_array($defaultPolicy->$getter()) ? $defaultPolicy->$getter() : [];
66 66
 				$defaultPolicy->$setter(array_values(array_unique(array_merge($currentValues, $value))));
Please login to merge, or discard this patch.
lib/private/Security/CredentialsManager.php 1 patch
Indentation   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -34,93 +34,93 @@
 block discarded – undo
34 34
  */
35 35
 class CredentialsManager implements ICredentialsManager {
36 36
 
37
-	const DB_TABLE = 'credentials';
37
+    const DB_TABLE = 'credentials';
38 38
 
39
-	/** @var ICrypto */
40
-	protected $crypto;
39
+    /** @var ICrypto */
40
+    protected $crypto;
41 41
 
42
-	/** @var IDBConnection */
43
-	protected $dbConnection;
42
+    /** @var IDBConnection */
43
+    protected $dbConnection;
44 44
 
45
-	/**
46
-	 * @param ICrypto $crypto
47
-	 * @param IDBConnection $dbConnection
48
-	 */
49
-	public function __construct(ICrypto $crypto, IDBConnection $dbConnection) {
50
-		$this->crypto = $crypto;
51
-		$this->dbConnection = $dbConnection;
52
-	}
45
+    /**
46
+     * @param ICrypto $crypto
47
+     * @param IDBConnection $dbConnection
48
+     */
49
+    public function __construct(ICrypto $crypto, IDBConnection $dbConnection) {
50
+        $this->crypto = $crypto;
51
+        $this->dbConnection = $dbConnection;
52
+    }
53 53
 
54
-	/**
55
-	 * Store a set of credentials
56
-	 *
57
-	 * @param string|null $userId Null for system-wide credentials
58
-	 * @param string $identifier
59
-	 * @param mixed $credentials
60
-	 */
61
-	public function store($userId, $identifier, $credentials) {
62
-		$value = $this->crypto->encrypt(json_encode($credentials));
54
+    /**
55
+     * Store a set of credentials
56
+     *
57
+     * @param string|null $userId Null for system-wide credentials
58
+     * @param string $identifier
59
+     * @param mixed $credentials
60
+     */
61
+    public function store($userId, $identifier, $credentials) {
62
+        $value = $this->crypto->encrypt(json_encode($credentials));
63 63
 
64
-		$this->dbConnection->setValues(self::DB_TABLE, [
65
-			'user' => $userId,
66
-			'identifier' => $identifier,
67
-		], [
68
-			'credentials' => $value,
69
-		]);
70
-	}
64
+        $this->dbConnection->setValues(self::DB_TABLE, [
65
+            'user' => $userId,
66
+            'identifier' => $identifier,
67
+        ], [
68
+            'credentials' => $value,
69
+        ]);
70
+    }
71 71
 
72
-	/**
73
-	 * Retrieve a set of credentials
74
-	 *
75
-	 * @param string|null $userId Null for system-wide credentials
76
-	 * @param string $identifier
77
-	 * @return mixed
78
-	 */
79
-	public function retrieve($userId, $identifier) {
80
-		$qb = $this->dbConnection->getQueryBuilder();
81
-		$qb->select('credentials')
82
-			->from(self::DB_TABLE)
83
-			->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
84
-			->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier)))
85
-		;
86
-		$result = $qb->execute()->fetch();
72
+    /**
73
+     * Retrieve a set of credentials
74
+     *
75
+     * @param string|null $userId Null for system-wide credentials
76
+     * @param string $identifier
77
+     * @return mixed
78
+     */
79
+    public function retrieve($userId, $identifier) {
80
+        $qb = $this->dbConnection->getQueryBuilder();
81
+        $qb->select('credentials')
82
+            ->from(self::DB_TABLE)
83
+            ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
84
+            ->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier)))
85
+        ;
86
+        $result = $qb->execute()->fetch();
87 87
 
88
-		if (!$result) {
89
-			return null;
90
-		}
91
-		$value = $result['credentials'];
88
+        if (!$result) {
89
+            return null;
90
+        }
91
+        $value = $result['credentials'];
92 92
 
93
-		return json_decode($this->crypto->decrypt($value), true);
94
-	}
93
+        return json_decode($this->crypto->decrypt($value), true);
94
+    }
95 95
 
96
-	/**
97
-	 * Delete a set of credentials
98
-	 *
99
-	 * @param string|null $userId Null for system-wide credentials
100
-	 * @param string $identifier
101
-	 * @return int rows removed
102
-	 */
103
-	public function delete($userId, $identifier) {
104
-		$qb = $this->dbConnection->getQueryBuilder();
105
-		$qb->delete(self::DB_TABLE)
106
-			->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
107
-			->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier)))
108
-		;
109
-		return $qb->execute();
110
-	}
96
+    /**
97
+     * Delete a set of credentials
98
+     *
99
+     * @param string|null $userId Null for system-wide credentials
100
+     * @param string $identifier
101
+     * @return int rows removed
102
+     */
103
+    public function delete($userId, $identifier) {
104
+        $qb = $this->dbConnection->getQueryBuilder();
105
+        $qb->delete(self::DB_TABLE)
106
+            ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
107
+            ->andWhere($qb->expr()->eq('identifier', $qb->createNamedParameter($identifier)))
108
+        ;
109
+        return $qb->execute();
110
+    }
111 111
 
112
-	/**
113
-	 * Erase all credentials stored for a user
114
-	 *
115
-	 * @param string $userId
116
-	 * @return int rows removed
117
-	 */
118
-	public function erase($userId) {
119
-		$qb = $this->dbConnection->getQueryBuilder();
120
-		$qb->delete(self::DB_TABLE)
121
-			->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
122
-		;
123
-		return $qb->execute();
124
-	}
112
+    /**
113
+     * Erase all credentials stored for a user
114
+     *
115
+     * @param string $userId
116
+     * @return int rows removed
117
+     */
118
+    public function erase($userId) {
119
+        $qb = $this->dbConnection->getQueryBuilder();
120
+        $qb->delete(self::DB_TABLE)
121
+            ->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
122
+        ;
123
+        return $qb->execute();
124
+    }
125 125
 
126 126
 }
Please login to merge, or discard this patch.
lib/private/Security/CSRF/CsrfToken.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -50,9 +50,9 @@
 block discarded – undo
50 50
 	 * @return string
51 51
 	 */
52 52
 	public function getEncryptedValue() {
53
-		if($this->encryptedValue === '') {
53
+		if ($this->encryptedValue === '') {
54 54
 			$sharedSecret = random_bytes(strlen($this->value));
55
-			$this->encryptedValue = base64_encode($this->value ^ $sharedSecret) . ':' . base64_encode($sharedSecret);
55
+			$this->encryptedValue = base64_encode($this->value ^ $sharedSecret).':'.base64_encode($sharedSecret);
56 56
 		}
57 57
 
58 58
 		return $this->encryptedValue;
Please login to merge, or discard this patch.
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -31,46 +31,46 @@
 block discarded – undo
31 31
  * @package OC\Security\CSRF
32 32
  */
33 33
 class CsrfToken {
34
-	/** @var string */
35
-	private $value;
36
-	/** @var string */
37
-	private $encryptedValue = '';
34
+    /** @var string */
35
+    private $value;
36
+    /** @var string */
37
+    private $encryptedValue = '';
38 38
 
39
-	/**
40
-	 * @param string $value Value of the token. Can be encrypted or not encrypted.
41
-	 */
42
-	public function __construct($value) {
43
-		$this->value = $value;
44
-	}
39
+    /**
40
+     * @param string $value Value of the token. Can be encrypted or not encrypted.
41
+     */
42
+    public function __construct($value) {
43
+        $this->value = $value;
44
+    }
45 45
 
46
-	/**
47
-	 * Encrypted value of the token. This is used to mitigate BREACH alike
48
-	 * vulnerabilities. For display measures do use this functionality.
49
-	 *
50
-	 * @return string
51
-	 */
52
-	public function getEncryptedValue() {
53
-		if($this->encryptedValue === '') {
54
-			$sharedSecret = random_bytes(strlen($this->value));
55
-			$this->encryptedValue = base64_encode($this->value ^ $sharedSecret) . ':' . base64_encode($sharedSecret);
56
-		}
46
+    /**
47
+     * Encrypted value of the token. This is used to mitigate BREACH alike
48
+     * vulnerabilities. For display measures do use this functionality.
49
+     *
50
+     * @return string
51
+     */
52
+    public function getEncryptedValue() {
53
+        if($this->encryptedValue === '') {
54
+            $sharedSecret = random_bytes(strlen($this->value));
55
+            $this->encryptedValue = base64_encode($this->value ^ $sharedSecret) . ':' . base64_encode($sharedSecret);
56
+        }
57 57
 
58
-		return $this->encryptedValue;
59
-	}
58
+        return $this->encryptedValue;
59
+    }
60 60
 
61
-	/**
62
-	 * The unencrypted value of the token. Used for decrypting an already
63
-	 * encrypted token.
64
-	 *
65
-	 * @return string
66
-	 */
67
-	public function getDecryptedValue() {
68
-		$token = explode(':', $this->value);
69
-		if (count($token) !== 2) {
70
-			return '';
71
-		}
72
-		$obfuscatedToken = $token[0];
73
-		$secret = $token[1];
74
-		return base64_decode($obfuscatedToken) ^ base64_decode($secret);
75
-	}
61
+    /**
62
+     * The unencrypted value of the token. Used for decrypting an already
63
+     * encrypted token.
64
+     *
65
+     * @return string
66
+     */
67
+    public function getDecryptedValue() {
68
+        $token = explode(':', $this->value);
69
+        if (count($token) !== 2) {
70
+            return '';
71
+        }
72
+        $obfuscatedToken = $token[0];
73
+        $secret = $token[1];
74
+        return base64_decode($obfuscatedToken) ^ base64_decode($secret);
75
+    }
76 76
 }
Please login to merge, or discard this patch.
lib/private/Security/CSRF/TokenStorage/SessionStorage.php 2 patches
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -30,59 +30,59 @@
 block discarded – undo
30 30
  * @package OC\Security\CSRF\TokenStorage
31 31
  */
32 32
 class SessionStorage {
33
-	/** @var ISession */
34
-	private $session;
33
+    /** @var ISession */
34
+    private $session;
35 35
 
36
-	/**
37
-	 * @param ISession $session
38
-	 */
39
-	public function __construct(ISession $session) {
40
-		$this->session = $session;
41
-	}
36
+    /**
37
+     * @param ISession $session
38
+     */
39
+    public function __construct(ISession $session) {
40
+        $this->session = $session;
41
+    }
42 42
 
43
-	/**
44
-	 * @param ISession $session
45
-	 */
46
-	public function setSession(ISession $session) {
47
-		$this->session = $session;
48
-	}
43
+    /**
44
+     * @param ISession $session
45
+     */
46
+    public function setSession(ISession $session) {
47
+        $this->session = $session;
48
+    }
49 49
 
50
-	/**
51
-	 * Returns the current token or throws an exception if none is found.
52
-	 *
53
-	 * @return string
54
-	 * @throws \Exception
55
-	 */
56
-	public function getToken() {
57
-		$token = $this->session->get('requesttoken');
58
-		if(empty($token)) {
59
-			throw new \Exception('Session does not contain a requesttoken');
60
-		}
50
+    /**
51
+     * Returns the current token or throws an exception if none is found.
52
+     *
53
+     * @return string
54
+     * @throws \Exception
55
+     */
56
+    public function getToken() {
57
+        $token = $this->session->get('requesttoken');
58
+        if(empty($token)) {
59
+            throw new \Exception('Session does not contain a requesttoken');
60
+        }
61 61
 
62
-		return $token;
63
-	}
62
+        return $token;
63
+    }
64 64
 
65
-	/**
66
-	 * Set the valid current token to $value.
67
-	 *
68
-	 * @param string $value
69
-	 */
70
-	public function setToken($value) {
71
-		$this->session->set('requesttoken', $value);
72
-	}
65
+    /**
66
+     * Set the valid current token to $value.
67
+     *
68
+     * @param string $value
69
+     */
70
+    public function setToken($value) {
71
+        $this->session->set('requesttoken', $value);
72
+    }
73 73
 
74
-	/**
75
-	 * Removes the current token.
76
-	 */
77
-	public function removeToken() {
78
-		$this->session->remove('requesttoken');
79
-	}
80
-	/**
81
-	 * Whether the storage has a storage.
82
-	 *
83
-	 * @return bool
84
-	 */
85
-	public function hasToken() {
86
-		return $this->session->exists('requesttoken');
87
-	}
74
+    /**
75
+     * Removes the current token.
76
+     */
77
+    public function removeToken() {
78
+        $this->session->remove('requesttoken');
79
+    }
80
+    /**
81
+     * Whether the storage has a storage.
82
+     *
83
+     * @return bool
84
+     */
85
+    public function hasToken() {
86
+        return $this->session->exists('requesttoken');
87
+    }
88 88
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@
 block discarded – undo
55 55
 	 */
56 56
 	public function getToken() {
57 57
 		$token = $this->session->get('requesttoken');
58
-		if(empty($token)) {
58
+		if (empty($token)) {
59 59
 			throw new \Exception('Session does not contain a requesttoken');
60 60
 		}
61 61
 
Please login to merge, or discard this patch.
lib/private/Security/CSRF/CsrfTokenManager.php 2 patches
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -30,78 +30,78 @@
 block discarded – undo
30 30
  * @package OC\Security\CSRF
31 31
  */
32 32
 class CsrfTokenManager {
33
-	/** @var CsrfTokenGenerator */
34
-	private $tokenGenerator;
35
-	/** @var SessionStorage */
36
-	private $sessionStorage;
37
-	/** @var CsrfToken|null */
38
-	private $csrfToken = null;
33
+    /** @var CsrfTokenGenerator */
34
+    private $tokenGenerator;
35
+    /** @var SessionStorage */
36
+    private $sessionStorage;
37
+    /** @var CsrfToken|null */
38
+    private $csrfToken = null;
39 39
 
40
-	/**
41
-	 * @param CsrfTokenGenerator $tokenGenerator
42
-	 * @param SessionStorage $storageInterface
43
-	 */
44
-	public function __construct(CsrfTokenGenerator $tokenGenerator,
45
-								SessionStorage $storageInterface) {
46
-		$this->tokenGenerator = $tokenGenerator;
47
-		$this->sessionStorage = $storageInterface;
48
-	}
40
+    /**
41
+     * @param CsrfTokenGenerator $tokenGenerator
42
+     * @param SessionStorage $storageInterface
43
+     */
44
+    public function __construct(CsrfTokenGenerator $tokenGenerator,
45
+                                SessionStorage $storageInterface) {
46
+        $this->tokenGenerator = $tokenGenerator;
47
+        $this->sessionStorage = $storageInterface;
48
+    }
49 49
 
50
-	/**
51
-	 * Returns the current CSRF token, if none set it will create a new one.
52
-	 *
53
-	 * @return CsrfToken
54
-	 */
55
-	public function getToken() {
56
-		if(!is_null($this->csrfToken)) {
57
-			return $this->csrfToken;
58
-		}
50
+    /**
51
+     * Returns the current CSRF token, if none set it will create a new one.
52
+     *
53
+     * @return CsrfToken
54
+     */
55
+    public function getToken() {
56
+        if(!is_null($this->csrfToken)) {
57
+            return $this->csrfToken;
58
+        }
59 59
 
60
-		if($this->sessionStorage->hasToken()) {
61
-			$value = $this->sessionStorage->getToken();
62
-		} else {
63
-			$value = $this->tokenGenerator->generateToken();
64
-			$this->sessionStorage->setToken($value);
65
-		}
60
+        if($this->sessionStorage->hasToken()) {
61
+            $value = $this->sessionStorage->getToken();
62
+        } else {
63
+            $value = $this->tokenGenerator->generateToken();
64
+            $this->sessionStorage->setToken($value);
65
+        }
66 66
 
67
-		$this->csrfToken = new CsrfToken($value);
68
-		return $this->csrfToken;
69
-	}
67
+        $this->csrfToken = new CsrfToken($value);
68
+        return $this->csrfToken;
69
+    }
70 70
 
71
-	/**
72
-	 * Invalidates any current token and sets a new one.
73
-	 *
74
-	 * @return CsrfToken
75
-	 */
76
-	public function refreshToken() {
77
-		$value = $this->tokenGenerator->generateToken();
78
-		$this->sessionStorage->setToken($value);
79
-		$this->csrfToken = new CsrfToken($value);
80
-		return $this->csrfToken;
81
-	}
71
+    /**
72
+     * Invalidates any current token and sets a new one.
73
+     *
74
+     * @return CsrfToken
75
+     */
76
+    public function refreshToken() {
77
+        $value = $this->tokenGenerator->generateToken();
78
+        $this->sessionStorage->setToken($value);
79
+        $this->csrfToken = new CsrfToken($value);
80
+        return $this->csrfToken;
81
+    }
82 82
 
83
-	/**
84
-	 * Remove the current token from the storage.
85
-	 */
86
-	public function removeToken() {
87
-		$this->csrfToken = null;
88
-		$this->sessionStorage->removeToken();
89
-	}
83
+    /**
84
+     * Remove the current token from the storage.
85
+     */
86
+    public function removeToken() {
87
+        $this->csrfToken = null;
88
+        $this->sessionStorage->removeToken();
89
+    }
90 90
 
91
-	/**
92
-	 * Verifies whether the provided token is valid.
93
-	 *
94
-	 * @param CsrfToken $token
95
-	 * @return bool
96
-	 */
97
-	public function isTokenValid(CsrfToken $token) {
98
-		if(!$this->sessionStorage->hasToken()) {
99
-			return false;
100
-		}
91
+    /**
92
+     * Verifies whether the provided token is valid.
93
+     *
94
+     * @param CsrfToken $token
95
+     * @return bool
96
+     */
97
+    public function isTokenValid(CsrfToken $token) {
98
+        if(!$this->sessionStorage->hasToken()) {
99
+            return false;
100
+        }
101 101
 
102
-		return hash_equals(
103
-			$this->sessionStorage->getToken(),
104
-			$token->getDecryptedValue()
105
-		);
106
-	}
102
+        return hash_equals(
103
+            $this->sessionStorage->getToken(),
104
+            $token->getDecryptedValue()
105
+        );
106
+    }
107 107
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -53,11 +53,11 @@  discard block
 block discarded – undo
53 53
 	 * @return CsrfToken
54 54
 	 */
55 55
 	public function getToken() {
56
-		if(!is_null($this->csrfToken)) {
56
+		if (!is_null($this->csrfToken)) {
57 57
 			return $this->csrfToken;
58 58
 		}
59 59
 
60
-		if($this->sessionStorage->hasToken()) {
60
+		if ($this->sessionStorage->hasToken()) {
61 61
 			$value = $this->sessionStorage->getToken();
62 62
 		} else {
63 63
 			$value = $this->tokenGenerator->generateToken();
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 	 * @return bool
96 96
 	 */
97 97
 	public function isTokenValid(CsrfToken $token) {
98
-		if(!$this->sessionStorage->hasToken()) {
98
+		if (!$this->sessionStorage->hasToken()) {
99 99
 			return false;
100 100
 		}
101 101
 
Please login to merge, or discard this patch.
lib/private/Security/CSRF/CsrfTokenGenerator.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -31,23 +31,23 @@
 block discarded – undo
31 31
  * @package OC\Security\CSRF
32 32
  */
33 33
 class CsrfTokenGenerator {
34
-	/** @var ISecureRandom  */
35
-	private $random;
34
+    /** @var ISecureRandom  */
35
+    private $random;
36 36
 
37
-	/**
38
-	 * @param ISecureRandom $random
39
-	 */
40
-	public function __construct(ISecureRandom $random) {
41
-		$this->random = $random;
42
-	}
37
+    /**
38
+     * @param ISecureRandom $random
39
+     */
40
+    public function __construct(ISecureRandom $random) {
41
+        $this->random = $random;
42
+    }
43 43
 
44
-	/**
45
-	 * Generate a new CSRF token.
46
-	 *
47
-	 * @param int $length Length of the token in characters.
48
-	 * @return string
49
-	 */
50
-	public function generateToken($length = 32) {
51
-		return $this->random->generate($length);
52
-	}
44
+    /**
45
+     * Generate a new CSRF token.
46
+     *
47
+     * @param int $length Length of the token in characters.
48
+     * @return string
49
+     */
50
+    public function generateToken($length = 32) {
51
+        return $this->random->generate($length);
52
+    }
53 53
 }
Please login to merge, or discard this patch.
lib/private/Security/SecureRandom.php 2 patches
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -37,51 +37,51 @@
 block discarded – undo
37 37
  * @package OC\Security
38 38
  */
39 39
 class SecureRandom implements ISecureRandom {
40
-	/**
41
-	 * Convenience method to get a low strength random number generator.
42
-	 *
43
-	 * Low Strength should be used anywhere that random strings are needed
44
-	 * in a non-cryptographical setting. They are not strong enough to be
45
-	 * used as keys or salts. They are however useful for one-time use tokens.
46
-	 *
47
-	 * @deprecated 9.0.0 Use \OC\Security\SecureRandom::generate directly or random_bytes() / random_int()
48
-	 * @return $this
49
-	 */
50
-	public function getLowStrengthGenerator() {
51
-		return $this;
52
-	}
40
+    /**
41
+     * Convenience method to get a low strength random number generator.
42
+     *
43
+     * Low Strength should be used anywhere that random strings are needed
44
+     * in a non-cryptographical setting. They are not strong enough to be
45
+     * used as keys or salts. They are however useful for one-time use tokens.
46
+     *
47
+     * @deprecated 9.0.0 Use \OC\Security\SecureRandom::generate directly or random_bytes() / random_int()
48
+     * @return $this
49
+     */
50
+    public function getLowStrengthGenerator() {
51
+        return $this;
52
+    }
53 53
 
54
-	/**
55
-	 * Convenience method to get a medium strength random number generator.
56
-	 *
57
-	 * Medium Strength should be used for most needs of a cryptographic nature.
58
-	 * They are strong enough to be used as keys and salts. However, they do
59
-	 * take some time and resources to generate, so they should not be over-used
60
-	 *
61
-	 * @deprecated 9.0.0 Use \OC\Security\SecureRandom::generate directly or random_bytes() / random_int()
62
-	 * @return $this
63
-	 */
64
-	public function getMediumStrengthGenerator() {
65
-		return $this;
66
-	}
54
+    /**
55
+     * Convenience method to get a medium strength random number generator.
56
+     *
57
+     * Medium Strength should be used for most needs of a cryptographic nature.
58
+     * They are strong enough to be used as keys and salts. However, they do
59
+     * take some time and resources to generate, so they should not be over-used
60
+     *
61
+     * @deprecated 9.0.0 Use \OC\Security\SecureRandom::generate directly or random_bytes() / random_int()
62
+     * @return $this
63
+     */
64
+    public function getMediumStrengthGenerator() {
65
+        return $this;
66
+    }
67 67
 
68
-	/**
69
-	 * Generate a random string of specified length.
70
-	 * @param int $length The length of the generated string
71
-	 * @param string $characters An optional list of characters to use if no character list is
72
-	 * 							specified all valid base64 characters are used.
73
-	 * @return string
74
-	 */
75
-	public function generate($length,
76
-							 $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/') {
77
-		$maxCharIndex = strlen($characters) - 1;
78
-		$randomString = '';
68
+    /**
69
+     * Generate a random string of specified length.
70
+     * @param int $length The length of the generated string
71
+     * @param string $characters An optional list of characters to use if no character list is
72
+     * 							specified all valid base64 characters are used.
73
+     * @return string
74
+     */
75
+    public function generate($length,
76
+                                $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/') {
77
+        $maxCharIndex = strlen($characters) - 1;
78
+        $randomString = '';
79 79
 
80
-		while($length > 0) {
81
-			$randomNumber = \random_int(0, $maxCharIndex);
82
-			$randomString .= $characters[$randomNumber];
83
-			$length--;
84
-		}
85
-		return $randomString;
86
-	}
80
+        while($length > 0) {
81
+            $randomNumber = \random_int(0, $maxCharIndex);
82
+            $randomString .= $characters[$randomNumber];
83
+            $length--;
84
+        }
85
+        return $randomString;
86
+    }
87 87
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -77,7 +77,7 @@
 block discarded – undo
77 77
 		$maxCharIndex = strlen($characters) - 1;
78 78
 		$randomString = '';
79 79
 
80
-		while($length > 0) {
80
+		while ($length > 0) {
81 81
 			$randomNumber = \random_int(0, $maxCharIndex);
82 82
 			$randomString .= $characters[$randomNumber];
83 83
 			$length--;
Please login to merge, or discard this patch.
lib/private/Security/Certificate.php 2 patches
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -27,104 +27,104 @@
 block discarded – undo
27 27
 use OCP\ICertificate;
28 28
 
29 29
 class Certificate implements ICertificate {
30
-	protected $name;
31
-
32
-	protected $commonName;
33
-
34
-	protected $organization;
35
-
36
-	protected $serial;
37
-
38
-	protected $issueDate;
39
-
40
-	protected $expireDate;
41
-
42
-	protected $issuerName;
43
-
44
-	protected $issuerOrganization;
45
-
46
-	/**
47
-	 * @param string $data base64 encoded certificate
48
-	 * @param string $name
49
-	 * @throws \Exception If the certificate could not get parsed
50
-	 */
51
-	public function __construct($data, $name) {
52
-		$this->name = $name;
53
-		$gmt = new \DateTimeZone('GMT');
54
-
55
-		// If string starts with "file://" ignore the certificate
56
-		$query = 'file://';
57
-		if(strtolower(substr($data, 0, strlen($query))) === $query) {
58
-			throw new \Exception('Certificate could not get parsed.');
59
-		}
60
-
61
-		$info = openssl_x509_parse($data);
62
-		if(!is_array($info)) {
63
-			throw new \Exception('Certificate could not get parsed.');
64
-		}
65
-
66
-		$this->commonName = isset($info['subject']['CN']) ? $info['subject']['CN'] : null;
67
-		$this->organization = isset($info['subject']['O']) ? $info['subject']['O'] : null;
68
-		$this->issueDate = new \DateTime('@' . $info['validFrom_time_t'], $gmt);
69
-		$this->expireDate = new \DateTime('@' . $info['validTo_time_t'], $gmt);
70
-		$this->issuerName = isset($info['issuer']['CN']) ? $info['issuer']['CN'] : null;
71
-		$this->issuerOrganization = isset($info['issuer']['O']) ? $info['issuer']['O'] : null;
72
-	}
73
-
74
-	/**
75
-	 * @return string
76
-	 */
77
-	public function getName() {
78
-		return $this->name;
79
-	}
80
-
81
-	/**
82
-	 * @return string|null
83
-	 */
84
-	public function getCommonName() {
85
-		return $this->commonName;
86
-	}
87
-
88
-	/**
89
-	 * @return string
90
-	 */
91
-	public function getOrganization() {
92
-		return $this->organization;
93
-	}
94
-
95
-	/**
96
-	 * @return \DateTime
97
-	 */
98
-	public function getIssueDate() {
99
-		return $this->issueDate;
100
-	}
101
-
102
-	/**
103
-	 * @return \DateTime
104
-	 */
105
-	public function getExpireDate() {
106
-		return $this->expireDate;
107
-	}
108
-
109
-	/**
110
-	 * @return bool
111
-	 */
112
-	public function isExpired() {
113
-		$now = new \DateTime();
114
-		return $this->issueDate > $now or $now > $this->expireDate;
115
-	}
116
-
117
-	/**
118
-	 * @return string|null
119
-	 */
120
-	public function getIssuerName() {
121
-		return $this->issuerName;
122
-	}
123
-
124
-	/**
125
-	 * @return string|null
126
-	 */
127
-	public function getIssuerOrganization() {
128
-		return $this->issuerOrganization;
129
-	}
30
+    protected $name;
31
+
32
+    protected $commonName;
33
+
34
+    protected $organization;
35
+
36
+    protected $serial;
37
+
38
+    protected $issueDate;
39
+
40
+    protected $expireDate;
41
+
42
+    protected $issuerName;
43
+
44
+    protected $issuerOrganization;
45
+
46
+    /**
47
+     * @param string $data base64 encoded certificate
48
+     * @param string $name
49
+     * @throws \Exception If the certificate could not get parsed
50
+     */
51
+    public function __construct($data, $name) {
52
+        $this->name = $name;
53
+        $gmt = new \DateTimeZone('GMT');
54
+
55
+        // If string starts with "file://" ignore the certificate
56
+        $query = 'file://';
57
+        if(strtolower(substr($data, 0, strlen($query))) === $query) {
58
+            throw new \Exception('Certificate could not get parsed.');
59
+        }
60
+
61
+        $info = openssl_x509_parse($data);
62
+        if(!is_array($info)) {
63
+            throw new \Exception('Certificate could not get parsed.');
64
+        }
65
+
66
+        $this->commonName = isset($info['subject']['CN']) ? $info['subject']['CN'] : null;
67
+        $this->organization = isset($info['subject']['O']) ? $info['subject']['O'] : null;
68
+        $this->issueDate = new \DateTime('@' . $info['validFrom_time_t'], $gmt);
69
+        $this->expireDate = new \DateTime('@' . $info['validTo_time_t'], $gmt);
70
+        $this->issuerName = isset($info['issuer']['CN']) ? $info['issuer']['CN'] : null;
71
+        $this->issuerOrganization = isset($info['issuer']['O']) ? $info['issuer']['O'] : null;
72
+    }
73
+
74
+    /**
75
+     * @return string
76
+     */
77
+    public function getName() {
78
+        return $this->name;
79
+    }
80
+
81
+    /**
82
+     * @return string|null
83
+     */
84
+    public function getCommonName() {
85
+        return $this->commonName;
86
+    }
87
+
88
+    /**
89
+     * @return string
90
+     */
91
+    public function getOrganization() {
92
+        return $this->organization;
93
+    }
94
+
95
+    /**
96
+     * @return \DateTime
97
+     */
98
+    public function getIssueDate() {
99
+        return $this->issueDate;
100
+    }
101
+
102
+    /**
103
+     * @return \DateTime
104
+     */
105
+    public function getExpireDate() {
106
+        return $this->expireDate;
107
+    }
108
+
109
+    /**
110
+     * @return bool
111
+     */
112
+    public function isExpired() {
113
+        $now = new \DateTime();
114
+        return $this->issueDate > $now or $now > $this->expireDate;
115
+    }
116
+
117
+    /**
118
+     * @return string|null
119
+     */
120
+    public function getIssuerName() {
121
+        return $this->issuerName;
122
+    }
123
+
124
+    /**
125
+     * @return string|null
126
+     */
127
+    public function getIssuerOrganization() {
128
+        return $this->issuerOrganization;
129
+    }
130 130
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -54,19 +54,19 @@
 block discarded – undo
54 54
 
55 55
 		// If string starts with "file://" ignore the certificate
56 56
 		$query = 'file://';
57
-		if(strtolower(substr($data, 0, strlen($query))) === $query) {
57
+		if (strtolower(substr($data, 0, strlen($query))) === $query) {
58 58
 			throw new \Exception('Certificate could not get parsed.');
59 59
 		}
60 60
 
61 61
 		$info = openssl_x509_parse($data);
62
-		if(!is_array($info)) {
62
+		if (!is_array($info)) {
63 63
 			throw new \Exception('Certificate could not get parsed.');
64 64
 		}
65 65
 
66 66
 		$this->commonName = isset($info['subject']['CN']) ? $info['subject']['CN'] : null;
67 67
 		$this->organization = isset($info['subject']['O']) ? $info['subject']['O'] : null;
68
-		$this->issueDate = new \DateTime('@' . $info['validFrom_time_t'], $gmt);
69
-		$this->expireDate = new \DateTime('@' . $info['validTo_time_t'], $gmt);
68
+		$this->issueDate = new \DateTime('@'.$info['validFrom_time_t'], $gmt);
69
+		$this->expireDate = new \DateTime('@'.$info['validTo_time_t'], $gmt);
70 70
 		$this->issuerName = isset($info['issuer']['CN']) ? $info['issuer']['CN'] : null;
71 71
 		$this->issuerOrganization = isset($info['issuer']['O']) ? $info['issuer']['O'] : null;
72 72
 	}
Please login to merge, or discard this patch.
lib/private/Security/IdentityProof/Signer.php 2 patches
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -26,76 +26,76 @@
 block discarded – undo
26 26
 use OCP\IUserManager;
27 27
 
28 28
 class Signer {
29
-	/** @var Manager */
30
-	private $keyManager;
31
-	/** @var ITimeFactory */
32
-	private $timeFactory;
33
-	/** @var IUserManager */
34
-	private $userManager;
29
+    /** @var Manager */
30
+    private $keyManager;
31
+    /** @var ITimeFactory */
32
+    private $timeFactory;
33
+    /** @var IUserManager */
34
+    private $userManager;
35 35
 
36
-	/**
37
-	 * @param Manager $keyManager
38
-	 * @param ITimeFactory $timeFactory
39
-	 * @param IUserManager $userManager
40
-	 */
41
-	public function __construct(Manager $keyManager,
42
-								ITimeFactory $timeFactory,
43
-								IUserManager $userManager) {
44
-		$this->keyManager = $keyManager;
45
-		$this->timeFactory = $timeFactory;
46
-		$this->userManager = $userManager;
47
-	}
36
+    /**
37
+     * @param Manager $keyManager
38
+     * @param ITimeFactory $timeFactory
39
+     * @param IUserManager $userManager
40
+     */
41
+    public function __construct(Manager $keyManager,
42
+                                ITimeFactory $timeFactory,
43
+                                IUserManager $userManager) {
44
+        $this->keyManager = $keyManager;
45
+        $this->timeFactory = $timeFactory;
46
+        $this->userManager = $userManager;
47
+    }
48 48
 
49
-	/**
50
-	 * Returns a signed blob for $data
51
-	 *
52
-	 * @param string $type
53
-	 * @param array $data
54
-	 * @param IUser $user
55
-	 * @return array ['message', 'signature']
56
-	 */
57
-	public function sign($type, array $data, IUser $user) {
58
-		$privateKey = $this->keyManager->getKey($user)->getPrivate();
59
-		$data = [
60
-			'data' => $data,
61
-			'type' => $type,
62
-			'signer' => $user->getCloudId(),
63
-			'timestamp' => $this->timeFactory->getTime(),
64
-		];
65
-		openssl_sign(json_encode($data), $signature, $privateKey, OPENSSL_ALGO_SHA512);
49
+    /**
50
+     * Returns a signed blob for $data
51
+     *
52
+     * @param string $type
53
+     * @param array $data
54
+     * @param IUser $user
55
+     * @return array ['message', 'signature']
56
+     */
57
+    public function sign($type, array $data, IUser $user) {
58
+        $privateKey = $this->keyManager->getKey($user)->getPrivate();
59
+        $data = [
60
+            'data' => $data,
61
+            'type' => $type,
62
+            'signer' => $user->getCloudId(),
63
+            'timestamp' => $this->timeFactory->getTime(),
64
+        ];
65
+        openssl_sign(json_encode($data), $signature, $privateKey, OPENSSL_ALGO_SHA512);
66 66
 
67
-		return [
68
-			'message' => $data,
69
-			'signature' => base64_encode($signature),
70
-		];
71
-	}
67
+        return [
68
+            'message' => $data,
69
+            'signature' => base64_encode($signature),
70
+        ];
71
+    }
72 72
 
73
-	/**
74
-	 * Whether the data is signed properly
75
-	 *
76
-	 * @param array $data
77
-	 * @return bool
78
-	 */
79
-	public function verify(array $data) {
80
-		if(isset($data['message'])
81
-			&& isset($data['signature'])
82
-			&& isset($data['message']['signer'])
83
-		) {
84
-			$location = strrpos($data['message']['signer'], '@');
85
-			$userId = substr($data['message']['signer'], 0, $location);
73
+    /**
74
+     * Whether the data is signed properly
75
+     *
76
+     * @param array $data
77
+     * @return bool
78
+     */
79
+    public function verify(array $data) {
80
+        if(isset($data['message'])
81
+            && isset($data['signature'])
82
+            && isset($data['message']['signer'])
83
+        ) {
84
+            $location = strrpos($data['message']['signer'], '@');
85
+            $userId = substr($data['message']['signer'], 0, $location);
86 86
 
87
-			$user = $this->userManager->get($userId);
88
-			if($user !== null) {
89
-				$key = $this->keyManager->getKey($user);
90
-				return (bool)openssl_verify(
91
-					json_encode($data['message']),
92
-					base64_decode($data['signature']),
93
-					$key->getPublic(),
94
-					OPENSSL_ALGO_SHA512
95
-				);
96
-			}
97
-		}
87
+            $user = $this->userManager->get($userId);
88
+            if($user !== null) {
89
+                $key = $this->keyManager->getKey($user);
90
+                return (bool)openssl_verify(
91
+                    json_encode($data['message']),
92
+                    base64_decode($data['signature']),
93
+                    $key->getPublic(),
94
+                    OPENSSL_ALGO_SHA512
95
+                );
96
+            }
97
+        }
98 98
 
99
-		return false;
100
-	}
99
+        return false;
100
+    }
101 101
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
 	 * @return bool
78 78
 	 */
79 79
 	public function verify(array $data) {
80
-		if(isset($data['message'])
80
+		if (isset($data['message'])
81 81
 			&& isset($data['signature'])
82 82
 			&& isset($data['message']['signer'])
83 83
 		) {
@@ -85,9 +85,9 @@  discard block
 block discarded – undo
85 85
 			$userId = substr($data['message']['signer'], 0, $location);
86 86
 
87 87
 			$user = $this->userManager->get($userId);
88
-			if($user !== null) {
88
+			if ($user !== null) {
89 89
 				$key = $this->keyManager->getKey($user);
90
-				return (bool)openssl_verify(
90
+				return (bool) openssl_verify(
91 91
 					json_encode($data['message']),
92 92
 					base64_decode($data['signature']),
93 93
 					$key->getPublic(),
Please login to merge, or discard this patch.