Index: src/trusted/desc_cacheability/desc_cacheability.c |
diff --git a/src/trusted/desc_cacheability/desc_cacheability.c b/src/trusted/desc_cacheability/desc_cacheability.c |
index ab3badae7d07cf46c4f0a6fe801b8beec72ed390..21d4857faa9485687807d38a3dd03876320f0bd9 100644 |
--- a/src/trusted/desc_cacheability/desc_cacheability.c |
+++ b/src/trusted/desc_cacheability/desc_cacheability.c |
@@ -8,55 +8,15 @@ |
#include "native_client/src/include/portability.h" |
#include "native_client/src/public/desc_metadata_types.h" |
+#include "native_client/src/public/nacl_file_info.h" |
#include "native_client/src/shared/platform/nacl_log.h" |
#include "native_client/src/trusted/desc/nacl_desc_base.h" |
+#include "native_client/src/trusted/desc/nacl_desc_file_info.h" |
#include "native_client/src/trusted/desc/nacl_desc_io.h" |
#include "native_client/src/trusted/service_runtime/include/sys/fcntl.h" |
-#include "native_client/src/trusted/validator/nacl_file_info.h" |
#include "native_client/src/trusted/validator/rich_file_info.h" |
#include "native_client/src/trusted/validator/validation_cache.h" |
-int NaClDescSetFileToken(struct NaClDesc *desc, |
- struct NaClFileToken const *token) { |
- int error; |
- error = (*NACL_VTBL(NaClDesc, desc)-> |
- SetMetadata)(desc, |
- NACL_DESC_METADATA_FILE_TOKEN_TYPE, |
- sizeof *token, (uint8_t const *) token); |
- if (0 != error) { |
- NaClLog(4, "NaClDescSetFileToken: failed, errno %d\n", -error); |
- return 0; |
- } |
- return 1; |
-} |
- |
-int NaClDescGetFileToken(struct NaClDesc *desc, |
- struct NaClFileToken *out_token) { |
- int32_t metadata_type; |
- uint32_t metadata_bytes; |
- |
- metadata_bytes = (uint32_t) sizeof *out_token; |
- metadata_type = (*NACL_VTBL(NaClDesc, desc)-> |
- GetMetadata)(desc, &metadata_bytes, |
- (uint8_t *) out_token); |
- if (NACL_DESC_METADATA_NONE_TYPE == metadata_type) { |
- NaClLog(4, "NaClDescGetFileToken: no meta data, cannot map\n"); |
- return 0; |
- } else if (NACL_DESC_METADATA_FILE_TOKEN_TYPE != metadata_type) { |
- return 0; |
- } else if (metadata_bytes != (uint32_t) sizeof *out_token) { |
- /* there is supposed to be a file token, but wrong size? */ |
- NaClLog(LOG_WARNING, |
- "NaClDescGetFileToken: purported file token present," |
- " but token size is incorrect.\n"); |
- return 0; |
- } |
- NaClLog(4, |
- "NaClDescGetFileToken: got token 0x%"NACL_PRIx64":%"NACL_PRIx64"\n", |
- out_token->hi, out_token->lo); |
- return 1; |
-} |
- |
struct NaClDesc *NaClExchangeFileTokenForMappableDesc( |
struct NaClFileToken *file_token, |
struct NaClValidationCache *validation_cache) { |
@@ -71,7 +31,7 @@ struct NaClDesc *NaClExchangeFileTokenForMappableDesc( |
* resolve. In this case, assume nothing about the providence of |
* the file. |
*/ |
- if (!(file_token->lo == 0 && file_token->hi == 0) && |
+ if (NaClFileTokenIsValid(file_token) && |
validation_cache->ResolveFileToken != NULL && |
validation_cache->ResolveFileToken(validation_cache->handle, |
file_token, |