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

Side by Side Diff: src/platform/vboot_reference/utility/kernel_utility.cc

Issue 2322003: Cleanup option parsing for firmware signing utility. (Closed) Base URL: ssh://git@gitrw.chromium.org/chromiumos
Patch Set: Created 10 years, 6 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 unified diff | Download patch
« no previous file with comments | « src/platform/vboot_reference/utility/firmware_utility.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Utility for manipulating verified boot kernel images. 5 // Utility for manipulating verified boot kernel images.
6 // 6 //
7 7
8 #include "kernel_utility.h" 8 #include "kernel_utility.h"
9 9
10 #include <errno.h>
11 #include <getopt.h> 10 #include <getopt.h>
12 #include <stdio.h> 11 #include <stdio.h>
13 #include <stdint.h> // Needed for UINT16_MAX. 12 #include <stdint.h> // Needed for UINT16_MAX.
14 #include <stdlib.h> 13 #include <stdlib.h>
15 #include <unistd.h> 14 #include <unistd.h>
16 15
17 #include <iostream> 16 #include <iostream>
18 17
19 extern "C" { 18 extern "C" {
20 #include "cryptolib.h" 19 #include "cryptolib.h"
21 #include "file_keys.h" 20 #include "file_keys.h"
22 #include "kernel_image.h" 21 #include "kernel_image.h"
23 #include "utility.h" 22 #include "utility.h"
24 } 23 }
25 24
26 extern int errno;
27 using std::cerr; 25 using std::cerr;
28 26
29 namespace vboot_reference { 27 namespace vboot_reference {
30 28
31 KernelUtility::KernelUtility(): image_(NULL), 29 KernelUtility::KernelUtility(): image_(NULL),
32 firmware_key_pub_(NULL), 30 firmware_key_pub_(NULL),
33 header_version_(1), 31 header_version_(1),
34 firmware_sign_algorithm_(-1), 32 firmware_sign_algorithm_(-1),
35 kernel_sign_algorithm_(-1), 33 kernel_sign_algorithm_(-1),
36 kernel_key_version_(-1), 34 kernel_key_version_(-1),
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 case OPT_FIRMWARE_SIGN_ALGORITHM: 151 case OPT_FIRMWARE_SIGN_ALGORITHM:
154 firmware_sign_algorithm_ = strtol(optarg, &e, 0); 152 firmware_sign_algorithm_ = strtol(optarg, &e, 0);
155 if (!*optarg || (e && *e)) { 153 if (!*optarg || (e && *e)) {
156 cerr << "Invalid argument to --" 154 cerr << "Invalid argument to --"
157 << long_options[option_index].name 155 << long_options[option_index].name
158 << ": " << optarg << "\n"; 156 << ": " << optarg << "\n";
159 return false; 157 return false;
160 } 158 }
161 break; 159 break;
162 case OPT_KERNEL_SIGN_ALGORITHM: 160 case OPT_KERNEL_SIGN_ALGORITHM:
163 errno = 0;
164 kernel_sign_algorithm_ = strtol(optarg, &e, 0); 161 kernel_sign_algorithm_ = strtol(optarg, &e, 0);
165 if (!*optarg || (e && *e)) { 162 if (!*optarg || (e && *e)) {
166 cerr << "Invalid argument to --" 163 cerr << "Invalid argument to --"
167 << long_options[option_index].name 164 << long_options[option_index].name
168 << ": " << optarg << "\n"; 165 << ": " << optarg << "\n";
169 return false; 166 return false;
170 } 167 }
171 break; 168 break;
172 case OPT_KERNEL_KEY_VERSION: 169 case OPT_KERNEL_KEY_VERSION:
173 errno = 0;
174 kernel_key_version_ = strtol(optarg, &e, 0); 170 kernel_key_version_ = strtol(optarg, &e, 0);
175 if (!*optarg || (e && *e)) { 171 if (!*optarg || (e && *e)) {
176 cerr << "Invalid argument to --" 172 cerr << "Invalid argument to --"
177 << long_options[option_index].name 173 << long_options[option_index].name
178 << ": " << optarg << "\n"; 174 << ": " << optarg << "\n";
179 return false; 175 return false;
180 } 176 }
181 break; 177 break;
182 case OPT_KERNEL_VERSION: 178 case OPT_KERNEL_VERSION:
183 errno = 0;
184 kernel_version_ = strtol(optarg, &e, 0); 179 kernel_version_ = strtol(optarg, &e, 0);
185 if (!*optarg || (e && *e)) { 180 if (!*optarg || (e && *e)) {
186 cerr << "Invalid argument to --" 181 cerr << "Invalid argument to --"
187 << long_options[option_index].name 182 << long_options[option_index].name
188 << ": " << optarg << "\n"; 183 << ": " << optarg << "\n";
189 return false; 184 return false;
190 } 185 }
191 break; 186 break;
192 case OPT_IN: 187 case OPT_IN:
193 in_file_ = optarg; 188 in_file_ = optarg;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 } 415 }
421 else if (ku.is_verify()) { 416 else if (ku.is_verify()) {
422 cerr << "Verification "; 417 cerr << "Verification ";
423 if (ku.VerifySignedImage()) 418 if (ku.VerifySignedImage())
424 cerr << "SUCCESS.\n"; 419 cerr << "SUCCESS.\n";
425 else 420 else
426 cerr << "FAILURE.\n"; 421 cerr << "FAILURE.\n";
427 } 422 }
428 return 0; 423 return 0;
429 } 424 }
OLDNEW
« no previous file with comments | « src/platform/vboot_reference/utility/firmware_utility.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698