projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e170d99
)
Basic support for trusted device lists in KDMs (#750).
author
Carl Hetherington
<cth@carlh.net>
Sun, 15 Nov 2015 20:57:47 +0000
(20:57 +0000)
committer
Carl Hetherington
<cth@carlh.net>
Sun, 15 Nov 2015 20:57:47 +0000
(20:57 +0000)
ChangeLog
patch
|
blob
|
history
cscript
patch
|
blob
|
history
src/lib/film.cc
patch
|
blob
|
history
src/lib/film.h
patch
|
blob
|
history
src/tools/dcpomatic_kdm.cc
patch
|
blob
|
history
src/tools/dcpomatic_kdm_cli.cc
patch
|
blob
|
history
test/import_dcp_test.cc
patch
|
blob
|
history
diff --git
a/ChangeLog
b/ChangeLog
index 3b65b102a25b78475bb9316046ddd29468f5d622..9c11249c602a7c58dd4482da4c8391425c402612 100644
(file)
--- a/
ChangeLog
+++ b/
ChangeLog
@@
-1,3
+1,7
@@
+2015-11-15 Carl Hetherington <cth@carlh.net>
+
+ * Basic support for trusted device lists in KDMs (#750).
+
2015-11-14 Carl Hetherington <cth@carlh.net>
* Updated nl_NL translation from Rob van Nieuwkerk.
2015-11-14 Carl Hetherington <cth@carlh.net>
* Updated nl_NL translation from Rob van Nieuwkerk.
diff --git
a/cscript
b/cscript
index dce2aa0c1051aaaf21c82b812d75ba1f50717364..33669f95cef50bf9c9c4b79f77f5c219cc11364d 100644
(file)
--- a/
cscript
+++ b/
cscript
@@
-279,8
+279,8
@@
def dependencies(target):
ffmpeg_options = {}
return (('ffmpeg-cdist', 'd0986a9', ffmpeg_options),
ffmpeg_options = {}
return (('ffmpeg-cdist', 'd0986a9', ffmpeg_options),
- ('libdcp', '
89d891b
'),
- ('libsub', '
e4fde97
'))
+ ('libdcp', '
332c7c3
'),
+ ('libsub', '
8182aed
'))
def configure_options(target):
opt = ''
def configure_options(target):
opt = ''
diff --git
a/src/lib/film.cc
b/src/lib/film.cc
index d406152a19a494a865401979baa0e9e13eed749a..6c0b4d5a541a2deb32fabd851f85fcf8fc60d0f7 100644
(file)
--- a/
src/lib/film.cc
+++ b/
src/lib/film.cc
@@
-1113,7
+1113,8
@@
Film::frame_size () const
dcp::EncryptedKDM
Film::make_kdm (
dcp::EncryptedKDM
Film::make_kdm (
- dcp::Certificate target,
+ dcp::Certificate recipient,
+ vector<dcp::Certificate> trusted_devices,
boost::filesystem::path cpl_file,
dcp::LocalTime from,
dcp::LocalTime until,
boost::filesystem::path cpl_file,
dcp::LocalTime from,
dcp::LocalTime until,
@@
-1128,7
+1129,7
@@
Film::make_kdm (
return dcp::DecryptedKDM (
cpl, key(), from, until, "DCP-o-matic", cpl->content_title_text(), dcp::LocalTime().as_string()
return dcp::DecryptedKDM (
cpl, key(), from, until, "DCP-o-matic", cpl->content_title_text(), dcp::LocalTime().as_string()
- ).encrypt (signer,
target
, formulation);
+ ).encrypt (signer,
recipient, trusted_devices
, formulation);
}
list<ScreenKDM>
}
list<ScreenKDM>
@@
-1144,7
+1145,7
@@
Film::make_kdms (
BOOST_FOREACH (shared_ptr<Screen> i, screens) {
if (i->recipient) {
BOOST_FOREACH (shared_ptr<Screen> i, screens) {
if (i->recipient) {
- kdms.push_back (ScreenKDM (i, make_kdm (i->recipient.get(), dcp, from, until, formulation)));
+ kdms.push_back (ScreenKDM (i, make_kdm (i->recipient.get(),
i->trusted_devices,
dcp, from, until, formulation)));
}
}
}
}
diff --git
a/src/lib/film.h
b/src/lib/film.h
index 4004421039e01a7c9cd1534e90588d2a3d89278e..faa7cf5baf366f23620ab43234412415cb2a017a 100644
(file)
--- a/
src/lib/film.h
+++ b/
src/lib/film.h
@@
-121,7
+121,8
@@
public:
dcp::EncryptedKDM
make_kdm (
dcp::EncryptedKDM
make_kdm (
- dcp::Certificate target,
+ dcp::Certificate recipient,
+ std::vector<dcp::Certificate> trusted_devices,
boost::filesystem::path cpl_file,
dcp::LocalTime from,
dcp::LocalTime until,
boost::filesystem::path cpl_file,
dcp::LocalTime from,
dcp::LocalTime until,
diff --git
a/src/tools/dcpomatic_kdm.cc
b/src/tools/dcpomatic_kdm.cc
index 2c96f37b25be1a849bdf5ab3382220ca8829bd84..ae5802e74506a4f4f9e558dc338ad4b2f1886279 100644
(file)
--- a/
src/tools/dcpomatic_kdm.cc
+++ b/
src/tools/dcpomatic_kdm.cc
@@
-279,7
+279,7
@@
private:
}
/* Encrypt */
}
/* Encrypt */
- screen_kdms.push_back (ScreenKDM (i, kdm.encrypt (signer, i->recipient.get(), _output->formulation())));
+ screen_kdms.push_back (ScreenKDM (i, kdm.encrypt (signer, i->recipient.get(),
i->trusted_devices,
_output->formulation())));
}
if (_output->write_to()) {
}
if (_output->write_to()) {
diff --git
a/src/tools/dcpomatic_kdm_cli.cc
b/src/tools/dcpomatic_kdm_cli.cc
index c49642c8e9459b5c390e1b4fe3725d5437e26b8e..2f8212a619fe2acc0e5035ea93b3d04031ff67a4 100644
(file)
--- a/
src/tools/dcpomatic_kdm_cli.cc
+++ b/
src/tools/dcpomatic_kdm_cli.cc
@@
-255,7
+255,7
@@
int main (int argc, char* argv[])
}
dcp::Certificate certificate (dcp::file_to_string (certificate_file));
}
dcp::Certificate certificate (dcp::file_to_string (certificate_file));
- dcp::EncryptedKDM kdm = film->make_kdm (certificate, cpl, valid_from.get(), valid_to.get(), formulation);
+ dcp::EncryptedKDM kdm = film->make_kdm (certificate,
vector<dcp::Certificate>(),
cpl, valid_from.get(), valid_to.get(), formulation);
kdm.as_xml (output);
if (verbose) {
cout << "Generated KDM " << output << " for certificate.\n";
kdm.as_xml (output);
if (verbose) {
cout << "Generated KDM " << output << " for certificate.\n";
diff --git
a/test/import_dcp_test.cc
b/test/import_dcp_test.cc
index 45cd9f413e6f3e675e9304c2145add06998990c0..32e31da475d1301ccd1d777de2f62a2d320c4312 100644
(file)
--- a/
test/import_dcp_test.cc
+++ b/
test/import_dcp_test.cc
@@
-29,6
+29,7
@@
#include <dcp/cpl.h>
#include <boost/test/unit_test.hpp>
#include <dcp/cpl.h>
#include <boost/test/unit_test.hpp>
+using std::vector;
using boost::shared_ptr;
/** Make an encrypted DCP, import it and make a new unencrypted DCP */
using boost::shared_ptr;
/** Make an encrypted DCP, import it and make a new unencrypted DCP */
@@
-54,6
+55,7
@@
BOOST_AUTO_TEST_CASE (import_dcp_test)
dcp::EncryptedKDM kdm = A->make_kdm (
Config::instance()->decryption_chain()->leaf (),
dcp::EncryptedKDM kdm = A->make_kdm (
Config::instance()->decryption_chain()->leaf (),
+ vector<dcp::Certificate> (),
A_dcp.cpls().front()->file (),
dcp::LocalTime ("2014-07-21T00:00:00+00:00"),
dcp::LocalTime ("2024-07-21T00:00:00+00:00"),
A_dcp.cpls().front()->file (),
dcp::LocalTime ("2014-07-21T00:00:00+00:00"),
dcp::LocalTime ("2024-07-21T00:00:00+00:00"),