Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: ppapi/native_client/src/trusted/plugin/file_downloader.cc

Issue 14750007: NaCl: enable meta-based validation for shared libraries. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/file_downloader.cc
diff --git a/ppapi/native_client/src/trusted/plugin/file_downloader.cc b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
index ce7fe30b2046f58b4348926d3560e0e40673ccfd..4cdd1948404735b429a816a54c57726da586f7b3 100644
--- a/ppapi/native_client/src/trusted/plugin/file_downloader.cc
+++ b/ppapi/native_client/src/trusted/plugin/file_downloader.cc
@@ -5,6 +5,7 @@
#include "native_client/src/trusted/plugin/file_downloader.h"
#include <stdio.h>
+#include <string.h>
#include <string>
#include "native_client/src/include/portability_io.h"
@@ -145,7 +146,8 @@ bool FileDownloader::Open(
}
void FileDownloader::OpenFast(const nacl::string& url,
- PP_FileHandle file_handle) {
+ PP_FileHandle file_handle,
+ uint64_t nonce) {
PLUGIN_PRINTF(("FileDownloader::OpenFast (url=%s)\n", url.c_str()));
CHECK(instance_ != NULL);
open_time_ = NaClGetTimeOfDayMicroseconds();
@@ -154,9 +156,13 @@ void FileDownloader::OpenFast(const nacl::string& url,
url_ = url;
mode_ = DOWNLOAD_NONE;
file_handle_ = file_handle;
+ nonce_ = nonce;
}
-int32_t FileDownloader::GetPOSIXFileDescriptor() {
+struct NaClFileInfo FileDownloader::GetFileInfo() {
+ struct NaClFileInfo info;
+ memset(&info, 0, sizeof(info));
+ info.desc = -1;
int32_t file_desc = NACL_NO_FILE_DESC;
if (not_streaming() && file_handle_ != PP_kInvalidFileHandle) {
#if NACL_WINDOWS
@@ -165,13 +171,14 @@ int32_t FileDownloader::GetPOSIXFileDescriptor() {
#else
file_desc = file_handle_;
#endif
+ info.nonce = nonce_;
} else {
if (!streaming_to_file()) {
- return NACL_NO_FILE_DESC;
+ return info;
dmichael (off chromium) 2013/05/15 18:37:53 I find these error returns less obvious now. Not s
Nick Bray (chromium) 2013/05/16 16:38:17 The file info structure is defined in the NaCl rep
dmichael (off chromium) 2013/05/16 17:08:35 How about a simple little helper function in the u
Nick Bray (chromium) 2013/05/16 17:44:15 Didn't think of that one. Good idea. Done.
}
// Use the trusted interface to get the file descriptor.
if (file_io_trusted_interface_ == NULL) {
- return NACL_NO_FILE_DESC;
+ return info;
}
file_desc = file_io_trusted_interface_->GetOSFileDescriptor(
file_reader_.pp_resource());
@@ -183,12 +190,13 @@ int32_t FileDownloader::GetPOSIXFileDescriptor() {
if (posix_desc == -1) {
// Close the Windows HANDLE if it can't be converted.
CloseHandle(reinterpret_cast<HANDLE>(file_desc));
- return NACL_NO_FILE_DESC;
+ return info;
}
file_desc = posix_desc;
#endif
- return file_desc;
+ info.desc = file_desc;
+ return info;
}
int64_t FileDownloader::TimeSinceOpenMilliseconds() const {

Powered by Google App Engine
This is Rietveld 408576698