Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
d8136096
Commit
d8136096
authored
Oct 24, 2016
by
Richard van der Hoff
Committed by
GitHub
Oct 24, 2016
Browse files
Merge pull request #33 from matrix-org/rav/pickle_length
Return the base64-encoded length of pickles
parents
8de0f1fb
a7310c58
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/pickle_encoding.c
View file @
d8136096
...
...
@@ -60,7 +60,7 @@ size_t _olm_enc_output(
raw_output
,
length
);
_olm_encode_base64
(
raw_output
,
length
,
output
);
return
raw
_length
;
return
base64
_length
;
}
...
...
tests/test_group_session.cpp
View file @
d8136096
...
...
@@ -28,23 +28,26 @@ int main() {
size_t
pickle_length
=
olm_pickle_outbound_group_session_length
(
session
);
uint8_t
pickle1
[
pickle_length
];
olm_pickle_outbound_group_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
size_t
res
=
olm_pickle_outbound_group_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
uint8_t
pickle2
[
pickle_length
];
memcpy
(
pickle2
,
pickle1
,
pickle_length
);
uint8_t
buffer2
[
size
];
OlmOutboundGroupSession
*
session2
=
olm_outbound_group_session
(
buffer2
);
size_t
res
=
olm_unpickle_outbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
olm_unpickle_outbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_not_equals
((
size_t
)
-
1
,
res
);
assert_equals
(
pickle_length
,
olm_pickle_outbound_group_session_length
(
session2
));
olm_pickle_outbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
olm_pickle_outbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
assert_equals
(
pickle1
,
pickle2
,
pickle_length
);
}
...
...
@@ -59,23 +62,25 @@ int main() {
size_t
pickle_length
=
olm_pickle_inbound_group_session_length
(
session
);
uint8_t
pickle1
[
pickle_length
];
olm_pickle_inbound_group_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
size_t
res
=
olm_pickle_inbound_group_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
uint8_t
pickle2
[
pickle_length
];
memcpy
(
pickle2
,
pickle1
,
pickle_length
);
uint8_t
buffer2
[
size
];
OlmInboundGroupSession
*
session2
=
olm_inbound_group_session
(
buffer2
);
size_t
res
=
olm_unpickle_inbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
olm_unpickle_inbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_not_equals
((
size_t
)
-
1
,
res
);
assert_equals
(
pickle_length
,
olm_pickle_inbound_group_session_length
(
session2
));
olm_pickle_inbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
olm_pickle_inbound_group_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_equals
(
pickle1
,
pickle2
,
pickle_length
);
}
...
...
tests/test_olm.cpp
View file @
d8136096
...
...
@@ -49,7 +49,9 @@ mock_random(ot_random, sizeof(ot_random));
std
::
size_t
pickle_length
=
::
olm_pickle_account_length
(
account
);
std
::
uint8_t
pickle1
[
pickle_length
];
::
olm_pickle_account
(
account
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
std
::
size_t
res
=
::
olm_pickle_account
(
account
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
std
::
uint8_t
pickle2
[
pickle_length
];
std
::
memcpy
(
pickle2
,
pickle1
,
pickle_length
);
...
...
@@ -59,10 +61,10 @@ assert_not_equals(std::size_t(-1), ::olm_unpickle_account(
account2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
));
assert_equals
(
pickle_length
,
::
olm_pickle_account_length
(
account2
));
::
olm_pickle_account
(
account2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
::
olm_pickle_account
(
account2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
assert_equals
(
pickle1
,
pickle2
,
pickle_length
);
}
...
...
@@ -122,7 +124,9 @@ mock_random(random2, sizeof(random2));
std
::
size_t
pickle_length
=
::
olm_pickle_session_length
(
session
);
std
::
uint8_t
pickle1
[
pickle_length
];
::
olm_pickle_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
std
::
size_t
res
=
::
olm_pickle_session
(
session
,
"secret_key"
,
10
,
pickle1
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
std
::
uint8_t
pickle2
[
pickle_length
];
std
::
memcpy
(
pickle2
,
pickle1
,
pickle_length
);
...
...
@@ -132,10 +136,10 @@ assert_not_equals(std::size_t(-1), ::olm_unpickle_session(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
));
assert_equals
(
pickle_length
,
::
olm_pickle_session_length
(
session2
));
::
olm_pickle_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
res
=
::
olm_pickle_session
(
session2
,
"secret_key"
,
10
,
pickle2
,
pickle_length
);
assert_equals
(
pickle_length
,
res
);
assert_equals
(
pickle1
,
pickle2
,
pickle_length
);
}
{
/** Loopback test */
...
...
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