Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
917bef39
Commit
917bef39
authored
Nov 25, 2014
by
Bjoern Schiessle
Browse files
don't store private public-share-key in session
parent
f2748334
Changes
1
Hide whitespace changes
Inline
Side-by-side
apps/files_encryption/lib/session.php
View file @
917bef39
...
...
@@ -29,6 +29,7 @@ namespace OCA\Encryption;
class
Session
{
private
$view
;
private
static
$publicShareKey
=
false
;
const
NOT_INITIALIZED
=
'0'
;
const
INIT_EXECUTED
=
'1'
;
...
...
@@ -92,7 +93,7 @@ class Session {
}
if
(
\
OCA\Encryption\Helper
::
isPublicAccess
())
{
if
(
\
OCA\Encryption\Helper
::
isPublicAccess
()
&&
!
self
::
getPublicSharePrivateKey
()
)
{
// Disable encryption proxy to prevent recursive calls
$proxyStatus
=
\
OC_FileProxy
::
$enabled
;
\
OC_FileProxy
::
$enabled
=
false
;
...
...
@@ -100,9 +101,7 @@ class Session {
$encryptedKey
=
$this
->
view
->
file_get_contents
(
'/owncloud_private_key/'
.
$publicShareKeyId
.
'.private.key'
);
$privateKey
=
Crypt
::
decryptPrivateKey
(
$encryptedKey
,
''
);
$this
->
setPublicSharePrivateKey
(
$privateKey
);
$this
->
setInitialized
(
\
OCA\Encryption\Session
::
INIT_SUCCESSFUL
);
self
::
setPublicSharePrivateKey
(
$privateKey
);
\
OC_FileProxy
::
$enabled
=
$proxyStatus
;
}
...
...
@@ -164,6 +163,8 @@ class Session {
public
function
getInitialized
()
{
if
(
!
is_null
(
\
OC
::
$server
->
getSession
()
->
get
(
'encryptionInitialized'
)))
{
return
\
OC
::
$server
->
getSession
()
->
get
(
'encryptionInitialized'
);
}
else
if
(
\
OCA\Encryption\Helper
::
isPublicAccess
()
&&
self
::
getPublicSharePrivateKey
())
{
return
self
::
INIT_SUCCESSFUL
;
}
else
{
return
self
::
NOT_INITIALIZED
;
}
...
...
@@ -177,7 +178,7 @@ class Session {
public
function
getPrivateKey
()
{
// return the public share private key if this is a public access
if
(
\
OCA\Encryption\Helper
::
isPublicAccess
())
{
return
$this
->
getPublicSharePrivateKey
();
return
self
::
getPublicSharePrivateKey
();
}
else
{
if
(
!
is_null
(
\
OC
::
$server
->
getSession
()
->
get
(
'privateKey'
)))
{
return
\
OC
::
$server
->
getSession
()
->
get
(
'privateKey'
);
...
...
@@ -192,12 +193,9 @@ class Session {
* @param string $privateKey
* @return bool
*/
public
function
setPublicSharePrivateKey
(
$privateKey
)
{
\
OC
::
$server
->
getSession
()
->
set
(
'publicSharePrivateKey'
,
$privateKey
);
private
static
function
setPublicSharePrivateKey
(
$privateKey
)
{
self
::
$publicShareKey
=
$privateKey
;
return
true
;
}
/**
...
...
@@ -205,13 +203,8 @@ class Session {
* @return string $privateKey
*
*/
public
function
getPublicSharePrivateKey
()
{
if
(
!
is_null
(
\
OC
::
$server
->
getSession
()
->
get
(
'publicSharePrivateKey'
)))
{
return
\
OC
::
$server
->
getSession
()
->
get
(
'publicSharePrivateKey'
);
}
else
{
return
false
;
}
private
static
function
getPublicSharePrivateKey
()
{
return
self
::
$publicShareKey
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment